/* Requested header/menu/city refinements. Keep developer logo rules untouched. */
.view-header-host .header .header-markets{display:flex!important;gap:4px!important;background:transparent!important;border:1px solid #d4bc8870!important;border-radius:24px;padding:3px!important;flex:none}
.view-header-host .header .header-markets :is(button,a){display:flex;align-items:center;justify-content:center;gap:6px!important;min-height:38px;padding:6px 11px!important;border:0!important;border-radius:20px;background:transparent!important;color:#f8f6f0!important;white-space:nowrap}
.view-header-host .header .header-markets :is(button,a)::after{content:none!important}
.view-header-host .header .header-markets :is(button,a).selected{background:#d4bc8829!important;box-shadow:inset 0 -2px #d4bc88;color:#f3dfb5!important}
.view-header-host .header .header-markets :is(button,a):hover{background:#ffffff14!important}
@media(max-width:680px){
 .view-header-host .header .header-markets{gap:0!important}
 .view-header-host .header .header-markets :is(button,a){min-width:40px;min-height:44px;padding:6px!important}
 .view-header-host .header .header-markets :is(button,a)>span:not(.flag){display:none}
 .view-header-host .header .header-markets .flag{display:block;width:18px;height:18px}
}
/* 2. Reuse the existing serif/sans font pairing. */
body,.view-header-host .header .header-markets,.view-header-host .portal-menu,.view-header-host .portal-menu a,.view-header-host .portal-menu button,.btn,button,.toast{font-family:var(--sans)}
.section-head h2,#city-explorer h2,#city-explorer h3{font-family:var(--serif)}
.view-header-host .portal-menu a,.view-header-host .portal-menu [data-login]{font:600 15px/1.4 var(--sans);letter-spacing:.015em}
.view-header-host .portal-menu .menu-title{font:400 25px/1.2 var(--serif);letter-spacing:0}
.view-header-host .header .header-markets :is(button,a){font:600 14px/1.3 var(--sans);letter-spacing:.01em}
.toast{font:500 15px/1.5 var(--sans)}

/* 3. Static city discovery immediately above the footer. */
.city-explorer{padding-top:48px;padding-bottom:56px}
.city-explorer .section-head{align-items:center;gap:20px}
.city-credits{font:500 14px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.city-country{margin-top:28px}.city-country h3{font-size:26px;margin-bottom:16px}
.city-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.city-card{position:relative;padding:0;border:1px solid #d4bc8860;border-radius:10px;overflow:hidden;min-width:0;height:220px;text-align:left;background:var(--navy);color:#fff}
.city-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
.city-card:hover img{transform:scale(1.025)}
.city-card-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:linear-gradient(transparent 25%,#071d30e8)}
.city-card-caption strong{font:400 26px/1.2 var(--serif)}.city-card-caption small{font:500 14px/1.5 var(--sans);margin-top:6px}
.markets>.city-coverage,.markets>#cityCoverage,.markets>.collection-note{display:none}
@media(min-width:681px) and (max-width:1023px){.city-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.city-card-grid{grid-template-columns:minmax(0,1fr)}.city-explorer .section-head{align-items:flex-start;flex-direction:column}.city-card{height:220px}}
/* 4. Matched heart/menu controls, always together and inside the header. */
.view-header-host .header .header-actions{display:flex;align-items:center;gap:8px!important;margin-left:auto!important;flex:none}
.view-header-host .header .portal-menu{display:block!important;position:relative;background:transparent;border:0;border-radius:0;padding:0;flex:none}
.view-header-host .header #headerSaved,.view-header-host .header .portal-menu>summary{display:grid!important;place-items:center;width:44px!important;height:44px!important;min-width:44px;min-height:44px;margin:0;padding:10px!important;background:transparent!important;color:#fff!important;border:1px solid #d4bc8899!important;border-radius:12px!important;list-style:none;box-shadow:none;cursor:pointer}
.view-header-host .header .portal-menu>summary::before,.view-header-host .header .portal-menu>summary::after{content:none!important}
.view-header-host .header .portal-menu>summary::-webkit-details-marker{display:none}
.view-header-host .header #headerSaved svg,.view-header-host .header .portal-menu>summary svg{display:block;width:22px;height:22px}
.view-header-host .header #headerSaved:hover,.view-header-host .header .portal-menu>summary:hover{background:#d4bc8826!important;border-color:#e8d5aa!important}
.view-header-host .header #headerSaved:focus-visible,.view-header-host .header .portal-menu>summary:focus-visible{outline:3px solid #e8d5aa;outline-offset:3px}
.view-header-host .header .header-signin{display:none!important}
.view-header-host .header{z-index:80!important}
@media(max-width:1100px){.view-header-host>.header nav{gap:12px}.view-header-host .header .header-markets :is(button,a){padding:6px 8px!important}}
@media(max-width:680px){
 .view-header-host>.header{height:82px!important;min-height:82px;padding:8px 14px!important;gap:10px!important;flex-wrap:nowrap!important;justify-content:space-between}
 .view-header-host>.header .brand{width:140px!important;min-width:0;max-width:140px;flex:0 1 140px!important;height:58px!important}
 .view-header-host>.header .brand img{width:100%!important;height:58px!important;object-fit:contain!important}
 .view-header-host .header .header-actions{gap:6px!important;margin-left:0!important}
 .view-header-host .header .header-markets :is(button,a){padding:6px!important}
}
