.cookie-banner[hidden], .cookie-settings[hidden] { display: none !important; }
.cookie-banner { padding: 6px 0; max-height: 100vh; max-height: 100dvh; overflow: auto; }
.cookie-banner .cookie-banner-inner { width: 100%; max-width: none; padding-inline: 24px; gap: 20px; }
.cookie-banner-text { min-width: 0; }
.cookie-banner-text h2, #cookie-consent-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.cookie-banner .cookie-banner-text p { line-height: 1.5; }
.cookie-banner-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
.cookie-banner .cookie-banner-actions .btn { min-height: 36px; width: auto; padding: 6px 16px; border-radius: 6px; line-height: 1.4; white-space: nowrap; }
.cookie-banner #decline-cookies-btn { background: transparent; border-color: #8fa1bc; color: #fff; }
.cookie-banner #decline-cookies-btn:hover { background: #ffffff14; border-color: #fff; }
.cookie-banner .cookie-banner-actions #close-cookies-btn { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #fff; font: 26px/1 Arial, sans-serif; cursor: pointer; }
.cookie-banner #close-cookies-btn:hover { background: #ffffff14; }
.cookie-settings { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
.cookie-banner button:focus-visible, .cookie-banner a:focus-visible, .cookie-settings:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
@media (max-width: 768px) {
  .cookie-banner { padding: 8px 0 max(8px, env(safe-area-inset-bottom)); }
  .cookie-banner .cookie-banner-inner { display: grid; grid-template-columns: minmax(0, 1fr); padding-inline: 16px; gap: 8px; }
  .cookie-banner .cookie-banner-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px;
    width: 100%;
    min-width: 0;
    max-width: none;
    gap: 8px;
    position: sticky;
    bottom: 0;
    background: #202a41;
  }
  .cookie-banner .cookie-banner-actions .btn { display: block; min-width: 0; width: 100%; min-height: 44px; padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) { .cookie-banner { transition: none; } }
