/* =========================================================
   Cookie-Consent — DSGVO/TDDDG
   Momentum design system — consumes the shared brand tokens
   (public/brand.css, loaded first). Restyle only: no consent
   or analytics behaviour changes. No brand token is defined
   here and no retired engineering-era bridge token is used.
   ========================================================= */

.cc-scrim{
  position:fixed;inset:0;z-index:190;background:rgba(20,22,25,.32);
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;
}
.cc-scrim.show{opacity:1;visibility:visible}

.cc-banner{
  position:fixed;z-index:200;left:0;right:0;bottom:0;
  padding:0 16px 16px;pointer-events:none;
  display:flex;justify-content:center;
}
.cc-card{
  pointer-events:auto;width:100%;max-width:560px;
  background:var(--surface-container);border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-card);
  padding:24px 24px 22px;
  transform:translateY(140%);transition:transform .42s cubic-bezier(.22,.8,.28,1);
}
.cc-banner.show .cc-card{transform:translateY(0)}
@media(min-width:768px){
  .cc-banner{justify-content:flex-start;padding:0 0 26px 26px}
  .cc-card{max-width:440px}
}
@media (prefers-reduced-motion:reduce){
  .cc-card{transition:none}
}

.cc-kicker{
  font-size:var(--text-label);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--primary);display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.cc-kicker::before{content:"";width:18px;height:1.5px;background:var(--primary)}

.cc-card h2{
  font-weight:800;letter-spacing:-.01em;line-height:1.1;
  font-size:19px;color:var(--on-surface);
}
.cc-card p{margin-top:11px;font-size:13.5px;line-height:1.6;color:var(--on-surface-variant);text-wrap:pretty}
.cc-card p a{color:var(--primary);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--primary) 35%,transparent)}
.cc-card p a:hover{border-bottom-color:var(--primary)}

/* analytics opt-out toggle (default: tracking on) */
.cc-opt{margin-top:14px;display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--on-surface-variant);cursor:pointer}
.cc-opt input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:var(--primary);cursor:pointer}

/* buttons */
.cc-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cc-btn{
  font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  padding:13px 18px;border:1px solid var(--primary);border-radius:var(--radius-md);
  cursor:pointer;line-height:1;
  transition:background .18s,color .18s,border-color .18s;
}
.cc-btn.primary{background:var(--primary);color:var(--on-primary)}
.cc-btn.primary:hover{background:transparent;color:var(--primary)}
.cc-btn.flex{flex:1;text-align:center}

@media(max-width:480px){
  .cc-actions{gap:8px}
  .cc-btn.flex{flex:1 1 100%}
}
