/* =========================================================
   Wah! — page d'accueil « La setlist » (front-page.php)
   Tout est scopé sous .wah-home ; voir DESIGN.md pour le système.
   ========================================================= */

.wah-home{
  --nuit:#000058;
  --cyan:#5FFFFF;
  --violet:#8265FF;
  --lilas:#DC87FF;
  --rouge:#FF0000;
  --lavande:#ECEBFF;
  --lavande-2:#C4C1FF;
  --encre:#000058;
  --encre-douce:#3a3a72;
  --filet:#d9d7f7;
  --papier:#FFFFFF;
  --gouttiere:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.16,1,.3,1);
  --trait-cyan:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath fill='%235FFFFF' d='M3 5C45 2 140 1 196 4c3 3 3 9 1 12-46 3-140 4-193 1-3-3-3-9-1-12z'/%3E%3C/svg%3E");
  --trait-lilas:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath fill='%23DC87FF' d='M3 5C45 2 140 1 196 4c3 3 3 9 1 12-46 3-140 4-193 1-3-3-3-9-1-12z'/%3E%3C/svg%3E");
  --trait-rouge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath fill='%23FF0000' fill-opacity='.7' d='M3 5C45 2 140 1 196 4c3 3 3 9 1 12-46 3-140 4-193 1-3-3-3-9-1-12z'/%3E%3C/svg%3E");
  font-family:Poppins,system-ui,sans-serif;font-weight:400;font-size:16px;line-height:1.55;
  color:var(--encre);background:var(--papier);accent-color:var(--violet);
  -webkit-font-smoothing:antialiased;
}

/* Neutralise les styles par défaut de Divi dans la page */
.wah-home,.wah-home *,.wah-home *::before,.wah-home *::after{box-sizing:border-box}
.wah-home h1,.wah-home h2,.wah-home h3,.wah-home h4,.wah-home p,.wah-home ul,.wah-home ol,.wah-home li,.wah-home figure,.wah-home form{margin:0;padding:0}
.wah-home h1,.wah-home h2,.wah-home h3,.wah-home h4{font-family:inherit;color:inherit;font-weight:800}
.wah-home ul,.wah-home ol{list-style:none;line-height:inherit}
.wah-home a{color:inherit;text-decoration:none}
.wah-home img{display:block;max-width:100%;height:auto}
.wah-home ::selection{background:var(--cyan);color:var(--nuit)}
.wah-home :focus-visible{outline:3px solid var(--rouge);outline-offset:3px;border-radius:4px}
.wah-home .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wah-home .wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--gouttiere)}

/* ---------- Ouverture : la setlist ---------- */
.wah-home .ouverture{background:var(--nuit);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.wah-home .ouverture::before{content:"";position:absolute;z-index:-1;width:min(1120px,76vw);aspect-ratio:2000/1800;right:-14%;top:50%;translate:0 -50%;background:url(../img/fond.png) center/contain no-repeat;transform:rotate(-8deg)}
.wah-home .ouverture .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);padding-top:clamp(36px,4.4vw,64px);padding-bottom:clamp(56px,7vw,104px);align-items:start}
.wah-home .mission{padding-top:clamp(8px,3vw,48px)}
.wah-home .mission h1{color:var(--cyan);font-size:clamp(4.5rem,11vw,9.5rem);line-height:.82;letter-spacing:-.04em}
.wah-home .mission p{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700;line-height:1.25;margin-top:clamp(18px,2vw,28px);max-width:17ch;text-wrap:balance}
.wah-home .mission small{display:block;font-size:15px;color:var(--lavande-2);margin-top:20px;max-width:34ch;line-height:1.6}
.wah-home .mission small a{color:#fff;text-decoration:underline;text-decoration-color:var(--cyan);text-underline-offset:4px;text-decoration-thickness:2px}

.wah-home .setlist{background:var(--papier);color:var(--encre);border-radius:4px;padding:clamp(28px,3vw,44px) clamp(22px,3vw,48px) clamp(26px,3vw,40px);position:relative;transform:rotate(-1.4deg);box-shadow:0 30px 60px -20px rgba(0,0,30,.65),0 6px 14px rgba(0,0,30,.25);animation:wah-pose .9s var(--ease) both}
@keyframes wah-pose{from{transform:translateY(28px) rotate(-4deg)}}
.wah-home .scotch{position:absolute;top:-16px;width:118px;height:34px;background:rgba(95,255,255,.78);mix-blend-mode:multiply}
.wah-home .scotch.g{left:52px;transform:rotate(-4deg)}
.wah-home .scotch.d{right:52px;transform:rotate(5deg)}
.wah-home .setlist h2{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.1;letter-spacing:-.02em}
.wah-home .colonnes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin-top:clamp(20px,2.4vw,30px)}
.wah-home .colonnes h3{font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.02em;padding-bottom:10px;border-bottom:3px solid var(--nuit);display:flex;align-items:center;gap:10px}
.wah-home .colonnes h3 i{width:26px;height:10px;border-radius:8px 3px 9px 4px;flex:none}
.wah-home .pastille-cyan{background:var(--cyan)}
.wah-home .pastille-lilas{background:var(--lilas)}
.wah-home .titres li{border-bottom:1px solid var(--filet)}
.wah-home .titres a{display:grid;grid-template-columns:28px 1fr 20px;gap:8px;align-items:baseline;padding:10px 0 9px;position:relative}
.wah-home .titres .num{font-size:13px;font-weight:600;color:var(--encre-douce);font-variant-numeric:tabular-nums}
.wah-home .titres .t{font-size:clamp(1.05rem,1.3vw,1.2rem);font-weight:800;line-height:1.15;letter-spacing:-.01em;position:relative;z-index:1}
.wah-home .titres .r{display:block;font-size:13px;font-weight:500;color:var(--encre-douce);margin-top:4px;letter-spacing:0}
.wah-home .titres svg.fl{width:18px;height:18px;align-self:center;transition:transform .45s var(--ease)}
/* signature : le titre « joué » se barre d'un coup de pinceau */
.wah-home .titres .tt{background:var(--trait) no-repeat 0 78%/0% .6em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .55s var(--ease)}
.wah-home .titres a:hover .tt,.wah-home .titres a:focus-visible .tt{background-size:100% .6em}
.wah-home .titres a:hover svg.fl,.wah-home .titres a:focus-visible svg.fl{transform:translateX(5px)}
.wah-home .titres li:nth-child(3n+1){--trait:var(--trait-cyan)}
.wah-home .titres li:nth-child(3n+2){--trait:var(--trait-lilas)}
.wah-home .titres li:nth-child(3n+3){--trait:var(--trait-rouge)}
.wah-home .titres.suite li:nth-child(3n+1){--trait:var(--trait-lilas)}
.wah-home .titres.suite li:nth-child(3n+2){--trait:var(--trait-rouge)}
.wah-home .titres.suite li:nth-child(3n+3){--trait:var(--trait-cyan)}

.wah-home .recherche{margin-top:clamp(20px,2.4vw,30px);display:flex;border:2px solid var(--nuit);border-radius:40px;padding:5px 5px 5px 22px;align-items:center;gap:10px;transition:box-shadow .3s}
.wah-home .recherche:focus-within{box-shadow:0 0 0 4px var(--cyan)}
.wah-home .recherche svg{width:18px;height:18px;flex:none}
.wah-home .recherche input{flex:1;min-width:0;border:0;outline:0;box-shadow:none;-webkit-appearance:none;appearance:none;font:500 16px Poppins,sans-serif;color:var(--encre);background:transparent;padding:10px 0;margin:0;height:auto}
.wah-home .recherche input::placeholder{color:#5c5c8a;opacity:1}
.wah-home .recherche button{background:var(--nuit);color:var(--cyan);border:0;border-radius:30px;padding:11px 22px;margin:0;font:700 15px Poppins,sans-serif;line-height:1.2;cursor:pointer;transition:background .25s}
.wah-home .recherche button:hover{background:var(--cyan);color:var(--nuit)}
.wah-home .recherche .go{display:none;width:20px;height:20px}

/* ---------- Sections ---------- */
.wah-home .section{padding:clamp(64px,8vw,120px) 0}
.wah-home .tete{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(28px,3.5vw,48px)}
.wah-home .tete h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1;letter-spacing:-.03em;text-wrap:balance}
.wah-home .lien{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;line-height:1.4;border:2px solid currentColor;border-radius:30px;padding:10px 20px;white-space:nowrap;transition:background .25s,color .25s}
.wah-home .lien svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.wah-home .lien:hover svg{transform:translateX(4px)}

/* Actualités */
.wah-home .actus{background:var(--papier)}
.wah-home .actus .lien:hover{background:var(--nuit);color:#fff}
.wah-home .une{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,48px)}
.wah-home .article-une{display:grid;grid-template-rows:auto 1fr;gap:22px}
.wah-home .article-une .img{border-radius:6px;overflow:hidden;aspect-ratio:16/10;background:var(--nuit)}
.wah-home .article-une img,.wah-home .article .img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.wah-home .article-une:hover img,.wah-home .article:hover img{transform:scale(1.03)}
.wah-home .date{display:block;font-size:14px;font-weight:600;color:var(--encre-douce);margin-top:8px}
.wah-home .article-une h3{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.1;letter-spacing:-.02em;margin-top:6px;text-wrap:balance}
.wah-home .article-une p{margin-top:12px;max-width:62ch;color:var(--encre-douce)}
.wah-home .secondaires{display:flex;flex-direction:column}
.wah-home .article{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:22px 0;border-top:2px solid var(--nuit)}
.wah-home .article:last-child{border-bottom:2px solid var(--nuit)}
.wah-home .article .img{border-radius:4px;overflow:hidden;aspect-ratio:4/3;background:var(--nuit)}
.wah-home .article h3{font-size:1.15rem;line-height:1.2;margin-top:4px;text-wrap:balance}
.wah-home .article-une h3 span,.wah-home .article h3 span{background:linear-gradient(var(--cyan),var(--cyan)) left 88%/0 .4em no-repeat;transition:background-size .45s var(--ease)}
.wah-home .article-une:hover h3 span,.wah-home .article:hover h3 span,.wah-home .article-une:focus-visible h3 span,.wah-home .article:focus-visible h3 span{background-size:100% .4em}

/* Dispositifs */
.wah-home .dispositifs{background:var(--lavande);position:relative;overflow:hidden;isolation:isolate}
.wah-home .dispositifs::before{content:"";position:absolute;z-index:-1;width:min(720px,70vw);aspect-ratio:2000/1800;left:-16%;bottom:-46%;background:url(../img/fond.png) center/contain no-repeat;transform:rotate(24deg)}
.wah-home .dispositifs .grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:center}
.wah-home .dispositifs .illu img{width:100%;max-width:520px}
.wah-home .dispositifs .tete{margin-bottom:12px}
.wah-home .dispositifs .intro{color:var(--encre-douce);max-width:52ch;margin-bottom:clamp(20px,3vw,34px)}
.wah-home .programmes a{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:20px 0;border-top:2px solid var(--nuit)}
.wah-home .programmes li:last-child a{border-bottom:2px solid var(--nuit)}
.wah-home .programmes strong{display:block;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.wah-home .programmes span{font-size:15px;color:var(--encre-douce)}
.wah-home .programmes strong span{font-size:inherit;color:inherit;background:var(--trait-cyan) no-repeat 0 60%/0% .5em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .55s var(--ease)}
.wah-home .programmes a:hover strong span,.wah-home .programmes a:focus-visible strong span{background-size:100% .5em}
.wah-home .programmes svg{width:26px;height:26px;transition:transform .4s var(--ease)}
.wah-home .programmes a:hover svg{transform:translateX(6px)}

/* Répertoire */
.wah-home .rubriques{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:3px solid var(--nuit)}
.wah-home .rubrique{padding:clamp(24px,3vw,40px) clamp(0px,2vw,32px) clamp(28px,3vw,44px) 0;border-bottom:3px solid var(--nuit);position:relative}
.wah-home .rubrique+.rubrique{padding-left:clamp(20px,2.4vw,36px);border-left:3px solid var(--nuit)}
.wah-home .r-ressources{grid-column:span 5}
.wah-home .r-initiatives{grid-column:span 7}
.wah-home .rubriques .r-vss{grid-column:span 6;border-left:0;padding-right:clamp(20px,2.4vw,36px);background:var(--lavande)}
.wah-home .r-annuaires{grid-column:span 6}
.wah-home .rubrique h3{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.05;letter-spacing:-.025em;max-width:14ch}
.wah-home .r-vss h3{max-width:12ch}
.wah-home .rubrique h3 a{background:linear-gradient(var(--cyan),var(--cyan)) left 85%/0 .38em no-repeat;transition:background-size .45s var(--ease)}
.wah-home .rubrique h3 a:hover{background-size:100% .38em}
.wah-home .rubrique>p{color:var(--encre-douce);margin-top:10px;max-width:46ch}
.wah-home .rubrique ul{margin-top:20px}
.wah-home .rubrique li a{display:flex;gap:10px;align-items:baseline;padding:7px 0;font-weight:500;font-size:15px;line-height:1.4;border-bottom:1px solid var(--filet);transition:color .2s}
.wah-home .rubrique li a::before{content:"";flex:none;width:12px;height:5px;border-radius:5px 2px 6px 2px;background:var(--violet);transform:translateY(-3px);transition:width .3s var(--ease)}
.wah-home .rubrique li a:hover::before{width:20px;background:var(--rouge)}
.wah-home .rubrique .voir{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:700;font-size:15px;text-decoration:underline;text-decoration-color:var(--violet);text-decoration-thickness:2px;text-underline-offset:5px}
.wah-home .r-ressources,.wah-home .r-initiatives{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;column-gap:20px;align-content:start}
.wah-home .r-ressources>p,.wah-home .r-initiatives>p,.wah-home .r-ressources>ul,.wah-home .r-initiatives>.themes{align-self:start}
.wah-home .rubrique .illu{grid-column:2;grid-row:1/span 2;align-self:start;width:clamp(96px,9vw,140px)}
.wah-home .r-ressources>ul,.wah-home .r-initiatives>.themes{grid-column:1/-1}
.wah-home .themes{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;margin-top:6px}
.wah-home .themes h4{font-size:14px;font-weight:700;line-height:1.4;margin-top:18px;color:var(--encre)}
.wah-home .themes ul{margin-top:4px}
.wah-home .illu-annu{width:min(100%,420px);margin-top:clamp(24px,3vw,40px)}

/* ---------- Responsive ---------- */
@media (max-width:1060px){
  .wah-home .ouverture .wrap{grid-template-columns:minmax(0,1fr)}
  .wah-home .mission p{max-width:22ch}
  .wah-home .ouverture::before{right:-40%;top:auto;bottom:-12%;translate:none;width:min(900px,150vw)}
  .wah-home .une,.wah-home .dispositifs .grille{grid-template-columns:1fr}
  .wah-home .dispositifs .illu img{max-width:360px}
  .wah-home .r-ressources,.wah-home .r-initiatives{grid-column:span 12}
  .wah-home .rubriques .r-initiatives{padding-left:0;border-left:0}
  .wah-home .rubriques .r-vss,.wah-home .r-annuaires{grid-column:span 6}
}
@media (max-width:720px){
  .wah-home .setlist{transform:rotate(-.8deg);padding-top:34px;animation-name:wah-pose-mobile}
  .wah-home .colonnes{grid-template-columns:minmax(0,1fr)}
  .wah-home .colonnes>div+div{margin-top:8px}
  .wah-home .tete{flex-direction:column;align-items:flex-start}
  .wah-home .article{grid-template-columns:110px 1fr;gap:14px}
  .wah-home .rubriques{display:block}
  .wah-home .rubriques .rubrique{padding-left:0;border-left:0;padding-right:0}
  .wah-home .rubriques .r-vss{margin:0 calc(var(--gouttiere)*-1);padding-left:var(--gouttiere);padding-right:var(--gouttiere)}
  .wah-home .themes{grid-template-columns:1fr}
  .wah-home .r-ressources,.wah-home .r-initiatives{display:block}
  .wah-home .rubrique .illu{float:right;width:76px;margin:0 0 8px 14px}
  .wah-home .recherche{padding-left:16px}
  .wah-home .recherche button{padding:11px 14px;display:flex}
  .wah-home .recherche .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .wah-home .recherche .go{display:block}
}
@keyframes wah-pose-mobile{from{transform:translateY(20px) rotate(-2deg)}}
@media (prefers-reduced-motion:reduce){
  .wah-home *,.wah-home *::before,.wah-home *::after{animation:none!important;transition:none!important}
}
