.cookie-footer { display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; align-items: center; padding: 20px; font: 14px/1.5 system-ui, sans-serif; }
.cookie-footer a, .cookie-notice a { color: #075c86; text-decoration: underline; }
.cookie-settings-button { appearance: none; background: transparent; border: 0; color: #075c86; cursor: pointer; font: inherit; margin: 0; padding: 0; text-decoration: underline; }
.cookie-notice { position: fixed; z-index: 100000; left: 50%; bottom: 20px; transform: translateX(-50%); width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 40px); overflow-y: auto; box-sizing: border-box; margin: 0; padding: 24px; border: 1px solid #bfd0df; border-radius: 12px; background: #fff; color: #19334c; box-shadow: 0 8px 32px #19334c33; font: 15px/1.55 system-ui, sans-serif; text-align: left; }
.cookie-notice[hidden] { display: none !important; }
.cookie-notice h2 { margin: 0 0 10px; font: 600 21px/1.3 system-ui, sans-serif; }
.cookie-notice p { margin: 10px 0; }
.cookie-notice-details { font-size: 14px; }
.cookie-notice-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.cookie-notice-choice { flex: 1 1 200px; width: auto; appearance: none; background: #0877b8; color: #fff; border: 1px solid #0877b8; border-radius: 6px; padding: 11px 16px; margin: 0; cursor: pointer; font: 600 15px/1.4 system-ui, sans-serif; }
.cookie-notice-choice:hover { background: #075c86; border-color: #075c86; }
.cookie-notice button:focus-visible, .cookie-settings-button:focus-visible, .cookie-notice a:focus-visible { outline: 3px solid #f2b544; outline-offset: 3px; }
.cookie-policy-page { margin: 0; color: #19334c; background: #f2f6fa; font: 16px/1.65 system-ui, sans-serif; }
.cookie-policy-page main { box-sizing: border-box; max-width: 980px; margin: 24px auto; padding: 28px; background: #fff; border: 1px solid #dce5ed; border-radius: 12px; }
.cookie-policy-page a { color: #075c86; }
.cookie-policy-page h1 { line-height: 1.3; }
.cookie-policy-page table { width: 100%; border-collapse: collapse; }
.cookie-policy-page th, .cookie-policy-page td { text-align: left; padding: 12px; border-bottom: 1px solid #dce5ed; vertical-align: top; }
.cookie-policy-table { overflow-x: auto; }
@media (max-width: 600px) {
    .cookie-notice { padding: 18px; bottom: 12px; max-height: calc(100vh - 24px); }
    .cookie-policy-page main { margin: 12px; padding: 18px; }
    .cookie-policy-page table, .cookie-policy-page tbody, .cookie-policy-page tr, .cookie-policy-page td { display: block; }
    .cookie-policy-page thead { display: none; }
    .cookie-policy-page tr { margin: 12px 0; padding: 10px; border: 1px solid #dce5ed; border-radius: 6px; }
    .cookie-policy-page td { border: 0; padding: 6px 0; overflow-wrap: anywhere; }
    .cookie-policy-page td::before { content: attr(data-label); display: block; font-weight: 600; }
}
