html { scroll-behavior: smooth; background:#02030a; }
body.halloween-v2-test { margin:0; background:#02030a; overflow-x:hidden; }
.halloween-v2-test .top-sticky-shell { position:sticky; top:0; z-index:1000; }
.halloween-master-stage { position:relative; width:100%; margin:0; background:#02030a; line-height:0; }
.halloween-master-v2 { display:block; width:100%; height:auto; margin:0; }
.test-anchor { position:absolute; left:0; width:1px; height:1px; scroll-margin-top:170px; pointer-events:none; }
.test-anchor-horaire { top:39%; }
.test-anchor-animateurs { top:58%; }
.test-anchor-apropos { top:80%; }
@media (max-width:900px){
  .halloween-v2-test .top-sticky-shell { position:relative; }
  .test-anchor { scroll-margin-top:20px; }
}

/* === HORAIRE HALLOWEEN : première vraie section dynamique === */
.halloween-schedule{
  position:absolute;
  z-index:5;
  top:37.2%;
  left:17.2%;
  width:65.6%;
  display:grid;
  grid-template-columns:2.05fr 1fr;
  gap:1.6%;
  line-height:1.2;
  scroll-margin-top:170px;
}
.hx-show{
  position:relative;
  min-height:150px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:18px;
  padding:24px 24px 18px;
  color:#fff;
  background:linear-gradient(110deg,rgba(5,3,16,.96),rgba(15,5,26,.91));
  border:1px solid rgba(204,91,255,.46);
  border-radius:12px;
  box-shadow:0 0 26px rgba(118,0,181,.24), inset 0 0 28px rgba(18,0,35,.8);
  overflow:visible;
}
.hx-kicker{
  position:absolute;
  left:0;
  top:-25px;
  font:800 14px/1 Arial,sans-serif;
  letter-spacing:.04em;
  color:#ff435e;
  text-shadow:0 0 9px rgba(255,0,55,.8);
  white-space:nowrap;
}
.hx-show-image{
  width:112px;
  height:112px;
  flex:0 0 112px;
  object-fit:cover;
  border:1px solid rgba(158,82,224,.5);
  box-shadow:0 0 18px rgba(86,0,150,.45);
}
.hx-show-copy{min-width:0;flex:1}
.hx-show h3{margin:0 0 7px;color:#f5d7ff;font:italic 800 26px/1 Georgia,serif;text-transform:uppercase;text-shadow:0 0 10px rgba(214,119,255,.3)}
.hx-time{margin:0 0 9px;color:#fff;font:700 14px/1.2 Arial,sans-serif;letter-spacing:.04em}
.hx-desc{margin:0;color:#bcb3ca;font:13px/1.35 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-progress{height:4px;margin-top:13px;background:rgba(255,255,255,.08);overflow:hidden}
.hx-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7b20ff,#e44cff);box-shadow:0 0 8px #c33cff}
.hx-play{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;color:#fff;border:2px solid #ff3857;box-shadow:0 0 18px rgba(255,0,55,.72),inset 0 0 12px rgba(255,0,55,.22);font-size:19px;padding-left:3px}
.hx-next{padding-right:16px}
.hx-next .hx-show-image{width:105px;height:105px;flex-basis:105px}
.hx-next h3{font-size:20px}
.hx-next .hx-desc{display:none}
.hx-later-list{display:none!important}

@media (max-width:900px){
  .halloween-schedule{left:8%;width:84%;top:37%;grid-template-columns:1fr;gap:44px;transform:scale(.86);transform-origin:top center}
  .hx-show{min-height:128px}
}

/* === HORAIRE-02 : structure originale index.html + habillage Halloween === */
.halloween-master-stage > .halloween-schedule{
  position:absolute;
  z-index:6;
  top:39.2%;
  left:4.2%;
  width:91.6%;
  padding:0;
  margin:0;
  line-height:1.25;
  background:transparent;
  border:0;
  scroll-margin-top:170px;
}
.halloween-schedule .section-title{gap:14px;margin:0 0 4px}
.halloween-schedule .section-title h2{
  margin:0;
  color:#fff;
  font-size:27px;
  letter-spacing:.035em;
  text-shadow:0 0 10px rgba(255,255,255,.18),0 0 16px rgba(255,24,73,.32);
}
.halloween-schedule .section-title span{
  width:48px;height:3px;
  background:#ff1749;
  box-shadow:0 0 10px #ff1749;
}
.halloween-schedule .section-subtitle{
  margin:0 0 12px;
  color:#e9e1ee;
  text-align:center;
  font-size:13px;
  text-shadow:0 2px 8px #000;
}
.halloween-schedule .schedule-model-5{
  display:grid;
  grid-template-columns:1.18fr .86fr 1fr;
  gap:13px;
  padding:12px;
  background:rgba(2,5,14,.60);
  border:1px solid rgba(102,72,181,.62);
  border-radius:15px;
  box-shadow:0 0 30px rgba(83,17,155,.22),inset 0 0 34px rgba(0,0,0,.42);
  backdrop-filter:blur(2px);
}
.halloween-schedule .schedule-card{
  min-width:0;
  min-height:205px;
  padding:14px;
  color:#fff;
  background:linear-gradient(145deg,rgba(5,11,25,.94),rgba(12,5,25,.91));
  border:1px solid rgba(121,80,210,.76);
  border-radius:11px;
  box-shadow:inset 0 0 25px rgba(63,20,111,.18),0 0 14px rgba(0,0,0,.28);
}
.halloween-schedule .current-card{border-color:#ff2455}
.halloween-schedule .next-card{border-color:#258ec7}
.halloween-schedule .later-card{border-color:#8748ff}
.halloween-schedule .card-kicker{
  color:#fff;
  font-size:16px;
  font-weight:900;
  margin-bottom:11px;
  letter-spacing:.01em;
  text-shadow:0 0 9px rgba(255,30,78,.28);
}
.halloween-schedule .current-card{
  grid-template-columns:145px minmax(0,1fr);
  grid-template-areas:"kicker kicker" "image title" "image time" "image progress" "image desc";
  column-gap:15px;
}
.halloween-schedule .current-card .current-image{
  width:145px;height:125px;object-fit:cover;border-radius:7px;
  border:1px solid rgba(113,61,255,.65);
}
.halloween-schedule .current-card h3{font-size:22px;margin:4px 0 2px}
.halloween-schedule .current-card .onair{top:50px;left:112px;font-size:12px;padding:6px 10px}
.halloween-schedule .current-card .progress{max-width:170px;margin:3px 0 7px}
.halloween-schedule .current-card .desc{font-size:12px;line-height:1.3}
.halloween-schedule .next-card{
  grid-template-columns:115px minmax(0,1fr);
  grid-template-areas:"kicker kicker" "image title" "image time" "image desc";
  column-gap:13px;
}
.halloween-schedule .next-card .program-image{width:115px;height:118px;object-fit:cover;border-radius:7px}
.halloween-schedule .next-card h3{font-size:21px;margin:4px 0 2px}
.halloween-schedule .next-card .time{font-size:15px;margin:0 0 5px}
.halloween-schedule .next-card .desc{font-size:12px;line-height:1.3}
.halloween-schedule .later-list{display:flex!important;flex-direction:column;gap:6px}
.halloween-schedule .later-item{
  display:grid;grid-template-columns:68px minmax(0,1fr);gap:9px;align-items:center;
  min-height:47px;padding:5px 7px;
  background:rgba(5,17,31,.82);border:1px solid rgba(64,112,157,.68);border-radius:7px;
}
.halloween-schedule .later-item img{width:68px;height:42px;object-fit:cover;border-radius:5px}
.halloween-schedule .later-item b{font-size:11px;margin-bottom:1px;color:#ff315d}
.halloween-schedule .later-item strong{font-size:12px;line-height:1.1}
.halloween-schedule .later-empty{font-size:12px}
@media(max-width:1000px){
  .halloween-master-stage > .halloween-schedule{left:3%;width:94%;top:38.5%;transform:scale(.92);transform-origin:top center}
}

/* === HORAIRE-03 : centrage réel dans la zone V2 === */
.halloween-master-stage > .halloween-schedule{
  display:block !important;
  box-sizing:border-box !important;
  left:50% !important;
  width:88% !important;
  max-width:none !important;
  top:39.2% !important;
  transform:translateX(-50%) !important;
  padding:0 !important;
  margin:0 !important;
}
.halloween-master-stage > .halloween-schedule .section-title{
  display:flex !important;
  width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  margin:0 0 5px !important;
}
.halloween-master-stage > .halloween-schedule .section-subtitle{
  display:block !important;
  width:100% !important;
  margin:0 0 12px !important;
  text-align:center !important;
}
.halloween-master-stage > .halloween-schedule .schedule-model-5{
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 auto !important;
}
@media(max-width:1000px){
  .halloween-master-stage > .halloween-schedule{
    left:50% !important;
    width:94% !important;
    top:38.5% !important;
    transform:translateX(-50%) !important;
  }
}

/* === HORAIRE-04 : même position, format compact pour tenir dans la zone V2 === */
.halloween-master-stage > .halloween-schedule{
  width:82% !important;
}
.halloween-master-stage > .halloween-schedule .section-title{margin-bottom:2px !important}
.halloween-master-stage > .halloween-schedule .section-title h2{font-size:22px !important}
.halloween-master-stage > .halloween-schedule .section-title span{width:38px !important;height:2px !important}
.halloween-master-stage > .halloween-schedule .section-subtitle{font-size:11px !important;margin-bottom:7px !important}
.halloween-master-stage > .halloween-schedule .schedule-model-5{gap:9px !important;padding:8px !important;border-radius:12px !important}
.halloween-master-stage > .halloween-schedule .schedule-card{min-height:158px !important;padding:10px !important;border-radius:9px !important}
.halloween-master-stage > .halloween-schedule .card-kicker{font-size:13px !important;margin-bottom:7px !important}
.halloween-master-stage > .halloween-schedule .current-card{
  grid-template-columns:100px minmax(0,1fr) !important;
  column-gap:11px !important;
}
.halloween-master-stage > .halloween-schedule .current-card .current-image{width:100px !important;height:94px !important}
.halloween-master-stage > .halloween-schedule .current-card h3{font-size:18px !important;margin:2px 0 1px !important}
.halloween-master-stage > .halloween-schedule .current-card .onair{top:40px !important;left:82px !important;font-size:10px !important;padding:4px 7px !important}
.halloween-master-stage > .halloween-schedule .current-card .time{font-size:14px !important;margin:0 0 3px !important}
.halloween-master-stage > .halloween-schedule .current-card .progress{max-width:145px !important;margin:2px 0 4px !important}
.halloween-master-stage > .halloween-schedule .current-card .desc{font-size:10px !important}
.halloween-master-stage > .halloween-schedule .next-card{
  grid-template-columns:88px minmax(0,1fr) !important;
  column-gap:10px !important;
}
.halloween-master-stage > .halloween-schedule .next-card .program-image{width:88px !important;height:94px !important}
.halloween-master-stage > .halloween-schedule .next-card h3{font-size:17px !important;margin:2px 0 1px !important}
.halloween-master-stage > .halloween-schedule .next-card .time{font-size:13px !important;margin:0 0 3px !important}
.halloween-master-stage > .halloween-schedule .next-card .desc{font-size:10px !important}
.halloween-master-stage > .halloween-schedule .later-list{gap:4px !important}
.halloween-master-stage > .halloween-schedule .later-item{grid-template-columns:55px minmax(0,1fr) !important;gap:7px !important;min-height:35px !important;padding:3px 5px !important}
.halloween-master-stage > .halloween-schedule .later-item img{width:55px !important;height:34px !important}
.halloween-master-stage > .halloween-schedule .later-item b{font-size:9px !important}
.halloween-master-stage > .halloween-schedule .later-item strong{font-size:10px !important}
@media(max-width:1000px){
  .halloween-master-stage > .halloween-schedule{width:90% !important}
}

/* === HORAIRE-05 : même emplacement, largeur contenue ENTRE les 2 citrouilles === */
.halloween-master-stage > .halloween-schedule{
  left:50% !important;
  width:76% !important;
  top:39.2% !important;
  transform:translateX(-50%) !important;
}
.halloween-master-stage > .halloween-schedule .schedule-model-5{
  grid-template-columns:1.18fr .86fr 1fr !important;
  gap:10px !important;
  padding:9px !important;
}
.halloween-master-stage > .halloween-schedule .schedule-card{
  min-height:180px !important;
  padding:11px !important;
}
.halloween-master-stage > .halloween-schedule .current-card{
  grid-template-columns:120px minmax(0,1fr) !important;
  column-gap:12px !important;
}
.halloween-master-stage > .halloween-schedule .current-card .current-image{
  width:120px !important;height:110px !important;
}
.halloween-master-stage > .halloween-schedule .current-card .onair{
  top:47px !important;left:94px !important;
}
.halloween-master-stage > .halloween-schedule .next-card{
  grid-template-columns:96px minmax(0,1fr) !important;
  column-gap:10px !important;
}
.halloween-master-stage > .halloween-schedule .next-card .program-image{
  width:96px !important;height:105px !important;
}
.halloween-master-stage > .halloween-schedule .later-item{
  grid-template-columns:58px minmax(0,1fr) !important;
  min-height:42px !important;padding:4px 6px !important;
}
.halloween-master-stage > .halloween-schedule .later-item img{
  width:58px !important;height:36px !important;
}
@media(max-width:1000px){
  .halloween-master-stage > .halloween-schedule{width:84% !important;}
}

/* === HORAIRE-06 : ajustement final dans la zone sombre centrale V2 === */
.halloween-master-stage > .halloween-schedule{
  left:50% !important;
  width:66% !important;
  top:39.0% !important;
  transform:translateX(-50%) !important;
}
.halloween-master-stage > .halloween-schedule .section-title h2{font-size:20px !important}
.halloween-master-stage > .halloween-schedule .section-subtitle{font-size:10px !important;margin-bottom:5px !important}
.halloween-master-stage > .halloween-schedule .schedule-model-5{
  grid-template-columns:1.16fr .84fr 1fr !important;
  gap:7px !important;
  padding:7px !important;
}
.halloween-master-stage > .halloween-schedule .schedule-card{
  min-height:154px !important;
  padding:8px !important;
}
.halloween-master-stage > .halloween-schedule .card-kicker{font-size:12px !important;margin-bottom:5px !important}
.halloween-master-stage > .halloween-schedule .current-card{grid-template-columns:92px minmax(0,1fr) !important;column-gap:9px !important}
.halloween-master-stage > .halloween-schedule .current-card .current-image{width:92px !important;height:88px !important}
.halloween-master-stage > .halloween-schedule .current-card h3{font-size:16px !important}
.halloween-master-stage > .halloween-schedule .current-card .time{font-size:12px !important}
.halloween-master-stage > .halloween-schedule .current-card .onair{top:35px !important;left:72px !important;font-size:9px !important;padding:3px 6px !important}
.halloween-master-stage > .halloween-schedule .current-card .progress{max-width:125px !important}
.halloween-master-stage > .halloween-schedule .current-card .desc{font-size:9px !important}
.halloween-master-stage > .halloween-schedule .next-card{grid-template-columns:76px minmax(0,1fr) !important;column-gap:8px !important}
.halloween-master-stage > .halloween-schedule .next-card .program-image{width:76px !important;height:86px !important}
.halloween-master-stage > .halloween-schedule .next-card h3{font-size:15px !important}
.halloween-master-stage > .halloween-schedule .next-card .time{font-size:11px !important}
.halloween-master-stage > .halloween-schedule .next-card .desc{font-size:9px !important}
.halloween-master-stage > .halloween-schedule .later-list{gap:3px !important}
.halloween-master-stage > .halloween-schedule .later-item{grid-template-columns:48px minmax(0,1fr) !important;gap:6px !important;min-height:32px !important;padding:3px 5px !important}
.halloween-master-stage > .halloween-schedule .later-item img{width:48px !important;height:30px !important}
.halloween-master-stage > .halloween-schedule .later-item b{font-size:8px !important}
.halloween-master-stage > .halloween-schedule .later-item strong{font-size:9px !important}
@media(max-width:1000px){.halloween-master-stage > .halloween-schedule{width:82% !important}}

/* === ANIMATEURS-01 : une seule rangée Halloween défilante === */
.halloween-hosts{
  position:absolute;
  z-index:7;
  top:57.1%;
  left:50%;
  width:72%;
  transform:translateX(-50%);
  box-sizing:border-box;
  line-height:1.2;
  scroll-margin-top:170px;
}
.halloween-hosts .hosts-title{
  margin:0 0 4px;
  text-align:center;
  color:#ead2ff;
  font:italic 700 20px/1.05 Georgia,serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:0 0 12px rgba(190,96,255,.65),0 2px 5px #000;
}
.halloween-hosts .hosts-subtitle{
  margin:0 0 8px;
  text-align:center;
  color:#d6c8df;
  font:9px/1.1 Arial,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.halloween-hosts .hosts-window{
  position:relative;
  overflow:hidden;
  padding:2px 30px 5px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.halloween-hosts .hosts-track{
  display:flex;
  gap:10px;
  width:max-content;
  will-change:transform;
}
.halloween-hosts .host-card-h{
  position:relative;
  flex:0 0 132px;
  height:178px;
  overflow:hidden;
  border:1px solid rgba(200,163,224,.62);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(28,13,43,.94),rgba(5,4,13,.98));
  box-shadow:0 0 12px rgba(121,54,180,.35),inset 0 0 18px rgba(126,62,170,.2);
}
.halloween-hosts .host-card-h::before{
  content:"";
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,transparent 45%,rgba(5,3,12,.18) 58%,rgba(5,3,12,.96) 79%);
  border-radius:inherit;
}
.halloween-hosts .host-card-h::after{
  content:"";
  position:absolute;inset:4px;z-index:3;pointer-events:none;
  border:1px solid rgba(155,93,204,.22);
  border-radius:4px;
}
.halloween-hosts .host-card-h img{
  display:block;
  width:100%;
  height:138px;
  object-fit:contain;
  object-position:center bottom;
  filter:saturate(.88) contrast(1.05);
}
.halloween-hosts .host-copy{
  position:absolute;z-index:4;left:5px;right:5px;bottom:7px;text-align:center;
}
.halloween-hosts .host-copy h3{
  margin:0 0 3px;color:#f1d8ff;
  font:italic 700 12px/1 Georgia,serif;text-transform:uppercase;
  text-shadow:0 0 8px rgba(194,107,255,.65);
}
.halloween-hosts .host-copy p{
  margin:0;color:#d3c8db;font:7px/1.1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;
}
.halloween-hosts .hosts-arrow{
  position:absolute;z-index:9;top:55%;transform:translateY(-50%);
  width:27px;height:45px;border:1px solid rgba(255,62,96,.72);border-radius:7px;
  background:rgba(7,3,16,.78);color:#fff;font-size:20px;cursor:pointer;
  box-shadow:0 0 12px rgba(255,25,71,.35);
}
.halloween-hosts .hosts-prev{left:0}.halloween-hosts .hosts-next{right:0}
.halloween-hosts .hosts-arrow:hover{background:rgba(69,8,35,.9)}
@media(max-width:1000px){
  .halloween-hosts{width:82%;top:56.8%}
  .halloween-hosts .host-card-h{flex-basis:118px;height:165px}
  .halloween-hosts .host-card-h img{height:127px}
}
\n\n/* === TRANSITION-01 : citation sous les animateurs, intégrée au cimetière V2 === */
.afterlife-frequency{
  position:absolute;
  z-index:7;
  top:72.7%;
  left:50%;
  width:58%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  pointer-events:none;
  box-sizing:border-box;
}
.afterlife-frequency p{
  margin:0;
  flex:0 1 auto;
  text-align:center;
  color:#d8a7ef;
  font:italic 700 17px/1.35 Georgia,serif;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-shadow:0 0 8px rgba(178,89,222,.55),0 2px 4px #000;
  white-space:nowrap;
}
.afterlife-frequency .frequency-wave{
  width:96px;
  height:34px;
  flex:0 1 96px;
  opacity:.62;
  background:
    linear-gradient(90deg,transparent 0 4%,rgba(154,175,236,.75) 4% 6%,transparent 6% 10%,rgba(154,175,236,.75) 10% 12%,transparent 12% 16%,rgba(154,175,236,.75) 16% 18%,transparent 18% 22%,rgba(154,175,236,.75) 22% 24%,transparent 24% 28%,rgba(154,175,236,.75) 28% 30%,transparent 30% 34%,rgba(154,175,236,.75) 34% 36%,transparent 36% 40%,rgba(154,175,236,.75) 40% 42%,transparent 42% 46%,rgba(154,175,236,.75) 46% 48%,transparent 48% 52%,rgba(154,175,236,.75) 52% 54%,transparent 54% 58%,rgba(154,175,236,.75) 58% 60%,transparent 60% 64%,rgba(154,175,236,.75) 64% 66%,transparent 66% 70%,rgba(154,175,236,.75) 70% 72%,transparent 72% 76%,rgba(154,175,236,.75) 76% 78%,transparent 78% 82%,rgba(154,175,236,.75) 82% 84%,transparent 84% 88%,rgba(154,175,236,.75) 88% 90%,transparent 90% 94%,rgba(154,175,236,.75) 94% 96%,transparent 96%),
    linear-gradient(rgba(158,180,242,.55),rgba(158,180,242,.55)) center/100% 1px no-repeat;
  clip-path:polygon(0 45%,4% 45%,4% 36%,6% 36%,6% 56%,10% 56%,10% 27%,12% 27%,12% 67%,16% 67%,16% 39%,18% 39%,18% 54%,22% 54%,22% 17%,24% 17%,24% 76%,28% 76%,28% 34%,30% 34%,30% 59%,34% 59%,34% 8%,36% 8%,36% 88%,40% 88%,40% 29%,42% 29%,42% 64%,46% 64%,46% 2%,48% 2%,48% 96%,52% 96%,52% 2%,54% 2%,54% 64%,58% 64%,58% 29%,60% 29%,60% 88%,64% 88%,64% 8%,66% 8%,66% 59%,70% 59%,70% 34%,72% 34%,72% 76%,76% 76%,76% 17%,78% 17%,78% 54%,82% 54%,82% 39%,84% 39%,84% 67%,88% 67%,88% 27%,90% 27%,90% 56%,94% 56%,94% 36%,96% 36%,96% 45%,100% 45%,100% 55%,0 55%);
}
@media(max-width:1000px){
  .afterlife-frequency{width:68%;top:72.4%;gap:12px}
  .afterlife-frequency p{font-size:14px}
  .afterlife-frequency .frequency-wave{width:70px;flex-basis:70px}
}

/* TRANSITION-02 FIX REEL — remontee visible dans la brume du cimetiere */
.afterlife-frequency{
  top:61% !important;
}
@media(max-width:1000px){
  .afterlife-frequency{top:61% !important;}
}


/* === BAS-02 : footer selon la maquette de référence === */
.halloween-bottom-brand{
  position:absolute;z-index:22;left:50%;bottom:4.8%;transform:translateX(-50%);
  text-align:center;white-space:nowrap;pointer-events:none;
}
.halloween-bottom-brand strong{display:block;color:#f4f6fb;font:900 30px/1 Arial,sans-serif;letter-spacing:.055em;text-shadow:0 2px 2px #000,0 0 8px rgba(160,180,255,.22)}
.halloween-bottom-brand b{color:#ff2448;font-size:47px;vertical-align:-4px;text-shadow:0 0 10px #ff2448,0 0 22px rgba(255,24,60,.72);margin:0 6px}
.halloween-bottom-brand span{display:block;margin-top:7px;color:#ddd9dc;font:700 8px/1 Arial,sans-serif;letter-spacing:.38em;text-shadow:0 1px 2px #000}

.halloween-final-footer{
  position:relative;z-index:30;width:100%;min-height:104px;box-sizing:border-box;
  display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;
  padding:15px 2.7% 16px;background:#010207;border-top:1px solid rgba(91,46,89,.30);color:#fff;
}
.halloween-footer-left{justify-self:start;align-self:center;font:12px/1.4 Arial,sans-serif;color:#f2f3f7}
.halloween-footer-left p{margin:9px 0 0}
.footer-facebook{display:grid;place-items:center;width:34px;height:34px;border:1px solid #29a8ff;border-radius:50%;color:#fff;text-decoration:none;font:700 17px/1 Arial,sans-serif;box-shadow:0 0 10px rgba(31,151,255,.10)}
.halloween-footer-security{justify-self:end;min-width:260px;text-align:left;color:#f1f5ff;font-family:Arial,sans-serif}
.footer-powered{margin-left:49px;margin-bottom:2px;color:#8993a8;font:700 7px/1 Arial,sans-serif;letter-spacing:.45em}
.footer-security-line{display:flex;align-items:center;gap:10px}
.footer-security-line strong{font:800 22px/1 Arial,sans-serif;letter-spacing:.01em}
.footer-security-line strong b{color:#28b9ff}
.footer-shield-icon{display:grid;place-items:center;width:39px;height:45px;box-sizing:border-box;color:#fff;border:3px solid #27aef5;border-radius:10px 10px 14px 14px;font:900 18px/1 Arial,sans-serif;box-shadow:inset 0 0 13px rgba(36,171,255,.35),0 0 9px rgba(36,171,255,.25)}
.halloween-footer-security small{display:block;margin:3px 0 0 49px;color:#8e98ab;font:8px/1.2 Arial,sans-serif}
.halloween-footer-security em{display:block;margin:7px 0 0 49px;color:#7e8799;font:normal 7px/1 Arial,sans-serif}
@media(max-width:800px){
  .halloween-bottom-brand{bottom:3.4%;transform:translateX(-50%) scale(.78)}
  .halloween-final-footer{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px;padding:18px 14px}
  .halloween-footer-left,.halloween-footer-security{justify-self:center;text-align:center}
  .footer-facebook{margin:auto}.footer-powered,.halloween-footer-security small,.halloween-footer-security em{margin-left:0}
  .footer-security-line{justify-content:center}
}

/* === HALLOWEEN FINAL — HORAIRE : skin seulement, géométrie HORAIRE-06 intacte === */
.halloween-master-stage > .halloween-schedule .section-title h2{
  color:#f1eaff !important;
  letter-spacing:.12em !important;
  text-shadow:0 0 7px #a970ff,0 0 16px #6528b8,0 2px 2px #000 !important;
}
.halloween-master-stage > .halloween-schedule .section-title span{
  background:linear-gradient(90deg,transparent,#a96cff,#ff3b39,#a96cff,transparent) !important;
  box-shadow:0 0 9px #8e46ff !important;
}
.halloween-master-stage > .halloween-schedule .section-subtitle{
  color:#bdb0d7 !important;
  text-shadow:0 1px 3px #000 !important;
}
.halloween-master-stage > .halloween-schedule .schedule-model-5{
  position:relative !important;
  overflow:visible !important;
  background:linear-gradient(180deg,rgba(13,7,28,.88),rgba(4,5,15,.94)) !important;
  border:1px solid rgba(158,91,255,.5) !important;
  box-shadow:0 0 18px rgba(112,49,211,.32),inset 0 0 24px rgba(26,8,54,.65) !important;
}
.halloween-master-stage > .halloween-schedule .schedule-model-5:before,
.halloween-master-stage > .halloween-schedule .schedule-model-5:after{
  content:"";position:absolute;pointer-events:none;z-index:4;width:38px;height:38px;opacity:.55;
  background:repeating-radial-gradient(circle at 0 0,transparent 0 5px,rgba(210,190,255,.34) 6px 7px,transparent 8px 11px);
}
.halloween-master-stage > .halloween-schedule .schedule-model-5:before{left:-2px;top:-2px;clip-path:polygon(0 0,100% 0,0 100%)}
.halloween-master-stage > .halloween-schedule .schedule-model-5:after{right:-2px;bottom:-2px;transform:rotate(180deg);clip-path:polygon(0 0,100% 0,0 100%)}
.halloween-master-stage > .halloween-schedule .schedule-card{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 82% 15%,rgba(116,44,170,.22),transparent 38%),
    linear-gradient(145deg,rgba(18,11,35,.95),rgba(5,6,15,.96)) !important;
  border:1px solid rgba(130,79,190,.58) !important;
  box-shadow:inset 0 0 16px rgba(66,25,100,.34),0 4px 12px rgba(0,0,0,.48) !important;
}
.halloween-master-stage > .halloween-schedule .schedule-card:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;opacity:.85;pointer-events:none;
  background:linear-gradient(90deg,transparent,#7d3dcc,#ff4b2e,#7d3dcc,transparent);
  filter:blur(.2px);
}
.halloween-master-stage > .halloween-schedule .current-card{
  border-color:rgba(255,67,54,.78) !important;
  box-shadow:inset 0 0 18px rgba(115,20,40,.28),0 0 13px rgba(255,50,45,.18) !important;
}
.halloween-master-stage > .halloween-schedule .next-card{
  border-color:rgba(118,73,187,.78) !important;
  box-shadow:inset 0 0 18px rgba(70,31,120,.28),0 0 12px rgba(132,71,216,.16) !important;
}
.halloween-master-stage > .halloween-schedule .later-card{
  border-color:rgba(103,58,165,.72) !important;
  box-shadow:inset 0 0 18px rgba(63,25,110,.3),0 0 12px rgba(107,58,182,.14) !important;
}
.halloween-master-stage > .halloween-schedule .card-kicker{
  color:#e9dcff !important;
  letter-spacing:.07em !important;
  text-shadow:0 0 6px rgba(157,96,255,.75),0 1px 2px #000 !important;
}
.halloween-master-stage > .halloween-schedule .current-card .card-kicker{color:#ffb0a7 !important;text-shadow:0 0 7px #d72e31 !important}
.halloween-master-stage > .halloween-schedule .program-image{
  border:1px solid rgba(188,132,255,.55) !important;
  box-shadow:0 0 10px rgba(114,54,185,.38) !important;
  filter:saturate(.88) contrast(1.08) brightness(.88) !important;
}
.halloween-master-stage > .halloween-schedule .current-card .current-image{
  border-color:rgba(255,78,55,.7) !important;
  box-shadow:0 0 11px rgba(223,48,40,.32) !important;
}
.halloween-master-stage > .halloween-schedule .onair{
  background:linear-gradient(180deg,#ff3b2f,#8d1017) !important;
  border:1px solid rgba(255,179,149,.72) !important;
  box-shadow:0 0 9px rgba(255,49,39,.7) !important;
}
.halloween-master-stage > .halloween-schedule h3{color:#fff !important;text-shadow:0 0 5px rgba(167,103,255,.5) !important}
.halloween-master-stage > .halloween-schedule .time{color:#ff765e !important;text-shadow:0 0 4px rgba(255,71,49,.4) !important}
.halloween-master-stage > .halloween-schedule .desc{color:#bdb7c9 !important}
.halloween-master-stage > .halloween-schedule .progress{
  background:#120c20 !important;border:1px solid rgba(125,69,179,.55) !important;box-shadow:inset 0 0 6px #05030b !important;
}
.halloween-master-stage > .halloween-schedule .progress i{
  background:linear-gradient(90deg,#762fc0,#ff3d32,#ff7a32) !important;
  box-shadow:0 0 7px rgba(255,62,48,.7) !important;
}
.halloween-master-stage > .halloween-schedule .later-item{
  background:linear-gradient(90deg,rgba(35,17,58,.72),rgba(13,9,25,.82)) !important;
  border:1px solid rgba(110,65,159,.42) !important;
  box-shadow:inset 0 0 7px rgba(75,34,115,.22) !important;
}
.halloween-master-stage > .halloween-schedule .later-item b{color:#ff6d57 !important}
.halloween-master-stage > .halloween-schedule .later-item strong{color:#eee8f7 !important}

/* === HORAIRE HALLOWEEN-02 : verre fantome + toiles d'araignee === */
.halloween-master-stage > .halloween-schedule .schedule-model-5{
  background:rgba(2,3,8,.22) !important;
  border-color:rgba(194,178,220,.20) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30),inset 0 0 30px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(1.2px) !important;
}
.halloween-master-stage > .halloween-schedule .schedule-card{
  background:linear-gradient(145deg,rgba(5,6,12,.64),rgba(2,3,8,.48)) !important;
  border-color:rgba(204,194,219,.20) !important;
  box-shadow:inset 0 0 18px rgba(0,0,0,.30),0 5px 14px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(1px) !important;
}
.halloween-master-stage > .halloween-schedule .current-card{border-color:rgba(255,74,54,.58) !important;box-shadow:inset 0 0 16px rgba(104,13,18,.20),0 0 10px rgba(255,55,42,.12) !important}
.halloween-master-stage > .halloween-schedule .next-card,
.halloween-master-stage > .halloween-schedule .later-card{border-color:rgba(200,188,215,.18) !important;box-shadow:inset 0 0 16px rgba(0,0,0,.25),0 0 10px rgba(0,0,0,.22) !important}
.halloween-master-stage > .halloween-schedule .schedule-card:after{height:1px;opacity:.35;background:linear-gradient(90deg,transparent,rgba(213,203,224,.6),transparent) !important}
.halloween-master-stage > .halloween-schedule .later-item{background:rgba(3,5,10,.46) !important;border-color:rgba(202,191,215,.16) !important;box-shadow:inset 0 0 7px rgba(0,0,0,.28) !important}
.halloween-master-stage > .halloween-schedule .card-kicker{color:#eee8f2 !important;text-shadow:0 1px 3px #000 !important}
.halloween-master-stage > .halloween-schedule h3{color:#fff !important;text-shadow:0 1px 4px #000 !important}
.halloween-master-stage > .halloween-schedule .desc{color:#cbc7d0 !important}

/* grandes toiles dans les coins du cadre, sans image externe */
.halloween-master-stage > .halloween-schedule .schedule-model-5:before,
.halloween-master-stage > .halloween-schedule .schedule-model-5:after{
  content:"" !important;position:absolute !important;z-index:8 !important;pointer-events:none !important;
  width:82px !important;height:82px !important;opacity:.58 !important;clip-path:none !important;
  background:
    repeating-radial-gradient(circle at 0 0,transparent 0 11px,rgba(221,216,226,.42) 11.5px 12.5px,transparent 13px 21px),
    linear-gradient(45deg,transparent 49.2%,rgba(221,216,226,.42) 49.5% 50.5%,transparent 50.8%),
    linear-gradient(22.5deg,transparent 49.2%,rgba(221,216,226,.35) 49.5% 50.5%,transparent 50.8%),
    linear-gradient(67.5deg,transparent 49.2%,rgba(221,216,226,.35) 49.5% 50.5%,transparent 50.8%) !important;
  filter:drop-shadow(0 0 2px rgba(255,255,255,.16)) !important;
}
.halloween-master-stage > .halloween-schedule .schedule-model-5:before{left:-3px !important;top:-3px !important;transform:none !important;transform-origin:0 0 !important}
.halloween-master-stage > .halloween-schedule .schedule-model-5:after{right:-3px !important;bottom:-3px !important;left:auto !important;top:auto !important;transform:rotate(180deg) !important;transform-origin:center !important}

/* petite toile fantome sur les cartes laterales */
.halloween-master-stage > .halloween-schedule .next-card:before,
.halloween-master-stage > .halloween-schedule .later-card:before{
  content:"";position:absolute;right:-2px;top:-2px;width:45px;height:45px;pointer-events:none;opacity:.27;
  background:repeating-radial-gradient(circle at 100% 0,transparent 0 7px,rgba(230,226,235,.52) 7.5px 8px,transparent 8.5px 14px),linear-gradient(135deg,transparent 49%,rgba(230,226,235,.45) 49.5% 50.5%,transparent 51%);
}

/* === HORAIRE HALLOWEEN-03 : toile organique, panneaux quasi invisibles === */
.halloween-master-stage > .halloween-schedule .schedule-model-5{
  background:rgba(0,0,0,.08)!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.halloween-master-stage > .halloween-schedule .schedule-card{
  background:linear-gradient(180deg,rgba(1,3,8,.42),rgba(0,0,0,.25))!important;
  border:1px solid rgba(225,220,232,.12)!important;
  box-shadow:inset 0 0 22px rgba(0,0,0,.34),0 4px 15px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(.45px)!important;
}
.halloween-master-stage > .halloween-schedule .current-card{
  border-color:rgba(255,67,42,.50)!important;
  box-shadow:inset 0 0 18px rgba(72,5,5,.16),0 0 9px rgba(255,55,30,.10)!important;
}
.halloween-master-stage > .halloween-schedule .next-card,
.halloween-master-stage > .halloween-schedule .later-card{border-color:rgba(225,220,232,.11)!important}
.halloween-master-stage > .halloween-schedule .schedule-card:after{display:none!important}
.halloween-master-stage > .halloween-schedule .later-item{
  background:rgba(0,2,7,.30)!important;border-color:rgba(225,220,232,.11)!important;
}
/* grande toile : fils fins + anneaux, intégrée au décor */
.halloween-master-stage > .halloween-schedule .schedule-model-5:before,
.halloween-master-stage > .halloween-schedule .schedule-model-5:after{
  width:145px!important;height:145px!important;opacity:.48!important;
  background:
    repeating-radial-gradient(circle at 0 0,transparent 0 20px,rgba(220,217,226,.34) 20.5px 21.5px,transparent 22px 34px),
    linear-gradient(45deg,transparent 49.55%,rgba(220,217,226,.40) 49.8% 50.2%,transparent 50.45%),
    linear-gradient(22.5deg,transparent 49.6%,rgba(220,217,226,.28) 49.82% 50.18%,transparent 50.4%),
    linear-gradient(67.5deg,transparent 49.6%,rgba(220,217,226,.28) 49.82% 50.18%,transparent 50.4%),
    linear-gradient(11deg,transparent 49.65%,rgba(220,217,226,.20) 49.85% 50.15%,transparent 50.35%),
    linear-gradient(79deg,transparent 49.65%,rgba(220,217,226,.20) 49.85% 50.15%,transparent 50.35%)!important;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.18))!important;
}
.halloween-master-stage > .halloween-schedule .schedule-model-5:before{left:-12px!important;top:-10px!important}
.halloween-master-stage > .halloween-schedule .schedule-model-5:after{right:-12px!important;bottom:-10px!important}
/* fils de toile sur les cartes de droite */
.halloween-master-stage > .halloween-schedule .next-card:before,
.halloween-master-stage > .halloween-schedule .later-card:before{
  width:70px!important;height:70px!important;opacity:.22!important;
  background:
    repeating-radial-gradient(circle at 100% 0,transparent 0 11px,rgba(232,228,236,.46) 11.5px 12.2px,transparent 12.7px 20px),
    linear-gradient(135deg,transparent 49.6%,rgba(232,228,236,.38) 49.85% 50.15%,transparent 50.4%),
    linear-gradient(112.5deg,transparent 49.65%,rgba(232,228,236,.24) 49.85% 50.15%,transparent 50.35%)!important;
}
/* araignée CSS suspendue sur le bord droit, sans asset image */
.halloween-master-stage > .halloween-schedule .later-card{overflow:visible!important}
.halloween-master-stage > .halloween-schedule .later-card .card-kicker:after{
  content:"";position:absolute;right:17px;top:42px;width:7px;height:10px;border-radius:50%;
  background:#0a080b;box-shadow:0 -7px 0 -2px #0a080b,0 0 4px rgba(255,255,255,.15);
  transform:rotate(8deg);opacity:.92;pointer-events:none;
}
.halloween-master-stage > .halloween-schedule .later-card .card-kicker:before{
  content:"";position:absolute;right:20px;top:-1px;width:1px;height:45px;background:rgba(220,217,226,.34);pointer-events:none;
}


/* === HORAIRE HALLOWEEN-04 : vraie toile SVG, propre et lisible === */
.halloween-master-stage > .halloween-schedule .schedule-model-5:before,
.halloween-master-stage > .halloween-schedule .schedule-model-5:after,
.halloween-master-stage > .halloween-schedule .next-card:before,
.halloween-master-stage > .halloween-schedule .later-card:before,
.halloween-master-stage > .halloween-schedule .later-card .card-kicker:before,
.halloween-master-stage > .halloween-schedule .later-card .card-kicker:after{display:none!important;content:none!important}
.halloween-master-stage > .halloween-schedule .schedule-model-5{position:relative!important;overflow:visible!important}
.halloween-master-stage > .halloween-schedule .schedule-spiderweb{
  position:absolute;z-index:5;right:-4px;top:-4px;width:132px;height:132px;
  pointer-events:none;overflow:visible;opacity:.68;filter:drop-shadow(0 0 2px rgba(220,220,235,.15));
}
.halloween-master-stage > .halloween-schedule .schedule-spiderweb .web-lines,
.halloween-master-stage > .halloween-schedule .schedule-spiderweb .web-thread{
  fill:none;stroke:rgba(220,218,228,.68);stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round;
}
.halloween-master-stage > .halloween-schedule .schedule-spiderweb .web-thread{stroke:rgba(205,201,215,.58);stroke-width:.9}
.halloween-master-stage > .halloween-schedule .schedule-spiderweb circle,
.halloween-master-stage > .halloween-schedule .schedule-spiderweb ellipse{fill:#09080b;stroke:rgba(205,201,215,.45);stroke-width:.7}
.halloween-master-stage > .halloween-schedule .schedule-card{
  background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.18))!important;
  border-color:rgba(210,205,220,.09)!important;
}
.halloween-master-stage > .halloween-schedule .current-card{border-color:rgba(255,65,38,.42)!important}


/* === HALLOWEEN-05 : Horaire + Animateurs fondus dans le décor === */
/* Horaire : conserver la géométrie, retirer toute toile et presque tout panneau. */
.halloween-master-stage > .halloween-schedule .schedule-spiderweb{display:none!important}
.halloween-master-stage > .halloween-schedule .schedule-model-5{
  background:transparent!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;
}
.halloween-master-stage > .halloween-schedule .schedule-card{
  background:rgba(0,0,0,.16)!important;
  border:1px solid rgba(230,225,235,.075)!important;
  box-shadow:0 3px 12px rgba(0,0,0,.18)!important;
  backdrop-filter:none!important;
}
.halloween-master-stage > .halloween-schedule .current-card{
  background:rgba(10,0,0,.16)!important;
  border-color:rgba(255,66,38,.34)!important;
  box-shadow:0 0 9px rgba(255,55,30,.07)!important;
}
.halloween-master-stage > .halloween-schedule .later-item{
  background:rgba(0,0,0,.16)!important;
  border-color:rgba(230,225,235,.07)!important;
  box-shadow:none!important;
}

/* Animateurs : même philosophie que l'horaire — portraits dans le décor, pas de blocs mauves. */
.halloween-hosts .hosts-title{
  color:#f2edf5!important;
  text-shadow:0 2px 5px #000,0 0 8px rgba(255,255,255,.10)!important;
}
.halloween-hosts .hosts-subtitle{
  color:rgba(230,224,234,.76)!important;
  text-shadow:0 2px 4px #000!important;
}
.halloween-hosts .host-card-h{
  background:rgba(0,0,0,.10)!important;
  border:1px solid rgba(230,225,235,.07)!important;
  box-shadow:0 5px 13px rgba(0,0,0,.16)!important;
  border-radius:6px!important;
}
.halloween-hosts .host-card-h::before{
  background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.08) 66%,rgba(0,0,0,.72) 100%)!important;
}
.halloween-hosts .host-card-h::after{display:none!important;content:none!important}
.halloween-hosts .host-card-h img{
  filter:saturate(.94) contrast(1.04) brightness(.94) drop-shadow(0 6px 8px rgba(0,0,0,.42))!important;
}
.halloween-hosts .host-copy h3{
  color:#fff!important;
  text-shadow:0 2px 4px #000,0 0 6px rgba(255,255,255,.08)!important;
}
.halloween-hosts .host-copy p{color:rgba(235,230,238,.76)!important;text-shadow:0 1px 3px #000!important}
.halloween-hosts .hosts-arrow{
  border-color:rgba(255,76,55,.34)!important;
  background:rgba(0,0,0,.22)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.22)!important;
}
.halloween-hosts .hosts-arrow:hover{background:rgba(70,10,8,.34)!important;border-color:rgba(255,90,60,.58)!important}

/* === MOBILE FIT 2026-09-23 : conserve le rendu desktop, adapte les overlays au décor === */
@media (max-width:600px){
  .halloween-master-stage > .halloween-schedule{
    top:39.0% !important;
    left:50% !important;
    width:158% !important;
    transform:translateX(-50%) scale(.48) !important;
    transform-origin:top center !important;
  }
  .halloween-hosts{
    top:56.9% !important;
    left:50% !important;
    width:148% !important;
    transform:translateX(-50%) scale(.52) !important;
    transform-origin:top center !important;
  }
  .halloween-hosts .host-card-h{
    flex-basis:132px !important;
    height:178px !important;
  }
  .halloween-hosts .host-card-h img{height:138px !important;}
  .halloween-bottom-brand{
    transform:translateX(-50%) scale(.58) !important;
    transform-origin:center bottom !important;
  }
}

@media (min-width:601px) and (max-width:900px){
  .halloween-master-stage > .halloween-schedule{
    width:108% !important;
    transform:translateX(-50%) scale(.72) !important;
    transform-origin:top center !important;
  }
  .halloween-hosts{
    width:105% !important;
    transform:translateX(-50%) scale(.76) !important;
    transform-origin:top center !important;
  }
}
