/* 019Q — Hospitality reservation responsive hierarchy polish. STAGING only. */
@media (max-width:760px){
  /* Reservation owns its own in-flow toolbar; remove the floating global close collision. */
  body.rewards-page .reward-detail-body.hospitality-reservation-active ~ .reward-detail-close,
  body.rewards-page .reward-detail-sheet:has(.reward-detail-body.hospitality-reservation-active) > .reward-detail-close{display:none!important}
  body.rewards-page .hospitality-reservation-step{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;padding:24px 18px 120px!important}
  body.rewards-page .hospitality-reservation-toolbar{position:sticky!important;top:0!important;z-index:25!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:-24px -18px 18px!important;padding:16px 18px 12px!important;border-bottom:1px solid rgba(223,232,227,.82)!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(12px)!important}
  body.rewards-page .hospitality-reservation-toolbar .hospitality-back{margin:0!important;min-width:0!important;color:#236847!important;font-size:12px!important;line-height:1.2!important}
  body.rewards-page .hospitality-reservation-close{display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid #e1e9e5!important;border-radius:50%!important;background:#fff!important;color:#10283f!important;font-size:27px!important;line-height:1!important;box-shadow:0 5px 14px rgba(15,43,34,.08)!important}

  body.rewards-page .hospitality-reservation-head{max-width:520px!important;margin:0!important}
  body.rewards-page .hospitality-reservation-head h2{font-size:31px!important;line-height:1.02!important}
  body.rewards-page .hospitality-reservation-head p{max-width:500px!important;font-size:14px!important;line-height:1.52!important}
  body.rewards-page .hospitality-selected-path{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px 12px!important;margin:20px 0 0!important;padding:15px 16px!important}
  body.rewards-page .hospitality-selected-path span,
  body.rewards-page .hospitality-selected-path strong{grid-column:1!important}
  body.rewards-page .hospitality-selected-path button{position:static!important;grid-column:2!important;grid-row:1 / span 2!important;align-self:center!important;transform:none!important;padding:7px 0 7px 10px!important}

  /* Strong section hierarchy; no floating/overlapping form controls. */
  body.rewards-page .hospitality-reservation-step .detail-section{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:26px 0 0!important;padding:24px 0 0!important;border-top:1px solid #e4ebe7!important;overflow:visible!important}
  body.rewards-page .hospitality-reservation-step .availability-heading{display:block!important;margin:0 0 18px!important}
  body.rewards-page .hospitality-reservation-step .availability-heading h3{margin:4px 0 0!important;font-size:24px!important;line-height:1.08!important}

  /* Native iOS date inputs need full rows; forcing two columns caused clipping. */
  body.rewards-page .hospitality-reservation-step .universal-field-grid{box-sizing:border-box!important;width:100%!important;max-width:100%!important;gap:16px 12px!important;margin-top:0!important}
  body.rewards-page .hospitality-date-grid{grid-template-columns:minmax(0,1fr)!important}
  body.rewards-page .hospitality-guest-section .universal-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  body.rewards-page .hospitality-guest-section label.universal-field.wide{grid-column:1 / -1!important}
  body.rewards-page .hospitality-reservation-step label.universal-field{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;overflow:visible!important}
  body.rewards-page .hospitality-reservation-step label.universal-field>span{min-width:0!important;font-size:13px!important}
  body.rewards-page .hospitality-reservation-step label.universal-field input,
  body.rewards-page .hospitality-reservation-step label.universal-field select,
  body.rewards-page .hospitality-reservation-step label.universal-field textarea{display:block!important;box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important}
  body.rewards-page .hospitality-reservation-step label.universal-field input[type="date"]{min-height:56px!important;height:56px!important;padding:0 14px!important;font-size:16px!important}
  body.rewards-page .hospitality-date-note{margin:12px 0 0!important;padding:10px 12px!important;border-radius:12px!important;background:#f6faf8!important;color:#60766c!important;font-size:11px!important;line-height:1.45!important}
  body.rewards-page .hospitality-reservation-step .universal-notes{grid-column:1 / -1!important;width:100%!important;margin-top:0!important}
  body.rewards-page .hospitality-reservation-step .universal-notes textarea{min-height:104px!important}
  body.rewards-page .hospitality-confirmation{margin-top:28px!important;padding:20px 0 0!important}
  body.rewards-page .hospitality-confirmation .universal-terms{align-items:flex-start!important;gap:12px!important;padding:16px!important;border:1px solid #e1e9e5!important;border-radius:16px!important;background:#fbfdfc!important;font-size:13px!important;line-height:1.45!important}
  body.rewards-page .hospitality-confirmation .universal-terms input{flex:0 0 24px!important;width:24px!important;height:24px!important;margin:1px 0 0!important}

  /* Do not float an empty total over the form. It becomes sticky only after valid dates exist. */
  body.rewards-page .hospitality-submit-bar{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:auto!important;margin:30px -18px -120px!important;padding:18px 18px calc(18px + env(safe-area-inset-bottom))!important;border-top:1px solid #dfe7e3!important;background:#fff!important;box-shadow:none!important}
  body.rewards-page .hospitality-reservation-step.stay-dates-ready .hospitality-submit-bar{position:sticky!important;bottom:0!important;z-index:20!important;background:rgba(255,255,255,.985)!important;box-shadow:0 -10px 26px rgba(17,48,38,.09)!important;backdrop-filter:blur(14px)!important}
  body.rewards-page .hospitality-submit-bar>div{display:grid!important;gap:3px!important}
  body.rewards-page .hospitality-submit-bar>div>span{font-size:9px!important;letter-spacing:.14em!important}
  body.rewards-page .hospitality-submit-bar strong{font-size:20px!important;line-height:1.1!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  body.rewards-page .hospitality-submit-bar small{font-size:11px!important;line-height:1.35!important}
  body.rewards-page .hospitality-submit-bar button{width:100%!important;min-width:0!important;min-height:52px!important;margin:0!important;font-size:15px!important;border-radius:15px!important}
  body.rewards-page .hospitality-reservation-step [data-universal-status]{margin:18px 0 0!important;padding-bottom:10px!important}
}

@media (max-width:390px){
  body.rewards-page .hospitality-guest-section .universal-field-grid{grid-template-columns:minmax(0,1fr)!important}
  body.rewards-page .hospitality-guest-section label.universal-field.wide{grid-column:auto!important}
}
