html:root {
  --accent-halloween: #ff9138;
  --accent-blood: #9e1234;
  --season-edge: rgba(255, 145, 56, 0.48);
  --season-glow: rgba(255, 145, 56, 0.18);
  --bg: #09060d;
  --card-bg: #160d19;
  --card: #160d19;
  --accent: var(--accent-blood);
  --gold: #ffc078;
}

html body {
  background:
    radial-gradient(ellipse at top left, rgba(255, 145, 56, 0.1), transparent 45%),
    radial-gradient(ellipse at top right, rgba(158, 18, 52, 0.2), transparent 50%),
    linear-gradient(180deg, var(--bg), #170b14);
}

html body ::selection {
  background: var(--accent-blood);
  color: #fff;
}

.season-hero,
.season-header {
  width: 100%;
  min-width: 0;
  margin: 0 0 24px;
  overflow: hidden;
  border: 1px solid var(--season-edge);
  border-radius: 24px;
  background: var(--bg);
  box-shadow: 0 0 28px var(--season-glow), 0 18px 45px rgba(0, 0, 0, 0.35);
}

.season-header .season-hero {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.season-hero img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

@media (max-width: 639px) {
  .season-hero,
  .season-header {
    border-radius: 18px;
  }

  .season-hero figcaption {
    padding: 10px 12px;
    letter-spacing: 0.04em;
  }
}

.season-hero figcaption {
  padding: 10px 16px;
  color: #ffd6b2;
  font: 600 12px/1.5 Georgia, "Times New Roman", serif;
  letter-spacing: 0.1em;
  text-align: center;
}

#mainCatalog > .season-hero {
  max-width: 760px;
}

html .season-card {
  border-color: var(--season-edge);
  box-shadow: 0 0 18px var(--season-glow), 0 12px 28px rgba(0, 0, 0, 0.4);
}

html .season-card:hover,
html .season-card:focus-visible {
  border-color: var(--accent-halloween);
  box-shadow: 0 0 26px rgba(255, 145, 56, 0.28), 0 12px 28px rgba(0, 0, 0, 0.4);
}

.season-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid var(--season-edge);
  border-radius: 999px;
  background: rgba(16, 7, 18, 0.92);
  color: #ffd6b2;
  font: 700 10px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: 0.06em;
}

.vip-grid-media > .season-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 6;
}

#profileSeasonBadge {
  margin: 12px 18px 0;
}

#profileSeasonBadge[hidden] {
  display: none;
}

html .new-ribbon span {
  background: linear-gradient(135deg, var(--accent-blood), #6c204a);
  color: #fff0df;
}

html .brand-section-title,
html .brand-luxury-wordmark {
  background-image: linear-gradient(110deg, #fff0df, var(--accent-halloween), #ffd6b2);
}

html .panel,
html .doc,
html .card,
html .vip-account-panel {
  border-color: var(--season-edge);
}

html .secret-cta-pulse::before {
  background: linear-gradient(110deg, transparent 25%, var(--season-glow) 46%, rgba(255, 192, 120, 0.3) 50%, var(--season-glow) 54%, transparent 75%);
}

html .secret-cta-pulse::after {
  border-color: var(--season-edge);
}

html .season-cta,
html a[href*="start=plan"],
html .secret-cta-pulse,
html .portal-btn--cherry,
html .vip-plan-cta,
html .vip-sub-renew,
html .btn-vip-primary,
html .vip-pack-preview {
  animation: seasonCtaGlow 3.8s ease-in-out infinite;
}

@keyframes seasonCtaGlow {
  0%, 100% { box-shadow: 0 0 8px rgba(255, 145, 56, 0.12); }
  50% { box-shadow: 0 0 20px rgba(255, 145, 56, 0.3), 0 0 6px rgba(158, 18, 52, 0.25); }
}

@media (prefers-reduced-motion: reduce) {
  html .season-cta,
  html a[href*="start=plan"],
  html .secret-cta-pulse,
  html .portal-btn--cherry,
  html .vip-plan-cta,
  html .vip-sub-renew,
  html .btn-vip-primary,
  html .vip-pack-preview {
    animation: none;
  }
}
