/* ─── Arcademix LMS — Auth (Connexion / Inscription) — refonte maquettes ─── */
.alms-auth-page{
    --a:#5b3ff5;--a-d:#4a2fd0;--ink:#0f1222;--mut:#6b7280;--line:#e6e6ef;--bg:#f5f5fb;
    position:relative;width:100%;max-width:100%;margin:0;
    background:var(--bg);overflow:hidden;border-radius:16px;padding:3rem 1.25rem 3.5rem;box-sizing:border-box;
    font-family:inherit;color:var(--ink);
}
.alms-auth-page *{box-sizing:border-box;}
/* Cercles décoratifs */
.alms-auth-page::before,.alms-auth-page::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);z-index:0;pointer-events:none;}
.alms-auth-page::before{width:420px;height:420px;left:-140px;top:40px;background:radial-gradient(circle at 30% 30%,rgba(120,150,255,.28),rgba(120,150,255,0) 70%);}
.alms-auth-page::after{width:520px;height:520px;right:-160px;bottom:-40px;background:radial-gradient(circle at 60% 40%,rgba(150,120,255,.24),rgba(150,120,255,0) 70%);}

.alms-auth-inner{position:relative;z-index:1;max-width:520px;margin:0 auto;}
.alms-auth-head{text-align:center;margin-bottom:2rem;}
.alms-auth-h1{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .6rem;color:var(--ink);}
.alms-auth-sub{font-size:1rem;color:var(--mut);margin:0 auto;max-width:400px;line-height:1.55;}

.alms-auth-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2.25rem;box-shadow:0 24px 60px -30px rgba(20,20,60,.22);}
.alms-auth-card--mini{max-width:520px;margin:0 auto;text-align:center;padding:2rem;}
.alms-auth-card--mini a{color:var(--a);font-weight:600;}

.alms-auth-form{display:flex;flex-direction:column;gap:1.15rem;}
.alms-auth-field{display:flex;flex-direction:column;gap:.5rem;}
.alms-auth-field > label{font-size:.9rem;font-weight:600;color:var(--ink);}
.alms-auth-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.alms-auth-label-row label{font-size:.9rem;font-weight:600;}
.alms-auth-link{font-size:.82rem;color:var(--a);text-decoration:none;font-weight:600;}
.alms-auth-link:hover{text-decoration:underline;}

.alms-auth-inp{position:relative;display:flex;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:11px;transition:border-color .15s,box-shadow .15s;}
.alms-auth-inp:focus-within{border-color:var(--a);box-shadow:0 0 0 3px rgba(91,63,245,.13);}
.alms-auth-inp > .alms-auth-svg{position:absolute;left:.9rem;color:#9aa0ad;pointer-events:none;}
.alms-toggle-pass .alms-auth-svg{position:static;}
.alms-toggle-pass.is-on{color:var(--a);}
.alms-auth-inp input{flex:1;border:none;background:transparent;outline:none;padding:.85rem 1rem .85rem 2.7rem;font-size:.95rem;color:var(--ink);font-family:inherit;width:100%;border-radius:11px;}
.alms-auth-inp input::placeholder{color:#a7adba;}
.alms-toggle-pass{background:none;border:none;cursor:pointer;color:#9aa0ad;padding:0 .9rem;display:flex;align-items:center;}
.alms-toggle-pass:hover{color:var(--a);}
.alms-auth-hint{font-size:.78rem;color:#9aa0ad;}

.alms-auth-terms{display:flex;align-items:flex-start;gap:.6rem;font-size:.86rem;color:var(--mut);line-height:1.45;cursor:pointer;}
.alms-auth-terms input{width:18px;height:18px;margin-top:1px;accent-color:var(--a);flex:0 0 auto;}
.alms-auth-terms a{color:var(--a);text-decoration:none;font-weight:600;}
.alms-auth-terms a:hover{text-decoration:underline;}

.alms-auth-btn{width:100%;border:none;cursor:pointer;background:var(--a);color:#fff;font-size:1rem;font-weight:700;
    padding:.95rem 1rem;border-radius:12px;transition:background .15s,box-shadow .15s;box-shadow:0 12px 24px -12px rgba(91,63,245,.7);font-family:inherit;}
.alms-auth-btn:hover{background:var(--a-d);}
.alms-auth-btn:disabled{opacity:.7;cursor:default;}
.alms-auth-btn--secondary{background:#fff;color:var(--a);border:1.5px solid #d9d3f7;box-shadow:none;}
.alms-auth-btn--secondary:hover{background:#f3f1fd;color:var(--a);}

.alms-auth-sep{display:flex;align-items:center;text-align:center;gap:.9rem;margin:1.4rem 0;color:#a7adba;font-size:.82rem;}
.alms-auth-sep::before,.alms-auth-sep::after{content:"";flex:1;height:1px;background:var(--line);}

.alms-auth-socials{display:flex;flex-direction:column;gap:.7rem;}
.alms-auth-social{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;
    background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:.8rem 1rem;font-size:.92rem;font-weight:600;color:var(--ink);
    text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s;font-family:inherit;position:relative;}
.alms-auth-social:hover{border-color:#c7c7d6;background:#fafaff;}
.alms-auth-social svg{flex:0 0 auto;}

.alms-auth-foot{text-align:center;margin:1.5rem 0 0;font-size:.9rem;color:var(--mut);}
.alms-auth-foot a{color:var(--a);font-weight:700;text-decoration:none;}
.alms-auth-foot a:hover{text-decoration:underline;}

/* Notices */
.alms-auth-notice{border-radius:10px;padding:.7rem .9rem;font-size:.86rem;margin-bottom:1rem;}
.alms-auth-notice--success{background:#e7fbf0;color:#0a7c46;}
.alms-auth-notice--error{background:#fdecec;color:#c0342e;}
.alms-auth-notice--info{background:#eef2ff;color:#3949ab;}
.alms-auth-notice--warning{background:#fff4e5;color:#a35a00;}

/* Toast « bientôt disponible » */
.alms-auth-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);
    background:#0f1222;color:#fff;padding:.7rem 1.1rem;border-radius:10px;font-size:.86rem;z-index:9999;
    opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);}
.alms-auth-toast.is-show{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:560px){
    .alms-auth-h1{font-size:1.9rem;}
    .alms-auth-card{padding:1.5rem;}
    .alms-auth-page{padding:2.25rem 1rem 3rem;}
}

/* ─── Portail « Devenir instructeur » (gate non connecté) ─────────────────── */
.alms-fb-gate{max-width:560px;margin:0 auto;padding:3rem 1.5rem;text-align:center;}
.alms-fb-gate__hero-ico{width:96px;height:96px;margin:0 auto 1.5rem;border-radius:50%;
    background:#efeafd;color:#5b3ff5;display:flex;align-items:center;justify-content:center;}
.alms-fb-gate__hero-ico svg{width:44px;height:44px;}
.alms-fb-gate h1,.alms-fb-gate h3{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .75rem;color:#0f1222;}
.alms-fb-gate p{color:#6b7280;font-size:1.02rem;line-height:1.55;max-width:420px;margin:0 auto 2rem;}
.alms-fb-gate__actions{display:flex;flex-direction:column;gap:.85rem;max-width:420px;margin:0 auto;}
.alms-fb-gate__btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;
    padding:1rem;border-radius:12px;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s;}
.alms-fb-gate__btn--primary{background:#5b3ff5;color:#fff;box-shadow:0 12px 24px -12px rgba(91,63,245,.7);}
.alms-fb-gate__btn--primary:hover{background:#4a2fd0;color:#fff;}
.alms-fb-gate__btn--outline{background:#fff;color:#5b3ff5;border:1.5px solid #d9d3f7;}
.alms-fb-gate__btn--outline:hover{background:#f3f1fd;}
.alms-fb-gate--pending,.alms-fb-gate--error{background:#fff;border:1px solid #e6e6ef;border-radius:16px;padding:2.5rem;}
.alms-fb-gate--pending .alms-fb-gate__icon,.alms-fb-gate--error .alms-fb-gate__icon{font-size:3rem;margin-bottom:1rem;}

/* ═══ Landing « Devenir instructeur » — [alms_devenir_instructeur] ═════════ */
.alms-di{--a:#5b3ff5;--a-d:#4a2fd0;--ink:#0f1222;--mut:#6b7280;--line:#e6e6ef;
    width:100vw;margin-left:50%;transform:translateX(-50%);color:var(--ink);font-family:inherit;}
.alms-di *{box-sizing:border-box;}
.alms-di .alms-di-svg{flex:0 0 auto;}
.alms-di-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem;font-weight:700;
    padding:.85rem 1.4rem;border-radius:12px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s;font-family:inherit;}
.alms-di-btn .alms-di-svg{width:18px;height:18px;}
.alms-di-btn--primary{background:var(--a);color:#fff;box-shadow:0 14px 28px -14px rgba(91,63,245,.75);}
.alms-di-btn--primary:hover{background:var(--a-d);color:#fff;}
.alms-di-btn--block{width:100%;}
.alms-di-btn--lg{padding:1rem 1.6rem;font-size:1rem;}

/* HERO */
.alms-di-hero{background:radial-gradient(1200px 500px at 80% -10%,rgba(91,63,245,.35),transparent 60%),linear-gradient(180deg,#12122b 0%,#0d0d1f 100%);color:#fff;padding:4rem 1.25rem;}
.alms-di-hero__inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.4fr .9fr;gap:2.5rem;align-items:center;}
.alms-di-kicker{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#b9a9ff;margin-bottom:1rem;}
.alms-di-hero__title{font-size:2.9rem;line-height:1.08;font-weight:800;letter-spacing:-.02em;margin:0 0 1.1rem;color:#fff;}
.alms-di-hero__title span{color:#8f78ff;display:block;}
/* Forcer les couleurs des titres contre le thème (Astra) */
.alms-di-hero__card h3{color:var(--ink);}
.alms-di-h2{color:var(--ink);}
.alms-di-why__card h3,.alms-di-step h4,.alms-di-who__body h2,.alms-di-apply h2,.alms-di-apply--done h3{color:var(--ink);}
.alms-di-band__body h3{color:#fff;}
.alms-di-feat__t{color:#fff;}
.alms-di-hero__sub{color:#c7c8d6;font-size:1.05rem;line-height:1.6;margin:0 0 1.8rem;max-width:520px;}
.alms-di-hero__feats{display:flex;flex-direction:column;gap:1.1rem;}
.alms-di-feat{display:flex;gap:.85rem;align-items:flex-start;}
.alms-di-feat__ico{width:42px;height:42px;flex:0 0 auto;border-radius:11px;background:rgba(143,120,255,.18);color:#b9a9ff;display:flex;align-items:center;justify-content:center;}
.alms-di-feat__t{font-weight:700;font-size:.98rem;}
.alms-di-feat__s{color:#a9aabb;font-size:.86rem;margin-top:.15rem;}
.alms-di-hero__card{background:#fff;color:var(--ink);border-radius:18px;padding:2rem;box-shadow:0 30px 70px -30px rgba(0,0,0,.55);}
.alms-di-hero__card-ico{width:52px;height:52px;border-radius:13px;background:#efeafd;color:var(--a);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.alms-di-hero__card h3{font-size:1.25rem;font-weight:800;margin:0 0 .5rem;}
.alms-di-hero__card p{color:var(--mut);font-size:.92rem;line-height:1.55;margin:0 0 1.25rem;}
.alms-di-hero__card-note{text-align:center;font-size:.82rem;color:var(--mut);margin:.9rem 0 0;}

/* Sections génériques */
.alms-di-sec{max-width:1100px;margin:0 auto;padding:3.5rem 1.25rem;}
.alms-di-h2{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;text-align:center;margin:0 0 2.2rem;}
.alms-di-h2 span{color:var(--a);}
.alms-di-h2--left{text-align:left;margin-bottom:.75rem;}

/* POURQUOI */
.alms-di-why{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.alms-di-why__card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.8rem;}
.alms-di-why__ico{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff;}
.alms-di-why__ico--i{background:var(--a);}
.alms-di-why__ico--o{background:#f5871f;}
.alms-di-why__ico--t{background:#12a5a5;}
.alms-di-why__card h3{font-size:1.12rem;font-weight:700;margin:0 0 .5rem;}
.alms-di-why__card p{color:var(--mut);font-size:.92rem;line-height:1.55;margin:0;}

/* COMMENT */
.alms-di-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;position:relative;}
.alms-di-step{text-align:center;padding:0 .4rem;}
.alms-di-step__top{position:relative;display:flex;justify-content:center;margin-bottom:1rem;}
.alms-di-step__ico{width:64px;height:64px;border-radius:50%;background:#f3f2fb;color:var(--a);display:flex;align-items:center;justify-content:center;}
.alms-di-step__num{position:absolute;top:-6px;left:calc(50% - 44px);width:26px;height:26px;border-radius:50%;background:var(--a);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:3px solid #fff;}
.alms-di-step h4{font-size:1rem;font-weight:700;margin:0 0 .4rem;}
.alms-di-step p{color:var(--mut);font-size:.85rem;line-height:1.5;margin:0;}

/* QUI */
.alms-di-who{background:#f3f2fb;border-radius:20px;padding:2.2rem;display:flex;gap:2rem;align-items:center;}
.alms-di-who__ico{width:120px;height:120px;flex:0 0 auto;border-radius:24px;background:#fff;color:var(--a);display:flex;align-items:center;justify-content:center;}
.alms-di-who__ico .alms-di-svg{width:56px;height:56px;}
.alms-di-who__body p{color:var(--mut);font-size:1rem;line-height:1.55;margin:0 0 1.1rem;}
.alms-di-tags{display:flex;flex-wrap:wrap;gap:.6rem;}
.alms-di-tag{background:#fff;border:1px solid #e2ddf7;color:#5b3ff5;font-size:.82rem;font-weight:600;padding:.45rem .9rem;border-radius:99px;}

/* BANDE CTA */
.alms-di-band{max-width:1100px;margin:1rem auto 0;background:radial-gradient(700px 300px at 15% 20%,rgba(91,63,245,.4),transparent 60%),#12122b;color:#fff;border-radius:20px;padding:2.2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.alms-di-band__ico{width:64px;height:64px;flex:0 0 auto;border-radius:50%;background:rgba(143,120,255,.2);color:#b9a9ff;display:flex;align-items:center;justify-content:center;}
.alms-di-band__body{flex:1;min-width:240px;}
.alms-di-band__body h3{font-size:1.3rem;font-weight:800;margin:0 0 .35rem;}
.alms-di-band__body p{color:#c7c8d6;font-size:.92rem;margin:0;}

/* CANDIDATURE */
.alms-di-apply{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2.2rem;box-shadow:0 24px 60px -34px rgba(20,20,60,.22);}
.alms-di-apply--done{text-align:center;}
.alms-di-apply__ico{width:64px;height:64px;margin:0 auto 1rem;border-radius:16px;background:#efeafd;color:var(--a);display:flex;align-items:center;justify-content:center;}
.alms-di-apply--done h3{font-size:1.4rem;font-weight:800;margin:0 0 .5rem;}
.alms-di-apply--done p{color:var(--mut);margin:0 0 1.4rem;}
.alms-di-apply__lead{text-align:center;color:var(--mut);margin:-1.4rem 0 1.6rem;}
.alms-di-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.3rem;}
.alms-di-field{display:flex;flex-direction:column;gap:.45rem;}
.alms-di-field--full{grid-column:1 / -1;}
.alms-di-field label{font-size:.85rem;font-weight:600;}
.alms-di-field input,.alms-di-field textarea{border:1.5px solid var(--line);border-radius:10px;padding:.7rem .85rem;font-size:.92rem;font-family:inherit;background:#fff;}
.alms-di-field input:focus,.alms-di-field textarea:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 3px rgba(91,63,245,.13);}
.alms-di-apply__note{text-align:center;font-size:.8rem;color:var(--mut);margin:.9rem 0 0;}
.alms-di-apply .alms-di-btn--lg{width:100%;}

/* FAQ */
.alms-di-faqwrap{max-width:1100px;margin:0 auto;padding:1rem 1.25rem 4rem;}
.alms-di-faq__head{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);margin-bottom:1rem;font-size:1.02rem;}
.alms-di-faq__head .alms-di-svg{color:var(--a);}
.alms-di-faq{display:flex;flex-direction:column;gap:.7rem;}
.alms-di-faq__item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.alms-di-faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:none;border:none;cursor:pointer;
    padding:1.05rem 1.2rem;font-size:.95rem;font-weight:600;color:var(--ink);text-align:left;font-family:inherit;}
.alms-di-faq__q .alms-di-svg{width:18px;height:18px;color:var(--mut);transition:transform .2s;}
.alms-di-faq__item.is-open .alms-di-faq__q .alms-di-svg{transform:rotate(180deg);}
.alms-di-faq__a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.alms-di-faq__item.is-open .alms-di-faq__a{max-height:240px;}
.alms-di-faq__a p{margin:0;padding:0 1.2rem 1.1rem;color:var(--mut);font-size:.9rem;line-height:1.55;}

@media(max-width:900px){
    .alms-di-hero__inner{grid-template-columns:1fr;}
    .alms-di-why{grid-template-columns:1fr;}
    .alms-di-steps{grid-template-columns:1fr 1fr;}
    .alms-di-hero__title{font-size:2.2rem;}
}
@media(max-width:560px){
    .alms-di-steps{grid-template-columns:1fr;}
    .alms-di-form__grid{grid-template-columns:1fr;}
    .alms-di-who{flex-direction:column;text-align:center;}
    .alms-di-h2--left{text-align:center;}
}
