/* ideAI 30/10/2026 : thème Halloween de Sortir Lyon (actif selon ideai_saison, slug « halloween »). */

html.saison-halloween {
  --sl-rose: #ff7a1a;
  --sl-rouge: #c2410c;
  --sl-bleu: #a78bfa;
  --general-color: #ff7a1a;
  --third-color: #ff7a1a;
  --saison-nuit: #120a1c;
  --saison-nuit-2: #2c1640;
  --saison-accent: #ff7a1a;
  --saison-accent-2: #a78bfa;
  --saison-lueur: rgba(255, 122, 26, .55);
}

/* ===== En-tête de nuit ===== */
html.saison-halloween header.modele-header-4 {
  background: linear-gradient(180deg, #120a1c 0%, #1d1029 100%) !important;
  box-shadow: 0 1px 0 rgba(255, 122, 26, .35), 0 8px 30px rgba(18, 10, 28, .35) !important;
}
@media (min-width: 992px) {
  html.saison-halloween #menu > ul > li > a { color: #f6eee6 !important; }
  html.saison-halloween #menu > ul > li > a:hover { color: #ffb070 !important; }
  html.saison-halloween #menu > ul > li > a[aria-current="page"] { color: #ff9a47 !important; box-shadow: inset 0 -2px 0 #ff7a1a; }
}
html.saison-halloween header .btn-header,
html.saison-halloween header a[href*="ajouter-un-etablissement"],
html.saison-halloween header a[href*="sign-up"].btn {
  color: #f6eee6 !important; border-color: rgba(255, 122, 26, .7) !important; background: transparent !important;
}
html.saison-halloween header .burger-menu .line { background: #ff7a1a !important; }
/* La citrouille du logo */
html.saison-halloween header .logo { position: relative; }
html.saison-halloween header .logo::after {
  content: "🎃"; position: absolute; right: -10px; bottom: -2px; font-size: 26px; line-height: 1; pointer-events: none;
  filter: drop-shadow(0 0 8px rgba(255, 140, 40, .9)); animation: hw-balance 3.6s ease-in-out infinite; transform-origin: 50% 90%;
}
@media (max-width: 600px) { html.saison-halloween header .logo::after { font-size: 20px; right: -22px; bottom: 50%; transform-origin: 50% 50%; margin-bottom: -10px; } }
@keyframes hw-balance { 0%, 100% { transform: rotate(-10deg); } 50% { transform: rotate(9deg); } }

/* ===== Bandeau ===== */
html.saison-halloween .saison-bandeau { border-bottom: 1px solid rgba(255, 122, 26, .3); }
html.saison-halloween .saison-bandeau::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 140% at 50% 120%, rgba(255, 122, 26, .28), transparent 70%);
}
html.saison-halloween .saison-bandeau a { position: relative; }
html.saison-halloween .saison-bandeau i { animation: hw-flotte 2.8s ease-in-out infinite; }
html.saison-halloween .saison-bandeau span { animation: hw-pulse 2.4s ease-in-out infinite; }
@keyframes hw-flotte { 50% { transform: translateY(-3px) rotate(6deg); } }
@keyframes hw-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 122, 26, .55); } 60% { box-shadow: 0 0 0 9px rgba(255, 122, 26, 0); } }

/* ===== En-tête photo de l'accueil ===== */
html.saison-halloween .sla .sla-hero-photo::before {
  background:
    radial-gradient(70% 60% at 85% 100%, rgba(255, 110, 20, .22), transparent 70%),
    linear-gradient(90deg, rgba(14, 7, 22, .9) 0%, rgba(24, 10, 36, .66) 50%, rgba(24, 10, 36, .25) 100%) !important;
}
html.saison-halloween .saison-hero-img { object-position: center 55% !important; }
@media (max-width: 640px) {
  html.saison-halloween .sla .sla-hero-photo::before {
    background: linear-gradient(180deg, rgba(14, 7, 22, .82) 0%, rgba(14, 7, 22, .55) 50%, rgba(14, 7, 22, .2) 100%) !important;
  }
  html.saison-halloween .saison-hero-img { object-position: center 75% !important; }
}
html.saison-halloween .sla .sla-recherche button { background: #ff7a1a !important; }
html.saison-halloween .sla .sla-titre { text-shadow: 0 2px 18px rgba(0, 0, 0, .55); }

/* Chauves-souris : silhouettes sombres cerclées de lueur orange, qui traversent lentement le ciel */
html.saison-halloween .saison-decor i {
  width: 46px; height: 23px; top: 18%; left: -60px; opacity: .9;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20'%3E%3Cpath fill='%23140a1e' d='M20 6c1-2 2-3 2-3s0 2 1 3c2-1 5-2 8-1-2 1-3 3-3 5 2-1 6-1 9 1-4 0-7 2-8 5-2-2-5-3-7-2-1 0-2 1-2 2 0-1-1-2-2-2-2-1-5 0-7 2-1-3-4-5-8-5 3-2 7-2 9-1 0-2-1-4-3-5 3-1 6 0 8 1 1-1 1-3 1-3s1 1 2 3z'/%3E%3C/svg%3E") no-repeat center / contain;
  filter: drop-shadow(0 0 4px rgba(255, 150, 60, .75));
  animation: hw-vol 22s linear infinite, hw-aile .32s ease-in-out infinite alternate;
}
html.saison-halloween .saison-decor .d2 { top: 9%; width: 30px; height: 15px; animation-duration: 28s, .28s; animation-delay: -9s, 0s; opacity: .75; }
html.saison-halloween .saison-decor .d3 { top: 32%; width: 38px; height: 19px; animation-duration: 19s, .3s; animation-delay: -4s, 0s; }
html.saison-halloween .saison-decor .d4 { top: 6%; width: 22px; height: 11px; animation-duration: 34s, .26s; animation-delay: -20s, 0s; opacity: .6; }
html.saison-halloween .saison-decor .d5 { top: 24%; width: 26px; height: 13px; animation-duration: 25s, .29s; animation-delay: -15s, 0s; opacity: .7; }
@keyframes hw-vol {
  0% { transform: translate(0, 0); }
  25% { transform: translate(28vw, -18px); }
  50% { transform: translate(56vw, 14px); }
  75% { transform: translate(84vw, -10px); }
  100% { transform: translate(calc(100vw + 120px), 6px); }
}
@keyframes hw-aile { from { scale: 1 1; } to { scale: 1 .55; } }
/* Brume qui monte du bas de l'image */
html.saison-halloween .saison-decor .saison-brume {
  left: -20%; right: -20%; bottom: -10px; height: 46%;
  background:
    radial-gradient(40% 60% at 20% 100%, rgba(200, 180, 230, .22), transparent 70%),
    radial-gradient(45% 55% at 60% 100%, rgba(200, 180, 230, .18), transparent 70%),
    radial-gradient(35% 50% at 90% 100%, rgba(200, 180, 230, .2), transparent 70%);
  filter: blur(6px); animation: hw-brume 16s ease-in-out infinite alternate;
}
@keyframes hw-brume { from { transform: translateX(-4%); } to { transform: translateX(4%); } }
@media (max-width: 640px) {
  html.saison-halloween .saison-decor .d4, html.saison-halloween .saison-decor .d5 { display: none; }
  html.saison-halloween .saison-decor i { top: 7%; }
  html.saison-halloween .saison-decor .d2 { top: 4%; }
  html.saison-halloween .saison-decor .d3 { top: 12%; }
}

/* ===== Bloc « Samedi 31 » de l'accueil ===== */
html.saison-halloween .saison-une {
  background:
    radial-gradient(60% 80% at 100% 0%, rgba(167, 139, 250, .16), transparent 60%),
    radial-gradient(55% 90% at 0% 100%, rgba(255, 122, 26, .18), transparent 60%),
    #120a1c;
  border-bottom: 1px solid rgba(255, 122, 26, .25);
}
/* Toile d'araignée dans le coin */
html.saison-halloween .saison-une::before {
  content: ""; position: absolute; top: 0; right: 0; width: 170px; height: 170px; opacity: .3; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e9dcf5' stroke-width='.8'%3E%3Cpath d='M100 0 L0 100 M100 0 L30 100 M100 0 L60 100 M100 0 L0 70 M100 0 L0 40 M100 0 L100 100 M100 0 L0 0'/%3E%3Cpath d='M86 0 Q90 10 100 14 M70 0 Q78 20 100 30 M52 0 Q64 34 100 48 M34 0 Q50 50 100 66 M16 0 Q36 64 100 84'/%3E%3C/svg%3E") no-repeat top right / contain;
}
html.saison-halloween .saison-une-quand { box-shadow: 0 0 14px rgba(255, 122, 26, .45); }

/* ===== Le reste du site ===== */
html.saison-halloween .slb-card:hover,
html.saison-halloween .sla a[class*="carte"]:hover { box-shadow: 0 12px 34px -10px rgba(255, 122, 26, .55) !important; }
html.saison-halloween .slb-pro { background: linear-gradient(120deg, #120a1c, #2c1640) !important; }
html.saison-halloween .slb-chip.on { background: #120a1c !important; border-color: #ff7a1a !important; }
html.saison-halloween ::selection { background: #ff7a1a; color: #fff; }

/* ===== Le cimetière au pied de la page (partie sombre du pied de page) ===== */
html.saison-halloween .slx-pied { position: relative; padding-bottom: 96px !important; overflow: hidden; }
html.saison-halloween .slx-pied::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 92px; pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 92'%3E%3Cg fill='%232d1f3d'%3E%3Cpath d='M0 80 Q130 66 260 78 T520 76 V92 H0Z'/%3E%3Cpath d='M40 82 V52 Q40 38 54 38 Q68 38 68 52 V82Z'/%3E%3Cpath d='M96 82 V58 H90 V50 H96 V42 H104 V50 H110 V58 H104 V82Z'/%3E%3Cpath d='M150 80 V44 Q150 26 168 26 Q186 26 186 44 V80Z'/%3E%3Cpath d='M232 80 V60 Q232 50 242 50 Q252 50 252 60 V80Z'/%3E%3Cpath d='M300 80 V40 H292 V30 H300 V18 H310 V30 H318 V40 H310 V80Z'/%3E%3Cpath d='M360 80 V50 Q360 36 376 36 Q392 36 392 50 V80Z'/%3E%3Cpath d='M452 80 L452 30 L446 22 M452 46 L470 34 M452 40 L438 30 M452 56 L466 50' fill='none' stroke='%232d1f3d' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M420 80 V62 Q420 54 428 54 Q436 54 436 62 V80Z'/%3E%3C/g%3E%3Cg fill='%23ff7a1a' opacity='.9'%3E%3Ccircle cx='170' cy='72' r='3'/%3E%3Ccircle cx='376' cy='72' r='2.5'/%3E%3C/g%3E%3C/svg%3E") repeat-x bottom left / 520px 92px;
}
html.saison-halloween .slx-pied::before {
  content: ""; position: absolute; right: 8%; bottom: 52px; width: 54px; height: 54px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle at 40% 40%, #fff3d6, #ffd58a 60%, #e7a54a); box-shadow: 0 0 40px 10px rgba(255, 210, 130, .25); opacity: .85;
}
html.saison-halloween .slx-pied > * { position: relative; z-index: 1; }
@media (max-width: 640px) { html.saison-halloween .slx-pied::before { width: 38px; height: 38px; bottom: 56px; right: 6%; } }

/* Le fantôme qui passe la tête */
html.saison-halloween .saison-apparition { filter: drop-shadow(0 0 14px rgba(200, 180, 255, .6)); }
