/* =============================================================================
   TEME SEZONIERE — valentinborsan.art
   Primăvară (spring) · Sărbători Pascale (easter)

   Sistem: body.theme-spring | body.theme-easter
   Activat din admin /admin/theme-settings → Supabase site_settings
   ============================================================================= */


/* ── 1. Base: Atmosphere Layer ─────────────────────────────────────────────── */
/*
   Poziționat fixed, deasupra conținutului dar fără pointer-events.
   mix-blend-mode: screen = pe fonduri negre/întunecate e invizibil,
   pe elemente mai deschise creează o tentă subtilă de sezon.
   Rezultat: efectul e vizibil fără a afecta lizibilitatea sau interacțiunea.
*/
.theme-atmosphere-layer {
  position: fixed;
  inset: 0;
  z-index: 500;
  pointer-events: none;
  overflow: hidden;
  mix-blend-mode: screen;
  will-change: opacity;
  isolation: isolate;
}


/* =============================================================================
   PRIMĂVARĂ — "Prima lumină de dimineață după ploaie"

   Concept vizual: Nu flori, nu iepurași. Ci: lumina care intră oblic
   prin ceața de zori, praful de lumină suspendat în aer, verdele crud
   al vegetației înainte de a fi văzut — simțit ca o promisiune.

   Paleta:
     --sp-green  : #5e8f72  (verde crud, mușchi umed)
     --sp-sage   : #7fb49a  (salvie, ceață verde)
     --sp-clay   : #a08878  (lut roz, pământ cald)
     --sp-mist   : #c8dfd0  (ceață de dimineață)
     --sp-glow   : rgba(94,143,114, .40)
   ============================================================================= */

body.theme-spring {
  --sp-green:      #5e8f72;
  --sp-green-rgb:  94, 143, 114;
  --sp-sage:       #7fb49a;
  --sp-clay:       #a08878;
  --sp-mist:       #c8dfd0;
  --sp-glow:       rgba(94, 143, 114, 0.40);
  --sp-border:     rgba(94, 143, 114, 0.22);

  /* Suprascriem variabilele globale Rieti */
  --rieti-primary:     #5e8f72;
  --rieti-primary-rgb: 94, 143, 114;
  --rieti-glow:        rgba(94, 143, 114, 0.40);
  --rieti-border:      rgba(94, 143, 114, 0.22);
}

/* ── Lumina ambientală: ceață de zori ────────────────────────────── */
body.theme-spring .theme-atmosphere-layer {
  background:
    /* Lumina de la sol — reflexia verde-crud a câmpului */
    radial-gradient(
      ellipse 110% 40% at 50% 108%,
      rgba(94, 143, 114, 0.07) 0%,
      transparent 65%
    ),
    /* Colț stânga jos — umbra umedă */
    radial-gradient(
      ellipse 55% 55% at -5% 95%,
      rgba(80, 130, 100, 0.055) 0%,
      transparent 60%
    ),
    /* Colț dreapta sus — răsăritul roz-discret */
    radial-gradient(
      ellipse 50% 45% at 105% 5%,
      rgba(175, 145, 130, 0.045) 0%,
      transparent 55%
    ),
    /* Centru — ceața care difuzează lumina */
    radial-gradient(
      ellipse 80% 70% at 50% 45%,
      rgba(94, 143, 114, 0.018) 0%,
      transparent 70%
    );

  animation: sp-atmosphere-breathe 22s ease-in-out infinite alternate;
}

@keyframes sp-atmosphere-breathe {
  0%   { opacity: 0.45; transform: scale(1) translateY(0); }
  40%  { opacity: 0.85; transform: scale(1.02) translateY(-0.4%); }
  70%  { opacity: 0.65; transform: scale(1.01) translateY(-0.2%); }
  100% { opacity: 0.55; transform: scale(1.015) translateY(0); }
}

/* ── Particule: praf de lumină / pollen suspendat ────────────────── */
/*
   Tehnica: radial-gradient dots la dimensiuni de 1-2px, distribuite
   neuniform. Animăm background-position pentru drift lent.
   Zero JavaScript, zero assets, CPU neglijabil.
*/
body.theme-spring .theme-atmosphere-layer::before {
  content: "";
  position: absolute;
  /* Extindem ușor dincolo de viewport pentru a evita tăierea la margini */
  inset: -8%;
  width:  116%;
  height: 116%;

  background-image:
    /* Seria A — puncte mari (mai vizibile, mișcare mai lentă) */
    radial-gradient(circle 2px   at 7%   18%,  rgba(168, 210, 180, 0.80) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 21%  72%,  rgba(148, 195, 163, 0.65) 0%, transparent 100%),
    radial-gradient(circle 2px   at 36%  38%,  rgba(175, 215, 185, 0.55) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 48%  85%,  rgba(160, 200, 170, 0.70) 0%, transparent 100%),
    radial-gradient(circle 2px   at 59%  22%,  rgba(148, 195, 163, 0.60) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 73%  65%,  rgba(175, 215, 185, 0.50) 0%, transparent 100%),
    radial-gradient(circle 2px   at 88%  42%,  rgba(168, 210, 178, 0.65) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 93%  80%,  rgba(155, 195, 165, 0.55) 0%, transparent 100%),
    /* Seria B — puncte mici (discretizare fină a câmpului) */
    radial-gradient(circle 1px   at 14%  52%,  rgba(185, 218, 188, 0.55) 0%, transparent 100%),
    radial-gradient(circle 1px   at 29%  8%,   rgba(165, 205, 175, 0.60) 0%, transparent 100%),
    radial-gradient(circle 1px   at 43%  60%,  rgba(148, 195, 163, 0.45) 0%, transparent 100%),
    radial-gradient(circle 1px   at 55%  90%,  rgba(175, 212, 182, 0.55) 0%, transparent 100%),
    radial-gradient(circle 1px   at 67%  33%,  rgba(160, 202, 170, 0.50) 0%, transparent 100%),
    radial-gradient(circle 1px   at 80%  78%,  rgba(148, 195, 163, 0.60) 0%, transparent 100%),
    radial-gradient(circle 1px   at 95%  15%,  rgba(185, 218, 188, 0.45) 0%, transparent 100%),
    /* Seria C — tentă rozalină (argile, zori) */
    radial-gradient(circle 1.5px at 3%   35%,  rgba(190, 160, 148, 0.40) 0%, transparent 100%),
    radial-gradient(circle 1px   at 52%  12%,  rgba(200, 170, 155, 0.35) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 84%  6%,   rgba(185, 158, 145, 0.38) 0%, transparent 100%);

  /* Drift lent diagonal — simulează curentul de aer de dimineață */
  animation: sp-motes-drift 48s linear infinite;
  opacity: 0.85;
}

@keyframes sp-motes-drift {
  0%   { transform: translate(0,    0)    rotate(0deg);    }
  20%  { transform: translate(1.2%, -2.5%) rotate(0.15deg); }
  45%  { transform: translate(2.5%, -5%)  rotate(0deg);    }
  65%  { transform: translate(1.8%, -3.5%) rotate(-0.1deg); }
  85%  { transform: translate(0.8%, -1.5%) rotate(0.08deg); }
  100% { transform: translate(0,    0)    rotate(0deg);    }
}

/* ── Al doilea câmp de particule — offset de fază ───────────────── */
body.theme-spring .theme-atmosphere-layer::after {
  content: "";
  position: absolute;
  inset: -12%;
  width:  124%;
  height: 124%;

  background-image:
    radial-gradient(circle 1.5px at 10%  90%,  rgba(155, 200, 165, 0.60) 0%, transparent 100%),
    radial-gradient(circle 2px   at 25%  45%,  rgba(168, 210, 178, 0.50) 0%, transparent 100%),
    radial-gradient(circle 1px   at 39%  15%,  rgba(148, 195, 163, 0.65) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 61%  70%,  rgba(175, 212, 182, 0.55) 0%, transparent 100%),
    radial-gradient(circle 2px   at 77%  30%,  rgba(160, 200, 170, 0.60) 0%, transparent 100%),
    radial-gradient(circle 1px   at 91%  60%,  rgba(185, 218, 188, 0.45) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 18%  25%,  rgba(168, 205, 175, 0.45) 0%, transparent 100%),
    radial-gradient(circle 1px   at 50%  50%,  rgba(148, 192, 160, 0.55) 0%, transparent 100%),
    radial-gradient(circle 2px   at 96%  10%,  rgba(175, 215, 185, 0.50) 0%, transparent 100%),
    radial-gradient(circle 1px   at 33%  95%,  rgba(160, 202, 172, 0.55) 0%, transparent 100%);

  /* Offset în timp și direcție față de prima serie */
  animation: sp-motes-drift-b 62s linear infinite reverse;
  opacity: 0.65;
}

@keyframes sp-motes-drift-b {
  0%   { transform: translate(0,     0);     }
  30%  { transform: translate(-1.5%, -3.5%); }
  60%  { transform: translate(-3%,   -2%);   }
  85%  { transform: translate(-1.8%, -4.5%); }
  100% { transform: translate(0,     0);     }
}

/* ── Color overrides: roșu brand → verde de primăvară ───────────── */
body.theme-spring .text-red-500              { color: var(--sp-green) !important; }
body.theme-spring .text-red-400              { color: var(--sp-sage)  !important; }
body.theme-spring .border-red-500            { border-color: var(--sp-green) !important; }
body.theme-spring .hover\:text-red-500:hover { color: var(--sp-green) !important; }
body.theme-spring .bg-brand-red              { background-color: var(--sp-green) !important; }
body.theme-spring .peer-checked\:bg-brand-red{ background-color: var(--sp-green) !important; }
body.theme-spring .focus\:border-red-500:focus { border-color: var(--sp-green) !important; }

/* ── Accente UI ─────────────────────────────────────────────────── */

/* Titluri globale */
body.theme-spring .rieti-title,
body.theme-spring .settings-section-title {
  color: var(--sp-green);
  text-shadow: 0 0 24px var(--sp-glow);
}

/* Newsletter: focus ring */
body.theme-spring #newsletterForm input:focus {
  outline: none;
  border-color: var(--sp-green) !important;
  box-shadow: 0 0 0 2px rgba(94, 143, 114, 0.25) !important;
}

/* Progress bar: verde crud */
body.theme-spring .dj-autoplay-progress {
  background: var(--sp-sage);
  box-shadow: 0 0 10px rgba(127, 180, 154, 0.65);
  --particle-rgb: 127, 180, 154;
}

/* Subtitle overlay border */
body.theme-spring .rieti-subtitle-overlay {
  border-color: var(--sp-border);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.6),
    0 0 18px rgba(94, 143, 114, 0.08);
}

/* dj-choice-btn: nuanță verde */
body.theme-spring .dj-choice-btn {
  background: linear-gradient(
    135deg,
    rgba(var(--sp-green-rgb), 0.12) 0%,
    rgba(var(--sp-green-rgb), 0.05) 100%
  );
  border-color: var(--sp-border);
  box-shadow:
    0 0 10px var(--sp-glow),
    0 4px 20px rgba(0, 0, 0, 0.4);
}
body.theme-spring .dj-choice-btn:hover {
  background: linear-gradient(
    135deg,
    rgba(var(--sp-green-rgb), 0.28) 0%,
    rgba(var(--sp-green-rgb), 0.12) 100%
  );
  border-color: var(--sp-sage);
  box-shadow:
    0 0 28px var(--sp-glow),
    0 4px 24px rgba(0, 0, 0, 0.5);
}

/* ── Shimmer pe hero: reflexia luminii de zori ──────────────────── */
body.theme-spring #hero-bg-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
    155deg,
    transparent 0%,
    transparent 35%,
    rgba(130, 190, 150, 0.035) 47%,
    rgba(148, 205, 165, 0.055) 50%,
    rgba(130, 190, 150, 0.035) 53%,
    transparent 65%,
    transparent 100%
  );
  background-size: 220% 220%;
  animation: sp-hero-shimmer 18s ease-in-out infinite;
  mix-blend-mode: screen;
}

@keyframes sp-hero-shimmer {
  0%   { background-position: 15% 25%; opacity: 0.50; }
  35%  { background-position: 68% 58%; opacity: 0.95; }
  65%  { background-position: 88% 30%; opacity: 0.65; }
  100% { background-position: 15% 25%; opacity: 0.50; }
}

/* ── Progress bar: culoare Spring ──────────────────────────────── */
body[data-season="primavera"].theme-spring .dj-autoplay-progress,
body.theme-spring .dj-autoplay-progress {
  background: var(--sp-sage);
  box-shadow: 0 0 10px rgba(127, 180, 154, 0.65);
}


/* =============================================================================
   SĂRBĂTORI PASCALE — "Lumina de Înviiere"

   Concept: Nu ou vopsit, nu iepuraș. Ci: lumina lumânărilor de Paști
   — aurul icoanelor, razele care taie bezna din biserica de noapte,
   scânteile care urcă spre bolta întunecată, căldura de tămâie.

   Paleta:
     --ea-gold    : #b8913a  (aur liturgic, icoane bizantine)
     --ea-amber   : #d4a843  (ambră, lumânări)
     --ea-carmine : #8c2020  (carmin adânc, catifea de altar)
     --ea-incense : #4a2255  (violet de tămâie)
     --ea-ivory   : #f0e8d0  (fildeș, pergament)
     --ea-glow    : rgba(184,145,58, .45)
   ============================================================================= */

body.theme-easter {
  --ea-gold:       #b8913a;
  --ea-gold-rgb:   184, 145, 58;
  --ea-amber:      #d4a843;
  --ea-amber-rgb:  212, 168, 67;
  --ea-carmine:    #8c2020;
  --ea-incense:    #4a2255;
  --ea-ivory:      #f0e8d0;
  --ea-glow:       rgba(184, 145, 58, 0.45);
  --ea-border:     rgba(184, 145, 58, 0.28);

  /* Suprascriem variabilele globale Rieti */
  --rieti-primary:     #b8913a;
  --rieti-primary-rgb: 184, 145, 58;
  --rieti-glow:        rgba(184, 145, 58, 0.45);
  --rieti-border:      rgba(184, 145, 58, 0.28);
}

/* ── Lumina ambientală: căldura lumânărilor ─────────────────────── */
body.theme-easter .theme-atmosphere-layer {
  background:
    /* Căldura de jos — lumânările de la podea */
    radial-gradient(
      ellipse 100% 38% at 50% 110%,
      rgba(200, 140, 40, 0.08) 0%,
      transparent 65%
    ),
    /* Sursa centrală de lumină — altar */
    radial-gradient(
      ellipse 60% 65% at 50% 60%,
      rgba(184, 145, 58, 0.04) 0%,
      transparent 65%
    ),
    /* Umbra de tămâie — stânga */
    radial-gradient(
      ellipse 40% 70% at -2% 45%,
      rgba(74, 34, 85, 0.05) 0%,
      transparent 65%
    ),
    /* Umbra de tămâie — dreapta */
    radial-gradient(
      ellipse 38% 65% at 102% 40%,
      rgba(60, 25, 70, 0.04) 0%,
      transparent 60%
    ),
    /* Razele din cupola — sus */
    radial-gradient(
      ellipse 70% 30% at 50% -5%,
      rgba(212, 168, 67, 0.035) 0%,
      transparent 70%
    );

  animation: ea-candle-breathe 14s ease-in-out infinite alternate;
}

@keyframes ea-candle-breathe {
  0%   { opacity: 0.50; transform: scale(1)    translateY(0);     }
  25%  { opacity: 0.88; transform: scale(1.015) translateY(-0.3%); }
  55%  { opacity: 0.70; transform: scale(1.008) translateY(-0.1%); }
  80%  { opacity: 0.85; transform: scale(1.012) translateY(-0.25%); }
  100% { opacity: 0.60; transform: scale(1)    translateY(0);     }
}

/* ── Raze de lumină: lumina care taie bezna ─────────────────────── */
/*
   Tehnica: linear-gradient la unghiuri ușor diferite,
   lărgime controlată prin puncte de stop clare.
   Efectul: fascicule de lumină aurie care pulsează lin.
*/
body.theme-easter .theme-atmosphere-layer::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    /* Raza principală — centru, ușor oblică */
    linear-gradient(
      170deg,
      transparent 0%,
      transparent 28%,
      rgba(212, 168, 67, 0.022) 42%,
      rgba(220, 178, 75, 0.038) 50%,
      rgba(212, 168, 67, 0.022) 58%,
      transparent 72%,
      transparent 100%
    ),
    /* Raza stângă */
    linear-gradient(
      160deg,
      transparent 0%,
      transparent 18%,
      rgba(200, 158, 55, 0.016) 33%,
      rgba(210, 170, 65, 0.026) 39%,
      rgba(200, 158, 55, 0.016) 45%,
      transparent 58%,
      transparent 100%
    ),
    /* Raza dreaptă */
    linear-gradient(
      180deg,
      transparent 0%,
      transparent 35%,
      rgba(215, 172, 60, 0.018) 48%,
      rgba(225, 185, 72, 0.030) 54%,
      rgba(215, 172, 60, 0.018) 60%,
      transparent 74%,
      transparent 100%
    ),
    /* Raza îngustă de la boltă — coloana de lumină verticală */
    linear-gradient(
      175deg,
      rgba(230, 190, 80, 0.020) 0%,
      rgba(220, 178, 72, 0.030) 8%,
      rgba(210, 165, 60, 0.015) 16%,
      transparent 30%,
      transparent 100%
    );

  animation: ea-rays-pulse 24s ease-in-out infinite;
  will-change: opacity, transform;
}

@keyframes ea-rays-pulse {
  0%   { opacity: 0.35; transform: scaleY(1)    translateX(0); }
  20%  { opacity: 0.80; transform: scaleY(1.02) translateX(0.4%); }
  45%  { opacity: 0.55; transform: scaleY(1)    translateX(0); }
  70%  { opacity: 0.88; transform: scaleY(1.015) translateX(-0.3%); }
  100% { opacity: 0.35; transform: scaleY(1)    translateX(0); }
}

/* ── Scântei aurii: ca lumânările din biserică ──────────────────── */
/*
   Puncte aurii la dimensiuni variabile (1-2.5px), distribuite
   cu accent spre centru și jos (sursele de lumânare).
   Animăm o urcare lentă (sparks rising) + oscillare.
*/
body.theme-easter .theme-atmosphere-layer::after {
  content: "";
  position: absolute;
  inset: -15%;
  width:  130%;
  height: 130%;

  background-image:
    /* Scântei mari — mai aproape de sursă (jos) */
    radial-gradient(circle 2.5px at 15%  85%,  rgba(230, 185, 70, 0.85) 0%, transparent 100%),
    radial-gradient(circle 2px   at 32%  78%,  rgba(215, 172, 60, 0.75) 0%, transparent 100%),
    radial-gradient(circle 2.5px at 52%  88%,  rgba(225, 182, 68, 0.80) 0%, transparent 100%),
    radial-gradient(circle 2px   at 70%  82%,  rgba(212, 168, 58, 0.70) 0%, transparent 100%),
    radial-gradient(circle 2px   at 86%  79%,  rgba(228, 185, 72, 0.75) 0%, transparent 100%),
    /* Scântei medii — mijlocul ecranului */
    radial-gradient(circle 1.5px at 8%   55%,  rgba(218, 175, 65, 0.65) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 25%  48%,  rgba(205, 162, 55, 0.60) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 44%  58%,  rgba(222, 178, 68, 0.55) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 62%  45%,  rgba(210, 168, 60, 0.65) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 78%  62%,  rgba(225, 182, 70, 0.60) 0%, transparent 100%),
    radial-gradient(circle 1.5px at 94%  50%,  rgba(215, 172, 63, 0.55) 0%, transparent 100%),
    /* Scântei mici — sus, aproape de stingere */
    radial-gradient(circle 1px   at 12%  25%,  rgba(210, 168, 60, 0.55) 0%, transparent 100%),
    radial-gradient(circle 1px   at 28%  18%,  rgba(200, 158, 52, 0.50) 0%, transparent 100%),
    radial-gradient(circle 1px   at 48%  32%,  rgba(218, 175, 65, 0.45) 0%, transparent 100%),
    radial-gradient(circle 1px   at 65%  22%,  rgba(208, 165, 58, 0.55) 0%, transparent 100%),
    radial-gradient(circle 1px   at 82%  28%,  rgba(215, 172, 62, 0.48) 0%, transparent 100%),
    radial-gradient(circle 1px   at 96%  15%,  rgba(205, 162, 55, 0.52) 0%, transparent 100%),
    /* Accente de violet-tămâie (scântei de jar răcit) */
    radial-gradient(circle 1.5px at 38%  92%,  rgba(160, 100, 180, 0.35) 0%, transparent 100%),
    radial-gradient(circle 1px   at 71%  95%,  rgba(150, 90,  170, 0.30) 0%, transparent 100%);

  /* Scânteile urcă lent, tremurând ușor */
  animation: ea-sparks-rise 42s ease-in-out infinite;
  opacity: 0.90;
}

@keyframes ea-sparks-rise {
  0%   { transform: translate(0,    0)     rotate(0deg);    }
  15%  { transform: translate(0.3%, -3%)   rotate(0.1deg);  }
  30%  { transform: translate(0.6%, -6%)   rotate(0deg);    }
  45%  { transform: translate(0.3%, -9%)   rotate(-0.1deg); }
  60%  { transform: translate(0,    -12%)  rotate(0deg);    }
  75%  { transform: translate(-0.3%, -15%) rotate(0.1deg);  }
  88%  { transform: translate(-0.2%, -18%) rotate(0deg);    }
  /* Reset brusc (invizibil la opacity scăzut deja) */
  89%  { transform: translate(0,    0)     rotate(0deg);    opacity: 0; }
  90%  { transform: translate(0,    0)     rotate(0deg);    opacity: 0.90; }
  100% { transform: translate(0,    0)     rotate(0deg);    }
}

/* ── Color overrides: roșu brand → aur liturgic ────────────────── */
body.theme-easter .text-red-500              { color: var(--ea-gold)   !important; }
body.theme-easter .text-red-400              { color: var(--ea-amber)  !important; }
body.theme-easter .border-red-500            { border-color: var(--ea-gold) !important; }
body.theme-easter .hover\:text-red-500:hover { color: var(--ea-gold)   !important; }
body.theme-easter .bg-brand-red              { background-color: var(--ea-gold) !important; }
body.theme-easter .peer-checked\:bg-brand-red{ background-color: var(--ea-gold) !important; }
body.theme-easter .focus\:border-red-500:focus{ border-color: var(--ea-gold) !important; }

/* ── Accente UI ─────────────────────────────────────────────────── */

/* Titluri globale */
body.theme-easter .rieti-title,
body.theme-easter .settings-section-title {
  color: var(--ea-gold);
  text-shadow: 0 0 24px var(--ea-glow);
}

/* Newsletter: focus ring auriu */
body.theme-easter #newsletterForm input:focus {
  outline: none;
  border-color: var(--ea-gold) !important;
  box-shadow: 0 0 0 2px rgba(184, 145, 58, 0.28) !important;
}

/* Progress bar: aur pascal */
body.theme-easter .dj-autoplay-progress {
  background: var(--ea-amber);
  box-shadow: 0 0 12px rgba(212, 168, 67, 0.65);
  --particle-rgb: 212, 168, 67;
}

/* Subtitle overlay border */
body.theme-easter .rieti-subtitle-overlay {
  border-color: var(--ea-border);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.6),
    0 0 18px rgba(184, 145, 58, 0.10);
}

/* dj-choice-btn: nuanță aurie */
body.theme-easter .dj-choice-btn {
  background: linear-gradient(
    135deg,
    rgba(var(--ea-gold-rgb), 0.12) 0%,
    rgba(var(--ea-gold-rgb), 0.05) 100%
  );
  border-color: var(--ea-border);
  box-shadow:
    0 0 10px var(--ea-glow),
    0 4px 20px rgba(0, 0, 0, 0.4);
}
body.theme-easter .dj-choice-btn:hover {
  background: linear-gradient(
    135deg,
    rgba(var(--ea-gold-rgb), 0.28) 0%,
    rgba(var(--ea-gold-rgb), 0.12) 100%
  );
  border-color: var(--ea-amber);
  box-shadow:
    0 0 32px var(--ea-glow),
    0 4px 24px rgba(0, 0, 0, 0.5);
}

/* ── Shimmer pe hero: lumina aurie a lumânărilor ────────────────── */
body.theme-easter #hero-bg-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
    165deg,
    transparent 0%,
    transparent 30%,
    rgba(200, 155, 50, 0.028) 45%,
    rgba(218, 170, 62, 0.045) 50%,
    rgba(200, 155, 50, 0.028) 55%,
    transparent 68%,
    transparent 100%
  );
  background-size: 240% 240%;
  animation: ea-hero-shimmer 16s ease-in-out infinite;
  mix-blend-mode: screen;
}

@keyframes ea-hero-shimmer {
  0%   { background-position: 10% 15%; opacity: 0.45; }
  30%  { background-position: 72% 60%; opacity: 1.00; }
  65%  { background-position: 88% 28%; opacity: 0.65; }
  100% { background-position: 10% 15%; opacity: 0.45; }
}

/* ── Ajustare pentru modul "river" existent (compatibilitate) ───── */
body.theme-easter[data-theme="river"] #bg-wrapper::after,
body.theme-easter[data-season] #bg-wrapper::after {
  /* Shimmer-ul Velino rămâne, dar cu tentă aurie */
  background: linear-gradient(
    118deg,
    transparent 0%,
    transparent 38%,
    rgba(212, 168, 67, 0.04) 48%,
    rgba(220, 178, 72, 0.065) 50%,
    rgba(212, 168, 67, 0.04) 52%,
    transparent 62%,
    transparent 100%
  );
}


/* =============================================================================
   ACCESIBILITATE — Reduced Motion
   ============================================================================= */
@media (prefers-reduced-motion: reduce) {
  body.theme-spring .theme-atmosphere-layer,
  body.theme-spring .theme-atmosphere-layer::before,
  body.theme-spring .theme-atmosphere-layer::after,
  body.theme-spring #hero-bg-wrapper::after,
  body.theme-easter .theme-atmosphere-layer,
  body.theme-easter .theme-atmosphere-layer::before,
  body.theme-easter .theme-atmosphere-layer::after,
  body.theme-easter #hero-bg-wrapper::after {
    animation: none !important;
    transition: none !important;
  }
}
