.upsell-intro{font-size:.8rem;color:#685b65;line-height:1.5;margin:0 0 .8rem}.upsell-grid{display:grid;gap:.55rem}.upsell-card{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem;border:1px solid #e6dce2;border-radius:12px;cursor:pointer;background:#fff;transition:background .15s,border-color .15s}.upsell-card.selected{border-color:#e83e6c;background:#fff3f7}.upsell-input{width:18px;height:18px;margin:.15rem 0 0;accent-color:#e83e6c;flex-shrink:0}.upsell-copy{display:flex;flex-direction:column;gap:.3rem;min-width:0}.upsell-name{font-size:.85rem;font-weight:700;color:#24111d}.upsell-description{font-size:.75rem;line-height:1.45;color:#675963;white-space:pre-line}.upsell-price{font-size:.8rem;font-weight:700;color:#bb2853}.upsell-status{font-size:.8rem;color:#685b65}.upsell-retry{border:1px solid #c72f59;border-radius:8px;padding:.5rem .8rem;color:#a1224a;background:#fff;cursor:pointer}.booking-review{box-sizing:border-box;width:min(480px,calc(100% - 2rem));max-height:85vh;overflow:auto;border:0;border-radius:20px;padding:1.6rem;background:#fff;color:#25131f;box-shadow:0 24px 80px #0006;font:inherit}.booking-review::backdrop{background:#10040ccc;backdrop-filter:blur(4px)}.booking-review h2{font-size:1.3rem;margin:0 0 .6rem}.booking-review-suite{font-weight:700}.booking-review-row{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid #e9e0e6;font-size:.9rem}.booking-review-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.booking-review-actions button{flex:1;min-width:150px;border-radius:10px;padding:.85rem;font:inherit;font-size:.85rem;cursor:pointer}.review-back{background:#fff;border:1px solid #dccbd6;color:#442639}.review-next{background:#d32e60;border:1px solid #d32e60;color:#fff;font-weight:700}.upsell-card:focus-within,.booking-review button:focus-visible{outline:3px solid #e83e6c;outline-offset:3px}
.booking-extras{width:min(760px,calc(100% - 2rem));padding:2rem;position:fixed}.booking-step{color:#a22c50;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 2rem 1rem 0}.booking-extras h2{font-size:clamp(1.4rem,4vw,1.9rem);max-width:580px;line-height:1.2}.extras-close{position:absolute;right:1rem;top:.7rem;width:36px;height:36px;border:0;border-radius:50%;background:#f8eff3;color:#492736;font-size:1.7rem;cursor:pointer}.extras-dates{font-size:.85rem;color:#685b65;margin:.3rem 0 1rem}.booking-extras .booking-review-suite{margin:.8rem 0 .2rem}.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.3rem 0}.extras-card{display:flex;flex-direction:column;border:1px solid #e6dce2;border-radius:16px;padding:1.15rem;background:#fff;transition:background .15s,border-color .15s}.extras-card.selected{border-color:#d32e60;background:#fff3f7;box-shadow:inset 0 0 0 1px #d32e60}.extras-number{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:12px;background:#faedf2;color:#aa2850;font-size:.85rem;font-weight:700}.extras-card h3{font-size:1.05rem;line-height:1.35;margin:.9rem 0 .4rem;color:#25131f}.extras-card .upsell-description{font-size:.85rem;margin:0 0 1.2rem}.extras-card-bottom{display:flex;justify-content:space-between;gap:.6rem;align-items:center;margin-top:auto}.extras-card .upsell-price{font-size:1rem}.extras-add{border:1px solid #d32e60;border-radius:9px;color:#b22550;background:#fff;padding:.65rem .9rem;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;min-height:44px}.selected .extras-add{background:#d32e60;color:white}.extras-footer{position:sticky;bottom:-2rem;background:white;padding:1rem 0 .2rem;border-top:1px solid #eadde3;margin-top:1rem;box-shadow:0 -12px 20px #ffffffed}.extras-total{display:block;font-size:1rem}.extras-footer .booking-review-actions{margin:.8rem 0}.booking-review button:disabled{opacity:.55;cursor:wait}@media(max-width:540px){.booking-extras{padding:1.25rem;max-height:90dvh}.extras-grid{grid-template-columns:1fr;gap:.75rem}.extras-footer{bottom:-1.25rem}.booking-review-actions{flex-direction:column}.booking-review-actions .review-next{order:-1}.extras-card{padding:1rem}}
