/* Privacy controls, isolated from editorial page styles. */
.cookie-footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;align-items:center}
.cookie-footer-links a,.cookie-footer-links button{font:inherit;font-size:12px;color:inherit;background:none;border:0;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.cookie-footer-links [hidden],[data-consent-map][hidden],[data-map-placeholder][hidden],[data-cookie-settings][hidden]{display:none!important}
.cookie-dialog{position:fixed;inset:0;margin:auto;width:min(620px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;border:1px solid #444;border-radius:0;padding:32px;background:#f7f7f5;color:#111;font-family:var(--sans);box-sizing:border-box}
.cookie-dialog::backdrop{background:rgba(0,0,0,.45)}
.cookie-dialog form{margin:0}.cookie-dialog h2{font-size:30px;line-height:1.1;letter-spacing:-.04em;margin:0 36px 20px 0;font-weight:500}
.cookie-dialog p{font-size:16px;line-height:1.4;margin:0 0 18px}.cookie-dialog .cookie-essential{font-size:14px;color:#555}
.cookie-dialog .cookie-close{position:absolute;right:16px;top:12px;background:none;border:0;font:inherit;font-size:28px;min-width:44px;min-height:44px;cursor:pointer}
.cookie-option{display:flex;gap:14px;padding:18px 0;border-top:1px solid #ccc;cursor:pointer}.cookie-option input{width:20px;height:20px;flex-shrink:0;accent-color:#111;margin:2px 0}
.cookie-option strong{display:block;font-size:17px;margin-bottom:6px;font-weight:500}.cookie-option span span{display:block;font-size:14px;line-height:1.4}
.cookie-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.cookie-actions button,.map-consent-placeholder button,.cookie-information button{border:1px solid #111;border-radius:0;background:transparent;color:#111;font:inherit;font-size:14px;line-height:1.25;padding:12px;min-height:48px;cursor:pointer}
.cookie-information-link{font-size:14px;text-decoration:underline;text-underline-offset:3px}
.cookie-dialog :focus-visible,.map-consent-placeholder :focus-visible,.cookie-footer-links :focus-visible{outline:2px solid currentColor;outline-offset:4px}
.map-consent-placeholder{min-height:clamp(360px,42vw,600px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#e9e9e5;padding:clamp(24px,5vw,72px)}
.map-consent-placeholder p{max-width:52ch;font-size:17px;line-height:1.4;margin:0 0 20px}.map-consent-placeholder .map-consent-title{font-size:clamp(28px,3vw,44px);line-height:1.1;letter-spacing:-.04em}.map-consent-placeholder .map-consent-small{font-size:14px;margin:16px 0 0}
.cookie-information{padding:56px var(--pad) 80px;max-width:1000px}.cookie-information h1{font-size:clamp(38px,5vw,72px);line-height:1.05;letter-spacing:-.045em;margin:0 0 32px}.cookie-information h2{font-size:26px;margin:32px 0 16px}.cookie-information p{font-size:18px;line-height:1.5}.cookie-information code{overflow-wrap:anywhere;font-size:.9em}.cookie-information a{text-decoration:underline}
@media(max-width:760px){.cookie-dialog{padding:24px}.cookie-actions{grid-template-columns:1fr}.cookie-dialog h2{font-size:26px}.map-consent-placeholder{min-height:380px}.cookie-information{padding-top:40px}.cookie-information p{font-size:16px}}

/* Small, non-blocking first-visit notice. Details open only on request. */
.cookie-summary,.cookie-expand{display:none}
.cookie-dialog.cookie-compact{inset:auto 24px 24px auto;margin:0;width:min(660px,calc(100% - 48px));padding:18px 56px 18px 22px;background:#fff;border:1px solid #d8d8d8;z-index:10000}
.cookie-compact h2,.cookie-compact .cookie-essential,.cookie-compact .cookie-option,.cookie-compact form>p:not(.cookie-summary),.cookie-compact [data-choice="save"]{display:none}
.cookie-compact .cookie-summary{display:block;font-size:14px;line-height:1.4;margin:0 0 10px}
.cookie-compact .cookie-expand{display:block}
.cookie-compact .cookie-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.cookie-compact .cookie-actions button{font-size:13px;padding:8px 13px;min-height:40px}
.cookie-compact .cookie-information-link{font-size:12px}
.cookie-compact .cookie-close{right:8px;top:8px;font-size:24px}
@media(max-width:760px){.cookie-dialog.cookie-compact{inset:auto 12px calc(76px + env(safe-area-inset-bottom)) 12px;width:auto;padding:16px 42px 14px 16px}.cookie-compact .cookie-actions{gap:6px}.cookie-compact .cookie-actions button{padding:8px 10px;min-height:44px}}
