/* AirlyGo V11.4.0D4.1.5 — Hotel discovery + room-selection UI
   Presentation only. No pricing, PREBOOK, reservation, payment or FX logic. */
:root{--ag415-navy:#0b1f3a;--ag415-navy2:#12345b;--ag415-orange:#f47a20;--ag415-orange-dark:#d95f0d;--ag415-cream:#fbf7f1;--ag415-line:#dbe5ee;--ag415-muted:#64748b;--ag415-soft:#f5f8fb;--ag415-green:#137a4a;--ag415-shadow:0 16px 42px rgba(11,31,58,.10)}

/* Shared action hierarchy */
.hotel-search-page button,.hotel-details-page button,.hotel-search-page a,.hotel-details-page a{-webkit-tap-highlight-color:transparent}
.hotel-search-page .search-submit,.hotel-search-page .availability-button,.hotel-details-page .ag58-select,.hotel-details-page .ag131-continue{min-height:48px;border-radius:12px;font-weight:750;letter-spacing:-.01em}
.hotel-search-page .search-submit,.hotel-search-page .availability-button,.hotel-details-page .ag58-select:not([disabled]),.hotel-details-page .ag131-continue{background:var(--ag415-orange)!important;border:1px solid var(--ag415-orange)!important;color:#fff!important;box-shadow:0 8px 18px rgba(244,122,32,.18)}
.hotel-search-page .search-submit:hover,.hotel-search-page .availability-button:hover,.hotel-details-page .ag58-select:not([disabled]):hover,.hotel-details-page .ag131-continue:hover{background:var(--ag415-orange-dark)!important;border-color:var(--ag415-orange-dark)!important;transform:translateY(-1px)}
.hotel-search-page :focus-visible,.hotel-details-page :focus-visible{outline:3px solid rgba(244,122,32,.38)!important;outline-offset:2px!important}

/* Search dock: one compact, legible decision row */
.hotel-search-page .search-dock{background:#fff;border-bottom:1px solid var(--ag415-line);box-shadow:0 8px 28px rgba(11,31,58,.07)}
.hotel-search-page .search-dock>.wrap{padding-top:14px;padding-bottom:14px}
.hotel-search-page .hotel-search-form{grid-template-columns:minmax(260px,1.7fr) minmax(260px,1.25fr) minmax(210px,1fr) 172px!important;gap:10px!important;align-items:stretch}
.hotel-search-page .search-field,.hotel-search-page .guests-button{min-height:62px!important;border:1px solid #cfdbe6!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}
.hotel-search-page .search-field:focus-within,.hotel-search-page .guests-button:focus-visible{border-color:#8aa5bf!important;box-shadow:0 0 0 3px rgba(18,52,91,.08)!important}
.hotel-search-page .search-submit{min-height:62px!important}

/* Results hero becomes concise instead of competing with the search task */
.hotel-search-page .results-hero{padding:30px 0 26px!important;background:linear-gradient(135deg,#0b1f3a,#13365e)!important}
.hotel-search-page .results-hero .hero-grid{grid-template-columns:1fr!important;min-height:0!important}
.hotel-search-page .hero-media{display:none!important}
.hotel-search-page .hero-copy{max-width:900px!important}
.hotel-search-page .hero-copy h1{font-size:clamp(30px,3.2vw,46px)!important;line-height:1.04!important;margin:5px 0 8px!important}
.hotel-search-page .hero-summary{font-size:15px!important;margin:0!important;opacity:.92}
.hotel-search-page .hero-trust{margin-top:15px!important;gap:8px!important}
.hotel-search-page .hero-trust span{font-size:12px!important;padding:7px 10px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:999px!important}

/* Toolbar: result count first, then distinct secondary controls */
.hotel-search-page .results-main{padding-top:24px!important}
.hotel-search-page .results-toolbar{position:sticky;top:118px;z-index:35;background:rgba(245,248,252,.96);backdrop-filter:blur(9px);border:1px solid var(--ag415-line);border-radius:15px;padding:12px 14px!important;margin-bottom:16px!important;box-shadow:0 8px 24px rgba(11,31,58,.06)}
.hotel-search-page .result-count{display:block!important;font-size:18px!important;font-weight:800!important;color:var(--ag415-navy)!important}
.hotel-search-page .result-note{font-size:12.5px!important;color:var(--ag415-muted)!important}
.hotel-search-page .toolbar-actions{gap:8px!important}
.hotel-search-page .mobile-filter-button,.hotel-search-page .ag-sort-trigger,.hotel-search-page .ag415-clear-filters{min-height:42px;border:1px solid #cbd8e4;background:#fff;color:var(--ag415-navy);border-radius:10px;padding:0 13px;font-weight:700}
.hotel-search-page .ag415-clear-filters{font-size:13px;cursor:pointer}
.hotel-search-page .ag415-clear-filters:hover{background:#f8fafc}

/* Filter column */
.hotel-search-page .results-layout{grid-template-columns:260px minmax(0,1fr)!important;gap:20px!important;align-items:start}
.hotel-search-page .filters{position:sticky!important;top:190px!important;border:1px solid var(--ag415-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 30px rgba(11,31,58,.05)!important;max-height:calc(100vh - 210px);overflow:auto;scrollbar-width:thin}
.hotel-search-page .filter-heading{padding:17px 17px 11px!important;border-bottom:1px solid #edf1f5!important}
.hotel-search-page .filter-heading span{font-size:10px!important;letter-spacing:.12em!important;color:#7a8aa0!important}
.hotel-search-page .filter-heading h2{font-size:20px!important;margin-top:3px!important}
.hotel-search-page .filter-group{padding:15px 17px!important;border-bottom:1px solid #edf1f5!important}
.hotel-search-page .filter-group legend,.hotel-search-page .filter-group>label:first-child{font-size:13px!important;font-weight:800!important;color:var(--ag415-navy)!important}
.hotel-search-page .check,.hotel-search-page .filter-radio{min-height:36px!important;font-size:13px!important}
.hotel-search-page .filter-assurance{margin:14px!important;border-radius:12px!important;background:#f7fbff!important;border:1px solid #d9e8f5!important}

/* Hotel cards: fixed three-column geometry, information first */
.hotel-search-page .results-list{display:grid!important;gap:14px!important}
.hotel-search-page .hotel-card{display:grid!important;grid-template-columns:260px minmax(0,1fr) 225px!important;min-height:238px!important;border:1px solid var(--ag415-line)!important;border-radius:17px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 8px 26px rgba(11,31,58,.06)!important;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease!important}
.hotel-search-page .hotel-card:hover{border-color:#b9cad9!important;box-shadow:var(--ag415-shadow)!important;transform:translateY(-1px)}
.hotel-search-page .hotel-photo{height:100%!important;min-height:238px!important;border-radius:0!important;background:#eef3f7!important;position:relative!important;overflow:hidden!important}
.hotel-search-page .hotel-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
.hotel-search-page .photo-badge{top:12px!important;left:12px!important;background:rgba(11,31,58,.9)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:6px 9px!important;font-size:11px!important;font-weight:750!important}
.hotel-search-page .ag415-photo-count{position:absolute;right:12px;bottom:12px;z-index:4;background:rgba(11,31,58,.84);color:#fff;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750;pointer-events:none}
.hotel-search-page .gallery-arrow{width:38px!important;height:38px!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:var(--ag415-navy)!important;box-shadow:0 4px 14px rgba(0,0,0,.16)!important}
.hotel-search-page .hotel-content{padding:18px 20px!important;min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.hotel-search-page .hotel-title-row{display:flex!important;align-items:flex-start!important;gap:8px!important;flex-wrap:wrap!important}
.hotel-search-page .hotel-title{font-size:21px!important;line-height:1.18!important;margin:0!important}
.hotel-search-page .ag415-hotel-link{color:var(--ag415-navy)!important;text-decoration:none!important}
.hotel-search-page .ag415-hotel-link:hover{text-decoration:underline!important;text-underline-offset:3px!important}
.hotel-search-page .hotel-stars{font-size:12px!important;letter-spacing:1px!important;color:#e79112!important;white-space:nowrap!important;margin-top:4px!important}
.hotel-search-page .hotel-location{margin-top:7px!important;font-size:12.5px!important;color:#52657a!important;gap:6px!important;flex-wrap:wrap!important}
.hotel-search-page .ag415-map-link{color:#245b8f!important;text-decoration:underline!important;text-underline-offset:2px!important;font-weight:700!important;margin-left:3px!important}
.hotel-search-page .ag415-stay-summary{margin-top:13px;display:inline-flex;gap:6px;align-items:center;color:#52657a;font-size:12px;font-weight:650}
.hotel-search-page .room-name{margin-top:10px!important;font-size:14px!important;font-weight:780!important;color:var(--ag415-navy)!important}
.hotel-search-page .board-name{font-size:12.5px!important;color:#66778b!important;margin-top:2px!important}
.hotel-search-page .hotel-keyfacts{margin-top:11px!important;display:flex!important;gap:6px!important;flex-wrap:wrap!important}
.hotel-search-page .hotel-keyfacts span{font-size:11.5px!important;padding:5px 8px!important;border-radius:999px!important;background:#f4f7fa!important;color:#40566d!important;border:1px solid #e0e8ef!important}
.hotel-search-page .offer-badges{margin-top:auto!important;padding-top:12px!important;gap:6px!important;display:flex!important;flex-wrap:wrap!important}
.hotel-search-page .offer-badge{font-size:10.5px!important;padding:5px 7px!important;border-radius:7px!important;background:#f7f9fb!important;border:1px solid #e1e8ef!important;color:#44576b!important}
.hotel-search-page .offer-badge.positive{background:#eefaf4!important;border-color:#c9ead9!important;color:#17623f!important}
.hotel-search-page .hotel-price-panel{padding:18px!important;border-left:1px solid #edf1f5!important;background:#fcfdff!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;text-align:right!important}
.hotel-search-page .review-box{justify-content:flex-end!important;gap:8px!important}
.hotel-search-page .review-copy{font-size:11px!important;color:#68798c!important}
.hotel-search-page .review-copy strong{font-size:13px!important;color:var(--ag415-navy)!important}
.hotel-search-page .review-score{min-width:38px!important;height:38px!important;border-radius:10px 10px 10px 3px!important;background:var(--ag415-navy)!important;color:#fff!important;font-size:14px!important;font-weight:800!important;display:grid!important;place-items:center!important}
.hotel-search-page .price-block{margin-top:auto!important;padding-top:14px!important}
.hotel-search-page .price-label{font-size:11px!important;color:#718196!important;text-transform:none!important;letter-spacing:0!important}
.hotel-search-page .price-total-primary{font-size:24px!important;line-height:1.1!important;color:var(--ag415-navy)!important;margin-top:4px!important;white-space:nowrap!important}
.hotel-search-page .price-nightly-secondary{font-size:11.5px!important;color:#697b8e!important;margin-top:4px!important}
.hotel-search-page .demand-note{display:none!important}
.hotel-search-page .availability-button{width:100%!important;margin-top:14px!important;font-size:14px!important}

/* Hotel details */
.hotel-details-page #hotelApp{background:var(--ag415-soft)!important}
.hotel-details-page #hotelApp>.wrap{padding-top:22px!important}
.hotel-details-page .ag415-back-row{margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hotel-details-page .ag415-back-link{display:inline-flex;align-items:center;gap:7px;color:#365a7b;text-decoration:none;font-size:13px;font-weight:750}
.hotel-details-page .ag415-back-link:hover{text-decoration:underline;text-underline-offset:3px}
.hotel-details-page .ag58-property-head{padding:0 2px 14px!important;align-items:flex-start!important}
.hotel-details-page .ag58-property-head h1{font-size:clamp(28px,3vw,42px)!important;line-height:1.07!important;margin:5px 0 7px!important}
.hotel-details-page .ag58-address{font-size:13px!important;color:#64748b!important}
.hotel-details-page .ag58-gallery{border-radius:18px!important;overflow:hidden!important;box-shadow:0 8px 30px rgba(11,31,58,.08)!important}
.hotel-details-page .ag58-tabs{position:sticky!important;top:118px!important;z-index:30!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(8px)!important;border:1px solid var(--ag415-line)!important;border-radius:13px!important;padding:5px!important;margin:16px 0!important;box-shadow:0 6px 20px rgba(11,31,58,.05)!important}
.hotel-details-page .ag58-tabs a{border-radius:9px!important;padding:10px 12px!important;font-size:12.5px!important;font-weight:750!important;color:#405970!important;text-decoration:none!important}
.hotel-details-page .ag58-tabs a:hover{background:#f4f7fa!important;color:var(--ag415-navy)!important}
.hotel-details-page .ag58-layout{grid-template-columns:minmax(0,1fr) 330px!important;gap:20px!important;align-items:start!important}
.hotel-details-page .ag58-panel{border:1px solid var(--ag415-line)!important;border-radius:17px!important;box-shadow:0 8px 26px rgba(11,31,58,.05)!important;background:#fff!important}
.hotel-details-page #rooms.ag58-panel{padding:18px!important}
.hotel-details-page #rooms.ag58-panel>h2{font-size:27px!important;margin-bottom:12px!important}
.hotel-details-page .ag62-rooms-intro{border-radius:14px!important;border:1px solid #dfe7ee!important;background:linear-gradient(135deg,#f9fbfd,#fff8f1)!important;padding:15px 17px!important}
.hotel-details-page .ag62-room-card{border:1px solid #dce6ee!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 8px 26px rgba(11,31,58,.05)!important;margin-top:16px!important}
.hotel-details-page .ag63-room-bar{background:var(--ag415-navy)!important;color:#fff!important;padding:14px 17px!important}
.hotel-details-page .ag63-room-bar-copy>span{color:#b8c7d8!important;font-size:10px!important;letter-spacing:.12em!important}
.hotel-details-page .ag63-room-bar-copy>strong{font-size:23px!important;line-height:1.12!important;color:#fff!important}
.hotel-details-page .ag63-room-bar-meta b{background:rgba(255,255,255,.1)!important;color:#fff!important;border-radius:999px!important;padding:6px 9px!important}
.hotel-details-page .ag62-room-head{background:#fff!important}
.hotel-details-page .ag62-room-chips span{background:#f5f8fa!important;border:1px solid #e1e8ee!important;color:#40576d!important}
.hotel-details-page .ag415-facilities-band{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 18px;background:#fff}
.hotel-details-page .ag415-facility-box{border:1px solid #e0e8ef;border-radius:12px;padding:13px;background:#fbfcfd;min-width:0}
.hotel-details-page .ag415-facility-box--extra{background:#fffaf3;border-color:#f3dfc5}
.hotel-details-page .ag415-facility-title{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:var(--ag415-navy);margin-bottom:8px}
.hotel-details-page .ag415-facility-chips{display:flex;flex-wrap:wrap;gap:6px}
.hotel-details-page .ag415-facility-chips span{font-size:11px;line-height:1.25;padding:5px 7px;border-radius:7px;background:#fff;border:1px solid #dfe7ee;color:#465d73}
.hotel-details-page .ag415-facility-note{display:block;margin-top:8px;font-size:10.5px;line-height:1.45;color:#728196}
.hotel-details-page .ag415-facility-link{display:inline-flex;margin-top:8px;color:#245b8f!important;font-size:11.5px;font-weight:750;text-decoration:underline!important;text-underline-offset:2px!important}
.hotel-details-page .ag63-rate-section-head{background:#f6f8fa!important;border-top:1px solid #e7edf2!important;border-bottom:1px solid #e7edf2!important}
.hotel-details-page .ag58-rate.ag62-rate-option{grid-template-columns:minmax(0,1fr) 235px!important;padding:19px 18px!important;gap:18px!important}
.hotel-details-page .ag58-rate-name{font-size:18px!important}
.hotel-details-page .ag415-rate-includes{margin-top:12px;padding-top:10px;border-top:1px dashed #d9e2ea}
.hotel-details-page .ag415-rate-includes>strong{display:block;font-size:11px;color:#5d7186;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.hotel-details-page .ag415-rate-includes .ag415-facility-chips span{background:#f7faf8;border-color:#d8eadf;color:#285e43}
.hotel-details-page .ag62-policy-grid{margin-top:12px!important}
.hotel-details-page .ag62-total-price{font-size:27px!important;color:var(--ag415-navy)!important}
.hotel-details-page .ag58-select{width:100%!important;margin-top:12px!important}
.hotel-details-page .ag58-select[disabled]{background:#eef2f5!important;border-color:#d8e0e7!important;color:#7a8795!important;box-shadow:none!important}
.hotel-details-page .ag58-stay{position:sticky!important;top:182px!important;padding:20px!important;border-radius:17px!important}
.hotel-details-page .ag58-stay h2{font-size:23px!important}
.hotel-details-page .ag58-stay-price{background:#fff6eb!important;border:1px solid #f2d4b2!important}
.hotel-details-page .ag58-stay-price b{font-size:24px!important;color:var(--ag415-navy)!important}
.hotel-details-page .ag58-stay-selected{border:1px solid #dce6ee!important;background:#f8fafc!important;border-radius:11px!important}
.hotel-details-page .ag58-stay-cta{min-height:45px!important;border:1px solid #cbd7e2!important;background:#fff!important;color:var(--ag415-navy)!important;border-radius:11px!important;font-weight:750!important}
.hotel-details-page .ag58-trust{margin-top:14px!important;padding-top:12px!important;border-top:1px solid #e8edf2!important}
.hotel-details-page .ag58-trust span{font-size:11.5px!important;color:#596e82!important}
.hotel-details-page .ag131-continue{width:100%!important;margin-top:10px!important}

/* Accessibility and reduced motion */
@media (prefers-reduced-motion:reduce){.hotel-search-page .hotel-card,.hotel-search-page .search-submit,.hotel-search-page .availability-button,.hotel-details-page button{transition:none!important;transform:none!important;scroll-behavior:auto!important}}

@media(max-width:1120px){
  .hotel-search-page .hotel-search-form{grid-template-columns:1fr 1fr!important}
  .hotel-search-page .search-submit{grid-column:2}
  .hotel-search-page .hotel-card{grid-template-columns:230px minmax(0,1fr) 205px!important}
  .hotel-details-page .ag58-layout{grid-template-columns:minmax(0,1fr) 300px!important}
}
@media(max-width:900px){
  .hotel-search-page .results-toolbar{top:102px!important}
  .hotel-search-page .results-layout{grid-template-columns:1fr!important}
  .hotel-search-page .filters{position:fixed!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;z-index:500!important;max-height:82vh!important;border-radius:18px 18px 0 0!important;transform:translateY(0)!important}
  .hotel-search-page .hotel-card{grid-template-columns:220px minmax(0,1fr)!important}
  .hotel-search-page .hotel-price-panel{grid-column:2!important;border-left:0!important;border-top:1px solid #edf1f5!important;display:grid!important;grid-template-columns:1fr 170px!important;gap:14px!important;align-items:end!important;text-align:left!important}
  .hotel-search-page .availability-button{margin:0!important;align-self:end!important}
  .hotel-search-page .review-box{justify-content:flex-start!important}
  .hotel-details-page .ag58-layout{grid-template-columns:1fr!important}
  .hotel-details-page .ag58-stay{position:relative!important;top:auto!important;order:-1!important}
}
@media(max-width:680px){
  .hotel-search-page .search-dock>.wrap{padding:10px!important}
  .hotel-search-page .hotel-search-form{grid-template-columns:1fr!important;gap:7px!important}
  .hotel-search-page .search-submit{grid-column:auto!important;min-height:52px!important}
  .hotel-search-page .search-field,.hotel-search-page .guests-button{min-height:56px!important}
  .hotel-search-page .results-hero{padding:22px 0 20px!important}
  .hotel-search-page .hero-trust{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px!important}
  .hotel-search-page .hero-trust span{white-space:nowrap!important}
  .hotel-search-page .results-main{padding-top:14px!important}
  .hotel-search-page .results-toolbar{position:relative!important;top:auto!important;border-radius:12px!important;padding:10px!important;align-items:flex-start!important;gap:10px!important}
  .hotel-search-page .toolbar-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .hotel-search-page .ag415-clear-filters{grid-column:1/-1!important;background:transparent!important;border:0!important;min-height:34px!important;text-decoration:underline!important}
  .hotel-search-page .hotel-card{display:block!important;min-height:0!important;border-radius:15px!important}
  .hotel-search-page .hotel-photo{height:218px!important;min-height:218px!important}
  .hotel-search-page .hotel-content{padding:15px!important}
  .hotel-search-page .hotel-title{font-size:19px!important}
  .hotel-search-page .hotel-price-panel{display:block!important;border-left:0!important;border-top:1px solid #edf1f5!important;padding:14px 15px 15px!important;text-align:left!important;background:#fff!important}
  .hotel-search-page .review-box{justify-content:flex-start!important;margin-bottom:10px!important}
  .hotel-search-page .price-block{padding-top:4px!important;padding-right:0!important}
  .hotel-search-page .price-total-primary{font-size:22px!important}
  .hotel-search-page .availability-button{margin-top:12px!important;width:100%!important}
  .hotel-details-page #hotelApp>.wrap{width:calc(100% - 18px)!important;padding-top:14px!important}
  .hotel-details-page .ag415-back-row{margin-bottom:9px!important}
  .hotel-details-page .ag58-property-head{display:block!important}
  .hotel-details-page .ag58-score{margin-top:10px!important;justify-content:flex-start!important}
  .hotel-details-page .ag58-tabs{position:relative!important;top:auto!important;display:flex!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important}
  .hotel-details-page .ag58-tabs::-webkit-scrollbar{display:none!important}
  .hotel-details-page #rooms.ag58-panel{padding:12px!important}
  .hotel-details-page .ag415-facilities-band{grid-template-columns:1fr!important;padding:0 13px 14px!important}
  .hotel-details-page .ag58-rate.ag62-rate-option{grid-template-columns:1fr!important;padding:15px 13px!important}
  .hotel-details-page .ag58-rate-price{border-left:0!important;border-top:1px solid #e7edf2!important;padding:14px 0 0!important;text-align:left!important;align-items:flex-start!important}
  .hotel-details-page .ag62-total-price{font-size:25px!important}
}
