.page-reservation .reservation-hero{background:linear-gradient(90deg,rgba(83,75,70,.82),rgba(83,75,70,.28)),url('../../assets/img/cocoon.webp') center/cover no-repeat;color:var(--uv-bg-primary)}
.page-reservation .reservation-hero h1,.page-reservation .reservation-hero p{color:var(--uv-bg-primary)}
.page-reservation .booking-slot-status{min-height:1.5em;color:var(--uv-text-primary)}
.page-reservation .booking-confirmation{padding:clamp(24px,5vw,48px);border:1px solid rgba(200,166,106,.45);background:var(--uv-bg-primary)}
.page-reservation .booking-confirmation h2{margin-top:8px}
.page-reservation select:disabled,.page-reservation button:disabled{cursor:not-allowed;opacity:.58}
.page-reservation .summary-card{position:sticky;top:130px;align-self:start}
@media(max-width:860px){.page-reservation .summary-card{position:static}}

.page-reservation .field-label{display:block;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--uv-text-primary);margin-bottom:6px}
.page-reservation .date-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.page-reservation .date-pill{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:8px 6px;border:1px solid var(--uv-bg-secondary);background:var(--uv-bg-primary);color:var(--uv-text-primary);border-radius:10px;cursor:pointer;font:inherit}
.page-reservation .date-pill-day{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75}
.page-reservation .date-pill-num{font-size:1.05rem;font-weight:700}
.page-reservation .date-pill:hover{border-color:var(--uv-gold)}
.page-reservation .date-pill.is-selected{background:var(--uv-signature);border-color:var(--uv-signature);color:var(--uv-text-primary)}
.page-reservation .date-picker-fallback{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.85rem;color:var(--uv-text-primary)}
.page-reservation .date-picker-fallback input{font:inherit}
.page-reservation .slot-list{display:flex;flex-wrap:wrap;gap:8px;min-height:2.4em}
.page-reservation .slot-chip{padding:9px 14px;border:1px solid var(--uv-bg-secondary);background:var(--uv-bg-primary);color:var(--uv-text-primary);border-radius:999px;cursor:pointer;font:inherit;font-size:.9rem}
.page-reservation .slot-chip:hover{border-color:var(--uv-gold)}
.page-reservation .slot-chip.is-selected{background:var(--uv-gold);border-color:var(--uv-gold);color:var(--uv-bg-primary)}
.page-reservation .slot-chip-flex{border-style:dashed}
.page-reservation .slot-chip-flex.is-selected{background:var(--uv-signature);border-color:var(--uv-signature);border-style:solid;color:var(--uv-text-primary)}
.page-reservation .slot-list-flex{margin-top:10px;padding-top:10px;border-top:1px dashed var(--uv-bg-secondary)}
.page-reservation .booking-flex-toggle{margin-top:10px}
.page-reservation .booking-slot-empty{margin:0;color:var(--uv-text-primary);opacity:.75;font-size:.9rem}
