/* Consent surfaces inherit the approved global design tokens. */
.syntide-consent {
  box-sizing: border-box;
  width: min(36rem, calc(100% - 2rem));
  padding: clamp(1.25rem, 4vw, 2.5rem);
  border: 1px solid var(--color-border-strong, #284858);
  border-top: 2px solid var(--color-primary, #2e9dd2);
  border-radius: var(--radius-md, .5rem);
  background: var(--gradient-dark-radial, none), var(--color-bg-elevated, #08111a);
  color: var(--color-text, #f2f4f6);
  box-shadow: var(--shadow-lg, 0 36px 90px #0008);
  font-family: var(--font-body, sans-serif);
  font-size: var(--font-size-small, .875rem);
  line-height: var(--line-height-body, 1.65);
  overflow-wrap: anywhere;
  color-scheme: dark;
}
dialog.syntide-consent {
  position: fixed;
  inset: 0;
  margin: auto;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.syntide-consent:not([open]):is(dialog), .syntide-consent [hidden], .syntide-consent[hidden], .syntide-consent-reopen[hidden] { display: none !important; }
.syntide-consent::backdrop { background: rgb(2 6 11 / 86%); backdrop-filter: blur(5px); }
html.syntide-consent-locked, html.syntide-consent-locked body { overflow: hidden; }
.syntide-consent h2 {
  margin: 0 0 var(--space-4, 1rem);
  color: var(--color-text, #f2f4f6);
  font-family: var(--font-heading, sans-serif);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: var(--font-weight-bold, 700);
  line-height: 1.12;
  letter-spacing: var(--letter-spacing-heading, .015em);
  text-transform: uppercase;
  text-wrap: balance;
}
.syntide-consent__brand-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: var(--space-8, 2rem); }
.syntide-consent__logo { width: 9rem; max-width: 65%; }
.syntide-consent__logo img, .syntide-consent__logo .site-brand__image { display: block; width: 100%; height: auto; max-height: 4rem; object-fit: contain; object-position: left center; }
.syntide-consent__logo--small { width: 6.5rem; margin-bottom: var(--space-5, 1.25rem); }
.syntide-consent__age-mark { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; flex-shrink: 0; border: var(--border-strong, 1px solid #284858); border-radius: var(--radius-md, .5rem); background: var(--gradient-surface, #0d1723); color: var(--color-cyan, #52ccf1); font: 700 1.5rem var(--font-ui, sans-serif); }
.syntide-consent .syntide-consent__eyebrow { margin: 0 0 var(--space-3, .75rem); color: var(--color-cyan, #52ccf1); font: 700 .725rem/1.35 var(--font-ui, sans-serif); letter-spacing: var(--letter-spacing-eyebrow, .18em); text-transform: uppercase; }
.syntide-consent .syntide-consent__copy { margin: 0 0 var(--space-6, 1.5rem); color: var(--color-text-muted, #aab2bc); white-space: pre-line; }
.syntide-consent__notice { display: flex; align-items: flex-start; gap: .75rem; margin: 0 0 var(--space-6, 1.5rem); padding: 1rem; border: var(--border-thin, 1px solid #284858); border-radius: var(--radius-sm, .25rem); background: var(--gradient-surface, #0d1723); }
.syntide-consent__notice svg { width: 1.5rem; height: 1.5rem; flex-shrink: 0; color: var(--color-cyan, #52ccf1); }
.syntide-consent__notice p { margin: 0; font-size: .8rem; }
.syntide-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3, .75rem); }
.syntide-consent .button { min-height: 2.875rem; white-space: normal; line-height: 1.35; padding: .8rem 1rem; cursor: pointer; }
.syntide-consent--cookie { position: fixed; z-index: var(--z-toast, 1000); right: max(1.5rem, env(safe-area-inset-right)); bottom: max(1.5rem, env(safe-area-inset-bottom)); width: min(29rem, calc(100% - 3rem)); max-height: calc(100dvh - 3rem); padding: 1.75rem; overflow-y: auto; overscroll-behavior: contain; }
.syntide-consent--cookie h2 { font-size: 1.625rem; }
.syntide-consent__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin-top: .75rem; }
.syntide-consent__links button, .syntide-consent__links a { display: inline-flex; align-items: center; min-height: 2.75rem; border: 0; padding: 0; background: transparent; color: var(--color-text-muted, #aab2bc); font: inherit; font-family: var(--font-ui, sans-serif); font-size: .8rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.syntide-consent__links :is(button, a):hover { color: var(--color-cyan, #52ccf1); }
.syntide-consent__preferences-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.syntide-consent--preferences h2 { font-size: 1.75rem; }
.syntide-consent__close { display: grid; place-items: center; flex-shrink: 0; width: 2.75rem; height: 2.75rem; margin-top: -.5rem; border: var(--border-thin, 1px solid #284858); border-radius: var(--radius-sm, .25rem); padding: 0; background: transparent; color: inherit; font: 1.75rem/1 var(--font-ui, sans-serif); cursor: pointer; }
.syntide-consent__category { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .375rem 1rem; padding: 1rem 0; border-top: var(--border-thin, 1px solid #284858); }
.syntide-consent__category label { margin: 0; font: 700 1rem/1.4 var(--font-ui, sans-serif); color: var(--color-text, #f2f4f6); cursor: pointer; }
.syntide-consent__category p { grid-column: 1 / -1; margin: 0; color: var(--color-text-muted, #aab2bc); font-size: .8rem; }
.syntide-consent__category input[type=checkbox] { appearance: none; display: block; position: relative; width: 2.875rem; height: 1.625rem; min-height: 0; margin: .375rem 0; border: 1px solid var(--color-text-muted, #aab2bc); border-radius: 2rem; padding: 0; background: var(--color-dark-navy, #0d1723); cursor: pointer; }
.syntide-consent__category input::before { position: absolute; top: .1875rem; left: .1875rem; width: 1.125rem; height: 1.125rem; border-radius: 50%; background: var(--color-text, #f2f4f6); content: ''; transition: transform var(--transition-fast, 180ms ease); }
.syntide-consent__category input:checked { background: var(--color-electric-blue, #167cc6); border-color: var(--color-cyan, #52ccf1); }
.syntide-consent__category input:checked::before { transform: translateX(1.25rem); }
.syntide-consent__category input:disabled { opacity: .65; cursor: default; }
.syntide-consent--preferences .syntide-consent__actions { margin-top: 1.25rem; }
.syntide-consent :is(button, a, input):focus-visible, .syntide-consent-reopen:focus-visible { outline: 2px solid var(--color-focus, #52ccf1); outline-offset: 4px; }
.syntide-consent-reopen { display: inline-flex; min-height: 2.75rem; align-items: center; border: 0; padding: .35rem 0; background: transparent; color: var(--color-text-muted, #aab2bc); font: inherit; font-family: var(--font-ui, sans-serif); font-size: inherit; letter-spacing: inherit; line-height: 1.4; text-decoration: underline; text-underline-offset: .2em; text-transform: inherit; cursor: pointer; }
.syntide-consent-reopen:hover { color: var(--color-cyan, #52ccf1); }
.syntide-consent-nojs { position: fixed; z-index: 100000; inset: 0; display: grid; align-content: center; padding: 2rem; background: #08111a; color: #f2f4f6; text-align: center; }
@media (max-width: 600px) {
  .syntide-consent--cookie { right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); width: calc(100% - 1.5rem); max-height: calc(100dvh - 1.5rem); padding: 1.25rem; }
  .syntide-consent__brand-row { margin-bottom: 1.5rem; }
  .syntide-consent--age .syntide-consent__actions, .syntide-consent--preferences .syntide-consent__actions { grid-template-columns: 1fr; }
  .syntide-consent-reopen { min-height: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) { .syntide-consent *, .syntide-consent *::before { animation: none !important; transition: none !important; } }
