.privacy-banner { position: fixed; z-index: 300; left: 20px; bottom: 20px; width: min(440px, calc(100% - 40px)); padding: 20px; border-radius: 18px; color: var(--brown); background: var(--paper); font-family: var(--sans); }
.privacy-banner[hidden], .map-privacy[hidden] { display: none; }
.privacy-banner h2 { margin: 0 0 8px; font-family: var(--sans); font-size: 15px; font-style: normal; }
.privacy-banner p { margin: 0; font-size: 12px; line-height: 1.6; }
.privacy-banner p a { text-decoration: underline; text-underline-offset: 3px; }
.privacy-banner__choices { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; }
.privacy-banner__choices label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 12px; cursor: pointer; }
.privacy-banner__choices input { width: 18px; height: 18px; margin: 0; accent-color: var(--green); }
.privacy-banner__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.privacy-banner__actions button { flex: 1 1 auto; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 99px; color: var(--paper); background: var(--green); font: 500 12px var(--sans); cursor: pointer; transition: background-color 200ms ease; }
.privacy-banner__actions button:is(:hover, :focus-visible) { background: var(--brown); }
.privacy-banner button:focus-visible, .map-privacy button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.map-privacy { position: absolute; z-index: 2; inset: 0; display: grid; align-content: center; justify-items: center; gap: 16px; padding: 24px; color: var(--brown); background: #c9c6bc; text-align: center; }
.map-privacy button { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; padding: 12px 20px; border: 0; border-radius: 99px; color: var(--paper); background: var(--green); font: 500 14px var(--sans); cursor: pointer; }
.map-privacy p { margin: 0; max-width: 380px; font-size: 12px; line-height: 1.6; }
.map-privacy a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) { .privacy-banner { bottom: 88px; } }
@media (prefers-reduced-motion: reduce) { .privacy-banner__actions button { transition: none; } }
