:root { --cc-bg:#fff; --cc-text:#172b3b; --cc-accent:#003459; --cc-border:#d5dedc; --cc-radius:14px; --cc-z:99999; --cc-font:"Source Sans Pro",Arial,sans-serif; }
.cc-hidden { display:none !important; }
#cookie-consent { position:fixed; left:20px; bottom:20px; width:min(460px,calc(100vw - 40px)); max-height:min(85vh,620px); overflow-y:auto; box-sizing:border-box; z-index:var(--cc-z); padding:22px; color:var(--cc-text); background:var(--cc-bg); border:1px solid var(--cc-border); border-radius:var(--cc-radius); box-shadow:0 16px 50px rgba(13,35,31,.24); font-family:var(--cc-font); }
.cc-box { position:relative; padding-right:26px; }
.cc-box h2 { margin:0 0 8px; font-size:1.35rem; line-height:1.25; }
.cc-box p { margin:0 0 12px; line-height:1.5; }
.cc-policy { color:var(--cc-accent); text-decoration:underline; text-underline-offset:3px; }
.cc-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.cc-btn { min-height:44px; padding:10px 14px; border:2px solid var(--cc-accent); border-radius:8px; cursor:pointer; font:inherit; font-weight:700; line-height:1.2; }
.cc-btn-primary { color:#fff; background:var(--cc-accent); }
.cc-btn-outline { color:var(--cc-accent); background:#fff; }
.cc-btn:hover,.cc-btn:focus-visible { box-shadow:0 0 0 3px rgba(0,52,89,.2); transform:translateY(-1px); }
.cc-settings { margin-top:14px; padding-top:14px; border-top:1px solid var(--cc-border); }
.cc-choice { display:flex; gap:10px; align-items:flex-start; font-weight:700; }
.cc-choice input { width:20px; height:20px; margin:0; accent-color:var(--cc-accent); }
.cc-choice-help { margin:8px 0 0 30px !important; font-size:.95rem; }
.cc-close { position:absolute; top:-10px; right:-4px; width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:var(--cc-text); font-size:26px; cursor:pointer; }
.cc-close:hover,.cc-close:focus-visible { background:#edf4f2; }
.cc-map-placeholder { min-height:150px; padding:18px; box-sizing:border-box; background:#f1f5f4; display:flex; align-items:center; justify-content:center; text-align:center; }
.cc-map-placeholder iframe { display:block; width:100%; height:clamp(220px,36vw,450px); border:0; }
.cc-map-prompt { max-width:620px; margin:auto; }
.cc-map-prompt p { line-height:1.5; }
.contact-privacy-note { margin:0 0 14px; font-size:.95rem; line-height:1.5; }
.contact-privacy-note a { text-underline-offset:3px; }
@media (max-width:600px) { #cookie-consent { left:12px; bottom:12px; width:calc(100vw - 24px); max-height:82vh; padding:18px; } .cc-box { padding-right:22px; } .cc-actions { display:grid; grid-template-columns:1fr; } .cc-btn { width:100%; } .cc-choice-help { margin-left:0 !important; } .cc-map-placeholder { min-height:190px; padding:14px; } }
@media (prefers-reduced-motion:reduce) { .cc-btn { transition:none; } }
