/*!
 * THÈME 2 « NATURE » (12/10/2026) — code propriétaire. S'ajoute au socle du Thème 1.
 * Inspiré de « Kumo — Matcha » et « Indoor Garden » (Dribbble) : vert profond, crème, olive,
 * titres Anton très grands, formes organiques, aucune ombre dure.
 */
body.ns-theme2 { --t1-encre: #1c2a16; --t1-texte: #3a4733; --t1-doux: #6b7563; --t1-ligne: #ddd6c2; --t1-fond: #f3eedf; --t1-creme: #ece5d1;
    --n2-nuit: var(--t5-nuit, #0e1510); background: #f3eedf; font-family: 'Manrope', 'main-font-family', system-ui, sans-serif; }
body.ns-theme2 h1, body.ns-theme2 h2, body.ns-theme2 .t1-titre-section { font-family: 'Anton', 'Manrope', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .01em; line-height: .95; }
body.ns-theme2 .t1-titre-section { font-size: clamp(38px, 5.4vw, 72px); }
body.ns-theme2 .t1 .t1-serif, body.ns-theme2 .t1-serif { background: none; color: var(--t1-marque) !important; font-family: inherit; }
/* Plus d'ombres « BD » : courbes douces, ombres diffuses */
body.ns-theme2 .t1-formation, body.ns-theme2 .t2-fin, body.ns-theme2 .t2-avi, body.ns-theme2 .t2-membre, body.ns-theme2 .t2-une, body.ns-theme2 .t2-faq details,
body.ns-theme2 .t2-access, body.ns-theme2 .t1-session, body.ns-theme2 .t2-mini-parcours > div, body.ns-theme2 .t2-qualiopi, body.ns-theme2 .t7-carte, body.ns-theme2 .t7-formation, body.ns-theme2 .t8-kpi, body.ns-theme2 .t2-tuile, body.ns-theme2 .t1-carte-form {
    border: 0 !important; box-shadow: 0 18px 40px -26px rgba(28,42,22,.45) !important; background: #fbf8ef; border-radius: 34px; }
body.ns-theme2 .t1-formation:hover, body.ns-theme2 .t7-formation:hover, body.ns-theme2 .t2-membre:hover { transform: translateY(-6px); }
body.ns-theme2 .t1-btn.plein, body.ns-theme2 .t4-btn, body.ns-theme2 .t7-btn { border: 0 !important; box-shadow: none !important; background: var(--t1-marque) !important; color: #fff !important; }
body.ns-theme2 .t4-btn.jaune, body.ns-theme2 .t7-btn.acces { background: var(--t4-jaune) !important; color: #1c2a16 !important; }
body.ns-theme2 .t1-sur-titre { transform: none; box-shadow: none; border: 0; background: transparent; color: var(--t1-marque); padding: 0; letter-spacing: .18em; }
body.ns-theme2 .t1-sur-titre::before { background: var(--t4-jaune); box-shadow: none; width: 26px; height: 3px; border-radius: 2px; }
body.ns-theme2 .t2-defile { background: var(--n2-nuit); color: #e9efd9; border: 0; transform: none; }
body.ns-theme2 .t2-defile span { font-family: 'Anton', sans-serif; text-transform: uppercase; letter-spacing: .03em; font-weight: 400; }
body.ns-theme2 .t2-defile .t1-serif { color: var(--t4-jaune) !important; text-decoration: none; }
body.ns-theme2 .t2-sombre, body.ns-theme2 .t6-finance { background: var(--n2-nuit); border-radius: 48px; }
body.ns-theme2 .t2-appel { border: 0; box-shadow: none; border-radius: 48px; }
body.ns-theme2 .t1-pied { background: var(--n2-nuit); }
body.ns-theme2 .t1-pied .t2-filigrane { font-family: 'Anton', sans-serif; text-transform: uppercase; }
body.ns-theme2 .t1-formation .fleche-ronde { background: var(--t1-marque); color: #fff; border: 0; }
body.ns-theme2 .t1-etiquette { border: 0; }
body.ns-theme2 .t7-direct { background: var(--n2-nuit); border: 0; box-shadow: none; border-radius: 34px; }
body.ns-theme2 .t7-prochaine { border: 0; box-shadow: 0 18px 40px -26px rgba(28,42,22,.45); background: #fbf8ef; }
/* En-tête : pilule claire au défilement, liens crème sur le haut sombre */
body.ns-theme2 .t1-nav > a, body.ns-theme2 .t1-deroulant > button { font-weight: 600; }

/* ── Haut de l'accueil ── */
.n2-heros { position: relative; overflow: hidden; isolation: isolate; background:
    radial-gradient(60% 60% at 68% 45%, color-mix(in srgb, var(--t1-marque) 45%, transparent), transparent 70%),
    radial-gradient(40% 50% at 10% 100%, color-mix(in srgb, var(--t4-jaune) 18%, transparent), transparent 70%), var(--n2-nuit);
    color: #e9efd9; min-height: 100vh; min-height: 100svh; padding: 130px 0 40px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 0 0 48px 48px; }
.n2-grille { display: grid; grid-template-columns: 1.3fr .8fr .5fr; gap: 26px; align-items: center; position: relative; z-index: 2; flex: 1; }
.n2-badge { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--t4-jaune); }
.n2-titre { margin: 18px 0 20px; font-size: clamp(46px, 5.6vw, 92px); line-height: .92; color: #fff; hyphens: none; }
.t1 .n2-titre { color: #fff; }
.n2-titre .h { display: block; color: var(--t4-jaune); } .n2-titre .b { display: block; }
.n2-titre.petit { font-size: clamp(40px, 5.2vw, 84px); } .n2-titre.petit .h { display: inline; }
.n2-lead { max-width: 430px; font-size: 17px; color: rgba(233,239,217,.8); margin: 0 0 28px; }
.n2-actions { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.n2-btn { display: inline-flex; align-items: center; gap: 16px; background: var(--t1-marque); color: #fff !important; border-radius: 14px; padding: 8px 8px 8px 22px; font-weight: 700; }
.n2-btn span { width: 38px; height: 38px; border-radius: 10px; background: #fff; color: var(--t1-encre); display: grid; place-items: center; font-size: 22px; font-weight: 400; transition: transform .3s; }
.n2-btn:hover span { transform: rotate(90deg); }
.n2-lien { color: #e9efd9 !important; font-weight: 700; border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.n2-capsule { position: relative; justify-self: center; width: min(360px, 100%); }
.n2-capsule .cadre { position: relative; aspect-ratio: 3/4.4; border-radius: 999px 999px 40px 40px; overflow: hidden; border: 1px solid rgba(233,239,217,.22); background: #0a100c; box-shadow: 0 60px 90px -40px rgba(0,0,0,.8), inset 0 0 0 10px rgba(255,255,255,.03); }
.n2-capsule .cadre img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.05); transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
.n2-capsule:hover .cadre img { transform: scale(1.06); }
.n2-capsule .cadre::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(10,16,12,.7)); }
.n2-capsule.petite { width: min(270px, 100%); }
.n2-orbite { position: absolute; inset: -18px; border-radius: 999px 999px 52px 52px; border: 1px dashed color-mix(in srgb, var(--t4-jaune) 55%, transparent); animation: n2-respire 7s ease-in-out infinite; pointer-events: none; }
@keyframes n2-respire { 50% { inset: -26px; opacity: .5; } }
.n2-etiquette { position: absolute; left: -34px; bottom: 16%; display: flex; gap: 10px; align-items: center; background: #fbf8ef; color: #1c2a16; border-radius: 18px; padding: 10px 14px 10px 10px; font-weight: 800; font-size: 13px; line-height: 1.15; box-shadow: 0 20px 40px -20px rgba(0,0,0,.6); }
.n2-etiquette img { height: 36px; width: auto; }
.n2-produits { display: grid; gap: 12px; align-self: start; margin-top: 30px; }
.n2-produit { display: grid; grid-template-columns: 58px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; background: rgba(233,239,217,.06); border: 1px solid rgba(233,239,217,.12); border-radius: 18px; padding: 8px; transition: background .3s, transform .3s; }
.n2-produit:hover { background: rgba(233,239,217,.12); transform: translateX(-4px); }
.n2-produit img { grid-row: span 2; width: 58px; height: 58px; border-radius: 12px; object-fit: cover; }
.n2-produit b { color: #fff; font-size: 13.5px; line-height: 1.2; } .n2-produit small { color: var(--t4-jaune); font-weight: 700; font-size: 12.5px; }
.n2-bas { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; position: relative; z-index: 2; margin-top: 30px; flex-wrap: wrap; }
.n2-chiffres { display: flex; gap: 34px; flex-wrap: wrap; } .n2-chiffres b { display: block; font-family: 'Anton', sans-serif; font-size: 44px; font-weight: 400; color: #fff; line-height: 1; } .n2-chiffres span { color: rgba(233,239,217,.65); font-size: 13px; text-transform: uppercase; letter-spacing: .1em; }
.n2-slogan { margin: 0; text-align: right; font-family: 'Anton', sans-serif; text-transform: uppercase; font-size: clamp(30px, 4.4vw, 64px); line-height: .92; color: #fff; }
.n2-slogan em { font-style: normal; color: var(--t4-jaune); }
.n2-spores { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.n2-spores i { position: absolute; left: var(--x); bottom: -10px; width: var(--t); height: var(--t); border-radius: 50%; background: color-mix(in srgb, var(--t4-jaune) 70%, #fff); opacity: .55; animation: n2-monte var(--d) linear infinite; animation-delay: var(--r); box-shadow: 0 0 10px color-mix(in srgb, var(--t4-jaune) 70%, transparent); }
@keyframes n2-monte { 0% { transform: translate(0, 0); opacity: 0; } 10% { opacity: .6; } 100% { transform: translate(40px, -105vh); opacity: 0; } }
/* ── En-tête des pages intérieures ── */
.n2-page { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(50% 70% at 80% 40%, color-mix(in srgb, var(--t1-marque) 40%, transparent), transparent 70%), var(--n2-nuit); color: #e9efd9; padding: 140px 0 70px; border-radius: 0 0 48px 48px; }
.n2-page .t1-fil, .n2-page .t1-fil a { color: rgba(233,239,217,.65); }
.n2-page-grille { display: grid; grid-template-columns: 1.4fr .6fr; gap: 30px; align-items: center; position: relative; z-index: 2; }
.n2-puces { display: flex; gap: 10px; flex-wrap: wrap; } .n2-puces span { display: inline-flex; gap: 8px; align-items: center; border: 1px solid rgba(233,239,217,.22); border-radius: 999px; padding: 8px 14px; font-weight: 600; font-size: 14px; color: #e9efd9; }
.n2-puces svg { width: 17px; height: 17px; color: var(--t4-jaune); }
@media (prefers-reduced-motion: reduce) { .n2-spores, .n2-orbite { animation: none; display: none; } }
@media (max-width: 1100px) { .n2-grille { grid-template-columns: 1fr 1fr; } .n2-produits { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); margin-top: 0; } }
@media (max-width: 760px) {
    .n2-grille, .n2-page-grille { grid-template-columns: 1fr; } .n2-capsule { width: min(280px, 80%); } .n2-capsule.petite { display: none; }
    .n2-produits { grid-template-columns: 1fr; } .n2-etiquette { left: -10px; } .n2-slogan { text-align: left; }
    .n2-heros, .n2-page { border-radius: 0 0 30px 30px; }
}
body.ns-theme2.sur-heros .t1-entete:not(.defile) .t1-actions .t1-btn.plein { background: var(--t4-jaune) !important; color: #1c2a16 !important; border-color: var(--t4-jaune) !important; }
/* Lisibilité (12/10/2026) : les tuiles de couleur gardent un fond foncé sous leur texte blanc. */
body.ns-theme2 .t2-tuile.marque { background: var(--t1-marque) !important; } body.ns-theme2 .t2-tuile.sombre { background: var(--t5-nuit, #0b1020) !important; }
body.ns-theme2 .t2-tuile.marque h3, body.ns-theme2 .t2-tuile.marque p, body.ns-theme2 .t2-tuile.sombre h3 { color: #fff !important; } body.ns-theme2 .t2-tuile.sombre p { color: rgba(255,255,255,.75) !important; }
