/* AirlyGo R2.6.6 — Unified Brand Shell
   Presentation/accessibility layer only. No supplier, pricing, PREBOOK, FX,
   payment, authentication, reservation or booking logic is changed. */
:root{
  --ag266-shell:1240px;
  --ag266-gutter:48px;
  --ag266-navy:#102a49;
  --ag266-navy-deep:#081d33;
  --ag266-orange:#ff6b0b;
  --ag266-orange-hover:#e85e00;
  --ag266-line:#d7e1ec;
  --ag266-muted:#60738a;
  --ag266-soft:#f5f8fc;
  --ag266-ring:rgba(255,107,11,.20);
}

/* One horizontal grid across header, content and footer. */
html body .wrap,
html body .nav-inner,
html body .site-header .wrap,
html body .details-header .wrap,
html body .footer-new .wrap,
html body .footer-new-grid,
html body .fn-bottom-inner,
html body .footer-inner,
html body .ticker-inner,
html body .trust-strip-inner,
html body.hotel-search-page .search-dock>.wrap,
html body.hotel-search-page .results-hero>.wrap,
html body.hotel-search-page .results-main>.wrap,
html body.hotel-details-page .ag-details-search-form,
html body.hotel-details-page .details-main>.wrap,
html body.hotel-details-page #hotelApp>.wrap,
html body.hotel-checkout-page .checkout-header-inner,
html body.hotel-checkout-page .checkout-main,
html body.hotel-checkout-page .checkout-contextbar,
html body.hotel-checkout-page .ag-checkout-nav-inner{
  width:min(var(--ag266-shell),calc(100% - (var(--ag266-gutter) * 2)))!important;
  max-width:var(--ag266-shell)!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:0!important;padding-right:0!important;box-sizing:border-box!important;
}

/* Unified public navigation geometry. */
html body .nav-inner,
html body .site-header .nav-inner,
html body .details-header .nav-inner{
  min-height:72px!important;height:72px!important;display:flex!important;align-items:center!important;
}
html body .nav-logo{display:flex!important;align-items:center!important;flex:0 0 auto!important;margin:0!important;padding:0!important}
html body .nav-logo img{
  display:block!important;width:126px!important;max-width:126px!important;height:auto!important;max-height:52px!important;
  object-fit:contain!important;margin:0!important;
}
html body .nav-links{align-items:center!important}
html body .nav-links>li,html body .nav-links>li>a,html body .nav-links>li>button{align-items:center!important}

/* Checkout uses its own class names but the same brand geometry. */
html body.hotel-checkout-page .ag-checkout-nav-inner{
  min-height:72px!important;height:72px!important;display:flex!important;align-items:center!important;
}
html body.hotel-checkout-page .ag-checkout-logo{display:flex!important;align-items:center!important;margin:0!important;padding:0!important}
html body.hotel-checkout-page .ag-checkout-logo img{
  width:126px!important;max-width:126px!important;height:auto!important;max-height:52px!important;object-fit:contain!important;
}

/* One focus language across public pages. */
html body :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid rgba(255,107,11,.72)!important;outline-offset:3px!important;
}
html body input:focus-visible{outline-offset:1px!important}

/* Hotel results: action first. Remove the oversized marketing hero after a live search. */
html body.hotel-search-page .results-hero{display:none!important}
html body.hotel-search-page .results-main{padding-top:14px!important}
html body.hotel-search-page .search-dock{background:#fff!important;border-bottom:1px solid var(--ag266-line)!important;box-shadow:0 6px 18px rgba(16,42,73,.055)!important}
html body.hotel-search-page .search-dock>.wrap{padding-top:10px!important;padding-bottom:10px!important}
html body.hotel-search-page #hotelResultsForm.hotel-search-form{
  display:grid!important;grid-template-columns:minmax(280px,1.55fr) minmax(270px,1.28fr) minmax(210px,.92fr) 168px!important;
  gap:10px!important;align-items:stretch!important;margin:0!important;
}
html body.hotel-search-page #hotelResultsForm>.search-field,
html body.hotel-search-page #hotelResultsForm .guest-field-wrap>.search-field,
html body.hotel-search-page #hotelResultsForm>.guest-field-wrap,
html body.hotel-search-page #hotelResultsForm>.search-submit,
html body.hotel-search-page #hotelResultsForm .ag-trip-date-trigger{
  min-height:60px!important;height:60px!important;box-sizing:border-box!important;
}
html body.hotel-search-page #hotelResultsForm>.search-field,
html body.hotel-search-page #hotelResultsForm .guests-button{
  border:1px solid var(--ag266-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important;
}
html body.hotel-search-page #hotelResultsForm>.search-field:focus-within,
html body.hotel-search-page #hotelResultsForm .guests-button:focus-visible{
  border-color:var(--ag266-orange)!important;box-shadow:0 0 0 3px var(--ag266-ring)!important;
}
html body.hotel-search-page #hotelResultsForm>.search-submit{
  border-radius:11px!important;background:var(--ag266-orange)!important;border-color:var(--ag266-orange)!important;color:#fff!important;
  box-shadow:0 7px 18px rgba(255,107,11,.18)!important;font-weight:750!important;
}
html body.hotel-search-page #hotelResultsForm>.search-submit:hover{background:var(--ag266-orange-hover)!important;border-color:var(--ag266-orange-hover)!important;transform:none!important}
html body.hotel-search-page .ag68-done,
html body.hotel-search-page .ag-date-done,
html body.hotel-search-page [id$="DateDone"]{
  background:var(--ag266-orange)!important;border-color:var(--ag266-orange)!important;color:#fff!important;
}
html body.hotel-search-page .ag68-done:hover,
html body.hotel-search-page .ag-date-done:hover,
html body.hotel-search-page [id$="DateDone"]:hover{background:var(--ag266-orange-hover)!important;border-color:var(--ag266-orange-hover)!important}

/* Keep result controls close to the search bar so more inventory is visible above the fold. */
html body.hotel-search-page .results-toolbar{
  margin-top:0!important;margin-bottom:14px!important;min-height:58px!important;padding:10px 14px!important;
}
html body.hotel-search-page .result-count{font-size:20px!important;line-height:1.2!important}
html body.hotel-search-page .result-note{font-size:13px!important;line-height:1.35!important}

/* Header/footer alignment for the hotel detail and checkout journey without changing their commerce UI. */
html body.hotel-details-page .details-header,
html body.hotel-details-page .nav,
html body.hotel-checkout-page .ag-checkout-nav{min-height:72px!important}

@media(max-width:1180px){
  :root{--ag266-gutter:40px}
  html body.hotel-search-page #hotelResultsForm.hotel-search-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body.hotel-search-page #hotelResultsForm>.search-submit{grid-column:2!important}
}
@media(max-width:900px){
  :root{--ag266-gutter:20px}
  html body .nav-inner,html body .site-header .nav-inner,html body .details-header .nav-inner,
  html body.hotel-checkout-page .ag-checkout-nav-inner{min-height:68px!important;height:68px!important}
  html body .nav-logo img,html body.hotel-checkout-page .ag-checkout-logo img{width:118px!important;max-width:118px!important;max-height:48px!important}
}
@media(max-width:720px){
  :root{--ag266-gutter:12px}
  html body .nav-inner,html body .site-header .nav-inner,html body .details-header .nav-inner,
  html body.hotel-checkout-page .ag-checkout-nav-inner{min-height:64px!important;height:64px!important}
  html body .nav-logo img,html body.hotel-checkout-page .ag-checkout-logo img{width:112px!important;max-width:112px!important;max-height:44px!important}
  html body.hotel-search-page .search-dock>.wrap{padding-top:8px!important;padding-bottom:8px!important}
  html body.hotel-search-page #hotelResultsForm.hotel-search-form{grid-template-columns:1fr!important;gap:8px!important}
  html body.hotel-search-page #hotelResultsForm>.search-field,
  html body.hotel-search-page #hotelResultsForm .guest-field-wrap>.search-field,
  html body.hotel-search-page #hotelResultsForm>.search-submit,
  html body.hotel-search-page #hotelResultsForm .ag-trip-date-trigger{min-height:56px!important;height:56px!important}
  html body.hotel-search-page #hotelResultsForm>.search-submit{grid-column:auto!important;width:100%!important}
  html body.hotel-search-page .results-main{padding-top:10px!important}
}
@media(prefers-reduced-motion:reduce){
  html body .nav-logo img,html body.hotel-search-page .search-submit{transition:none!important;transform:none!important}
}

/* R2.6.6 desktop results CTA: preserve a compact row but keep the primary action explicit.
   Older hotel-result CSS collapsed this control to an icon-only square; the shared shell
   restores the full grid-cell button and visible label without changing form behavior. */
html body.hotel-search-page #hotelResultsForm>button.search-submit{
  width:100%!important;min-width:0!important;max-width:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  padding-inline:16px!important;white-space:nowrap!important;
}
html body.hotel-search-page #hotelResultsForm>button.search-submit>span{
  display:inline!important;visibility:visible!important;opacity:1!important;position:static!important;
  width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;
  overflow:visible!important;color:inherit!important;font:inherit!important;line-height:1!important;
}
html body.hotel-search-page #hotelResultsForm>button.search-submit>svg{
  display:block!important;flex:0 0 auto!important;width:18px!important;height:18px!important;
}

/* Specificity bridge over the legacy D416x desktop icon-only search treatment. */
@media(min-width:1181px){
  html body.hotel-search-page section.search-dock form#hotelResultsForm.hotel-search-form{
    grid-template-columns:minmax(280px,1.55fr) minmax(270px,1.28fr) minmax(210px,.92fr) 168px!important;
    gap:10px!important;align-items:stretch!important;
  }
  html body.hotel-search-page section.search-dock form#hotelResultsForm.hotel-search-form>button.search-submit{
    width:100%!important;min-width:0!important;max-width:none!important;height:60px!important;min-height:60px!important;max-height:60px!important;
    border-radius:11px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0 16px!important;
  }
  html body.hotel-search-page section.search-dock form#hotelResultsForm.hotel-search-form>button.search-submit>span{
    display:inline!important;visibility:visible!important;opacity:1!important;position:static!important;width:auto!important;height:auto!important;
    overflow:visible!important;clip:auto!important;clip-path:none!important;font-size:14px!important;font-weight:750!important;line-height:1!important;
  }
  html body.hotel-search-page section.search-dock form#hotelResultsForm.hotel-search-form>button.search-submit>svg{
    display:block!important;width:18px!important;height:18px!important;flex:0 0 auto!important;
  }
}
