.cookie-notice {
  position: fixed;
  inset: auto 16px max(16px, env(safe-area-inset-bottom));
  z-index: 80;
  box-sizing: border-box;
  width: min(720px, calc(100% - 32px));
  max-height: min(70dvh, 340px);
  margin-inline: auto;
  padding: 18px 20px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--theme-line, #dce0d8);
  border-radius: 2px;
  background: var(--theme-surface, #fff);
  color: var(--theme-ink, #252a27);
  box-shadow: 0 6px 32px #00000026;
  font-family: inherit;
  text-align: start;
  overflow-wrap: anywhere;
}
.cookie-notice[hidden], .cookie-notice [hidden], .cookie-notice-spacer[hidden] { display: none; }
.cookie-notice .cookie-notice-title { margin: 0 0 8px; color: inherit; font-size: 16px; line-height: 1.4; font-weight: 600; letter-spacing: 0; }
.cookie-notice .cookie-notice-description { margin: 0; color: inherit; font-size: 14px; line-height: 1.55; }
.cookie-notice .cookie-notice-detail { margin: 8px 0 0; color: var(--theme-muted, #626a64); font-size: 12px; line-height: 1.5; }
.cookie-notice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 12px; }
.cookie-notice-actions :is(button, a) { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; margin: 0; padding: 10px 16px; border: 1px solid transparent; border-radius: 2px; font: inherit; font-size: 14px; line-height: 1.4; text-align: center; text-transform: none; letter-spacing: 0; cursor: pointer; white-space: normal; }
.cookie-notice-actions [data-cookie-necessary] { background: var(--brand-cobalt, #3047dc); color: #fff; font-weight: 500; }
.cookie-notice-actions [data-cookie-necessary]:hover { filter: brightness(1.1); }
.cookie-notice-actions :is(a, .cookie-notice-close) { background: transparent; color: var(--theme-focus, #3047dc); padding-inline: 2px; box-shadow: none; }
.cookie-notice-actions a { text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice-actions .cookie-notice-close { margin-inline-start: auto; }
.cookie-notice-actions :is(button, a):focus-visible { outline: 2px solid var(--theme-focus, #3047dc); outline-offset: 3px; }
.cookie-notice-spacer { height: var(--cookie-notice-height, 240px); flex: 0 0 var(--cookie-notice-height, 240px); pointer-events: none; }
html[data-cookie-notice-open] { scroll-padding-block-end: calc(var(--cookie-notice-height, 240px) + 16px); }
@media (max-width: 480px) {
  .cookie-notice { inset-inline: 12px; inset-block-end: max(12px, env(safe-area-inset-bottom)); width: calc(100% - 24px); padding: 14px; }
  .cookie-notice-actions { gap: 6px 12px; }
}
@media print {
  .cookie-notice, .cookie-notice-spacer { display: none; }
}
