
:root{--bg:#05060b;--line:rgba(255,255,255,.13);--text:#f7f7fb;--muted:#b9bfd4;--gold:#f5b300;--gold2:#ffca22}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 75% 0%,rgba(255,184,0,.16),transparent 28%),radial-gradient(circle at 20% 10%,rgba(64,94,255,.16),transparent 32%),linear-gradient(180deg,#05060b 0%,#090d1f 45%,#05060b 100%);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}.header{position:sticky;top:0;z-index:20;background:rgba(5,6,11,.84);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{max-width:1280px;margin:auto;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{line-height:1}.brand-main{font-weight:900;font-size:28px;letter-spacing:-1px}.brand-main span{color:var(--gold)}.brand-sub{font-size:10px;letter-spacing:7px;color:#d8d8e5;margin-top:6px}
.menu{display:flex;gap:26px;align-items:center;font-weight:700;color:#d9dceb}.menu a:hover,.menu .active{color:#fff}.cta{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#15110a!important;padding:13px 20px;border-radius:999px;box-shadow:0 0 26px rgba(245,179,0,.22)}
.hero{max-width:1280px;margin:auto;padding:70px 26px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.kicker{color:var(--gold);font-weight:900;letter-spacing:3px;text-transform:uppercase}
h1{font-size:clamp(48px,7vw,94px);line-height:.93;margin:16px 0 20px;letter-spacing:-4px}h1 span{color:var(--gold)}.lead{font-size:20px;line-height:1.65;color:#d7dcef;max-width:760px}
.hero-card{border:1px solid var(--line);border-radius:30px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 30px 100px rgba(0,0,0,.45)}.hero-card img{width:100%;border-radius:22px;display:block;aspect-ratio:4/5;object-fit:cover}
.section{max-width:1280px;margin:auto;padding:52px 26px}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:28px}h2{font-size:clamp(36px,5vw,66px);margin:0;letter-spacing:-2px}h2 span{color:var(--gold)}.section-head p{max-width:560px;color:#c9cee0;line-height:1.6;margin:0}
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.card{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#111;aspect-ratio:4/5;box-shadow:0 18px 50px rgba(0,0,0,.35);cursor:pointer}.card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}.card:hover img{transform:scale(1.055);filter:saturate(1.08) brightness(1.04)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.62) 100%);pointer-events:none}.card-info{position:absolute;left:18px;right:18px;bottom:18px;z-index:2}.tag{display:inline-block;background:var(--activity-color,var(--gold));color:#15110a;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.8px;margin-bottom:10px}.card h3{font-size:24px;margin:0 0 8px;line-height:.95}.card p{font-size:14px;color:#eef1ff;margin:0;line-height:1.3}
.placeholder{min-height:310px;border-radius:22px;border:1px dashed rgba(255,255,255,.25);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;color:#c7ccdc}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{border:1px solid var(--line);border-radius:24px;padding:28px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}.panel h3{font-size:28px;margin:0 0 14px}.panel p,.panel li{color:#cbd1e4;line-height:1.6}.footer{border-top:1px solid var(--line);padding:34px 26px;text-align:center;color:#9ca3ba}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr}}
@media(max-width:760px){.menu{display:none}.grid{grid-template-columns:repeat(2,1fr);gap:14px}.section-head{display:block}.split{grid-template-columns:1fr}.card h3{font-size:20px}.brand-main{font-size:24px}}
@media(max-width:460px){.grid{grid-template-columns:1fr}.hero{padding-top:46px}h1{letter-spacing:-2px}}

/* V3.1 — cartes cours épurées : les affiches contiennent déjà les titres */
.card::after{
  background:linear-gradient(180deg,rgba(0,0,0,0) 72%,rgba(0,0,0,.22) 100%);
}
.card-info{
  display:none;
}
.card:hover::before{
  content:"Découvrir";
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  z-index:3;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#15110a;
  padding:11px 18px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.5px;
  box-shadow:0 0 28px rgba(245,179,0,.35);
}

.activities-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.activities-grid .placeholder{
  aspect-ratio:4/5;
  min-height:auto;
}
@media(max-width:1100px){.activities-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.activities-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.activities-grid{grid-template-columns:1fr}}


/* V4 — fiches détaillées avec onglets */
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.big{font-size:16px;display:inline-flex}.ghost-btn{border:1px solid var(--line);padding:13px 20px;border-radius:999px;font-weight:900;background:rgba(255,255,255,.04)}
.card-link{display:block}.visual-placeholder{height:100%;width:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:radial-gradient(circle at 25% 15%,rgba(245,179,0,.22),transparent 36%),linear-gradient(135deg,#15192d,#070912 70%)}.visual-placeholder span{font-size:28px;font-weight:900;line-height:1.05}.visual-placeholder small{margin-top:10px;color:#d7dcef;line-height:1.4}
.fiches-list{display:grid;gap:24px}.fiche{border:1px solid var(--line);border-radius:28px;padding:26px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 18px 60px rgba(0,0,0,.28);scroll-margin-top:100px}.fiche-top h3{font-size:clamp(28px,4vw,46px);margin:10px 0 8px;letter-spacing:-1px}.fiche-top p{color:#cbd1e4;margin:0 0 18px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.tab-btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#eef1ff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.tab-btn.active,.tab-btn:hover{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#15110a}.tab-panel{display:none;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);border-radius:20px;padding:20px}.tab-panel.active{display:block}.tab-panel p{font-size:17px;line-height:1.7;color:#dbe1f5;margin:0}.inscription-btn{display:inline-flex;justify-content:center;align-items:center;margin-top:18px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#15110a!important;padding:15px 22px;border-radius:999px;font-weight:900;box-shadow:0 0 30px rgba(245,179,0,.26)}.inscription-btn.wide{width:100%;max-width:420px}.contact-panel{border:1px solid var(--line);border-radius:24px;padding:28px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}.contact-panel h3{font-size:30px;margin:0 0 12px}.contact-panel p{color:#cbd1e4;line-height:1.7}
@media(max-width:760px){.tabs{gap:8px}.tab-btn{font-size:13px;padding:9px 12px}.fiche{padding:20px}.hero-actions .cta,.hero-actions .ghost-btn{width:100%;justify-content:center}}


/* V5 — fiches en pages séparées */
.course-page .hero{padding-bottom:24px}.back-link{display:inline-flex;margin-bottom:18px;color:#f5b300;font-weight:900}.course-hero{max-width:1280px;margin:auto;padding:56px 26px 26px;display:grid;grid-template-columns:1fr 420px;gap:34px;align-items:center}.course-hero h1{font-size:clamp(42px,6vw,78px);line-height:.95;margin:12px 0 18px;letter-spacing:-3px}.course-hero p{color:#d7dcef;line-height:1.65;font-size:19px}.course-image{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(255,255,255,.04);box-shadow:0 24px 80px rgba(0,0,0,.38)}.course-image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.course-placeholder{aspect-ratio:4/5;display:flex;align-items:flex-end;padding:26px;background:radial-gradient(circle at 25% 15%,rgba(245,179,0,.22),transparent 36%),linear-gradient(135deg,#15192d,#070912 70%);font-size:34px;font-weight:900}.course-tabs{max-width:1280px;margin:auto;padding:16px 26px 70px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.course-tab{border:1px solid var(--line);border-radius:24px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 16px 50px rgba(0,0,0,.22)}.course-tab h2{font-size:30px;letter-spacing:-.5px;margin:0 0 14px;color:#fff}.course-tab h2::before{content:"";display:inline-block;width:10px;height:10px;background:var(--activity-color,var(--gold));border-radius:50%;margin-right:10px;vertical-align:middle}.course-tab p,.course-tab li{color:#dbe1f5;font-size:17px;line-height:1.65}.course-tab ul{margin:0;padding-left:21px}.course-tab.full{grid-column:1/-1}.course-final-cta{max-width:1280px;margin:-38px auto 70px;padding:0 26px}.course-final-cta .inscription-btn{font-size:18px;width:100%;padding:20px 26px;border-radius:18px}.index-actions{position:absolute;left:18px;right:18px;bottom:18px;z-index:4;display:flex;justify-content:center}.index-actions span{background:linear-gradient(135deg,var(--activity-color,var(--gold)),var(--gold2));color:#15110a;padding:11px 18px;border-radius:999px;font-size:13px;font-weight:900;box-shadow:0 0 28px rgba(245,179,0,.35)}.card:hover::before{display:none}.footer a{color:#f5b300;font-weight:900}
@media(max-width:1000px){.course-hero{grid-template-columns:1fr}.course-image{max-width:420px}.course-tabs{grid-template-columns:1fr}.course-hero h1{letter-spacing:-2px}}

/* Ouverture 2027 */
.launch-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,190,15,.15);border:1px solid rgba(255,190,15,.65);color:#ffc21a;border-radius:999px;padding:8px 14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;margin:10px 0 14px}
.card .launch-badge{position:absolute;top:54px;right:12px;margin:0;background:rgba(5,7,17,.82);backdrop-filter:blur(4px);font-size:.68rem;padding:6px 9px;z-index:5;max-width:130px;text-align:center}
.notice-2027{border:1px solid rgba(255,190,15,.5);background:linear-gradient(135deg,rgba(255,190,15,.14),rgba(255,190,15,.04));border-radius:18px;padding:18px 20px;margin:18px 0;color:#f7f7f7}
.notice-2027 strong{color:#ffc21a}




/* V20S corrigée : couleurs agenda basées uniquement sur les activités */
.agenda-legend{display:none!important;}
.agenda-teacher-col{border-top-color:transparent!important;}


/* V4 — page publique événements */
.events-hero{max-width:1280px;margin:auto;padding:64px 26px 22px}.events-hero h1{font-size:clamp(48px,7vw,86px);line-height:.95;margin:14px 0 18px}.events-hero h1 span{color:var(--gold)}.events-grid{display:grid;gap:28px}.event-card{display:grid;grid-template-columns:360px 1fr;gap:28px;border:1px solid var(--line);border-radius:28px;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 22px 70px rgba(0,0,0,.32)}.event-poster{border-radius:22px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.12);align-self:start}.event-poster img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.event-poster-placeholder{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(circle at 30% 20%,rgba(245,179,0,.24),transparent 36%),linear-gradient(135deg,#15192d,#070912);font-size:26px;font-weight:900;color:#fff}.event-content h2{font-size:clamp(30px,4vw,52px);line-height:1;margin:12px 0 14px;letter-spacing:-1px}.event-meta{display:flex;gap:10px;flex-wrap:wrap}.event-meta span,.event-pill{display:inline-flex;align-items:center;background:rgba(245,179,0,.13);border:1px solid rgba(245,179,0,.42);color:#ffd15a;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px}.event-short{font-size:18px;line-height:1.55;color:#dbe1f5}.event-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.event-info-grid div{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:14px;background:rgba(0,0,0,.16);color:#d9deef;line-height:1.4}.event-info-grid strong{color:#fff}.event-description,.event-note{border-top:1px solid rgba(255,255,255,.10);margin-top:18px;padding-top:18px;color:#dbe1f5;font-size:17px;line-height:1.65}.event-note{color:#cbd1e4}.event-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}.event-actions .inscription-btn,.event-actions .ghost-btn{margin-top:0}.event-empty{border:1px solid var(--line);border-radius:28px;padding:34px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));text-align:center}.event-empty h2{font-size:38px}.event-empty p{color:#cbd1e4}.events-past-head{margin-top:96px;padding-top:56px;border-top:1px solid var(--line)}
@media(max-width:920px){.event-card{grid-template-columns:1fr}.event-poster{max-width:420px}.event-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.event-info-grid{grid-template-columns:1fr}.events-hero{padding-top:44px}.event-card{padding:16px;border-radius:22px}.event-content h2{font-size:32px}}


/* V5 - badge sans recouvrement des titres */
.card .launch-badge{top:54px;right:12px;left:auto;max-width:116px;text-align:center;white-space:normal;line-height:1.05;}
img[loading="lazy"]{content-visibility:auto;}

/* V5.2 — demande d'information + parcours pédagogique */
.cta-secondary,
.inscription-btn.secondary{
  background:rgba(255,255,255,.06)!important;
  color:#f7f7fb!important;
  border:1px solid rgba(245,179,0,.45)!important;
  box-shadow:none!important;
}
.dual-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}.dual-actions .inscription-btn{margin-top:0}.fiche-actions{margin-top:20px}.course-final-cta.dual-actions{display:flex;gap:14px}.course-final-cta.dual-actions .inscription-btn{flex:1;min-width:260px}.age-badge{display:inline-flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:9px 14px;font-weight:900;margin:0 0 12px}.age-badge::before{content:"Âge";font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#ffc21a;margin-right:8px}.info-form-section{padding-top:0}.info-form-panel{max-width:920px;margin:auto}.info-form{display:grid;gap:16px;margin-top:18px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.info-form label{display:block;margin-bottom:7px;color:#cbd1e4;font-weight:800}.info-form input,.info-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(5,7,17,.72);color:#f7f7fb;padding:13px 14px;font:inherit}.info-form textarea{resize:vertical;min-height:180px}.info-form input:focus,.info-form textarea:focus{outline:2px solid rgba(245,179,0,.45);border-color:rgba(245,179,0,.6)}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important}.info-status{display:none;border-radius:14px;padding:12px 14px;line-height:1.45}.info-status.success{display:block;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#bbf7d0}.info-status.error{display:block;background:rgba(239,68,68,.13);border:1px solid rgba(239,68,68,.4);color:#fecaca}.info-form button:disabled{opacity:.6;cursor:not-allowed}.info-hero h1 span{color:var(--gold)}
@media(max-width:760px){.dual-actions,.course-final-cta.dual-actions{flex-direction:column;align-items:stretch}.dual-actions .inscription-btn,.course-final-cta.dual-actions .inscription-btn{width:100%;min-width:0}.info-grid{grid-template-columns:1fr}}


/* V5.4 — titres de sections sans texte secondaire à droite */
.section-head h2{max-width:100%;}
.section-head:has(> h2:only-child){display:block;}

/* V5.5 — logo officiel + nouvelle phrase emblème */
.brand-logo{display:flex;align-items:center;min-width:210px}
.brand-logo img{display:block;width:clamp(190px,22vw,330px);height:auto}
@media(max-width:760px){.brand-logo img{width:210px}.nav{padding:14px 18px}}
@media(max-width:460px){.brand-logo img{width:180px}}


/* v5.6 — macaron d'ouverture aligné au-dessus du bouton Découvrir */
.index-actions{flex-direction:column;align-items:center;gap:8px;}
.index-actions .launch-badge{position:static;margin:0;max-width:none;text-align:center;white-space:normal;line-height:1.1;background:rgba(5,7,17,.86);backdrop-filter:blur(4px);font-size:.68rem;padding:6px 10px;}
.card .index-actions .launch-badge{position:static;top:auto;right:auto;left:auto;max-width:180px;}

.index-actions .launch-badge{color:#ffc21a;border:1px solid rgba(255,190,15,.65);box-shadow:0 0 24px rgba(255,190,15,.22);text-transform:uppercase;letter-spacing:.04em;}


/* V8.5 — page présentation Lafami's Cool */
.home-presentation-teaser{padding-top:28px}.presentation-teaser-panel{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;border:1px solid var(--line);border-radius:28px;padding:30px;background:linear-gradient(135deg,rgba(245,179,0,.12),rgba(255,255,255,.035));box-shadow:0 22px 70px rgba(0,0,0,.26)}.presentation-teaser-panel h3{font-size:clamp(28px,4vw,46px);line-height:1.05;margin:12px 0 14px;letter-spacing:-1px}.presentation-teaser-panel p{color:#dbe1f5;line-height:1.7;font-size:18px;margin:0}.presentation-page{overflow:hidden}.presentation-hero{max-width:1280px;margin:auto;padding:72px 26px 34px}.presentation-hero h1{max-width:1040px}.presentation-content{display:grid;gap:22px;padding-top:18px}.presentation-block{border:1px solid var(--line);border-radius:28px;padding:30px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 16px 50px rgba(0,0,0,.22)}.presentation-block h2{font-size:clamp(30px,4vw,50px);margin:0 0 16px;color:#fff}.presentation-block h2::before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--gold);margin-right:12px;vertical-align:middle}.presentation-block p{font-size:18px;line-height:1.75;color:#dbe1f5;margin:0 0 16px}.presentation-block p:last-child{margin-bottom:0}.presentation-block.highlight{background:linear-gradient(135deg,rgba(245,179,0,.16),rgba(255,255,255,.04));border-color:rgba(245,179,0,.38)}.presentation-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.presentation-actions .inscription-btn,.presentation-actions .ghost-btn{margin-top:0}@media(max-width:820px){.presentation-teaser-panel{grid-template-columns:1fr}.presentation-teaser-panel .inscription-btn{width:100%;max-width:none}.presentation-block{padding:24px}.presentation-actions{flex-direction:column;align-items:stretch}.presentation-actions .inscription-btn,.presentation-actions .ghost-btn{width:100%;justify-content:center;text-align:center}}
