.legal-page{max-width:76ch;margin:0 auto;padding:clamp(2rem,5vw,4rem) 1.25rem;overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;margin:0 0 1rem}
.legal-page h2{font-size:1.3rem;line-height:1.4;margin:2rem 0 .65rem}
.legal-page p,.legal-page li{line-height:1.75;color:var(--text-secondary,#555)}
.legal-page ul{padding-left:1.25rem}.legal-page li+li{margin-top:.35rem}
.legal-page a,.legal-links a{text-decoration:underline;text-underline-offset:.2em}
.legal-links{display:flex;gap:.75rem 1rem;flex-wrap:wrap;align-items:center}
.privacy-dialog{width:min(36rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1.5rem;border:1px solid var(--border,#767676);border-radius:.5rem;background:var(--surface-raised,var(--page,#fff));color:var(--text,#202123)}
.privacy-dialog:not([open]){display:none}.privacy-dialog::backdrop{background:rgb(0 0 0 / .55)}
.privacy-dialog h2{margin:0 0 .75rem;font-size:1.4rem;line-height:1.3}
.privacy-dialog p{line-height:1.6}.privacy-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.privacy-actions button,.privacy-dialog button,.privacy-map button,.legal-links button,.legal-page button{font:inherit;min-height:44px;padding:.6rem .9rem;background:var(--page,#fff);color:var(--text,#202123);border:1px solid var(--control-border,var(--border,#767676));border-radius:.3rem;cursor:pointer}
.privacy-actions button[aria-pressed=true]{background:#FCCE0E;color:#202123;border-color:#202123}
.legal-links button{font-size:.875rem}.legal-context{font-size:.875rem;line-height:1.6;margin:.7rem 0}
.privacy-map{min-height:16rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.75rem;color:var(--text,#202123);background:var(--surface,#f4f4f6)}
.privacy-map p{margin:0;line-height:1.6}.privacy-map a{font-size:.85rem;text-decoration:underline}
.footer-location__map iframe[hidden]{display:none!important}
@media(max-width:390px){.privacy-actions{flex-direction:column}.privacy-actions button{width:100%}.privacy-dialog{padding:1rem}.legal-links{gap:.65rem}}
@media print{.site-header,.site-drawer,.site-footer,.privacy-dialog,.legal-page button,[data-legal-print]{display:none!important}.legal-page{max-width:none;padding:0;color:#000}.legal-page p,.legal-page li{color:#000}.legal-page h2{break-after:avoid}.legal-page a{color:#000}.legal-page{font-size:11pt}}

html[data-theme="dark"] .privacy-dialog{background:#202123;color:#f5f5f5}
html[data-theme="dark"] .privacy-dialog button{background:#303133;color:#f5f5f5;border-color:#999}
html[data-theme="dark"] .privacy-dialog [aria-pressed="true"]{background:#FCCE0E;color:#202123;border-color:#FCCE0E}
.site-footer .privacy-map,.site-footer .privacy-map p,.site-footer .privacy-map a{color:#202123;background:#f4f4f6}
.site-footer .privacy-map button{background:#fff;color:#202123;border-color:#767676}
.site-footer .legal-links button{background:transparent;color:inherit;border-color:currentColor}

/* Legal navigation has its own contrast; inherited page-muted colours are unsuitable here. */
.site-footer .legal-links{grid-column:1/-1;width:100%;justify-content:center;padding-top:1rem;border-top:1px solid #5b5c60;color:#fff;font-size:.94rem;line-height:1.6}
.site-footer .legal-links a,.site-footer .legal-links button{color:#fff;opacity:1;min-height:44px;display:inline-flex;align-items:center;padding:.5rem .65rem}
.site-footer .legal-links a:hover,.site-footer .legal-links button:hover{color:#FCCE0E;text-decoration:underline}
.site-footer .legal-links :focus-visible{outline:3px solid #FCCE0E;outline-offset:3px}
.privacy-banner{position:fixed;z-index:1000;inset:auto 1rem 1rem;margin-inline:auto;width:min(54rem,calc(100% - 2rem));max-height:70dvh;overflow:auto;padding:1.25rem;background:#fff;color:#202123;border:2px solid #767676;border-radius:.4rem;box-shadow:0 .4rem 2rem #0004;font-size:.9rem;line-height:1.55}
.privacy-banner[hidden],.privacy-map[hidden]{display:none!important}
.privacy-banner h2{font-size:1.3rem;line-height:1.3;margin:0 0 .6rem}
.privacy-banner p{margin:.6rem 0;color:inherit}.privacy-banner a,.privacy-dialog a{color:inherit;text-decoration:underline}
.privacy-banner .privacy-actions{margin:1rem 0 .65rem}.privacy-actions button{flex:1;min-width:10rem;background:#fff;color:#202123;border:1px solid #767676;font:inherit;font-weight:600;box-shadow:none}
.privacy-banner button{min-height:44px;padding:.65rem .9rem;border-radius:.3rem;cursor:pointer}
.privacy-category{display:flex;align-items:center;gap:.7rem;min-height:44px;margin:.75rem 0}.privacy-category input{width:22px;height:22px;accent-color:#202123}
.privacy-map p,.privacy-dialog p{color:inherit}.privacy-map{position:relative}
.privacy-banner :focus-visible,.privacy-dialog :focus-visible{outline:3px solid #202123;outline-offset:3px}
html[data-theme="dark"] .privacy-banner{background:#202123;color:#fff;border-color:#999}
html[data-theme="dark"] .privacy-banner button{background:#303133;color:#fff;border-color:#999}
html[data-theme="dark"] .privacy-banner :focus-visible,html[data-theme="dark"] .privacy-dialog :focus-visible{outline-color:#FCCE0E}
.booking-policy-summary{line-height:1.65;padding:1rem;border-left:3px solid #FCCE0E;background:var(--surface,#f4f4f6);color:var(--text,#202123)}
.booking-payment-summary{line-height:1.6;color:var(--text,#202123);font-size:.875rem}
.withdrawal-section{scroll-margin-top:8rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--control-border,#767676)}
.withdrawal-section label{display:block;margin:1rem 0}.withdrawal-section label span{display:block;margin-bottom:.4rem}
.withdrawal-section input:not([type=checkbox]){width:100%;min-height:44px;background:var(--page,#fff);color:var(--text,#202123);border:1px solid var(--control-border,#767676);padding:.65rem;font:inherit;font-size:16px}
.withdrawal-section pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;padding:1rem;background:var(--surface,#f4f4f6);color:var(--text,#202123)}
.withdrawal-section .withdrawal-honeypot{display:none}
@media(max-width:600px){.privacy-banner{inset:auto .5rem .5rem;width:calc(100% - 1rem);padding:1rem}.privacy-actions{flex-direction:column}.privacy-actions button{width:100%;flex:auto;min-width:0}.site-footer .legal-links{justify-content:flex-start}}
@media print{.privacy-banner,.withdrawal-section form,.withdrawal-section button{display:none!important}}
