/* MOV-1.5.33-020: scoped guest availability, 2/3 manual and 1/3 suggestions. */
.hotel-detail .availability-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start;margin-block:32px}
.availability-manual,.availability-suggestions{min-width:0}
.hotel-detail .availability-suggestions{position:sticky;top:24px;padding:20px;border:1px solid var(--guest-border,#decdb6);border-radius:26px;background:linear-gradient(140deg,rgba(255,250,241,.72),rgba(42,157,143,.10));backdrop-filter:blur(18px);box-shadow:0 12px 36px rgba(21,79,63,.07)}
.availability-suggestions .group-suggestions{margin:0}.availability-suggestions .group-suggestions>h3{margin-top:8px}.suggestion-card{padding:18px 0;border-top:1px solid var(--guest-border,#decdb6);overflow-wrap:anywhere}.suggestion-card h4{margin-block:8px}.suggestion-card ul{padding-left:18px}.suggestion-card li{margin-block:12px}.suggestion-card .price{font-size:1.35rem}.suggestion-card form{display:grid;gap:10px}.suggestion-badge{display:inline-block;margin:4px 4px 0 0;padding:5px 9px;border-radius:999px;background:rgba(42,157,143,.12);font-size:.78rem}.availability-suggestions .proposal-grid{grid-template-columns:minmax(0,1fr)}.availability-suggestions .other-proposals{margin-block:20px}.availability-suggestions .guest-button{white-space:normal;text-align:center}
.hotel-detail .availability-manual .rate-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding-block:22px}.availability-manual .rate-option>.rate-choice{grid-column:1/-1}.rate-choice>label{display:flex;align-items:center;justify-content:space-between;gap:12px}.rate-choice>label>input{width:90px;min-height:44px;border:1px solid var(--guest-border,#decdb6);border-radius:14px;background:transparent;color:inherit;padding:10px}.availability-review{border-top:1px solid var(--guest-border,#decdb6)}.availability-review [data-choice-summary] p{font-size:.9rem}.availability-room-choice{background:rgba(42,157,143,.04)}
@media(max-width:900px){.hotel-detail .availability-layout{grid-template-columns:minmax(0,1fr)}.hotel-detail .availability-suggestions{position:static}.availability-suggestions .group-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.group-suggestions>h3,.group-suggestions>.eyebrow,.group-suggestions>p{grid-column:1/-1}}
@media(max-width:600px){.availability-suggestions .group-suggestions{grid-template-columns:minmax(0,1fr)}.hotel-detail .availability-manual .rate-option{grid-template-columns:minmax(0,1fr)}.hotel-detail .availability-suggestions{padding:16px}.hotel-detail .availability-manual .room-availability{padding:14px}.availability-review .guest-button{width:100%}}
html[data-theme=dark] .hotel-detail .availability-suggestions{background:linear-gradient(140deg,rgba(16,43,39,.9),rgba(42,157,143,.12))}

/* MOV-1.5.36-020: persistent explanations do not move or hide the room controls. */
.availability-review [role=alert],.availability-room-choice p{overflow-wrap:anywhere}.availability-review [role=alert]{color:var(--ch-text,#124f42);border-left:3px solid #d46a52;padding-left:12px}.availability-search-errors{padding:16px;border:1px solid #d3bca0;border-radius:20px}.availability-search-errors li{margin:8px 0;overflow-wrap:anywhere}
