/*!
 * THÈME 4 « AURORA » (12/10/2026) — code propriétaire. S'ajoute au socle du Thème 1.
 * Inspiré de « AI Agency » et « AI Dashboard » (Dribbble) : aurore violette, verre dépoli, police Sora,
 * page claire lavande, cartes blanches translucides, aucune ombre dure.
 */
body.ns-theme4 { --a4-nuit: var(--t5-nuit, #08051c); --t1-encre: #17123a; --t1-texte: #3d3863; --t1-doux: #6f6a91; --t1-ligne: #e6e1f7; --t1-creme: #f1eefc;
    background: #f7f5ff; font-family: 'Sora', 'main-font-family', system-ui, sans-serif; }
body.ns-theme4 h1, body.ns-theme4 h2, body.ns-theme4 .t1-titre-section { font-weight: 700; letter-spacing: -.035em; }
body.ns-theme4 .t1 .t1-serif, body.ns-theme4 .t1-serif { background: linear-gradient(90deg, var(--t1-marque), var(--t4-corail)); -webkit-background-clip: text; background-clip: text; color: transparent !important; font-family: inherit; padding: 0; }
body.ns-theme4 .t1-formation, body.ns-theme4 .t2-fin, body.ns-theme4 .t2-avi, body.ns-theme4 .t2-membre, body.ns-theme4 .t2-une, body.ns-theme4 .t2-faq details, body.ns-theme4 .t2-access,
body.ns-theme4 .t1-session, body.ns-theme4 .t2-mini-parcours > div, body.ns-theme4 .t2-qualiopi, body.ns-theme4 .t7-carte, body.ns-theme4 .t7-formation, body.ns-theme4 .t8-kpi, body.ns-theme4 .t2-tuile, body.ns-theme4 .t1-carte-form {
    border: 1px solid rgba(255,255,255,.8) !important; background: rgba(255,255,255,.72) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 20px 50px -30px rgba(76,29,149,.45) !important; border-radius: 26px; }
body.ns-theme4 .t1-formation:hover, body.ns-theme4 .t7-formation:hover, body.ns-theme4 .t2-membre:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -28px rgba(109,40,217,.55) !important; }
body.ns-theme4 .t2-tuile.marque { background: linear-gradient(135deg, var(--t1-marque), var(--t1-second)) !important; } body.ns-theme4 .t2-tuile.marque h3, body.ns-theme4 .t2-tuile.marque p { color: #fff; }
body.ns-theme4 .t2-tuile.jaune { background: linear-gradient(135deg, color-mix(in srgb, var(--t4-jaune) 60%, #fff), #fff) !important; }
body.ns-theme4 .t2-tuile.sombre { background: var(--a4-nuit) !important; }
body.ns-theme4 .t1-btn.plein, body.ns-theme4 .t4-btn, body.ns-theme4 .t7-btn { border: 0 !important; box-shadow: 0 12px 26px -12px color-mix(in srgb, var(--t1-marque) 80%, transparent) !important; background: linear-gradient(135deg, var(--t1-marque), var(--t1-second)) !important; color: #fff !important; }
body.ns-theme4 .t1-btn.contour { border: 1px solid var(--t1-ligne) !important; background: rgba(255,255,255,.7) !important; }
body.ns-theme4 .t1-sur-titre { transform: none; box-shadow: none; border: 1px solid #ddd5fb; background: #fff; color: var(--t1-marque); }
body.ns-theme4 .t1-sur-titre::before { background: linear-gradient(135deg, var(--t1-marque), var(--t4-corail)); box-shadow: none; }
body.ns-theme4 .t2-defile { background: linear-gradient(90deg, var(--t1-marque), var(--t1-second)); color: #fff; border: 0; transform: none; }
body.ns-theme4 .t2-defile .t1-serif { -webkit-text-fill-color: #fff; color: #fff !important; background: none; text-decoration: underline; }
body.ns-theme4 .t2-sombre, body.ns-theme4 .t6-finance, body.ns-theme4 .t6-portail { background: radial-gradient(60% 70% at 70% 30%, color-mix(in srgb, var(--t1-second) 45%, transparent), transparent 70%), var(--a4-nuit); }
body.ns-theme4 .t2-appel { border: 0; box-shadow: none; } body.ns-theme4 .t2-appel::before { background: linear-gradient(120deg, color-mix(in srgb, var(--t1-marque) 85%, #000), color-mix(in srgb, var(--t4-corail) 70%, #000)); }
body.ns-theme4 .t1-pied { background: var(--a4-nuit); }
body.ns-theme4 .t1-formation .fleche-ronde { background: linear-gradient(135deg, var(--t1-marque), var(--t1-second)); color: #fff; border: 0; }
body.ns-theme4 .t1-etiquette { border: 0; }
body.ns-theme4 .t7-direct { background: radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--t4-corail) 40%, transparent), transparent 55%), var(--a4-nuit); border: 0; box-shadow: none; }
body.ns-theme4 .t7-prochaine { border: 0; box-shadow: 0 20px 50px -30px rgba(76,29,149,.45); }

/* Aurore animée */
.a4-aurore { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.a4-aurore i { position: absolute; width: 70vw; height: 50vh; border-radius: 50%; filter: blur(90px); opacity: .7; mix-blend-mode: screen; animation: a4-vague 18s ease-in-out infinite alternate; }
.a4-aurore i:nth-child(1) { background: var(--t1-marque); left: -20vw; top: 0; }
.a4-aurore i:nth-child(2) { background: var(--t1-second); right: -20vw; top: 10vh; animation-delay: -6s; animation-duration: 22s; }
.a4-aurore i:nth-child(3) { background: var(--t4-corail); left: 20vw; top: 35vh; opacity: .35; animation-delay: -11s; }
.a4-aurore i:nth-child(4) { background: var(--t4-jaune); left: 35vw; top: -15vh; width: 40vw; opacity: .3; animation-delay: -3s; }
@keyframes a4-vague { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(8vw, 4vh) scale(1.15); } 100% { transform: translate(-6vw, -3vh) scale(.95); } }
.a4-heros, .a4-page { position: relative; overflow: hidden; isolation: isolate; background: var(--a4-nuit); color: #fff; }
.a4-heros { padding: 150px 0 0; border-radius: 0 0 48px 48px; }
.a4-centre { text-align: center; position: relative; z-index: 2; }
.a4-puce { display: inline-block; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); border-radius: 999px; padding: 7px 16px; font-size: 13px; }
.a4-titre { color: #fff !important; font-size: clamp(40px, 5.6vw, 82px); line-height: 1.04; margin: 22px auto 18px; max-width: 980px; }
.a4-titre.petit { font-size: clamp(36px, 4.8vw, 68px); }
.a4-degrade { background: linear-gradient(90deg, color-mix(in srgb, var(--t4-jaune) 85%, #fff), #fff 60%, color-mix(in srgb, var(--t4-corail) 70%, #fff)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.a4-lead { color: rgba(255,255,255,.75); max-width: 600px; margin: 0 auto 30px; font-size: 16.5px; }
.a4-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.a4-btn { display: inline-flex; align-items: center; border-radius: 999px; padding: 14px 26px; font-weight: 600; background: #fff; color: #17123a !important; transition: transform .25s, box-shadow .25s; }
.a4-btn:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -12px rgba(255,255,255,.4); }
.a4-btn.verre { background: rgba(255,255,255,.08); color: #fff !important; border: 1px solid rgba(255,255,255,.28); backdrop-filter: blur(10px); }
/* Tableau de bord en verre */
.a4-tableau { position: relative; margin: 60px auto -1px; max-width: 1040px; display: grid; grid-template-columns: 200px 1fr; border-radius: 26px 26px 0 0; overflow: hidden;
    background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); border-bottom: 0; backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); box-shadow: 0 -20px 80px -30px color-mix(in srgb, var(--t1-second) 70%, transparent); text-align: left; }
.a4-cote { padding: 20px 14px; border-right: 1px solid rgba(255,255,255,.12); display: grid; gap: 4px; align-content: start; }
.a4-logo { display: flex; gap: 8px; align-items: center; margin-bottom: 16px; padding: 0 6px; } .a4-logo img { height: 26px; width: auto; max-width: 70px; object-fit: contain; } .a4-logo b { font-size: 13px; }
.a4-cote span { display: flex; gap: 10px; align-items: center; padding: 9px 10px; border-radius: 10px; font-size: 13px; color: rgba(255,255,255,.7); } .a4-cote span svg { width: 16px; height: 16px; }
.a4-cote span.on { background: rgba(255,255,255,.12); color: #fff; }
.a4-corps { padding: 20px; display: grid; gap: 16px; }
.a4-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.a4-kpis > div { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 14px; }
.a4-kpis small { color: rgba(255,255,255,.6); font-size: 12px; } .a4-kpis b { display: block; font-size: 30px; font-weight: 700; letter-spacing: -.03em; margin: 2px 0; } .a4-kpis em { font-style: normal; font-size: 11.5px; color: color-mix(in srgb, var(--t4-jaune) 80%, #fff); }
.a4-bas { display: grid; grid-template-columns: 1fr 1.2fr; gap: 12px; }
.a4-graph, .a4-liste { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 14px; }
.a4-graph .tete, .a4-liste .tete { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; } .a4-graph small, .a4-liste .tete a { color: rgba(255,255,255,.6); font-size: 12px; }
.a4-graph .barres { display: flex; gap: 10px; align-items: flex-end; height: 120px; }
.a4-graph .barres i { flex: 1; height: var(--h); border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, color-mix(in srgb, var(--t4-jaune) 80%, #fff), var(--t1-second)); transform-origin: bottom; animation: a4-pousse 1.2s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(.8s + var(--d)); }
@keyframes a4-pousse { from { transform: scaleY(0); } }
.a4-liste .ligne { display: flex; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.08); color: #fff !important; }
.a4-liste .pt { width: 8px; height: 8px; border-radius: 50%; background: var(--t4-corail); box-shadow: 0 0 10px var(--t4-corail); flex: none; }
.a4-liste .t { flex: 1; min-width: 0; } .a4-liste .t b { display: block; font-size: 13px; font-weight: 600; } .a4-liste .t small { color: rgba(255,255,255,.6); font-size: 11.5px; }
.a4-liste .t1-av { width: 24px; height: 24px; font-size: 9px; border-width: 2px; border-color: #2a1f5c; }
.a4-qualiopi { position: absolute; right: 18px; top: 16px; display: flex; gap: 8px; align-items: center; font-size: 12px; background: rgba(255,255,255,.9); color: #17123a; border-radius: 999px; padding: 5px 12px 5px 6px; font-weight: 700; }
.a4-qualiopi img { height: 22px; }
.a4-page { padding: 150px 0 80px; border-radius: 0 0 48px 48px; }
.a4-page .t1-fil, .a4-page .t1-fil a { color: rgba(255,255,255,.6); }
.a4-puces { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; } .a4-puces span { display: inline-flex; gap: 8px; align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 7px 14px; font-size: 13.5px; color: #fff; }
.a4-puces svg { width: 16px; height: 16px; color: var(--t4-jaune); }
@media (prefers-reduced-motion: reduce) { .a4-aurore i, .a4-graph .barres i { animation: none; } }
@media (max-width: 900px) { .a4-tableau { grid-template-columns: 1fr; } .a4-cote { display: none; } .a4-kpis { grid-template-columns: 1fr 1fr; } .a4-bas { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .a4-heros, .a4-page { border-radius: 0 0 30px 30px; } .a4-qualiopi { display: none; } }
body.ns-theme4.sur-heros .t1-entete:not(.defile):not(.ouvert) .t1-actions .t1-btn.contour { background: rgba(255,255,255,.08) !important; color: #fff !important; border-color: rgba(255,255,255,.4) !important; }
body.ns-theme4.sur-heros .t1-entete:not(.defile):not(.ouvert) .t1-nav > a.actif { color: #17123a !important; }
body.ns-theme4 .t1-entete.defile .t1-nav > a.actif { background: #17123a !important; color: #fff !important; }
.a4-titre { font-size: clamp(38px, 4.8vw, 70px); }
.a4-qualiopi { top: auto; bottom: 16px; right: 22px; }
.a4-corps { padding-bottom: 60px; }
body.ns-theme4 .t1-entete .t1-actions .t1-btn.plein, body.ns-theme4.sur-heros .t1-entete .t1-actions .t1-btn.plein { background: linear-gradient(135deg, var(--t1-marque), var(--t1-second)) !important; color: #fff !important; border: 0 !important; }
