/* Cookie consent card (design handoff "Cookie consent card"). Loaded on the
   landing page and the console only when GA is configured. Self-contained:
   its tokens are scoped to the card and follow the site theme
   (html[data-theme]), so it renders the same next to landing.css or
   console.css. */
.p-consent{
  --c-surface-card:#ffffff;--c-surface-subtle:#f9fafb;--c-surface-hover:#f9fafb;
  --c-border-default:#e5e7eb;--c-border-subtle:#f3f4f6;--c-border-strong:#d1d5db;
  --c-text-strong:#12161f;--c-text-body:#374151;--c-text-muted:#6b7280;
  --c-text-link:#a3400f;--c-accent-hover:#a3400f;
  --c-accent-soft:#fff6ef;--c-accent-soft-text:#a3400f;
  --c-focus-ring:rgba(234,108,42,.28);
  --c-gradient-control:linear-gradient(to bottom,#ffffff,#f9fafb);
  --c-switch-off:#d1d5db;
  --c-shadow:0 4px 8px rgba(16,24,40,.06),0 12px 32px rgba(16,24,40,.10),0 24px 48px -16px rgba(16,24,40,.28);
  --c-font:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
  position:fixed;right:20px;bottom:20px;z-index:60;display:grid;gap:14px;width:min(380px,calc(100vw - 24px));padding:18px;border:1px solid var(--c-border-default);border-radius:16px;background:var(--c-surface-card);color:var(--c-text-body);box-shadow:var(--c-shadow);box-sizing:border-box;font-family:var(--c-font);animation:p-consent-in .35s cubic-bezier(.2,.7,.2,1) both}
:root[data-theme="dark"] .p-consent{
  --c-surface-card:#12161f;--c-surface-subtle:#12161f;--c-surface-hover:#181e29;
  --c-border-default:#1f2633;--c-border-subtle:#181e29;--c-border-strong:#374151;
  --c-text-strong:#f3f4f6;--c-text-body:#d1d5db;--c-text-muted:#9ca3af;
  --c-text-link:#f68a4a;--c-accent-hover:#ea6c2a;
  --c-accent-soft:rgba(234,108,42,.14);--c-accent-soft-text:#fbb07c;
  --c-focus-ring:rgba(246,138,74,.35);
  --c-gradient-control:linear-gradient(to bottom,#181e29,#12161f);
  --c-switch-off:#374151;
  --c-shadow:0 8px 24px rgba(0,0,0,.5),0 24px 48px -16px rgba(16,24,40,.28)}
.p-consent[hidden]{display:none}
.p-consent:focus{outline:none}
.p-consent [hidden]{display:none}
.p-consent__head{display:flex;align-items:center;gap:10px}
.p-consent__head h2{margin:0;font:700 15px/1.2 var(--c-font);letter-spacing:-.01em;color:var(--c-text-strong)}
.p-consent__icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:var(--c-accent-soft);color:var(--c-accent-soft-text);font-size:16px}
.p-consent__text{margin:0;font:400 14px/1.5 var(--c-font);color:var(--c-text-body);text-wrap:pretty}
.p-consent__text a{color:var(--c-text-link);font-weight:600}.p-consent__text a:hover{color:var(--c-accent-hover)}
.p-consent__cats{display:grid;border:1px solid var(--c-border-subtle);border-radius:12px;background:var(--c-surface-subtle);overflow:hidden}
.p-consent__cat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px 14px}.p-consent__cat+.p-consent__cat{border-top:1px solid var(--c-border-subtle)}
.p-consent__cat b{font:600 14px/1.2 var(--c-font);color:var(--c-text-strong)}
.p-consent__cat p{grid-column:1/-1;margin:0;font:400 13px/1.45 var(--c-font);color:var(--c-text-muted);text-wrap:pretty}
/* Switch: a native checkbox (role=switch) over a drawn track. */
.p-consent__switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.p-consent__switch input{position:absolute;opacity:0;width:0;height:0;margin:0}
.p-consent__track{position:relative;width:30px;height:18px;flex:none;border-radius:9999px;background:var(--c-switch-off);transition:background 120ms,box-shadow 120ms}
.p-consent__track::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:9999px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.2);transition:transform 120ms}
.p-consent__switch input:checked+.p-consent__track{background:var(--c-text-strong)}
.p-consent__switch input:checked+.p-consent__track::after{background:var(--c-surface-card);transform:translateX(12px)}
.p-consent__switch input:focus-visible+.p-consent__track{box-shadow:0 0 0 3px var(--c-focus-ring)}
.p-consent__switch:has(input:disabled){cursor:not-allowed}
.p-consent__switch input:disabled+.p-consent__track{opacity:.5}
/* Buttons */
.p-consent__actions{display:flex;flex-wrap:wrap;gap:8px}
.p-consent__btn{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:6px;height:32px;margin:0;padding:0 12px;border:1px solid var(--c-border-default);border-radius:6px;background:var(--c-gradient-control);color:var(--c-text-strong);font:600 14px/1 var(--c-font);white-space:nowrap;cursor:pointer;transition:background 120ms,border-color 120ms,box-shadow 120ms}
.p-consent__btn:hover{border-color:var(--c-border-strong);background:var(--c-surface-hover)}
.p-consent__btn:active{transform:translateY(.5px)}
.p-consent__btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--c-focus-ring)}
.p-consent__more{flex:0 0 auto;width:32px;padding:0}.p-consent__more .p-icon{font-size:16px;color:var(--c-text-strong)}
.p-consent__go{background:var(--c-text-strong);border-color:var(--c-text-strong);color:var(--c-surface-card)}
.p-consent__go:hover{background:color-mix(in oklab,var(--c-text-strong) 85%,var(--c-surface-card));border-color:transparent;color:var(--c-surface-card)}
.p-consent__fine{margin:-4px 0 0;font:400 12px/1.4 var(--c-font);color:var(--c-text-muted)}
@keyframes p-consent-in{from{opacity:0;transform:translateY(12px)}}
/* The landing page's search dock sits in the same corner on narrow screens:
   keep it away until the visitor has chosen. */
html[data-consent-open] .lp-dock{visibility:hidden}
@media (max-width:640px){
  .p-consent{left:12px;right:12px;bottom:12px;width:auto}
  /* The console's bottom tab bar (console.css, ≤640px). */
  .p-consent--console{bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.p-consent{animation:none}}
