.booking-premium:empty { display: none; }
.booking-premium { grid-column: 1 / -1; margin-block: 1.25rem; padding: 1.25rem; border: 1px solid #bfd9d2; border-radius: 1rem; background: #f3faf7; color: #17372f; }
.booking-premium h3, .booking-premium h4 { margin: 0 0 .7rem; }
.booking-premium p { margin: .6rem 0; line-height: 1.5; }
.premium-options, .premium-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.premium-option, .premium-consent { display: flex; align-items: flex-start; gap: .6rem; padding: .8rem; border-radius: .6rem; background: #fff; cursor: pointer; }
.premium-option input, .premium-consent input { width: 1.1rem; height: 1.1rem; margin: .2rem 0 0; flex: 0 0 auto; accent-color: #166c64; }
.premium-button { border: 1px solid #166c64; border-radius: .6rem; padding: .7rem 1rem; background: #166c64; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.premium-button:disabled { opacity: .55; cursor: not-allowed; }
.premium-button:focus-visible, .premium-option:focus-within { outline: 3px solid #b27915; outline-offset: 3px; }
.premium-note { font-size: .9rem; color: #48645e; }
.premium-quote { margin-top: 1rem; padding: 1rem; border: 2px solid #b57915; border-radius: .7rem; background: #fff9e9; }
.premium-disclosure { margin-top: 1rem; padding: 1rem; border: 2px solid #166c64; border-radius: .7rem; background: #fff; }
.premium-total { font-weight: 700; }
.premium-message { color: #9b302b; }
.premium-consent { margin-bottom: .9rem; }
@media (max-width: 600px) { .premium-options, .premium-actions { flex-direction: column; } .premium-button { width: 100%; } }
