/* YORU — page club (maquette validée du 05/10) : complète inspire.css */
.intro .volet{background:#000}
.remonte .enseigne{font-size:clamp(54px,7vw,110px)}
.remonte.allume .enseigne{color:#fff;text-shadow:0 0 30px #3fd7ff88}
/* Maquette club : organisation propre, style partagé avec inspire.css */
.btn--rose{background:var(--rose);border-color:var(--rose);color:#fff;box-shadow:0 0 0 6px #ff29a82e,0 0 40px #ff29a8aa}
.btn--rose:hover{box-shadow:0 0 0 9px #ff29a838,0 0 60px #ff29a8}
.a-conf{display:inline-block;font-size:.72em;letter-spacing:.06em;padding:2px 9px;border-radius:999px;border:1px dashed #ff29a899;color:#ffc2e4;vertical-align:middle}
/* 1. hero partagé */
.cl-hero{text-align:left;place-items:stretch}
.cl-hero-voile{background:linear-gradient(90deg,#03070ff2,#03070fb3 45%,#03070f66),linear-gradient(#03070f99,#03070f00 30%,#03070fcc)!important}
.cl-hero-grille{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center;min-height:100vh;min-height:100svh;padding-top:90px;padding-bottom:40px}
.cl-hero-g .lbl{text-align:left}
.cl-hero-g p{margin:24px 0 0;font-size:18px;color:#eef5fb;max-width:40ch}
.cl-hero-g .h-actions{justify-content:flex-start}
.enseigne-c{display:flex;flex-direction:column;align-items:flex-start;font-family:var(--display);font-weight:400;line-height:.86;letter-spacing:.06em}
.enseigne-c .ec-1{font-size:clamp(100px,14vw,220px);color:#eafcff;text-shadow:0 0 8px #3fd7ff,0 0 26px #3fd7ff,0 0 80px #3fd7ffaa;animation:allume-l 2.4s .3s steps(1) both}
.enseigne-c .ec-2{font-size:clamp(60px,7.4vw,118px);letter-spacing:.5em;color:#ffe3f3;text-shadow:0 0 8px #ff29a8,0 0 26px #ff29a8,0 0 80px #ff29a8aa;animation:allume-l 2.4s 1s steps(1) both;margin-top:8px}
.cl-prog{position:relative;background:linear-gradient(160deg,#06183dd9,#03070fd9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:4px;padding:40px 36px;box-shadow:0 0 0 1px #ff29a866,0 40px 90px #000c,inset 0 0 60px #ff29a812}
.cl-prog-k{position:absolute;right:20px;top:18px;writing-mode:vertical-rl;font-family:var(--kanji);color:var(--rose);letter-spacing:.3em;text-shadow:0 0 12px var(--rose)}
.cl-prog ul{list-style:none;padding:0;margin:0 0 24px}
.cl-prog li{display:flex;flex-direction:column;gap:6px;padding:18px 0;border-bottom:1px solid #ffffff1f}
.cl-prog li b{font-family:var(--italique);font-style:italic;font-weight:400;font-size:40px;line-height:1}
.cl-prog li span{font-family:var(--display);font-size:18px;color:var(--elec)}
.cl-prog p{font-size:15px!important;margin-bottom:24px}.cl-prog small{color:#b9cde3}
.rayons{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.rayons i{position:absolute;bottom:-10%;left:calc(8% + var(--k) * 17%);width:2px;height:130%;transform-origin:50% 100%;background:linear-gradient(0deg,var(--c),transparent 85%);box-shadow:0 0 14px var(--c);opacity:.5;animation:laser var(--t) ease-in-out infinite alternate}
.rayons i:nth-child(odd){--c:#3fd7ff}.rayons i:nth-child(even){--c:#ff29a8}
.rayons i:nth-child(1){--k:0;--t:5s}.rayons i:nth-child(2){--k:1;--t:7s}.rayons i:nth-child(3){--k:2;--t:6s}.rayons i:nth-child(4){--k:3;--t:8s}.rayons i:nth-child(5){--k:4;--t:5.5s}.rayons i:nth-child(6){--k:5;--t:6.5s}
@keyframes laser{from{transform:rotate(-26deg)}to{transform:rotate(26deg)}}
/* 2. soirées en écran partagé */
.cl-soirees{background:var(--nuit);padding-top:130px}
.cl-soirees-titre{max-width:var(--wrap);margin:0 auto 60px;padding:0 40px;text-align:center}
.cl-soirees-titre p{margin:14px auto 0}
.cl-ecran{display:grid;grid-template-columns:1fr 1fr;height:92vh;min-height:600px}
.cl-soir{position:relative;overflow:hidden}
.cl-soir img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.cl-soir:hover img{transform:scale(1.06)}
.cl-soir-voile{position:absolute;inset:0;background:linear-gradient(#03070f33,#03070f00 30%,#03070fe6)}
.cl-soir--g .cl-soir-voile{background:linear-gradient(#03070f33,#03070f00 30%,#03070fe6),linear-gradient(90deg,#3fd7ff22,transparent 50%)}
.cl-soir--d .cl-soir-voile{background:linear-gradient(#03070f33,#03070f00 30%,#03070fe6),linear-gradient(270deg,#ff29a830,transparent 50%)}
.cl-soir--g{border-right:1px solid #ff29a866}
.cl-soir-k{position:absolute;top:30px;writing-mode:vertical-rl;font-family:var(--kanji);font-size:34px;letter-spacing:.24em;color:#fff;text-shadow:0 0 16px var(--rose);z-index:2}
.cl-soir--g .cl-soir-k{left:30px}.cl-soir--d .cl-soir-k{right:30px}
.cl-soir-txt{position:absolute;left:48px;right:48px;bottom:56px;z-index:2}
.cl-soir--d .cl-soir-txt{text-align:right}
.cl-soir-h{display:block;font-family:var(--display);font-size:20px;color:var(--elec);margin-bottom:6px}
.cl-soir h3{font-family:var(--italique);font-style:italic;font-weight:400;font-size:clamp(70px,8vw,130px);line-height:.9;text-shadow:0 0 40px #ff29a8aa}
.cl-soir-txt p{margin:14px 0 22px;font-size:17px}
.cl-soir--d .cl-soir-txt p{margin-left:auto}
/* 3. dancefloor sur la piste */
.cl-piste{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.cl-piste figure{position:absolute;inset:0;margin:0}
.cl-piste img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.32 - var(--p,.5) * .45))}
.cl-piste-voile{position:absolute;inset:0;background:linear-gradient(90deg,#03070ff0,#03070fa6 50%,#03070f40),linear-gradient(#03070f99,#03070f00 30%,#03070f00 70%,#03070f)}
.cl-piste-k{z-index:1!important}
.cl-piste>*:not(figure):not(.cl-piste-voile){position:relative;z-index:2}
.cl-piste-txt{padding-top:120px;padding-bottom:60px}
.cl-piste .st{padding:0;margin:0;max-width:none}
.cl-piste-sous{margin-top:20px;font-size:18px}
.cl-piste-defile{background:#03070fcc}
.st .st-rose.on{color:var(--rose);text-shadow:0 0 18px #ff29a8,0 0 70px #ff29a8aa}
.st-rose{font-family:var(--italique);font-style:italic}
.kanji-geant--rose{-webkit-text-stroke:1px #ff29a840!important}
/* 4. intermède */
.cl-inter{padding:150px 0;text-align:center}
.cl-inter-voile{background:radial-gradient(ellipse 60% 70% at 50% 50%,#03070fe6,#03070f8c)!important}
.cl-inter-c .lbl{text-align:center}
.cl-inter-c h2{max-width:16ch;margin:0 auto}
.cl-inter-c p{margin:26px auto 0;max-width:58ch}
.cl-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:60px auto 0}
.cl-chiffres div{padding:30px 10px;border:1px solid #ffffff1f;border-radius:4px;background:#03070f99;box-shadow:inset 0 0 40px #ff29a80f}
.cl-chiffres b{display:block;font-family:var(--display);font-weight:400;font-size:52px;color:var(--rose);text-shadow:0 0 18px #ff29a888}
.cl-chiffres div:nth-child(2) b{color:var(--elec);text-shadow:0 0 18px #3fd7ff88}
.cl-chiffres span{display:block;margin-top:8px;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#cfe0f0}
/* 5. étapes en zigzag */
.cl-etapes{padding:150px 0;background:var(--nuit)}
.cl-etapes-tete{text-align:center;margin-bottom:70px}.cl-etapes-tete .lbl{text-align:center}.cl-etapes-tete p{margin:14px auto 0}
.cl-zig{position:relative;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:80px}
.cl-zig-fil{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(#3fd7ff,#ff29a8,#3fd7ff);box-shadow:0 0 14px #ff29a8}
.cl-zig li{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}
.cl-zig figure{margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:4px;box-shadow:0 40px 80px #000b}
.cl-zig img{width:100%;height:100%;object-fit:cover}
.cl-zig-d figure{order:2}
.cl-zig-n{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--nuit);border:1px solid var(--rose);font-family:var(--display);font-size:20px;box-shadow:0 0 24px #ff29a888;z-index:2}
.cl-zig-d .cl-zig-txt{text-align:right}
.cl-zig h3{font-family:var(--italique);font-style:italic;font-weight:400;font-size:46px;line-height:1.05}
.cl-zig p{margin-top:12px}
.cl-zig-d p{margin-left:auto}
/* 6. carrés & cocktails */
.cl-carres{padding:150px 0}
.cl-carres-voile{background:linear-gradient(90deg,#03070f80,#03070fe6 45%,#03070ff2)!important}
.cl-carres-grille{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.cl-carres-photo{position:relative;margin:0;aspect-ratio:4/5;border-radius:4px}
.cl-carres-photo img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.cl-cadre{position:absolute;inset:-14px;border:1px solid #ff29a899;box-shadow:0 0 22px #ff29a855;pointer-events:none}
.cl-carres-k{position:absolute;right:-30px;bottom:30px;font-family:var(--kanji);font-size:120px;color:transparent;-webkit-text-stroke:1px #3fd7ffaa;text-shadow:0 0 30px #3fd7ff44}
.cl-carres h2+p{margin-top:14px}
.cc-liste{list-style:none;padding:0;margin:34px 0 40px}
.cc-liste li{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:16px;padding:20px 0;border-bottom:1px solid #ffffff1f}
.cc-liste span{font-family:var(--italique);font-style:italic;font-size:32px;color:#fff}
.cc-liste .pts{border-bottom:1px dotted #ff29a855;margin-bottom:10px}
.cc-liste b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--rose);text-shadow:0 0 12px #ff29a866}
.cc-liste small{grid-column:1/-1;font-size:15px;color:#c9d6e6}
/* 7. bande rose */
.cl-privat{padding:120px 0;background:linear-gradient(120deg,#ff29a8,#c4127c 55%,#7a0b55);color:#fff;position:relative;overflow:hidden}
.cl-privat::before{content:"夜";position:absolute;right:-4vw;top:50%;transform:translateY(-50%);font-family:var(--kanji);font-size:40vw;line-height:1;color:#ffffff12;pointer-events:none}
.cl-privat-grille{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.cl-privat .lbl{color:#ffe3f3}.cl-privat .lbl b{color:#fff!important;text-shadow:none}
.cl-privat h2 em{color:#fff!important}
.cl-privat p{color:#fff;font-size:18px}
.cl-privat .tags{margin:26px 0 30px}.cl-privat .tags span{border-color:#ffffff99;color:#fff}
.btn--blanc-c{background:#fff;color:#7a0b55;border-color:#fff}
.btn--fil-c{background:transparent;color:#fff;border-color:#ffffffb3}
/* 8. accès */
.acces-c{padding:140px 0;background:var(--nuit)}
.acc-grille{display:grid;grid-template-columns:repeat(2,1fr);margin-top:56px;border-top:1px solid #ffffff1f}
.acc-grille>div{padding:40px 34px 10px 0;border-right:1px solid #ffffff1f}.acc-grille>div+div{padding-left:34px}.acc-grille>div:last-child{border-right:0}
.acc-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px}.acc-photos figure{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;border-radius:4px;box-shadow:0 30px 60px #000a,0 0 0 1px #ff29a844}.acc-photos img{width:100%;height:100%;object-fit:cover}.acc-photos figure::after{content:"";position:absolute;inset:0;background:linear-gradient(#03070f00 50%,#03070fe0)}.acc-photos figcaption{z-index:2}.acc-photos figcaption{position:absolute;left:18px;bottom:14px;font-family:var(--italique);font-style:italic;font-size:24px;text-shadow:0 2px 14px #000}
.acc-k{display:block;font-family:var(--kanji);font-size:30px;color:var(--rose);text-shadow:0 0 14px #ff29a8;margin-bottom:14px}
.acc-grille h3{font-family:var(--italique);font-style:italic;font-weight:400;font-size:32px;margin-bottom:10px}
.acc-grille p{font-size:17px!important}.acc-grille a{color:#fff;border-bottom:1px solid #3fd7ff88}
.geant--club>div{font-size:clamp(60px,12vw,200px)}
@media (max-width:900px){
  .cl-hero-grille{grid-template-columns:1fr;gap:34px;padding-top:110px}
  .enseigne-c .ec-1{font-size:26vw}.enseigne-c .ec-2{font-size:12vw;letter-spacing:.4em}
  .cl-prog{padding:28px 22px}.cl-prog li b{font-size:30px}
  .rayons i{opacity:.4}
  .cl-soirees{padding-top:90px}.cl-soirees-titre{padding:0 20px;margin-bottom:40px}
  .cl-ecran{grid-template-columns:1fr;height:auto}.cl-soir{height:80svh}.cl-soir--g{border-right:0;border-bottom:1px solid #ff29a866}
  .cl-soir-txt{left:22px;right:22px;bottom:34px}.cl-soir--d .cl-soir-txt{text-align:left}.cl-soir--d .cl-soir-k{right:22px}.cl-soir--g .cl-soir-k{left:auto;right:22px}
  .cl-piste-txt{padding-top:90px}.cl-piste .st{font-size:15vw}
  .cl-inter,.cl-etapes,.cl-carres,.acces-c{padding:90px 0}.cl-privat{padding:80px 0}
  .cl-chiffres{grid-template-columns:1fr;gap:12px}.cl-chiffres b{font-size:40px}
  .cl-zig-fil{left:22px}.cl-zig{gap:50px}
  .cl-zig li{grid-template-columns:1fr;gap:18px;padding-left:64px}.cl-zig-d figure{order:0}
  .cl-zig-n{left:22px;top:0;transform:translate(-50%,0);width:46px;height:46px;font-size:16px}
  .cl-zig-d .cl-zig-txt{text-align:left}.cl-zig h3{font-size:32px}
  .cl-carres-grille,.cl-privat-grille{grid-template-columns:1fr;gap:50px}.cl-carres-k{font-size:80px;right:-6px}.cl-cadre{inset:-8px}
  .cc-liste span{font-size:24px}
  .acc-photos{grid-template-columns:1fr}.acc-grille{grid-template-columns:1fr}.acc-grille>div,.acc-grille>div+div{padding:28px 0;border-right:0;border-bottom:1px solid #ffffff1f}
  .geant--club>div{font-size:11vw}
}
@media (prefers-reduced-motion:reduce){.rayons i,.enseigne-c span{animation:none}}`;

const JS = `<script>(function(){
  var fige=location.search.indexOf('fige')>-1, reduit=matchMedia('(prefers-reduced-motion: reduce)').matches;
  var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('vu');io.unobserve(e.target);}});},{rootMargin:'0px 0px -12% 0px'});
  document.querySelectorAll('.fx,.fxc').forEach(function(el){fige||reduit?el.classList.add('vu'):io.observe(el);});
  var st=document.querySelector('.st'),ws=[].slice.call(st.querySelectorAll('.w'));
  st._maj=function(p){var n=Math.round(Math.min(1,Math.max(0,(p-.2)/.3))*ws.length);ws.forEach(function(w,k){w.classList.toggle('on',k<n);});};
  if(fige||reduit)ws.forEach(function(w){w.classList.add('on');});
  addEventListener('DOMContentLoaded',function(){if(window.YoruLED){YoruLED(document.getElementById('ledInter'));YoruLED(document.getElementById('ledCarres'));}});
})();</script>`;

let h = page.slice(0, page.indexOf('<main>') + 6) + '\n' + [hero, soirees, piste, interlude, etapes, SEP, carres, privat, acces, remonte].join('\n\n') + '\n</main>' + geant + page.slice(page.indexOf('</main>') + 7);
h = h.replace(/<script>addEventListener\('DOMContentLoaded',function\(\)\{if\(window\.YoruLED\)YoruLED\(document\.getElementById\('ledPrivat'\)[^<]*<\/script>/, '');
if (!/assets\/js\/led\.js/.test(h)) h = h.replace('</body>', '<script src="/assets/js/led.js" defer></script></body>');
h = h.replace('</head>', '<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,400;1,500&display=swap"><link rel="stylesheet" href="/.superpowers/maquettes/inspire/inspire.css"><link rel="stylesheet" href="/.superpowers/maquettes/inspire/club.css"></head>')
  .replace('</body>', JS + '</body>');
// liens entre maquettes : restaurant ↔ club
h = h.split('href="/club/"').join('href="/.superpowers/maquettes/inspire/club/"').split('href="/restaurant/"').join('href="/.superpowers/maquettes/inspire/restaurant/"');
mkdirSync(`${D}/club`, { recursive: true });
writeFileSync(`${D}/club.css`, CSS);
writeFileSync(`${D}/club/index.html`, h);
