/* Shared readable type and large, clearly bounded controls on every page. */
body{font-size:18px;line-height:1.55}
p,.meta,.muted,.form-note,.form-error,.entry-copy .entry-note,.section-head p,.empty p,.source p,.stat span,.row p,.steps p,.inspiration-heading>p,.inspiration-credit,.journey p,.photo-credits,footer{font-size:18px!important;line-height:1.6}
.eyebrow,.badge,.status,.catalog-hint,.catalog-actions>p,.home-postcards figcaption,.city-photo figcaption span,.inspiration-caption>span{font-size:15px!important;line-height:1.5!important}
h2,.section-head h2{font-size:clamp(26px,3vw,36px)}h3,.card h3,.venue h3,.source h2,.row h3{font-size:22px!important;line-height:1.3}
.form label,.catalog-grid label,.catalog-extra label,.search-attributes label,.filters label,.type-label,.guided-caption{font-size:18px!important;line-height:1.5}
input,select,textarea,.form input,.form select,.form textarea,.filters select,.filters input,.catalog-grid input,.catalog-grid select{font-size:18px!important;min-height:50px;border-width:2px!important}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:#5521cf}input[type=checkbox]{width:22px!important;height:22px;flex-shrink:0}
button,summary,.text-button,.detail a,.venue a,.card h3 a,.inspiration-credit a,.photo-credits a{font-size:18px!important;font-weight:700;line-height:1.35;min-height:50px;padding:14px 20px;border:2px solid #5521cf;border-radius:12px;white-space:normal;overflow-wrap:anywhere}
button{cursor:pointer}button:disabled{cursor:not-allowed}
summary{cursor:pointer;background:#ffd400;color:#10163c;list-style-position:inside;width:fit-content;max-width:100%}
a.text-button,.detail a,.venue a,.card h3 a,.inspiration-credit a,.photo-credits a{display:inline-flex;align-items:center;justify-content:center;background:#5521cf;color:#fff!important;text-decoration:none;margin:5px 0;gap:8px}
.card h3 a{display:flex;justify-content:flex-start}.card-actions{flex-wrap:wrap}.card-actions>*{flex:1 1 130px}.card-actions .text-button{font-size:18px!important}.filters select,.filters input{max-width:240px}.commerce-table{font-size:18px}.commerce-table th,.commerce-table td{padding:18px}.commerce-table small{font-size:16px}
header{display:flex;flex-wrap:wrap;gap:20px}header nav{display:flex;flex-wrap:wrap;gap:10px;position:static;margin-left:auto}header nav button,header nav #account-button,.guest header nav #account-button{display:block;padding:14px 20px;background:#5521cf;border:2px solid #ffd400;color:#fff;font-size:18px!important}header nav button span{display:inline}header nav .seller-link{background:#ffd400;color:#10163c}header .region{padding:14px 18px;border:2px solid #ffd400;border-radius:12px;max-width:100%;font-size:18px}.guest header nav [data-page]{display:block}.guest header{flex-wrap:wrap}.guest header nav{flex-wrap:wrap}
.page-shortcuts button,.modal-home,.entry-install,.entry-links button,.all-sources{background:#172064;color:#fff;border:2px solid #ffd400;padding:14px 20px}.entry-actions button{font-size:20px!important}.entry-copy p{font-size:20px!important}.entry-copy .eyebrow{font-size:15px!important}.audience-option span{font-size:19px;padding:18px 12px;border-width:2px}.catalog-step legend{font-size:22px}.catalog-extra summary{color:#10163c}.catalog-hint{font-size:16px!important}
footer{gap:18px}footer button{padding:14px 20px;background:#5521cf;color:white;border:2px solid #ffd400;margin-left:0}.photo-credits summary{color:#10163c}.photo-credits a{font-size:16px!important}.close{width:50px;height:50px;padding:0;min-height:50px;font-size:30px!important;background:#172064;color:#fff;border-color:#ffd400}dialog{padding-top:58px}.region-list button span{font-size:17px}.modal-brand small{font-size:14px}.modal-brand{margin-right:10px}.stat strong{font-size:34px!important}.tariff-grid strong{font-size:38px!important}.loading{font-size:19px}.chip button{font-size:17px!important}.chip button:last-child{min-width:48px}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ff5d00;outline-offset:4px}
@media(max-width:1000px){header nav{flex-basis:100%;justify-content:flex-start}.guest header nav{flex-basis:100%}.guest header .brand-logo{width:72px;height:72px}}
@media(max-width:650px){header,.guest header{display:flex;flex-wrap:wrap;padding:16px;gap:14px}.brand{justify-content:flex-start;max-width:100%}.region{margin:0;flex:1 1 auto}.guest header nav,header nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px;position:static;margin:0}header nav button,header nav #account-button,.guest header nav #account-button{font-size:17px!important;padding:13px 10px;white-space:normal}header nav button span{display:inline}.page{padding:24px 16px 35px}.page-title{font-size:34px}.panel{padding:18px}.section-head{align-items:stretch}.section-head button{font-size:18px!important}.row .actions button{flex:1 1 140px}.source{padding:20px 14px}.source h2{font-size:19px!important}.source p{font-size:16px!important}.home-postcards figcaption{font-size:13px!important}.home-postcards figure{height:155px}.home-postcards figure:nth-child(2){height:175px}.tariff-grid div{flex-wrap:wrap}.tariff-grid strong{font-size:32px!important}.commerce-page .stats{grid-template-columns:1fr 1fr}.commerce-page .stat strong{font-size:27px!important}.stat span{font-size:16px!important}.stat{padding:16px}.mobile-nav{padding:7px 4px max(7px,env(safe-area-inset-bottom));gap:4px}.mobile-nav button{border:1px solid #ffd400;border-radius:10px;padding:8px 3px;font-size:23px!important;flex:1;min-width:0;color:#fff;background:#172064}.mobile-nav button.active{background:#ffd400;color:#10163c}.mobile-nav span{font-size:13px;line-height:1.2}.city-photo figcaption span{font-size:13px!important}.photo-credits a{padding:10px 12px}.entry-links button{flex:1 1 130px}footer{padding-bottom:110px}.guest footer{padding-bottom:28px}#toast{bottom:100px}.form .check{align-items:flex-start}}
@media(max-width:520px){.cards,.sources{grid-template-columns:1fr}.source{display:flex;align-items:center;min-height:110px;gap:16px}.source .source-icon{margin:0;flex-shrink:0}.source .arrow{position:static;margin-left:auto}.card-image{height:250px}.card .meta{font-size:18px!important}.card-body{padding:18px}.card h3{font-size:23px!important}.price{font-size:30px}.card-actions{display:flex}.card-actions button{font-size:18px!important}.form-grid{grid-template-columns:1fr}.entry-copy h1{font-size:36px}.brand small{letter-spacing:.5px}}
/* Prominent logo on the landing page and signed-in home. */
body:has(.entry-page) header .brand-logo,body:has(.home-page) header .brand-logo{width:180px;height:180px;object-fit:contain}
body:has(.entry-page) header .brand,body:has(.home-page) header .brand{gap:24px}
@media(max-width:650px){body:has(.entry-page) header .brand,body:has(.home-page) header .brand{flex-basis:100%;width:100%;justify-content:center;flex-direction:column;gap:14px;text-align:center}body:has(.entry-page) header .brand-logo,body:has(.home-page) header .brand-logo{width:152px;height:152px}body:has(.entry-page) header .brand>span,body:has(.home-page) header .brand>span{font-size:28px}}
.work-page .work-table{overflow-x:auto;max-width:100%}.work-page table{border-collapse:collapse;width:100%;font-size:16px}.work-page th,.work-page td{text-align:left;padding:12px;border-bottom:1px solid #b7c9ed;overflow-wrap:anywhere;min-width:100px}.work-page .tabs{flex-wrap:wrap}.work-page details{margin:16px 0}.work-page summary{cursor:pointer;font-size:20px;font-weight:700;padding:14px;background:#e4edff;border:2px solid #255ddd;border-radius:14px}.work-page .form{margin:18px 0}.work-page .stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}#library-document p{white-space:pre-wrap}.page details small{overflow-wrap:anywhere}.check input[type=checkbox]{width:24px;height:24px;flex-shrink:0}.page .check{display:flex;align-items:flex-start;gap:12px}.page details.panel{margin-bottom:14px}.page details.panel summary{cursor:pointer;font-size:20px;font-weight:700;padding:12px}
.guest .page-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.page-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.guest .page-shortcuts [data-page=home]{display:none}
.login-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.login-options .panel{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0}.login-options .panel p{flex:1;margin:0}.login-options .panel h2{margin:0}.login-page .panel button{margin:6px 8px 6px 0}.admin-view-note{background:#fff;color:#172064;padding:16px;border-radius:14px}.page h1,.page h2,.page h3,.page p,.page label,.page button{word-break:normal;overflow-wrap:break-word;hyphens:none}.work-page .work-table td,.work-page .work-table th{word-break:normal;overflow-wrap:break-word}.page .check{line-height:1.5}.commerce-table td small{display:block;margin-top:4px}#modal-content .form .check{display:flex;gap:12px;align-items:flex-start;line-height:1.5}#modal-content .form .check input{flex:0 0 24px;width:24px;height:24px;margin-top:3px}.page-shortcuts:has(>button:only-child){padding-top:12px}.guest .page-shortcuts{display:none}@media(max-width:650px){.login-options{grid-template-columns:1fr}.login-page .panel button{width:100%;margin-right:0}.work-page .tabs button{max-width:100%;white-space:normal}}
