/* /academie/academie.css — SVsansT Académie
   DA claire, professionnelle, très responsive, cohérente avec le flyer : bleu SVsansT, blanc, accents jaunes.
   main.css reste chargé pour le header/footer du site.
*/
:root{
  --sv-blue:#0057ff;
  --sv-blue-2:#008cff;
  --sv-blue-dark:#0030a8;
  --sv-navy:#071442;
  --sv-ink:#0f172a;
  --sv-text:#334155;
  --sv-muted:#64748b;
  --sv-line:#dbe7ff;
  --sv-soft:#f4f8ff;
  --sv-soft-2:#eef5ff;
  --sv-yellow:#ffd21e;
  --sv-yellow-soft:#fff5bf;
  --sv-green:#16a34a;
  --sv-red:#dc2626;
  --radius:24px;
  --radius-lg:34px;
  --shadow:0 24px 70px rgba(0,43,130,.13);
  --shadow-soft:0 14px 34px rgba(15,23,42,.07);
  --max:1180px;
}
body{background:linear-gradient(180deg,#fff 0%,#f4f8ff 42%,#fff 100%);} 
.academie-page,.academie-form-page,.academie-planning,.academie-charte,.academie-reglement{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--sv-ink);overflow-x:hidden;font-size:16px;}
.academie-page *,.academie-form-page *,.academie-planning *,.academie-charte *,.academie-reglement *{box-sizing:border-box;}
.academie-wrap,.academie-form-wrap,.planning-wrap,.charte-wrap,.reglement-wrap{width:min(var(--max),calc(100% - 24px));margin:0 auto;padding:34px 0 58px;}
.academie-form-wrap,.charte-wrap,.reglement-wrap{max-width:980px;}
.academie-page a,.academie-form-page a,.academie-planning a,.academie-charte a,.academie-reglement a{color:var(--sv-blue);}

/* HERO */
.academie-hero,.planning-hero,.charte-hero,.reglement-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(219,231,255,.95);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffff 0%,#f6faff 55%,#eaf3ff 100%);}
.academie-hero::before,.planning-hero::before,.charte-hero::before,.reglement-hero::before{content:"";position:absolute;inset:-90px -120px auto auto;width:360px;height:360px;border-radius:999px;background:radial-gradient(circle,rgba(0,87,255,.24),transparent 68%);z-index:-1;}
.academie-hero::after,.planning-hero::after,.charte-hero::after,.reglement-hero::after{content:"";position:absolute;left:-150px;bottom:-170px;width:410px;height:410px;border-radius:999px;background:radial-gradient(circle,rgba(0,140,255,.13),transparent 70%);z-index:-1;}
.academie-hero{display:grid;grid-template-columns:1fr;gap:22px;padding:22px;}
.planning-hero,.charte-hero,.reglement-hero{padding:24px;margin-bottom:28px;}
.academie-kicker,.planning-badge,.charte-badge,.reglement-badge{display:inline-flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;padding:.48rem .85rem;border-radius:999px;background:#fff;border:1px solid var(--sv-line);box-shadow:0 10px 28px rgba(0,87,255,.08);color:var(--sv-blue-dark);font-size:.84rem;font-weight:950;line-height:1.3;letter-spacing:.02em;text-transform:uppercase;}
.academie-kicker::before,.planning-badge::before,.charte-badge::before,.reglement-badge::before{content:"";width:9px;height:9px;border-radius:999px;background:var(--sv-green);box-shadow:0 0 0 6px rgba(22,163,74,.13);flex:0 0 auto;}
.academie-hero h1,.planning-hero h1,.charte-hero h1,.reglement-hero h1{margin:.95rem 0 0;color:var(--sv-navy);font-size:clamp(2.35rem,12vw,4.55rem);line-height:.96;letter-spacing:-.06em;font-weight:950;}
.academie-hero h1 span{display:block;color:var(--sv-blue);}
.academie-hero p,.planning-hero p,.charte-hero p,.reglement-hero p{max-width:790px;margin:1rem 0 0;color:#334155;font-size:1.06rem;line-height:1.75;}
.hero-ribbon{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.72rem 1rem;border-radius:999px;background:var(--sv-yellow);color:#111827;font-weight:950;box-shadow:0 12px 26px rgba(255,210,30,.28);transform:rotate(-1deg);}
.hero-ribbon strong{color:var(--sv-blue-dark);}
.academie-visual{display:grid;gap:1rem;}
.logo-card,.price-card,.academy-logo-card{background:#fff;border:1px solid var(--sv-line);border-radius:28px;box-shadow:var(--shadow-soft);padding:1.1rem;}
.logo-card{display:grid;gap:.9rem;align-content:center;min-height:190px;text-align:center;}.academy-logo-card{display:grid;place-items:center;min-height:150px;padding:1.25rem 1.4rem;}.academy-logo-card img{display:block;width:min(100%,360px);height:auto;}
.logo-mark{width:88px;height:88px;margin:0 auto;border-radius:26px;background:linear-gradient(135deg,#0057ff,#0030a8);display:grid;place-items:center;color:#fff;font-size:2.4rem;font-weight:950;box-shadow:0 18px 45px rgba(0,87,255,.28);}
.logo-card strong{display:block;color:var(--sv-navy);font-size:1.45rem;line-height:1.1;letter-spacing:-.03em;}
.logo-card span{color:var(--sv-muted);font-weight:800;line-height:1.4;}
.price-card{position:relative;overflow:hidden;}
.price-card::before{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:999px;background:var(--sv-yellow-soft);}
.price-label{position:relative;color:var(--sv-muted);font-weight:900;}
.price{position:relative;margin:.35rem 0;color:var(--sv-blue);font-size:clamp(2.6rem,13vw,3.8rem);line-height:1;font-weight:950;letter-spacing:-.06em;}
.price span{font-size:1rem;color:var(--sv-muted);font-weight:850;letter-spacing:normal;}
.price-list{position:relative;list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.68rem;color:#334155;font-weight:800;line-height:1.45;}
.price-list li{padding-left:1.55rem;position:relative;}
.price-list li::before{content:"✓";position:absolute;left:0;top:.05rem;width:1.05rem;height:1.05rem;border-radius:999px;background:#dcfce7;color:var(--sv-green);display:grid;place-items:center;font-size:.72rem;font-weight:950;}

/* buttons */
.academie-actions,.planning-actions,.charte-actions,.reglement-actions,.child-actions{display:flex;flex-direction:column;gap:.85rem;margin-top:1.35rem;align-items:stretch;}
.academie-btn,.planning-btn,.charte-btn,.reglement-btn,button.academie-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:54px;padding:.95rem 1.1rem;border-radius:999px;border:1px solid transparent;text-decoration:none!important;font-weight:950;font-size:1rem;line-height:1.2;cursor:pointer;background:#fff;color:var(--sv-navy)!important;box-shadow:0 12px 28px rgba(15,23,42,.08);transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;appearance:none;-webkit-appearance:none;text-align:center;}
.academie-btn:hover,.planning-btn:hover,.charte-btn:hover,.reglement-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,23,42,.13);}
.academie-btn.primary,.planning-btn.primary,.charte-btn:not(.secondary),.reglement-btn:not(.secondary),button.academie-btn{background:linear-gradient(135deg,var(--sv-blue),var(--sv-blue-dark));color:#fff!important;box-shadow:0 18px 40px rgba(0,87,255,.26);}
.academie-btn.secondary,.planning-btn.secondary,.charte-btn.secondary,.reglement-btn.secondary{background:#fff;color:var(--sv-blue-dark)!important;border-color:#bfdbfe;}
.academie-btn.yellow{background:var(--sv-yellow);color:#111827!important;box-shadow:0 16px 34px rgba(255,210,30,.26);}
button.academie-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}

/* sections */
.academie-section{padding:42px 0 0;}
.academie-section>h2,.academie-form-card>h1,.academie-form-card>h2,.planning-card h2,.charte-card h2,.reglement-card h2{margin:0;color:var(--sv-navy);font-size:clamp(1.75rem,7.8vw,2.4rem);line-height:1.08;letter-spacing:-.045em;font-weight:950;}
.section-intro,.soft-note,.note-box,.warning-box,.charte-callout,.reglement-info,.reglement-warn,.charte-warning{color:#475569;line-height:1.72;font-size:1.03rem;}
.section-intro{max-width:790px;margin:.85rem 0 1.4rem;}
.cards-grid,.schedule-grid,.stage-grid,.capacity-grid,.academie-grid,.program-tabs,.planning-summary,.anchor-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
.academie-field.full{grid-column:1/-1;}
.info-card,.schedule-card,.stage-card,.program-card,.stage-card-block,.summary-box,.compact-card,.capacity-box,.child-card,.pre-box,.academie-form-card,.planning-card,.charte-card,.reglement-card,.faq details,.opening-card{border-radius:var(--radius);background:#fff;border:1px solid var(--sv-line);box-shadow:var(--shadow-soft);}
.info-card,.schedule-card,.stage-card,.stage-card-block,.summary-box,.compact-card,.capacity-box,.child-card,.pre-box,.opening-card{padding:1.15rem;}
.info-card strong,.schedule-card h3,.stage-card strong,.stage-card-block h3,.compact-card h3,.child-card h2,.child-card h3,.pre-box h2,.opening-card strong{display:block;margin:0;color:var(--sv-navy);font-size:1.18rem;line-height:1.22;letter-spacing:-.02em;font-weight:950;}
.info-card p,.schedule-card p,.stage-card p,.stage-card span,.stage-card-block p,.summary-box p,.compact-card p,.capacity-box p,.child-card p,.pre-box p,.opening-card p{margin:.65rem 0 0;color:var(--sv-muted);line-height:1.65;font-size:1rem;}
.schedule-time{display:inline-flex;margin-top:1rem;padding:.63rem .86rem;border-radius:999px;background:var(--sv-soft-2);color:var(--sv-blue-dark);font-weight:950;line-height:1.25;}
.info-card.highlight,.schedule-card.highlight{border-color:#ffd84d;background:linear-gradient(180deg,#fff,#fffbea);}
.notice-box,.info-box,.stage-note,.note-box,.warning-box,.charte-callout,.charte-warning,.reglement-info,.reglement-warn,.academie-alert,.diff-note{margin:1.1rem 0 0;padding:1.05rem 1.1rem;border-radius:20px;border:1px solid #bfdbfe;background:var(--sv-soft-2);color:#334155;line-height:1.7;font-size:1rem;box-shadow:0 12px 28px rgba(37,99,235,.06);}
.notice-box strong,.info-box strong,.stage-note strong{color:var(--sv-blue-dark);}
.info-box,.diff-note{border-color:#bbf7d0;background:#f0fdf4;}
.warning-box,.reglement-warn,.charte-warning,.academie-alert.warn{border-color:#ffe38a;background:#fffbea;}
.academie-alert.err{border-color:#fecaca;background:#fef2f2;color:#991b1b;}
.academie-alert.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534;}
.academie-alert ul{margin:.7rem 0 0;padding-left:1.2rem;}

/* programme tables */
.program-card{overflow:hidden;}
.program-head{padding:1.18rem;background:linear-gradient(180deg,#fff,#f8fbff);border-bottom:1px solid var(--sv-line);}
.program-head h3{margin:0;color:var(--sv-navy);font-size:1.28rem;line-height:1.18;font-weight:950;}
.program-head p{margin:.55rem 0 0;color:var(--sv-muted);line-height:1.65;}
.program-table,.planning-table{width:100%;border-collapse:collapse;font-size:1rem;}
.program-table th,.program-table td,.planning-table th,.planning-table td{padding:.95rem 1rem;border-bottom:1px solid var(--sv-line);text-align:left;vertical-align:top;color:#334155;line-height:1.55;}
.program-table th,.planning-table th{background:var(--sv-soft-2);color:var(--sv-navy);font-weight:950;}
.program-table tr.stage td,.planning-table tr.is-stage td{background:#f0fdf4;color:#166534;}
.planning-table tr.is-off td{background:#f8fafc;color:#94a3b8;}
.table-scroll{border-radius:var(--radius);border:1px solid var(--sv-line);box-shadow:var(--shadow-soft);background:#fff;overflow:hidden;}
@media(max-width:767px){.program-table,.program-table thead,.program-table tbody,.program-table tr,.program-table th,.program-table td,.planning-table,.planning-table thead,.planning-table tbody,.planning-table tr,.planning-table th,.planning-table td{display:block;width:100%;}.program-table thead,.planning-table thead{display:none;}.program-table tbody,.planning-table tbody{display:grid;gap:.85rem;padding:.9rem;background:#f8fbff;}.program-table tr,.planning-table tr{border:1px solid var(--sv-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 22px rgba(15,23,42,.045);}.program-table tr.stage,.planning-table tr.is-stage{border-color:#bbf7d0;background:#f0fdf4;}.planning-table tr.is-off{background:#f8fafc;}.program-table td,.planning-table td{border:0;padding:.82rem .95rem;font-size:1rem;line-height:1.58;}.program-table td+td,.planning-table td+td{border-top:1px solid #eef2f7;}.program-table td:first-child,.planning-table td:first-child{background:var(--sv-soft-2);color:var(--sv-blue-dark);font-weight:950;}.program-table td:first-child::before{content:"Période"}.program-table td:nth-child(2)::before{content:"Objectif"}.planning-table td:first-child::before{content:"Date"}.planning-table td:nth-child(2)::before{content:"Séance"}.planning-table td:nth-child(3)::before{content:"Contenu"}.planning-table td:nth-child(4)::before{content:"Horaire"}.program-table td::before,.planning-table td::before{display:block;margin:0 0 .25rem;color:#64748b;font-size:.78rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}}

/* FAQ / CTA */
.faq{display:grid;gap:.82rem;margin-top:1rem;}.faq details{padding:1rem 1.15rem;}.faq summary{cursor:pointer;color:var(--sv-navy);font-weight:950;font-size:1.03rem;line-height:1.35;}.faq p{margin:.8rem 0 0;color:var(--sv-muted);line-height:1.65;font-size:1rem;}
.cta-box{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center;margin-top:42px;padding:1.2rem;border-radius:28px;color:#fff;background:linear-gradient(135deg,var(--sv-blue),var(--sv-blue-dark));box-shadow:0 26px 70px rgba(0,87,255,.25);}.cta-box h2{margin:0;font-size:clamp(1.65rem,7.5vw,2.35rem);color:#fff;letter-spacing:-.04em;line-height:1.1;}.cta-box p{margin:.65rem 0 0;color:#dbeafe;line-height:1.7;}.cta-box .academie-btn{background:#fff;color:var(--sv-blue-dark)!important;}

/* planning */
.planning-summary,.anchor-grid{margin-bottom:1rem;}.summary-box strong,.capacity-box strong{display:block;color:var(--sv-blue);font-size:1.65rem;font-weight:950;letter-spacing:-.04em;}.anchor-grid a{display:flex;justify-content:center;align-items:center;min-height:48px;padding:.8rem .95rem;border-radius:999px;background:#fff;border:1px solid var(--sv-line);box-shadow:0 10px 24px rgba(15,23,42,.05);font-weight:950;text-decoration:none;color:var(--sv-blue-dark);text-align:center;}.planning-card{padding:1.05rem;margin-top:1rem;overflow:hidden;}.planning-head{display:block;margin-bottom:1rem;}.planning-head h2{margin:0;}.badge{display:inline-flex;align-items:center;margin-top:.8rem;padding:.5rem .75rem;border-radius:999px;background:var(--sv-soft-2);color:var(--sv-blue-dark);font-size:.88rem;font-weight:950;white-space:normal;line-height:1.25;}.muted-head{color:var(--sv-muted);font-weight:800;}.stage{font-weight:900;}

/* form */
.academie-form-card{padding:1.15rem;overflow:hidden;}.academie-form-card+.academie-form-card{margin-top:1rem;}.academie-form-card>p{color:var(--sv-muted);line-height:1.7;font-size:1rem;}.academie-field{display:flex;flex-direction:column;gap:.48rem;}.academie-field label,.academie-field>h2{color:var(--sv-navy);font-weight:950;font-size:1rem;}.academie-field input,.academie-field select,.academie-field textarea{width:100%;min-height:52px;padding:.86rem 1rem;border:1px solid #cbd5e1;border-radius:16px;background:#fff;color:#0f172a;font:inherit;font-size:16px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;}.academie-field textarea{min-height:124px;resize:vertical;}.academie-field input:focus,.academie-field select:focus,.academie-field textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(0,87,255,.12);}.academie-consent,.inline-check{display:flex;align-items:flex-start;gap:.7rem;padding:1rem;border-radius:18px;background:#f8fbff;border:1px solid var(--sv-line);color:#475569;line-height:1.6;font-size:1rem;}.academie-consent input,.inline-check input{margin-top:.25rem;flex:0 0 auto;min-width:18px;min-height:18px;}.academie-consent input[type="checkbox"],.inline-check input[type="checkbox"]{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin:.15rem 0 0!important;padding:0!important;border-radius:5px;flex:0 0 20px;appearance:auto;-webkit-appearance:auto;}.academie-consent span,.inline-check span{display:block;min-width:0;flex:1;}.child-card{padding:1rem;margin-bottom:1rem;}.result-row{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--sv-line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft);margin-top:.8rem;}.academie-hidden{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* legal pages */
.charte-card,.reglement-card{padding:1.15rem;margin-top:1rem;}.charte-card ul,.reglement-card ul,.reglement-card ol{margin:.85rem 0 0;padding-left:1.2rem;color:#475569;line-height:1.75;font-size:1rem;}.charte-card li+li,.reglement-card li+li{margin-top:.35rem;}.charte-card p,.reglement-card p{color:#475569;line-height:1.75;font-size:1rem;}

@media(min-width:768px){.academie-wrap,.academie-form-wrap,.planning-wrap,.charte-wrap,.reglement-wrap{width:min(var(--max),calc(100% - 32px));padding:48px 0 70px;}.academie-hero{padding:36px;}.planning-hero,.charte-hero,.reglement-hero{padding:40px;}.academie-actions,.planning-actions,.charte-actions,.reglement-actions,.child-actions{flex-direction:row;flex-wrap:wrap;align-items:center;}.academie-btn,.planning-btn,.charte-btn,.reglement-btn,button.academie-btn{width:auto;}.cards-grid,.program-tabs,.capacity-grid,.academie-grid,.planning-summary,.anchor-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.schedule-grid,.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cta-box{grid-template-columns:minmax(0,1fr) auto;padding:1.55rem;}.planning-card,.charte-card,.reglement-card,.academie-form-card{padding:1.35rem;}.planning-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;}.badge{margin-top:0;white-space:nowrap;}.result-row{grid-template-columns:1fr auto;}}
@media(min-width:1025px){.academie-hero{grid-template-columns:minmax(0,1.1fr) minmax(340px,.72fr);gap:44px;align-items:stretch;padding:58px;}.planning-hero,.charte-hero,.reglement-hero{padding:58px;}.academie-hero h1,.planning-hero h1,.charte-hero h1,.reglement-hero h1{font-size:clamp(2.45rem,5vw,4.8rem);}.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.schedule-grid,.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.planning-summary,.anchor-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.academie-visual{grid-template-columns:1fr;}}
@media(max-width:420px){.academie-wrap,.academie-form-wrap,.planning-wrap,.charte-wrap,.reglement-wrap{width:min(100% - 18px,var(--max));padding:30px 0 54px;}.academie-hero,.planning-hero,.charte-hero,.reglement-hero{border-radius:24px;padding:20px;}.price-card,.logo-card,.academy-logo-card,.info-card,.schedule-card,.stage-card,.program-card,.planning-card,.charte-card,.reglement-card,.academie-form-card,.child-card,.pre-box{border-radius:20px;}.academie-hero p,.planning-hero p,.charte-hero p,.reglement-hero p,.section-intro{font-size:1.01rem;}.price{font-size:2.45rem;}}
@media(prefers-reduced-motion:reduce){.academie-btn,.planning-btn,.charte-btn,.reglement-btn{transition:none;}.academie-btn:hover,.planning-btn:hover,.charte-btn:hover,.reglement-btn:hover{transform:none;}}
