
  .website-cookie-banner { position: fixed; inset: auto 16px 16px; z-index: 100; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; width: min(calc(100% - 32px), 1240px); margin-inline: auto; padding: 20px 24px; border: 1px solid var(--color-border); border-radius: 6px; background: var(--color-surface); color: var(--color-text); box-shadow: var(--shadow-md); max-height: calc(100dvh - 32px); overflow: auto; }
  .website-cookie-banner[hidden], .website-cookie-storage-status[hidden] { display: none; }
  .website-cookie-copy h2 { margin: 0 0 8px; font-size: 1rem; line-height: 1.4; }
  .website-cookie-copy p { margin: 0; font-size: .875rem; line-height: 1.6; }
  .website-cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .website-cookie-settings { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; background: transparent; text-decoration: underline; cursor: pointer; }
  .website-cookie-settings svg, .website-cookie-close svg { width: 18px; height: 18px; }
  .website-cookie-choice, .website-cookie-save, .website-cookie-settings { min-height: 44px; font: inherit; font-size: .875rem; line-height: 1.4; color: var(--color-text); }
  .website-cookie-choice, .website-cookie-save { padding: 10px 14px; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface); font-weight: var(--font-weight-semibold); cursor: pointer; }
  .website-cookie-choice:hover, .website-cookie-save:hover { border-color: var(--color-teal-dark); background: var(--color-teal-pale); }
  .website-cookie-preferences { width: min(560px, calc(100% - 32px)); box-sizing: border-box; padding: 24px; max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid var(--color-border); border-radius: 6px; color: var(--color-text); background: var(--color-surface); }
  .website-cookie-preferences::backdrop { background: rgba(12, 30, 34, .55); }
  .website-cookie-preferences h2 { margin: 0; padding-right: 44px; font: var(--font-weight-display) 1.75rem/1.2 var(--font-display); }
  .website-cookie-preferences p { font-size: .875rem; line-height: 1.6; color: var(--color-muted); }
  .website-cookie-close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface); color: var(--color-text); cursor: pointer; }
  .website-cookie-category { padding-block: 16px; border-top: 1px solid var(--color-border); }
  .website-cookie-category-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 1rem; font-weight: var(--font-weight-semibold); }
  .website-cookie-category-heading h3 { margin: 0; font-size: 1rem; }
  #website-cookie-necessary + span { font-size: .8125rem; color: var(--color-muted); }
  .website-cookie-category p { margin: 8px 0 0; }
  .website-cookie-category input { flex: 0 0 44px; width: 44px; height: 26px; accent-color: var(--color-teal-dark); cursor: pointer; }
  .website-cookie-preference-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .website-cookie-save { grid-column: 1 / -1; }
  .website-cookie-policy-links { margin-bottom: 0; }
  .website-cookie-banner a, .website-cookie-preferences a { color: var(--color-teal-dark); text-decoration: underline; text-underline-offset: 3px; }
  :is(.website-cookie-banner, .website-cookie-preferences) :is(button,a,input,h2):focus-visible { outline: 2px solid var(--color-teal-dark); outline-offset: 3px; }
  .website-cookie-storage-status { position: fixed; inset: auto 16px 16px; z-index: 101; width: min(500px, calc(100% - 32px)); margin: 0; padding: 12px; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface); font-size: .875rem; line-height: 1.5; }
  @media (max-width: 820px) { .website-cookie-banner { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px; } .website-cookie-settings { grid-column: auto; } .website-cookie-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 500px) { .website-cookie-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } .website-cookie-settings { grid-column: 1 / -1; } .website-cookie-preferences { padding: 20px; } }
