.cookie-consent[hidden], .cookie-settings[hidden], .cookie-consent [hidden] { display: none !important; }
.cookie-consent {
  position: fixed;
  z-index: 1100;
  inset: auto auto 1rem 1rem;
  width: min(34rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  padding: 1.5rem;
  background: #fff;
  color: #202838;
  border: 1px solid #ccd5e3;
  border-top: 4px solid var(--accent-color, #70a1ff);
  border-radius: .75rem;
  box-shadow: 0 .5rem 2rem rgb(0 0 0 / 20%);
  font-size: .95rem;
  line-height: 1.6;
}
.cookie-consent h2 { font-size: 1.3rem; color: #202838; margin: 0 0 .75rem; }
.cookie-consent p { margin: 0 0 .75rem; }
.cookie-consent a { color: #244b83; text-decoration: underline; }
.cookie-consent-status:empty { display: none; }
.cookie-consent-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.cookie-consent-actions button {
  flex: 1 1 12rem;
  padding: .7rem 1rem;
  border: 1px solid #244b83;
  border-radius: .35rem;
  background: #eef4ff;
  color: #18385f;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.cookie-consent-actions button:hover { background: #dce8ff; }
.cookie-consent-close, .footer .cookie-settings {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.cookie-consent-close { margin-top: 1rem; }
.footer .cookie-settings { font-size: 14px; }
.cookie-consent :focus-visible { outline: 3px solid #244b83; outline-offset: 3px; }
