.cookie-banner, .cookie-dialog {
  box-sizing: border-box;
  background: #101318;
  color: #fff;
  font: 14px/1.5 var(--int-font-sans, Arial, sans-serif);
  border: 1px solid #8d99aa;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 8px 24px rgb(0 0 0 / 25%);
  overflow-wrap: anywhere;
}
.cookie-banner {
  position: fixed;
  left: max(12px, env(safe-area-inset-left));
  bottom: max(12px, env(safe-area-inset-bottom));
  width: 440px;
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  z-index: 10000;
}
.cookie-banner[hidden], .cookie-error[hidden] { display: none; }
body:has([aria-modal="true"]:not(.cookie-dialog)) .cookie-banner { visibility: hidden; }
.cookie-banner h2, .cookie-dialog h2 { font-size: 20px; line-height: 1.25; margin: 0 0 12px; color: inherit; }
.cookie-banner p, .cookie-dialog p { margin: 0 0 16px; color: #e1e8f2; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.cookie-actions button, .cookie-dialog > button {
  appearance: none;
  padding: 10px 12px;
  border: 1px solid #8fc6ff;
  border-radius: 4px;
  background: #0758b1;
  color: #fff;
  font: inherit;
  cursor: pointer;
  min-height: 44px;
  flex: 1 1 auto;
}
.cookie-actions button:hover, .cookie-dialog > button:hover { background: #064788; }
.cookie-actions button:disabled { opacity: .6; cursor: wait; }
.cookie-banner :focus-visible, .cookie-dialog :focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.cookie-dialog { width: 560px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); margin: auto; overflow-y: auto; }
.cookie-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.cookie-dialog > button { margin-bottom: 20px; }
.cookie-options section { padding: 16px 0; border-top: 1px solid #667386; }
.cookie-options h3, .cookie-options label { font-size: 16px; font-weight: 600; color: #fff; }
.cookie-options input { width: 20px; height: 20px; accent-color: #0758b1; margin-right: 10px; vertical-align: middle; }
.cookie-options p { margin-top: 8px; margin-bottom: 0; }
.cookie-error { position: fixed; bottom: 12px; right: 12px; max-width: min(440px, calc(100vw - 24px)); z-index: 10002; padding: 16px; background: #61151b; color: #fff; border-radius: 4px; }
.cookie-settings-page { padding-block: 40px; max-width: 72ch; }
.cookie-settings-page fieldset { border: 1px solid #8793a5; padding: 20px; margin: 24px 0; }
.cookie-settings-page label { display: inline-block; margin: 8px 16px 8px 0; }
.cookie-settings-actions { display: flex; flex-wrap: wrap; gap: 12px; }
