/* ==========================================================================
   Viper Vape — Seasonal Decoration CSS
   All rules scoped to body.viper-season-* — zero layout impact
   ========================================================================== */

/* ── Christmas ─────────────────────────────────────────────────────────────── */
.viper-season-christmas {
  --viper-accent: #ff2020;
  --viper-accent-dark: #b00000;
  --viper-accent-glow: rgba(255, 32, 32, 0.3);
}

.viper-season-christmas #viper-header {
  background: #1a0000;
  border-bottom-color: #ff2020;
}

.viper-season-christmas .viper-seasonal-banner {
  background: linear-gradient(135deg, #1a0000 0%, #2d0000 100%);
  color: #fff;
}

.viper-season-christmas .viper-section__eyebrow { color: #ff2020; }

.viper-season-christmas .viper-btn--primary {
  background: #ff2020;
  border-color: #ff2020;
}

.viper-season-christmas .viper-btn--primary:hover {
  background: #b00000;
  border-color: #b00000;
}

/* Snowflake decorations */
.viper-season-christmas .viper-seasonal-decor::before {
  content: '❄ ❅ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❅';
  display: block;
  text-align: center;
  font-size: 1.2rem;
  opacity: 0.5;
  letter-spacing: 1rem;
  padding: 0.5rem 0;
  color: #ff9999;
  animation: viper-snow-drift 8s linear infinite;
}

@keyframes viper-snow-drift {
  0%   { letter-spacing: 0.8rem; }
  50%  { letter-spacing: 1.2rem; }
  100% { letter-spacing: 0.8rem; }
}

/* ── Halloween ─────────────────────────────────────────────────────────────── */
.viper-season-halloween {
  --viper-accent: #ff6b00;
  --viper-accent-dark: #cc4400;
  --viper-accent-glow: rgba(255, 107, 0, 0.35);
}

.viper-season-halloween #viper-header {
  background: #0d0000;
  border-bottom-color: #ff6b00;
}

.viper-season-halloween .viper-seasonal-banner {
  background: linear-gradient(135deg, #1a0000 0%, #2d1a00 50%, #1a0000 100%);
}

.viper-season-halloween .viper-btn--primary {
  background: #ff6b00;
  border-color: #ff6b00;
}

.viper-season-halloween .viper-btn--primary:hover {
  background: #cc4400;
  border-color: #cc4400;
}

.viper-season-halloween .viper-seasonal-decor::before {
  content: '🎃 👻 🕷 🦇 🎃 👻 🕷';
  display: block;
  text-align: center;
  font-size: 1.3rem;
  padding: 0.4rem 0;
  letter-spacing: 0.5rem;
}

/* ── Easter ────────────────────────────────────────────────────────────────── */
.viper-season-easter {
  --viper-accent: #9b59b6;
  --viper-accent-dark: #6c3483;
  --viper-accent-glow: rgba(155, 89, 182, 0.3);
}

.viper-season-easter .viper-btn--primary {
  background: #9b59b6;
  border-color: #9b59b6;
}

.viper-season-easter .viper-btn--primary:hover {
  background: #6c3483;
  border-color: #6c3483;
}

.viper-season-easter .viper-seasonal-banner {
  background: linear-gradient(135deg, #6c3483 0%, #a569bd 100%);
}

.viper-season-easter .viper-seasonal-decor::before {
  content: '🐣 🌸 🐰 🥚 🌸 🐣 🐰';
  display: block;
  text-align: center;
  font-size: 1.3rem;
  padding: 0.4rem 0;
  letter-spacing: 0.5rem;
}

/* ── Valentine's Day ─────────────────────────────────────────────────────────── */
.viper-season-valentines {
  --viper-accent: #e91e8c;
  --viper-accent-dark: #b5106c;
  --viper-accent-glow: rgba(233, 30, 140, 0.3);
}

.viper-season-valentines .viper-btn--primary {
  background: #e91e8c;
  border-color: #e91e8c;
}

.viper-season-valentines .viper-btn--primary:hover {
  background: #b5106c;
  border-color: #b5106c;
}

.viper-season-valentines .viper-seasonal-banner {
  background: linear-gradient(135deg, #b5106c 0%, #e91e8c 100%);
}

.viper-season-valentines .viper-seasonal-decor::before {
  content: '💕 ❤ 💋 💖 💕 ❤ 💋';
  display: block;
  text-align: center;
  font-size: 1.3rem;
  padding: 0.4rem 0;
  letter-spacing: 0.5rem;
  animation: viper-heartbeat 1.5s ease-in-out infinite;
}

@keyframes viper-heartbeat {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.06); }
}

/* ── Black Friday ─────────────────────────────────────────────────────────── */
.viper-season-black_friday {
  --viper-accent: #ff3300;
  --viper-accent-dark: #cc2200;
  --viper-accent-glow: rgba(255, 51, 0, 0.35);
}

.viper-season-black_friday #viper-header {
  background: #000;
  border-bottom-color: #ff3300;
}

.viper-season-black_friday .viper-seasonal-banner {
  background: #000;
  border: 2px solid #ff3300;
}

.viper-season-black_friday .viper-btn--primary {
  background: #ff3300;
  border-color: #ff3300;
  animation: viper-bf-pulse 2s ease-in-out infinite;
}

@keyframes viper-bf-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,51,0,0.4); }
  50%       { box-shadow: 0 0 0 8px rgba(255,51,0,0); }
}

.viper-season-black_friday .viper-seasonal-decor::before {
  content: '🔥 BLACK FRIDAY SALE — DEALS SO HOT THEY BURN 🔥';
  display: block;
  text-align: center;
  font-family: var(--font-display);
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  padding: 0.6rem 0;
  color: #ff3300;
  background: #000;
}

/* ── Cyber Monday ─────────────────────────────────────────────────────────── */
.viper-season-cyber_monday {
  --viper-accent: #00d4ff;
  --viper-accent-dark: #0099cc;
  --viper-accent-glow: rgba(0, 212, 255, 0.35);
}

.viper-season-cyber_monday #viper-header {
  background: #000814;
  border-bottom-color: #00d4ff;
}

.viper-season-cyber_monday .viper-btn--primary {
  background: #00d4ff;
  border-color: #00d4ff;
  color: #000814;
}

.viper-season-cyber_monday .viper-seasonal-decor::before {
  content: '⚡ CYBER MONDAY — ONLINE DEALS LIVE NOW ⚡';
  display: block;
  text-align: center;
  font-family: var(--font-display);
  font-size: 1.1rem;
  letter-spacing: 0.12em;
  padding: 0.5rem 0;
  color: #00d4ff;
  background: #000814;
}

/* ── New Year ─────────────────────────────────────────────────────────────── */
.viper-season-new_year {
  --viper-accent: #ffd700;
  --viper-accent-dark: #ccaa00;
  --viper-accent-glow: rgba(255, 215, 0, 0.35);
}

.viper-season-new_year .viper-btn--primary {
  background: #ffd700;
  border-color: #ffd700;
  color: #1a1a1a;
}

.viper-season-new_year .viper-seasonal-decor::before {
  content: '🎆 HAPPY NEW YEAR! NEW YEAR SPECIALS INSIDE 🎆';
  display: block;
  text-align: center;
  font-family: var(--font-display);
  font-size: 1rem;
  letter-spacing: 0.1em;
  padding: 0.5rem 0;
  color: #ffd700;
  animation: viper-sparkle 2s ease-in-out infinite;
}

@keyframes viper-sparkle {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.6; }
}

/* ── Birthday Sale ────────────────────────────────────────────────────────── */
.viper-season-birthday {
  --viper-accent: #ff69b4;
  --viper-accent-dark: #cc3d80;
  --viper-accent-glow: rgba(255, 105, 180, 0.3);
}

.viper-season-birthday .viper-seasonal-decor::before {
  content: '🎂 🎉 🎁 BIRTHDAY SALE — CELEBRATE WITH US! 🎁 🎉 🎂';
  display: block;
  text-align: center;
  font-family: var(--font-display);
  font-size: 1rem;
  letter-spacing: 0.08em;
  padding: 0.5rem 0;
  color: #ff69b4;
}

/* ── Seasonal Banner Component ────────────────────────────────────────────── */
.viper-seasonal-banner {
  display: none;
  padding: 0.65rem var(--container-pad);
  text-align: center;
  font-family: var(--font-display);
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  color: #fff;
  background: var(--viper-dark);
}

/* Show banner when any season is active */
.viper-season-christmas .viper-seasonal-banner,
.viper-season-halloween .viper-seasonal-banner,
.viper-season-easter .viper-seasonal-banner,
.viper-season-valentines .viper-seasonal-banner,
.viper-season-black_friday .viper-seasonal-banner,
.viper-season-cyber_monday .viper-seasonal-banner,
.viper-season-new_year .viper-seasonal-banner,
.viper-season-birthday .viper-seasonal-banner {
  display: block;
}

/* ── Seasonal Decor Container ─────────────────────────────────────────────── */
.viper-seasonal-decor {
  overflow: hidden;
}

/* Only show decor content when a season is active */
body:not([class*="viper-season-"]) .viper-seasonal-decor::before,
.viper-season-none .viper-seasonal-decor::before {
  content: none;
}
