.legal-page{max-width:1120px;margin:0 auto;padding:clamp(24px,5vw,64px)}
.legal-page header h1{font-size:clamp(32px,5vw,58px);line-height:1.1}
.legal-page header p{max-width:48em}
.legal-nav{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px 0;border-block:1px solid #c8c0b2;margin:28px 0}
.legal-page a,.privacy-summary a,.purchase-notice a,.purchase-dialog a{color:#17549a;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-nav a[aria-current]{font-weight:700}
.legal-body{max-width:78ch;font-size:17px;line-height:1.7}
.legal-body section{margin:32px 0}
.legal-body h2{font-size:26px;line-height:1.25;margin-bottom:16px}
.legal-body li{margin-block:12px}
.legal-body dl{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,3fr);gap:12px 20px}
.legal-body dt{font-weight:700}
.legal-body dd{margin:0;overflow-wrap:anywhere}
.privacy-summary{background:#f0f4f8;color:#263847;border-left:3px solid #2468af;padding:14px 16px;font-size:13px;line-height:1.6;margin:16px 0}
.privacy-summary p{font-size:inherit!important;line-height:inherit!important;margin:0 0 8px!important;color:inherit!important}
.privacy-summary p:last-child{margin-bottom:0!important}
.purchase-notice{font-size:14px;line-height:1.6;color:#334657;padding:16px 0;max-width:76ch}
.booking-paused-notice{padding:16px 20px;background:#f7e9bb;color:#28352b;border-left:4px solid #9e6a1b;line-height:1.55;margin:16px 0}
.booking-paused-notice strong{display:block;font-size:18px;margin-bottom:4px}
.privacy-preferences>div,.purchase-actions{display:flex;flex-wrap:wrap;gap:12px}
.privacy-preferences .cta{font-size:15px}
.purchase-dialog{width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:clamp(20px,4vw,32px);color:#142b35;background:#faf7ef;border:1px solid #28352b}
.purchase-dialog::backdrop{background:rgba(15,29,38,.65)}
.purchase-dialog h2{font-size:30px;margin:12px 0}
.purchase-dialog p{font-size:16px;line-height:1.6}
.purchase-price{font-size:24px!important;font-weight:700}
.purchase-accept{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5;margin:20px 0}
.purchase-accept input{appearance:auto;width:20px!important;min-width:20px;height:20px!important;margin:2px 0}
.purchase-actions .cta{flex:1;justify-content:center;border-radius:12px}
.legal-page button:focus-visible,.purchase-dialog :focus-visible{outline:3px solid #2468af;outline-offset:3px}
@media(max-width:520px){.legal-body dl{grid-template-columns:1fr;gap:4px}.legal-body dd{margin-bottom:12px}.legal-nav{flex-direction:column}.privacy-preferences .cta{width:100%}.public-footer nav{flex-wrap:wrap}}
