/* ==========================================================================
   Lot ateliers : catalogue en planche, épisodes, jouets scientifiques,
   grand calendrier mural et cours particuliers.
   ========================================================================== */
.at-ns{white-space:nowrap}
.at-page .nuages{left:-8px;right:auto;translate:none;width:max(120%,1180px);max-width:none}
/* Le nuage mord d'un pixel sur sa section : ni filet de couleur entre les deux, ni trait d'encre au bas du dessin. */
.at-page .nuages--h{top:0;transform:translateY(calc(-100% + 3px));clip-path:inset(0 0 2px)}
.at-page .elium{animation-name:at-elium}
/* En-tête : le titre et les boutons tiennent dans le premier écran. */
.at-page .plan .titre--xl{font-size:clamp(2.3rem,5vw,4.1rem);text-wrap:balance}
.at-page .plan__txt .cluster{--g:10px}
@media(min-width:861px){
  .at-page .plan__txt{padding-inline:clamp(22px,3.2vw,46px)}
  .at-page .plan__txt .btn{padding-inline:1em;font-size:.96rem}
  /* La bulle reste sur le décor : elle ne recouvre jamais le fil d'Ariane ni le surtitre. */
  .at-page .plan__bulle{left:51%;right:auto;max-width:min(36%,430px)}
  .at-page .plan__bulle .bulle{max-width:100%}
  /* Eliot est large : réduit, il laisse sa place à la bulle au-dessus de sa tête. */
  .at-page .plan__perso[src*=eliot]{max-width:33%}
  /* Emma lève son globe près de sa tête : la bulle s'arrête avant lui. */
  .at-page .plan__case:has(.plan__perso[src*=emma]) .plan__bulle{max-width:min(27%,330px)}
}
.at-page .plan:has(+.at-fiche-w) .plan__onoma{bottom:40px}
@media(max-width:860px){.at-page .plan .lead{font-size:1rem;line-height:1.45}.at-page .plan__txt{gap:10px}}
@keyframes at-elium{to{background-position:111.111% 0}}
.at-n{display:inline-block;font-family:var(--display);font-size:.84rem;letter-spacing:.04em;line-height:1;background:var(--c);color:var(--c-txt);padding:.38em .75em .22em;border:2.5px solid #241530;border-radius:30px;transform:rotate(-2deg);white-space:nowrap}
.at-console__e{font-family:var(--hand);font-weight:800;font-size:.98rem;line-height:1.2;flex:none;min-width:3.4em}
.at-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.at-chip img{width:24px;height:24px;object-fit:contain;margin-block:-3px}
.at-defile-x{min-width:0}
[data-pop].case--g,[data-pop].at-cm__c--1{--pt:rotate(-1deg)}
[data-pop].case--d{--pt:rotate(.9deg)}

/* ---------- Console de recherche ---------- */
.at-console{display:grid;gap:14px;padding:clamp(14px,2.2vw,24px);margin-bottom:clamp(40px,5vw,64px);isolation:isolate;overflow:hidden}
.at-console::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,rgba(36,21,48,.09) 1.3px,transparent 1.7px);background-size:11px 11px;pointer-events:none}
.at-console__h{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.at-cherche{position:relative;flex:1 1 260px;min-width:0;display:block}
.at-cherche svg{position:absolute;left:14px;top:50%;width:22px;height:22px;translate:0 -50%;pointer-events:none;color:var(--fg)}
.at-cherche .input{padding-left:46px;font-size:1.04rem;text-overflow:ellipsis}
.at-compte{margin:0;font-family:var(--hand);font-weight:800;line-height:1;display:flex;align-items:baseline;gap:6px}
.at-compte b{font-family:var(--display);font-weight:400;font-size:2rem;color:var(--fg)}
.at-elium-b{display:inline-flex;align-items:center;gap:4px;padding:1px 14px 1px 4px;min-height:50px;background:var(--cyan);color:#241530;border:var(--stroke) solid #241530;border-radius:30px;font:800 .92rem/1.1 var(--hand);box-shadow:3px 3px 0 #241530;transition:transform .15s var(--ease)}
.at-elium-b:hover{transform:translate(-2px,-2px) rotate(-1.5deg)}
.at-console__l{display:flex;gap:10px;align-items:center;min-width:0}
.at-console__d{display:flex;flex-wrap:wrap;gap:14px 34px;min-width:0}
.at-console__raz{justify-self:start}
@media(max-width:760px){
  .at-console__l{flex-direction:column;align-items:flex-start;gap:6px}
  .at-defile-x{flex-wrap:nowrap;overflow-x:auto;width:calc(100% + 28px);margin-inline:-14px;padding:3px 14px 7px;scrollbar-width:none}
  .at-defile-x::-webkit-scrollbar{display:none}
  .at-defile-x .chip{flex:none}
}
/* Sur téléphone, Âge et Jour tiennent chacun sur une ligne : la console reste compacte. */
@media(max-width:480px){
  .at-cherche .input{font-size:.92rem;padding-right:8px}
  .at-console{gap:10px}
  .at-console__d{gap:10px}
  .at-console__d .at-console__l{width:100%}
  .at-console__d .chips{gap:6px}
  .at-console__d .chip{font-size:.8rem;padding:.34em .55em}
}

/* ---------- La planche des épisodes ---------- */
.at-planche{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(40px,4.4vw,60px) clamp(20px,2.4vw,32px);padding-top:18px}
.at-p{--sp:6;--rot:-.6deg;position:relative;grid-column:span var(--sp);min-width:0;container-type:inline-size;transform:rotate(var(--rot));transition:transform .25s var(--ease)}
.at-p:nth-child(3n+1){--rot:-.7deg}.at-p:nth-child(3n+2){--rot:.5deg}.at-p:nth-child(3n){--rot:-.3deg}
.at-p:hover,.at-p:focus-within{transform:rotate(0) translateY(-5px);z-index:6}
.at-p.is-repose,.at-case.is-repose{animation:at-repose .46s var(--ease) backwards;animation-delay:calc(var(--i,0)*45ms)}
@keyframes at-repose{from{opacity:0;transform:translateY(20px) scale(.94) rotate(calc(var(--rot) * 3))}}
.at-p__v{position:relative}
.at-p__a{position:absolute;inset:0;z-index:2;border-radius:var(--sketch)}
.at-p__cadre{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--c);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-l)}
.at-p:nth-child(even) .at-p__cadre{border-radius:var(--sketch-2)}
.at-p__cadre img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform .7s ease,filter .4s}
.at-p:hover .at-p__cadre img{transform:scale(1.06);filter:none}
.at-p__perso{position:absolute;right:3%;bottom:-2px;height:116%;width:auto;max-width:46%;object-fit:contain;object-position:bottom;z-index:1;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.45));transform-origin:50% 100%;transition:transform .3s var(--ease);pointer-events:none}
.at-p:hover .at-p__perso{transform:scale(1.06) rotate(-1.5deg)}
.at-p__bulle{position:absolute;left:10px;top:10px;z-index:3;max-width:58%;pointer-events:none}
.at-p__bulle .bulle{font-size:.82rem;line-height:1.2;padding:.5em .8em;transform-origin:80% 110%;transition:transform .25s var(--ease)}
.at-p:hover .at-p__bulle .bulle{transform:scale(1.08) rotate(-1.5deg)}
.at-p__o{position:absolute;left:clamp(6px,2cqw,18px);top:42%;z-index:3;font-size:clamp(1.5rem,7cqw,2.9rem);--r:-8deg;opacity:0;scale:.3;transition:opacity .15s,scale .28s var(--ease)}
.at-p:hover .at-p__o,.at-p:focus-within .at-p__o,.at-p.is-tire .at-p__o{opacity:1;scale:1}
@media(hover:none){.at-p__o{opacity:1;scale:1}}
.at-p__fav{position:absolute;top:-11px;right:-9px;z-index:4}
.at-p__x{position:relative;z-index:3;margin:-34px 12px 0;padding:22px 16px 12px;display:flex;flex-direction:column;gap:7px;background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow-s)}
.at-p:nth-child(even) .at-p__x{border-radius:var(--sketch)}
.at-p__x .at-n{position:absolute;top:-14px;left:14px;z-index:2}
.at-p__t{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.26rem,1.9vw,1.72rem);line-height:1.04;padding-top:.06em}
.at-p__t a{text-decoration:none;color:inherit}
.at-p__t a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.at-p__d{margin:0;font-size:.9rem;line-height:1.38;color:var(--fg-2)}
.at-p__trouve{margin:0;padding:.28em .7em;background:var(--yellow);color:#241530;border:2px solid #241530;border-radius:10px;font-weight:700;line-height:1.3}
.at-p__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;padding-top:7px;border-top:2.5px dashed rgba(36,21,48,.2)}
:root[data-theme=nuit] .at-p__foot{border-top-color:rgba(255,255,255,.2)}
.at-p__proch{position:relative;z-index:2;display:inline-flex;align-items:flex-start;gap:6px;min-width:0;font-family:var(--hand);font-weight:700;font-size:.8rem;line-height:1.2;text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;color:var(--fg)}
.at-p__proch svg{flex:none;width:16px;height:16px}
.at-p__proch:hover{color:var(--blue)}
:root[data-theme=nuit] .at-p__proch:hover{color:var(--cyan)}
.at-p__fl{flex:none;display:grid;place-items:center;width:32px;height:32px;background:var(--cl);color:#241530;border:2.5px solid #241530;border-radius:50%;transition:transform .2s var(--ease)}
.at-p__fl svg{width:16px;height:16px}
.at-p:hover .at-p__fl{transform:translateX(3px) rotate(-6deg)}
.at-p.is-tire .at-p__cadre{outline:6px solid var(--yellow);outline-offset:2px}
.at-p.is-choisi{z-index:7;animation:at-choisi .7s var(--ease)}
@keyframes at-choisi{30%{transform:scale(1.05) rotate(-1.4deg)}60%{transform:scale(.98) rotate(.7deg)}}
@container (min-width:560px){
  .at-p__cadre{aspect-ratio:16/8.6}
  .at-p__x{margin:-104px auto 0 18px;width:min(62%,420px)}
  .at-p__bulle{left:auto;right:42%;top:12px;max-width:40%}
  .at-p__o{top:12%;left:3%}
  .at-p__d{font-size:.92rem}
}
@media(max-width:1020px){
  .at-planche{grid-template-columns:repeat(2,minmax(0,1fr))}
  .at-p{grid-column:auto}
}
@media(max-width:640px){
  .at-planche{grid-template-columns:minmax(0,1fr);gap:36px}
  .at-p__cadre{aspect-ratio:16/8.8}
}
.at-vide{display:grid;justify-items:center;gap:10px}
.at-vide__p{height:150px;width:auto}

/* ---------- Comment ça marche ---------- */
.at-cm{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(26px,2.8vw,36px) clamp(18px,2.4vw,30px);padding-top:10px}
.at-cm__c{position:relative;min-width:0}
.at-cm__c>p{margin-top:8px}
.at-cm__c--1{grid-column:span 5}
.at-cm__c--2{grid-column:span 4;margin-top:24px}
.at-cm__c--3{grid-column:span 3;margin-top:-6px}
.at-cm__c--4{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(14px,2vw,28px);padding:clamp(22px,3vw,40px);overflow:visible;margin-top:4px}
.at-cm__n{position:absolute;left:-12px;top:-20px;z-index:2;width:56px;height:56px;display:grid;place-items:center;background:var(--orange);color:#241530;border:var(--stroke) solid #241530;border-radius:50%;font:400 1.6rem/1 var(--display);padding-top:.14em;transform:rotate(-8deg);box-shadow:3px 3px 0 #241530}
.at-cm__c--1 h3,.at-cm__c--2 h3,.at-cm__c--3 h3{padding-right:62px;padding-left:28px}
@media(min-width:1001px){.at-cm__c--3 h3{padding-right:18px;font-size:clamp(1.3rem,2.2vw,1.8rem)}.at-cm__c--3 .at-cm__s{width:clamp(60px,5.6vw,78px);top:-40px}}
.at-cm__s{position:absolute;right:-6px;top:-30px;width:clamp(68px,7.4vw,102px);height:auto;transform:rotate(9deg);filter:drop-shadow(2px 3px 0 rgba(36,21,48,.45))}
.at-cm__x{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.at-cm__x h3{padding-left:30px}
.at-cm__x p{margin:0}
.at-piliers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}
.at-pilier{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;background:#fff;color:#241530;border:var(--stroke) solid #241530;border-radius:18px;font:400 clamp(.84rem,1.2vw,1.02rem)/1.05 var(--display);text-transform:uppercase;transition:transform .15s var(--ease),background .15s;min-width:0}
.at-pilier img{width:clamp(38px,5vw,62px);height:clamp(38px,5vw,62px);object-fit:contain}
.at-pilier:hover{transform:translateY(-3px) rotate(-1.5deg)}
.at-pilier[aria-pressed=true]{background:var(--yellow);box-shadow:4px 4px 0 var(--orange)}
.at-cm__scene{position:relative;min-height:220px}
.at-cm__fam{position:absolute;right:0;bottom:calc(-1*clamp(22px,3vw,40px) - 3px);height:calc(100% + clamp(50px,6vw,90px));width:auto;max-width:78%;object-fit:contain;object-position:bottom;filter:drop-shadow(3px 3px 0 rgba(0,0,0,.45))}
.at-cm__bulle{position:absolute;left:-4%;top:-8px;z-index:3;max-width:64%}
.at-secret{position:absolute;left:44%;bottom:6px;width:34px;height:34px;z-index:3;opacity:.82}
@media(max-width:1000px){
  .at-cm__c--1,.at-cm__c--2{grid-column:span 6;margin-top:0}
  .at-cm__c--3{grid-column:1/-1;margin-top:0}
  .at-cm__c--4{grid-template-columns:minmax(0,1fr)}
  .at-cm__scene{min-height:clamp(240px,50vw,340px)}
  .at-cm__bulle{left:0;top:0}
  .at-cm__fam{height:100%;bottom:calc(-1*clamp(22px,3vw,40px) - 3px)}
}
@media(max-width:620px){
  .at-cm__c--1,.at-cm__c--2{grid-column:1/-1}
  .at-piliers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .at-pilier{flex-direction:row;justify-content:flex-start;gap:8px;padding:6px 10px}
  .at-pilier img{width:clamp(28px,9vw,36px);height:clamp(28px,9vw,36px)}
  .at-pilier{font-size:clamp(.7rem,3.6vw,.84rem);padding-inline:7px;gap:clamp(3px,1.6vw,8px)}
  /* La bulle passe au-dessus de la famille, sans cacher personne. */
  .at-cm__scene{display:flex;flex-direction:column;align-items:stretch;gap:20px;min-height:0}
  .at-cm__bulle{position:relative;left:auto;top:auto;max-width:none}
  .at-cm__bulle .bulle{max-width:none;width:100%}
  .at-cm__fam{position:relative;right:auto;bottom:auto;align-self:center;height:clamp(230px,66vw,290px);max-width:100%;margin-bottom:calc(-1*clamp(22px,3vw,40px) - 3px)}
}

/* ---------- Pass Atelier : le ticket d'or ---------- */
.at-pass-g{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(26px,5vw,70px);align-items:center}
.at-pass-v{position:relative;padding-block:30px}
.at-pass{--fond:var(--violet);--pt:rotate(-3deg);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;background:var(--yellow);color:#241530;border:var(--stroke) solid #241530;border-radius:20px;box-shadow:var(--shadow-l);transform:rotate(-3deg);isolation:isolate;overflow:hidden;overflow:clip;overflow-clip-margin:30px}
.at-pass::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-conic-gradient(from 0deg at 30% 120%,#FFD90F 0 8deg,#FFC800 8deg 16deg);border-radius:inherit}
.at-pass__m{display:flex;flex-direction:column;gap:6px;padding:clamp(16px,2.4vw,28px);min-width:0}
.at-pass__sur{font-family:var(--hand);font-weight:800;font-size:.86rem;line-height:1.1}
.at-pass__t{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,4.6vw,3.7rem);line-height:1;color:#fff;-webkit-text-stroke:.085em #241530;paint-order:stroke fill;text-shadow:.045em .065em 0 #241530;padding-top:.06em}
.at-pass__s{font-weight:700;font-size:.94rem;line-height:1.3}
.at-pass__l{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;line-height:1.2}
.at-pass__l svg{width:14px;height:14px;flex:none}
.at-pass__stub{position:relative;display:grid;place-items:center;align-content:center;gap:7px;padding:14px clamp(12px,1.6vw,20px);background:#fff;border-left:4px dashed #241530;text-align:center;transform-origin:0 100%;transition:transform .35s var(--ease);font-family:var(--hand);font-weight:800;font-size:.72rem;line-height:1.1}
.at-pass__stub::before,.at-pass__stub::after{content:"";position:absolute;left:-15px;width:26px;height:26px;background:var(--fond);border:var(--stroke) solid #241530;border-radius:50%}
.at-pass__stub::before{top:-17px}.at-pass__stub::after{bottom:-17px}
.at-pass__p{font:400 clamp(1.6rem,3vw,2.5rem)/1 var(--display);color:#241530}
.at-pass__code{display:block;width:clamp(58px,6vw,84px);height:42px;background:repeating-linear-gradient(90deg,#241530 0 3px,transparent 3px 5px,#241530 5px 6px,transparent 6px 10px,#241530 10px 14px,transparent 14px 16px)}
.at-pass:hover .at-pass__stub,.at-pass.is-detache .at-pass__stub{transform:rotate(7deg) translate(6px,3px)}
.at-pass-st{position:absolute;left:-14px;top:-8px;width:clamp(70px,9vw,120px);height:auto;transform:rotate(-14deg);filter:drop-shadow(2px 3px 0 rgba(0,0,0,.5))}
.at-pass-o{position:absolute;right:-8px;bottom:-6px;font-size:clamp(2rem,4.6vw,3.8rem);--r:-10deg}
.at-pass__a{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.at-pass__a .qty{--fg:#241530;color:#241530;background:#fff}
@media(max-width:900px){.at-pass-g{grid-template-columns:minmax(0,1fr)}.at-pass-v{order:-1}}
@media(max-width:480px){.at-pass-st{width:62px;left:-6px;top:-14px}}

/* ---------- Avis des ateliers ---------- */
.at-avis{columns:3 270px;column-gap:clamp(18px,2.4vw,30px);padding-top:6px}
.at-avis__c{--pt:rotate(var(--r));display:block;max-width:none;width:100%;margin:0 0 clamp(32px,3.4vw,44px);font-size:.97rem;font-weight:500;break-inside:avoid;transform:rotate(var(--r))}
.at-avis__c footer{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-family:var(--text);font-size:.8rem;font-weight:700}
.at-avis__chien{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;gap:0;break-inside:avoid;min-height:170px;margin-bottom:10px}
.at-avis__ci{height:170px;width:auto;object-fit:contain}
.at-avis__wouf{position:absolute;right:62px;top:4px}
.at-avis__wouf .bulle{font-size:.86rem;max-width:180px}
/* Sur téléphone, les avis se feuillettent comme une bande dessinée. */
@media(max-width:620px){
  .at-avis-t .tampon{--s:92px!important;margin-left:auto;margin-top:-6px}
  .at-avis{columns:auto;display:flex;align-items:flex-start;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(-1*var(--gut));padding:8px var(--gut) 30px;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .at-avis::-webkit-scrollbar{display:none}
  .at-avis__c{flex:0 0 min(82vw,320px);width:auto;margin:0;scroll-snap-align:start}
  .at-avis__chien{flex:0 0 min(74vw,290px);margin:0;scroll-snap-align:start}
  .at-avis+.center{margin-top:6px}
}

/* ---------- FAQ, suite ---------- */
.at-faq__t{position:sticky;top:110px}
.at-faq__p{height:clamp(130px,18vw,250px);width:auto;margin-top:20px;object-fit:contain}
@media(max-width:900px){.at-faq__t{position:static}.at-faq__p{display:none}}
.at-suite{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.at-suite__c{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--c);color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s);text-decoration:none;line-height:1.25;font-size:.84rem;transition:transform .15s var(--ease)}
.at-suite__c:nth-child(2){border-radius:var(--sketch-2)}
.at-suite__c:hover{transform:translate(-2px,-2px) rotate(-.6deg)}
.at-suite__c img{flex:none;width:52px;height:52px;object-fit:contain}
.at-suite__c b{display:block;font-family:var(--hand);font-weight:800;font-size:1.02rem}
.at-suite__c>svg{flex:none;width:20px;height:20px;margin-left:auto}
@media(max-width:860px){.at-suite{grid-template-columns:minmax(0,1fr)}}

/* ---------- Fiche de l'épisode ---------- */
.at-fiche-w{position:relative;z-index:6;margin-top:-22px}
.at-fiche{display:flex;align-items:stretch;justify-content:space-between;gap:0;margin-inline:clamp(0px,1.2vw,18px);background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow);transform:rotate(-.4deg)}
.at-fiche__i{flex:1 1 auto;display:flex;align-items:center;gap:8px;padding:10px clamp(8px,1vw,14px);min-width:0;font-size:.86rem;line-height:1.2;border-right:2.5px dashed rgba(36,21,48,.2)}
:root[data-theme=nuit] .at-fiche__i{border-right-color:rgba(255,255,255,.18)}
.at-fiche__i>svg{flex:none;width:26px;height:26px;padding:4px;background:var(--cl);color:#241530;border:2px solid #241530;border-radius:50%}
.at-fiche__i b{display:block;font-family:var(--hand);font-weight:800;font-size:.78rem;line-height:1.1}
.at-fiche__o{flex:none;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px}
.at-fiche__o .fav{width:36px;height:36px}
.at-fiche__o .fav svg{width:17px;height:17px}
/* Cinq repères et les boutons : six cases, une grille sans trou quelle que soit la largeur. */
@media(max-width:1199px){
  .at-fiche{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .at-fiche__i{border-right:0;border-bottom:2.5px dashed rgba(36,21,48,.2)}
  .at-fiche__i:nth-child(n+4){border-bottom:0}
}
@media(max-width:860px){
  .at-fiche-w{margin-top:-14px}
  .at-fiche{margin-inline:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .at-fiche__i{padding:8px 10px;gap:7px;font-size:.82rem}
  .at-fiche__i:nth-child(4){border-bottom:2.5px dashed rgba(36,21,48,.2)}
  .at-fiche__o{padding:6px}
}
:root[data-theme=nuit] .at-fiche__i{border-bottom-color:rgba(255,255,255,.18)}

/* ---------- Le programme, cases à retourner ---------- */
.at-prog-s{overflow:clip}
.at-deco{position:absolute;pointer-events:none;width:clamp(70px,10vw,150px);height:auto;filter:drop-shadow(2px 3px 0 rgba(36,21,48,.4))}
.at-deco--1{right:clamp(4px,3vw,50px);top:clamp(10px,3vw,40px);transform:rotate(10deg);animation:flotte 6s ease-in-out infinite}
.at-prog-t{display:flex;flex-wrap:wrap;gap:18px 36px;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(26px,3.4vw,44px)}
.at-prog-t>div:first-child{flex:1 1 420px;min-width:0;max-width:760px}
.at-score{flex:0 1 260px;display:grid;gap:5px;margin-right:clamp(0px,9vw,130px)}
.at-score__j{height:16px;background:var(--card);border:2.5px solid #241530;border-radius:12px;overflow:hidden}
.at-score__j i{display:block;height:100%;width:0;background:var(--c);transition:width .4s var(--ease)}
.at-score .lien{justify-self:start}
.at-prog-w{position:relative;padding-top:22px}
.at-prog-recit{position:absolute;left:clamp(6px,2vw,26px);top:0;z-index:3;font-size:.86rem;padding:.36em .8em;transform:rotate(-1.6deg)}
.at-prog-o{position:absolute;right:-6px;bottom:-30px;z-index:3;font-size:clamp(1.8rem,3.8vw,3.2rem);--r:-6deg}
.at-prog{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2vw,26px);align-items:stretch}
.at-case{--f:var(--card);--ft:var(--fg);--ft2:var(--fg-2);--b:var(--cl);--bt:#241530;grid-column:span var(--sp,4);display:block;width:100%;text-align:left;perspective:1400px;transform:rotate(var(--rot,0));transition:transform .2s var(--ease);min-width:0;color:inherit;font:inherit}
.at-case:hover{transform:rotate(0) translateY(-4px);z-index:2}
.at-case:focus-visible{outline-offset:6px}
.at-case--cl{--f:var(--cl);--ft:#241530;--ft2:#241530;--b:var(--yellow)}
.at-case--jaune{--f:var(--yellow);--ft:#241530;--ft2:#241530;--b:var(--cl)}
.at-case--encre{--f:#241530;--ft:#fff;--ft2:#E9DEFF;--b:var(--yellow)}
.at-case__in{display:grid;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,1.25,.5,1)}
.at-case[aria-pressed=true] .at-case__in{transform:rotateY(180deg)}
.at-case__f,.at-case__b{grid-area:1/1;display:flex;flex-direction:column;gap:8px;min-width:0;padding:clamp(14px,1.7vw,22px);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.at-case:nth-child(even) .at-case__f,.at-case:nth-child(even) .at-case__b{border-radius:var(--sketch-2)}
.at-case__f{background:var(--f);color:var(--ft)}
.at-case__b{background:var(--b);color:var(--bt);transform:rotateY(180deg);justify-content:center}
.at-case__h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:50px}
.at-case__n{font-family:var(--display);font-size:clamp(2rem,3.2vw,2.9rem);line-height:1;color:#fff;-webkit-text-stroke:.09em #241530;paint-order:stroke fill;text-shadow:.05em .07em 0 #241530}
.at-case__st{width:clamp(50px,5vw,70px);height:clamp(50px,5vw,70px);object-fit:contain;transform:rotate(7deg);margin:-6px -4px -6px 0}
.at-case__t{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.14rem,1.55vw,1.42rem);line-height:1.06;letter-spacing:.012em;padding-top:.04em}
.at-case__o{display:flex;flex-wrap:wrap;gap:4px}
.at-case__o .tag{font-size:.72rem;white-space:normal}
.at-case__q{flex:1;font-family:var(--hand);font-weight:700;font-size:.98rem;line-height:1.3;color:var(--ft2)}
.at-case__g{display:inline-flex;align-items:center;gap:5px;font-family:var(--hand);font-weight:800;font-size:.76rem;line-height:1;opacity:.82}
.at-case__g svg{width:14px;height:14px}
.at-case__b .onoma{font-size:clamp(1.4rem,2.2vw,1.9rem);align-self:flex-start}
.at-case__r{font-size:.93rem;line-height:1.4}
.at-case__r sub{font-size:.7em}
@media(max-width:1000px){
  .at-case{grid-column:span 6}
  .at-case:nth-child(3n+1){grid-column:1/-1}
  .at-score{margin-right:0}
}
@media(max-width:620px){
  .at-case,.at-case:nth-child(3n+1){grid-column:1/-1}
  /* Sur téléphone, le programme se feuillette : une bande de cases plutôt qu'une colonne sans fin. */
  .at-prog{display:flex;align-items:stretch;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(-1*var(--gut));padding:10px var(--gut) 24px;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .at-prog::-webkit-scrollbar{display:none}
  .at-case,.at-case:nth-child(3n+1){flex:0 0 min(80vw,310px);scroll-snap-align:start}
  .at-case__r{font-size:.88rem;line-height:1.36}
  .at-prog-w{padding-top:18px}
  .at-prog-o{bottom:-14px;right:0}
}

/* ---------- L'expérience phare ---------- */
.at-phare{background:var(--c);color:var(--c-txt);--fg:var(--c-txt);--fg-2:var(--c-txt);padding-bottom:clamp(90px,10vw,140px)}
.at-phare::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,rgba(36,21,48,.2) 1.5px,transparent 1.9px);background-size:12px 12px}
.at-phare__g{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,3vw,40px);align-items:stretch}
.at-phare--inv .at-phare__g{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.at-phare--inv .at-phare__t{order:2}
.at-phare__t{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.at-phare__t .sur{margin-bottom:0}
.at-phare__r{max-width:46ch;font-weight:400;font-size:.97rem}
.at-phare__sc{position:relative;flex:1;width:100%;display:flex;align-items:flex-end;min-height:clamp(240px,27vw,410px);margin-bottom:calc(-1*clamp(90px,10vw,140px) + 8px)}
.at-phare__p{position:relative;z-index:1;height:clamp(250px,30vw,450px);width:auto;max-width:min(66%,300px);object-fit:contain;object-position:bottom;filter:drop-shadow(4px 4px 0 rgba(36,21,48,.5));margin-left:clamp(0px,4vw,60px)}
.at-phare--inv .at-phare__sc{justify-content:flex-end}
.at-phare--inv .at-phare__p{margin-left:0;margin-right:clamp(0px,4vw,60px);transform:scaleX(-1)}
.at-phare__b{position:absolute;left:0;top:0;z-index:2;max-width:min(84%,300px)}
.at-phare--inv .at-phare__b{left:auto;right:0}
.at-phare__jeu{position:relative;z-index:2;min-width:0}
.at-phare__o{position:absolute;right:-10px;top:clamp(-58px,-3.8vw,-34px);z-index:4;font-size:clamp(2rem,4.3vw,3.7rem);--r:6deg;pointer-events:none}
.at-phare--inv .at-phare__o{right:auto;left:-10px;--r:-6deg}
.at-phare__eu{--pt:rotate(.9deg);position:relative;z-index:3;margin:-14px 7% 0 12%;color:#241530;--fg:#241530;--fg-2:#241530}
.at-phare .at-phare__o{--oc:var(--yellow)}
.at-phare__jeu .at-j{padding-bottom:calc(clamp(10px,1.5vw,18px) + 16px)}
/* Le personnage répond à la bulle, sans passer dessous : il occupe la hauteur disponible, côté opposé à la bulle. */
@media(min-width:901px){
  .at-phare__sc{display:block;min-height:clamp(280px,27vw,410px)}
  .at-phare__p,.at-phare--inv .at-phare__p{position:absolute;bottom:0;height:100%;max-height:clamp(280px,31vw,470px);max-width:min(58%,280px);margin:0}
  .at-phare__p{right:clamp(0px,1.4vw,20px)}
  .at-phare--inv .at-phare__p{right:auto;left:clamp(0px,1.4vw,20px)}
  .at-phare__p[src*=eliot]{max-width:min(54%,260px)}
  /* Eduard porte « E=MC² » au-dessus de la tête : pas de miroir, sinon la formule se lit à l'envers. */
  .at-phare--inv .at-phare__p[src*=eduard]{transform:none}
  .at-phare__b{max-width:min(60%,270px)}
}
@media(max-width:900px){
  .at-phare,.at-phare--inv{padding-bottom:var(--sec)}
  .at-phare__g,.at-phare--inv .at-phare__g{grid-template-columns:minmax(0,1fr)}
  .at-phare--inv .at-phare__t{order:0}
  .at-phare__sc{min-height:0;margin-bottom:-10px;align-items:flex-end;justify-content:flex-end}
  .at-phare--inv .at-phare__sc{justify-content:flex-end}
  .at-phare__p,.at-phare--inv .at-phare__p{height:clamp(190px,50vw,280px);margin:0 8px 0 0;max-width:44%;transform:none}
  .at-phare__b,.at-phare--inv .at-phare__b{left:0;right:auto;top:6px;max-width:58%}
  .at-phare__eu{margin:-10px 4px 0}
  .at-phare__o,.at-phare--inv .at-phare__o{left:auto;right:-4px;top:-26px}
  /* La bulle est à gauche, le personnage à droite : sa pointe se tourne toujours vers lui. */
  .at-phare--inv .at-phare__b .bulle--g::before{left:auto;right:15%;border:10px solid transparent;border-top:12px solid #241530;border-right:16px solid #241530;border-bottom:0;border-left:6px solid transparent}
  .at-phare--inv .at-phare__b .bulle--g::after{left:auto;right:calc(15% + 4px);border:7px solid transparent;border-top:9px solid #fff;border-right:11px solid #fff;border-bottom:0;border-left:4px solid transparent}
}

/* ---------- Jouets : socle commun ---------- */
.at-j{position:relative;display:grid;gap:12px;padding:clamp(10px,1.5vw,18px);background:#fff;color:#241530;--fg:#241530;--fg-2:#3c2d4b;--card:#fff;--field:#fff;border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow-l);min-width:0}
@media(max-width:600px){.at-j{padding:14px 12px}.at-phare__jeu .at-j{padding-bottom:30px}}
.at-j__o{justify-content:center}
.at-j p,.at-j legend{color:#241530}
.at-j .chip{background:#fff;color:#241530}
.at-j .chip[aria-pressed=true]{background:var(--c);color:var(--c-txt)}
@keyframes at-sh{0%,100%{transform:translate(0,0)}20%{transform:translate(-5px,2px) rotate(-.4deg)}40%{transform:translate(5px,-3px) rotate(.4deg)}60%{transform:translate(-4px,-2px)}80%{transform:translate(4px,2px)}}

/* Réflexes */
.at-rf{display:grid;place-content:center;gap:6px;width:100%;min-height:clamp(210px,26vw,330px);padding:16px;text-align:center;background:var(--cyan);color:#241530;border:var(--stroke) solid #241530;border-radius:18px;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.at-rf__t{font:400 clamp(2.3rem,6.4vw,4.4rem)/1 var(--display);text-transform:uppercase;color:#fff;-webkit-text-stroke:.085em #241530;paint-order:stroke fill;text-shadow:.045em .065em 0 #241530}
.at-rf__s{font-family:var(--hand);font-weight:700;line-height:1.25;max-width:36ch;margin-inline:auto}
.at-rf[data-etat=attente]{background:#FF5A4F}
.at-rf[data-etat=go]{background:#6FDB7A}
.at-rf[data-etat=trop]{background:var(--orange)}
.at-rf[data-etat=res]{background:var(--yellow)}
.at-rf__ch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.at-rf__ch li{position:relative;padding:.3em .2em;text-align:center;background:#fff;border:2.5px solid #241530;border-radius:12px;font:800 .84rem/1.1 var(--hand);transition:background .1s}
.at-rf__ch li+li::before{content:"";position:absolute;left:-16px;top:50%;width:12px;border-top:3px solid #241530}
.at-rf__ch li.is-on{background:var(--yellow)}
.at-rf__r{display:grid;gap:6px}
.at-rf__b{display:flex;align-items:flex-end;gap:5px;height:48px}
.at-rf__b:empty{display:none}
@media(max-width:520px){
  .at-rf__ch{gap:12px}
  .at-rf__ch li{padding-inline:0;font-size:.76rem}
  .at-rf__ch li+li::before{left:-11px;width:8px}
}
.at-rf__b i{flex:1;min-width:0;background:var(--c,var(--cyan));border:2px solid #241530;border-radius:4px 4px 0 0;position:relative;transition:height .3s var(--ease)}

/* Projecteurs */
.at-proj{position:relative;aspect-ratio:16/10.4;background:#0b0714;border:var(--stroke) solid #241530;border-radius:18px;overflow:hidden;isolation:isolate;touch-action:pan-y}
.at-proj.is-anim .at-proj__s{transition:left .45s var(--ease),top .45s var(--ease)}
.at-proj__s{position:absolute;width:46%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle closest-side,var(--spot) 0 90%,transparent 100%);mix-blend-mode:screen;cursor:grab;touch-action:none}
.at-proj__s::after{content:"";position:absolute;inset:42%;border:2px dashed rgba(255,255,255,.75);border-radius:50%}
.at-proj__s:active{cursor:grabbing}
.at-proj__s:focus-visible{outline:3px dashed #fff;outline-offset:-10px}
.at-proj__res{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;min-height:30px;font-family:var(--hand);font-weight:800;line-height:1.2}
.at-proj__e{display:inline-flex;align-items:center;gap:6px}
.at-proj__e i{flex:none;width:20px;height:20px;border-radius:50%;border:2.5px solid #241530}

/* Sismographe */
.at-si__coupe{border:var(--stroke) solid #241530;border-radius:16px;overflow:hidden;line-height:0}
.at-si__coupe svg{width:100%;height:clamp(104px,13vw,160px)}
.at-si__mai{transform-box:fill-box;transform-origin:50% 100%}
.at-si__onde{opacity:0;transform-box:fill-box;transform-origin:center}
.at-si__foyer{opacity:.25}
.at-si__coupe.is-tremble .at-si__foyer{opacity:1}
.at-si__coupe.is-tremble .at-si__onde{animation:at-onde .9s ease-out 2}
.at-si__coupe.is-tremble .at-si__onde--2{animation-delay:.25s}
.at-si__coupe.is-tremble .at-si__g{animation:at-si-g calc(var(--tr,1)*.34s) linear 4}
.at-si__coupe.is-tremble .at-si__d{animation:at-si-d calc(var(--tr,1)*.3s) linear 4}
@keyframes at-onde{from{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(calc(var(--am,4)*2))}}
@keyframes at-si-g{25%{transform:translate(calc(var(--am,3)*-1px),calc(var(--am,3)*.4px))}75%{transform:translate(calc(var(--am,3)*1px),calc(var(--am,3)*-.3px))}}
@keyframes at-si-d{25%{transform:translate(calc(var(--am,3)*1px),calc(var(--am,3)*-.5px))}75%{transform:translate(calc(var(--am,3)*-1px),calc(var(--am,3)*.3px))}}
.at-si__ecran{position:relative;background:#FFFBEF;border:var(--stroke) solid #241530;border-radius:16px;overflow:hidden}
.at-si__ecran canvas{display:block;width:100%;height:auto;aspect-ratio:760/200}
.at-si__l{position:absolute;left:10px;top:7px;padding:.1em .6em;background:rgba(255,255,255,.88);border-radius:8px;font:800 .84rem/1.3 var(--hand)}
.at-j--sismo.is-fort{animation:at-sh .45s linear 3}

/* Chou rouge */
.at-ch{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(10px,2vw,24px);align-items:center}
.at-ch__fl{position:relative;--liq:#6C3FB0;--gt:#fff;--ph:7}
.at-ch__fl svg{width:100%;max-height:340px;overflow:visible}
.at-ch__liq{fill:var(--liq);transition:fill .7s ease}
.at-ch__gt{fill:var(--gt);stroke:#241530;stroke-width:3;opacity:0}
.at-ch__fl.is-goutte .at-ch__gt{animation:at-gt .46s ease-in}
@keyframes at-gt{0%{opacity:1;transform:translateY(0)}95%{opacity:1;transform:translateY(160px)}100%{opacity:0;transform:translateY(170px)}}
.at-ch__bu circle{fill:rgba(255,255,255,.65);stroke:#241530;stroke-width:2;opacity:0}
.at-ch__fl.is-mousse .at-ch__bu circle{animation:at-bu 1.1s ease-out 2}
.at-ch__bu circle:nth-child(2){animation-delay:.14s!important}.at-ch__bu circle:nth-child(3){animation-delay:.3s!important}.at-ch__bu circle:nth-child(4){animation-delay:.45s!important}.at-ch__bu circle:nth-child(5){animation-delay:.6s!important}
@keyframes at-bu{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(-110px)}}
.at-ch__o{position:absolute;left:50%;top:6%;translate:-50% 0;font-size:clamp(1.5rem,3.4vw,2.6rem);opacity:0;scale:.3;white-space:nowrap}
.at-ch__fl.is-o .at-ch__o{animation:at-o-pop .9s var(--ease) both}
@keyframes at-o-pop{0%{opacity:0;scale:.3}25%{opacity:1;scale:1.15}40%{scale:1}80%{opacity:1;scale:1}100%{opacity:0;scale:1.05}}
.at-ch__p{display:grid;gap:9px;min-width:0}
.at-ch__res{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;font-family:var(--hand);font-weight:700;line-height:1.2}
.at-ch__res b{font:400 clamp(1.3rem,2.4vw,1.9rem)/1 var(--display);text-transform:uppercase}
.at-ch__j{position:relative;height:22px;background:linear-gradient(90deg,#D6123F 0,#E22A7E 21%,#B53AA6 36%,#6C3FB0 50%,#2F6BDD 61%,#139EA6 71%,#39B54A 86%,#C9C62B 100%);border:2.5px solid #241530;border-radius:20px}
.at-ch__j i{position:absolute;top:-7px;bottom:-7px;width:9px;left:calc(var(--ph,7)/14*100%);translate:-50% 0;background:#fff;border:2.5px solid #241530;border-radius:6px;transition:left .6s var(--ease)}
.at-ch__eg{display:flex;justify-content:space-between;font:800 .76rem/1 var(--hand)}
.at-ch__i{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.at-ch__b{display:flex;align-items:center;gap:7px;min-width:0;padding:.42em .6em;text-align:left;background:#fff;border:2.5px solid #241530;border-radius:12px;font:800 .84rem/1.1 var(--hand);transition:transform .14s var(--ease),background .14s;color:#241530}
.at-ch__b:last-child{grid-column:1/-1}
@media(max-width:360px){.at-ch__b{font-size:.74rem;padding-inline:.45em;gap:5px}}
.at-ch__b:hover{transform:translateY(-2px) rotate(-1deg);background:var(--ing)}
.at-ch__b i{flex:none;width:17px;height:17px;background:var(--ing);border:2.5px solid #241530;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.at-ch .lien{justify-self:start}
@media(max-width:520px){.at-ch{grid-template-columns:minmax(0,1fr)}.at-ch__fl svg{max-height:210px;margin-inline:auto}}

/* Orgue à parfums */
.at-or{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(10px,2vw,24px);align-items:center}
.at-or__r{display:grid;gap:10px;min-width:0}
.at-or__f{border:0;margin:0;padding:0;min-width:0}
.at-or__f legend{padding:0;margin-bottom:5px;font-family:var(--hand);line-height:1.2}
.at-or__f legend b{font-weight:800}
.at-or__n{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.at-or__b{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 3px 6px;background:#FFF7E3;border:2.5px solid #241530;border-radius:12px 12px 6px 6px;font:800 .8rem/1.1 var(--hand);text-align:center;cursor:pointer;transition:transform .14s var(--ease),background .15s;min-width:0}
.at-or__b input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.at-or__b i{display:block;width:20px;height:30px;background:var(--note);border:2.5px solid #241530;border-radius:4px 4px 7px 7px;position:relative;margin-top:7px}
.at-or__b i::before{content:"";position:absolute;left:50%;top:-10px;translate:-50% 0;width:8px;height:8px;background:#fff;border:2.5px solid #241530;border-radius:2px}
.at-or__b:hover{transform:translateY(-3px)}
.at-or__b:has(input:checked){background:var(--note);box-shadow:3px 3px 0 #241530;transform:translateY(-3px) rotate(-1.5deg)}
.at-or__b:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}
.at-or__fl{display:grid;justify-items:center;gap:8px;min-width:0}
.at-or__fl>svg{width:min(100%,190px);overflow:visible}
.at-or__c{fill:#F4EEDF;transition:fill .4s}
.at-or__nom{display:grid;text-align:center;font-family:var(--hand);font-weight:700;line-height:1.15;min-height:3em}
.at-or__nom b{font:400 clamp(1rem,1.7vw,1.3rem)/1.1 var(--display);text-transform:uppercase;margin-top:3px}
.at-or__fl .btn[disabled]{filter:grayscale(.8);opacity:.55;pointer-events:none}
.at-or__t{display:grid;gap:6px;padding-top:8px;border-top:3px dashed rgba(36,21,48,.25)}
.at-or__l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.at-or__l>span{display:grid;gap:3px;font-family:var(--hand);font-size:.78rem;line-height:1.15;min-width:0}
.at-or__l b{font-weight:800}
.at-or__l i{position:relative;display:block;height:30px;padding:.2em .4em;background:var(--note,#eee);border:2.5px solid #241530;border-radius:9px;font:800 .78rem/1.5 var(--hand);font-style:normal;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform-origin:0 50%}
.at-or__t.is-vap [data-or-e=tete] i{animation:at-evap 2.6s ease-in .4s forwards}
.at-or__t.is-vap [data-or-e=coeur] i{animation:at-evap 4.8s ease-in 1.8s forwards}
.at-or__t.is-vap [data-or-e=fond] i{animation:at-evap 9s ease-in 4s forwards}
@keyframes at-evap{to{opacity:.18;filter:saturate(.2)}}
.at-j--orgue .at-or__fl.is-spray svg{animation:at-sh .35s linear 2}
@media(max-width:560px){.at-or{grid-template-columns:minmax(0,1fr)}.at-or__fl>svg{width:130px}.at-or__b{font-size:.72rem;letter-spacing:-.02em}}

/* Lampe UV */
.at-uv{position:relative;aspect-ratio:16/9.6;--x:32%;--y:42%;--r:clamp(62px,11vw,108px);background:#F4EAD2;border:var(--stroke) solid #241530;border-radius:16px;overflow:hidden;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}
.at-uv__jour{position:absolute;inset:0;padding:clamp(12px,3vw,30px);color:#241530;background-image:repeating-linear-gradient(transparent 0 calc(1.5rem + 8px),rgba(36,21,48,.12) calc(1.5rem + 8px) calc(1.5rem + 10px))}
.at-uv__ecrit{margin:0;font:700 clamp(1rem,2.3vw,1.7rem)/calc(1.5rem + 10px) var(--hand)}
.at-uv__ecrit i{font-weight:400}
.at-uv__nuit{position:absolute;inset:0;padding:clamp(12px,3vw,30px);background:#1B0B46;color:#B6FF5C;-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 76%,transparent 100%);mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 76%,transparent 100%)}
.at-uv__fluo{margin:0;color:#B6FF5C!important;font:800 clamp(1rem,2.3vw,1.7rem)/calc(1.5rem + 10px) var(--hand);text-shadow:0 0 10px #8CFF3F}
.at-uv__tr{position:absolute;right:7%;bottom:6%;width:21%;max-width:120px;color:#7DF9FF;filter:drop-shadow(0 0 7px #7DF9FF)}
.at-emp{display:block;width:100%;height:auto}
.at-uv__lampe{position:absolute;left:var(--x);top:var(--y);width:calc(var(--r)*2);aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:3px solid #B57BFF;box-shadow:0 0 26px 5px rgba(181,123,255,.75),inset 0 0 24px rgba(181,123,255,.35);pointer-events:none}
.at-uv.is-tout .at-uv__nuit{-webkit-mask-image:none;mask-image:none}
.at-uv.is-tout .at-uv__lampe,.at-uv.is-touche .at-uv__aide{display:none}
.at-uv__aide{position:absolute;left:50%;bottom:8px;translate:-50% 0;padding:.2em .7em;background:#fff;color:#241530;border:2px solid #241530;border-radius:20px;font:800 .78rem/1.3 var(--hand);width:max-content;max-width:calc(100% - 16px);text-align:center;pointer-events:none}
.at-uv__sus{display:grid;gap:8px}
.at-uv__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.at-uv__s{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"p e" "p n" "p t";align-items:center;gap:0 7px;padding:6px 8px;background:#FFF7E3;border:2.5px solid #241530;border-radius:14px;text-align:left;line-height:1.15;min-width:0;transition:transform .14s var(--ease),background .15s;color:#241530}
.at-uv__s:hover{transform:translateY(-3px)}
.at-uv__s img{grid-area:p;width:clamp(32px,4.6vw,56px);height:clamp(60px,8vw,96px);object-fit:contain;object-position:bottom}
.at-uv__ep{grid-area:e;display:block;width:clamp(28px,3.4vw,42px)}
.at-uv__s b{grid-area:n;font-family:var(--hand);font-weight:800;font-size:.9rem}
.at-uv__s .small{grid-area:t;font-size:.72rem}
.at-uv__s.is-non{animation:at-sh .35s linear;background:#FFC7C2}
.at-uv__s.is-oui{background:#6FDB7A;box-shadow:3px 3px 0 #241530}
.at-uv__sus .lien{justify-self:start}
@media(max-width:520px){.at-uv{aspect-ratio:4/3.3}.at-uv__s{grid-template-columns:minmax(0,1fr);grid-template-areas:"p" "e" "n" "t";justify-items:center;text-align:center;padding:6px 4px}.at-uv__s img{width:auto;height:64px}}

/* Machine à perles */
.at-pe{position:relative;border:var(--stroke) solid #241530;border-radius:16px;overflow:hidden;background:#EAF8FD;touch-action:manipulation;line-height:0}
.at-pe canvas{display:block;width:100%;height:auto;aspect-ratio:760/440;cursor:pointer}
.at-pe__n{position:absolute;right:10px;top:8px;padding:.2em .7em;background:#fff;color:#241530;border:2.5px solid #241530;border-radius:12px;font:800 .9rem/1.3 var(--hand);pointer-events:none}
.at-pe__n b{font:400 1.2rem/1 var(--display)}
.at-pe__o{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
@media(max-width:480px){
  .at-pe__o .chips{gap:5px}
  .at-pe__o .chip{font-size:.8rem;padding:.32em .62em}
  .at-pe__o .cluster{--g:7px}
  .at-pe__o .btn{font-size:.76rem;padding-inline:.65em}
}

/* Village */
.at-vi{border:var(--stroke) solid #241530;border-radius:16px;overflow:hidden;line-height:0}
.at-vi svg{display:block;width:100%;height:auto;aspect-ratio:600/300}
.at-vi__ciel{fill:var(--ciel,#BEEEFB);transition:fill .5s}
.at-vi__f{fill:#463a55;stroke:#241530;stroke-width:2.500;transition:fill .25s}
.at-vi__f.is-on{fill:#FFD90F}
.at-vi__p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;align-items:center}
.at-vi__r{display:grid;gap:4px;min-width:0;line-height:1.2}
.at-range{appearance:none;-webkit-appearance:none;width:100%;height:30px;background:transparent;cursor:pointer}
.at-range::-webkit-slider-runnable-track{height:14px;background:linear-gradient(90deg,var(--cyan),var(--yellow));border:2.5px solid #241530;border-radius:12px}
.at-range::-moz-range-track{height:10px;background:linear-gradient(90deg,var(--cyan),var(--yellow));border:2.5px solid #241530;border-radius:12px}
.at-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-9px;background:var(--orange);border:3px solid #241530;border-radius:50%;box-shadow:2px 2px 0 #241530}
.at-range::-moz-range-thumb{width:22px;height:22px;background:var(--orange);border:3px solid #241530;border-radius:50%}
.at-range:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:12px}
.at-vi__bat{display:grid;gap:4px;line-height:1.2;min-width:0}
.at-vi__bj{position:relative;height:24px;background:#fff;border:2.5px solid #241530;border-radius:7px;overflow:visible}
.at-vi__bj::after{content:"";position:absolute;right:-8px;top:5px;width:5px;height:10px;background:#241530;border-radius:0 3px 3px 0}
.at-vi__bj i{display:block;height:100%;width:0;background:#6FDB7A;border-radius:4px;transition:width .4s}
.at-vi__m{grid-column:1/-1;font-family:var(--hand);font-weight:800;line-height:1.25;text-align:center;min-height:2.5em}
@media(max-width:560px){.at-vi__p{grid-template-columns:minmax(0,1fr)}}

/* Programme Elium */
.at-co{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(10px,1.8vw,22px);align-items:start}
.at-co__g{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));aspect-ratio:1;background:#EAF8FD;border:var(--stroke) solid #241530;border-radius:14px;overflow:hidden}
.at-co__c{position:relative;border:1.5px dashed rgba(36,21,48,.2)}
.at-co__c.is-mur{background:#241530 radial-gradient(circle at 30% 30%,#463a55 0 18%,transparent 20%)}
.at-co__c.is-but{background:var(--yellow);display:grid;place-items:center}
.at-co__c.is-but img{width:82%;height:82%;object-fit:contain}
.at-co__c.is-but::after{content:"";position:absolute;inset:18%;border:3px dashed #241530;border-radius:50%}
.at-co__r{position:absolute;left:0;top:0;width:20%;height:20%;display:grid;place-items:center;transition:transform .36s cubic-bezier(.4,1.3,.6,1);z-index:2}
.at-co__r .elium{--w:92%;width:92%}
.at-co__fl{position:absolute;right:6%;top:6%;width:30%;height:30%;background:var(--orange);border:2px solid #241530;border-radius:50%;display:grid;place-items:center;transition:transform .3s var(--ease)}
.at-co__fl svg{width:80%;height:80%;fill:none;stroke:#241530;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.at-co__r.is-bonk{animation:at-sh .3s linear 2}
.at-co__p{display:grid;gap:9px;min-width:0}
.at-co__t{justify-content:space-between;line-height:1.2;--g:2px 10px}
.at-co__prog{display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;min-height:78px;max-height:132px;overflow:auto;padding:7px;background:#FFF7E3;border:2.5px dashed #241530;border-radius:12px}
.at-co__i{display:inline-grid;place-items:center;width:36px;height:30px;background:#fff;border:2px solid #241530;border-radius:8px;transition:background .1s,transform .14s var(--ease)}
.at-co__i svg{width:18px;height:18px;fill:none;stroke:#241530;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.at-co__i.is-on{background:var(--yellow);transform:translateY(-2px) scale(1.1)}
.at-co__i.is-err{background:#FF8A80}
.at-co__vide{align-self:center;font:700 .84rem/1.2 var(--hand);opacity:.7}
.at-co__b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.at-co__cmd{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:6px 3px;background:var(--cyan-1,#8FE3F8);color:#241530;border:2.5px solid #241530;border-radius:12px;font:800 .78rem/1.05 var(--hand);text-align:center;transition:transform .12s var(--ease)}
.at-co__cmd:hover{transform:translateY(-2px) rotate(-1.5deg)}
.at-co__cmd:active{transform:translateY(1px)}
.at-co__cmd svg{width:26px;height:26px;fill:none;stroke:#241530;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.at-co__o{--g:6px}
.at-co__msg{font-family:var(--hand);font-weight:700;line-height:1.25;min-height:2.5em}
@media(max-width:600px){.at-co{grid-template-columns:minmax(0,1fr)}.at-co__g{max-width:320px;margin-inline:auto;width:100%}}

/* ---------- Dans le cartable, les âges ---------- */
.at-sac{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(26px,4vw,60px);align-items:start}
.at-carnet{--pt:rotate(-.6deg);position:relative;padding:clamp(20px,2.8vw,34px) clamp(16px,2.8vw,34px) clamp(20px,2.8vw,34px) clamp(46px,5vw,66px);background-color:var(--paper);background-image:repeating-linear-gradient(transparent 0 30px,rgba(10,118,176,.14) 30px 32px);border:var(--stroke) solid #241530;border-radius:12px 24px 24px 12px;box-shadow:var(--shadow-l);transform:rotate(-.6deg)}
.at-carnet__sp{position:absolute;left:12px;top:14px;bottom:14px;width:22px;background:radial-gradient(circle,#241530 0 5px,transparent 5.5px) 50% 0/22px 30px repeat-y}
.at-carnet__sp::after{content:"";position:absolute;left:100%;top:-14px;bottom:-14px;margin-left:8px;border-left:2.5px solid rgba(227,52,47,.45)}
.at-carnet__l{list-style:none;padding:0;margin:16px 0;display:grid;gap:14px}
.at-carnet__l li{display:grid;gap:2px}
.at-carnet__l b{font-family:var(--hand);font-weight:800;font-size:.9rem;line-height:1.2;color:var(--fg-2)}
.at-carnet__l span{line-height:1.4}
.at-carnet__q{font:700 clamp(1.06rem,1.6vw,1.26rem)/1.3 var(--hand)}
.at-carnet__st{position:absolute;right:-12px;top:-26px;width:clamp(72px,8vw,112px);height:auto;transform:rotate(10deg);filter:drop-shadow(2px 3px 0 rgba(36,21,48,.45))}
.at-ages{display:grid;gap:12px;min-width:0}
.at-ages .sur{justify-self:start;margin-bottom:0}
.at-ages__r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(6px,1vw,12px);height:clamp(160px,17vw,210px);margin-top:4px}
.at-age{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--h);min-width:0;padding:6px 4px;background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:14px 14px 4px 4px;text-align:center;line-height:1.1;transition:transform .15s var(--ease),background .15s;font:inherit}
.at-age b{font:400 clamp(1rem,1.7vw,1.36rem)/1 var(--display)}
.at-age .small{font-size:.74rem;max-width:100%}
@media(max-width:480px){.at-age{padding-inline:2px}.at-age .small{font-size:min(.66rem,2.9vw);letter-spacing:-.01em}}
.at-age:hover{transform:translateY(-3px)}
.at-age[aria-pressed=true]{background:var(--c);color:var(--c-txt);box-shadow:4px 4px 0 #241530}
.at-ages__x{background:var(--paper)}
.at-ages__x b{font-size:1.08rem}
@media(max-width:900px){.at-sac{grid-template-columns:minmax(0,1fr)}}

/* ---------- Séances d'un thème ---------- */
.at-seance{width:100%;text-align:left;cursor:pointer;font:inherit}
.at-seance:focus-visible{outline-offset:2px}
@media(max-width:560px){
  /* Toutes les séances d'un thème portent le même titre : sur téléphone, la date, l'heure et les places suffisent à l'œil. */
  .at-seance{position:relative;gap:2px 12px;padding:9px 12px;align-items:center}
  .at-seance .seance__d{grid-row:1/span 2;width:56px;height:56px}
  .at-seance b.t{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .at-seance .small{font-size:.92rem;font-weight:700;line-height:1.25}
  .at-seance>span:nth-child(2){align-self:end}
  .at-seance>:last-child{grid-column:2;align-self:start}
  [data-at-sea-f]{gap:5px}
  [data-at-sea-f] .chip{font-size:.78rem;padding:.32em .5em}
}
.at-sea-a{position:sticky;top:112px;--fond:var(--paper)}
.at-sea-a .at-pass{--fond:var(--paper);--pt:rotate(-1.6deg);transform:rotate(-1.6deg)}
.at-sea-a .at-pass__t{font-size:clamp(1.7rem,2.5vw,2.3rem)}
.at-sea-a .note svg{width:18px;height:18px;display:inline;vertical-align:-3px}
.at-sea-a .btn--lg{font-size:1.02rem;padding:.6em .9em .46em;min-height:52px}
@media(max-width:900px){.at-sea-a{position:static}}

/* ---------- Autres thèmes ---------- */
.at-fl{background:var(--yellow);color:#241530;border-color:#241530}
.at-aut{--w:min(250px,72%);padding-top:14px}
.at-mini{display:flex;flex-direction:column;background:var(--c);color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:5px 5px 0 #000;text-decoration:none;transition:transform .18s var(--ease)}
.at-mini:nth-child(even){border-radius:var(--sketch-2);transform:rotate(.8deg)}
.at-mini:nth-child(odd){transform:rotate(-.8deg)}
.at-mini:hover{transform:translateY(-5px) rotate(-1.2deg)}
.at-mini__v{position:relative;display:block;aspect-ratio:16/10;background:var(--c);border-bottom:var(--stroke) solid #241530;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
.at-mini__v>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.at-mini__s{position:absolute;right:-4px;bottom:-22px;width:64px;height:64px;object-fit:contain;filter:drop-shadow(2px 2px 0 rgba(36,21,48,.5))}
.at-mini__x{display:block;padding:8px 14px 12px;line-height:1.1}
.at-mini__x small{display:block;font:800 .76rem/1.2 var(--hand)}
.at-mini__x b{display:block;font:400 1.08rem/1.08 var(--display);text-transform:uppercase;margin-top:2px;padding-right:44px}

.at-ep-nav{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:clamp(14px,2vw,24px)}
.at-ep-nav__a{display:inline-flex;align-items:center;gap:10px;flex:1 1 260px;max-width:420px;padding:9px 16px;background:var(--c);color:#241530;border:var(--stroke) solid #000;border-radius:var(--sketch);box-shadow:4px 4px 0 #000;text-decoration:none;line-height:1.1;transition:transform .15s var(--ease)}
.at-ep-nav__a:hover{transform:translate(-2px,-2px) rotate(-.6deg)}
.at-ep-nav__a svg{flex:none;width:24px;height:24px}
.at-ep-nav__a small{display:block;font:800 .76rem/1.2 var(--hand)}
.at-ep-nav__a b{display:block;font:400 1.1rem/1.08 var(--display);text-transform:uppercase;margin-top:2px}
.at-ep-nav__a--s{justify-content:flex-end;text-align:right;margin-left:auto}

/* ---------- Fin de page ---------- */
.at-fin{padding-block:clamp(60px,7vw,100px) 0;overflow:hidden}
.at-fin__g{display:flex;align-items:flex-end;justify-content:center;gap:clamp(4px,3vw,40px)}
.at-fin__p{flex:none;height:clamp(230px,30vw,420px);width:auto;max-width:34%;object-fit:contain;object-position:bottom;filter:drop-shadow(4px 4px 0 rgba(36,21,48,.4));position:relative;z-index:2}
.at-fin__x{position:relative;flex:0 1 720px;min-width:0;margin-bottom:clamp(40px,5vw,70px);display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.at-fin__x .titre{text-wrap:balance;padding-right:clamp(0px,5vw,70px)}
.at-fin__o{position:absolute;right:-12px;top:-26px;font-size:clamp(1.9rem,4vw,3.3rem);--r:8deg}
.at-fin__x .lead{margin:0 0 8px}
@media(max-width:640px){.at-fin__g{flex-direction:column;align-items:stretch}.at-fin__p{order:2;align-self:center;height:210px;max-width:60%;margin-top:-16px}.at-fin__x{margin-bottom:6px;flex:auto}}

/* ---------- Modale de réservation ---------- */
.at-m{display:grid;gap:12px}
.at-m__t{display:grid;grid-template-columns:clamp(62px,14vw,96px) minmax(0,1fr);gap:clamp(10px,2vw,16px);align-items:center;padding-right:36px}
.at-m__st{display:grid;place-items:center;aspect-ratio:1;background:var(--mc,var(--yellow));border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s);transform:rotate(-3deg)}
.at-m__st img{width:84%;height:84%;object-fit:contain}
.at-m__x{min-width:0}
.at-m__x .at-n{--c:var(--mc,var(--yellow));--c-txt:var(--mt,#241530);margin-bottom:6px}
.at-m__x .titre{font-size:clamp(1.24rem,2.4vw,1.8rem)}
.at-m__q{margin:5px 0 0;font-weight:700;line-height:1.3;font-size:.94rem}
.at-m__places{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--card);border:2.5px dashed #241530;border-radius:14px}
.at-places{display:flex;flex-wrap:wrap;gap:3px}
.at-places i{width:15px;height:15px;border:2px solid #241530;border-radius:50%;background:#241530}
:root[data-theme=nuit] .at-places i{background:#050210}
.at-places i.is-l{background:#6FDB7A}
.at-m__zone{display:grid;gap:11px}
.at-m__ligne{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px}
.at-m__ok{display:grid;justify-items:center;gap:4px;text-align:center;padding:10px;background:var(--card);border:var(--stroke) solid #241530;border-radius:18px}
.at-m__ok .burst{padding:.9em 1.2em}
.at-m__ok .onoma{font-size:1.8rem}
.at-m__autres{display:grid;gap:6px}
.at-m__autres .chip{font-size:.84rem}
.at-m__outils{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding-top:12px;border-top:3px dashed rgba(36,21,48,.2)}
.at-m__outils .btn{font-size:.78rem;padding-inline:.7em}
.at-m__outils .fav{width:38px;height:38px;margin-left:auto}
:root[data-theme=nuit] .at-m__outils{border-top-color:rgba(255,255,255,.2)}
.at-m__voir{justify-self:start}
#at-attente-box.is-sent{padding:6px 0}

/* ---------- Calendrier : en-tête ---------- */
.cl-tete{position:relative;overflow:hidden;isolation:isolate;background:var(--yellow);color:#241530;--fg:#241530;--fg-2:#3c2d4b;padding-block:clamp(36px,4.4vw,64px) clamp(30px,3.8vw,54px)}
.cl-tete .rayons{z-index:-2}
.cl-tete::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 34% 40%,rgba(255,255,255,.55),transparent 62%)}
.cl-tete__g{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) clamp(120px,13vw,180px);gap:clamp(12px,2.4vw,34px);align-items:center}
.cl-tete__t{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.cl-tete__t .fil{margin-bottom:0}
.cl-tete__t .lead{color:#241530;font-weight:700;max-width:50ch}
.cl-tete__p{align-self:end;height:clamp(210px,23vw,320px);width:auto;max-width:100%;object-fit:contain;object-position:bottom;margin-bottom:calc(-1*clamp(30px,3.6vw,48px));filter:drop-shadow(3px 3px 0 rgba(36,21,48,.45));position:relative;z-index:1}
.cl-tete__b{position:absolute;right:clamp(90px,11vw,160px);top:-2px;z-index:3;display:none}
.cl-tete__b .bulle{font-size:.82rem;max-width:200px}
.cl-rebours{--pt:rotate(.9deg);display:grid;gap:10px;padding:clamp(12px,1.6vw,18px);min-width:0;z-index:2}
.cl-rebours__h{display:flex;align-items:center;gap:8px;min-height:44px}
.cl-rebours__st{width:50px;height:50px;object-fit:contain;margin:-8px 0 -8px -6px;flex:none}
.cl-rebours__c{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;perspective:400px}
.cl-rb{display:grid;gap:3px;text-align:center;min-width:0}
.cl-rb b{display:block;padding:.22em .05em .06em;background:#fff;color:#241530;border:2.5px solid #000;border-radius:10px;font:400 clamp(1.45rem,2.6vw,2.3rem)/1 var(--display);box-shadow:2px 2px 0 var(--orange)}
.cl-rb b.is-flip{animation:at-flip .32s ease}
@keyframes at-flip{0%{transform:rotateX(-80deg)}100%{transform:rotateX(0)}}
.cl-rb span{font:800 .72rem/1 var(--hand);color:#fff}
@media(min-width:1180px){.cl-tete__b{display:block}}
@media(max-width:980px){
  .cl-tete__g{grid-template-columns:minmax(0,1fr) clamp(96px,22vw,150px)}
  .cl-tete__t{grid-column:1/-1}
  .cl-tete__p{height:clamp(160px,34vw,230px)}
}
@media(max-width:480px){.cl-tete__g{grid-template-columns:minmax(0,1fr) 72px;gap:4px}.cl-tete__p{height:196px;max-width:none;margin-left:-4px}}

/* ---------- Calendrier : filtres ---------- */
.cl-s{padding-top:clamp(26px,3vw,40px)}
.cl-filtres{display:grid;gap:12px;padding:clamp(12px,1.8vw,20px);overflow:hidden}
.cl-filtres__h{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.cl-vues{display:flex;gap:6px}
.cl-vues .onglet{display:inline-flex;align-items:center;gap:6px;--c:var(--yellow);--c-txt:#241530;border-radius:14px}
.cl-vues .onglet svg{width:18px;height:18px}
.cl-n{margin-left:auto;font-family:var(--hand);font-weight:800;line-height:1;display:flex;align-items:baseline;gap:6px}
.cl-n b{font:400 1.7rem/1 var(--display)}
.cl-f{display:flex;align-items:center;gap:10px;min-width:0}
.cl-f--2{flex-wrap:wrap;gap:12px 34px}
.cl-raz{margin-left:auto}
@media(max-width:760px){
  .cl-f{flex-direction:column;align-items:flex-start;gap:5px}
  .cl-f--2{flex-direction:column;align-items:stretch;gap:10px}
  .cl-n{margin-left:auto}
  .cl-raz{margin-left:0;align-self:flex-start}
}
/* Sur téléphone : affichage et compteur sur une ligne, Âge et Options sans retour à la ligne. */
@media(max-width:480px){
  .cl-vues .onglet{padding:.46em .7em .36em;font-size:.84rem}
  .cl-n b{font-size:1.4rem}
  .cl-n{font-size:.9rem}
  [data-cl-proch]{width:100%}
  .cl-f--2 .chips{gap:6px}
  .cl-f--2 .chip{font-size:.8rem;padding:.34em .55em}
}

/* ---------- Calendrier mural ---------- */
.cl-g{display:grid;grid-template-columns:minmax(0,1fr) clamp(250px,22.5vw,312px);gap:clamp(18px,2.2vw,28px);align-items:start;margin-top:clamp(38px,3.8vw,54px)}
.cl-cal{position:relative;padding:clamp(22px,2.6vw,34px) clamp(8px,1.6vw,20px) clamp(12px,1.8vw,20px);background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:8px 8px 24px 24px;box-shadow:var(--shadow-l)}
.cl-anneaux{position:absolute;left:2%;right:2%;top:-19px;height:36px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='36'%3E%3Crect x='20' y='1' width='12' height='34' rx='6' fill='%23241530'/%3E%3Crect x='23.500' y='5' width='5' height='13' rx='2.500' fill='%23A79BC1'/%3E%3C/svg%3E") 50% 0/52px 36px repeat-x;pointer-events:none}
.cl-cal__t{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:10px}
.cl-cal__m{text-align:center;min-width:0;text-transform:uppercase;font-size:clamp(1.5rem,3.4vw,2.8rem)}
.cl-cal__st{flex:none;width:clamp(44px,5vw,66px);height:clamp(44px,5vw,66px);object-fit:contain;margin-block:-6px;transform:rotate(-8deg)}
.cl-cal__note{display:block;width:max-content;max-width:100%;margin:0 auto 10px;font-size:.84rem;padding:.3em .8em}
.cl-nav{flex:none;background:var(--yellow);color:#241530;border-color:#241530}
.cl-auj{position:absolute;right:0;top:50%;translate:0 -50%}
.cl-sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,.45vw,6px);margin-bottom:5px;font:800 .82rem/1.2 var(--hand);text-align:center}
.cl-grille{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,.45vw,6px);transform-origin:50% 0}
.cl-grille.is-g{animation:at-page-g .36s ease}
.cl-grille.is-d{animation:at-page-d .36s ease}
@keyframes at-page-g{from{opacity:0;transform:perspective(1200px) rotateY(16deg) translateX(30px)}}
@keyframes at-page-d{from{opacity:0;transform:perspective(1200px) rotateY(-16deg) translateX(-30px)}}
.cl-d{position:relative;display:flex;flex-direction:column;gap:3px;min-width:0;min-height:clamp(54px,7.4vw,104px);padding:3px 2px 4px;background:transparent;color:var(--fg);border:2.5px solid rgba(36,21,48,.14);border-radius:10px;transition:transform .14s var(--ease),background .15s}
:root[data-theme=nuit] .cl-d{border-color:rgba(255,255,255,.14)}
.cl-d--vide{border-color:transparent!important}
.cl-d.is-passe{opacity:.38}
.cl-d.is-libre{background:var(--green-2);border-color:#241530!important}
.cl-d.is-peu{background:var(--orange-2);border-color:#241530!important}
.cl-d.is-complet{background:repeating-linear-gradient(-45deg,var(--cl-c1,#FFC7C2) 0 6px,var(--cl-c2,#FFDCD9) 6px 12px);border-color:#241530!important}
:root[data-theme=nuit]{--cl-c1:#5B1E22;--cl-c2:#44181B}
.cl-d.is-vac::before{content:"";position:absolute;left:-4px;right:-4px;top:-2px;height:6px;background:var(--yellow);border-block:1.5px solid #241530;z-index:1}
.cl-d.is-choisi{box-shadow:0 0 0 3px #241530,4px 4px 0 3px var(--yellow);z-index:3}
.cl-d.has-s:hover{transform:translateY(-2px);z-index:2}
.cl-d__b{position:absolute;inset:0;z-index:1;border-radius:8px;cursor:pointer}
.cl-d__b:focus-visible{outline-offset:-3px}
.cl-d__n{position:relative;align-self:flex-start;display:grid;place-items:center;min-width:1.55em;height:1.55em;font:400 clamp(.86rem,1.2vw,1.06rem)/1 var(--display);padding-top:.1em;border-radius:50%;pointer-events:none}
.cl-d.is-auj .cl-d__n{background:#241530;color:var(--yellow)}
.cl-pill{position:relative;z-index:2;display:flex;align-items:center;gap:2px;width:100%;min-width:0;padding:1px 2px;background:var(--cp);color:var(--ct);border:2px solid #241530;border-radius:7px;font:800 .66rem/1.28 var(--hand);letter-spacing:-.025em;text-align:left;white-space:nowrap;overflow:hidden;transition:transform .12s var(--ease)}
.cl-pill:hover{transform:scale(1.05) rotate(-1deg);z-index:3}
.cl-pill b{flex:none;font-weight:800;letter-spacing:-.04em}
.cl-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.cl-pill.is-plein{opacity:.62;text-decoration:line-through}
.cl-pill.is-panier{box-shadow:inset 0 -3px 0 #241530}
.cl-dots{display:none;flex-wrap:wrap;gap:2px;pointer-events:none}
.cl-dots i{width:9px;height:9px;border-radius:50%;background:var(--cp);border:1.5px solid #241530}
.cl-leg{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:12px;padding-right:80px}
.cl-leg span{display:inline-flex;align-items:center;gap:5px;font-weight:700}
.cl-lg{display:block;width:16px;height:16px;border:2px solid #241530;border-radius:5px}
.cl-lg--l{background:var(--green-2)}.cl-lg--p{background:var(--orange-2)}
.cl-lg--c{background:repeating-linear-gradient(-45deg,var(--cl-c1,#FFC7C2) 0 3px,var(--cl-c2,#FFDCD9) 3px 6px)}
.cl-lg--v{background:var(--yellow);height:9px;border-radius:2px}
.cl-elium{position:absolute;right:-14px;bottom:-14px;z-index:4;pointer-events:none}
@media(max-width:1000px){
  .cl-g{grid-template-columns:minmax(0,1fr)}
  .cl-pill{display:none}
  .cl-dots{display:flex}
  .cl-d{min-height:clamp(52px,11vw,84px)}
  .cl-jour.cl-jour{position:static;max-height:none}
}
@media(max-width:640px){
  .cl-auj{position:static;translate:none;font-size:.72rem;min-height:34px;padding:.4em .6em .3em}
  .cl-cal__t{flex-wrap:wrap}
  .cl-cal__m{flex:1 1 auto;order:0}
  .cl-auj{order:3;flex:0 0 auto}
  .cl-cal__st{display:none}
  .cl-elium{--w:70px!important;right:-6px}
}

/* Le panneau du jour */
.cl-jour{position:sticky;top:100px;display:flex;flex-direction:column;gap:10px;padding:clamp(14px,1.6vw,20px);max-height:calc(100dvh - 120px);overflow-y:auto}
.cl-jour__t{display:grid;gap:2px;line-height:1.05}
.cl-jour__t b{font:400 clamp(1.3rem,1.9vw,1.6rem)/1.06 var(--display);text-transform:uppercase}
.cl-s-c{display:grid;grid-template-columns:50px minmax(0,1fr);gap:4px 10px;align-items:center;padding:10px;background:var(--cl-fond);color:#241530;border:var(--stroke) solid #241530;border-radius:16px}
.cl-s-c img{width:50px;height:50px;object-fit:contain}
.cl-s-c__t{display:grid;gap:2px;min-width:0;line-height:1.2}
.cl-s-c__t b{font-family:var(--hand);font-weight:800;font-size:.98rem}
.cl-s-c__t span{font-size:.8rem}
.cl-s-c__p{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between}
.cl-s-c .at-places i{width:11px;height:11px;border-width:1.5px}
.cl-s-c .btn{width:100%;grid-column:1/-1}
.cl-s-c .dispo{color:#241530}
.cl-jour__v{display:grid;justify-items:center;gap:6px;text-align:center;padding:14px 4px}
.cl-jour__v img{height:120px;width:auto}
.cl-jour__o{display:flex;flex-wrap:wrap;gap:6px}

/* Liste */
.cl-liste{margin-top:clamp(26px,3vw,40px);display:grid;gap:10px}
.cl-liste__m{margin:clamp(16px,2vw,26px) 0 2px;display:flex;align-items:center;gap:12px}
.cl-liste__m:first-child{margin-top:0}
.cl-liste__m h3{text-transform:uppercase}
.cl-liste__m::after{content:"";flex:1;border-top:4px dotted currentColor;opacity:.35}
.cl-l{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:6px 14px;align-items:center;padding:10px 14px;background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:18px;box-shadow:var(--shadow-s);transition:transform .14s var(--ease)}
.cl-l:nth-child(4n+1){transform:rotate(-.25deg)}.cl-l:nth-child(4n+3){transform:rotate(.25deg)}
.cl-l:hover{transform:translate(-2px,-2px)}
.cl-l__d{display:grid;place-items:center;width:62px;height:62px;background:var(--c);color:var(--c-txt);border:2.5px solid #241530;border-radius:14px;font-family:var(--display);line-height:1;text-align:center;padding-top:4px}
.cl-l__d b{display:block;font-size:1.46rem;font-weight:400}.cl-l__d small{display:block;font-size:.64rem;text-transform:uppercase}
.cl-l__t{min-width:0;display:grid;gap:2px;line-height:1.2;text-align:left}
.cl-l__t b{font-family:var(--hand);font-weight:800}
.cl-l__a{display:flex;align-items:center;gap:6px}
.cl-l__a .fav{width:38px;height:38px}
.cl-l__a .fav svg{width:17px;height:17px}
.cl-l.is-plein{opacity:.9}
.cl-l__t:hover b{text-decoration:underline;text-underline-offset:3px}
.cl-plus{justify-self:center;margin-top:10px}
html:not(.js) .cl-filtres,html:not(.js) .cl-g,html:not(.js) .cl-rebours{display:none}
.cl-liste .vide .btn{margin-top:8px}
@media(max-width:700px){
  .cl-l{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:10px}
  .cl-l__d{grid-row:1/span 2;align-self:start}
  .cl-l>.dispo{grid-column:2;grid-row:2}
  .cl-l__a{grid-column:1/-1;justify-content:space-between;margin-top:4px}
  .cl-l__a .btn{flex:1}
}

/* Abonnement */
.cl-abo{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,.85fr);gap:clamp(18px,2.4vw,30px);align-items:center}
.cl-abo__c{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.cl-abo__c .small{margin:0}
.cl-abo__c h3{padding-right:58px}
.cl-abo__s{position:absolute;right:-8px;top:-24px;width:78px;height:78px;object-fit:contain;transform:rotate(9deg);filter:drop-shadow(2px 3px 0 rgba(36,21,48,.4))}
.cl-abo-l{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cl-abo-l .input{flex:1 1 240px;min-width:0;font-size:.86rem}
@media(max-width:980px){.cl-abo{grid-template-columns:repeat(2,minmax(0,1fr))}.cl-abo__t{grid-column:1/-1}}
@media(max-width:600px){.cl-abo{grid-template-columns:minmax(0,1fr)}}

/* Thèmes du calendrier */
.cl-th{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.cl-th__c{display:flex;align-items:center;gap:4px;padding-right:12px;background:var(--c);color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s);min-width:0;transition:transform .14s var(--ease)}
.cl-th__c:nth-child(even){border-radius:var(--sketch-2)}
.cl-th__c:hover{transform:translate(-2px,-2px) rotate(-.5deg)}
.cl-th__b{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding:8px 6px 8px 12px;text-align:left;color:#241530;line-height:1.1}
.cl-th__b img{flex:none;width:46px;height:46px;object-fit:contain}
.cl-th__b b{font:400 clamp(.94rem,1.3vw,1.1rem)/1.08 var(--display);text-transform:uppercase}
.cl-th__l{flex:none;display:inline-flex;align-items:center;gap:3px;font:800 .76rem/1 var(--hand);color:#241530;text-underline-offset:2px}
.cl-th__l svg{width:13px;height:13px}
@media(max-width:1100px){.cl-th__b img{width:40px;height:40px}.cl-th__b b{font-size:clamp(.8rem,1.3vw,1.1rem)}}
@media(max-width:860px){.cl-th{grid-template-columns:repeat(2,minmax(0,1fr))}.cl-th__b b{font-size:.94rem}}
/* Sur téléphone : six petites cases sur deux colonnes, puis les trois noms les plus longs sur toute la largeur. */
@media(max-width:560px){
  .cl-th__c:not(:nth-child(n+7)){flex-direction:column;align-items:flex-start;gap:0;padding:0 0 9px}
  .cl-th__c:not(:nth-child(n+7)) .cl-th__b{width:100%;flex:auto;gap:6px;padding:8px 6px 4px 8px}
  .cl-th__c:not(:nth-child(n+7)) .cl-th__b b{font-size:clamp(.78rem,3.9vw,.94rem)}
  .cl-th__c:not(:nth-child(n+7)) .cl-th__l{margin-left:10px}
  .cl-th__b img{width:clamp(30px,9.4vw,38px);height:clamp(30px,9.4vw,38px)}
  .cl-th__c:nth-child(n+7){grid-column:1/-1}
  .cl-th__c:nth-child(n+7) .cl-th__b b{font-size:clamp(.82rem,3.9vw,.94rem)}
}

/* ---------- Cours particuliers ---------- */
.cp-conf{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(24px,3.4vw,50px);align-items:center}
.cp-conf__c{display:grid;gap:18px;min-width:0}
.cp-f{border:0;margin:0;padding:0;min-width:0}
.cp-f legend{padding:0;margin-bottom:7px}
.cp-mat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1vw,12px)}
.cp-mat__o{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:10px;background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:var(--sketch);cursor:pointer;line-height:1.15;transition:transform .15s var(--ease),background .15s,box-shadow .15s}
.cp-mat__o:nth-child(2){border-radius:var(--sketch-2)}
.cp-mat__o:hover{transform:translateY(-3px)}
.cp-mat__o input,.cp-niv__o input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cp-mat__o img{width:clamp(44px,6vw,70px);height:clamp(44px,6vw,70px);object-fit:contain}
.cp-mat__o b{font:400 clamp(.86rem,1.3vw,1.06rem)/1.06 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.cp-mat__o .small{font-size:.72rem}
.cp-mat__o:has(input:checked){background:var(--c);color:#241530;box-shadow:var(--shadow-s);transform:translate(-2px,-2px) rotate(-1deg)}
.cp-mat__o:has(input:focus-visible),.cp-niv__o:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
.cp-niv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:var(--stroke) solid #241530;border-radius:18px;overflow:hidden;background:var(--card)}
.cp-niv__o{position:relative;display:grid;gap:1px;padding:9px 6px;text-align:center;cursor:pointer;line-height:1.1;transition:background .15s;min-width:0}
.cp-niv__o+.cp-niv__o{border-left:var(--stroke) solid #241530}
.cp-niv__o b{font:400 clamp(.92rem,1.4vw,1.14rem)/1 var(--display);text-transform:uppercase}
.cp-niv__o .small{font-size:.7rem}
.cp-niv__o:has(input:checked){background:var(--yellow);color:#241530}
.cp-tab{position:relative;min-width:0;padding-top:clamp(18px,3vw,36px)}
.cp-tab__cadre{position:relative;padding:clamp(9px,1.3vw,15px);background:#A9713F;border:var(--stroke) solid #241530;border-radius:14px;box-shadow:var(--shadow-l);transform:rotate(.7deg)}
.cp-tab__noir{position:relative;min-height:clamp(270px,27vw,350px);padding:clamp(14px,2.1vw,28px);padding-right:clamp(70px,13vw,170px);background:#15382E radial-gradient(ellipse at 22% 30%,rgba(255,255,255,.07),transparent 55%) ;color:#F7F3E6;border:3px solid #241530;border-radius:6px;font-family:var(--hand)}
.cp-tab__m{display:block;font-weight:800;font-size:.98rem;line-height:1.2;color:#FFE27A;text-decoration:underline wavy rgba(255,226,122,.6) 1.5px;text-underline-offset:5px}
.cp-craie{margin:.5em 0 .35em;font-weight:700;font-size:clamp(1.8rem,4.2vw,3.3rem);line-height:1.14;text-shadow:0 0 2px rgba(255,255,255,.55);min-height:1.2em}
.cp-craie .car{animation:at-craie linear backwards;animation-duration:calc(var(--k)*55ms)}
@keyframes at-craie{from,to{opacity:0}}
.cp-tab__noir.is-efface .cp-craie,.cp-tab__noir.is-efface .cp-tab__l{filter:blur(3px);opacity:.25;transition:filter .12s,opacity .12s}
.cp-tab__l{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.98rem;line-height:1.28;color:#F7F3E6}
.cp-tab__l li{position:relative;padding-left:1.1em}
.cp-tab__l li::before{content:"";position:absolute;left:0;top:.42em;width:.5em;height:.5em;border:2px solid #FFE27A;border-radius:50%}
.cp-tab__rebord{position:relative;height:14px;margin:clamp(5px,1vw,10px) calc(-1*clamp(9px,1.3vw,15px)) calc(-1*clamp(9px,1.3vw,15px));background:#7c4f29;border-top:3px solid #241530;border-radius:0 0 10px 10px}
.cp-tab__rebord i{position:absolute;bottom:100%;left:9%;width:38px;height:9px;margin-bottom:0;background:#fff;border:2px solid #241530;border-radius:4px;transform:rotate(-2deg)}
.cp-tab__rebord i:nth-child(2){left:calc(9% + 46px);width:26px;background:#FFD90F;transform:rotate(3deg)}
.cp-tab__rebord i:nth-child(3){left:calc(9% + 78px);width:30px;background:#FF8A80}
.cp-tab__rebord b{position:absolute;right:12%;bottom:100%;width:64px;height:17px;background:#F6653C;border:2.5px solid #241530;border-radius:5px 5px 0 0}
.cp-tab__p{position:absolute;right:-1%;bottom:-18px;z-index:3;height:clamp(150px,20vw,270px);width:auto;max-width:34%;object-fit:contain;object-position:bottom;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.45));pointer-events:none}
.cp-tab__o{position:absolute;right:2%;top:-2px;z-index:4;font-size:clamp(1.7rem,3.8vw,3rem);--r:8deg;opacity:0}
.cp-tab.is-tilt .cp-tab__o{animation:at-o-pop .95s var(--ease) both}
.cp-reca{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:center;margin-top:clamp(30px,4vw,54px)}
.cp-reca__x{display:flex;flex-direction:column;align-items:flex-start;gap:30px}
.cp-ticket{transform:rotate(-.7deg)}
@media(max-width:900px){
  .cp-conf,.cp-reca{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .cp-tab__noir{padding-right:clamp(14px,2.1vw,28px);padding-bottom:0}
  .cp-tab__l{padding-right:64px}
  .cp-tab__p{height:140px;max-width:30%;right:-6px}
  .cp-mat{grid-template-columns:minmax(0,1fr)}
  .cp-mat__o{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"i n" "i d";align-items:center;gap:0 10px;padding:6px 12px}
  .cp-mat__o img{grid-area:i;width:50px;height:50px}
  .cp-mat__o b{grid-area:n;align-self:end;font-size:1.08rem;overflow-wrap:normal}
  .cp-mat__o .small{grid-area:d;align-self:start;font-size:.8rem}
  .cp-dem .etapes{flex-wrap:nowrap}
  .cp-dem .etapes li:not(.is-on){font-size:0}
  [data-cp-obj]{gap:6px}
  [data-cp-obj] .chip{font-size:.8rem;padding:.34em .6em}
}
/* Dédramatiseur */
.cp-dd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.6vw,34px);align-items:stretch}
.cp-note{display:grid;width:100%;min-height:clamp(170px,17vw,220px);font:inherit;color:#241530;transform:rotate(var(--r));transition:transform .18s var(--ease)}
.cp-note:hover{transform:rotate(calc(var(--r)*-1)) scale(1.03)}
.cp-note__in{display:grid;width:100%}
.cp-note__a,.cp-note__b{grid-area:1/1;display:grid;place-items:center;padding:clamp(16px,2.2vw,28px);text-align:center;transition:transform .34s var(--ease),opacity .22s}
.cp-note__a{background:linear-gradient(115deg,rgba(36,21,48,.09) 0 22%,transparent 22% 50%,rgba(36,21,48,.06) 50% 68%,transparent 68%),linear-gradient(205deg,rgba(36,21,48,.08) 0 28%,transparent 28% 58%,rgba(36,21,48,.05) 58%),#FFF7E3;clip-path:polygon(2% 6%,14% 1%,30% 5%,48% 0,66% 4%,84% 1%,98% 7%,96% 28%,100% 48%,96% 68%,99% 92%,82% 97%,62% 94%,44% 100%,24% 96%,6% 99%,1% 78%,4% 54%,0 30%);font:700 clamp(1.08rem,1.7vw,1.36rem)/1.24 var(--hand)}
.cp-note__b{background:var(--yellow);border:var(--stroke) solid #241530;border-radius:var(--blob);box-shadow:5px 5px 0 #000;transform:scale(.3) rotate(-12deg);opacity:0;align-content:center;gap:6px;font:700 clamp(.96rem,1.3vw,1.08rem)/1.3 var(--hand)}
.cp-note__b .onoma{font-size:clamp(1.5rem,2.6vw,2.2rem)}
.cp-note[aria-pressed=true] .cp-note__a{transform:scale(.2) rotate(50deg) translateY(-40%);opacity:0}
.cp-note[aria-pressed=true] .cp-note__b{transform:none;opacity:1}
@media(max-width:860px){.cp-dd{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
  .cp-dd{gap:12px 10px}
  .cp-note{min-height:136px}
  .cp-note__a,.cp-note__b{padding:14px 12px}
  .cp-note__a{font-size:1rem}
  .cp-note__b{font-size:.84rem;line-height:1.26}
  .cp-note__b .onoma{font-size:1.3rem}
}
/* Qui enseigne */
.cp-qui{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(26px,5vw,70px);align-items:center}
.cp-qui__p{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);align-items:start}
.cp-por{margin:0}
.cp-por--1{--pt:rotate(-1deg)}
.cp-por--2{--pt:rotate(.9deg);margin-top:clamp(20px,4vw,50px)}
.cp-por img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.cp-por figcaption{padding:8px 12px 11px;font-size:.8rem;line-height:1.28;border-top:var(--stroke) solid #241530}
.cp-por figcaption b{display:block;font-family:var(--hand);font-weight:800;font-size:1rem}
.cp-qui__st{position:absolute;left:-16px;bottom:-24px;width:clamp(70px,9vw,120px);height:auto;transform:rotate(-9deg);filter:drop-shadow(2px 3px 0 rgba(36,21,48,.4))}
@media(max-width:900px){.cp-qui{grid-template-columns:minmax(0,1fr)}.cp-qui__st{left:-4px}}
/* Demande */
.cp-dem-s{--dot:rgba(36,21,48,.12)}
.cp-dispos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}
.cp-dem .choix label{justify-content:flex-start}
.cp-dem__a{position:sticky;top:112px;display:grid}
.cp-dem__tel{display:flex;flex-wrap:wrap;gap:0 8px;align-items:center}
.cp-dem__tel b{flex:1 1 100%}
.cp-dem .is-sent .merci{padding:20px 0}
@media(max-width:900px){.cp-dem__a{position:static}}
@media(max-width:480px){.cp-dispos{grid-template-columns:minmax(0,1fr)}}

/* ---------- Thème nuit : les cases gardent un texte lisible sur les fonds de couleur ---------- */
:root[data-theme=nuit] .sec--yellow .case:not(.case--jaune),:root[data-theme=nuit] .sec--yellow .ticket,:root[data-theme=nuit] .sec--cyan .case:not(.case--jaune),:root[data-theme=nuit] .sec--rays .case{--fg:#FFF7E3;--fg-2:#D9CFF0;color:#FFF7E3}
:root[data-theme=nuit] .at-case--blanc{--bt:#241530}
:root[data-theme=nuit] .at-carnet__sp{background-image:radial-gradient(circle,#050210 0 5px,transparent 5.5px)}
:root[data-theme=nuit] .at-carnet__l b{color:var(--fg-2)}
:root[data-theme=nuit] .at-carnet .surl{background:var(--yellow);color:#241530;padding-inline:.25em;border-radius:3px}

/* ---------- Impression ---------- */
@media print{
  .at-phare,.at-fin,.at-aut-s,.at-sea-a,.at-fiche__o,.at-score,.at-deco{display:none!important}
  .at-case{break-inside:avoid;transform:none}
  .at-case__in{transform:none!important}
  .at-case__f,.at-case__b{position:static;transform:none;backface-visibility:visible;grid-area:auto;box-shadow:none}
}
