/* Nocturne — sombre, sections pleine largeur, très grandes typographies. */
:root{
  --blanc:#122019; --papier:#0B1310; --papier-2:#1B2E26;
  --encre:#E9F6F0; --encre-2:#BCD3C9; --gris:#7C8F87;
  --vert:#2BE08A; --vert-fonce:#22B871; --menthe:#16352A;
  --accent:#FFD166; --accent-clair:#2E2817; --accent-encre:#0B1310;
  --brique:#FF6B5A; --brique-clair:#33191A;
  --lignes:#22382E; --lignes-2:#192A23;
  --r:4px; --r-lg:6px; --r-sm:3px; --r-btn:999px; --r-chip:999px;
  --bord:1px; --bord-fort:1px;
  --font:'Archivo','Noto Sans Arabic',system-ui,sans-serif;
  --poids-titre:800; --espacement-titre:-.045em;
  --carte-fond:#122019; --carte-bord:#22382E;
  --corps:16px;
}
html[dir="rtl"] body{font-family:'Noto Sans Arabic',sans-serif}
.n-body{background:var(--papier);color:var(--encre)}
a{color:var(--vert)}
a:hover{color:#6BEFB0}
main{padding:0 0 0}
.wrap{max-width:1180px}
input,select,textarea{background:#0B1310;color:var(--encre);border-color:var(--lignes)}
input::placeholder{color:#63756D}
thead th{background:#16251F;color:var(--encre);border-bottom-color:var(--lignes)}
tbody td{border-bottom-color:var(--lignes-2)}
table{background:var(--carte-fond)}
.tile{background:var(--menthe);color:var(--vert)}
.tile:hover{background:var(--vert);color:#06170F}
.btn-primary{background:var(--vert);color:#06170F;border-color:var(--vert)}
.btn-primary:hover{background:#6BEFB0;border-color:#6BEFB0;color:#06170F}
.btn-quiet{background:transparent;border-color:var(--lignes);color:var(--encre)}
.badge-verified{background:var(--vert);color:#06170F}
.badge-certified{background:var(--accent);color:#2A2104}
.pager a,.pager span{background:var(--carte-fond);border-color:var(--lignes);color:var(--encre)}
.chip{background:transparent;border-color:var(--lignes);color:var(--encre)}

.n-barre{position:sticky;top:0;z-index:60;background:rgba(11,19,16,.92);
  border-bottom:1px solid var(--lignes);backdrop-filter:blur(8px)}
.n-barre-in{max-width:1180px;margin:0 auto;padding:13px 20px;display:flex;align-items:center;
  justify-content:space-between;gap:18px}
.n-logo{font-weight:800;letter-spacing:-.05em;font-size:19px;color:var(--encre);text-decoration:none!important}
.n-logo span{color:var(--vert)}
.n-barre nav{display:flex;gap:3px;align-items:center;overflow-x:auto}
.n-barre nav a{color:var(--encre-2);padding:8px 12px;font-size:14.5px;text-decoration:none!important;white-space:nowrap}
.n-barre nav a:hover{color:var(--encre)}
.n-cta{border:1px solid var(--vert);border-radius:999px;color:var(--vert)!important}
.n-cta:hover{background:var(--vert);color:#06170F!important}

.n-ouverture{padding:90px 0 70px;border-bottom:1px solid var(--lignes);position:relative;overflow:hidden}
.n-ouverture::after{content:"";position:absolute;top:-260px;left:50%;width:900px;height:620px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(43,224,138,.14),transparent 66%);pointer-events:none}
.n-ouverture .wrap{position:relative;z-index:1}
.n-sur{color:var(--vert);font-size:13px;font-weight:700;margin-bottom:14px}
.n-ouverture h1{font-size:clamp(38px,8vw,86px);line-height:.98;max-width:16ch;margin-bottom:34px}
.n-cherche{display:flex;gap:10px;flex-wrap:wrap;max-width:720px}
.n-cherche input{flex:1 1 260px;min-height:58px;font-size:17px;border-radius:999px;padding:0 24px;
  background:#122019;border:1px solid var(--lignes)}
.n-cherche select{flex:0 0 190px;min-height:58px;border-radius:999px;padding:0 40px 0 22px;
  background-color:#122019;border:1px solid var(--lignes)}
.n-cherche button{min-height:58px;padding:0 34px;border:0;border-radius:999px;background:var(--vert);
  color:#06170F;font:inherit;font-weight:800;font-size:16px;cursor:pointer}
.n-cherche button:hover{background:#6BEFB0}
.n-compteurs{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px;color:var(--gris);font-size:14px}
.n-compteurs strong{color:var(--encre);font-size:19px;letter-spacing:-.03em}
.n-gratuit{color:var(--accent);font-weight:700}

.n-titre-section{font-size:clamp(20px,3vw,28px);margin-bottom:22px}
.n-domaines{padding:64px 0;border-bottom:1px solid var(--lignes)}
.n-domaines-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0}
.n-domaines-liste a{display:flex;align-items:center;gap:16px;padding:20px 4px;
  border-bottom:1px solid var(--lignes);color:var(--encre);text-decoration:none!important}
.n-domaines-liste a:hover{padding-left:12px;color:var(--vert)}
.n-num{color:var(--gris);font-size:12.5px;font-variant-numeric:tabular-nums}
.n-nom{flex:1;font-size:19px;font-weight:600;letter-spacing:-.02em}
.n-fleche{color:var(--vert);font-size:17px}

.n-formations{padding:64px 0;border-bottom:1px solid var(--lignes)}
.n-bandeaux{display:flex;flex-direction:column;gap:0;margin-top:14px}
.n-bandeau{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:24px;align-items:center;
  padding:22px 6px;border-top:1px solid var(--lignes);color:var(--encre);text-decoration:none!important}
.n-bandeau:last-child{border-bottom:1px solid var(--lignes)}
.n-bandeau:hover{background:#122019;padding-left:14px}
.n-bandeau h3{font-size:22px;margin:0 0 5px;letter-spacing:-.03em}
.n-prix{font-size:21px;font-weight:800;color:var(--vert);letter-spacing:-.03em;white-space:nowrap}
.n-bandeau .small{color:var(--gris)}

.n-sessions{padding:64px 0;border-bottom:1px solid var(--lignes)}
.n-sessions-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.n-sessions-liste a{display:flex;flex-direction:column;gap:5px;padding:20px;background:#122019;
  border:1px solid var(--lignes);border-radius:6px;color:var(--encre);text-decoration:none!important}
.n-sessions-liste a:hover{border-color:var(--vert)}
.n-sessions-liste time{color:var(--accent);font-weight:700;font-size:13.5px}
.n-sessions-liste span{color:var(--gris);font-size:13.5px}

.n-appel{padding:78px 0;text-align:center;background:#122019}
.n-appel h2{font-size:clamp(26px,5vw,46px);line-height:1.08;margin-bottom:16px}
.n-appel p{max-width:56ch;margin:0 auto 26px;color:var(--encre-2)}

.n-pied{background:#070D0B;border-top:1px solid var(--lignes);padding:54px 0 26px;color:var(--gris)}
.n-pied-grille{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.n-pied h3{color:var(--encre);font-size:13px;margin-bottom:12px}
.n-pied a{display:block;color:var(--encre-2);font-size:14px;padding:3px 0;text-decoration:none}
.n-pied a:hover{color:var(--vert)}
.n-pied-bas{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--lignes);margin-top:34px;padding-top:18px;font-size:13px}

@media (max-width:760px){
  .n-ouverture{padding:52px 0 44px}
  .n-bandeau{grid-template-columns:1fr;gap:12px}
  .n-domaines,.n-formations,.n-sessions{padding:44px 0}
  .n-appel{padding:52px 0}
}
