/* Thème Halloween du site public (maquette validée le 06/10/2026, docs/halloween) : chargé seulement pendant l'opération, voir App\Services\Halloween */
:root.halloween[data-theme="dark"] {
  --bg: #0e0a16; --bg-alt: #150f22; --surface: #1b1430; --border: #30234a; --border-strong: #45355f;
  --text: #f6f0ff; --muted: #b9abd1;
  --primary: #ff7a1a; --primary-dark: #ff9a4d; --primary-light: rgba(255, 122, 26, .14);
  --accent: #b46cff; --accent-light: rgba(180, 108, 255, .14);
  --shadow-md: 0 6px 24px rgba(0, 0, 0, .45); --shadow-lg: 0 14px 40px rgba(0, 0, 0, .55);
}
.halloween .announce { background: linear-gradient(90deg, #3b1366, #c2410c 50%, #3b1366); letter-spacing: .01em; }
.halloween .site-nav { background: rgba(14, 10, 22, .88) !important; border-bottom-color: #2a1f40; }
.halloween .btn-primary, .halloween .cta-band .btn-primary { background: linear-gradient(180deg, #ff8a2b, #f06a0a); border-color: #f06a0a; color: #1a0b02 !important; box-shadow: 0 6px 22px rgba(255, 122, 26, .35); }
.halloween .btn-primary:hover { filter: brightness(1.08); }

/* Héros : nuit violette, lune, étoiles */
.halloween .hero { position: relative; background: radial-gradient(ellipse at 78% 18%, rgba(255, 170, 60, .16), transparent 42%), linear-gradient(180deg, #120a22 0%, #1c0f35 55%, #2a1342 100%); border-bottom: 0; }
.halloween .hero-inner { position: relative; z-index: 2; }
.halloween .hero .eyebrow { background: rgba(255, 122, 26, .12); border-color: rgba(255, 122, 26, .45); color: #ffb072; }
.halloween .hero h1 { color: #f6f0ff; }
.halloween .hero h1 em { color: #ff8a2b; text-shadow: 0 0 28px rgba(255, 122, 26, .55); }
.halloween .hero p { color: #cbbfe0; }
.halloween .hero .badges, .halloween .hero .badges * { color: #cbbfe0; }
.halloween .hero .badges .kh-icon { color: #ff8a2b; }
.halloween .kory-hero-glow { inset: 0 !important; background: radial-gradient(circle at 46% 40%, #fff6dc 0%, #ffe2a8 30%, #ffc26b 48%, rgba(255, 170, 60, .35) 60%, rgba(255, 140, 40, 0) 72%) !important; filter: drop-shadow(0 0 60px rgba(255, 170, 60, .45)); }
.halloween .kory-hero-glow::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background:
  radial-gradient(circle at 34% 30%, rgba(214, 160, 80, .45) 0 4%, transparent 4.5%),
  radial-gradient(circle at 62% 24%, rgba(214, 160, 80, .35) 0 2.6%, transparent 3%),
  radial-gradient(circle at 70% 52%, rgba(214, 160, 80, .3) 0 3.4%, transparent 3.9%),
  radial-gradient(circle at 30% 58%, rgba(214, 160, 80, .28) 0 2.2%, transparent 2.6%); }
.halloween .kory-bulle { background: #1b1430; color: #ffd2a8; border: 1px solid rgba(255, 122, 26, .6); box-shadow: 0 6px 20px rgba(255, 122, 26, .25); }
.halloween .kory-bulle::after, .halloween .kory-bulle::before { border-top-color: #1b1430 !important; }

.hw-ciel { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.hw-etoile { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #fff; opacity: .7; }
.hw-chauve-souris { position: absolute; z-index: 3; pointer-events: none; }
.hw-chauve-souris svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .4)); }
.hw-toile { position: absolute; top: 0; left: 0; width: 180px; z-index: 2; pointer-events: none; opacity: .5; }
.hw-araignee { position: absolute; top: 0; z-index: 3; pointer-events: none; }
.hw-citrouille { position: absolute; z-index: 4; pointer-events: none; filter: drop-shadow(0 0 18px rgba(250, 204, 21, .55)) drop-shadow(0 6px 8px rgba(0, 0, 0, .5)); }
.hw-fantome { position: absolute; z-index: 3; pointer-events: none; opacity: .92; filter: drop-shadow(0 0 16px rgba(220, 210, 255, .45)); }

/* Sections */
.halloween .section .card { background: var(--surface); border-color: var(--border); }
.halloween .section .card .icon { background: rgba(255, 122, 26, .12); color: #ff8a2b; }
.halloween .plan-card { background: var(--surface); }
.halloween .plan-card.featured { border-color: #ff7a1a; box-shadow: 0 0 0 1px rgba(255, 122, 26, .35), 0 10px 40px rgba(255, 122, 26, .22); }
.halloween .plan-card .flag { background: linear-gradient(90deg, #ff8a2b, #f06a0a); color: #1a0b02 !important; }
.halloween .plan-group-tag { color: #c9a2ff; }
.halloween .step .num { background: rgba(180, 108, 255, .16); color: #d6b6ff; }
.halloween .cta-band { background: radial-gradient(ellipse at 20% 100%, rgba(255, 122, 26, .25), transparent 55%), linear-gradient(135deg, #2a1150, #13091f); border: 1px solid #3b2763; position: relative; overflow: hidden; }
.halloween .cta-band h2, .halloween .cta-band p { color: #f6f0ff; }

/* Bas de page : cimetière */
.hw-cimetiere { display: block; width: 100%; height: 110px; margin-top: 3rem; margin-bottom: -2px; background: linear-gradient(180deg, rgba(14, 10, 22, 0) 0%, rgba(86, 40, 140, .5) 100%); }
.halloween .site-footer { background: #0a0612; margin-top: 0; }
.halloween .site-footer .logo span { color: #ff8a2b; }

/* Bulle de discussion */
.halloween [class*="chat"] button, .halloween .kh-chat-toggle { background: linear-gradient(180deg, #ff8a2b, #f06a0a) !important; }

/* Petits écrans : décors allégés (Kory est au-dessus du texte) */
@media (max-width: 900px) {
  .hw-araignee, .hw-cs-2, .hw-cs-3, .hw-cs-5, .hw-cs-6 { display: none; }
  .hw-toile { width: 96px; }
  .hw-cs-1 { left: 6% !important; top: 4% !important; width: 44px !important; }
  .hw-cs-4 { left: 82% !important; top: 6% !important; width: 40px !important; }
  .halloween .kory-bulle { top: 20%; left: -16%; }
}
@media (min-width: 901px) {
  .halloween .kory-bulle { margin-left: -44px; }
}

/* Kory au chapeau intégré : image 800x900 (Kory même taille, marge en haut pour la pointe) */
.halloween .kory-hero.hw-kory { aspect-ratio: 8 / 9; }
.halloween .kory-hero.hw-kory .kory-hero-glow { inset: 11% 0 0 0 !important; }
