@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&family=Noto+Sans+Sinhala:wght@400;500;600;700&family=Noto+Sans+Tamil:wght@400;500;600;700&display=swap');

/* AirlyGo V11.4.0D3.5 — Search + Checkout Line-Up
   Supersedes the uninstalled D3.4 typography patch.
   UI-only: no supplier, rate, PREBOOK, pricing, reservation, payment,
   Pay Later, notification or database logic changes. */

:root{
  --ag341-ui:'Work Sans','Segoe UI',Arial,sans-serif;
  --ag341-si:'Noto Sans Sinhala','Nirmala UI','Iskoola Pota',sans-serif;
  --ag341-ta:'Noto Sans Tamil','Nirmala UI','Latha',sans-serif;
  --ag341-shell:1360px;
  --ag341-gutter:32px;
  --ag341-gutter-tablet:24px;
  --ag341-gutter-mobile:12px;
  --ag341-navy:#0b1f3a;
  --ag341-orange:#ff7200;
  --ag341-muted:#64748b;
}

/* One Latin UI face everywhere. This intentionally removes page-by-page
   Baloo/mono display-font switching while preserving script-safe fallbacks. */
html,body,button,input,select,textarea,optgroup{
  font-family:var(--ag341-ui)!important;
}
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6,
html body p,html body a,html body span,html body label,html body small,html body strong,html body b,html body em,
html body li,html body th,html body td,html body legend,html body summary,html body button,html body input,html body select,html body textarea{
  font-family:var(--ag341-ui)!important;
}
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{letter-spacing:-.015em}
html body h1{font-weight:700!important}
html body h2,html body h3,html body h4,html body h5,html body h6{font-weight:600!important}
html body button{font-weight:600!important}

html body .footer-word,html body .brand,html body .brand-title,html body .hero-title,html body .results-title,html body .section-title,
html body .nav-links a,html body .ticker-live,html body .eyebrow,html body .micro-label,html body .hotel-title,html body .property-title,
html body .room-title,html body .room-name,html body .rate-name{
  font-family:var(--ag341-ui)!important;
}

/* Script-aware exceptions. */
body .airlygo-script-si,body .airlygo-script-si *,body [lang="si"],body [lang="si"] *{
  font-family:var(--ag341-si)!important;letter-spacing:normal!important;
}
body .airlygo-script-ta,body .airlygo-script-ta *,body [lang="ta"],body [lang="ta"] *{
  font-family:var(--ag341-ta)!important;letter-spacing:normal!important;
}

/* Shared public-interface width. The established AirlyGo Home/Search grid is
   1200px; D3.3 widened Hotel Details to 1440 and Checkout to 1320. Restore one
   calm, aligned desktop shell instead of making individual pages wider. */
.hotel-search-page .wrap,
.hotel-details-page .wrap,
body .nav-inner,
body .footer-new .wrap,
body .footer-new-grid,
body .fn-bottom-inner,
.hotel-details-page .details-header-inner,
.hotel-search-page .search-dock .wrap,
.hotel-search-page .results-hero .wrap,
.hotel-search-page .results-main>.wrap,
.hotel-details-page .details-main>.wrap,
.hotel-details-page .ag-details-search-form,
.hotel-details-page #hotelApp>.wrap{
  width:min(var(--ag341-shell),calc(100% - (var(--ag341-gutter) * 2)))!important;
  max-width:var(--ag341-shell)!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}

/* Hotel Details — keep D3.3 information richness, but fit it to the AirlyGo
   master width and avoid oversized numeric hierarchy. */
.hotel-details-page .ag58-layout{
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:20px!important;
}
.hotel-details-page #rooms.ag58-panel{padding:22px!important}
.hotel-details-page #rooms.ag58-panel>h2{font-size:25px!important;font-weight:600!important;margin-bottom:16px!important}
.hotel-details-page .ag62-rooms-intro strong{font-size:18px!important;font-weight:600!important}
.hotel-details-page .ag62-rooms-intro p{font-size:14px!important}

.hotel-details-page .ag62-room-accent.ag63-room-bar{
  min-height:58px!important;padding:10px 18px!important;
}
.hotel-details-page .ag63-room-bar-copy>span{font-size:10px!important;font-weight:600!important}
.hotel-details-page .ag63-room-bar-copy>strong{
  font-family:var(--ag341-ui)!important;font-size:21px!important;line-height:1.18!important;font-weight:700!important;letter-spacing:-.012em!important;
}
.hotel-details-page .ag63-room-bar-meta>b{min-height:30px!important;padding:6px 10px!important;font-size:11px!important;font-weight:600!important}

.hotel-details-page .ag58-room-head.ag62-room-head.ag63-room-overview{
  grid-template-columns:250px minmax(0,1fr)!important;gap:20px!important;padding:20px!important;
}
.hotel-details-page .ag62-room-media{width:250px!important;height:180px!important}
.hotel-details-page .ag62-room-media-empty{padding:22px!important}
.hotel-details-page .ag62-room-media-empty b{font-size:14px!important;font-weight:600!important}
.hotel-details-page .ag62-room-media-empty small{font-size:12.5px!important}
.hotel-details-page .ag63-room-subhead>span{font-size:10px!important;font-weight:600!important}
.hotel-details-page .ag63-room-subhead>b{font-size:14px!important;font-weight:500!important}
.hotel-details-page .ag62-room-fact b{font-size:9.5px!important;font-weight:600!important}
.hotel-details-page .ag62-room-fact em{font-size:13px!important;font-weight:600!important}
.hotel-details-page .ag62-room-chips span{font-size:12px!important;font-weight:500!important}

.hotel-details-page .ag59-rate-suggestions{padding:10px 18px!important;gap:12px!important}
.hotel-details-page .ag59-rate-suggestions h3{font-size:13px!important;font-weight:600!important}
.hotel-details-page .ag59-rate-suggestion b{font-size:12px!important;font-weight:600!important}
.hotel-details-page .ag62-rate-section-head.ag63-rate-section-head{padding:14px 18px!important}
.hotel-details-page .ag62-rate-section-head span{font-size:15px!important;font-weight:600!important}
.hotel-details-page .ag62-rate-section-head small{font-size:12px!important}

.hotel-details-page .ag58-rate.ag62-rate-option{
  grid-template-columns:minmax(0,1fr) 220px!important;gap:20px!important;padding:19px 18px!important;
}
.hotel-details-page .ag62-rate-label{font-size:10px!important;font-weight:600!important}
.hotel-details-page .ag58-rate-name.ag62-rate-name{font-size:19px!important;font-weight:600!important;letter-spacing:-.01em!important}
.hotel-details-page .ag62-badge{min-height:27px!important;padding:5px 8px!important;font-size:10.5px!important;font-weight:600!important}
.hotel-details-page .ag62-policy-line b{font-size:12.5px!important;font-weight:600!important}
.hotel-details-page .ag62-policy-line small{font-size:11.5px!important;font-weight:400!important}
.hotel-details-page .ag58-rate-price.ag62-rate-price{padding-left:18px!important}
.hotel-details-page .ag62-price-caption{font-size:11.5px!important;font-weight:400!important}
.hotel-details-page .ag62-total-price{
  font-size:23px!important;line-height:1.1!important;font-weight:650!important;letter-spacing:-.012em!important;
}
.hotel-details-page .ag62-night-price{font-size:12px!important;font-weight:500!important}
.hotel-details-page .ag58-select.ag62-select{min-height:44px!important;font-size:13.5px!important;font-weight:600!important}
.hotel-details-page .ag58-price-note{font-size:11px!important;font-weight:400!important}

/* Sticky stay card — informative, not price-dominant. */
.hotel-details-page .ag58-stay{top:126px!important;padding:20px!important}
.hotel-details-page .ag58-stay h2{font-size:22px!important;font-weight:600!important}
.hotel-details-page .ag58-stay-row span{font-size:12.5px!important}
.hotel-details-page .ag58-stay-row strong{font-size:13px!important;font-weight:600!important}
.hotel-details-page .ag58-stay-price.ag63-stay-price{padding:14px!important}
.hotel-details-page .ag58-stay-price.ag63-stay-price small{font-size:11.5px!important}
.hotel-details-page .ag58-stay-price.ag63-stay-price b{
  font-size:22px!important;line-height:1.12!important;font-weight:650!important;letter-spacing:-.01em!important;
}
.hotel-details-page .ag58-stay .ag58-stay-selected small{font-size:10.5px!important;font-weight:600!important}
.hotel-details-page .ag58-stay .ag58-stay-selected strong{font-size:14px!important;font-weight:600!important}
.hotel-details-page .ag58-stay #ag58SelectedPrice{font-size:17px!important;font-weight:600!important}
.hotel-details-page .ag58-stay-cta{min-height:46px!important;font-size:13.5px!important;font-weight:600!important}

/* Existing hotel information uses the same font/weight rhythm. */
.hotel-details-page .ag58-panel h2{font-size:22px!important;font-weight:600!important}
.hotel-details-page .ag58-description{font-size:15px!important}
.hotel-details-page .ag58-highlight b{font-weight:600!important}
.hotel-details-page .ag58-faq summary{font-weight:600!important}

/* Hotel checkout — return to the same 1200px shell and reduce oversized
   headings/totals introduced by D3.3. */
.hotel-checkout-page .checkout-main,
.hotel-checkout-page .checkout-contextbar{
  width:min(var(--ag341-shell),calc(100% - (var(--ag341-gutter) * 2)))!important;
  max-width:var(--ag341-shell)!important;
}
.hotel-checkout-page .checkout-grid{grid-template-columns:minmax(0,1fr) 340px!important;gap:24px!important}
.hotel-checkout-page .form-card{padding:28px!important}
.hotel-checkout-page .summary-card{padding:22px!important}
.hotel-checkout-page .checkout-topline h1{font-size:34px!important;font-weight:700!important;line-height:1.08!important}
.hotel-checkout-page .checkout-topline p{font-size:14.5px!important}
.hotel-checkout-page .timer-box strong{font-size:23px!important;font-weight:600!important}
.hotel-checkout-page .step-heading h2{font-size:24px!important;font-weight:600!important}
.hotel-checkout-page .step-heading p{font-size:14px!important}
.hotel-checkout-page .section-label h3{font-family:var(--ag341-ui)!important;font-size:21px!important;font-weight:600!important}
.hotel-checkout-page label{font-size:13.5px!important;font-weight:600!important}
.hotel-checkout-page input,.hotel-checkout-page select,.hotel-checkout-page textarea{font-size:15px!important;font-weight:400!important}
.hotel-checkout-page .payment-choice strong{font-size:14.5px!important;font-weight:600!important}
.hotel-checkout-page .payment-choice span{font-size:13px!important}
.hotel-checkout-page .hotel-summary h2{font-size:20px!important;font-weight:600!important}
.hotel-checkout-page .summary-room strong{font-size:16px!important;font-weight:600!important}
.hotel-checkout-page .summary-total strong{font-size:24px!important;font-weight:650!important;letter-spacing:-.01em!important}
.hotel-checkout-page .checkout-primary{font-size:14.5px!important;font-weight:600!important}

/* Hotel Results — keep prices visible without overpowering hotel/room names. */
.hotel-search-page .hotel-price-panel .price-nightly{font-size:20px!important;font-weight:600!important}
.hotel-search-page .hotel-price-panel .price-total{font-size:13.5px!important;font-weight:500!important}
.hotel-search-page .hotel-card h2,.hotel-search-page .hotel-card h3,.hotel-search-page .hotel-title,.hotel-search-page .hotel-name{font-weight:600!important}
.hotel-search-page .availability-button{font-weight:600!important}

/* Static public pages inherit the same face without disturbing their own
   deliberate narrow reading widths. */
.contact-premium h1,.contact-premium h2,.contact-premium h3,
.feedback-page-shell h1,.feedback-page-shell h2,.feedback-page-shell h3,
.policy-v11 h1,.policy-v11 h2,.policy-v11 h3,
.pay-hero h1,.pay-hero h2,.insurance-page h1,.insurance-page h2,
.news-page h1,.news-page h2,.article-page h1,.article-page h2{
  font-family:var(--ag341-ui)!important;
}

@media(max-width:1100px){
  .hotel-search-page .wrap,.hotel-details-page .wrap,body .nav-inner,body .footer-new .wrap,body .footer-new-grid,body .fn-bottom-inner,
  .hotel-details-page .details-header-inner,.hotel-search-page .search-dock .wrap,.hotel-search-page .results-hero .wrap,.hotel-search-page .results-main>.wrap,
  .hotel-details-page .details-main>.wrap,.hotel-details-page .ag-details-search-form,.hotel-details-page #hotelApp>.wrap,
  .hotel-checkout-page .checkout-main,.hotel-checkout-page .checkout-contextbar{
    width:calc(100% - (var(--ag341-gutter-tablet) * 2))!important;
  }
  .hotel-details-page .ag58-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:18px!important}
  .hotel-details-page .ag58-room-head.ag62-room-head.ag63-room-overview{grid-template-columns:220px minmax(0,1fr)!important}
  .hotel-details-page .ag62-room-media{width:220px!important;height:165px!important}
  .hotel-details-page .ag58-rate.ag62-rate-option{grid-template-columns:minmax(0,1fr) 205px!important}
  .hotel-checkout-page .checkout-grid{grid-template-columns:minmax(0,1fr) 320px!important;gap:20px!important}
}

@media(max-width:980px){
  .hotel-details-page .ag58-layout{grid-template-columns:1fr!important}
  .hotel-details-page .ag58-stay{position:relative!important;top:auto!important;order:-1!important}
  .hotel-checkout-page .checkout-grid{grid-template-columns:1fr!important}
  .hotel-checkout-page .summary-card{position:static!important;order:-1!important}
}

@media(max-width:760px){
  .hotel-search-page .wrap,.hotel-details-page .wrap,body .nav-inner,body .footer-new .wrap,body .footer-new-grid,body .fn-bottom-inner,
  .hotel-details-page .details-header-inner,.hotel-search-page .search-dock .wrap,.hotel-search-page .results-hero .wrap,.hotel-search-page .results-main>.wrap,
  .hotel-details-page .details-main>.wrap,.hotel-details-page .ag-details-search-form,.hotel-details-page #hotelApp>.wrap,
  .hotel-checkout-page .checkout-main,.hotel-checkout-page .checkout-contextbar{
    width:calc(100% - (var(--ag341-gutter-mobile) * 2))!important;
  }
  .hotel-details-page #rooms.ag58-panel{padding:14px!important}
  .hotel-details-page .ag63-room-bar-copy>strong{font-size:19px!important}
  .hotel-details-page .ag58-room-head.ag62-room-head.ag63-room-overview{grid-template-columns:1fr!important;padding:14px!important}
  .hotel-details-page .ag62-room-media{width:100%!important;height:220px!important}
  .hotel-details-page .ag58-rate.ag62-rate-option{grid-template-columns:1fr!important;padding:16px 14px!important}
  .hotel-details-page .ag58-rate-price.ag62-rate-price{padding:14px 0 0!important}
  .hotel-details-page .ag62-total-price{font-size:22px!important}
  .hotel-details-page .ag58-stay-price.ag63-stay-price b{font-size:21px!important}
  .hotel-checkout-page .checkout-topline h1{font-size:30px!important}
  .hotel-checkout-page .step-heading h2{font-size:22px!important}
  .hotel-checkout-page .form-card,.hotel-checkout-page .summary-card{padding:18px!important}
  .hotel-checkout-page .summary-total strong{font-size:22px!important}
}


/* ===== AirlyGo V11.4.0D3.5 — Search & Checkout Line-Up =====
   UI/data-presentation only. No LiteAPI pricing, PREBOOK, rate fingerprint,
   reservation, payment verification or supplier booking semantics are changed. */

/* Unified hotel journey width. Reading pages may keep narrower inner article
   measures, but their brand/header shell still aligns to this master width. */
.hotel-search-page .wrap,
.hotel-details-page .wrap,
.hotel-checkout-page .checkout-main,
.hotel-checkout-page .checkout-contextbar{
  max-width:1360px!important;
}

/* Search toolbar should not cover the first result while scrolling. */
.hotel-search-page .results-toolbar{
  position:relative!important;
  top:auto!important;
  z-index:4!important;
  background:transparent!important;
}

.hotel-search-page .results-layout{
  grid-template-columns:292px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
}
.hotel-search-page .filters{
  position:sticky!important;
  top:118px!important;
  align-self:start!important;
  max-height:calc(100vh - 136px)!important;
  overflow:auto!important;
  scrollbar-width:thin;
}
.hotel-search-page .filter-group{margin-bottom:20px!important}
.hotel-search-page .filter-group legend,
.hotel-search-page .filter-group>label:first-child{font-size:13.5px!important;font-weight:600!important}
.hotel-search-page .check{min-height:36px!important;gap:9px!important;font-size:13.5px!important}
.hotel-search-page .check input{width:18px!important;height:18px!important;flex:none!important}
.hotel-search-page .filter-count{margin-left:auto;color:#718096;font-size:12px;font-weight:500}
.hotel-search-page .filter-subnote{font-size:11.5px;line-height:1.45;color:#6c7c90;margin:7px 0 0}
.hotel-search-page .filter-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:8px 0 10px}
.hotel-search-page .filter-price-grid label{font-size:11px;color:#718096;font-weight:500}
.hotel-search-page .filter-price-grid input{margin-top:5px!important;min-width:0;width:100%;height:42px;border:1px solid #cfd9e6;border-radius:10px;padding:8px 9px;font:inherit}
.hotel-search-page .filter-histogram{height:54px;display:flex;align-items:flex-end;gap:2px;padding:0 3px;margin:8px 0 4px}
.hotel-search-page .filter-histogram span{flex:1;min-width:2px;border-radius:3px 3px 0 0;background:#d7e3ef;opacity:.95}
.hotel-search-page .filter-range-wrap{position:relative;height:28px;margin:0 2px 8px}
.hotel-search-page .filter-range-wrap:before{content:"";position:absolute;left:4px;right:4px;top:12px;height:4px;border-radius:999px;background:#d9e4ef}
.hotel-search-page .filter-range-wrap input[type=range]{position:absolute;inset:0;width:100%;height:28px;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none;margin:0}
.hotel-search-page .filter-range-wrap input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#0b4f8a;border:2px solid #fff;box-shadow:0 0 0 1px #0b4f8a;pointer-events:auto;cursor:pointer}
.hotel-search-page .filter-range-wrap input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#0b4f8a;border:2px solid #fff;box-shadow:0 0 0 1px #0b4f8a;pointer-events:auto;cursor:pointer}
.hotel-search-page .filter-section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:13.5px;font-weight:600;color:#0b1f3a}
.hotel-search-page .filter-radio{display:flex;align-items:center;gap:9px;min-height:34px;font-size:13px;color:#334a62}
.hotel-search-page .filter-radio input{width:18px;height:18px;margin:0}
.hotel-search-page .filter-dynamic-list{display:grid;gap:2px}
.hotel-search-page .filter-more{border:0;background:none;color:#0b5db1;font:inherit;font-size:12.5px;padding:6px 0;cursor:pointer;text-align:left}
.hotel-search-page .filter-payment-note{border:1px solid #dbe7f1;background:#f7fafc;border-radius:10px;padding:10px 11px;color:#52677d;font-size:11.5px;line-height:1.45}
.hotel-search-page .filter-payment-note b{display:block;color:#0b1f3a;font-size:12px;margin-bottom:2px}

/* Equal-height OTA result cards. */
.hotel-search-page .hotel-card{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr) 270px!important;
  grid-template-rows:278px!important;
  height:278px!important;
  min-height:278px!important;
  border:1px solid #d8e2ec!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.hotel-search-page .hotel-photo{
  position:relative!important;
  height:278px!important;
  min-height:278px!important;
  overflow:hidden!important;
  border-radius:0!important;
  cursor:pointer;
  outline:none;
}
.hotel-search-page .hotel-photo:focus-visible{box-shadow:inset 0 0 0 3px #ff7200}
.hotel-search-page .hotel-photo>img,
.hotel-search-page .hotel-image-fallback{width:100%!important;height:100%!important;object-fit:cover!important}
.hotel-search-page .hotel-photo .photo-badge{z-index:3!important}
.hotel-search-page .gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:36px;height:36px;border-radius:50%;border:0;background:rgba(7,31,61,.82);color:#fff;display:grid;place-items:center;font-size:22px;line-height:1;cursor:pointer;opacity:0;transition:opacity .16s ease,background .16s ease}
.hotel-search-page .gallery-arrow:hover{background:#071f3d}
.hotel-search-page .gallery-arrow--prev{left:10px}.hotel-search-page .gallery-arrow--next{right:10px}
.hotel-search-page .hotel-photo:hover .gallery-arrow,.hotel-search-page .hotel-photo:focus-within .gallery-arrow{opacity:1}
.hotel-search-page .gallery-counter{position:absolute;right:10px;bottom:10px;z-index:3;border-radius:999px;background:rgba(7,31,61,.82);color:#fff;padding:4px 8px;font-size:11px;font-weight:600;letter-spacing:.01em}
.hotel-search-page .hotel-content{height:278px!important;min-height:0!important;padding:20px 20px 16px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.hotel-search-page .hotel-title-row{display:flex!important;align-items:flex-start!important;gap:10px!important;min-height:34px}
.hotel-search-page .hotel-title{font-size:22px!important;line-height:1.18!important;font-weight:600!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0!important}
.hotel-search-page .hotel-stars{flex:none;font-size:12px!important;margin-top:4px!important}
.hotel-search-page .hotel-location{font-size:13px!important;margin-top:5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hotel-search-page .room-name{font-size:14px!important;line-height:1.3!important;font-weight:600!important;margin-top:15px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:18px}
.hotel-search-page .board-name{font-size:12.5px!important;line-height:1.3!important;color:#6b7a8e!important;margin-top:3px!important}
.hotel-search-page .hotel-keyfacts{display:flex;gap:7px 12px;flex-wrap:wrap;margin-top:10px;max-height:42px;overflow:hidden;color:#425a70;font-size:11.5px;line-height:1.35}
.hotel-search-page .hotel-keyfacts span:before{content:"✓";color:#16854b;font-weight:700;margin-right:4px}
.hotel-search-page .amenity-list{display:none!important}
.hotel-search-page .offer-badges{margin-top:auto!important;display:flex!important;gap:6px!important;flex-wrap:wrap!important;max-height:58px!important;overflow:hidden!important}
.hotel-search-page .offer-badge{font-size:10.5px!important;padding:5px 8px!important;min-height:26px!important}
.hotel-search-page .offer-badge:nth-child(n+5){display:none!important}
.hotel-search-page .hotel-price-panel{height:278px!important;min-height:0!important;padding:18px 16px 16px!important;display:flex!important;flex-direction:column!important;border-left:1px solid #e1e8ef!important;overflow:hidden!important}
.hotel-search-page .review-box{min-height:48px!important;margin:0!important}
.hotel-search-page .review-copy{font-size:10.5px!important}.hotel-search-page .review-copy strong{font-size:11.5px!important}
.hotel-search-page .review-score{width:46px!important;height:46px!important;min-width:46px!important;font-size:15px!important}
.hotel-search-page .price-block{margin-top:auto!important;text-align:right!important}
.hotel-search-page .price-label{font-size:10.5px!important;font-weight:400!important;margin-bottom:2px!important}
.hotel-search-page .price-total-primary{display:block;font-size:20px;line-height:1.14;font-weight:600;color:#0b1f3a;letter-spacing:-.01em}
.hotel-search-page .price-nightly-secondary{display:block;margin-top:3px;font-size:12px;line-height:1.35;font-weight:500;color:#52677d}
.hotel-search-page .price-note{display:none!important}
.hotel-search-page .demand-note{font-size:11px!important;margin-top:5px!important;font-weight:600!important}
.hotel-search-page .availability-button{margin-top:10px!important;min-height:46px!important;font-size:12.5px!important}

/* Checkout: make the reservation summary genuinely sticky through the form. */
.hotel-checkout-page .checkout-grid{grid-template-columns:minmax(0,1fr) 350px!important;gap:26px!important;align-items:start!important}
.hotel-checkout-page .summary-card{
  position:sticky!important;
  top:118px!important;
  align-self:start!important;
  max-height:calc(100vh - 136px)!important;
  overflow:auto!important;
  overscroll-behavior:contain;
}
.hotel-checkout-page .payment-choice{min-height:72px!important;padding:14px 15px!important;margin:9px 0!important}
.hotel-checkout-page .method-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.hotel-checkout-page .method-row .payment-choice:last-child:nth-child(odd){grid-column:auto!important}
.hotel-checkout-page .summary-total strong{font-size:22px!important;font-weight:600!important}

@media(max-width:1180px){
  .hotel-search-page .results-layout{grid-template-columns:255px minmax(0,1fr)!important;gap:18px!important}
  .hotel-search-page .hotel-card{grid-template-columns:255px minmax(0,1fr) 245px!important;height:264px!important;grid-template-rows:264px!important;min-height:264px!important}
  .hotel-search-page .hotel-photo,.hotel-search-page .hotel-content,.hotel-search-page .hotel-price-panel{height:264px!important;min-height:264px!important}
  .hotel-search-page .hotel-title{font-size:19px!important}
}

@media(max-width:900px){
  .hotel-search-page .filters{position:fixed!important;top:auto!important;max-height:82vh!important}
  .hotel-search-page .hotel-card{height:auto!important;min-height:0!important;grid-template-rows:auto auto!important}
  .hotel-search-page .hotel-photo{height:258px!important;min-height:258px!important}
  .hotel-search-page .hotel-content,.hotel-search-page .hotel-price-panel{height:auto!important;min-height:0!important}
  .hotel-search-page .gallery-arrow{opacity:1;width:32px;height:32px;font-size:19px}
  .hotel-checkout-page .checkout-grid{grid-template-columns:1fr!important}
  .hotel-checkout-page .summary-card{position:static!important;max-height:none!important;overflow:visible!important;order:-1!important}
  .hotel-checkout-page .method-row{grid-template-columns:1fr 1fr!important}
}

@media(max-width:700px){
  .hotel-checkout-page .method-row{grid-template-columns:1fr!important}
}
