/* VodiKit cookie banner. Themes colour it through the --vk-* variables or override these classes. */
.vk-consent { position: fixed; z-index: 2147483000; inset: auto 16px 16px 16px; display: flex; justify-content: center; pointer-events: none; font: inherit; }
.vk-consent[hidden] { display: none; }
.vk-consent--bottom-left { justify-content: flex-start; }
.vk-consent--center { inset: 0; align-items: center; padding: 16px; background: rgba(15, 23, 42, .45); pointer-events: auto; }
.vk-consent__box { width: min(100%, 760px); max-height: calc(100vh - 32px); overflow: auto; padding: 20px 22px; border: 1px solid var(--vk-line, #e2e8f0); border-radius: var(--vk-radius, 16px); background: var(--vk-field-bg, #fff); color: var(--vk-ink, #0f172a); box-shadow: 0 18px 50px rgba(15, 23, 42, .22); pointer-events: auto; }
.vk-consent--bottom-left .vk-consent__box { width: min(100%, 420px); }
.vk-consent__box:focus { outline: none; }
.vk-consent__box:focus-visible { outline: 2px solid var(--vk-primary, #2563eb); outline-offset: 2px; }
.vk-consent__title { margin: 0 0 6px; font-size: 1.1rem; }
.vk-consent__body { margin: 0; color: var(--vk-muted, #475569); font-size: .94rem; line-height: 1.55; }
.vk-consent__body a { color: var(--vk-primary, #2563eb); }
.vk-consent__prefs { display: grid; gap: 10px; margin-top: 14px; }
.vk-consent__prefs[hidden] { display: none; }
.vk-consent__category { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--vk-line, #e2e8f0); border-radius: 12px; cursor: pointer; }
.vk-consent__category input { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: var(--vk-primary, #2563eb); }
.vk-consent__category span { display: grid; gap: 2px; }
.vk-consent__category small { color: var(--vk-muted, #475569); }
.vk-consent__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.vk-consent__button { min-height: 42px; padding: 0 16px; border: 1px solid var(--vk-line, #cbd5e1); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer; }
.vk-consent__button[hidden] { display: none; }
.vk-consent__button--primary { border-color: var(--vk-primary, #2563eb); background: var(--vk-primary, #2563eb); color: var(--vk-on-primary, #fff); }
.vk-consent__button:focus-visible { outline: 2px solid var(--vk-primary, #2563eb); outline-offset: 2px; }
.vk-consent-reopen { position: fixed; z-index: 2147482999; left: 16px; bottom: 16px; width: 44px; height: 44px; border: 1px solid var(--vk-line, #e2e8f0); border-radius: 50%; background: var(--vk-field-bg, #fff); box-shadow: 0 6px 18px rgba(15, 23, 42, .18); font-size: 20px; line-height: 1; cursor: pointer; }
.vk-consent-reopen[hidden] { display: none; }
@media (max-width: 560px) {
  .vk-consent { inset: auto 8px 8px 8px; }
  .vk-consent__actions { justify-content: stretch; }
  .vk-consent__button { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: no-preference) { .vk-consent__box { animation: vk-consent-in .2s ease-out; } }
@keyframes vk-consent-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
