/* AirlyGo V11.4.0D4.1.6.4 — authoritative whole-unit price, tax states, verified benefits, guest reviews. */
.hotel-search-page .ag4163-review-link{color:inherit!important;text-decoration:none!important}
.hotel-search-page .ag4163-review-link:hover .review-copy strong,.hotel-search-page .ag4163-review-link:focus-visible .review-copy strong{text-decoration:underline!important}
.hotel-search-page .ag4163-review-link:focus-visible{outline:2px solid #ff8a00!important;outline-offset:3px!important;border-radius:10px!important}
.hotel-search-page .ag4163-benefits{display:grid!important;gap:4px!important;margin-top:auto!important;padding-top:8px!important;align-content:end!important;min-height:54px!important;overflow:visible!important}
.hotel-search-page .ag4163-benefit{display:flex!important;align-items:flex-start!important;gap:7px!important;color:#087a3b!important;font-size:11.5px!important;line-height:1.25!important}
.hotel-search-page .ag4163-benefit>span{font-size:15px!important;line-height:1!important;font-weight:800!important;margin-top:0!important}
.hotel-search-page .ag4163-benefit strong{font-weight:750!important}
.hotel-search-page .ag4163-price-block{display:flex!important;flex-direction:column!important;align-items:flex-end!important;text-align:right!important;gap:2px!important}
.hotel-search-page .ag4163-price-block .price-nightly-secondary{order:1!important;margin:0!important;font-size:13px!important;color:#20364f!important}
.hotel-search-page .ag4163-price-block .price-total-primary{order:2!important;margin:0!important;font-size:23px!important;line-height:1.12!important}
.hotel-search-page .ag4163-tax-note{order:3!important;margin-top:2px!important;font-size:11.5px!important;line-height:1.35!important;color:#31465d!important;font-weight:500!important;max-width:190px!important}
.hotel-search-page .ag4163-tax-note.is-extra{color:#8a4b00!important}
.hotel-search-page .ag4163-scarcity{order:4!important;margin-top:4px!important;font-size:11.5px!important;line-height:1.35!important;color:#c1121f!important;font-weight:650!important}
.hotel-search-page .offer-badges:empty{display:none!important}

/* D4163 adds verified policy rows and price disclosures. Preserve equal desktop
   geometry without inheriting D35's 278px clipping ceiling. */
@media(min-width:901px){
  .hotel-search-page .hotel-card{grid-template-rows:318px!important;height:318px!important;min-height:318px!important}
  .hotel-search-page .hotel-photo{height:318px!important;min-height:318px!important}
  .hotel-search-page .hotel-content,.hotel-search-page .hotel-price-panel{height:318px!important;min-height:0!important}
}
@media(max-width:900px){
  .hotel-search-page .hotel-card{height:auto!important;min-height:0!important;grid-template-rows:auto auto!important;overflow:visible!important}
  .hotel-search-page .hotel-content,.hotel-search-page .hotel-price-panel{height:auto!important;min-height:0!important;overflow:visible!important}
  .hotel-search-page .hotel-photo{height:auto!important;min-height:258px!important;align-self:stretch!important}
}
@media(max-width:680px){
  .hotel-search-page .hotel-photo{height:218px!important;min-height:218px!important}
}
@media(max-width:360px){
  .hotel-search-page .hotel-photo{height:190px!important;min-height:190px!important}
}

.hotel-details-page .ag4163-policy-grid .ag62-policy-line.positive .ag62-policy-icon{color:#087a3b!important;background:#effaf4!important;border-color:#c9ead9!important}
.hotel-details-page .ag4163-rate-price .ag62-night-price{order:1!important;margin:0 0 2px!important;font-size:13px!important;color:#20364f!important}
.hotel-details-page .ag4163-rate-price .ag62-total-price{order:2!important;margin:0!important}
.hotel-details-page .ag4163-rate-price .ag4163-tax-note{order:3!important;margin-top:3px!important;font-size:12px!important;line-height:1.35!important;color:#31465d!important;font-weight:500!important;max-width:250px!important}
.hotel-details-page .ag4163-rate-price .ag4163-tax-note.is-extra{color:#8a4b00!important}
.hotel-details-page .ag4163-rate-price .ag62-scarcity-note{order:4!important;color:#c1121f!important;font-weight:650!important}
.hotel-details-page .ag4163-rate-price .ag62-select{order:5!important}
.hotel-details-page .ag4163-rate-price .ag58-price-note{order:6!important}
.hotel-details-page .ag4163-reviews{scroll-margin-top:154px!important}
.hotel-details-page .ag4163-review-head{display:flex!important;justify-content:space-between!important;gap:18px!important;align-items:flex-end!important;margin-bottom:14px!important}
.hotel-details-page .ag4163-review-head h2{margin:0!important}
.hotel-details-page .ag4163-review-head>span{font-size:11.5px!important;color:#66788a!important;text-align:right!important}
.hotel-details-page .ag4163-review-status{margin:14px 0 0!important;font-size:12px!important;color:#627489!important}
.hotel-details-page .ag4163-review-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important}
.hotel-details-page .ag4163-review-card{border:1px solid #e0e7ee!important;border-radius:13px!important;background:#fff!important;padding:14px!important;min-width:0!important}
.hotel-details-page .ag4163-review-card-head{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:flex-start!important;margin-bottom:10px!important}
.hotel-details-page .ag4163-review-card-head>div{display:flex!important;flex-direction:column!important;min-width:0!important}
.hotel-details-page .ag4163-review-card-head strong{font-size:13.5px!important;color:#0b1f3a!important}
.hotel-details-page .ag4163-review-card-head span{font-size:11px!important;color:#718096!important;margin-top:2px!important}
.hotel-details-page .ag4163-review-score{display:grid!important;place-items:center!important;min-width:38px!important;height:38px!important;border-radius:9px 9px 9px 2px!important;background:#0b3f91!important;color:#fff!important;font-size:13px!important}
.hotel-details-page .ag4163-review-title{display:block!important;font-size:13px!important;color:#132f4c!important;margin-bottom:7px!important}
.hotel-details-page .ag4163-review-card p{margin:7px 0 0!important;font-size:12.5px!important;line-height:1.5!important;color:#354b62!important}
.hotel-details-page .ag4163-review-card p b{display:block!important;font-size:11px!important;color:#087a3b!important;margin-bottom:2px!important}
.hotel-details-page .ag4163-review-card p+ p b{color:#7d5360!important}
.hotel-details-page .ag4163-review-more{margin-top:14px!important}
@media(max-width:900px){
  .hotel-search-page .ag4163-benefits{margin-top:8px!important;padding-top:0!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  .hotel-search-page .ag4163-price-block{align-items:flex-start!important;text-align:left!important}
  .hotel-search-page .ag4163-tax-note{max-width:none!important}
  .hotel-details-page .ag4163-review-list{grid-template-columns:1fr!important}
  .hotel-details-page .ag4163-review-head{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}
  .hotel-details-page .ag4163-review-head>span{text-align:left!important}
}
.hotel-details-page .ag4163-score-link{color:inherit!important;text-decoration:none!important}
.hotel-details-page .ag4163-score-link:hover .ag58-score-copy strong,.hotel-details-page .ag4163-score-link:focus-visible .ag58-score-copy strong{text-decoration:underline!important}
.hotel-details-page .ag4163-score-link:focus-visible{outline:2px solid #ff8a00!important;outline-offset:3px!important;border-radius:10px!important}

/* D4163 R2 breakpoint hardening.
   901–980px remains a desktop search breakpoint, but the Details rate facts
   need a single readable policy column at this intermediate width. */
@media(min-width:901px) and (max-width:980px){
  .hotel-details-page .ag4163-policy-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .hotel-details-page .ag4163-policy-grid .ag62-policy-line{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
  }
}

/* At the 320–360px edge the older public-foundation shell still carries a
   desktop-derived 28px padding. Normalize only the Results content shell to
   the established 12px mobile gutter and keep every card track shrinkable. */
@media(max-width:360px){
  html body.hotel-search-page .results-main > .wrap{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }
  html body.hotel-search-page .results-layout,
  html body.hotel-search-page .results-list,
  html body.hotel-search-page .hotel-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  html body.hotel-search-page .hotel-content,
  html body.hotel-search-page .hotel-price-panel,
  html body.hotel-search-page .ag4163-review-link,
  html body.hotel-search-page .ag4163-price-block{
    max-width:100%!important;
    min-width:0!important;
  }
}
/* D4163 R3 intermediate-width rate containment.
   At 901–980px the legacy rate grid can squeeze the policy track to 0px while
   preserving the fixed price column. Stack the rate decision row at this
   breakpoint so supplier-confirmed facts remain visible and price context stays
   directly below them. 900px and <= mobile rules remain unchanged; >=981px
   keeps the desktop two-column rate layout. */
@media(min-width:901px) and (max-width:980px){
  .hotel-details-page .ag58-rate.ag62-rate-option{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  .hotel-details-page .ag58-rate.ag62-rate-option .ag62-rate-main{
    width:100%!important;
    min-width:0!important;
  }
  .hotel-details-page .ag4163-rate-price{
    width:100%!important;
    max-width:none!important;
    align-items:flex-start!important;
    text-align:left!important;
    border-left:0!important;
    border-top:1px solid #e8eef3!important;
    padding:14px 0 0!important;
  }
}

/* D4164 authoritative customer-price typography.
   The monetary amount remains the visual anchor; `total` is only a secondary
   semantic label and is shown only when supplier tax/fee data confirms that
   the displayed amount is an all-in total. */
.ag4164-price-total{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:6px!important;
  min-width:0!important;
}
.ag4164-price-value{min-width:0!important}
.ag4164-total-label{
  font-size:12px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#43566d!important;
  white-space:nowrap!important;
}
.hotel-search-page .ag4164-price-total{justify-content:flex-end!important;width:100%!important}
.hotel-details-page .ag4163-rate-price .ag4164-price-total{justify-content:flex-end!important}
.hotel-details-page .ag58-stay-price .ag4164-price-total,
.hotel-details-page #ag58SelectedPrice.ag4164-price-total{justify-content:flex-start!important}
@media(max-width:900px){
  .hotel-search-page .ag4164-price-total,
  .hotel-details-page .ag4163-rate-price .ag4164-price-total{justify-content:flex-start!important}
}

/* D4165 exact stay-allocation + OTA trust UX. */
.hotel-search-page .ag4165-nightly-range,
.hotel-details-page .ag4165-nightly-range{font-variant-numeric:tabular-nums!important}

/* Saved hotel control: local browser wishlist foundation. */
.ag4165-save-hotel{
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  display:grid!important;place-items:center!important;border:1px solid #dbe4ed!important;border-radius:999px!important;
  background:#fff!important;color:#0b2a4a!important;font:700 27px/1 Arial,sans-serif!important;cursor:pointer!important;
  box-shadow:0 2px 8px rgba(15,42,70,.12)!important;z-index:8!important;padding:0!important;
}
.hotel-search-page .hotel-photo .ag4165-save-hotel{position:absolute!important;top:14px!important;right:14px!important}
.ag4165-save-hotel.is-saved{color:#c1121f!important}
.ag4165-save-hotel:focus-visible,.ag4165-star-button:focus-visible,.ag4165-star-close:focus-visible{outline:3px solid #ff8a00!important;outline-offset:2px!important}
.ag4165-name-row{display:flex!important;align-items:flex-start!important;gap:12px!important;min-width:0!important}
.ag4165-name-row h1{min-width:0!important;flex:1 1 auto!important}
.ag4165-save-hotel--details{flex:0 0 44px!important;margin-top:1px!important}

/* Star classification is an explicit interactive explanation, never the guest score. */
.ag4165-star-button{appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;padding:2px 0!important;margin:0!important;cursor:pointer!important;font:inherit!important;color:inherit!important;text-align:left!important}
@media(hover:hover) and (pointer:fine){.ag4165-star-button:hover{text-decoration:underline!important;text-underline-offset:3px!important}}
.ag4165-star-info{
  position:fixed!important;width:min(280px,calc(100vw - 24px))!important;z-index:9999!important;
  background:#fff!important;color:#0b1f3a!important;border:1px solid #dbe4ed!important;border-radius:12px!important;
  box-shadow:0 14px 34px rgba(15,42,70,.2)!important;padding:14px 38px 14px 14px!important;text-align:left!important;
}
.ag4165-star-info strong{display:block!important;font-size:14px!important;margin-bottom:5px!important}
.ag4165-star-info p{margin:0!important;font-size:12px!important;line-height:1.45!important;color:#526579!important}
.ag4165-star-close{position:absolute!important;top:6px!important;right:6px!important;width:32px!important;height:32px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#30455d!important;font-size:22px!important;cursor:pointer!important}

/* Exact whole-unit nightly allocation. The range is real, and the details rows
   must sum exactly to the authoritative stay total. */
.hotel-details-page .ag4165-night-breakdown{order:4!important;width:100%!important;margin:5px 0 1px!important;text-align:left!important}
.hotel-details-page .ag4165-night-breakdown summary{cursor:pointer!important;color:#174f82!important;font-size:11.5px!important;font-weight:700!important;list-style-position:inside!important}
.hotel-details-page .ag4165-night-list{margin-top:7px!important;border:1px solid #dde7ef!important;border-radius:10px!important;background:#f8fbfd!important;padding:7px 9px!important;min-width:190px!important}
.hotel-details-page .ag4165-night-row,.hotel-details-page .ag4165-night-total{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:4px 0!important;font-size:11.5px!important;color:#40566d!important}
.hotel-details-page .ag4165-night-row strong,.hotel-details-page .ag4165-night-total strong{color:#0b1f3a!important;white-space:nowrap!important}
.hotel-details-page .ag4165-night-total{border-top:1px solid #dde7ef!important;margin-top:3px!important;padding-top:7px!important;font-weight:700!important}
.hotel-details-page .ag4165-night-note{display:block!important;margin-top:5px!important;color:#697b8e!important;font-size:10.5px!important;line-height:1.35!important}
.hotel-details-page .ag4163-rate-price .ag62-scarcity-note{order:5!important}
.hotel-details-page .ag4163-rate-price .ag62-select{order:6!important}
.hotel-details-page .ag4163-rate-price .ag58-price-note{order:7!important}
.hotel-details-page .ag58-stay-price .ag4165-night-breakdown{margin-top:8px!important}
.hotel-details-page .ag58-stay-price .ag4165-night-list{min-width:0!important;width:100%!important;box-sizing:border-box!important}

@media(max-width:680px){
  .hotel-search-page .hotel-photo .ag4165-save-hotel{top:12px!important;right:12px!important}
  .ag4165-star-info{left:12px!important;right:12px!important;width:auto!important}
  .ag4165-name-row{gap:8px!important}
}

/* D4165 R6: tablet trust-control reachability.
   At 681-900px the legacy Results toolbar was sticky and could permanently
   cover the first card's star-classification control. Keep the toolbar in
   normal flow in this tablet band; <=680px was already non-sticky. */
@media(min-width:681px) and (max-width:900px){
  .hotel-search-page .results-toolbar{position:relative!important;top:auto!important}
}
