/* Booking V2 — collapsible policy, mobile-first. No inline overrides. */
.bv5-policy-disclosure { margin: 14px 0 20px; border: 1px solid #e3d3d6; border-radius: 15px; background: #fcf8f6; }
.bv5-policy-toggle { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; background: #f7eeeb; color: #68223c; border-radius: 14px; cursor: pointer; font-weight: 700; list-style: none; }
.bv5-policy-toggle::-webkit-details-marker { display: none; }
.bv5-policy-toggle:focus-visible { outline: 3px solid #a65470; outline-offset: 2px; }
.bv5-policy-toggle-title { flex: 1; min-width: 0; }
.bv5-policy-toggle-action { flex-shrink: 0; padding: 8px 11px; border-radius: 9px; background: #68223c; color: #fff; font-size: .85rem; white-space: nowrap; }
.bv5-policy-close-label { display: none; }
.bv5-policy-disclosure[open] .bv5-policy-open-label { display: none; }
.bv5-policy-disclosure[open] .bv5-policy-close-label { display: inline; }
.bv5-policy-disclosure[open] .bv5-policy-toggle { border-radius: 14px 14px 0 0; box-shadow: 0 2px 8px #00000012; }
.bv5-policy-content { padding: 18px; overflow-wrap: anywhere; line-height: 1.75; }
.bv5-policy-content h3 { margin-top: 0; }
@media (max-width: 600px) { .bv5-policy-toggle { padding: 12px; font-size: .95rem; } .bv5-policy-toggle-action { font-size: .78rem; padding: 8px; } .bv5-policy-content { padding: 12px; } }
