/* =====================================================================
   AUDACIS PERFORMANCE — couche responsive v6.5 (chargée en dernier)
   Mobile ≤ 599 px · Tablette 600–1023 px · Desktop 1024–1599 px · Large ≥ 1600 px
   Compatibilité : Chrome, Edge, Safari (macOS / iOS), Firefox, Samsung Internet, Opera
   ===================================================================== */

/* ---------- 1. Socle commun ---------- */
html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px}
html,body{max-width:100%}
body{overflow-x:hidden}
@supports (overflow:clip){body{overflow-x:clip}}
img,video,canvas,iframe{max-width:100%}
img,video{height:auto}
svg{max-width:100%}
*,*::before,*::after{-webkit-tap-highlight-color:transparent}
:where(h1,h2,h3,h4){overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}
:where(p,li,td,dd,small,label,span){overflow-wrap:break-word}
:where(a,button,[role=button],summary,label,select){-ms-touch-action:manipulation;touch-action:manipulation}
input,select,textarea,button{font:inherit;max-width:100%}
input[type=date]{min-height:44px;-webkit-appearance:none;appearance:none}
input[type=file]{width:100%}
:focus-visible{outline:2px solid var(--gold,#bb8a2f);outline-offset:3px}
.r-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
dialog{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
@supports (height:100dvh){dialog{max-height:calc(100dvh - 24px)}}

/* Grilles : empêche toute colonne de forcer la largeur (cause du débordement du catalogue) */
.catalog-layout,.hero-grid,.footer-grid,.page-intro-grid,.faq-grid,.approach-grid,.human-section,.finance-strip,.contact-grid,.planning-layout{min-width:0}
.catalog-layout>*,.hero-grid>*,.footer-grid>*,.page-intro-grid>*,.faq-grid>*,.approach-grid>*,.human-section>*,.finance-strip>*,.course-layout>*,.contact-grid>*{min-width:0}
.catalog-sidebar,.filter-list{min-width:0;max-width:100%}

/* Encoches iPhone / zones sûres */
.site-header .header-inner,.site-footer .container{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.site-footer{padding-bottom:env(safe-area-inset-bottom)}

/* Survol uniquement sur les appareils qui en disposent */
@media (hover:none){.button:hover,.course-card:hover,.domain-card:hover,.org-card:hover{transform:none}}

/* ---------- 2. Formulaire « métiers de soutien » + onglets de candidature ---------- */
.cand-tabs{margin-top:8px;display:inline-flex;flex-wrap:wrap}
.cand-tabs button{min-height:44px;cursor:pointer}
.cand-tabs button[aria-selected=true]{background:var(--navy);color:#fff;border-radius:2px}
.sp-form fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}
.sp-form legend{display:flex;align-items:center;gap:12px;font-weight:700;font-size:.95rem;color:var(--navy);margin-bottom:18px;padding:0}
.sp-form legend b{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--gold)}
.sp-label{display:block;font-weight:600;font-size:.75rem;margin-bottom:9px}
.sp-label small,.sp-form label small{font-weight:400;color:var(--muted)}
.sp-chips{display:flex;flex-wrap:wrap;gap:8px}
.sp-chip{position:relative;display:inline-flex;cursor:pointer}
.sp-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.sp-chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #cad2d5;border-radius:999px;font-size:.78rem;background:#fff;color:var(--navy);transition:background .15s,border-color .15s,color .15s}
.sp-chip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.sp-chip input:checked+span::before{content:'✓';margin-right:6px;font-size:.75rem}
.sp-chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
@media (hover:hover){.sp-chip span:hover{border-color:var(--gold)}}
.sp-hint{font-size:.76rem;color:var(--muted);margin:0}
#sp-skill-add{margin-top:10px;width:100%;border:1px dashed #cad2d5;border-radius:3px;padding:10px 12px;background:#fbfbfa}
.sp-cond{border-left:3px solid var(--gold-bright,#d5ad59);background:#fbf7ed;padding:18px 18px 18px 20px;margin-top:20px;border-radius:0 3px 3px 0}
.sp-cond.sp-in{animation:spIn .25s ease}
@keyframes spIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.sp-err{color:#8e342c;font-size:.76rem;margin:8px 0 0}
.sp-progress{height:4px;background:#edf0ef;border-radius:999px;overflow:hidden;margin-bottom:6px}
.sp-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-bright,#d5ad59),var(--gold,#bb8a2f));transition:width .3s}
.sp-progress-label{font-size:.7rem;color:var(--muted);margin:0 0 24px}
.sp-count{display:block;text-align:right;font-size:.68rem;color:var(--muted);margin-top:4px}
.sp-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:.78rem!important;line-height:1.55}
.sp-consent input{width:20px!important;height:20px;flex:none;margin-top:2px}
.join-form [aria-invalid=true]{border-color:#c95c42!important;box-shadow:0 0 0 3px #c95c4222}
.join-form .button-row .button-outline{background:#fff}
@media (prefers-reduced-motion:reduce){.sp-cond.sp-in{animation:none}.sp-progress span{transition:none}}

/* ---------- 3. Desktop large ≥ 1600 px ---------- */
@media (min-width:1600px){
 .legal-content{max-width:860px}
 .join-form{max-width:980px}
}

/* ---------- 4. Desktop 1024–1279 px (petits portables) ---------- */
@media (min-width:1024px) and (max-width:1279px){
 .header-inner nav{gap:16px}
 .header-inner nav a{font-size:.78rem}
 .solo{grid-template-columns:280px 1fr;gap:36px}
}

/* ---------- 5. Tablette 600–1023 px ---------- */
@media (min-width:600px) and (max-width:1023px){
 .container{width:calc(100% - 48px)}
 .solo{grid-template-columns:240px 1fr;gap:30px}
 .solo-photo{max-width:none}
 .solo-missions{grid-template-columns:1fr}
 .experts{grid-template-columns:1fr 1fr}
 .footer-qualiopi{max-width:320px}
 .legal-content{max-width:none}
}
@media (min-width:600px) and (max-width:1023px) and (orientation:landscape){
 .solo{grid-template-columns:260px 1fr}
 .solo-missions{grid-template-columns:1fr 1fr}
 .experts{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- 6. Mobile + tablette (≤ 1023 px) ---------- */
@media (max-width:1023px){
 .catalog-sidebar{position:static}
 .breadcrumbs{font-size:.74rem}
 .breadcrumbs a{display:inline-flex;align-items:center;min-height:36px}
 .footer-bottom{font-size:.72rem}
 .footer-bottom div a,.footer-bottom a{display:inline-flex;align-items:center;min-height:40px}
 .footer-links{font-size:.82rem}
 .footer-links a{display:inline-flex;align-items:center;min-height:40px}
 .text-link{min-height:40px;align-items:center}
 .r-table table{min-width:600px}
}

/* ---------- 7. Mobile (≤ 699 px) ---------- */
@media (max-width:699px){
 html{scroll-padding-top:84px}
 .container{width:calc(100% - 32px)}
 /* textes plus lisibles */
 .hero-fact span{font-size:.7rem}
 .header-quote{font-size:.74rem}
 .header-social>span{display:none}
 .eyebrow{font-size:.66rem}
 .footer-qualiopi p{font-size:.74rem}
 /* champs : 16 px évitent le zoom automatique d'iOS / Android */
 input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:16px!important}
 /* catalogue : filtres en ruban défilant */
 .catalog-layout{grid-template-columns:minmax(0,1fr)!important}
 .filter-list{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:8px;padding-bottom:8px;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
 .filter-list::-webkit-scrollbar{display:none}
 .filter-button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;border:1px solid var(--line);background:#fff}
 .catalog-tools>*{flex:1 1 100%;min-width:0}
 /* page organisme */
 .solo-photo{max-width:260px;margin-inline:auto}
 .solo-photo::after{inset:10px -10px -10px 10px}
 .solo-copy{text-align:left}
 .solo-contact{flex-direction:column;align-items:stretch}
 .solo-contact .button{width:100%;justify-content:space-between}
 .experts{grid-template-columns:1fr}
 .team-stats{flex-wrap:wrap;gap:18px 28px}
 .cand-tabs{display:flex;width:100%}
 .cand-tabs button{flex:1 1 50%;padding:10px 8px;font-size:.74rem}
 .join-form{padding:20px 16px}
 .join-form .form-grid{grid-template-columns:1fr;gap:16px}
 .join-form .button-row{flex-direction:column;align-items:stretch}
 .join-form .button-row .button{width:100%;justify-content:space-between}
 .sp-cond{padding:14px}
 .sp-chip span{font-size:.76rem;padding:8px 12px}
 /* documents légaux */
 .legal-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
 .legal-tabs::-webkit-scrollbar{display:none}
 .legal-tabs a{flex:0 0 auto;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}
 .legal-content h2{font-size:1.2rem}
 .legal-content{font-size:.92rem}
 /* pied de page */
 .footer-qualiopi img{max-width:200px}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
 .footer-bottom div{gap:4px 16px}
 .footer-bottom .back-top{position:absolute;right:16px;margin-top:4px}
 .site-footer .container{position:relative}
 /* fenêtres modales plein écran */
 dialog{width:100%!important;max-width:100vw!important;margin:auto 0 0!important;border-radius:14px 14px 0 0!important}
}

/* ---------- 8. Très petits écrans (≤ 380 px : iPhone SE, Galaxy A) ---------- */
@media (max-width:380px){
 .container{width:calc(100% - 24px)}
 .hero h1{font-size:2.25rem!important;letter-spacing:-.03em}
 .page-head h1{font-size:2.15rem}
 .section-heading h2,.solo-copy h2{font-size:1.95rem}
 .hero-copy .button-row{flex-direction:column;align-items:stretch}
 .hero-copy .button{width:100%;justify-content:space-between}
 .hero-facts{gap:14px}
 .hero-fact+.hero-fact{padding-left:12px}
 .header-quote{padding:9px 10px;font-size:.7rem}
 .brand-type{font-size:.9rem}
 .domain-grid{grid-template-columns:1fr!important}
 .filter-list,.legal-tabs{margin-inline:-12px;padding-inline:12px}
 .cand-tabs button{font-size:.7rem}
}

/* ---------- 9. Écrans peu hauts (paysage mobile) ---------- */
@media (max-height:520px) and (orientation:landscape){
 .site-header{position:relative}
 html{scroll-padding-top:12px}
 .hero-image>img{height:260px}
 dialog{max-height:94vh}
}

/* ---------- 10. Impression ---------- */
@media print{
 .cand-tabs,.sp-progress,.sp-progress-label,.join-form .button-row{display:none!important}
 body{overflow:visible}
}

/* ---------- 11. Ajustements issus de l'audit automatisé ---------- */
@media (max-width:1023px){
 .footer-bottom div a{padding-inline:6px}
 .contact-card a,.location-card a,.contact-grid a,.course-aside a[href^="tel"],.course-aside a[href^="mailto"],a[href^="tel:"],a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:36px}
 .reset-filter,a[href*="google.com/maps"],.catalog-meta button,.catalog-meta a{min-height:40px;display:inline-flex;align-items:center}
 .hero-fact span,.team-stats span{font-size:.68rem}
 .eyebrow{font-size:max(.66rem,11px)}
 .course-price small,.price small{font-size:.7rem}
 /* espace 360 */
 .sidebar-bottom a{min-height:40px;display:inline-flex;align-items:center}
 .portal-back{min-height:40px;display:inline-flex;align-items:center}
 /* administration (écrans tactiles) */
 .adm .btn-xs{min-height:36px;padding-inline:12px}
 .adm .btn-sm{min-height:40px}
}
@media (max-width:420px){
 .hero-facts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}
 .hero-fact{flex-direction:column;align-items:flex-start;gap:2px!important;padding-left:0!important;border-left:0!important;min-width:0}
 .hero-fact+.hero-fact{padding-left:10px!important;border-left:1px solid var(--line)!important}
 .hero-fact strong{font-size:1.45rem!important}
 .brand-type small{font-size:.5rem}
}
@media (max-width:1023px){
 .back-top{min-width:40px;min-height:40px;display:inline-grid!important;place-items:center}
 .eyebrow{font-size:11px!important;letter-spacing:.14em}
 .brand-type small{font-size:max(.5rem,7.5px)}
 label a{display:inline-block;padding-block:6px}
}
@media (pointer:coarse){body.is-admin .btn-xs{min-height:36px;padding-inline:12px}body.is-admin .btn-sm{min-height:40px}}

/* ---------- 12. Accueil : hero sur tablette et mobile ---------- */
.hero-fact strong,.progress-line span,.portal-stat strong{white-space:nowrap}
@media (min-width:600px) and (max-width:939px){
 .hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:34px}
 .hero h1{font-size:clamp(3rem,7.4vw,3.9rem)}
 .hero-copy>p{max-width:600px;font-size:.92rem}
 .hero-image{margin-right:10px}
 .hero-image>img{height:440px;object-position:50% 45%}
 .hero-facts{gap:26px}
}
@media (max-width:939px){
 .hero-image-caption{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;margin:-28px 14px 0;max-width:none!important;z-index:2}
}
@media (max-width:699px){
 .hero-image>img{height:300px;object-position:50% 40%}
 .search-controls{grid-template-columns:minmax(0,1fr)!important}
 .search-controls>*{width:100%}
 .search-controls .button{justify-content:space-between}
}
@media (min-width:940px){.hero-image-caption{bottom:-40px!important}.hero-grid{padding-bottom:30px}}
@media (min-width:600px) and (max-width:1023px){
 .join-form .form-grid{grid-template-columns:1fr 1fr!important;gap:18px}
 .join-form .field.full{grid-column:1/-1!important}
 .join-form{padding:26px}
}
@media (max-width:1023px){body.is-admin .btn.btn-xs,body.is-admin button.btn-xs,body.is-admin a.btn-xs{min-height:36px!important;padding-inline:12px}}

/* ---------- 13. (v7.0) Logo Qualiopi réaffiché dans le pied de page : réglage dans config.js → qualiopi.logo ---------- */

/* ---------- 14. v6.7 : photo ronde (page organisme) + bouton WhatsApp ---------- */
.solo{grid-template-columns:220px minmax(0,1fr)}
.solo-photo{width:220px;height:220px;margin:0;border-radius:50%;padding:6px;background:#fff;border:1px solid var(--gold-bright,#d5ad59);box-shadow:0 14px 34px #09283e1a}
.solo-photo::after{display:none}
.solo-photo img{width:100%;height:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:50% 22%}
.social-whatsapp{border-color:#25d36655}
.social-whatsapp:hover{border-color:#25d366}
@media (min-width:600px) and (max-width:1023px){.solo{grid-template-columns:180px minmax(0,1fr)!important}.solo-photo{width:180px;height:180px}}
@media (max-width:699px){.solo{grid-template-columns:1fr!important}.solo-photo{width:160px;height:160px;max-width:none;margin:0 auto 4px}}
@media (max-width:420px){.header-social .social-links{gap:6px}.header-social .social-link{padding:5px 8px;font-size:.72rem;gap:6px}.header-social .social-link>span:last-child{display:none}}

/* ===== 15. v6.8 — Page Accessibilité & handicap + confort de lecture ===== */
.ax-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.ax-jump button{border:1px solid var(--line);background:#fff;color:var(--navy);padding:10px 15px;min-height:44px;border-radius:999px;font:500 .74rem var(--font);cursor:pointer}
.ax-jump button:hover,.ax-jump button:focus-visible{border-color:var(--gold-bright);color:var(--gold)}
.ax-ref{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:center}
.ax-ref-photo{margin:0;width:220px;height:220px;border-radius:50%;padding:6px;background:#fff;border:1px solid var(--gold-bright);box-shadow:var(--shadow)}
.ax-ref-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 22%;pointer-events:none;user-select:none}
.ax-ref-copy h2{font-size:2.3rem;margin-bottom:6px}.ax-ref-role{font-size:.8rem;color:var(--gold);font-weight:600;margin-bottom:16px}
.ax-ref-copy>p{font-size:.88rem;max-width:640px}
.ax-commit{list-style:none;padding:0;margin:24px 0;display:flex;flex-wrap:wrap;gap:12px 30px}
.ax-commit li{display:flex;flex-direction:column}.ax-commit strong{font:400 1.7rem var(--serif);color:var(--navy);line-height:1.1}.ax-commit span{font-size:.72rem;color:var(--muted)}
.ax-ref-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-size:.8rem}
.ax-ref-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-weight:500;overflow-wrap:anywhere}.ax-ref-links .icon{width:17px;height:17px;color:var(--gold)}
.ax-missions{margin-top:70px}
.ax-mission-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.ax-mission-grid li{border-top:1px solid var(--line);padding-top:18px}.ax-mission-grid span{font:400 1.5rem var(--serif);color:var(--gold)}
.ax-mission-grid h3{font-size:.98rem;margin:10px 0 8px}.ax-mission-grid p{font-size:.8rem}
.ax-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.ax-filter button{border:1px solid var(--line);background:#fff;color:var(--navy);padding:9px 14px;min-height:42px;border-radius:3px;font:500 .74rem var(--font);cursor:pointer}
.ax-filter button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.ax-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ax-cat{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold-bright);padding:26px}
.ax-cat>.icon{color:var(--gold);width:28px;height:28px;margin-bottom:14px}.ax-cat h3{font-size:1rem;margin-bottom:14px}
.ax-cat ul{list-style:none;padding:0;margin:0}.ax-cat li{position:relative;padding:0 0 10px 22px;font-size:.81rem;color:var(--text);transition:opacity .2s}
.ax-cat li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:600}
.ax-cat li.ax-dim{opacity:.35}.ax-cat li.ax-hit{font-weight:600;color:var(--navy)}
.ax-note{margin-top:26px;font-size:.78rem;color:var(--muted);max-width:900px}
.ax-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 34px;counter-reset:s}
.ax-steps li{display:flex;gap:16px;align-items:flex-start}
.ax-step-n{flex:0 0 42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font:400 1.15rem var(--serif)}
.ax-steps h3{font-size:.98rem;margin:8px 0 8px}.ax-steps p{font-size:.81rem}.ax-steps small{display:inline-block;margin-top:9px;font-size:.7rem;font-weight:600;color:var(--gold);background:var(--cream);padding:4px 9px;border-radius:2px}
.ax-partners{margin-top:48px;border-top:1px solid var(--line);padding-top:28px}.ax-partners h3{font-size:1rem;margin-bottom:16px}
.ax-partners>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ax-partners a{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border:1px solid var(--line);border-radius:3px;min-height:44px}
.ax-partners a:hover{border-color:var(--gold-bright)}.ax-partners a strong{font-size:.85rem;color:var(--navy)}.ax-partners a span{font-size:.74rem;color:var(--muted)}
.ax-form-wrap{display:grid;grid-template-columns:.75fr 1.35fr;gap:60px;align-items:start}
.ax-form-intro h2{font-size:2.3rem}.ax-form-intro>p{font-size:.86rem;margin:18px 0}
.ax-reassure{list-style:none;padding:0;margin:0;font-size:.8rem}.ax-reassure li{padding:0 0 10px 24px;position:relative}.ax-reassure li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700}.ax-reassure a{text-decoration:underline}
.ax-form,.ax-done{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold-bright);padding:32px;min-width:0}
.ax-progress{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:18px}.ax-progress span{display:block;height:100%;width:25%;background:var(--gold-bright);transition:width .3s}
.ax-stepper{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;font-size:.7rem;color:var(--muted)}
.ax-stepper li{display:flex;align-items:center;gap:7px;min-width:0}.ax-stepper span{flex:0 0 24px;height:24px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem}
.ax-stepper li.cur{color:var(--navy);font-weight:600}.ax-stepper li.cur span{background:var(--navy);color:#fff;border-color:var(--navy)}.ax-stepper li.done span{background:var(--gold-bright);border-color:var(--gold-bright);color:#fff}
.ax-step{border:0;padding:0;margin:0;min-width:0}.ax-step legend{font:600 1.1rem var(--font);color:var(--navy);margin-bottom:16px;padding:0}
.ax-help{font-size:.78rem;color:var(--muted);margin-bottom:14px}.ax-sub{font-size:.88rem;margin:22px 0 10px}.ax-label{font-size:.73rem;font-weight:500}
.ax-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}
.ax-choice label,.ax-needs label,.ax-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:3px;padding:13px 14px;cursor:pointer;font-size:.8rem;min-height:48px;transition:border-color .15s,background .15s}
.ax-choice label.on,.ax-needs label.on,.ax-opt.on{border-color:var(--navy);background:#f3f6f8}
.ax-choice input,.ax-needs input,.ax-opt input,.ax-chips input{accent-color:var(--navy);margin-top:3px;flex-shrink:0;width:18px;height:18px}
.ax-needs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ax-needs strong{display:block;font-size:.82rem;color:var(--navy);margin-bottom:2px}.ax-needs span{font-size:.75rem;color:var(--muted)}
.ax-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ax-chips label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 14px;min-height:44px;font-size:.76rem;cursor:pointer}
.ax-chips label.on{border-color:var(--navy);background:#f3f6f8}.ax-chips input{margin-top:0}
.ax-sg{margin-bottom:18px}.ax-sg h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin-bottom:8px}
.ax-sg .ax-opt{margin-bottom:8px}.ax-opt em{display:inline-block;margin-left:8px;font-style:normal;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--gold);padding:2px 7px;border-radius:2px;vertical-align:1px}
.ax-alert{font-size:.78rem;padding:13px 16px;border-left:3px solid var(--navy);background:var(--cream);margin-top:10px;line-height:1.6}
.ax-alert.ax-warn{border-left-color:#b45309;background:#fff7ed}.ax-alert a{text-decoration:underline;font-weight:600}
.ax-recap{background:var(--cream);border:1px solid var(--line);padding:18px 20px;margin-top:18px}.ax-recap h3{font-size:.92rem;margin-bottom:10px}
.ax-recap dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:7px 14px;font-size:.77rem;margin:0}.ax-recap dt{color:var(--muted)}.ax-recap dd{margin:0;overflow-wrap:anywhere}
.ax-recap .text-link{margin-top:10px;font-size:.74rem;background:none;border:0;cursor:pointer;padding:6px 0;min-height:36px}
.ax-nav{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:22px;flex-wrap:wrap}.ax-nav .button{min-height:48px}.ax-nav #ax-next,.ax-nav #ax-send{margin-left:auto}
.ax-form [aria-invalid=true]{border-color:#b42318!important;box-shadow:0 0 0 2px #b4231822}
.ax-done{outline:none}.ax-done-card h2{font-size:1.7rem;margin:12px 0}.ax-done-ic{display:inline-flex;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;align-items:center;justify-content:center;font-size:1.3rem}
.ax-next-steps{font-size:.82rem;margin:16px 0;padding-left:20px}.ax-next-steps li{margin-bottom:6px}
.ax-comfort{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.ax-comfort h2{font-size:2.1rem}.ax-comfort p{font-size:.85rem;margin-top:14px}
.ax-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid var(--line);padding:22px;border-radius:3px}
.ax-tool{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.8rem;font-weight:500}
.ax-seg{display:flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}.ax-seg button{border:0;background:#fff;padding:8px 16px;min-height:44px;min-width:52px;cursor:pointer;color:var(--navy);font-weight:600}.ax-seg button+button{border-left:1px solid var(--line)}.ax-seg button.active{background:var(--navy);color:#fff}
.ax-seg button:nth-child(2){font-size:1.05em}.ax-seg button:nth-child(3){font-size:1.2em}
.ax-switch{display:flex;align-items:center;gap:10px;font-size:.8rem;border:1px solid var(--line);border-radius:3px;padding:10px 12px;min-height:46px;cursor:pointer}.ax-switch input{accent-color:var(--navy);width:18px;height:18px}
.ax-tools .text-link{grid-column:1/-1;justify-self:start;background:none;border:0;cursor:pointer;font-size:.76rem;padding:8px 0;min-height:40px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* réglages globaux de confort */
html.ax-text-1{font-size:112.5%}html.ax-text-2{font-size:125%}
html.ax-contrast{--muted:#2f3a42;--text:#0b1720;--line:#9aa5ac;--gold:#8a6412}
html.ax-contrast body{color:#0b1720}html.ax-contrast p,html.ax-contrast li,html.ax-contrast small,html.ax-contrast span{color:inherit}
html.ax-contrast .site-header,html.ax-contrast .section.cream,html.ax-contrast .page-head{border-bottom:1px solid #9aa5ac}
html.ax-spacing body{letter-spacing:.03em;word-spacing:.14em}html.ax-spacing p,html.ax-spacing li,html.ax-spacing dd{line-height:1.95!important}
html.ax-links main a:not(.button){text-decoration:underline!important;text-underline-offset:3px}
html.ax-motion *,html.ax-motion *::before,html.ax-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1023px){.ax-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ax-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ax-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ax-form-wrap{grid-template-columns:1fr;gap:30px}.ax-comfort{grid-template-columns:1fr;gap:26px}.ax-partners>div{grid-template-columns:repeat(2,minmax(0,1fr))}.ax-ref{grid-template-columns:180px minmax(0,1fr);gap:32px}.ax-ref-photo{width:180px;height:180px}}
@media(max-width:699px){.ax-ref{grid-template-columns:1fr;gap:22px;justify-items:center;text-align:center}.ax-ref-photo{width:160px;height:160px}.ax-ref-copy h2{font-size:1.9rem}.ax-commit,.ax-ref-links,.ax-ref .button-row{justify-content:center}.ax-ref-copy>p{margin-inline:auto}
 .ax-missions{margin-top:50px}.ax-mission-grid,.ax-cat-grid,.ax-steps,.ax-partners>div,.ax-choice,.ax-needs,.ax-tools{grid-template-columns:1fr}
 .ax-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.ax-filter button{white-space:nowrap;flex-shrink:0}
 .ax-form,.ax-done{padding:22px 16px}.ax-stepper{font-size:0;gap:4px}.ax-stepper li{justify-content:center}.ax-stepper li.cur{font-size:.7rem}
 .ax-form-intro h2,.ax-comfort h2{font-size:1.9rem}.ax-recap dl{grid-template-columns:1fr;gap:2px}.ax-recap dd{margin-bottom:8px}
 .ax-nav .button{flex:1 1 auto;justify-content:center}.ax-nav #ax-next,.ax-nav #ax-send{margin-left:0}.ax-jump button{font-size:.7rem;padding:8px 12px}}
@media print{.ax-jump,.ax-filter,#ax-confort,.ax-nav{display:none!important}}

/* ===== 16. v7.0 — Financement, formats, certifications, candidature freelance ===== */
.fin-off .fin-only,.fin-off .nav-fin{display:none!important}
.funding-card .fund-who{font-size:.84rem;margin-bottom:12px}.funding-card p+p{margin-top:12px}.funding-card small{margin-bottom:6px}
.fund-block .fund-rows{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.fund-rows>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.fund-rows dt{font-weight:600;color:var(--navy);font-size:.9rem}.fund-rows dt small{display:block;font-weight:400;color:var(--muted);font-size:.72rem;margin-top:3px}
.fund-rows dd{margin:0;font-size:.84rem;color:var(--text)}.fund-rows dd .text-link{display:inline-flex;margin-left:6px;font-size:.76rem}
.fund-note{font-size:.78rem;color:var(--muted);margin-top:16px}.fund-note .text-link{font-size:.76rem}
.rs-link{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;white-space:nowrap}.rs-link:hover{color:var(--navy)}
.cert-block{background:var(--cream);border-left:3px solid var(--gold-bright);padding:24px 26px}.cert-block h2{font-size:1.6rem;margin-bottom:12px}.cert-block p{margin-bottom:12px}
.project-strip .format-groups{display:grid;gap:14px;margin-top:22px}
.format-group h3{margin-bottom:8px}.format-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.format-group li a{font-size:.82rem;color:var(--navy);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;display:inline-block;padding:4px 0}
.format-group li a:hover{text-decoration-color:var(--gold)}
.fmt-badge{display:inline-block;font:600 .66rem var(--font);letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:2px}
.fmt-presentiel{background:#e7edf2;color:var(--navy)}.fmt-distanciel{background:#f4ead6;color:#7a5512}.fmt-hybride{background:#e6f0ea;color:#1d5a3a}
.project-types{list-style:none;padding:0;margin:4px 0 20px;font-size:.84rem}.project-types li{padding:5px 0 5px 20px;position:relative}.project-types li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700}
.footer-qualiopi .footer-cert,.footer-qualiopi .footer-cert-more{display:inline-flex;align-items:center;min-height:40px;font-size:.74rem;color:#fff;text-decoration:underline;text-underline-offset:4px;margin-right:16px}
.cert-card{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:center;border:1px solid var(--line);border-top:3px solid var(--gold-bright);padding:36px}
.cert-logo{background:#fff;display:flex;align-items:center;justify-content:center;padding:20px}.cert-logo img{width:100%;max-width:263px;height:auto}
.cert-copy h2{font-size:2.2rem;margin-bottom:14px}.cert-mention{font-size:.9rem;margin-bottom:18px}.cert-pending{font-size:.8rem;color:var(--muted);background:var(--cream);padding:12px 16px;border-left:2px solid var(--gold-bright)}
.cert-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:46px}.cert-cols p{font-size:.88rem;margin-bottom:14px}
.cert-compare{display:grid;gap:16px}.cert-compare article,.cert-exempt{background:#fff;border:1px solid var(--line);padding:24px}
.cert-compare h3,.cert-exempt h3{font-size:1.05rem;margin-bottom:6px}.cert-tag{font-size:.68rem!important;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:600;margin-bottom:10px!important}
.cert-compare p,.cert-exempt p,.cert-exempt li{font-size:.83rem}.cert-exempt ul{padding-left:18px;margin:8px 0 12px}.cert-exempt li{margin-bottom:8px}.cert-source{color:var(--muted);font-size:.74rem!important}
.cert-explain .text-link{display:inline-flex;margin:4px 14px 0 0;font-size:.78rem}
.link-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;min-height:44px}
.join-note{font-size:.84rem;background:var(--cream);border-left:3px solid var(--gold-bright);padding:12px 16px;margin-bottom:20px}
.req-tag{display:inline-block;margin-left:6px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--navy);padding:2px 7px;border-radius:2px;vertical-align:1px}
.field-hint{font-size:.72rem;color:var(--muted)}.field-error{font-size:.76rem;color:#b42318;font-weight:500;margin:0;min-height:0}
.join-form [aria-invalid=true]{border-color:#b42318!important;box-shadow:0 0 0 2px #b4231822}
/* navigation à 7 entrées */
@media (min-width:941px) and (max-width:1279px){.header-inner nav{gap:16px}.header-inner nav a{font-size:.74rem}.header-quote{padding-inline:14px;font-size:.7rem}}
@media (min-width:941px) and (max-width:1099px){.header-inner nav{gap:11px}.header-inner nav a{font-size:.7rem}.brand-type{font-size:.95rem}}
@media(max-width:1023px){.cert-card{grid-template-columns:220px minmax(0,1fr);gap:28px;padding:26px}.cert-cols{grid-template-columns:1fr;gap:26px}}
@media(max-width:699px){.fund-rows>div{grid-template-columns:1fr;gap:6px}.cert-card{grid-template-columns:1fr;padding:22px 18px}.cert-logo{max-width:220px}.cert-copy h2{font-size:1.8rem}.rs-link{white-space:normal}}

.course-hero h1.xlong{font-size:2.15rem!important;line-height:1.15}
@media(max-width:939px){.course-hero h1.xlong{font-size:1.85rem!important}}
@media(max-width:699px){.course-hero h1.xlong{font-size:1.6rem!important}}
@media(max-width:1023px){.cert-cols{grid-template-columns:minmax(0,1fr)!important}}
.cert-cols>*,.cert-compare>*,.cert-exempt{min-width:0}.cert-explain .text-link{white-space:normal;flex-wrap:wrap}
@media(max-width:699px){.detail-layout{grid-template-columns:minmax(0,1fr)!important}.detail-content,.detail-content h2{min-width:0;overflow-wrap:anywhere}}

/* ===== 17. v7.1 — Logo Qualiopi cliquable + aperçu du certificat ===== */
.qualiopi-logo-btn{display:block;padding:0;border:0;background:none;cursor:zoom-in;border-radius:4px;transition:transform .15s,box-shadow .15s;max-width:230px}
.qualiopi-logo-btn:hover,.qualiopi-logo-btn:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px #0006}
.qualiopi-logo-btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
.cert-logo .qualiopi-logo-btn{max-width:263px;box-shadow:none}.cert-logo .qualiopi-logo-btn:hover{box-shadow:0 6px 18px #0a283e22}
.footer-qualiopi .footer-cert.link-btn{color:#fff;font-size:.74rem;text-decoration:underline;text-underline-offset:4px;min-height:40px}
.cert-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 6px}.cert-facts>div{background:var(--cream);padding:10px 12px}
.cert-facts dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.cert-facts dd{margin:3px 0 0;font-weight:600;color:var(--navy);font-size:.86rem}
.cert-note{font-size:.72rem!important;color:var(--muted);margin-bottom:16px!important}
.cert-copy .button-row{align-items:center;flex-wrap:wrap;gap:12px}
.cert-dialog{width:min(920px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:6px;box-shadow:0 30px 80px #0008;display:none;flex-direction:column;overflow:hidden;background:#fff;color:var(--navy)}
.cert-dialog[open]{display:flex}.cert-dialog::backdrop{background:#061f31cc}
.cert-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 22px;border-bottom:1px solid var(--line)}
.cert-dialog-head h2{font-size:1.35rem;margin:0}.cert-dialog-head .eyebrow{margin-bottom:6px}.cert-dialog-sub{font-size:.76rem;color:var(--muted);margin-top:4px}
.cert-dialog-close{flex:0 0 44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:1rem;cursor:pointer;color:var(--navy)}
.cert-dialog-close:hover{background:var(--cream)}
.cert-dialog-body{overflow:auto;background:#eef1f3;padding:18px;flex:1;min-height:0;-webkit-overflow-scrolling:touch}
.cert-dialog-body img{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;box-shadow:0 8px 28px #0a283e26;background:#fff}
.cert-dialog-body iframe{width:100%;height:70vh;border:0}
.cert-dialog-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:14px 22px;border-top:1px solid var(--line)}
body.dialog-open{overflow:hidden}
@media(max-width:699px){.cert-facts{grid-template-columns:1fr 1fr}.cert-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.cert-dialog-body{padding:10px}.cert-dialog-actions{padding:12px 14px}.cert-dialog-actions .button{flex:1 1 100%;justify-content:center}.cert-dialog-head{padding:14px}}
.cert-compare{align-self:start}

/* ===== 18. v7.3 — Documents téléchargeables sur les fiches ===== */
.doc-list{display:grid;gap:10px}
.doc-btn{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);border-left:3px solid var(--gold-bright);background:#fff;border-radius:3px;min-height:56px;transition:border-color .15s,box-shadow .15s}
.doc-btn:hover,.doc-btn:focus-visible{border-color:var(--navy);box-shadow:0 6px 18px #0a283e14}
.doc-btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}
.doc-ic{flex:0 0 26px;width:26px;height:26px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.doc-btn strong{display:block;font-size:.86rem;color:var(--navy)}.doc-btn small{display:block;font-size:.7rem;color:var(--muted);margin-top:2px}
