/* Habillages de saison : tout le site change (couleurs, fonds, décors animés). Choisis depuis la page de modification. */
:root{--papier-rgb:247,250,250;--ciel-rgb:224,233,235}
.saison{display:inline-block;font-weight:700;font-size:.98rem;color:#fff;background:var(--encre);padding:7px 18px;border-radius:999px;margin-bottom:14px}
.deco{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:30}
.deco>span,.deco>i{position:absolute;display:block}
.deco svg{display:block;width:100%;height:auto;overflow:visible}

/* ================= HALLOWEEN : nuit, citrouilles, araignées, squelette ================= */
:root[data-theme="halloween"]{--encre:#ff9a3c;--encre-2:#efe4fa;--brume:#c996ff;--givre:#4a3068;--ciel:#241338;--ciel-rgb:36,19,56;--papier:#140a22;--papier-rgb:20,10,34;--or:#ff9a3c;--texte-doux:#cdbbe0;--note:#2e1a47;--sur-or:#1b0f2a}
:root[data-theme="halloween"] body{color:#efe4fa;background:radial-gradient(1200px 600px at 85% -5%,rgba(255,154,60,.16),transparent 60%),linear-gradient(180deg,#140a22,#1d0f33 60%,#140a22);background-attachment:fixed;transition:background-color .4s}
:root[data-theme="halloween"] h1,:root[data-theme="halloween"] h2,:root[data-theme="halloween"] h3{color:var(--encre)}
:root[data-theme="halloween"] a{color:#ffb86b}
:root[data-theme="halloween"] .top{box-shadow:0 8px 30px rgba(0,0,0,.45)}
:root[data-theme="halloween"] .top a{color:#ffd2a3}
:root[data-theme="halloween"] .top__nav a.on{background:rgba(255,154,60,.2)}
:root[data-theme="halloween"] .btn--ink,:root[data-theme="halloween"] .btn--call{background:#ff9a3c;color:#1b0f2a;box-shadow:0 0 22px rgba(255,154,60,.35)}
:root[data-theme="halloween"] .btn--ghost,:root[data-theme="halloween"] .hero .btn:not(.btn--ink):not(.btn--call){border-color:#ffb86b;color:#ffd2a3;background:transparent}
:root[data-theme="halloween"] .btn--gold{background:#ff9a3c;color:#1b0f2a}
:root[data-theme="halloween"] .saison{background:#ff9a3c;color:#1b0f2a;box-shadow:0 0 18px rgba(255,154,60,.5)}

/* surfaces claires qui restent lisibles : texte sombre */
:root[data-theme="halloween"] .face,:root[data-theme="halloween"] .event,:root[data-theme="halloween"] .ticket,:root[data-theme="halloween"] .quote,:root[data-theme="halloween"] .facade__photo,:root[data-theme="halloween"] .pola,:root[data-theme="halloween"] .confirm,:root[data-theme="halloween"] .card--plus{color:#2a1740}
:root[data-theme="halloween"] .face h3,:root[data-theme="halloween"] .event h3,:root[data-theme="halloween"] .quote blockquote,:root[data-theme="halloween"] .ticket p,:root[data-theme="halloween"] .ticket th,:root[data-theme="halloween"] .ticket td{color:#2a1740}
:root[data-theme="halloween"] .event__date{background:#2a1740;color:#ffb86b}
:root[data-theme="halloween"] .t2,:root[data-theme="halloween"] .t4{background:#ffe3c2}
:root[data-theme="halloween"] .face--back{background:#ff9a3c;color:#1b0f2a}
:root[data-theme="halloween"] .face--back *{color:#1b0f2a}
:root[data-theme="halloween"] .card--plus{background:#ff9a3c}
:root[data-theme="halloween"] .ticket tr.today{background:#ffe3c2}
:root[data-theme="halloween"] .tag{background:#ff9a3c;color:#1b0f2a}
:root[data-theme="halloween"] .sec--ink{background:linear-gradient(160deg,#0e0618,#2a1740)}
:root[data-theme="halloween"] .sec--tint{background:rgba(36,19,56,.85)}
:root[data-theme="halloween"] .pola{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 0 1px rgba(255,154,60,.35)}
:root[data-theme="halloween"] .top::after{content:"";position:absolute;left:0;right:0;top:100%;height:22px;pointer-events:none;background:radial-gradient(circle at 13px 0,#ff9a3c 12px,transparent 13px) 0 0/26px 22px repeat-x,radial-gradient(circle at 26px 0,#6a3a9a 9px,transparent 10px) 0 0/26px 15px repeat-x}
:root[data-theme="halloween"] .bandeau{background:#ff9a3c;color:#1b0f2a}

.deco-halloween .lune{top:78px;right:3vw;width:clamp(70px,11vw,150px);animation:flotte 9s ease-in-out infinite alternate}
.deco-halloween .toile{width:clamp(90px,14vw,190px);color:rgba(255,255,255,.42)}
.deco-halloween .toile-g{left:0;top:62px}.deco-halloween .toile-d{right:0;top:62px;transform:scaleX(-1)}
.deco-halloween .etoile-n{width:3px;height:3px;border-radius:50%;background:#fff;opacity:.7;animation:scint 4s ease-in-out infinite}
.deco-halloween .chauve{color:#0a0512;width:46px;top:100px;left:-80px;animation:vol 17s linear infinite}
.deco-halloween .chauve.c2{top:160px;width:34px;animation-duration:22s;animation-delay:-7s}
.deco-halloween .chauve.c3{top:70px;width:28px;animation-duration:14s;animation-delay:-11s}
.deco-halloween .chauve.c4{top:200px;width:40px;animation-duration:26s;animation-delay:-3s}
.deco-halloween .araignee{top:-4px;width:46px;transform-origin:50% 0;animation:descend ease-in-out infinite alternate}
.deco-halloween .fantome{width:56px;opacity:.9;filter:drop-shadow(0 0 14px rgba(255,255,255,.55))}
.deco-halloween .f1{left:6%;top:38%;animation:flotte 6s ease-in-out infinite alternate}
.deco-halloween .f2{right:7%;top:55%;width:44px;animation:flotte 8s ease-in-out infinite alternate-reverse}
.deco-halloween .squelette{left:clamp(4px,1.5vw,28px);bottom:-30px;width:clamp(86px,9vw,130px);filter:drop-shadow(0 0 10px rgba(255,255,255,.18));transform-origin:50% 100%;animation:danse 2.4s ease-in-out infinite alternate}
.deco-halloween .squelette .bras{transform-origin:86px 86px;animation:salut 1.1s ease-in-out infinite alternate}
.deco-halloween .tombe{bottom:0;opacity:.95}.deco-halloween .t-a{right:clamp(60px,9vw,140px);width:46px}.deco-halloween .t-b{right:clamp(110px,15vw,210px);width:34px}
.deco-halloween .citrouille-fixe{right:clamp(6px,2vw,30px);bottom:6px;width:clamp(64px,7vw,100px);filter:drop-shadow(0 0 22px rgba(255,154,60,.7));animation:lueur 2.6s ease-in-out infinite alternate}
@keyframes flotte{from{translate:0 -10px}to{translate:0 14px}}
@keyframes scint{50%{opacity:.15}}
@keyframes vol{from{translate:0 0}50%{translate:55vw 30px}to{translate:120vw -14px}}
@keyframes descend{from{translate:0 calc(var(--h) * -0.4)}to{translate:0 var(--h)}}
@keyframes tombe-c{from{translate:0 -10vh;rotate:-20deg}to{translate:34px 115vh;rotate:340deg}}
@keyframes danse{from{rotate:-3deg}to{rotate:3deg}}
@keyframes salut{from{rotate:-14deg}to{rotate:18deg}}
@keyframes lueur{from{filter:drop-shadow(0 0 10px rgba(255,154,60,.45))}to{filter:drop-shadow(0 0 30px rgba(255,154,60,.95))}}

/* ================= NOËL : reine des neiges, père Noël, sapin, traîneau ================= */
:root[data-theme="noel"]{--encre:#173f7a;--encre-2:#0f2747;--brume:#4a86c5;--givre:#bcd4ee;--ciel:#dcebfa;--ciel-rgb:220,235,250;--papier:#f2f8ff;--papier-rgb:242,248,255;--or:#e0b24a;--texte-doux:#33506f;--note:#e8f2fc;--sur-or:#0f2747;--rouge:#c0262d}
:root[data-theme="noel"] body{background:linear-gradient(180deg,#e3f0ff,#f7fbff 40%,#eef6ff);background-attachment:fixed;transition:background-color .4s}
:root[data-theme="noel"] .top{box-shadow:0 8px 24px rgba(23,63,122,.15)}
:root[data-theme="noel"] .saison{background:var(--rouge);box-shadow:0 4px 14px rgba(192,38,45,.35)}
:root[data-theme="noel"] .btn--gold{background:var(--rouge);color:#fff;border-color:var(--rouge)}
:root[data-theme="noel"] .tag{background:var(--rouge);color:#fff}
:root[data-theme="noel"] .event__date{background:var(--rouge)}
:root[data-theme="noel"] .card--plus{background:linear-gradient(160deg,#fff,#cfe6fb)}
:root[data-theme="noel"] .sec--ink{background:linear-gradient(160deg,#0c2447,#1d5190);position:relative}
:root[data-theme="noel"] .sec--ink::before{content:"";position:absolute;left:0;right:0;top:-16px;height:34px;background:radial-gradient(circle at 20px 18px,#fff 16px,transparent 17px) 0 0/40px 34px repeat-x,radial-gradient(circle at 40px 24px,#f3f9ff 14px,transparent 15px) 0 0/54px 34px repeat-x;pointer-events:none}
:root[data-theme="noel"] .pola{box-shadow:0 10px 24px rgba(23,63,122,.25)}
:root[data-theme="noel"] .hero{background:radial-gradient(900px 420px at 15% 10%,rgba(150,205,255,.35),transparent 65%)}
:root[data-theme="noel"] .top::after{content:"";position:absolute;left:0;right:0;top:100%;height:24px;pointer-events:none;background:radial-gradient(circle at 10px 10px,#e53a3a 6px,transparent 7px) 0 0/48px 24px repeat-x,radial-gradient(circle at 34px 10px,#3cae6a 6px,transparent 7px) 0 0/48px 24px repeat-x,radial-gradient(circle at 22px 14px,#f1c84b 5px,transparent 6px) 0 0/48px 24px repeat-x,radial-gradient(circle at 46px 12px,#5aa7e8 5px,transparent 6px) 0 0/48px 24px repeat-x,linear-gradient(#5b4a2c,#5b4a2c) 0 0/100% 2px no-repeat;animation:guirlande 1.6s steps(2) infinite}
:root[data-theme="noel"] .bandeau{background:var(--rouge)}

.deco-noel .aurore{inset:0;background:radial-gradient(900px 300px at 20% 0,rgba(120,220,255,.22),transparent 70%),radial-gradient(900px 300px at 80% 0,rgba(180,140,255,.16),transparent 70%);animation:aurore 12s ease-in-out infinite alternate}
.deco-noel .etoile-n2{animation:scint 3.5s ease-in-out infinite}
.deco-noel .traineau{top:96px;left:100vw;width:clamp(150px,22vw,300px);animation:traineau 34s linear infinite;filter:drop-shadow(0 6px 8px rgba(15,39,71,.25))}
.deco-noel .renne{animation:galop .5s ease-in-out infinite alternate}
.deco-noel .flocon{top:-14px;width:var(--t,6px);height:var(--t,6px);border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(74,134,197,.35),0 0 8px rgba(255,255,255,.95);animation:neige linear infinite}
.deco-noel .cristal{top:-30px;animation:cristal linear infinite;opacity:.85}
.deco-noel .reine{right:clamp(8px,16vw,260px);bottom:0;width:clamp(78px,8vw,120px);transform-origin:50% 100%;animation:danse 4s ease-in-out infinite alternate;filter:drop-shadow(0 0 16px rgba(130,200,255,.7))}
.deco-noel .sapin{right:clamp(4px,1.2vw,22px);bottom:0;width:clamp(90px,10vw,150px)}
.deco-noel .pere{left:clamp(2px,1vw,20px);bottom:-4px;width:clamp(96px,10vw,150px);transform-origin:50% 100%}
.deco-noel .pere .main-pere{transform-origin:112px 128px;animation:salut 1s ease-in-out infinite alternate}
.deco-noel .bonhomme{left:clamp(110px,13vw,200px);bottom:0;width:clamp(56px,6vw,90px)}
.deco-noel .neige-sol{left:0;right:0;bottom:-2px;height:26px;background:radial-gradient(circle at 20px 26px,#fff 20px,transparent 21px) 0 0/44px 26px repeat-x,#fff;-webkit-mask:linear-gradient(#000,#000) top/100% 14px no-repeat,linear-gradient(#000,#000) bottom/100% 12px no-repeat;opacity:.96;box-shadow:0 -4px 18px rgba(130,190,240,.4)}
.deco-noel .sapinp{bottom:14px;width:30px;opacity:.9}.deco-noel .sp1{left:38vw}.deco-noel .sp2{left:46vw;width:22px}
@keyframes traineau{from{translate:0 0}50%{translate:-60vw -18px}to{translate:-130vw 6px}}
@keyframes galop{from{translate:0 -3px}to{translate:0 3px}}
@keyframes neige{from{translate:0 -12px}to{translate:var(--d,24px) 108vh}}
@keyframes cristal{from{translate:0 -30px;rotate:0deg}to{translate:30px 110vh;rotate:360deg}}
@keyframes aurore{from{opacity:.55}to{opacity:1}}
@keyframes guirlande{50%{filter:brightness(1.6)}}

@media (max-width:700px){
  .deco-noel .reine,.deco-noel .bonhomme,.deco-noel .sapinp,.deco-halloween .tombe,.deco-halloween .f2,.deco-halloween .toile{display:none}
  .deco-noel .pere{width:84px}.deco-noel .sapin{width:84px}
  .deco-halloween .squelette{width:78px}.deco-halloween .lune{width:66px}
}
@media (prefers-reduced-motion:reduce){
  .deco *{animation:none!important}
  .deco-noel .flocon,.deco-noel .cristal,.deco-halloween .cit-chute,.deco-halloween .chauve,.deco-noel .traineau{display:none}
}

/* Citrouilles posées en haut de la page et sur les bords des sections */
.cit-pose{position:absolute;z-index:4;display:block;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}
.cit-pose svg{display:block;width:100%;height:auto}
.cit-pose.lueur-c{animation:lueur 3s ease-in-out infinite alternate}
@media (max-width:700px){.cit-pose{transform:scale(.72);transform-origin:50% 100%}}
@media (prefers-reduced-motion:reduce){.cit-pose.lueur-c{animation:none}}
:root[data-theme="halloween"] body,:root[data-theme="noel"] body{overflow-x:clip}

/* ===== Logo aux couleurs du thème : le dessin du logo est recoloré (filtre SVG), plus de fond blanc ===== */
:root[data-theme="halloween"] .logo-stage img,:root[data-theme="halloween"] .top__brand img{mix-blend-mode:normal;filter:url(#lg-halloween) drop-shadow(0 0 14px rgba(255,154,60,.55))}
:root[data-theme="noel"] .logo-stage img,:root[data-theme="noel"] .top__brand img{mix-blend-mode:normal;filter:url(#lg-noel) drop-shadow(0 4px 10px rgba(179,32,42,.25))}
.logo-deco{position:absolute;pointer-events:none;display:block}
.logo-deco svg{display:block;width:100%;height:auto;overflow:visible}
.logo-stage .bonnet{left:27%;top:14%;width:22%;rotate:-12deg;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}
.logo-stage .neige-logo{left:12%;bottom:6%;width:76%;opacity:.95}
.logo-stage .chauve-logo{left:58%;top:6%;width:18%;color:#ff9a3c;animation:flotte 4s ease-in-out infinite alternate}
.logo-stage .cit-logo{right:6%;bottom:8%;width:20%;filter:drop-shadow(0 0 16px rgba(255,154,60,.7));animation:lueur 2.6s ease-in-out infinite alternate}
.top__brand{position:relative}

/* ===== Lisibilité (contrôle des contrastes) ===== */
:root[data-theme="halloween"] .top a.btn,:root[data-theme="halloween"] .top .btn--call{color:#1b0f2a}
:root[data-theme="halloween"] .pola figcaption,:root[data-theme="halloween"] .pola span{color:#2a1740}
:root[data-theme="halloween"] .face__hint{color:#5a3a80}
:root[data-theme="halloween"] .plus__title,:root[data-theme="halloween"] .card--plus h3,:root[data-theme="halloween"] .card--plus *{color:#1b0f2a}
:root[data-theme="halloween"] p.note,:root[data-theme="halloween"] .note{color:#d7c6ea}
:root[data-theme="halloween"] .confirm{background:#ffe8c9;color:#2a1740}
:root[data-theme="halloween"] .confirm *{color:#2a1740}
:root[data-theme="halloween"] .quote p,:root[data-theme="halloween"] .quote blockquote,:root[data-theme="halloween"] .quote blockquote p{color:#2a1740}
:root[data-theme="halloween"] .quote figcaption,:root[data-theme="halloween"] .quote figcaption b,:root[data-theme="halloween"] .quote cite{color:#4a3358}
:root[data-theme="halloween"] .quote::before{color:#ff9a3c}
:root[data-theme="halloween"] .info dt,:root[data-theme="halloween"] .info dd,:root[data-theme="halloween"] .info div{color:#efe4fa}
:root[data-theme="halloween"] .sec--ink .kicker{color:#e3c8a8}
:root[data-theme="halloween"] .sec--ink .info dt{color:#e3c8a8}

/* Corrections issues du tour de contrôle */
:root[data-theme="halloween"] .quote::before{background:transparent;color:#ff9a3c;text-shadow:0 0 12px rgba(255,154,60,.6)}
:root[data-theme="halloween"] footer,:root[data-theme="noel"] footer{padding-bottom:max(120px,16vh)}
@media (max-width:700px){
  .deco-halloween .fantome{display:none}
  .deco-halloween .squelette{width:62px;opacity:.9}
  .deco-halloween .citrouille-fixe{width:52px}
  .deco-noel .pere{width:70px;opacity:.95}.deco-noel .sapin{width:70px;opacity:.95}
}

:root[data-theme="halloween"]{--fb-bar:#0e0618}
:root[data-theme="noel"]{--fb-bar:#0c2447}

:root[data-theme] a.fb-logo,:root[data-theme] .fb a.fb-logo{color:#1877F2}
:root[data-theme] .fbbar a,:root[data-theme] .fbbar a svg{color:#fff}
