/* Consent controls use local assets and remain usable without third-party content. */
.site-footer .footer-cookie-notices{flex:1 1 32rem;min-width:0;max-width:86ch}
.site-footer .footer-cookie-notices .footer-cookie-notice{max-width:none}
.site-footer .footer-cookie-notices .footer-cookie-notice+.footer-cookie-notice{margin-top:12px}
.footer-cookie-notice a{text-decoration:underline;text-underline-offset:4px}
.location-map [hidden],.cookie-dialog [hidden]{display:none!important}
.location-map{container-type:inline-size}
.location-map .map-consent{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;background:#fff;color:var(--ink)}
/* A native button makes the whole preview work with a mouse, touch or keyboard. */
.map-preview-button{grid-area:1/1;display:block;appearance:none;width:100%;min-width:0;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:0;text-align:inherit}
.map-preview-button:enabled{cursor:pointer}
.map-preview-button:disabled{opacity:1;cursor:default}
.map-preview-button:focus-visible{outline:3px solid var(--location-accent,var(--blue-dark));outline-offset:-3px}
/* The original image sets the preview height, keeping every edge visible without empty bands. */
.map-preview{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;pointer-events:none}
.map-preview-wide{display:none}
@container(min-width:550px){.map-preview-compact{display:none}.map-preview-wide{display:block}}
/* The translucent panel shares the image's grid cell; its content can grow without clipping. */
.map-activation{grid-area:1/1;z-index:1;justify-self:center;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;width:min(calc(100% - 28px),22rem);min-width:0;margin:14px 0;padding:16px 16px 8px;border:1px solid #ffffffdc;border-radius:12px;background:#ffffffc2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 8px 28px #173e4424;text-align:center;pointer-events:none}
.map-activation button,.map-activation a,.map-activation noscript{pointer-events:auto}
.location-map .map-consent p{font:400 .9375rem/1.7 var(--body);margin:0;max-width:none;overflow-wrap:normal}
.location-map .map-consent .map-consent-note{font-size:.875rem;line-height:1.6}
.map-privacy{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 4px;color:var(--blue-dark);font:500 .875rem/1.5 var(--body);text-decoration:underline;text-underline-offset:4px;overflow-wrap:normal}
@media(hover:hover) and (pointer:fine){.map-privacy:hover{color:var(--location-accent,var(--blue-dark))}}
.map-privacy:focus-visible{outline:3px solid var(--location-accent,var(--blue-dark));outline-offset:2px}
.map-activation noscript p{padding-bottom:8px}
.map-activation:not(:has(.map-enable:not([hidden]))) .map-consent-note{display:none}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.cookie-choice{display:inline-flex;align-items:center;justify-content:center;flex:1 1 12rem;min-width:0;max-width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--blue-dark);border-radius:6px;background:#fff;color:var(--blue-dark);font:600 .9375rem/1.5 var(--body);white-space:normal;overflow-wrap:normal;text-align:center;cursor:pointer}
@media(hover:hover) and (pointer:fine){.cookie-choice:hover{background:var(--blue-dark);color:#fff}}
.cookie-choice:focus-visible,.cookie-close:focus-visible{outline:3px solid var(--red-dark);outline-offset:3px}
.map-activation .map-enable{flex:none;gap:10px;width:100%;min-height:52px;padding:13px 16px;border-color:var(--location-accent,var(--blue-dark));border-radius:7px;background:var(--location-accent,var(--blue-dark));color:#fff;font-weight:700;box-shadow:0 3px 10px #173e441a;transition:background .2s,box-shadow .2s}
.map-enable svg{flex:none;width:22px;height:22px}
.map-enable span{min-width:0}
@media(hover:hover) and (pointer:fine){.map-activation .map-enable:hover{border-color:var(--location-hover,var(--blue-dark));background:var(--location-hover,var(--blue-dark));box-shadow:0 5px 14px #173e4426}}
.map-activation .map-enable:focus-visible{outline-color:var(--location-accent,var(--blue-dark))}
.map-frame:empty{display:none}
.cookie-dialog{position:fixed;inset:0;margin:auto;width:min(640px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:clamp(20px,4vw,32px);border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);overflow:auto;overscroll-behavior:contain}
.cookie-dialog:not([open]){display:none}
.cookie-dialog::backdrop{background:#10242abf}
.cookie-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.cookie-dialog h2{font-size:clamp(1.45rem,4vw,2rem);line-height:1.3;text-transform:none;overflow-wrap:normal}
.cookie-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--soft);font:400 1.75rem/1 var(--body);color:var(--blue-dark)}
.cookie-dialog p{font-size:1rem;line-height:1.7;overflow-wrap:normal}
.cookie-dialog a{color:var(--blue-dark);text-decoration:underline;text-underline-offset:4px;overflow-wrap:normal}
.cookie-dialog dl{margin:22px 0;padding-block:18px;border-block:1px solid var(--line)}
.cookie-dialog dt{font-weight:700;line-height:1.6;overflow-wrap:normal}
.cookie-dialog dt:not(:first-child){margin-top:14px}
.cookie-dialog dd{margin:4px 0 0;font-size:.9375rem;line-height:1.6;overflow-wrap:normal}
.cookie-dialog .cookie-actions{margin-top:22px}
.cookie-dialog .cookie-memory{font-size:.875rem;margin-top:20px}
.privacy-section .cookie-inventory{margin:20px 0;padding:20px;border:1px solid var(--line);background:var(--soft)}
.cookie-inventory dt{font-weight:700;overflow-wrap:normal}
.cookie-inventory dd{margin:8px 0 0;line-height:1.8;overflow-wrap:normal}
.cookie-inventory dt:not(:first-child){margin-top:20px}
.large-text .cookie-dialog-header{flex-direction:column-reverse;align-items:stretch}
.large-text .cookie-dialog-header .cookie-close{align-self:flex-end}
.cookie-inventory code{font-size:.9em;overflow-wrap:normal}
@media(max-height:500px){.cookie-dialog{max-height:calc(100dvh - 16px);width:min(640px,calc(100% - 16px));padding:18px}}
@media print{.cookie-dialog,[data-cookie-settings]{display:none!important}}
