:root {
  /* Existente */
  --primary-color: #6366f1;
  --primary-hover: #4f46e5;
  --secondary-color: #f43f5e;

  /* Identitate vizuală ghidBR.
     Logo-ul folosește gradientul indigo–roz de mai jos. Pentru elementele UI
     care cer o singură culoare (stări active, iconuri și text mic), folosim
     fuchsia-ul mai închis `--color-brand-identity`: păstrează caracterul
     mov-roșiatic al logo-ului și are contrast mai bun pe alb. */
  --color-brand-logo-start: #4f46e5;
  --color-brand-logo-end: #ec4899;
  --color-brand-identity: #a21caf;
  --color-brand-identity-soft: rgba(162, 28, 175, 0.1);
  --gradient-brand-logo: linear-gradient(to right, var(--color-brand-logo-start), var(--color-brand-logo-end));
  /* Contururi interactive: aceeași axă cromatică precum logo-ul, dar cu
     opacitate redusă ca să rămână un accent și nu o ramă dominantă. */
  --gradient-brand-border: linear-gradient(115deg, rgba(79, 70, 229, 0.48), rgba(236, 72, 153, 0.48));
  --gradient-brand-border-strong: linear-gradient(115deg, rgba(79, 70, 229, 0.82), rgba(236, 72, 153, 0.82));
  /* Interesat: CTA social comun. Starea neapăsată are suficientă
     culoare pentru a fi descoperită imediat, fără să concureze cu Bilete;
     starea confirmată rămâne indigo plin. */
  --participate-surface: linear-gradient(135deg, #f6f4ff 0%, #ebe8ff 54%, #f1eaff 100%);
  --participate-surface-hover: linear-gradient(135deg, #efedff 0%, #dfdcff 54%, #eadfff 100%);
  --participate-border: linear-gradient(115deg, rgba(79, 70, 229, 0.42), rgba(124, 58, 237, 0.4));
  --participate-border-hover: linear-gradient(115deg, rgba(79, 70, 229, 0.68), rgba(124, 58, 237, 0.62));
  --participate-text: #3f3697;
  --participate-icon: #5548d8;
  --participate-shadow: 0 4px 12px rgba(79, 70, 229, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --participate-active-surface: linear-gradient(135deg, #5f5bd7 0%, #5146c8 100%);
  --participate-active-border: linear-gradient(115deg, rgba(95, 91, 215, 0.7), rgba(81, 70, 200, 0.7));
  --participate-active-text: #ffffff;
  --participate-active-shadow: 0 4px 12px rgba(79, 70, 229, 0.28);
  --bg-gradient: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  --card-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  --card-shadow-hover: 0 20px 25px -5px rgba(99, 102, 241, 0.15), 0 10px 10px -6px rgba(99, 102, 241, 0.1);
  --glass-bg: rgba(255, 255, 255, 0.85);
  --glass-border: rgba(255, 255, 255, 0.4);

  /* Aliasuri semantice provizorii */
  --color-brand-primary: var(--primary-color);
  --color-brand-primary-hover: var(--primary-hover);
  --color-brand-accent: var(--color-brand-identity);
  --color-text-primary: #1e293b;
  --color-text-secondary: #475569;
  --color-surface: #ffffff;
  --color-surface-soft: #f8fafc;
  --color-border: rgba(226, 232, 240, 0.8);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --touch-target-min: 44px;
  --container-max: 1200px;

  /* Contract tipografic comun pentru extrasele din cardurile de review,
     locație și promoție. `tokens.css` este încărcat pe toate suprafețele. */
  --content-snippet-font-family: 'Plus Jakarta Sans', sans-serif;
  --content-snippet-font-size: 0.84rem;
  --content-snippet-font-weight: 500;
  --content-snippet-letter-spacing: 0;
  --content-snippet-line-height: 1.34;
}

@media (min-width: 768px) {
  :root {
    --content-snippet-font-size: 0.8rem;
    --content-snippet-line-height: 1.32;
  }
}

@media (min-width: 992px) {
  :root {
    --content-snippet-font-size: 0.78rem;
    --content-snippet-line-height: 1.28;
  }
}
