/* Consent controls use the existing brand palette and locally hosted font. */
.cookie-banner[hidden], [data-cookie-control][hidden], .map-placeholder[hidden] {display:none !important}
body.consent-dialog-open {overflow:hidden}
.cookie-banner {position:fixed;z-index:40;inset:auto 20px 20px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 60px #10354430;padding:24px 28px;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:24px;align-items:center;max-width:1180px;margin:auto}
.cookie-banner h2 {font-size:20px;line-height:1.35;letter-spacing:-.4px;margin-bottom:8px}
.cookie-banner p {font-size:12px;line-height:1.7;color:var(--muted);max-width:620px}
.cookie-inline-link {color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.cookie-actions {display:flex;flex-wrap:wrap;gap:10px}
.cookie-button {min-height:44px;background:#fff;color:var(--blue);border:1px solid var(--blue);padding:12px 16px;font-size:11px;line-height:1.4;white-space:normal;text-align:center;transition:background .15s}
.cookie-button:hover {background:#edf3f3}
.cookie-button:focus-visible, .cookie-close:focus-visible, .cookie-settings-link:focus-visible {outline:3px solid #5eaece;outline-offset:3px}
.cookie-banner .cookie-actions {display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));align-items:stretch}
.cookie-dialog {width:min(650px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:34px;border:1px solid var(--line);color:var(--ink);background:#fff;overflow:auto;overscroll-behavior:contain}
.cookie-dialog::backdrop {background:#071b2baa;backdrop-filter:blur(3px)}
.cookie-dialog h2 {font-size:29px;letter-spacing:-1px;line-height:1.25;margin:0 44px 18px 0}
.cookie-dialog>p, .cookie-category p {font-size:12px;color:var(--muted);line-height:1.8}
.cookie-close {position:absolute;right:18px;top:18px;background:#fff;border:1px solid var(--line);color:var(--blue);width:40px;height:40px;font-size:25px;line-height:1}
.cookie-category {border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.cookie-category h3, .cookie-choice-label {font-size:15px;font-weight:700;line-height:1.5}
.cookie-category-head {display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.cookie-always {font-size:10px;line-height:1.5;color:#325c44;background:#e8f1ea;padding:5px 9px;white-space:nowrap}
.cookie-choice-label {display:flex;align-items:center;gap:12px;margin-bottom:10px;cursor:pointer}
.cookie-choice-label input {width:21px;height:21px;flex-shrink:0;margin:0;accent-color:var(--blue);cursor:pointer}
.cookie-choice-label input:focus-visible {outline:3px solid #5eaece;outline-offset:3px}
.cookie-dialog .cookie-actions {display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px}
.cookie-dialog .cookie-more {margin-top:18px;font-size:11px}
.cookie-footer {display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.cookie-settings-link {border:0;padding:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:inherit}
.cookie-footer>a {text-decoration:underline;text-underline-offset:3px}
.cookie-status {position:fixed;z-index:45;left:20px;bottom:20px;max-width:min(440px,calc(100vw - 40px));font-size:12px;background:var(--navy);color:#fff;box-shadow:0 5px 25px #10354430;padding:14px 18px;line-height:1.6;pointer-events:none}
.cookie-status:empty {display:none}
.location-map .map-content {display:flex;flex:1;min-height:0}
.map-content iframe {display:block;width:100%;height:100%;flex:1;min-height:0;border:0}
.map-placeholder {display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(140deg,#e8eeea,#f2f4ef);gap:14px}
.map-placeholder .icon {width:36px;height:36px;color:var(--blue)}
.map-placeholder h3 {font-size:21px;letter-spacing:-.4px;line-height:1.4}
.map-placeholder p {font-size:12px;line-height:1.8;max-width:380px;color:var(--muted)}
.map-placeholder .cookie-button {margin-top:3px}
.map-placeholder noscript p {font-size:11px}
.cookie-info-home {margin-left:auto;font-size:12px;color:var(--blue)}
.cookie-information {max-width:900px;padding-top:70px;padding-bottom:80px}
.cookie-information h1 {font-size:clamp(32px,5vw,48px);line-height:1.25;letter-spacing:-1.4px;margin-bottom:25px}
.cookie-information h2 {font-size:23px;letter-spacing:-.5px;line-height:1.4;margin:35px 0 14px}
.cookie-information p, .cookie-information li {font-size:14px;line-height:1.85;color:var(--muted)}
.cookie-information p+p {margin-top:14px}
.cookie-information ul {padding-left:22px}
.cookie-information li+li {margin-top:8px}
.cookie-information .cookie-button {margin-top:20px}
.cookie-information .cookie-updated {font-size:11px;margin-top:35px}
@media(max-width:1060px) {.cookie-banner {grid-template-columns:1fr;gap:16px}.cookie-banner p {max-width:none}.cookie-banner .cookie-actions {grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px) {.cookie-banner {inset:auto 12px 12px;padding:18px;gap:14px}.cookie-banner h2 {font-size:18px}.cookie-banner p {font-size:11px;line-height:1.65}.cookie-banner .cookie-actions {gap:8px}.cookie-button {padding:11px 10px;font-size:10px}.cookie-dialog {padding:27px 22px}.cookie-dialog h2 {font-size:25px}.cookie-dialog .cookie-actions {grid-template-columns:1fr}.cookie-category-head {align-items:flex-start;flex-wrap:wrap}.cookie-always {font-size:9px}.cookie-status {left:12px;bottom:12px;max-width:calc(100vw - 24px);font-size:11px;padding:11px 14px}.footer-bottom {flex-wrap:wrap}.cookie-footer {width:100%;font-size:10px}.map-placeholder {padding:24px;gap:12px}.map-placeholder h3 {font-size:19px}.map-placeholder p {font-size:11px}.cookie-information {padding-top:45px;padding-bottom:55px}.cookie-information p,.cookie-information li {font-size:13px}.cookie-info-home {font-size:10px}.cookie-info-page .header-inner {gap:14px}.cookie-info-page .language-switch {margin-left:0}.cookie-information h2 {font-size:21px}}
@media(max-width:380px) {.cookie-banner .cookie-actions {grid-template-columns:1fr}.cookie-banner {padding:16px}.cookie-banner h2 {font-size:16px}.cookie-banner p {font-size:10px}.cookie-button {font-size:10px;min-height:40px}.cookie-info-page .header-inner {flex-wrap:wrap;height:auto;min-height:94px}.cookie-info-home {margin-left:auto}.cookie-dialog {padding:24px 18px}.cookie-dialog h2 {font-size:23px}.cookie-choice-label {font-size:14px}}
