:root { --hday-accent: #E07856; }

#puzzoo-holiday-badge {
  position: absolute; top: -4px; right: -4px;
  font-size: 20px; line-height: 1; display: none;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.3));
}
.puzzoo-wrap { position: relative; display: inline-block; }

/* Новый год / Рождество */
.hday-ny .game-header,
.hday-christmas .game-header {
  background: linear-gradient(135deg,#1a3a1a,#2d5a2d); color:#fff;
}
.hday-ny body::before, .hday-christmas body::before {
  content:'❄️'; position:fixed; top:-40px; left:10%;
  font-size:18px; animation:snowfall 6s linear infinite;
  pointer-events:none; z-index:9999; opacity:.7;
}
.hday-ny body::after, .hday-christmas body::after {
  content:'❄️'; position:fixed; top:-40px; left:70%;
  font-size:14px; animation:snowfall 8s linear infinite 2s;
  pointer-events:none; z-index:9999; opacity:.5;
}
@keyframes snowfall {
  0%   { transform:translateY(0) rotate(0deg); opacity:.7 }
  100% { transform:translateY(110vh) rotate(360deg); opacity:0 }
}

/* Валентин */
.hday-valentine .game-header { background:linear-gradient(135deg,#ff6b8a,#e8335a); color:#fff; }
.hday-valentine body::before {
  content:'💕'; position:fixed; top:-30px; left:40%;
  font-size:22px; animation:snowfall 7s linear infinite 1s;
  pointer-events:none; z-index:9999;
}

/* 23 февраля */
.hday-defender .game-header { background:linear-gradient(135deg,#1a3a5c,#2c5f8a); color:#fff; }

/* 8 марта / 1 мая */
.hday-spring .game-header { background:linear-gradient(135deg,#e8507a,#f07090); color:#fff; }
.hday-spring body::before {
  content:'🌸'; position:fixed; top:-30px; left:25%;
  font-size:20px; animation:snowfall 9s linear infinite; pointer-events:none; z-index:9999;
}
.hday-spring body::after {
  content:'🌸'; position:fixed; top:-30px; left:60%;
  font-size:16px; animation:snowfall 7s linear infinite 3s; pointer-events:none; z-index:9999;
}

/* Масленица */
.hday-maslenica .game-header { background:linear-gradient(135deg,#e8a020,#f0c840); color:#4a3b00; }

/* Пасха */
.hday-easter .game-header { background:linear-gradient(135deg,#7ab648,#a8d870); color:#fff; }

/* День Победы */
.hday-victory .game-header {
  background:linear-gradient(135deg,#1a1a1a,#3a3a3a); color:#fff;
  border-bottom:4px solid #cc8800;
}

/* День России / Единства */
.hday-russia .game-header { background:linear-gradient(135deg,#1a5ea8,#3a7ec8); color:#fff; }

/* 1 сентября */
.hday-school .game-header { background:linear-gradient(135deg,#3a6ab8,#5b8dd9); color:#fff; }

/* Хэллоуин */
.hday-halloween .game-header { background:linear-gradient(135deg,#1a0d00,#3d1f00); color:#e07820; }
.hday-halloween body::before {
  content:'🎃'; position:fixed; top:-30px; left:15%;
  font-size:22px; animation:snowfall 8s linear infinite; pointer-events:none; z-index:9999;
}
.hday-halloween body::after {
  content:'👻'; position:fixed; top:-30px; left:75%;
  font-size:22px; animation:snowfall 10s linear infinite 2s; pointer-events:none; z-index:9999;
}

/* === Праздничный баннер на главной === */
.holiday-banner {
  display: flex;
  gap: 16px;
  background: linear-gradient(135deg, var(--hday-accent, #E07856), #f0a880);
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 16px;
  color: #fff;
  align-items: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  animation: holidayPulse 3s ease-in-out infinite;
}
@keyframes holidayPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.01); box-shadow: 0 6px 24px rgba(0,0,0,0.18); }
}
.holiday-banner-art {
  width: 180px;
  min-height: 130px;
  flex-shrink: 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,0.15);
}
.holiday-banner-text { flex: 1; }
.holiday-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.holiday-badge {
  font-size: 28px;
  flex-shrink: 0;
  animation: holidayBounce 1.5s ease-in-out infinite;
}
@keyframes holidayBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
.holiday-title { margin: 0; color: #fff; font-size: 20px; }
.holiday-sub { margin: 0 0 10px 0; opacity: 0.95; font-size: 14px; }
.holiday-banner .btn-primary {
  background: #fff;
  color: var(--hday-accent, #E07856);
  font-weight: 700;
  padding: 8px 20px;
}
.holiday-banner .btn-primary:hover { background: #fff; transform: translateY(-1px); }

@media (max-width: 600px) {
  .holiday-banner { flex-direction: column; }
  .holiday-banner-art { width: 100%; min-height: 100px; }
}
