.cookie-banner {
  position: fixed;
  z-index: 90;
  inset: auto 0 0;
  padding: 20px max(24px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  border-top: 1px solid #353535;
  background: #111;
  color: #f0f0f0;
  font-family: "Onest", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
.cookie-banner[hidden] { display: none; }
.cookie-banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 1440px; margin-inline: auto; }
.cookie-banner p { margin: 0; max-width: 880px; }
.cookie-banner a { color: #fff; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.cookie-banner-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-banner button { min-height: 46px; padding: 10px 25px; border: 1px solid #777; border-radius: 999px; background: transparent; color: #fff; font: inherit; font-weight: 500; cursor: pointer; transition: background .2s, border-color .2s; }
.cookie-banner button:hover { border-color: #fff; background: #262626; }
.cookie-banner .cookie-accept { border-color: #fff; background: #fff; color: #111; }
.cookie-banner .cookie-accept:hover { border-color: #ddd; background: #ddd; }
.cookie-banner :focus-visible, .cookie-settings-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.cookie-settings-link { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.cookie-settings-link:hover { color: #fff; }
.cookie-settings-row { padding: 24px; color: #aaa; font-size: 14px; }
.cookie-banner-visible { padding-bottom: var(--cookie-banner-height, 100px); }
@media (max-width: 700px) {
  .cookie-banner { padding: 18px 20px max(18px, env(safe-area-inset-bottom)); font-size: 14px; }
  .cookie-banner-inner { align-items: stretch; flex-direction: column; gap: 16px; }
  .cookie-banner-actions button { flex: 1; padding-inline: 18px; }
}
