/* ================================================================
   ARENDWIJK FASE 14 — DUIDELIJKE SEIZOENS- EN EVENEMENTENTHEMA'S
   Decoratief, pointer-vrij en met ondersteuning voor reduced motion.
   ================================================================ */

body[class*="site-theme-"] {
  isolation: isolate;
  min-height: 100vh;
  background-attachment: fixed;
}

body[class*="site-theme-"] > :not(.seasonal-scene) {
  position: relative;
  z-index: 1;
}

.seasonal-scene {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: strict;
}

.seasonal-scene::before,
.seasonal-scene::after {
  position: absolute;
  pointer-events: none;
}

.seasonal-particle {
  position: absolute;
  left: var(--particle-x);
  top: -12vh;
  display: block;
  width: var(--particle-size);
  height: var(--particle-size);
  font-size: var(--particle-size);
  line-height: 1;
  opacity: var(--particle-opacity);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .22));
  will-change: transform;
  animation-duration: var(--particle-duration);
  animation-delay: var(--particle-delay);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* LENTE ---------------------------------------------------------- */
body.site-theme-lente {
  background:
    radial-gradient(circle at 12% 8%, rgba(244, 114, 182, .34), transparent 31%),
    radial-gradient(circle at 88% 16%, rgba(134, 239, 172, .25), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(125, 211, 252, .18), transparent 40%),
    linear-gradient(145deg, #07101a 0%, #111526 48%, #0b2019 100%);
}

body.site-theme-lente .seasonal-scene::before {
  content: "\1F338 ";
  top: 68px;
  right: 3vw;
  font-size: clamp(72px, 11vw, 168px);
  opacity: .15;
  transform: rotate(12deg);
}

body.site-theme-lente .seasonal-scene::after {
  content: "";
  left: -5vw;
  right: -5vw;
  bottom: -85px;
  height: 185px;
  background:
    radial-gradient(ellipse at 10% 100%, rgba(34, 197, 94, .24) 0 42%, transparent 43%),
    radial-gradient(ellipse at 35% 100%, rgba(74, 222, 128, .18) 0 46%, transparent 47%),
    radial-gradient(ellipse at 70% 100%, rgba(34, 197, 94, .22) 0 44%, transparent 45%),
    radial-gradient(ellipse at 95% 100%, rgba(134, 239, 172, .15) 0 45%, transparent 46%);
}

.seasonal-petal {
  color: #f9a8d4;
  animation-name: seasonal-petal-fall;
}

/* ZOMER ---------------------------------------------------------- */
body.site-theme-zomer {
  background:
    radial-gradient(circle at 88% 10%, rgba(250, 204, 21, .40), transparent 21%),
    radial-gradient(circle at 12% 20%, rgba(56, 189, 248, .28), transparent 32%),
    linear-gradient(180deg, #071727 0%, #09283d 56%, #092c31 100%);
}

body.site-theme-zomer .seasonal-scene::before {
  content: "";
  top: 78px;
  right: 5vw;
  width: clamp(74px, 10vw, 145px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 35%, #fff7ae 0 9%, #fde047 28%, #f59e0b 70%);
  box-shadow: 0 0 45px rgba(250, 204, 21, .30), 0 0 100px rgba(250, 204, 21, .16);
  opacity: .72;
}

body.site-theme-zomer .seasonal-scene::after {
  content: "";
  left: -10%;
  right: -10%;
  bottom: -75px;
  height: 170px;
  background:
    radial-gradient(80px 34px at 8% 22%, transparent 62%, rgba(56, 189, 248, .25) 64% 72%, transparent 74%),
    radial-gradient(100px 42px at 24% 16%, transparent 62%, rgba(45, 212, 191, .22) 64% 72%, transparent 74%),
    radial-gradient(100px 42px at 48% 20%, transparent 62%, rgba(56, 189, 248, .23) 64% 72%, transparent 74%),
    radial-gradient(100px 42px at 72% 15%, transparent 62%, rgba(45, 212, 191, .22) 64% 72%, transparent 74%),
    radial-gradient(100px 42px at 93% 22%, transparent 62%, rgba(56, 189, 248, .24) 64% 72%, transparent 74%),
    linear-gradient(180deg, rgba(14, 116, 144, .04), rgba(8, 145, 178, .18));
}

.seasonal-ball {
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 31%, rgba(255,255,255,.95) 0 11%, transparent 12%),
    conic-gradient(#ef4444 0 17%, #f8fafc 17% 34%, #38bdf8 34% 51%, #f8fafc 51% 68%, #facc15 68% 84%, #f8fafc 84% 100%);
  border: 2px solid rgba(255, 255, 255, .54);
  box-shadow: inset -6px -8px 12px rgba(0,0,0,.18), 0 8px 18px rgba(0,0,0,.20);
  animation-name: seasonal-ball-float;
}

/* HERFST --------------------------------------------------------- */
body.site-theme-herfst {
  background:
    radial-gradient(circle at 13% 10%, rgba(249, 115, 22, .38), transparent 31%),
    radial-gradient(circle at 88% 16%, rgba(251, 191, 36, .25), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(120, 53, 15, .25), transparent 40%),
    linear-gradient(145deg, #100b09 0%, #1c1210 48%, #171208 100%);
}

body.site-theme-herfst .seasonal-scene::before {
  content: "\1F341 ";
  top: 70px;
  left: 2vw;
  font-size: clamp(80px, 12vw, 180px);
  opacity: .17;
  transform: rotate(-18deg);
}

body.site-theme-herfst .seasonal-scene::after {
  content: "\1F342   \1F341   \1F342   \1F341   \1F342 ";
  left: 0;
  right: 0;
  bottom: -15px;
  font-size: clamp(34px, 6vw, 78px);
  letter-spacing: 4vw;
  text-align: center;
  white-space: nowrap;
  opacity: .16;
  filter: blur(.15px);
}

.seasonal-leaf {
  animation-name: seasonal-leaf-fall;
}

/* WINTER --------------------------------------------------------- */
body.site-theme-winter {
  background:
    radial-gradient(circle at 15% 8%, rgba(191, 219, 254, .34), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(125, 211, 252, .27), transparent 29%),
    linear-gradient(155deg, #05101e 0%, #0b1d33 52%, #101827 100%);
}

body.site-theme-winter .seasonal-scene::before {
  content: "\2744 ";
  top: 70px;
  right: 3vw;
  font-size: clamp(96px, 16vw, 230px);
  color: #e0f2fe;
  opacity: .11;
  filter: drop-shadow(0 0 28px rgba(186, 230, 253, .35));
}

body.site-theme-winter .seasonal-scene::after {
  content: "";
  left: -5%;
  right: -5%;
  bottom: -76px;
  height: 150px;
  border-radius: 50% 50% 0 0 / 70% 70% 0 0;
  background:
    radial-gradient(ellipse at 18% 10%, rgba(255,255,255,.78) 0 32%, transparent 34%),
    radial-gradient(ellipse at 52% 5%, rgba(224,242,254,.72) 0 36%, transparent 38%),
    radial-gradient(ellipse at 84% 15%, rgba(255,255,255,.73) 0 34%, transparent 36%),
    linear-gradient(180deg, rgba(224,242,254,.68), rgba(148,163,184,.20));
  opacity: .35;
}

.seasonal-snow {
  color: #f8fafc;
  text-shadow: 0 0 10px rgba(186, 230, 253, .85);
  animation-name: seasonal-snow-fall;
}

/* KERST ---------------------------------------------------------- */
body.site-theme-kerst {
  background:
    radial-gradient(circle at 12% 12%, rgba(220, 38, 38, .34), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(34, 197, 94, .26), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(250, 204, 21, .15), transparent 38%),
    linear-gradient(145deg, #110809 0%, #17120f 47%, #06170f 100%);
}

body.site-theme-kerst .seasonal-scene::before {
  content: "\1F384 ";
  right: 2vw;
  bottom: 18px;
  font-size: clamp(110px, 17vw, 245px);
  opacity: .18;
}

body.site-theme-kerst .seasonal-scene::after {
  content: "\2726   \2727   \2726 ";
  top: 80px;
  left: 4vw;
  color: #fde68a;
  font-size: clamp(35px, 6vw, 76px);
  letter-spacing: 2vw;
  opacity: .24;
}

.seasonal-christmas {
  color: #fef3c7;
  animation-name: seasonal-christmas-fall;
}

/* HALLOWEEN ------------------------------------------------------ */
body.site-theme-halloween {
  background:
    radial-gradient(circle at 85% 12%, rgba(251, 146, 60, .33), transparent 22%),
    radial-gradient(circle at 14% 18%, rgba(168, 85, 247, .28), transparent 30%),
    linear-gradient(150deg, #09070d 0%, #171023 52%, #160d08 100%);
}

body.site-theme-halloween .seasonal-scene::before {
  content: "\1F383 ";
  left: 3vw;
  bottom: 15px;
  font-size: clamp(90px, 14vw, 200px);
  opacity: .18;
}

body.site-theme-halloween .seasonal-scene::after {
  content: "";
  top: 70px;
  right: 5vw;
  width: clamp(75px, 11vw, 150px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff7c2, #f59e0b 70%);
  box-shadow: 0 0 55px rgba(245, 158, 11, .22);
  opacity: .27;
}

.seasonal-halloween {
  animation-name: seasonal-bat-flight;
}

/* VALENTIJN ------------------------------------------------------ */
body.site-theme-valentijn {
  background:
    radial-gradient(circle at 15% 10%, rgba(251, 113, 133, .38), transparent 31%),
    radial-gradient(circle at 86% 18%, rgba(244, 114, 182, .27), transparent 29%),
    linear-gradient(145deg, #130810 0%, #21101e 50%, #160d22 100%);
}

body.site-theme-valentijn .seasonal-scene::before {
  content: "\2665 ";
  top: 75px;
  right: 4vw;
  color: #fb7185;
  font-size: clamp(100px, 16vw, 225px);
  opacity: .13;
  transform: rotate(9deg);
}

.seasonal-heart {
  color: #fb7185;
  text-shadow: 0 0 12px rgba(244, 114, 182, .35);
  animation-name: seasonal-heart-rise;
  top: auto;
  bottom: -12vh;
}

/* OKTOBERFEST ---------------------------------------------------- */
body.site-theme-oktoberfest {
  background:
    linear-gradient(45deg, rgba(96,165,250,.08) 25%, transparent 25% 75%, rgba(96,165,250,.08) 75%),
    linear-gradient(-45deg, rgba(255,255,255,.045) 25%, transparent 25% 75%, rgba(255,255,255,.045) 75%),
    radial-gradient(circle at 86% 14%, rgba(250, 204, 21, .26), transparent 25%),
    linear-gradient(145deg, #07111f 0%, #0a1d36 52%, #171407 100%);
  background-size: 72px 72px, 72px 72px, auto, auto;
  background-position: 0 0, 36px 36px, 0 0, 0 0;
}

body.site-theme-oktoberfest .seasonal-scene::before {
  content: "\1F37A ";
  right: 3vw;
  bottom: 16px;
  font-size: clamp(95px, 15vw, 210px);
  opacity: .16;
}

.seasonal-oktoberfest {
  animation-name: seasonal-oktoberfest-fall;
}

/* BUURTFEEST ----------------------------------------------------- */
body.site-theme-buurtfeest {
  background:
    radial-gradient(circle at 10% 12%, rgba(45, 212, 191, .33), transparent 30%),
    radial-gradient(circle at 90% 16%, rgba(244, 114, 182, .29), transparent 29%),
    radial-gradient(circle at 50% 100%, rgba(245, 158, 11, .18), transparent 38%),
    linear-gradient(145deg, #07111f 0%, #10162a 50%, #17120a 100%);
}

body.site-theme-buurtfeest .seasonal-scene::before {
  content: "\1F388 ";
  top: 75px;
  right: 4vw;
  font-size: clamp(90px, 14vw, 200px);
  opacity: .17;
  transform: rotate(10deg);
}

body.site-theme-buurtfeest .seasonal-scene::after {
  content: "\1F389 ";
  left: 3vw;
  bottom: 18px;
  font-size: clamp(85px, 13vw, 185px);
  opacity: .15;
  transform: rotate(-12deg);
}

.seasonal-confetti {
  border-radius: 2px;
  color: transparent;
  background: var(--accent);
  animation-name: seasonal-confetti-fall;
}

.seasonal-confetti:nth-child(3n) { background: var(--accent-2); }
.seasonal-confetti:nth-child(3n + 1) { background: var(--accent-3); }

/* KAARTEN EN NAVIGATIE KRIJGEN MEER THEMAZICHTBAARHEID ----------- */
body.site-theme-lente .nav,
body.site-theme-zomer .nav,
body.site-theme-herfst .nav,
body.site-theme-winter .nav,
body.site-theme-kerst .nav,
body.site-theme-halloween .nav,
body.site-theme-valentijn .nav,
body.site-theme-oktoberfest .nav,
body.site-theme-buurtfeest .nav,
body.site-theme-oud-en-nieuw .nav,
body.site-theme-rommelmarkt .nav,
body.site-theme-speelstraat .nav,
body.site-theme-winterleute .nav,
body.site-theme-ontbijt .nav,
body.site-theme-nationale-feestdag .nav,
body.site-theme-ek-wk .nav {
  border-bottom-color: color-mix(in srgb, var(--accent) 32%, rgba(255,255,255,.10));
  box-shadow: 0 10px 36px color-mix(in srgb, var(--accent) 13%, transparent);
}

body:not(.site-theme-default) :is(.panel, .card, .content-card, .home-brand-card, .home-news-card, .home-event-card, .idea-contact) {
  border-color: color-mix(in srgb, var(--accent) 24%, var(--line));
}

body:not(.site-theme-default) .section-kicker,
body:not(.site-theme-default) .eyebrow {
  color: color-mix(in srgb, var(--accent) 82%, white);
}

/* ANIMATIES ------------------------------------------------------ */
@keyframes seasonal-snow-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)); }
}

@keyframes seasonal-leaf-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg) scale(.85); }
  40% { transform: translate3d(calc(var(--particle-drift) * -.35), 42vh, 0) rotate(calc(var(--particle-spin) * .45)) scale(1); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)) scale(.82); }
}

@keyframes seasonal-petal-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg); }
  50% { transform: translate3d(calc(var(--particle-drift) * -.45), 48vh, 0) rotate(calc(var(--particle-spin) * .55)); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)); }
}

@keyframes seasonal-ball-float {
  0% { transform: translate3d(0, 112vh, 0) rotate(0deg); }
  45% { transform: translate3d(calc(var(--particle-drift) * -.35), 48vh, 0) rotate(calc(var(--particle-spin) * .48)); }
  100% { transform: translate3d(var(--particle-drift), -18vh, 0) rotate(var(--particle-spin)); }
}

@keyframes seasonal-christmas-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)); }
}

@keyframes seasonal-bat-flight {
  0% { transform: translate3d(-12vw, 18vh, 0) rotate(-12deg); }
  45% { transform: translate3d(45vw, 48vh, 0) rotate(12deg); }
  100% { transform: translate3d(112vw, 14vh, 0) rotate(-8deg); }
}

@keyframes seasonal-heart-rise {
  0% { transform: translate3d(0, 12vh, 0) rotate(-8deg) scale(.75); }
  100% { transform: translate3d(var(--particle-drift), -118vh, 0) rotate(18deg) scale(1.15); }
}

@keyframes seasonal-oktoberfest-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)); }
}

@keyframes seasonal-confetti-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)); }
}

@media (max-width: 720px) {
  .seasonal-scene::before,
  .seasonal-scene::after {
    opacity: .10 !important;
  }

  .seasonal-particle {
    filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .seasonal-particle {
    top: var(--particle-y-static, 50vh);
    animation: none !important;
    transform: none !important;
  }
}

/* ================================================================
   ARENDWIJK FASE 17 — JAARLIJKSE EVENEMENTENTHEMA'S
   ================================================================ */

/* OUD EN NIEUW -------------------------------------------------- */
body.site-theme-oud-en-nieuw {
  --accent: #facc15;
  --accent-2: #c084fc;
  --accent-3: #38bdf8;
  --season-a: rgba(250, 204, 21, .24);
  --season-b: rgba(192, 132, 252, .21);
  --season-c: rgba(56, 189, 248, .14);
  background:
    radial-gradient(circle at 16% 12%, rgba(250, 204, 21, .30), transparent 25%),
    radial-gradient(circle at 84% 18%, rgba(192, 132, 252, .28), transparent 27%),
    radial-gradient(circle at 50% 92%, rgba(56, 189, 248, .18), transparent 36%),
    linear-gradient(150deg, #050510 0%, #100a25 48%, #061728 100%);
}

body.site-theme-oud-en-nieuw .seasonal-scene::before {
  content: "\2726 ";
  top: 82px;
  left: 5vw;
  color: #fde047;
  font-size: clamp(90px, 14vw, 210px);
  opacity: .25;
  text-shadow:
    52px -18px 0 rgba(248,113,113,.72),
    92px 38px 0 rgba(56,189,248,.68),
    28px 82px 0 rgba(192,132,252,.68),
    -34px 48px 0 rgba(255,255,255,.55),
    0 0 42px rgba(250,204,21,.35);
  animation: seasonal-firework-breathe 3.8s ease-in-out infinite;
}

body.site-theme-oud-en-nieuw .seasonal-scene::after {
  content: "\273A ";
  right: 7vw;
  top: 23vh;
  color: #38bdf8;
  font-size: clamp(85px, 13vw, 190px);
  opacity: .18;
  text-shadow:
    -48px -24px 0 rgba(250,204,21,.65),
    -80px 35px 0 rgba(244,114,182,.60),
    25px 72px 0 rgba(255,255,255,.48),
    0 0 38px rgba(56,189,248,.35);
  animation: seasonal-firework-breathe 4.6s 1s ease-in-out infinite;
}

.seasonal-firework-spark {
  color: #fde68a;
  text-shadow: 0 0 13px currentColor, 0 0 24px rgba(255,255,255,.45);
  animation-name: seasonal-firework-spark;
  animation-timing-function: ease-out;
}

.seasonal-firework-spark:nth-child(3n) { color: #7dd3fc; }
.seasonal-firework-spark:nth-child(3n + 1) { color: #d8b4fe; }

/* ROMMELMARKT --------------------------------------------------- */
body.site-theme-rommelmarkt {
  --accent: #f59e0b;
  --accent-2: #14b8a6;
  --accent-3: #f472b6;
  --season-a: rgba(245, 158, 11, .24);
  --season-b: rgba(20, 184, 166, .20);
  --season-c: rgba(244, 114, 182, .12);
  background:
    radial-gradient(circle at 10% 12%, rgba(245,158,11,.30), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(20,184,166,.25), transparent 28%),
    linear-gradient(145deg, #0c0c0a 0%, #17150f 47%, #09201d 100%);
}

body.site-theme-rommelmarkt .seasonal-scene::before {
  content: "\1F3F7 ";
  left: 3vw;
  bottom: 18px;
  font-size: clamp(90px, 14vw, 200px);
  opacity: .16;
  transform: rotate(-13deg);
}

body.site-theme-rommelmarkt .seasonal-scene::after {
  content: "\25B2   \25CF   \25B2   \25CF   \25B2   \25CF   \25B2   \25CF ";
  left: 0;
  right: 0;
  top: 72px;
  color: #f59e0b;
  font-size: clamp(18px, 3.2vw, 42px);
  letter-spacing: 1.8vw;
  text-align: center;
  opacity: .22;
  text-shadow: 1.8vw 0 #14b8a6, 3.6vw 0 #f472b6;
  white-space: nowrap;
}

.seasonal-market {
  animation-name: seasonal-market-fall;
}

/* SPEELSTRAAT --------------------------------------------------- */
body.site-theme-speelstraat {
  --accent: #facc15;
  --accent-2: #ec4899;
  --accent-3: #22c55e;
  --season-a: rgba(250, 204, 21, .23);
  --season-b: rgba(236, 72, 153, .19);
  --season-c: rgba(34, 197, 94, .14);
  background:
    radial-gradient(circle at 12% 10%, rgba(250,204,21,.30), transparent 27%),
    radial-gradient(circle at 87% 18%, rgba(236,72,153,.25), transparent 29%),
    radial-gradient(circle at 52% 95%, rgba(34,197,94,.16), transparent 34%),
    linear-gradient(145deg, #07101c 0%, #16102a 49%, #0a2018 100%);
}

body.site-theme-speelstraat .seasonal-scene::before {
  content: "\1F58D ";
  left: 2vw;
  bottom: 12px;
  font-size: clamp(90px, 14vw, 205px);
  opacity: .16;
  transform: rotate(-14deg);
}

body.site-theme-speelstraat .seasonal-scene::after {
  content: "\1F388 ";
  right: 4vw;
  top: 82px;
  font-size: clamp(90px, 14vw, 200px);
  opacity: .17;
  transform: rotate(8deg);
}

.seasonal-play {
  animation-name: seasonal-play-float;
  top: auto;
  bottom: -12vh;
}

.seasonal-play:nth-child(4n) { color: #facc15; }
.seasonal-play:nth-child(4n + 1) { color: #f472b6; }
.seasonal-play:nth-child(4n + 2) { color: #4ade80; }

/* WINTERLEUTE --------------------------------------------------- */
body.site-theme-winterleute {
  --accent: #7dd3fc;
  --accent-2: #f59e0b;
  --accent-3: #f8fafc;
  --season-a: rgba(125, 211, 252, .25);
  --season-b: rgba(245, 158, 11, .17);
  --season-c: rgba(248, 250, 252, .11);
  background:
    radial-gradient(circle at 13% 9%, rgba(125,211,252,.31), transparent 29%),
    radial-gradient(circle at 87% 17%, rgba(245,158,11,.20), transparent 25%),
    linear-gradient(150deg, #06101d 0%, #0d2035 53%, #17140f 100%);
}

body.site-theme-winterleute .seasonal-scene::before {
  content: "\2615 ";
  right: 3vw;
  bottom: 16px;
  font-size: clamp(95px, 15vw, 215px);
  opacity: .16;
}

body.site-theme-winterleute .seasonal-scene::after {
  content: "\2744   \2745   \2744 ";
  left: 3vw;
  top: 78px;
  color: #e0f2fe;
  font-size: clamp(42px, 7vw, 90px);
  letter-spacing: 2.5vw;
  opacity: .19;
  text-shadow: 0 0 20px rgba(125,211,252,.32);
}

.seasonal-winterfun {
  color: #f8fafc;
  text-shadow: 0 0 10px rgba(186,230,253,.75);
  animation-name: seasonal-winterfun-fall;
}

/* ONTBIJT ------------------------------------------------------- */
body.site-theme-ontbijt {
  --accent: #fbbf24;
  --accent-2: #fb923c;
  --accent-3: #a3e635;
  --season-a: rgba(251, 191, 36, .24);
  --season-b: rgba(251, 146, 60, .18);
  --season-c: rgba(163, 230, 53, .10);
  background:
    radial-gradient(circle at 84% 10%, rgba(253,224,71,.34), transparent 22%),
    radial-gradient(circle at 13% 17%, rgba(251,146,60,.24), transparent 31%),
    linear-gradient(150deg, #100c08 0%, #21160d 50%, #17200d 100%);
}

body.site-theme-ontbijt .seasonal-scene::before {
  content: "\2615 ";
  left: 3vw;
  bottom: 18px;
  font-size: clamp(100px, 15vw, 220px);
  opacity: .17;
  filter: drop-shadow(0 0 24px rgba(251,191,36,.18));
}

body.site-theme-ontbijt .seasonal-scene::after {
  content: "\2600   \1F950 ";
  right: 4vw;
  top: 78px;
  font-size: clamp(65px, 10vw, 150px);
  letter-spacing: 2vw;
  opacity: .17;
}

.seasonal-breakfast {
  animation-name: seasonal-breakfast-rise;
  color: #fde68a;
}

/* NATIONALE FEESTDAG -------------------------------------------- */
body.site-theme-nationale-feestdag {
  --accent: #facc15;
  --accent-2: #ef4444;
  --accent-3: #f8fafc;
  --season-a: rgba(250, 204, 21, .24);
  --season-b: rgba(239, 68, 68, .20);
  --season-c: rgba(248, 250, 252, .08);
  background:
    radial-gradient(circle at 12% 10%, rgba(250,204,21,.31), transparent 29%),
    radial-gradient(circle at 88% 18%, rgba(239,68,68,.28), transparent 27%),
    radial-gradient(circle at 50% 100%, rgba(248,250,252,.08), transparent 34%),
    linear-gradient(145deg, #050505 0%, #151006 48%, #210909 100%);
}

body.site-theme-nationale-feestdag .seasonal-scene::before {
  content: "\1F1E7 \1F1EA ";
  left: 3vw;
  top: 78px;
  font-size: clamp(82px, 13vw, 190px);
  opacity: .17;
  transform: rotate(-8deg);
  filter: drop-shadow(0 0 28px rgba(250,204,21,.20));
}

body.site-theme-nationale-feestdag .seasonal-scene::after {
  content: "";
  right: 4vw;
  bottom: 20px;
  width: clamp(105px, 16vw, 230px);
  aspect-ratio: 3 / 2;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  background: linear-gradient(90deg, #090909 0 33.333%, #facc15 33.333% 66.666%, #ef3340 66.666% 100%);
  box-shadow: 0 18px 50px rgba(0,0,0,.30);
  opacity: .14;
  transform: rotate(7deg);
}

.seasonal-national {
  color: #facc15;
  text-shadow: 0 0 12px rgba(250,204,21,.40);
  animation-name: seasonal-national-fall;
}

.seasonal-national:nth-child(3n) { color: #ef4444; }
.seasonal-national:nth-child(3n + 1) { color: #f8fafc; }

/* EK / WK VOETBAL ---------------------------------------------- */
body.site-theme-ek-wk {
  --accent: #facc15;
  --accent-2: #ef4444;
  --accent-3: #22c55e;
  --season-a: rgba(250, 204, 21, .21);
  --season-b: rgba(239, 68, 68, .20);
  --season-c: rgba(34, 197, 94, .13);
  background:
    radial-gradient(circle at 13% 10%, rgba(239,68,68,.30), transparent 29%),
    radial-gradient(circle at 87% 17%, rgba(250,204,21,.25), transparent 27%),
    radial-gradient(circle at 52% 100%, rgba(34,197,94,.19), transparent 38%),
    linear-gradient(148deg, #050505 0%, #190a0a 48%, #071b11 100%);
}

body.site-theme-ek-wk .seasonal-scene::before {
  content: "\26BD ";
  right: 3vw;
  top: 78px;
  font-size: clamp(90px, 14vw, 205px);
  opacity: .17;
  transform: rotate(9deg);
  filter: drop-shadow(0 0 26px rgba(250,204,21,.16));
}

body.site-theme-ek-wk .seasonal-scene::after {
  content: "";
  left: 5vw;
  right: 5vw;
  bottom: -58px;
  height: clamp(125px, 17vw, 205px);
  border: 2px solid rgba(255,255,255,.20);
  border-radius: 28px;
  background:
    linear-gradient(90deg, transparent 49.6%, rgba(255,255,255,.20) 49.6% 50.4%, transparent 50.4%),
    radial-gradient(circle at 50% 50%, transparent 0 21%, rgba(255,255,255,.20) 21.5% 22.5%, transparent 23%),
    repeating-linear-gradient(90deg, rgba(34,197,94,.12) 0 9%, rgba(22,163,74,.18) 9% 18%);
  opacity: .44;
  transform: perspective(450px) rotateX(58deg);
  transform-origin: center bottom;
}

.seasonal-football {
  color: #facc15;
  text-shadow: 0 0 11px rgba(250,204,21,.30);
  animation-name: seasonal-football-rise;
}

.seasonal-football:nth-child(3n) { color: #ef4444; }
.seasonal-football:nth-child(3n + 1) { color: #f8fafc; }

/* Animaties nieuwe thema's -------------------------------------- */
@keyframes seasonal-firework-breathe {
  0%, 100% { transform: scale(.88) rotate(-5deg); opacity: .12; }
  48% { transform: scale(1.08) rotate(4deg); opacity: .29; }
}

@keyframes seasonal-firework-spark {
  0%, 100% { transform: scale(.25) rotate(-35deg); opacity: 0; }
  24% { transform: scale(1.45) rotate(12deg); opacity: var(--particle-opacity); }
  58% { transform: scale(.85) rotate(45deg); opacity: .58; }
  82% { transform: translate3d(var(--particle-drift), 24px, 0) scale(.35) rotate(95deg); opacity: 0; }
}

@keyframes seasonal-market-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(-10deg); }
  50% { transform: translate3d(calc(var(--particle-drift) * -.35), 48vh, 0) rotate(12deg); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)); }
}

@keyframes seasonal-play-float {
  0% { transform: translate3d(0, 12vh, 0) rotate(-8deg) scale(.78); }
  50% { transform: translate3d(calc(var(--particle-drift) * -.35), -45vh, 0) rotate(8deg) scale(1); }
  100% { transform: translate3d(var(--particle-drift), -118vh, 0) rotate(18deg) scale(.9); }
}

@keyframes seasonal-winterfun-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)); }
}

@keyframes seasonal-breakfast-rise {
  0% { transform: translate3d(0, 10vh, 0) rotate(-5deg) scale(.78); opacity: 0; }
  18% { opacity: var(--particle-opacity); }
  100% { transform: translate3d(var(--particle-drift), -118vh, 0) rotate(12deg) scale(1.05); opacity: 0; }
}

@keyframes seasonal-national-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(-12deg) scale(.82); }
  46% { transform: translate3d(calc(var(--particle-drift) * -.32), 46vh, 0) rotate(9deg) scale(1); }
  100% { transform: translate3d(var(--particle-drift), 118vh, 0) rotate(var(--particle-spin)) scale(.88); }
}

@keyframes seasonal-football-rise {
  0% { transform: translate3d(0, 12vh, 0) rotate(-25deg) scale(.78); opacity: 0; }
  18% { opacity: var(--particle-opacity); }
  52% { transform: translate3d(calc(var(--particle-drift) * -.28), -46vh, 0) rotate(145deg) scale(1.05); }
  100% { transform: translate3d(var(--particle-drift), -118vh, 0) rotate(320deg) scale(.88); opacity: 0; }
}
