/* All declarations are scoped to consent/maps; existing site tokens are reused. */
#tarteaucitronRoot { display:none!important; }
.cmc-consent { --cmc-paper:#fffdf9; --cmc-ink:#221c20; --cmc-secondary:#4f4750; --cmc-accent:#a62c60; color:var(--cmc-ink);background:var(--cmc-paper);font:400 15px/1.55 Mulish,system-ui,sans-serif;box-sizing:border-box; }
.cmc-consent *, .cmc-map * { box-sizing:border-box; }
.cmc-consent[hidden], .cmc-map [hidden] { display:none!important; }
#cmc-consent-banner {position:fixed;z-index:99990;inset:auto 24px 24px;max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:28px;padding:24px 28px;border:1px solid #ece3dc;border-top:3px solid #c43c74;border-radius:16px;box-shadow:0 12px 50px #221c2029;max-height:calc(100dvh - 32px);overflow:auto;}
.cmc-consent h2 {font:500 27px/1.18 'Playfair Display',Georgia,serif;letter-spacing:-.02em;margin:0 0 10px;color:var(--cmc-ink);}
.cmc-consent p {margin:0 0 10px;}
.cmc-consent .cmc-consent-eyebrow {font:800 11px/1.4 Mulish,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--cmc-accent);margin:0 0 8px;}
.cmc-consent a {color:var(--cmc-accent);text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.cmc-consent-copy {flex:1;}
.cmc-consent-actions {display:flex;flex-wrap:wrap;gap:10px;}
#cmc-consent-banner .cmc-consent-actions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 435px;}
.cmc-consent button, .cmc-consent-button {font:700 14px/1.35 Mulish,system-ui,sans-serif;min-height:46px;min-width:44px;padding:12px 16px;border:1px solid #a62c60;border-radius:8px;background:#fffdf9;color:#a62c60;cursor:pointer;text-align:center;transition:background .15s;}
.cmc-consent-actions button {flex:1;}
.cmc-consent button:hover, .cmc-consent-button:hover {background:#fbeaf1;}
.cmc-consent :focus-visible, .cmc-map :focus-visible, .cmc-cookie-settings:focus-visible {outline:3px solid #221c20;outline-offset:4px;}
.cmc-cookie-settings {font:inherit;color:inherit;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;padding:6px 0;}
.cmc-cookie-settings:disabled, .cmc-consent-button:disabled {cursor:wait;}
#cmc-consent-panel {width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:1px solid #ece3dc;border-top:4px solid #c43c74;border-radius:16px;overflow:auto;box-shadow:0 20px 80px #221c203d;}
#cmc-consent-panel::backdrop {background:rgb(34 28 32 / .46);}
.cmc-panel-header {display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:12px;}
.cmc-panel-header button {font-size:13px;padding:10px 12px;}
.cmc-consent-service {margin-top:16px;padding:18px;background:#fbf6ef;border:1px solid #ece3dc;border-radius:10px;}
.cmc-consent-service h3, .cmc-consent-toggle {font-size:17px;line-height:1.4;font-weight:800;margin:0 0 8px;}
.cmc-consent-service p, .cmc-consent-note {font-size:14px;color:var(--cmc-secondary);}
.cmc-consent-status {font-size:12px;font-weight:800;color:#4f4750;}
.cmc-consent-toggle {display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:44px;}
.cmc-consent-toggle small {display:block;font-size:13px;font-weight:400;color:#4f4750;}
.cmc-consent-toggle input {appearance:none;width:24px;height:24px;flex:none;border:2px solid #a62c60;border-radius:4px;background:#fffdf9;cursor:pointer;margin:10px;}
.cmc-consent-toggle input:checked {background:#a62c60 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4 10-10' fill='none' stroke='white' stroke-width='3'/%3E%3C/svg%3E") center/20px no-repeat;}
.cmc-consent .cmc-consent-note {margin:18px 0;}
.cmc-consent .cmc-consent-version {font-size:11px;color:#4f4750;margin:16px 0 0;text-align:center;}
.cmc-map {display:grid;place-items:center;width:100%;min-height:320px;background:#fffdf9;border:1px solid #ece3dc;}
.cmc-map-placeholder {text-align:center;padding:30px 24px;max-width:440px;color:#221c20;font:400 15px/1.55 Mulish,system-ui,sans-serif;}
.cmc-map-placeholder h3 {font:500 25px/1.2 'Playfair Display',Georgia,serif;margin:12px 0;}
.cmc-map-placeholder p {margin:12px 0;}
.cmc-map-pin {display:inline-grid;place-items:center;background:#f7d8e5;color:#a62c60;border-radius:50%;width:48px;height:48px;font-size:32px;}
.cmc-map-placeholder .cmc-map-help {font-size:13px;color:#4f4750;}
.cmc-map iframe {display:block;width:100%;height:100%;min-height:360px;border:0;}
@media(max-width:1000px) {#cmc-consent-banner{align-items:stretch;flex-direction:column;gap:16px;}#cmc-consent-banner .cmc-consent-actions{flex:auto;} }
@media(max-width:480px) {#cmc-consent-banner{inset:auto 12px 12px;padding:20px;gap:16px;}.cmc-consent h2{font-size:25px;}#cmc-consent-banner .cmc-consent-actions{grid-template-columns:1fr;} .cmc-consent-actions{flex-direction:column;}#cmc-consent-panel{padding:22px 20px;}.cmc-consent-service{padding:14px;}.cmc-panel-header{gap:10px;}.cmc-panel-header h2{font-size:25px;}.cmc-map-placeholder{padding:24px 18px;}}
@media(prefers-reduced-motion:reduce){.cmc-consent button,.cmc-consent-button{transition:none;}}
@media(forced-colors:active){.cmc-consent button,.cmc-consent-button,.cmc-consent-toggle input{border:1px solid ButtonText;}}
