/*
 * Thème saisonnier Halloween.
 * Chargé par resources/views/app.blade.php uniquement pendant la période
 * définie dans config/seasonal_theme.php ; <html data-season="halloween">.
 * Toutes les couleurs dérivent des variables ci-dessous (triplets RGB).
 */
html[data-season="halloween"] {
  --hw-accent: 242, 122, 26;
  --hw-accent-soft: 255, 176, 82;
  --hw-glow: 255, 226, 178;
  --hw-glass: 40, 18, 56;
  --hw-deep: 22, 9, 31;
  --hw-night: #0c0711;
  --main-button: rgb(var(--hw-accent));
  --main-border: rgb(var(--hw-accent-soft));
  --icons: rgba(var(--hw-accent-soft), 0.85);
  scrollbar-color: rgb(var(--hw-accent)) var(--hw-night);
}

html[data-season="halloween"] body {
  background-color: var(--hw-night);
}

html[data-season="halloween"] ::selection {
  background-color: rgba(var(--hw-accent), 0.45);
  color: white;
}

html[data-season="halloween"] #nprogress .bar {
  background: rgb(var(--hw-accent)) !important;
}
html[data-season="halloween"] #nprogress .peg {
  box-shadow: 0 0 10px rgb(var(--hw-accent)), 0 0 5px rgb(var(--hw-accent)) !important;
}

/* Titres */
html[data-season="halloween"] h1,
html[data-season="halloween"] .play_section .container div h1 {
  background: linear-gradient(rgb(var(--hw-glow)), rgb(var(--hw-accent-soft)));
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 0 8px rgba(var(--hw-accent), 0.35));
}

/* Navigation */
html[data-season="halloween"] nav {
  background-color: rgba(var(--hw-glass), 0.86);
  border-color: rgba(var(--hw-accent-soft), 0.22);
  box-shadow: 0 0 18px rgba(var(--hw-accent), 0.16), 0 0 10px rgba(0, 0, 0, 0.4);
}
html[data-season="halloween"] nav ul span::before {
  background-color: rgb(var(--hw-accent));
}
html[data-season="halloween"] nav ul .with-dropdown div div,
html[data-season="halloween"] nav ul .with-dropdown div div::before,
html[data-season="halloween"] nav .nav--right .language--dropdown,
html[data-season="halloween"] nav .nav--right .user-box_content,
html[data-season="halloween"] nav .nav--right .user-box_content::before {
  background-color: rgb(var(--hw-glass));
}

/* Boutons Jouer : braise qui pulse */
html[data-season="halloween"] nav .nav--right .play,
html[data-season="halloween"] header .main a {
  animation: hw-ember 3.2s ease-in-out infinite;
}

@keyframes hw-ember {
  0%, 100% {
    box-shadow: 0 0 10px rgba(var(--hw-accent), 0.35), 0 10px 20px rgba(0, 0, 0, 0.35);
  }
  50% {
    box-shadow: 0 0 26px rgba(var(--hw-accent), 0.7), 0 10px 20px rgba(0, 0, 0, 0.35);
  }
}

/* Accueil : illustration Halloween à la place de l'image d'en-tête (Pages/News.vue).
   L'<img> d'origine est masquée, son voile sombre est conservé pour la lisibilité. */
html[data-season="halloween"] .header_background {
  background: url("https://astra-dl.b-cdn.net/aqua/assets/background_halloween.webp") center / cover no-repeat;
}
html[data-season="halloween"] .header_background img {
  visibility: hidden;
}
html[data-season="halloween"] .header_background::before {
  background: linear-gradient(rgba(0, 0, 0, 0.3), var(--hw-night));
}
html[data-season="halloween"] header .video .video-shadow {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3), rgba(var(--hw-deep), 0.9), rgb(var(--hw-deep)));
}
html[data-season="halloween"] header .main--logo img {
  filter: drop-shadow(0 0 24px rgba(var(--hw-accent), 0.45));
}

/* Actualités */
html[data-season="halloween"] header .news_home {
  border-top-color: rgba(var(--hw-accent-soft), 0.14);
}
html[data-season="halloween"] header .news_home .container:nth-child(1) a,
html[data-season="halloween"] .page .news--read--title .date .tag,
html[data-season="halloween"] .page .news--read--title .date .social a i,
html[data-season="halloween"] .page .news--read--title i,
html[data-season="halloween"] .news_pagination a.active,
html[data-season="halloween"] .news_pagination a:hover,
html[data-season="halloween"] .news_page .news_list a span,
html[data-season="halloween"] .features .features-list .features-content .features-text a {
  color: rgb(var(--hw-accent-soft));
}
html[data-season="halloween"] header .news_home .news-content,
html[data-season="halloween"] .news_page .news_list-img,
html[data-season="halloween"] .news_page .news_main .news-content {
  border-color: rgba(var(--hw-accent), 0.4);
}
html[data-season="halloween"] header .news_home .news-content:hover,
html[data-season="halloween"] .news_page .news_main .news-content:hover {
  box-shadow: 0 0 22px rgba(var(--hw-accent), 0.35);
}
html[data-season="halloween"] header .news_home .news-content .news-text,
html[data-season="halloween"] .news_page .news_main .news-content .news-text {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5), rgb(var(--hw-deep)));
}
html[data-season="halloween"] .news_page .news_list a {
  border-top-color: rgba(var(--hw-accent), 0.18);
}

/* Section « Prêt à partir à l'aventure ? » : cimetière en silhouette */
html[data-season="halloween"] .play_section::before {
  background: linear-gradient(rgba(0, 0, 0, 0.15), rgb(var(--hw-deep)));
}
html[data-season="halloween"] .play_section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 90px;
  background-color: var(--hw-night);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 90'%3E%3Cpath d='M0 70q150-22 300-6t300 6v20H0z'/%3E%3Cpath d='M60 72V46a14 14 0 0 1 28 0v26zM235 70V50a10 10 0 0 1 20 0v20z'/%3E%3Cpath d='M156 70V22h6v9h8v6h-8v33z'/%3E%3Cpath d='M156 31h-8v6h8z'/%3E%3Cpath d='M418 70l4-38-13-13 3-2 12 11 2-14 4 1-2 18 11-10 2 3-13 13-2 31z'/%3E%3Cpath d='M500 72V42l4-6 4 6v30zM520 72V42l4-6 4 6v30zM540 72V42l4-6 4 6v30zM496 52h56v4h-56z'/%3E%3C/svg%3E") left bottom / 600px 90px repeat-x;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 90'%3E%3Cpath d='M0 70q150-22 300-6t300 6v20H0z'/%3E%3Cpath d='M60 72V46a14 14 0 0 1 28 0v26zM235 70V50a10 10 0 0 1 20 0v20z'/%3E%3Cpath d='M156 70V22h6v9h8v6h-8v33z'/%3E%3Cpath d='M156 31h-8v6h8z'/%3E%3Cpath d='M418 70l4-38-13-13 3-2 12 11 2-14 4 1-2 18 11-10 2 3-13 13-2 31z'/%3E%3Cpath d='M500 72V42l4-6 4 6v30zM520 72V42l4-6 4 6v30zM540 72V42l4-6 4 6v30zM496 52h56v4h-56z'/%3E%3C/svg%3E") left bottom / 600px 90px repeat-x;
}
html[data-season="halloween"] .play_section .container div a {
  background-color: rgba(var(--hw-accent), 0.85);
  border-color: rgb(var(--hw-accent-soft));
  box-shadow: 0 0 24px rgba(var(--hw-accent), 0.45);
}

/* Pages internes */
html[data-season="halloween"] .page::after {
  background:
    radial-gradient(circle at 85% 8%, rgba(var(--hw-glow), 0.12), transparent 28%),
    linear-gradient(rgba(0, 0, 0, 0.8), rgba(var(--hw-deep), 0.97), rgba(var(--hw-deep), 0.99));
}
html[data-season="halloween"] .page--content {
  background-color: rgba(var(--hw-deep), 0.88);
  border-color: rgba(var(--hw-accent-soft), 0.16);
}
html[data-season="halloween"] .infopage_header::before {
  background: linear-gradient(rgba(0, 0, 0, 0), rgb(var(--hw-deep)));
}
html[data-season="halloween"] .infopage_header-content div a:nth-child(2):hover,
html[data-season="halloween"] .infopage_header-content div a:nth-child(2):hover i,
html[data-season="halloween"] .page_vote-content blockquote strong {
  color: rgb(var(--hw-accent-soft));
  border-color: rgb(var(--hw-accent-soft));
}
html[data-season="halloween"] .infopage_thirdInfo-content ul li.active span:nth-child(1) h1,
html[data-season="halloween"] .infopage_thirdInfo-content ul li:hover span:nth-child(1) h1,
html[data-season="halloween"] .infopage_secInfo-content_list li.active span:nth-child(1) h1,
html[data-season="halloween"] .infopage_secInfo-content_list li:hover span:nth-child(1) h1 {
  border-color: rgb(var(--hw-accent));
}
html[data-season="halloween"] .page_vote-content blockquote {
  border-color: rgba(var(--hw-accent), 0.5);
  border-left-color: rgb(var(--hw-accent));
}
html[data-season="halloween"] .page_vote-content div ul li:first-child,
html[data-season="halloween"] .page_vote-content div ul li span span {
  background-color: rgb(var(--hw-accent));
}

/* Formulaires (connexion, inscription…) */
html[data-season="halloween"] .global_form {
  background-color: rgba(var(--hw-glass), 0.86);
  border-color: rgba(var(--hw-accent-soft), 0.2);
  box-shadow: 0 0 30px rgba(var(--hw-accent), 0.12);
}
html[data-season="halloween"] .global_form-input input {
  border-color: rgba(var(--hw-accent), 0.5);
}
html[data-season="halloween"] .global_form-input input:focus {
  border-color: rgb(var(--hw-accent-soft));
}
html[data-season="halloween"] .global_form-input i,
html[data-season="halloween"] .global_form-msg a {
  color: rgb(var(--hw-accent-soft));
}
html[data-season="halloween"] .global_form-input input:focus ~ i {
  color: white;
}
html[data-season="halloween"] .global_form-checkbox input:checked ~ span {
  border-color: rgb(var(--hw-accent-soft));
}

/* Bas de page */
html[data-season="halloween"] .join {
  background: linear-gradient(rgba(var(--hw-glass), 0.95), rgba(var(--hw-deep), 0.97));
}
html[data-season="halloween"] .join .container .join-links a:hover {
  background-color: rgba(var(--hw-accent), 0.45);
}
html[data-season="halloween"] footer {
  border-top-color: rgba(var(--hw-accent-soft), 0.08);
}

@media (prefers-reduced-motion: reduce) {
  html[data-season="halloween"] nav .nav--right .play,
  html[data-season="halloween"] header .main a {
    animation: none;
  }
}
