/* =========================================================
   Sezónní témata – aktivuje je atribut <html data-season="…">
   (nastavuje inline skript v <head>, náhled: ?sezona=vanoce)
   ========================================================= */

/* sezónní prvky jsou ve výchozím stavu skryté */
[data-for] { display: none !important; }
.season-default { display: revert; }

html[data-season="valentyn"] [data-for="valentyn"],
html[data-season="velikonoce"] [data-for="velikonoce"],
html[data-season="skola"] [data-for="skola"],
html[data-season="halloween"] [data-for="halloween"],
html[data-season="mikulas"] [data-for="mikulas"],
html[data-season="vanoce"] [data-for="vanoce"] { display: revert !important; }
html[data-season="valentyn"] .season-bar[data-for="valentyn"],
html[data-season="velikonoce"] .season-bar[data-for="velikonoce"],
html[data-season="skola"] .season-bar[data-for="skola"],
html[data-season="halloween"] .season-bar[data-for="halloween"],
html[data-season="mikulas"] .season-bar[data-for="mikulas"],
html[data-season="vanoce"] .season-bar[data-for="vanoce"] { display: block !important; }
html[data-season] .season-default { display: none; }

/* ---------- pohádková lišta nahoře ---------- */
.season-bar { font-family: var(--ff-head); font-style: italic; font-size: clamp(.95rem, .9rem + .25vw, 1.08rem); letter-spacing: .01em; box-shadow: inset 0 -2px 0 rgba(255, 255, 255, .25); }
.season-bar a::before, .season-bar a::after { content: "✦"; font-style: normal; font-size: .8em; opacity: .75; }
.season-bar a::before { margin-right: .2em; }
.season-bar a::after { margin-left: .2em; }
.season-bar a:hover { text-decoration: none; }
.season-bar a:hover span, .season-bar a:focus-visible span { text-decoration: underline; text-underline-offset: .2em; }

/* ---------- vrstva s padajícími / poletujícími prvky ---------- */
.season-fx { position: fixed; inset: 0; z-index: 40; pointer-events: none; overflow: hidden; }
.season-fx i { position: absolute; top: -40px; left: var(--x); width: var(--s); height: var(--s); background: var(--img) center / contain no-repeat; opacity: var(--o, .9); animation: season-fall var(--d) linear var(--delay) infinite; }
@keyframes season-fall {
  0% { transform: translate3d(0, -5vh, 0) rotate(0); }
  50% { transform: translate3d(var(--sway), 50vh, 0) rotate(calc(var(--rot) / 2)); }
  100% { transform: translate3d(0, 108vh, 0) rotate(var(--rot)); }
}
.season-fx--up i { top: auto; bottom: -40px; animation-name: season-rise; }
@keyframes season-rise {
  0% { transform: translate3d(0, 0, 0) scale(.8); opacity: 0; }
  10% { opacity: var(--o, .9); }
  100% { transform: translate3d(var(--sway), -110vh, 0) scale(1.1); opacity: 0; }
}
.season-fx--fly i { top: var(--y); left: -60px; animation-name: season-fly; }
@keyframes season-fly {
  0% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(28vw, -6vh, 0); }
  50% { transform: translate3d(56vw, 4vh, 0); }
  75% { transform: translate3d(84vw, -4vh, 0); }
  100% { transform: translate3d(112vw, 0, 0); }
}
@media (prefers-reduced-motion: reduce) { .season-fx { display: none; } }

/* =========================================================
   Valentýn
   ========================================================= */
html[data-season="valentyn"] {
  --accent: #d61f4f; --accent-dark: #a8153b; --accent-soft: #ffb3c6; --mark: rgba(214, 31, 79, .25);
}
html[data-season="valentyn"] .season-bar { background: linear-gradient(90deg, #a8153b, #d61f4f, #a8153b); }

/* =========================================================
   Velikonoce
   ========================================================= */
html[data-season="velikonoce"] {
  --accent: #b5487f; --accent-dark: #8f3363; --accent-soft: #f9e08a; --mark: rgba(244, 200, 60, .5);
}
html[data-season="velikonoce"] .season-bar { background: linear-gradient(90deg, #6f9d3d, #8db84f, #6f9d3d); color: #fff; }

/* =========================================================
   Konec školního roku
   ========================================================= */
html[data-season="skola"] {
  --accent: #2e74b5; --accent-dark: #1f5a91; --accent-soft: #ffd166; --mark: rgba(255, 196, 0, .45);
}
html[data-season="skola"] .season-bar { background: linear-gradient(90deg, #ef476f, #f78c6b, #ffd166, #06d6a0, #118ab2, #8f5bd6); text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }

/* =========================================================
   Halloween
   ========================================================= */
html[data-season="halloween"] {
  --accent: #d9611a; --accent-dark: #a8460c; --accent-soft: #f7b98a; --mark: rgba(217, 97, 26, .3);
}
html[data-season="halloween"] body {
  background-image:
    radial-gradient(at 90% 8%, rgba(91, 42, 110, .22) 0, transparent 45%),
    radial-gradient(at 11% 77%, #e7cbdd 0, transparent 50%),
    radial-gradient(at 65% 32%, #ffe1cc 0, transparent 50%),
    radial-gradient(at 2% 6%, #e6d1d9 0, transparent 50%);
}
html[data-season="halloween"] .season-bar { background: linear-gradient(90deg, #3b1f4a, #5b2a6e, #3b1f4a); color: #ffd2a8; }
html[data-season="halloween"] .site-footer { background: #2a1733; }
html[data-season="halloween"] .site-footer::before { background-image: radial-gradient(circle at 15px 30px, #2a1733 15px, transparent 16px); }
html[data-season="halloween"] .badge-round { background: radial-gradient(circle at 35% 30%, color-mix(in srgb, #3b1f4a 80%, #fff), #3b1f4a 70%); }

/* =========================================================
   Mikuláš
   ========================================================= */
html[data-season="mikulas"] {
  --accent: #b8292f; --accent-dark: #8d1d22; --accent-soft: #f4cf7a; --mark: rgba(244, 207, 122, .6);
}
html[data-season="mikulas"] .season-bar { background: linear-gradient(90deg, #2b1a12, #8d1d22, #2b1a12); color: #f9e3a8; }

/* =========================================================
   Vánoce
   ========================================================= */
html[data-season="vanoce"] {
  --accent: #b0243b; --accent-dark: #8a1a2d; --accent-soft: #e8c27a; --mark: rgba(201, 161, 74, .45);
}
html[data-season="vanoce"] .season-bar { background: linear-gradient(90deg, #1d4a37, #2b6a4f, #1d4a37); color: #f6e2b3; }
html[data-season="vanoce"] .badge-round { background: radial-gradient(circle at 35% 30%, color-mix(in srgb, #1d4a37 80%, #fff), #1d4a37 70%); }

/* =========================================================
   Jemné nádechy pozadí a barvy pečeti
   ========================================================= */
html[data-season="valentyn"] body { background-image: radial-gradient(at 85% 12%, rgba(214, 31, 79, .16) 0, transparent 45%), radial-gradient(at 11% 77%, #e7cbdd 0, transparent 50%), radial-gradient(at 65% 32%, #ffe8e0 0, transparent 50%), radial-gradient(at 2% 6%, #e6d1d9 0, transparent 50%); }
html[data-season="valentyn"] .badge-round { background: radial-gradient(circle at 35% 30%, color-mix(in srgb, #a8153b 80%, #fff), #a8153b 70%); }
html[data-season="velikonoce"] body { background-image: radial-gradient(at 85% 12%, rgba(141, 184, 79, .2) 0, transparent 45%), radial-gradient(at 15% 90%, rgba(249, 224, 138, .35) 0, transparent 45%), radial-gradient(at 11% 77%, #e7cbdd 0, transparent 50%), radial-gradient(at 65% 32%, #ffe8e0 0, transparent 50%), radial-gradient(at 2% 6%, #e6d1d9 0, transparent 50%); }
html[data-season="velikonoce"] .badge-round { background: radial-gradient(circle at 35% 30%, color-mix(in srgb, #557a2e 80%, #fff), #557a2e 70%); }
html[data-season="skola"] body { background-image: radial-gradient(at 85% 12%, rgba(255, 209, 102, .3) 0, transparent 45%), radial-gradient(at 15% 90%, rgba(46, 116, 181, .12) 0, transparent 45%), radial-gradient(at 11% 77%, #e7cbdd 0, transparent 50%), radial-gradient(at 65% 32%, #ffe8e0 0, transparent 50%), radial-gradient(at 2% 6%, #e6d1d9 0, transparent 50%); }
html[data-season="skola"] .badge-round { background: radial-gradient(circle at 35% 30%, color-mix(in srgb, #1f5a91 80%, #fff), #1f5a91 70%); }
html[data-season="mikulas"] body { background-image: radial-gradient(at 85% 12%, rgba(244, 207, 122, .3) 0, transparent 45%), radial-gradient(at 11% 77%, #e7cbdd 0, transparent 50%), radial-gradient(at 65% 32%, #ffe8e0 0, transparent 50%), radial-gradient(at 2% 6%, #e6d1d9 0, transparent 50%); }
html[data-season="mikulas"] .badge-round { background: radial-gradient(circle at 35% 30%, color-mix(in srgb, #8d1d22 80%, #fff), #8d1d22 70%); }
html[data-season="vanoce"] body { background-image: radial-gradient(at 85% 12%, rgba(255, 255, 255, .55) 0, transparent 40%), radial-gradient(at 15% 90%, rgba(43, 106, 79, .12) 0, transparent 45%), radial-gradient(at 11% 77%, #e7cbdd 0, transparent 50%), radial-gradient(at 65% 32%, #ffe8e0 0, transparent 50%), radial-gradient(at 2% 6%, #e6d1d9 0, transparent 50%); }
