/* Optional external maps: the frame is created only after an explicit choice. */
.footer-legal{display:flex;flex-wrap:wrap;gap:22px;padding-top:18px;font-size:.75rem;color:var(--muted)}
.footer-legal a,.footer-legal button,.map-revoke{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px}
.footer-legal button,.map-revoke{border:0;padding:0;background:none;cursor:pointer}
.footer-professionals{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:18px;color:var(--muted);font-size:.6875rem;line-height:1.7}
.cookie-banner{position:fixed;inset:auto 0 0;z-index:1000;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 24px rgb(0 0 0 / .04);padding:22px max(24px,5vw);max-height:65dvh;overflow:auto;color:var(--ink)}
.cookie-banner[hidden]{display:none}
.cookie-banner-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:20px 40px;align-items:center;margin:0 auto;max-width:1600px;padding-right:36px}
.cookie-banner h2{font-size:1.1rem;line-height:1.4;margin:0 0 8px}
.cookie-banner p{font-size:.75rem;line-height:1.7;margin:0}
.cookie-banner a{text-decoration:underline;text-underline-offset:3px}
.cookie-banner .map-choice-actions{margin:0}
.cookie-banner .map-choice-actions button{flex-basis:100px}
.cookie-banner-close{position:absolute;top:10px;right:12px;width:44px;height:44px;background:#fff;border:0;font:inherit;font-size:1.5rem;color:inherit;cursor:pointer}
.cookie-banner-close:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}
.legal-professional{padding:24px 0;border-bottom:1px solid var(--line)}
.legal-professional h2{margin-top:0}
.legal-professional p{margin:8px 0}
.location-map:has(.map-placeholder:not([hidden])){aspect-ratio:auto;max-height:none}
.map-placeholder{padding:24px;min-height:260px;display:flex;flex-direction:column;justify-content:center;gap:12px;font-size:.75rem;line-height:1.65}
.map-placeholder p{margin:0}
.map-placeholder .map-placeholder-title{font-size:1rem;color:var(--ink)}
.map-placeholder>a{text-decoration:underline;text-underline-offset:3px}
.map-choice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.map-choice-actions button{flex:1 1 140px;min-height:44px;padding:10px 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:.75rem;line-height:1.5;cursor:pointer}
.map-choice-actions button:hover{background:#eee}
.map-choice-actions button:focus-visible,.footer-legal button:focus-visible,.map-revoke:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.location-map-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 20px;width:90%}
.map-revoke{font-size:.75rem;min-height:44px}
.map-placeholder[hidden],.location-map-link[hidden],[data-map-revoke][hidden]{display:none}
.map-preferences{position:fixed;inset:0;margin:auto;width:min(600px,calc(100vw - 36px));max-height:calc(100dvh - 36px);padding:clamp(24px,5vw,44px);border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;overflow:auto}
.map-preferences::backdrop{background:rgb(0 0 0 / .3)}
.map-preferences h2{font-size:1.75rem;margin:0 32px 24px 0}
.map-preferences p{font-size:.8125rem;line-height:1.8;margin:14px 0}
.map-preferences a{text-decoration:underline;text-underline-offset:3px}
.map-preferences-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:none;font:inherit;font-size:1.75rem;cursor:pointer}
.map-preferences .map-preferences-note{font-size:.75rem;color:var(--muted)}
.privacy-copy table{width:100%;border-collapse:collapse;font-size:.8125rem;margin:20px 0}
.privacy-copy th,.privacy-copy td{text-align:left;vertical-align:top;padding:12px 10px 12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
@media(max-width:760px){.location-map-actions{width:100%}.map-placeholder{padding:22px}.footer-legal,.footer-professionals{justify-content:center}.footer-professionals{text-align:center}.cookie-banner{padding:20px 24px}.cookie-banner-inner{grid-template-columns:1fr;gap:16px;padding-right:0}.cookie-banner h2{padding-right:28px}.cookie-banner .map-choice-actions button{flex-basis:calc(50% - 5px)}.cookie-banner .map-choice-actions button:last-child{flex-basis:100%}}
/* Silver treatment applies to OSM cartography only, never attribution. */
.location-map{background:#f1f1ef;isolation:isolate}
.location-map .map-frame-slot,.location-map .map-frame-slot iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:none!important}
.osm-attribution{position:absolute;bottom:0;right:0;z-index:5;background:rgb(255 255 255 / .94);padding:3px 7px;font:10px/1.5 Arial,sans-serif;color:#343834;pointer-events:auto}
.osm-attribution a{text-decoration:underline;text-underline-offset:2px}
.location-map:has(.map-placeholder:not([hidden])) .osm-attribution{display:none}
.location-map-link{z-index:2}
.location-map-link:focus-visible{outline:2px solid #292e29;outline-offset:-5px}
