/* EMBERFARE Site Shell V1 — cross-page chrome only. */
:root{--site-shell-height:72px;--site-shell-pad-x:clamp(20px,4vw,64px);--site-shell-nav-gap:clamp(18px,2vw,30px)}
html{font-synthesis:none}
button,input,select,textarea{font-family:var(--ui)}

/* Shared header shell. */
.static-deal-page>header,.miles-page>header{box-sizing:border-box;display:flex;align-items:center;width:100%;min-height:var(--site-shell-height);height:var(--site-shell-height);gap:24px;padding:0 var(--site-shell-pad-x);border-bottom:1px solid rgba(20,29,51,.09);background:rgba(247,240,231,.96);color:var(--ink)}
.static-deal-page>header .brand,.miles-page>header .brand,body#pageTop>.topbar .brand{display:inline-flex;align-items:center;flex:0 0 auto;gap:9px;margin:0;color:var(--ink);font:400 24px/1 var(--display);letter-spacing:.055em;text-decoration:none}
.static-deal-page>header .brand-phoenix,.miles-page>header .brand-phoenix,body#pageTop>.topbar .brand-phoenix{display:block;width:36px;height:40px;flex:0 0 auto;object-fit:contain}
.static-deal-page>header .site-nav,.miles-page>header .site-nav,body#pageTop>.topbar .nav{display:flex;align-items:center;justify-content:flex-start;gap:var(--site-shell-nav-gap);min-width:0;margin:0 0 0 18px;padding:0}
.static-deal-page>header .site-nav a,.miles-page>header .site-nav a,body#pageTop>.topbar .nav a{display:inline-flex;align-items:center;min-height:44px;padding:0;color:var(--ink);font:600 10px/1 var(--ui);letter-spacing:.09em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.static-deal-page>header .site-nav a:hover,.miles-page>header .site-nav a:hover,body#pageTop>.topbar .nav a:hover,body#pageTop>.topbar .nav a.active{color:var(--coral)}

/* Homepage desktop: Phoenix is the header surface. Logo, fare-world nav and
   currency float directly over the artwork; there is intentionally no
   full-width cream band. */
@media(min-width:1101px){
 body#pageTop .master-stage::before{content:none;display:none}
 body#pageTop .master-stage{overflow:visible}
 body#pageTop .master-logo-link{top:15px;left:3.2%;width:auto;height:44px;display:inline-flex;align-items:center;gap:9px;color:var(--ink)}
 body#pageTop .master-logo-link .brand-phoenix{width:36px;height:40px}
 body#pageTop .master-logo-link span{position:static;display:block;width:auto;height:auto;padding:0;background:transparent;font:400 24px/1 var(--display);letter-spacing:.055em}
 body#pageTop .master-nav{position:absolute;z-index:12;top:14px;left:clamp(215px,16vw,268px);right:auto;width:auto;height:auto;min-height:46px;max-width:none;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
 body#pageTop .master-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid rgba(20,29,51,.10);border-radius:999px;background:rgba(247,240,231,.82);color:var(--ink);font:600 10px/1 var(--ui);letter-spacing:.09em;text-decoration:none;text-transform:uppercase;white-space:nowrap;box-shadow:0 5px 16px rgba(20,29,51,.055);backdrop-filter:blur(10px)}
 body#pageTop .master-nav a:hover{border-color:rgba(239,195,178,.72);background:rgba(255,250,246,.94);color:var(--coral)}
 body#pageTop .master-nav a.active,body#pageTop .master-nav a[aria-current="page"]{border-color:rgba(244,99,63,.24);background:rgba(255,250,246,.96);color:var(--coral)}
 body#pageTop .currency-select--master{top:17px;right:3.2%}
 body#pageTop .master-search{left:7%;width:74.5%;top:auto;bottom:112px}
 body#pageTop .master-filters{left:7.8%;width:78.5%;top:auto;bottom:16px;pointer-events:auto}
 body#pageTop .master-filter-row,body#pageTop .master-filter-options,body#pageTop .master-filter-options button,body#pageTop .master-fare-select,body#pageTop .master-fare-select select{pointer-events:auto}
 body#pageTop .home-fare-alert--desktop{position:absolute;z-index:9;top:42px;left:330px;right:0;min-height:42px;display:flex;align-items:center;pointer-events:auto}
 body#pageTop .home-fare-alert--responsive{display:none!important}
 body#pageTop .deals-section{margin-top:0;padding-top:0}
}

/* Primary homepage Fare Alerts acquisition control. The collapsed state sells
   the value first; airport/email fields are revealed only after Subscribe. */
body#pageTop .home-fare-alert__trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:38px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);white-space:nowrap;box-shadow:none;cursor:pointer}
body#pageTop .home-fare-alert__spark{flex:0 0 auto;color:var(--coral);font:600 12px/1 var(--ui)}
body#pageTop .home-fare-alert__copy{color:rgba(20,29,51,.9);font:600 11.5px/1 var(--ui);letter-spacing:.01em;white-space:nowrap}
body#pageTop .home-fare-alert__action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-left:8px;padding:0 16px;border:1px solid rgba(244,99,63,.42);border-radius:999px;background:rgba(255,250,245,.94);color:var(--coral);font:600 10px/1 var(--ui);letter-spacing:.04em;text-transform:uppercase;box-shadow:0 5px 14px rgba(20,29,51,.035)}
body#pageTop .home-fare-alert__trigger:hover .home-fare-alert__action{background:#fff8f2;border-color:rgba(244,99,63,.66)}
body#pageTop .home-fare-alert__trigger[aria-expanded="true"]{display:none}
body#pageTop .home-fare-alert__form{display:none;width:min(100%,720px);min-height:42px;grid-template-columns:auto minmax(185px,.8fr) minmax(200px,1fr) auto;align-items:center;gap:6px;padding:4px;border:1px solid rgba(20,29,51,.12);border-radius:999px;background:rgba(255,250,245,.94);box-shadow:0 7px 20px rgba(20,29,51,.055)}
body#pageTop .home-fare-alert.is-open .home-fare-alert__form{display:grid}
body#pageTop .home-fare-alert__form-label{padding-left:10px;color:var(--coral);font:600 8.5px/1 var(--ui);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
body#pageTop .home-fare-alert__form input{min-width:0;height:32px;padding:0 11px;border:1px solid rgba(20,29,51,.09);border-radius:999px;outline:0;background:rgba(255,255,255,.58);color:var(--ink);font:500 10.5px/1 var(--ui)}
body#pageTop .home-fare-alert__form button{min-height:32px;padding:0 14px;border:0;border-radius:999px;background:var(--coral);color:#fff;font:600 9.5px/1 var(--ui);white-space:nowrap;cursor:pointer}
body#pageTop .home-fare-alert__trigger:focus-visible,body#pageTop .home-fare-alert__form input:focus-visible,body#pageTop .home-fare-alert__form button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* Shared utility controls. Keep the approved desktop 36px route selector while
   unifying its typography, border language and mobile touch target. */
.currency-select__trigger{min-height:40px;padding:0 13px;border:1px solid rgba(20,29,51,.12);border-radius:999px;background:rgba(255,253,249,.72);color:var(--ink);font:600 10.5px/1 var(--ui);letter-spacing:.035em}
.currency-select__trigger i{font-family:var(--ui);font-style:normal;font-weight:600}
.route-select-control select,.static-route-select select{appearance:none;height:36px;padding:0 40px 0 14px;border:1px solid rgba(20,29,51,.12);border-radius:999px;background:rgba(255,253,249,.72);color:var(--ink);font:600 12px/1 var(--ui)}
.route-select-control select:hover,.static-route-select select:hover{border-color:rgba(244,99,63,.34);background:#fffdfa}
.route-select-control select:focus-visible,.static-route-select select:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.home-filter-selects select,.master-search select,.search-panel select{font-family:var(--ui);font-weight:600}
.master-filter-label,.static-filter-label,.home-filter-selects span{font-family:var(--ui);font-weight:600}

/* Tablet: same shell on homepage and generated pages. */
@media(min-width:651px) and (max-width:1100px){
 body#pageTop>.topbar,.static-deal-page>header,.miles-page>header{height:76px;min-height:76px;padding-left:max(clamp(20px,4vw,44px),env(safe-area-inset-left));padding-right:max(clamp(20px,4vw,44px),env(safe-area-inset-right));border-bottom:1px solid rgba(20,29,51,.09);background:rgba(247,240,231,.96);color:var(--ink);backdrop-filter:none}
 .static-deal-page>header .site-nav,.miles-page>header .site-nav,body#pageTop>.topbar .nav{flex:1 1 auto;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
 .static-deal-page>header .site-nav::-webkit-scrollbar,.miles-page>header .site-nav::-webkit-scrollbar,body#pageTop>.topbar .nav::-webkit-scrollbar{display:none}
}

@media(max-width:1100px){
 body#pageTop>.topbar .nav{justify-content:flex-start;gap:6px}
 body#pageTop>.topbar .nav a{flex:0 0 auto;min-height:34px;padding:0 10px;border:1px solid rgba(20,29,51,.09);border-radius:999px;background:rgba(255,250,245,.76)}
 body#pageTop>.topbar .nav a.active,body#pageTop>.topbar .nav a[aria-current="page"]{border-color:rgba(244,99,63,.22);background:#fffaf6;color:var(--coral)}
 body#pageTop .home-fare-alert--desktop{display:none!important}
 body#pageTop .home-fare-alert--responsive{display:block;margin:0 0 16px;padding:10px 12px;border:1px solid rgba(20,29,51,.09);border-radius:18px;background:rgba(255,250,245,.78)}
 body#pageTop .home-fare-alert--responsive .home-fare-alert__trigger{width:100%;min-height:44px;justify-content:space-between;padding-inline:4px}
 body#pageTop .home-fare-alert--responsive .home-fare-alert__form{width:100%;grid-template-columns:auto minmax(150px,.8fr) minmax(180px,1fr) auto;border-radius:16px}
}

/* Phone: static/Miles adopt the homepage's two-row shell. */
@media(max-width:650px){
 .static-deal-page>header,.miles-page>header{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:64px 44px;width:100%;height:calc(108px + env(safe-area-inset-top));min-height:calc(108px + env(safe-area-inset-top));align-items:center;align-content:start;gap:0;padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));background:linear-gradient(180deg,rgba(247,240,231,.96),rgba(247,240,231,.9));backdrop-filter:blur(12px)}
 .static-deal-page>header .brand,.miles-page>header .brand,body#pageTop>.topbar .brand{grid-row:1;margin:0;font-size:23px}
 .static-deal-page>header .brand-phoenix,.miles-page>header .brand-phoenix,body#pageTop>.topbar .brand-phoenix{width:34px;height:39px}
 body#pageTop>.topbar .nav{margin:0;gap:5px;padding-right:2px}
 body#pageTop>.topbar .nav a{min-height:32px;padding:0 8px;font-size:9px}
 .static-deal-page>header .site-nav,.miles-page>header .site-nav{grid-row:2;display:flex;align-items:center;width:100%;min-width:0;gap:clamp(18px,5vw,28px);margin:0;padding:0;border-top:1px solid rgba(20,29,51,.08);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
 .static-deal-page>header .site-nav::-webkit-scrollbar,.miles-page>header .site-nav::-webkit-scrollbar{display:none}
 .static-deal-page>header .site-nav a,.miles-page>header .site-nav a{flex:0 0 auto;min-height:44px;font-size:10px;font-weight:600;letter-spacing:.08em}
 .currency-select__trigger{min-height:44px}
 .route-select-control select,.static-route-select select{height:48px;border-radius:14px;font-size:13px}
 body#pageTop .home-fare-alert--responsive{margin-bottom:14px}
 body#pageTop .home-fare-alert--responsive .home-fare-alert__trigger{gap:6px}
 body#pageTop .home-fare-alert--responsive .home-fare-alert__copy{font-size:10.5px}
 body#pageTop .home-fare-alert--responsive .home-fare-alert__action{min-height:36px;margin-left:auto;padding:0 12px;font-size:9px}
 body#pageTop .home-fare-alert--responsive .home-fare-alert__form{grid-template-columns:1fr;gap:7px;padding:7px}
 body#pageTop .home-fare-alert__form-label{padding:4px 7px 0}
 body#pageTop .home-fare-alert__form input{height:44px}
 body#pageTop .home-fare-alert__form button{min-height:44px}
}
@media(max-width:380px){.static-deal-page>header,.miles-page>header{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.static-deal-page>header .brand,.miles-page>header .brand,body#pageTop>.topbar .brand{font-size:21px}}