/* Privacy and accessibility improvements, shared by all pages. */
[hidden]{display:none!important}
.legal-nav{display:flex;flex-wrap:wrap;gap:12px 22px;padding:24px 0;border-top:1px solid var(--line);margin-top:32px;font-size:14px;align-items:center}
.legal-nav a,.legal-document a,.privacy-dialog a,.booking-form .form-notice a,.consent-row a{text-decoration:underline;text-underline-offset:3px}
.legal-nav button,.media-settings{font:inherit;background:var(--surface);color:var(--paper);border:1px solid var(--muted);border-radius:10px;padding:10px 14px;min-height:44px}
.business-details{font-size:14px;color:var(--muted);line-height:1.7;font-style:normal}
.legal-document{max-width:920px;margin:auto;padding:145px var(--pad) 80px;overflow-wrap:anywhere}
.legal-document h1{font-size:clamp(32px,5vw,60px);line-height:1.12;letter-spacing:-.04em}
.legal-document h2{font-size:24px;line-height:1.3;margin-top:40px}
.legal-document p,.legal-document li{font-size:16px;line-height:1.8}
.legal-document li{margin:10px 0}.legal-document ul{padding-left:24px}
.legal-date{color:var(--muted);font-size:14px!important}
.privacy-dialog{max-width:600px;width:calc(100% - 32px);max-height:85svh;overflow:auto;padding:30px;border:1px solid var(--muted);border-radius:22px;background:var(--surface);color:var(--paper);box-shadow:0 24px 90px #0006}
.privacy-dialog::backdrop{background:#000a}.privacy-dialog h2{font-size:27px;line-height:1.2;margin:0 0 20px}.privacy-dialog p{font-size:16px;line-height:1.65}
.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 16px}
.privacy-actions button,.privacy-close{min-height:48px;padding:12px;border:1px solid var(--muted);border-radius:12px;background:var(--soft);color:var(--paper);font-size:15px;font-weight:600}
.privacy-close{width:100%}.media-settings{font-size:13px;margin-top:10px}
.booking-form fieldset{border:0;padding:0;margin:0;min-width:0}
.booking-form .consent-row{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;margin:20px 0;font-size:14px;line-height:1.65}
.booking-form .consent-row input{width:22px;height:22px;padding:0;margin:3px 0;accent-color:var(--brand-action)}
.booking-form .consent-row>span{font-size:14px;text-transform:none;letter-spacing:0;margin:0;color:var(--paper)}
.booking-form .form-notice,.booking-form>p{font-size:14px;text-align:left;line-height:1.65;color:var(--muted)}
.booking-form label>span{font-size:13px;text-transform:none;letter-spacing:0}
.booking-form input,.booking-form textarea,.booking-form select{font-size:16px;border:1px solid var(--muted);min-height:44px}
.booking-form ::placeholder{color:var(--muted);opacity:1}
.booking-form .form-feedback{font-size:15px;line-height:1.6;scroll-margin:110px}
:is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--accent);outline-offset:4px;scroll-margin-block:110px}
.day{min-height:36px}.calendar-status{font-size:14px!important}.calendar-head button{min-width:44px;min-height:44px}
.day.booked:disabled{color:#ffb4b4;background:#3b151c;text-decoration:line-through}.light .day.booked:disabled{color:#891526;background:#fbe5e9}
.calendar-legend span{font-size:12px}.calendar-legend{flex-wrap:wrap}
.transport,.addon-restrictions{font-size:14px!important;line-height:1.65}
.footer-bottom{font-size:12px;line-height:1.6;flex-wrap:wrap;gap:14px}
.evidence-note{font-size:14px;line-height:1.6;padding:12px 16px;border-left:3px solid var(--accent);color:var(--muted)}
body.light .design-grid article>span{color:#294b19;font-size:12px}
body.light .store-info small{color:#62626b!important}
body .bundle del,body .bundle>span{color:#b7b7be}
@media(max-width:600px){.privacy-actions{grid-template-columns:1fr}.privacy-dialog{padding:22px}.legal-document{padding-top:120px}.legal-nav{align-items:stretch;flex-direction:column}.legal-nav a{padding:8px 0;min-height:40px}}
@media(prefers-reduced-motion:reduce){.marquee[data-running="true"] .marquee-track{animation:none!important}html{scroll-behavior:auto}}
