/* Тема «Новый год и Рождество»: красно-золотая палитра, гирлянда, снег, шапка на логотипе, снежные шапки на постерах. */
html[data-holiday="newyear"] {
  --accent: 255 200 87; --amber: 255 200 87; --glow: 255 200 87; --glow2: 230 57 70;
  --accent-soft: #FFE08A; --brand-from: #E63946; --brand-to: #B5172B; --on-brand: #fff;
  --hol-bar-bg: linear-gradient(90deg, #8E1224, #D62839 50%, #8E1224);
}
html[data-holiday="newyear"] body {
  background-image:
    radial-gradient(1100px 520px at 8% -8%, rgba(70, 130, 255, .20), transparent 60%),
    radial-gradient(900px 420px at 92% -6%, rgba(255, 200, 87, .13), transparent 60%),
    radial-gradient(700px 400px at 50% 110%, rgba(214, 40, 57, .10), transparent 60%);
}
html[data-holiday="newyear"] header { position: relative; }

/* Гирлянда над шапкой: провод и лампочки рисует скрипт, мерцание делает CSS */
.hol-garland { position: absolute; left: 0; right: 0; top: 0; height: 46px; pointer-events: none; z-index: 2; overflow: hidden; }
.hol-garland svg { display: block; width: 100%; height: 100%; }
.hol-garland .wire { fill: none; stroke: #0b0f1d; stroke-width: 2; opacity: .75; }
.hol-garland .bulb { transform-box: fill-box; transform-origin: center; animation: hol-twinkle 2.2s ease-in-out infinite; }
.hol-garland .bulb:nth-child(4n+1) { animation-delay: 0s; }
.hol-garland .bulb:nth-child(4n+2) { animation-delay: .55s; }
.hol-garland .bulb:nth-child(4n+3) { animation-delay: 1.1s; }
.hol-garland .bulb:nth-child(4n) { animation-delay: 1.65s; }
.hol-garland .cap { fill: #1a1f33; }
@keyframes hol-twinkle { 0%, 100% { opacity: 1; transform: scale(1); filter: brightness(1.15); } 50% { opacity: .35; transform: scale(.82); filter: brightness(.7); } }

/* Шапка Деда Мороза на значке TV */
html[data-holiday="newyear"] .logo-tv { position: relative; }
html[data-holiday="newyear"] .logo-tv::before {
  content: ""; position: absolute; top: -.95em; left: -.55em; width: 1.9em; height: 1.45em; transform: rotate(-14deg); pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M4 24C6 10 16 2 30 4c-4 4-2 10 6 16z' fill='%23E63946'/%3E%3Crect x='2' y='21' width='36' height='8' rx='4' fill='%23fff'/%3E%3Ccircle cx='31' cy='5' r='4' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Блик на главных кнопках */
html[data-holiday="newyear"] .btn-accent { position: relative; overflow: hidden; }
html[data-holiday="newyear"] .btn-accent::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; transform: translateX(-130%);
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .5) 50%, transparent 70%); animation: hol-shine 5s ease-in-out infinite;
}
@keyframes hol-shine { 0%, 62% { transform: translateX(-130%); } 100% { transform: translateX(130%); } }

/* Снежные шапки на постерах и искры при наведении */
html[data-holiday="newyear"] .poster-frame { position: relative; }
html[data-holiday="newyear"] .poster-frame::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 15px; z-index: 3; pointer-events: none;
  background:
    radial-gradient(circle at 9px 100%, #fff 0 8px, transparent 9px) 0 0 / 18px 15px repeat-x,
    linear-gradient(#fff, #fff) 0 0 / 100% 6px no-repeat;
  filter: drop-shadow(0 2px 2px rgba(120, 170, 255, .35)); border-radius: 14px 14px 0 0;
}
html[data-holiday="newyear"] .group:hover .poster-frame { box-shadow: 0 0 0 2px rgba(255, 200, 87, .65), 0 0 28px rgba(255, 200, 87, .25); }

/* Снежинка у заголовков разделов */
html[data-holiday="newyear"] .section-title::after { content: "\2744"; display: inline-block; margin-left: .45em; font-size: .62em; color: #BFE3FF; vertical-align: .15em; animation: hol-spin 9s linear infinite; }
@keyframes hol-spin { to { transform: rotate(360deg); } }

/* Снежный сугроб над подвалом */
html[data-holiday="newyear"] footer { position: relative; }
html[data-holiday="newyear"] footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 16px; pointer-events: none;
  background:
    radial-gradient(circle at 12px 100%, #E8F1FF 0 11px, transparent 12px) 0 0 / 24px 16px repeat-x,
    linear-gradient(#E8F1FF, #E8F1FF) 0 15px / 100% 3px no-repeat;
  opacity: .9;
}

/* Карточка входа и баннер: мягкое золотое свечение */
html[data-holiday="newyear"] .auth-card { box-shadow: 0 30px 80px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 200, 87, .25), 0 0 60px rgba(214, 40, 57, .15); }

html.hol-noanim .hol-garland .bulb,
html.hol-noanim[data-holiday="newyear"] .btn-accent::after,
html.hol-noanim[data-holiday="newyear"] .section-title::after { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .hol-garland .bulb, html[data-holiday="newyear"] .btn-accent::after, html[data-holiday="newyear"] .section-title::after { animation: none; }
}
