.cookie-banner[hidden], #cookie-settings[hidden] { display: none; }
.cookie-banner {
  position: fixed;
  z-index: 100;
  inset-inline: 1rem;
  bottom: max(1rem, env(safe-area-inset-bottom));
  width: min(36rem, calc(100% - 2rem));
  margin-inline: auto;
  max-height: 75vh;
  overflow: auto;
  padding: clamp(1rem, 3vw, 1.5rem);
  background: #fff;
  color: var(--deep);
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: var(--radius);
  box-shadow: 0 12px 36px #0c263f26;
}
.cookie-heading { display: flex; align-items: center; gap: .65rem; margin-bottom: .6rem; }
.cookie-heading img { flex: none; border: 1px solid var(--line); border-radius: 6px; }
.cookie-banner h2 { font-size: 1.25rem; letter-spacing: -.02em; }
.cookie-banner p { color: var(--muted); }
.cookie-banner a { color: var(--blue); text-underline-offset: .15em; }
.cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: .9rem; }
.cookie-actions button {
  min-height: 44px;
  padding: .5rem .7rem;
  border: 1px solid var(--blue);
  border-radius: 6px;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.cookie-actions button:hover { background: var(--pale); }
.cookie-actions button:disabled { cursor: wait; }
.cookie-actions button:focus-visible, #cookie-settings:focus-visible { outline: 3px solid #c07714; outline-offset: 3px; }
#cookie-status:not(:empty) { margin-top: .5rem; }
#cookie-settings {
  padding: 0;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--blue);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
  cursor: pointer;
}
@media (max-width: 460px) {
  .cookie-actions { grid-template-columns: 1fr; }
}