.booking-sheet { width: min(490px, calc(100% - 24px)); max-height: min(90dvh, 830px); padding: 26px; margin: auto; border: 1px solid #eadbd2; border-radius: 20px; background: #fffcf8; color: #352629; overflow: auto; overscroll-behavior: contain; }
.booking-sheet::backdrop { background: #291316ab; }
.booking-sheet-head,.booking-alternatives,.booking-quote { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.booking-sheet-head p { color: #8c1831; font-size: .8rem; font-weight: 700; }
.booking-close { border: 0; background: #f1e7df; border-radius: 50%; font: 26px/1 sans-serif; width: 44px; height: 44px; cursor: pointer; }
.booking-sheet h2 { font-size: clamp(25px, 4vw, 34px); line-height: 1.12; margin: 10px 0 24px; letter-spacing: -.04em; }
.booking-picks { display: flex; flex-wrap: wrap; gap: 10px; }
.booking-picks label { flex: 1 1 145px; min-width: 0; font-size: .875rem; font-weight: 700; }
.booking-picks select,.booking-sheet textarea { width: 100%; display: block; margin-top: 6px; padding: 11px; border: 1px solid #cdbdb5; border-radius: 8px; background: white; color: inherit; font: inherit; font-size: 16px; }
.booking-add { display: flex; align-items: center; gap: 9px; padding-block: 15px; font-size: .9rem; cursor: pointer; }
.booking-add input { width: 20px; height: 20px; flex-shrink: 0; accent-color: #ac1028; }
.booking-add strong { margin-left: auto; white-space: nowrap; }
.booking-quote { flex-wrap: wrap; border-top: 1px solid #e8dcd4; margin-top: 16px; padding-top: 15px; gap: 4px 14px; }
.booking-quote strong { font-size: 1.6rem; color: #8e1530; white-space: nowrap; }.booking-quote small { width: 100%; color: #675c58; }
.booking-note,.booking-sheet summary,#booking-status { font-size: .85rem; line-height: 1.55; margin: 11px 0; }.booking-sheet summary { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.booking-sheet textarea { font-size: .94rem; line-height: 1.55; resize: vertical; }.booking-sheet .button { width: 100%; padding: 15px; }
.booking-link,.booking-alternatives a { color: #921a31; font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; padding: 9px 0; }
.booking-alternatives { flex-wrap: wrap; margin-top: 5px; }.visit-context { background: #fbf2e8; border-left: 3px solid #a41731; padding: 12px 15px; margin: 0 0 20px; font-size: .9rem; line-height: 1.5; }
@media (max-width: 480px) { .booking-sheet { padding: 18px; }.booking-sheet h2 { margin-bottom: 16px; }.booking-picks label { flex-basis: 100%; } }

/* All home-program prices share the same earned discount. */
.reward-banner {display:flex;align-items:center;gap:16px;border:1px solid #dfbdb1;border-radius:15px;padding:19px 24px;background:#fff3e6;color:#8b1831;margin:0 0 26px;}
.reward-icon {font-size:34px;}
.reward-banner strong {display:block;font-size:19px;line-height:1.35;}
.reward-banner div>span {display:block;font-size:13px;color:#715551;margin-top:5px;}
.date-price del,.time-options b del {display:block;font-size:11px;font-weight:400;line-height:1.4;opacity:.72;text-decoration-thickness:1px;}
.date-price .discounted-price,.time-options b .discounted-price {display:block;}
.price-was {display:block;font-size:22px;line-height:1.2;color:#786c6f;margin:12px 0 0;}
#pass-status {font-weight:700;color:#a41b35;}
.express-amount del {display:block;font-size:21px;line-height:1.3;color:#756c70;}
.express-amount .discounted-price {font-size:inherit;line-height:inherit;}
.express-reward-note {font-size:13px!important;font-weight:700;color:#a41b35!important;}
.price-express-link del {opacity:.7;font-size:.85em;margin-right:6px;}
#faq-express-price del {margin-right:6px;color:#756c70;}
#booking-was {font-size:17px;color:#756c70;line-height:1.4;}
#booking-total {color:#b51129;}
@media(max-width:600px) {.reward-banner{padding:16px;gap:12px}.reward-banner strong{font-size:16px}.reward-banner div>span{font-size:12px}.price-was{font-size:19px}.date-options button{min-height:106px}}

.reward-banner{scroll-margin-top:130px}
.express-amount del,.price-was{letter-spacing:normal}
.date-options .date-price .discounted-price{font-size:clamp(13px,3.5vw,17px);letter-spacing:normal;margin:0}
@media(max-width:767px){.has-game-reward .price-selector{order:-1}.reward-banner{scroll-margin-top:90px}}
