.dc-cookie-banner[hidden], .dc-cookie-settings[hidden] { display: none !important; }
.dc-footer-legal { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem 1.2rem; width: min(100% - 2rem, 1180px); margin: 1rem auto 0; font-size: .86rem; }
.dc-cookie-settings { appearance: none; background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
.dc-footer-legal a:focus-visible, .dc-cookie-settings:focus-visible { outline: 3px solid var(--llmpl-acid, #b8f12d); outline-offset: 4px; }
.dc-cookie-banner { position: fixed; inset: auto 1rem max(1rem, env(safe-area-inset-bottom)); z-index: 99990; display: flex; gap: 1.5rem; align-items: center; max-width: 1148px; margin-inline: auto; padding: 1.25rem 1.5rem; border: 1px solid var(--llmpl-line, #d8dee5); border-radius: 12px; background: var(--llmpl-surface, #fff); color: var(--llmpl-text, #101216); font-family: var(--llmpl-font-sans, system-ui); box-shadow: 0 12px 48px rgba(0,0,0,.18); }
.dc-cookie-copy { flex: 1; min-width: 0; }
.dc-cookie-copy h2 { margin: 0 0 .3rem; font: 700 1rem/1.4 var(--llmpl-font-sans, system-ui); }
.dc-cookie-copy p { margin: 0; font-size: .875rem; line-height: 1.6; }
.dc-cookie-copy a { color: var(--llmpl-accent, #1746a2); text-underline-offset: .18em; }
.dc-cookie-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.dc-cookie-actions button { appearance: none; padding: .7rem .95rem; border: 1px solid var(--llmpl-accent, #1746a2); border-radius: 7px; background: var(--llmpl-surface, #fff); color: var(--llmpl-text, #101216); font: 600 .85rem/1.4 var(--llmpl-font-sans, system-ui); cursor: pointer; }
.dc-cookie-actions button:hover { background: var(--llmpl-surface-muted, #eef1f2); }
.dc-cookie-actions button:focus-visible, .dc-cookie-copy a:focus-visible { outline: 3px solid var(--llmpl-accent, #1746a2); outline-offset: 3px; }
.dc-cookie-noscript { max-width: 1180px; padding: 1rem; margin: auto; }
.dc-policy-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.dc-policy-table th, .dc-policy-table td { padding: .8rem; border: 1px solid var(--llmpl-line, #d8dee5); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.dc-policy-table-wrap { overflow-x: auto; }
@media (max-width: 760px) {
  .dc-cookie-banner { flex-direction: column; align-items: stretch; gap: 1rem; padding: 1rem; max-height: 65svh; overflow-y: auto; }
  .dc-cookie-actions button { flex: 1; }
}
