.cookie-banner[hidden], .cookie-settings[hidden] { display: none !important; }
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    max-height: 80vh;
    overflow-y: auto;
    background: #fff;
    color: #222;
    border-top: 4px solid #88b917;
    box-shadow: 0 -2px 12px #0003;
    font: 16px/1.5 "PT Sans", Arial, sans-serif;
}
.cookie-inner { max-width: 1000px; margin: 0 auto; padding: 20px; }
.cookie-banner h2 { margin: 0 0 8px; font-size: 24px; font-weight: 700; }
.cookie-banner p { margin: 0 0 12px; }
.cookie-banner a { color: #456513; text-decoration: underline; }
.cookie-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.cookie-actions button {
    background: #456513;
    color: #fff;
    border: 2px solid #456513;
    border-radius: 3px;
    padding: 10px 16px;
    font: inherit;
    cursor: pointer;
}
.cookie-actions button:hover { background: #36500f; }
.cookie-actions button:focus-visible, .cookie-settings:focus-visible, .cookie-banner a:focus-visible {
    outline: 3px solid #f6a800;
    outline-offset: 3px;
}
.cookie-links { text-align: center; padding: 12px; color: #fff; }
.cookie-links a, .cookie-settings { color: inherit; text-decoration: underline; }
.cookie-settings { margin-left: 16px; padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; }
.cookie-policy table { width: 100%; margin: 20px 0; }
.cookie-policy th, .cookie-policy td { padding: 10px; border: 1px solid #ccc; text-align: left; overflow-wrap: anywhere; }
.cookie-policy th { font-weight: 700; }
.cookie-policy h2 { margin: 24px 0 12px; }
.cookie-policy p { margin-bottom: 16px; }
.cookie-noscript { padding: 12px; background: #fff; color: #222; text-align: center; }
@media (max-width: 600px) {
    .cookie-actions { flex-direction: column; }
    .cookie-actions button { width: 100%; }
    .cookie-policy table { font-size: 14px; table-layout: fixed; }
}
