/* AirlyGo V11.4.0D3.6 — Public UI Unification
   Customer-interface only. Keeps supplier, pricing, PREBOOK, reservation,
   Pay Later, payment verification and booking logic untouched. */

:root{
  --ag-content-max:1200px;
  --ag36-shell:1200px;
  --ag36-gutter:32px;
  --ag36-gutter-tablet:22px;
  --ag36-gutter-mobile:12px;
  --ag36-ui:'Work Sans','Segoe UI',Arial,sans-serif;
  --ag36-si:'Noto Sans Sinhala','Nirmala UI','Iskoola Pota',sans-serif;
  --ag36-ta:'Noto Sans Tamil','Nirmala UI','Latha',sans-serif;
  --ag36-navy:#0b1f3a;
  --ag36-blue:#174f7d;
  --ag36-orange:#ff7200;
  --ag36-cream:#fff8ef;
  --ag36-line:#d8e2ec;
  --ag36-muted:#65758b;
  --ag36-green:#16854b;
}

/* One visual type system across public pages. D3.6 is deliberately last in
   the cascade so legacy Baloo/mono page overrides cannot split the journey. */
html body,
html body button,html body input,html body select,html body textarea,html body optgroup,
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 code,html body kbd,html body samp{
  font-family:var(--ag36-ui)!important;
}
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{
  letter-spacing:-.012em!important;
}
html body h1{font-weight:700!important}
html body h2,html body h3{font-weight:650!important}
html body h4,html body h5,html body h6{font-weight:600!important}
html body button{font-weight:600!important}
body [lang="si"],body [lang="si"] *,body.airlygo-script-si,body.airlygo-script-si *{font-family:var(--ag36-si)!important;letter-spacing:normal!important}
body [lang="ta"],body [lang="ta"] *,body.airlygo-script-ta,body.airlygo-script-ta *{font-family:var(--ag36-ta)!important;letter-spacing:normal!important}

/* Index width is the public-site source of truth. */
body .wrap,
body .nav-inner,
body .footer-new .wrap,
body .footer-new-grid,
body .fn-bottom-inner,
.hotel-search-page .search-dock>.wrap,
.hotel-search-page .results-hero>.wrap,
.hotel-search-page .results-main>.wrap,
.hotel-details-page .ag-details-search-form,
.hotel-details-page .details-main>.wrap,
.hotel-details-page #hotelApp>.wrap,
.hotel-checkout-page .checkout-header-inner,
.hotel-checkout-page .checkout-main,
.hotel-checkout-page .checkout-contextbar{
  width:min(var(--ag36-shell),calc(100% - (var(--ag36-gutter) * 2)))!important;
  max-width:var(--ag36-shell)!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}

/* ---------------- Hotel search ---------------- */
.hotel-search-page .results-layout{
  grid-template-columns:252px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.hotel-search-page .filters{
  top:112px!important;
  max-height:calc(100vh - 128px)!important;
  border-radius:15px!important;
}
.hotel-search-page .filters h2{font-size:21px!important;font-weight:650!important}
.hotel-search-page .filter-group{margin-bottom:17px!important}
.hotel-search-page .filter-group legend,
.hotel-search-page .filter-section-title{font-size:13px!important;font-weight:600!important}
.hotel-search-page .check,.hotel-search-page .filter-radio{font-size:12.8px!important;min-height:32px!important}
.hotel-search-page .filter-price-grid input{height:40px!important;border-radius:9px!important}

/* Every result uses the same geometry. */
.hotel-search-page .hotel-card{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr) 220px!important;
  grid-template-rows:252px!important;
  height:252px!important;
  min-height:252px!important;
  border-radius:16px!important;
  border:1px solid var(--ag36-line)!important;
  overflow:hidden!important;
  box-shadow:0 8px 24px rgba(11,31,58,.045)!important;
}
.hotel-search-page .hotel-photo{
  height:252px!important;
  min-height:252px!important;
}
.hotel-search-page .hotel-content{
  height:252px!important;
  padding:16px 17px 14px!important;
}
.hotel-search-page .hotel-title-row{min-height:30px!important;gap:8px!important}
.hotel-search-page .hotel-title{
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:650!important;
  -webkit-line-clamp:2!important;
}
.hotel-search-page .hotel-stars{font-size:11px!important;margin-top:3px!important}
.hotel-search-page .hotel-location{font-size:12.5px!important;margin-top:4px!important}
.hotel-search-page .room-name{font-size:13.5px!important;font-weight:600!important;margin-top:12px!important;line-height:1.28!important}
.hotel-search-page .board-name{font-size:12px!important;margin-top:2px!important}
.hotel-search-page .hotel-keyfacts{font-size:11px!important;margin-top:7px!important;max-height:34px!important}
.hotel-search-page .offer-badges{gap:5px!important;max-height:53px!important}
.hotel-search-page .offer-badge{font-size:10px!important;min-height:24px!important;padding:4px 7px!important}
.hotel-search-page .hotel-price-panel{
  height:252px!important;
  padding:15px 14px!important;
}
.hotel-search-page .review-box{min-height:44px!important}
.hotel-search-page .review-score{width:43px!important;height:43px!important;min-width:43px!important;font-size:14px!important}
.hotel-search-page .review-copy{font-size:10px!important}.hotel-search-page .review-copy strong{font-size:11px!important}
.hotel-search-page .price-label{font-size:10px!important}
.hotel-search-page .price-total-primary{font-size:18.5px!important;font-weight:600!important;letter-spacing:-.008em!important}
.hotel-search-page .price-nightly-secondary{font-size:11.5px!important;font-weight:500!important}
.hotel-search-page .demand-note{font-size:10.5px!important;margin-top:4px!important}
.hotel-search-page .availability-button{min-height:42px!important;margin-top:8px!important;font-size:12px!important;border-radius:10px!important}
.hotel-search-page .gallery-arrow{width:34px!important;height:34px!important;font-size:20px!important}
.hotel-search-page .gallery-counter{font-size:10.5px!important;padding:4px 7px!important}

/* ---------------- Hotel details ---------------- */
.hotel-details-page .ag58-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:18px!important}
.hotel-details-page #rooms.ag58-panel{padding:18px!important;border-radius:17px!important}
.hotel-details-page #rooms.ag58-panel>h2{font-size:23px!important;margin-bottom:13px!important}
.hotel-details-page .ag62-rooms-intro{padding:13px 15px!important;margin-bottom:15px!important}
.hotel-details-page .ag62-rooms-intro strong{font-size:17px!important;font-weight:650!important}
.hotel-details-page .ag62-rooms-intro p{font-size:13px!important}
.hotel-details-page .ag58-room-group.ag62-room-card.ag63-room-card{margin-top:16px!important;margin-bottom:18px!important;border-radius:15px!important}
.hotel-details-page .ag62-room-accent.ag63-room-bar{min-height:54px!important;padding:8px 15px!important}
.hotel-details-page .ag63-room-bar-copy>span{font-size:9.5px!important;font-weight:600!important;letter-spacing:.1em!important}
.hotel-details-page .ag63-room-bar-copy>strong{font-size:20px!important;font-weight:650!important;line-height:1.15!important;text-transform:capitalize!important}
.hotel-details-page .ag63-room-bar-meta>b{min-height:29px!important;padding:5px 9px!important;font-size:10.5px!important}
.hotel-details-page .ag58-room-head.ag62-room-head.ag63-room-overview{grid-template-columns:220px minmax(0,1fr)!important;gap:18px!important;padding:17px!important}
.hotel-details-page .ag62-room-media{width:220px!important;height:150px!important;border-radius:12px!important}
.hotel-details-page .ag62-room-media-empty{padding:16px!important}
.hotel-details-page .ag62-room-media-empty b{font-size:13px!important;margin-top:6px!important}
.hotel-details-page .ag62-room-media-empty small{font-size:11.5px!important;line-height:1.4!important;max-width:185px!important}
.hotel-details-page .ag62-photo-placeholder-icon{font-size:25px!important}
.hotel-details-page .ag63-room-subhead{padding-bottom:10px!important}
.hotel-details-page .ag63-room-subhead>span{font-size:9.5px!important}
.hotel-details-page .ag63-room-subhead>b{font-size:13.5px!important;line-height:1.4!important;font-weight:550!important}
.hotel-details-page .ag62-room-facts.ag63-room-facts{gap:8px!important;margin-top:11px!important}
.hotel-details-page .ag62-room-fact{padding:9px 10px!important}
.hotel-details-page .ag62-room-fact b{font-size:9px!important}.hotel-details-page .ag62-room-fact em{font-size:12.5px!important;margin-top:2px!important}
.hotel-details-page .ag62-room-chips{margin-top:11px!important;gap:6px!important}.hotel-details-page .ag62-room-chips span{font-size:11.5px!important;padding:5px 7px!important}
.hotel-details-page .ag59-rate-suggestions{padding:9px 14px!important;gap:10px!important}.hotel-details-page .ag59-rate-suggestions h3{font-size:12.5px!important}.hotel-details-page .ag59-rate-suggestion{padding:6px 8px!important}.hotel-details-page .ag59-rate-suggestion b{font-size:11.5px!important}
.hotel-details-page .ag62-rate-section-head.ag63-rate-section-head{padding:11px 15px!important}.hotel-details-page .ag62-rate-section-head span{font-size:14.5px!important}.hotel-details-page .ag62-rate-section-head small{font-size:11.5px!important}
.hotel-details-page .ag58-rate.ag62-rate-option{grid-template-columns:minmax(0,1fr) 205px!important;gap:16px!important;padding:15px!important}
.hotel-details-page .ag58-rate-name.ag62-rate-name{font-size:17px!important;font-weight:650!important}
.hotel-details-page .ag62-policy-grid{margin-top:10px!important;gap:7px 14px!important}.hotel-details-page .ag62-policy-line{flex-basis:155px!important;max-width:220px!important}.hotel-details-page .ag62-policy-line b{font-size:11.5px!important}.hotel-details-page .ag62-policy-line small{font-size:10.8px!important}
.hotel-details-page .ag58-rate-price.ag62-rate-price{padding-left:15px!important}.hotel-details-page .ag62-price-caption{font-size:10.8px!important}.hotel-details-page .ag62-total-price{font-size:22px!important;font-weight:600!important}.hotel-details-page .ag62-night-price{font-size:11.5px!important}.hotel-details-page .ag58-select.ag62-select{min-height:42px!important;font-size:12.5px!important;margin-top:9px!important}
.hotel-details-page .ag58-stay{top:116px!important;padding:17px!important;border-radius:15px!important}.hotel-details-page .ag58-stay h2{font-size:21px!important}.hotel-details-page .ag58-stay-row{padding:9px 0!important}.hotel-details-page .ag58-stay-price.ag63-stay-price{padding:12px!important;margin-top:12px!important}.hotel-details-page .ag58-stay-price.ag63-stay-price b{font-size:21px!important;font-weight:600!important}.hotel-details-page .ag58-stay #ag58SelectedPrice{font-size:16px!important;font-weight:600!important}.hotel-details-page .ag58-stay-cta{min-height:43px!important;font-size:12.5px!important}

/* ---------------- Checkout ---------------- */
.hotel-checkout-page .checkout-main{margin-top:24px!important}
.hotel-checkout-page .checkout-grid{grid-template-columns:minmax(0,1fr) 320px!important;gap:22px!important;align-items:start!important}
.hotel-checkout-page .form-card{padding:24px!important}.hotel-checkout-page .summary-card{padding:18px!important;border-radius:16px!important}
.hotel-checkout-page .checkout-topline h1{font-size:31px!important;font-weight:650!important}.hotel-checkout-page .checkout-topline p{font-size:13.5px!important}
.hotel-checkout-page .step-heading{margin-bottom:17px!important;gap:11px!important}.hotel-checkout-page .step-heading>span{width:32px!important;height:32px!important;font-size:14px!important}.hotel-checkout-page .step-heading h2{font-size:21px!important;font-weight:650!important}.hotel-checkout-page .step-heading p{font-size:13px!important}
.hotel-checkout-page label{font-size:13px!important}.hotel-checkout-page input,.hotel-checkout-page select,.hotel-checkout-page textarea{font-size:14.5px!important}
.hotel-checkout-page input{min-height:48px!important;height:48px!important;padding:11px 12px!important}
.hotel-checkout-page .phone-combo{grid-template-columns:142px minmax(0,1fr)!important;gap:9px!important;margin-top:7px!important;align-items:stretch!important}
.hotel-checkout-page .phone-combo select,.hotel-checkout-page .phone-combo input{height:48px!important;min-height:48px!important;margin:0!important;border-radius:10px!important;box-sizing:border-box!important}
.hotel-checkout-page .phone-combo select{padding:0 11px!important;border:1px solid #cfd9e6!important;background:#fff!important}
.hotel-checkout-page .field-help{font-size:11.5px!important}
.hotel-checkout-page .guest-section,.hotel-checkout-page .payment-section{margin-top:24px!important;padding-top:21px!important}.hotel-checkout-page .section-label h3{font-size:19px!important;font-weight:650!important}.hotel-checkout-page .section-label p{font-size:12.5px!important}
.hotel-checkout-page .guest-card{padding:14px!important}.hotel-checkout-page .guest-card h4{font-size:14px!important}

/* Timing and method choices are selection controls, not feature cards. */
.hotel-checkout-page .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.hotel-checkout-page .method-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;align-items:stretch!important}
.hotel-checkout-page .payment-choice{
  min-height:86px!important;
  height:auto!important;
  padding:12px 12px!important;
  margin:0!important;
  border-radius:11px!important;
  gap:9px!important;
  align-items:flex-start!important;
}
.hotel-checkout-page .method-row .payment-choice{min-height:94px!important}
.hotel-checkout-page .payment-choice input{width:17px!important;height:17px!important;margin:2px 0 0!important;flex:none!important}
.hotel-checkout-page .payment-choice strong{font-size:13.5px!important;font-weight:600!important;line-height:1.25!important}
.hotel-checkout-page .payment-choice span{font-size:11.5px!important;line-height:1.38!important;margin-top:3px!important;font-weight:400!important}
.hotel-checkout-page .method-badge{font-size:9.5px!important;padding:2px 6px!important;margin-left:4px!important}
.hotel-checkout-page .checkout-primary{min-height:47px!important;font-size:14px!important;margin-top:15px!important}
.hotel-checkout-page .summary-card{position:sticky!important;top:116px!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important}
.hotel-checkout-page .hotel-summary img{width:72px!important;height:60px!important}.hotel-checkout-page .hotel-summary h2{font-size:18px!important;font-weight:650!important}.hotel-checkout-page .hotel-summary p{font-size:11.5px!important}.hotel-checkout-page .summary-row{padding:10px 0!important;font-size:12.5px!important}.hotel-checkout-page .summary-room{padding:13px 0!important}.hotel-checkout-page .summary-room strong{font-size:15px!important}.hotel-checkout-page .summary-room span{font-size:12.5px!important}.hotel-checkout-page .summary-room small{font-size:11.5px!important}.hotel-checkout-page .rate-summary-details span{font-size:11.5px!important}.hotel-checkout-page .summary-total{padding:14px 0!important}.hotel-checkout-page .summary-total strong{font-size:21px!important;font-weight:600!important}.hotel-checkout-page .summary-total span{font-size:11.5px!important}

@media(max-width:1100px){
  body .wrap,.hotel-search-page .search-dock>.wrap,.hotel-search-page .results-hero>.wrap,.hotel-search-page .results-main>.wrap,.hotel-details-page .ag-details-search-form,.hotel-details-page .details-main>.wrap,.hotel-details-page #hotelApp>.wrap,.hotel-checkout-page .checkout-header-inner,.hotel-checkout-page .checkout-main,.hotel-checkout-page .checkout-contextbar{width:min(100% - (var(--ag36-gutter-tablet) * 2),var(--ag36-shell))!important}
  .hotel-search-page .results-layout{grid-template-columns:230px minmax(0,1fr)!important;gap:16px!important}
  .hotel-search-page .hotel-card{grid-template-columns:235px minmax(0,1fr) 205px!important}
  .hotel-details-page .ag58-layout{grid-template-columns:minmax(0,1fr) 285px!important}
  .hotel-details-page .ag58-room-head.ag62-room-head.ag63-room-overview{grid-template-columns:190px minmax(0,1fr)!important}.hotel-details-page .ag62-room-media{width:190px!important;height:140px!important}
  .hotel-checkout-page .checkout-grid{grid-template-columns:minmax(0,1fr) 300px!important;gap:17px!important}
}

@media(max-width:900px){
  .hotel-search-page .results-layout{grid-template-columns:1fr!important}.hotel-search-page .filters{position:fixed!important;max-height:none!important}
  .hotel-search-page .hotel-card{grid-template-columns:240px minmax(0,1fr) 205px!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}
  .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){
  body .wrap,.hotel-search-page .search-dock>.wrap,.hotel-search-page .results-hero>.wrap,.hotel-search-page .results-main>.wrap,.hotel-details-page .ag-details-search-form,.hotel-details-page .details-main>.wrap,.hotel-details-page #hotelApp>.wrap,.hotel-checkout-page .checkout-header-inner,.hotel-checkout-page .checkout-main,.hotel-checkout-page .checkout-contextbar{width:calc(100% - (var(--ag36-gutter-mobile) * 2))!important}
  .hotel-search-page .hotel-card{display:block!important;height:auto!important;min-height:0!important}.hotel-search-page .hotel-photo{height:220px!important;min-height:220px!important}.hotel-search-page .hotel-content{height:auto!important;min-height:190px!important}.hotel-search-page .hotel-price-panel{height:auto!important;min-height:150px!important;border-left:0!important;border-top:1px solid #e1e8ef!important}.hotel-search-page .price-block{text-align:left!important}.hotel-search-page .availability-button{width:100%!important}
  .hotel-details-page .ag58-room-head.ag62-room-head.ag63-room-overview{grid-template-columns:1fr!important;padding:13px!important}.hotel-details-page .ag62-room-media{width:100%!important;height:205px!important}.hotel-details-page .ag58-rate.ag62-rate-option{grid-template-columns:1fr!important}.hotel-details-page .ag58-rate-price.ag62-rate-price{padding:12px 0 0!important;border-left:0!important;border-top:1px solid #e8eef3!important}
  .hotel-checkout-page .form-card,.hotel-checkout-page .summary-card{padding:16px!important}.hotel-checkout-page .choice-grid,.hotel-checkout-page .method-row{grid-template-columns:1fr!important}.hotel-checkout-page .payment-choice,.hotel-checkout-page .method-row .payment-choice{min-height:72px!important}.hotel-checkout-page .phone-combo{grid-template-columns:116px minmax(0,1fr)!important}
}
