.cookie-banner[hidden] { display: none; }
.cookie-banner, .cookie-dialog {
    box-sizing: border-box;
    background: #fff; color: #252525; border: 1px solid #92713c;
    padding: 24px; font: 16px/1.5 Arial, sans-serif;
    box-shadow: 0 8px 36px rgba(0, 0, 0, .25);
}
.cookie-banner {
    position: fixed; bottom: 20px; left: 20px; z-index: 1050;
    width: calc(100% - 40px); max-width: 680px;
    max-height: calc(100vh - 40px); overflow-y: auto; border-radius: 12px;
}
.cookie-dialog {
    width: calc(100% - 32px); max-width: 720px; max-height: 90vh;
    margin: auto; border-radius: 12px; overflow-y: auto;
}
.cookie-dialog::backdrop { background: rgba(0, 0, 0, .65); }
.cookie-banner h2, .cookie-dialog h2 { font-size: 23px; margin: 0 0 12px; color: #252525; }
.cookie-banner p, .cookie-dialog p { margin: 10px 0 16px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-banner .cookie-actions { margin-top: 16px; }
.cookie-actions button {
    background: #fff; color: #624c29; border: 2px solid #92713c;
    border-radius: 6px; padding: 10px 14px; font: inherit; font-weight: 600; cursor: pointer;
}
.cookie-actions button:hover { background: #f6f0e5; }
.cookie-actions button:focus-visible, .cookie-footer-button:focus-visible,
.cookie-dialog a:focus-visible, .cookie-dialog input:focus-visible {
    outline: 3px solid #946612; outline-offset: 3px;
}
.cookie-category { border-top: 1px solid #e2d8c7; padding-top: 16px; margin-top: 16px; }
.cookie-dialog summary { cursor: pointer; }
.cookie-dialog summary:focus-visible { outline: 3px solid #946612; outline-offset: 3px; }
.cookie-category input { width: 20px; height: 20px; vertical-align: middle; accent-color: #92713c; }
.cookie-dialog a { color: #624c29; text-decoration: underline; }
.cookie-footer-button { font: inherit; color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; }
.cookie-banner > a { color: #624c29; text-decoration: underline; }
.cookie-map-placeholder { padding: 24px; display: flex; height: 100%; flex-direction: column; justify-content: center; align-items: center; text-align: center; background: #f6f0e5; color: #252525; }
@media (max-width: 575px) {
    .cookie-banner { bottom: 10px; left: 10px; width: calc(100% - 20px); padding: 18px; }
    .cookie-actions button { width: 100%; }
    .cookie-dialog { padding: 18px; }
}
