.reservation-notice { display: flex; align-items: center; gap: 15px; padding: 20px 23px; border: 1px solid #e6cada; border-radius: 16px; background: linear-gradient(105deg, #fff6f9, #f9e8ef); color: #6b3f52; text-align: right; margin-bottom: 22px; }
.reservation-notice__icon { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; color: #a65274; background: #fff9fc; font-size: 1.6rem; }
.reservation-notice strong { display: block; color: #8d3e61; font-size: 1.15rem; font-weight: 800; line-height: 1.8; }
.reservation-notice p { color: #876575; font-size: .8rem; line-height: 1.9; margin: 4px 0 0; white-space: normal; }
.reservation-home-banner { margin-top: 26px; }
.reservation-home-banner .reservation-notice { justify-content: center; padding-block: 22px; border-radius: 18px; margin-bottom: 0; }
.reservation-home-banner .reservation-notice strong { font-size: 1.35rem; }
.reservation-hero-promise { display: inline-flex; align-items: center; gap: 8px; color: #8b3e5e; background: #fff2f8; border: 1px solid #dfb6c9; padding: 7px 14px; font-size: .94rem; font-weight: 800; border-radius: 9px; margin-bottom: 15px; }
.reservation-card-note { margin: 18px 0; }
.reservation-card-note .reservation-notice { padding: 15px; border-radius: 12px; margin: 0; }
.reservation-card-note strong { font-size: .92rem; }
.reservation-card-note p { font-size: .72rem; }
.reservation-card-note .reservation-notice__icon { display: none; }
.reservation-order-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-block: 12px 22px; color: #806573; font-size: .78rem; }
.reservation-order-flow > span { padding: 7px 13px; background: #f9eff4; border-radius: 8px; }
.reservation-order-flow > i { color: #c597ac; }
.reservation-booking-heading { padding-top: 24px; margin-top: 25px; border-top: 1px solid #eadce2; }
.reservation-booking-heading h2 { font-size: 1.1rem; font-weight: 600; line-height: 1.8; margin-bottom: 8px; }
.reservation-booking-policy { padding: 16px; background: #faf1f5; border: 1px solid #eedde5; border-radius: 12px; color: #896573; font-size: .8rem; line-height: 1.95; }
.reservation-booking-policy strong { display: block; color: #9c4b6f; font-weight: 700; margin-bottom: 4px; }
.explore-wizard .reservation-notice { margin-bottom: 24px; }
.explore-wizard .reservation-notice strong { font-size: 1rem; }
.explore-wizard .reservation-notice p { font-size: .75rem; }
.reservation-order-state { color: #8c4564; font-size: .86rem; line-height: 1.9; background: #fbf1f5; border-radius: 10px; padding: 13px 16px; margin-bottom: 20px; }
@media (max-width: 767px) { .reservation-notice { align-items: flex-start; gap: 11px; padding: 17px 15px; border-radius: 13px; } .reservation-notice__icon { width: 38px; height: 38px; font-size: 1.3rem; border-radius: 11px; } .reservation-notice strong { font-size: .98rem; } .reservation-notice p { font-size: .72rem; } .reservation-home-banner { margin-top: 18px; } .reservation-home-banner .reservation-notice { padding-block: 18px; } .reservation-home-banner .reservation-notice strong { font-size: 1.03rem; } .reservation-hero-promise { font-size: .78rem; padding: 6px 10px; } .reservation-booking-heading { margin-top: 20px; padding-top: 20px; } .reservation-order-flow { gap: 7px; font-size: .69rem; } .reservation-order-flow > span { padding: 6px 9px; } }
