/* NGOMAM - styles.css (extracted from inline index.html) */

*{margin:0;padding:0;box-sizing:border-box;}
/* 26/08/2026 : selection de texte re-autorisee sur tout le site (etait
   bloquee globalement sans raison fonctionnelle — correctif P1 accessibilite) */

/* H1 reel present pour le SEO/GEO/lecteurs d'ecran sur les pages ou le
   titre visuel est stylise en h2 pour des raisons de design — technique
   standard "visually hidden", n'affecte jamais le rendu visuel. */
.sr-only-seo{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

:root{
  --accent:#067500;
  --accent-mid:#71AD49;
  --accent-light:#9DD16A;
  --glow:rgba(6,117,0,0.13);
  --glow-strong:rgba(6,117,0,0.22);
  --border:rgba(113,173,73,0.18);
  --border-subtle:rgba(113,173,73,0.09);
  --bg-void:#040804;
  --bg-base:#070D07;
  --bg-surface:#0C150C;
  --bg-card:#111A11;
  --bg-elevated:#162216;
  --text-primary:#EEF4EE;
  --text-secondary:#8DAF8D;
  --text-muted:#567056;
  --text-dim:#3A5A3A;
  --radius:8px;
  --radius-lg:14px;
  --font-display:'Syne','Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-mono:'IBM Plex Mono','Monaco','Courier New',monospace;
}

[data-theme="light"]{
  /* Palette claire propre, fond blanc/gris neutre, pas de vert pâle */
  --bg-void:#F7F7F7;
  --bg-base:#F0F0F0;
  --bg-surface:#E8E8E8;
  --bg-card:#FFFFFF;
  --bg-elevated:#FAFAFA;
  --text-primary:#111111;
  --text-secondary:#444444;
  --text-muted:#666666;
  --text-dim:#999999;
  --border:rgba(0,0,0,0.1);
  --border-subtle:rgba(0,0,0,0.06);
  --glow:rgba(6,117,0,0.07);
  --glow-strong:rgba(6,117,0,0.13);
  /* Accents verts lisibles sur fond clair */
  --accent:#067500;
  --accent-mid:#3a8a1a;
  --accent-light:#2d7a0e;
}

body{font-family:var(--font-body);background:var(--bg-void);color:var(--text-primary);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
h1,h2,h3,h4,.section-title,.hero-h1-premium,.hero-hl-premium,.card-title,.nav-mega-title,.cta-premium h2,.legal-hero h1{font-family:var(--font-display);letter-spacing:-.02em;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}

/* ═══════════════════════════════════════════════════════════
   RESET GLOBAL ANTI-TRAITS PARASITES, DÉFINITIF
   Supprime toute source possible de lignes/bordures non désirées :
   images, liens, boutons, inputs, séparateurs, tableaux, focus.
   ═══════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;}
img,svg,video,canvas{border:none !important;outline:none !important;vertical-align:bottom;}
/* ═══════════════════════════════════════════════════════
   ANTI-PARASITIC LINES, GLOBAL DEFINITIVE RESET v3.0
   Suppression définitive de tous les traits nuisibles
   ════════════════════════════════════════════════════════ */
/* Reset border/outline sur tous les éléments non-input */
div,section,article,aside,header,footer,main,nav,ul,ol,li,span,p,h1,h2,h3,h4,h5,h6,blockquote,figure,figcaption{border:0;outline:0;}
/* Boutons & interactions */
button,a,[role="button"],[tabindex]{-webkit-tap-highlight-color:transparent;}
/* 26/08/2026 : l'ancien outline:none !important sur boutons/liens tuait
   aussi le focus clavier (:focus-visible) plus bas dans ce fichier —
   correctif P1 accessibilite, le focus visible est restaure ligne ~90 */
/* Suppression des séparateurs parasites entre blocs */
.section+.section,.section-alt+.section,.section+.section-alt,.section-alt+.section-alt{border-top:none !important;}
/* Lien d'evitement clavier (skip link) — invisible tant qu'il n'a pas le
   focus clavier, permet de sauter la nav (2 mega-menus, ~20 liens) pour
   aller directement au contenu principal. 27/08/2026 accessibilite. */
.skip-link{position:fixed;top:-60px;left:12px;z-index:100000;background:var(--accent);color:#fff;padding:.75rem 1.25rem;border-radius:8px;font-weight:700;font-size:.875rem;text-decoration:none;transition:top .18s ease;}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px;}
/* Cards et blocs, forcer border propre ou transparent */
[class*="card"]:not([class*="adm-"]):not([class*="cl-"]){outline:none;}
/* 27/08/2026 : la regle ci-dessus a une specificite plus forte que le
   *:focus-visible global plus bas dans ce fichier et le neutralisait pour
   TOUT element dont la classe contient "card" (.card, .nav-mega-card,
   .exp-card, .feat-card...) - un lien/carte cliquable au clavier n'avait
   plus AUCUN indicateur de focus visible. Restaure explicitement ici. */
[class*="card"]:not([class*="adm-"]):not([class*="cl-"]):focus-visible{outline:2px solid var(--accent-mid);outline-offset:2px;}
/* Inputs gardent leur border fonctionnel */
input,textarea,select{outline:none;}
input:focus,textarea:focus,select:focus{outline:none;}
/* Scrollbar propre */
::-webkit-scrollbar{width:5px;background:transparent;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(6,117,0,.3);border-radius:99px;}
/* Aucune ligne parasite sur les images/médias */
img,picture,video,iframe,canvas,svg{display:block;border:0 !important;outline:0 !important;}
/* Liste sans style */
ul,ol{list-style:none;}
/* Suppression underline par défaut */
a{text-decoration:none;}

a{outline:none;-webkit-tap-highlight-color:transparent;}
a:focus{outline:none;}
a:focus-visible{outline:2px solid var(--accent-mid);outline-offset:3px;}
button,input,select,textarea{outline:none;-webkit-appearance:none;}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-mid);outline-offset:3px;}
hr{display:none !important;}
table{border-collapse:collapse;border-spacing:0;}
td,th{border:none;}
fieldset{border:none;margin:0;padding:0;}
/* Empêcher tout halo/soulignement parasite sur hover */
.page *{-webkit-tap-highlight-color:transparent;}
/* ═══ BOUTONS : suppr outline bleu mobile Chrome/Safari ═══ */
*:focus{outline:none;}
*:focus-visible{outline:2px solid var(--accent-mid);outline-offset:2px;}
button::-moz-focus-inner{border:0;padding:0;}
a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(0,0,0,0);}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(113,173,73,.3);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:rgba(113,173,73,.55);}

/* Sections : fond uniforme, aucune transition colorée entre sections */
.section,.section-alt,.section-inner{border:none !important;outline:none !important;}
.section-alt{background:var(--bg-base);}
/* Cartes : aucune bordure par défaut non désirée */
.card{border-color:var(--border-subtle);}
/* Footer : pas de séparateur parasite en haut */
#footer{border-top:none !important;}
/* ═══════════════════════════════════════════════════════════ */

/* ── NAV ── */
#nav{position:sticky;top:0;z-index:900;background:rgba(5,11,5,0.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:none;box-shadow:0 4px 24px rgba(0,0,0,.35);}
[data-theme="light"] #nav{background:rgba(255,255,255,0.98);border-bottom:none;box-shadow:0 4px 20px rgba(0,0,0,.08);}
.nav-inner{display:flex;align-items:center;max-width:1380px;margin:0 auto;padding:0 2rem;height:64px;gap:0;}
.nav-logo{position:relative;cursor:pointer;height:38px;display:flex;align-items:center;flex-shrink:0;margin-right:2rem;}
.nav-logo::before{content:none;}
/* Shimmer blanc, clippé par un wrapper interne */
.nav-logo::after{content:none;}
/* Float doux, reste dans les limites du nav */
.nav-logo img{max-height:38px;width:auto;display:block;position:relative;z-index:1;
  animation:logo-life 4.5s ease-in-out infinite,logo-shadow 4.5s ease-in-out infinite;}
@keyframes logo-life{
  0%,100%{transform:translate(0px,0px)   rotate(0deg)  scale(1);}
  25%    {transform:translate(1px,-3px)  rotate(.4deg) scale(1.02);}
  50%    {transform:translate(-1px,-5px) rotate(-.3deg) scale(1.03);}
  75%    {transform:translate(1px,-3px)  rotate(.2deg) scale(1.02);}
}
@keyframes logo-shadow{
  0%,100%{filter:drop-shadow(0px 1px 4px rgba(0,0,0,.55));}
  50%    {filter:drop-shadow(0px 6px 12px rgba(0,0,0,.4));}
}
.nav-logo:hover img{animation:none !important;transform:translateY(-2px) scale(1.07) !important;filter:drop-shadow(0px 6px 14px rgba(0,0,0,.45)) !important;transition:transform .25s cubic-bezier(.22,1,.36,1),filter .25s ease !important;}
[data-theme="light"] .nav-logo img{opacity:1;}
/* LIGHT MODE: hero toujours sombre et percutant */
[data-theme="light"] #page-home .hero{
  background:linear-gradient(160deg,#f4faf4 0%,#eaf5ea 55%,#f0f9f0 100%) !important;
  --text-primary:#0d1f0d;
  --text-secondary:#2a4a2a;
  --text-muted:#3d5e3d;
  --text-dim:#5a7a5a;
  --accent:#067500;
  --accent-mid:#3a8a1a;
  --accent-light:#1a6b00;
  --bg-void:#f4faf4;
  --bg-base:#eaf5ea;
  --bg-surface:#dff0df;
  --bg-card:#ffffff;
  --bg-elevated:#f8fdf8;
  --border:rgba(6,117,0,0.15);
  --border-subtle:rgba(6,117,0,0.08);
  --glow:rgba(6,117,0,0.07);
  --glow-strong:rgba(6,117,0,0.14);
}
[data-theme="light"] .hero h1{color:#0d1f0d !important;}
[data-theme="light"] .hero h2{color:#0d1f0d !important;}
[data-theme="light"] .hero .hero-sub{color:#2a4a2a !important;}
[data-theme="light"] .hero-live-badge{color:#0a5200 !important;border-color:rgba(6,117,0,.45) !important;background:rgba(6,117,0,.08) !important;}
[data-theme="light"] .hero-live-badge span[style]{color:#067500 !important;text-shadow:0 0 8px rgba(6,117,0,.4) !important;}
[data-theme="light"] .hero .btn-ghost{color:#067500 !important;border-color:rgba(6,117,0,.4) !important;}
[data-theme="light"] .hero-proof-v2{background:rgba(6,117,0,.05) !important;border-color:rgba(6,117,0,.18) !important;}
[data-theme="light"] .hero-proof-v2-item{color:#2a4a2a !important;}
[data-theme="light"] .hero-hl{color:#067500 !important;-webkit-text-fill-color:#067500 !important;text-shadow:0 0 20px rgba(6,117,0,.3) !important;}
[data-theme="light"] #heroTw{color:#067500 !important;text-shadow:none !important;}
[data-theme="light"] .hero-svc-chip{background:rgba(6,117,0,.09) !important;border-color:rgba(6,117,0,.22) !important;color:#0a5200 !important;}

[data-theme="light"] .hero-float-badge{background:rgba(255,255,255,.92) !important;color:#067500 !important;border-color:rgba(6,117,0,.25) !important;}
[data-theme="light"] .app-window{background:#ffffff !important;border-color:rgba(6,117,0,.25) !important;box-shadow:0 20px 60px rgba(6,117,0,.12) !important;}
[data-theme="light"] .app-bar{background:#f0f8f0 !important;border-color:rgba(6,117,0,.12) !important;}
[data-theme="light"] .hero-tw-wrap #heroTw{color:#9DD16A !important;}
[data-theme="light"] .nav-logo:hover img{filter:none;}
.nav-logo-fallback{font-weight:800;font-size:1.25rem;color:var(--accent-light);letter-spacing:-0.02em;}
/* Primary links, pill style */
.nav-links{list-style:none;display:flex;gap:.15rem;flex:1;align-items:center;height:100%;}
.nav-links>li{position:static;height:100%;display:flex;align-items:center;}
.nav-links>li>a{display:flex;align-items:center;gap:.35rem;padding:.44rem .95rem;color:rgba(255,255,255,.55);text-decoration:none;font-size:.855rem;font-weight:500;transition:all .18s cubic-bezier(.22,1,.36,1);white-space:nowrap;border-radius:8px;border:1px solid transparent;letter-spacing:.01em;}
.nav-links>li>a:hover{color:rgba(255,255,255,.92);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.07);}
.nav-links>li>a.nav-active{color:#71AD49;background:rgba(6,117,0,.15);border-color:rgba(6,117,0,.35);font-weight:600;}
[data-theme="light"] .nav-links>li>a{color:rgba(20,20,20,.65);}
[data-theme="light"] .nav-links>li>a:hover{color:rgba(6,117,0,.95);background:rgba(6,117,0,.07);}
[data-theme="light"] .nav-links>li>a.nav-active{color:#4a8a28;background:rgba(6,117,0,.15);border-color:rgba(113,173,73,.3);}
.nav-chevron{font-size:.5rem;opacity:.5;transition:transform .25s cubic-bezier(.22,1,.36,1);margin-left:.1rem;}
.nav-has-mega:hover>.nav-link-btn .nav-chevron,
.nav-has-mega:focus-within>.nav-link-btn .nav-chevron,
.nav-has-dd:hover>a .nav-chevron,
.nav-has-dd:focus-within>a .nav-chevron{transform:rotate(180deg);}
/* Standard dropdown */
.nav-has-dd{position:relative;}
.nav-dd{position:absolute;top:calc(100% + 1px);left:0;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;min-width:220px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .18s,transform .18s;box-shadow:0 16px 48px rgba(0,0,0,.45);overflow:hidden;z-index:1000;}
.nav-has-dd:hover .nav-dd,.nav-has-dd:focus-within .nav-dd{opacity:1;pointer-events:all;transform:translateY(0);}
.nav-dd a{display:flex;align-items:center;gap:.75rem;padding:.8rem 1.1rem;color:var(--text-secondary);text-decoration:none;font-size:.845rem;border-left:3px solid transparent;transition:all .14s;}
.nav-dd a:hover{background:var(--glow);color:var(--text-primary);border-left-color:var(--accent-mid);}
.nav-dd-ico{width:28px;height:28px;border-radius:7px;background:var(--glow);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}
.nav-dd-sep{height:1px;background:var(--border-subtle);margin:.3rem 0;}
.nav-dd-foot{padding:.6rem 1.1rem;background:var(--bg-surface);}
.nav-dd-foot a{font-size:.78rem;color:var(--accent-light);padding:0;border:none;background:none;}
.nav-dd-foot a:hover{text-decoration:underline;border-left:none;background:none;}
/* MEGA MENU */
.nav-has-mega{position:static !important;}
.nav-link-btn{display:flex;align-items:center;gap:.35rem;padding:.44rem .95rem;height:auto;color:rgba(255,255,255,.55);text-decoration:none;font-size:.855rem;font-weight:500;transition:all .18s cubic-bezier(.22,1,.36,1);white-space:nowrap;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;letter-spacing:.01em;}
.nav-link-btn:hover{color:rgba(255,255,255,.92);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.07);}
.nav-link-btn.nav-active{color:#71AD49;background:rgba(6,117,0,.15);border-color:rgba(6,117,0,.35);font-weight:600;}
[data-theme="light"] .nav-link-btn{color:rgba(30,50,20,.65);}
[data-theme="light"] .nav-link-btn:hover{color:rgba(30,50,20,.95);background:rgba(0,0,0,.05);}
[data-theme="light"] .nav-link-btn.nav-active{color:#4a8a28;background:rgba(6,117,0,.15);}
.nav-mega{position:fixed;top:64px;left:0;right:0;background:rgba(8,16,8,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:none;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);box-shadow:0 24px 64px rgba(0,0,0,.6);z-index:999;}
.nav-has-mega:hover .nav-mega,.nav-has-mega:focus-within .nav-mega{opacity:1;pointer-events:all;transform:translateY(0);}
[data-theme="light"] .nav-mega{background:rgba(255,255,255,.98);box-shadow:0 24px 64px rgba(0,0,0,.14);border-bottom:1px solid var(--border-subtle);}
[data-theme="light"] .nav-mega-card{background:#F4F4F4;}
[data-theme="light"] .nav-mega-card:hover{background:rgba(6,117,0,.06);}
.nav-mega-inner{max-width:1100px;margin:0 auto;padding:2rem 2rem 1.75rem;display:grid;grid-template-columns:repeat(3,1fr) 220px;gap:1.5rem;align-items:start;}
.nav-mega-card{padding:1.1rem 1.1rem 1.25rem;border-radius:12px;border:1px solid var(--border);background:var(--bg-surface);text-decoration:none;display:block;transition:all .2s;cursor:pointer;}
.nav-mega-card:hover{border-color:#067500;background:rgba(6,117,0,.08);transform:translateY(-2px);}
.nav-mega-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:.75rem;}
.nav-mega-ico.g{background:rgba(113,173,73,.12);color:#71AD49;}
.nav-mega-ico.p{background:rgba(6,117,0,.14);color:#067500;}
.nav-mega-ico.o{background:rgba(6,117,0,.12);color:var(--accent-mid);}
.nav-mega-label{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.3rem;}
.nav-mega-title{font-size:.92rem;font-weight:700;color:var(--text-primary);margin-bottom:.4rem;}
.nav-mega-desc{font-size:.77rem;color:var(--text-muted);line-height:1.5;}
.nav-mega-cta{margin-top:.85rem;font-size:.75rem;font-weight:600;color:var(--accent-light);}
.nav-mega-side{border-left:1px solid var(--border);padding-left:1.5rem;}
.nav-mega-side-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.875rem;}
.nav-mega-side a{display:flex;align-items:center;gap:.5rem;padding:.45rem 0;color:var(--text-secondary);text-decoration:none;font-size:.82rem;border-bottom:none;transition:color .14s;}
.nav-mega-side a:last-child{border-bottom:none;}
.nav-mega-side a:hover{color:var(--accent-light);}
.nav-mega-side-ico{font-size:.85rem;width:18px;text-align:center;display:inline-flex;align-items:center;justify-content:center;}
.nav-mega-all{margin-top:1.25rem;display:flex;align-items:center;justify-content:center;gap:.4rem;color:var(--accent-mid);font-size:.78rem;font-weight:600;cursor:pointer;padding:.6rem;border-radius:8px;border:1px dashed var(--border);text-decoration:none;transition:all .2s;}
.nav-mega-all:hover{background:var(--glow);border-color:#067500;}
/* Right side actions */
.nav-actions{display:flex;align-items:center;gap:.6rem;margin-left:1.5rem;flex-shrink:0;}
.nav-cta{padding:.5rem 1.15rem;background:linear-gradient(135deg,#067500 0%,#0b9200 100%);color:#fff !important;border:none;border-radius:8px;font-weight:700;font-size:.84rem;cursor:pointer;text-decoration:none;transition:all .22s cubic-bezier(.22,1,.36,1);white-space:nowrap;letter-spacing:-.01em;box-shadow:0 2px 14px rgba(6,117,0,.3),inset 0 1px 0 rgba(255,255,255,0.12);}
.nav-cta:hover{background:linear-gradient(135deg,#0a8a00 0%,#0d9e00 100%);transform:translateY(-1px);box-shadow:0 8px 24px rgba(6,117,0,.45),inset 0 1px 0 rgba(255,255,255,0.15);}
.nav-cta-ghost{background:transparent\!important;color:var(--text-primary)\!important;border:1px solid var(--border)\!important;box-shadow:none\!important;margin-right:.25rem;}
.nav-cta-ghost:hover{background:var(--bg-card)\!important;border-color:var(--accent)\!important;color:var(--accent-light)\!important;transform:translateY(-1px);}
.theme-btn{width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:7px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.theme-btn:hover{background:var(--glow);color:var(--text-primary);}
/* Hamburger */
.hamburger{display:none;flex-direction:column;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:7px;cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0;flex-shrink:0;transition:all .2s;}
.hamburger:hover{background:var(--glow);}
.hamburger span{width:18px;height:2px;background:var(--text-secondary);border-radius:1px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* ─── MOBILE MENU ─── */
.mobile-menu{position:fixed;inset:0;top:62px;background:var(--bg-base);z-index:800;overflow-y:auto;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1),visibility 0s linear .28s;visibility:hidden;}
.mobile-menu.open{transform:translateX(0);visibility:visible;transition:transform .28s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s;}
.mobile-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:799;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.mobile-menu-overlay.open{opacity:1;visibility:visible;}
.mm-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border-subtle);}
.mm-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:.35rem;border-radius:6px;transition:color .2s,background .2s;line-height:1;}
.mm-close-btn:hover{color:var(--text-primary);background:var(--glow);}
.mm-body{padding:0 0 3rem;}
.mm-section{padding:1.5rem 1.25rem 0;}
.mm-section-hdr{display:flex;align-items:center;gap:.5rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.75rem;}
.mm-divider{height:1px;background:var(--border-subtle);margin:.75rem 1.25rem;}
.mm-link{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem;color:var(--text-secondary);text-decoration:none;font-size:.95rem;font-weight:500;border-radius:10px;transition:all .15s;margin-bottom:.2rem;}
.mm-link:hover,.mm-link:active{background:var(--glow);color:var(--text-primary);}
.mm-link-ico{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.mm-link-ico.g{background:rgba(113,173,73,.12);color:#71AD49;}
.mm-link-ico.p{background:rgba(6,117,0,.14);color:#067500;}
.mm-link-ico.o{background:rgba(245,158,11,.12);color:#f59e0b;}
.mm-link-ico.n{background:var(--bg-surface);color:var(--text-muted);}
.mm-link-info{flex:1;}
.mm-link-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.1rem;}
.mm-link-sub{font-size:.72rem;color:var(--text-muted);}
.mm-link-arrow{font-size:.7rem;color:var(--text-dim);}
.mm-cta-wrap{padding:1.25rem 1.25rem 0;}
.mm-cta{display:block;text-align:center;padding:.875rem;background:#067500;color:#fff !important;border-radius:10px;font-weight:700;font-size:.95rem;text-decoration:none;transition:opacity .2s;}
.mm-cta:hover{opacity:.9;}
.mm-sub-links{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1.25rem;}
.mm-sub-link{padding:.4rem .85rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);text-decoration:none;font-size:.78rem;transition:all .15s;}
.mm-sub-link:hover{border-color:#067500;color:var(--accent-light);}
@media(max-width:900px){.nav-has-mega,.nav-has-dd,.nav-links>li:not(.nav-no-hide){display:none;}}
@media(max-width:900px){.nav-links{display:none;} .hamburger{display:flex !important;}}

/* ── LAYOUT ── */
.pages-wrap{min-height:calc(100vh - 62px);}
.page{display:none !important;background:var(--bg-base);}
.page.page-active{display:block !important;}

/* ── HERO SECTIONS ── */
.hero{padding:3rem 2rem 4rem;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 55% at 18% -8%,rgba(6,117,0,.35),transparent 65%),radial-gradient(ellipse 45% 35% at 88% 92%,rgba(113,173,73,.13),transparent);pointer-events:none;z-index:0;}
.hero::after{display:none;}
.hero>/* Removed: *{position:relative;z-index:1} - caused stacking context issues */
.hero-tag{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 1.1rem;background:rgba(6,117,0,0.15);border:1px solid rgba(6,117,0,0.35);border-radius:999px;font-size:0.78rem;font-weight:700;color:var(--accent-light);text-transform:uppercase;letter-spacing:0.09em;margin-bottom:1.5rem;box-shadow:0 0 16px rgba(6,117,0,0.13);}
.hero-dot{width:6px;height:6px;border-radius:50%;background:#067500;animation:blink 2s infinite;box-shadow:0 0 6px var(--accent-light);}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
@keyframes fadeOut{0%{opacity:1;}100%{opacity:0;}}
@keyframes clWowIn{0%{opacity:0;transform:scale(1.04) translateY(18px);}60%{opacity:1;}100%{opacity:1;transform:scale(1) translateY(0);}}
@keyframes clWowSlide{0%{opacity:0;transform:translateY(28px);}100%{opacity:1;transform:translateY(0);}}
@keyframes clWowBurst{0%{transform:scale(0) rotate(-10deg);opacity:0;}60%{transform:scale(1.08) rotate(2deg);opacity:1;}100%{transform:scale(1) rotate(0deg);opacity:1;}}
@keyframes clWowLine{0%{width:0;}100%{width:100%;}}
@keyframes clParticleFly{0%{transform:translate(0,0) scale(1);opacity:.9;}100%{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0;}}
.cl-wow-overlay{position:fixed;inset:0;background:rgba(5,12,5,.98);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
.cl-wow-overlay.out{animation:fadeOut .55s ease forwards;}
.cl-wow-logo{font-size:3.2rem;font-weight:900;background:linear-gradient(135deg,#00ff88,#71AD49);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:clWowBurst .7s cubic-bezier(.22,1,.36,1) .2s both;}
.cl-wow-sub{color:rgba(113,173,73,.7);font-size:.9rem;letter-spacing:.25em;text-transform:uppercase;animation:clWowSlide .6s ease .5s both;opacity:0;}
.cl-wow-bar{height:2px;background:linear-gradient(90deg,transparent,#00ff88,transparent);margin-top:2rem;width:180px;animation:clWowLine .8s ease 1s both;}
.cl-wow-welcome{font-size:1.4rem;font-weight:700;color:#fff;margin-top:2.5rem;animation:clWowSlide .5s ease 1.3s both;opacity:0;}
.cl-wow-role{color:rgba(255,255,255,.45);font-size:.85rem;margin-top:.4rem;animation:clWowSlide .5s ease 1.5s both;opacity:0;}
.cl-wow-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#067500;}
.cl-kpi{opacity:0;}.cl-kpi.wow-in{animation:clWowSlide .5s cubic-bezier(.22,1,.36,1) both;}
.cl-welcome.wow-in{animation:clWowIn .6s cubic-bezier(.22,1,.36,1) both;}
.cl-card.wow-in{animation:clWowSlide .5s cubic-bezier(.22,1,.36,1) both;}
.hero h1{font-size:clamp(2.4rem,5.5vw,5.2rem);font-weight:900;line-height:1.15;margin:0 auto .6rem;letter-spacing:-0.025em;color:#fff;max-width:19ch;text-wrap:balance;}
.hero h2{font-size:clamp(2.4rem,5.5vw,5.2rem);font-weight:900;line-height:1.15;margin:0 auto .6rem;letter-spacing:-0.025em;color:#fff;max-width:19ch;text-wrap:balance;}.hero-tw-wrap{height:2.4rem;overflow:hidden;display:flex;align-items:center;margin-bottom:1.35rem;white-space:nowrap;}#heroTw{font-style:normal;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:700;line-height:1;letter-spacing:-.01em;color:var(--accent-light);text-shadow:0 0 14px rgba(157,209,106,0.3);white-space:nowrap;}
.hero h1 em{font-style:normal;color:var(--accent-light);text-shadow:0 0 16px rgba(157,209,106,0.35);}
.hero h2 em{font-style:normal;color:var(--accent-light);text-shadow:0 0 16px rgba(157,209,106,0.35);}
/* ── HERO ENTRANCE ANIMATION ── désactivé (replay gênant SPA) */
/* Hero h1 highlight */
/* 26/08/2026 : glow reduit (P2) — l'ancien double text-shadow 50px/100px
   produisait un effet neon juge excessif par rapport au positionnement
   premium recherche. */
.hero-hl{color:#9DD16A;-webkit-text-fill-color:#9DD16A;position:relative;text-shadow:0 0 18px rgba(157,209,106,.45);}
.hero-hl::after{content:none;}
.hero-tag,.hero h1,.hero-sub,.hero-actions{opacity:1;transform:none;}
/* ── TYPEWRITER ── */

#heroTw::after{content:'|';color:var(--accent-light);animation:tw-cur .65s step-end infinite;margin-left:2px;}
#heroTw.tw-done::after{display:none;}
@keyframes tw-cur{0%,100%{opacity:1;}50%{opacity:0;}}
.hero-sub{font-size:clamp(1rem,1.8vw,1.15rem);color:var(--text-secondary);max-width:640px;margin:0 auto 2.5rem;line-height:1.75;}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:none;}
.reveal-left{opacity:0;transform:translateX(-28px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);}
.reveal-left.visible{opacity:1;transform:none;}
.reveal-right{opacity:0;transform:translateX(28px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);}
.reveal-right.visible{opacity:1;transform:none;}
.delay-1{transition-delay:.08s;}.delay-2{transition-delay:.16s;}.delay-3{transition-delay:.24s;}.delay-4{transition-delay:.32s;}.delay-5{transition-delay:.4s;}
/* ── CARD HOVER GLOW ── */
.card{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .28s ease;}
.card:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 16px 40px rgba(0,0,0,.4),0 0 0 1px rgba(113,173,73,.25),0 0 32px rgba(113,173,73,.12);}
/* ── PAIN BADGE ── */
.pain-badge{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;padding:.28rem .65rem;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.18);border-radius:6px;font-size:.7rem;font-weight:700;color:#f87171;}
/* ── EXPERTISE ICONS ── */
.exp-ico{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1.2rem;}
/* 26/08/2026 (P2) : icones des 2 poles remplacees par de vraies SVG
   (etaient des emojis 🤖/💻). La 2e utilisait un indigo hors identite —
   passee dans la meme famille verte que le reste du site pour renforcer
   la coherence de marque (les 2 poles restent differencies par nuance,
   pas par changement de teinte). */
.exp-ico svg{width:26px;height:26px;}
.exp-ico-a{background:rgba(113,173,73,.12);border:1px solid rgba(113,173,73,.25);color:#71AD49;}
.exp-ico-d{background:rgba(6,117,0,.14);border:1px solid rgba(6,117,0,.3);color:#067500;}
[data-theme="light"] .exp-ico-a{color:#3a8a1a;}
[data-theme="light"] .exp-ico-d{color:#067500;}
.exp-ico-c{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.22);}
/* ── STAT BOX ── */
.stat-box{text-align:center;padding:2.5rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;}
.stat-box::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-mid),var(--accent-light));transform:scaleX(0);transform-origin:left;transition:transform .7s ease;}
.stat-box.visible::after{transform:scaleX(1);}
.stat-box:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 20px rgba(113,173,73,.08);}
.stat-num{font-size:3rem;font-weight:900;color:var(--accent-light);line-height:1;margin-bottom:.75rem;letter-spacing:-.03em;}
.stat-label{font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;line-height:1.5;}
/* ── TIMELINE ── */
.tl{position:relative;padding-left:2.75rem;}
.tl::before{content:'';position:absolute;left:.9rem;top:.5rem;width:2px;height:calc(100% - 1rem);background:linear-gradient(180deg,var(--accent-mid) 0%,rgba(113,173,73,.1) 100%);}
.tl-item{position:relative;padding-bottom:2.25rem;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{position:absolute;left:-2.75rem;top:.15rem;width:1.8rem;height:1.8rem;background:var(--bg-elevated);border:2px solid var(--accent-mid);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:var(--accent-light);z-index:1;}
.tl-dot.tl-active{background:linear-gradient(135deg,#067500,#71AD49);color:var(--bg-base);}
.tl-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.4rem;}
.tl-body{font-size:.85rem;color:var(--text-secondary);line-height:1.65;}
/* ── CTA PREMIUM ── */
.cta-premium{background:linear-gradient(135deg,var(--bg-surface),rgba(113,173,73,.05),var(--bg-surface));border:1px solid rgba(113,173,73,.22);border-radius:20px;padding:4.5rem 3rem;text-align:center;position:relative;overflow:hidden;}
.cta-premium::before{content:'';position:absolute;top:-60%;left:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(113,173,73,.07),transparent 70%);animation:cta-pulse 5s ease-in-out infinite;}
.cta-premium::after{content:'';position:absolute;bottom:-60%;right:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(113,173,73,.05),transparent 70%);animation:cta-pulse 5s ease-in-out infinite reverse;}
@keyframes cta-pulse{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(3%,-3%) scale(1.05);}}
.hero-scroll{margin-top:4rem;display:flex;justify-content:center;}

/* ══════════════════════════════════════════
   HERO WOW EFFECTS
══════════════════════════════════════════ */
/* Aurora background blobs */
.hero-aurora{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.au-b{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform;}
.au-1{width:900px;height:900px;background:radial-gradient(circle,rgba(6,117,0,.22) 0%,rgba(8,50,0,.08) 45%,transparent 65%);top:-400px;left:-280px;animation:au1 10s ease-in-out infinite alternate;}
.au-2{width:650px;height:650px;background:radial-gradient(circle,rgba(113,173,73,.14),transparent 65%);top:-130px;right:-230px;animation:au2 13s ease-in-out infinite alternate;animation-delay:-5s;}
.au-3{width:500px;height:500px;background:radial-gradient(circle,rgba(157,209,106,.1),transparent 65%);bottom:-160px;left:33%;animation:au3 8s ease-in-out infinite alternate;animation-delay:-3s;}
@keyframes au1{to{transform:translate(50px,35px) scale(1.08);}}
@keyframes au2{to{transform:translate(-35px,45px) scale(1.06);}}
@keyframes au3{to{transform:translate(25px,-30px) scale(1.1);}}
/* App window breathing glow */
@keyframes app-breathe{
  0%,100%{box-shadow:0 0 0 1px rgba(113,173,73,.08),0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(6,117,0,.15);}
  50%{box-shadow:0 0 0 1px rgba(113,173,73,.28),0 20px 60px rgba(0,0,0,.5),0 0 90px rgba(6,117,0,.32),0 0 160px rgba(113,173,73,.09);}
}
.app-hero{animation:app-breathe 4s ease-in-out infinite;}
/* Scan line inside app window */
.app-scan{position:relative;overflow:hidden;}
.app-scan::after{content:'';position:absolute;left:0;right:0;height:110px;background:linear-gradient(180deg,transparent,rgba(0,255,136,.045),transparent);animation:scan-line 4.5s ease-in-out infinite;pointer-events:none;z-index:3;}
@keyframes scan-line{0%{top:-110px;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:110%;opacity:0;}}
/* Hero badge shimmer */
.hero-tag{position:relative;overflow:hidden;}
.hero-tag::after{content:'';position:absolute;top:0;left:-100%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);animation:tag-shine 5s ease-in-out infinite;pointer-events:none;}
@keyframes tag-shine{0%,55%{left:-100%;}75%{left:150%;}100%{left:150%;}}
/* DOT GRID background */
.hero-dotgrid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(113,173,73,.18) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 100% 90% at 50% 0%,black 0%,transparent 75%);}
.hero-watermark{position:absolute;right:-1%;bottom:-8%;font-size:clamp(5rem,13vw,16rem);font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(113,173,73,.07);pointer-events:none;z-index:0;letter-spacing:-.05em;user-select:none;line-height:.85;text-transform:uppercase;white-space:nowrap;overflow:hidden;}
/* APP WINDOW SPINNING BORDER */
.app-spin-wrap{position:relative;width:100%;max-width:480px;}
.app-spin-ring-cont{position:absolute;inset:-2px;border-radius:16px;overflow:hidden;z-index:0;}
.app-spin-ring{position:absolute;width:250%;height:250%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(0deg);background:conic-gradient(from 0deg,transparent 48%,rgba(157,209,106,1) 58%,rgba(255,255,255,.98) 63%,rgba(113,173,73,1) 72%,rgba(6,117,0,.6) 80%,transparent);animation:spin-ring 3.5s linear infinite;filter:drop-shadow(0 0 8px rgba(157,209,106,.8));}
@keyframes spin-ring{to{transform:translate(-50%,-50%) rotate(360deg);}}
/* 2nd counter-rotating ring */
.app-spin-ring-b{background:conic-gradient(from 90deg,transparent 70%,rgba(6,117,0,.55) 79%,rgba(113,173,73,.45) 85%,transparent);animation:spin-ring 8s linear infinite reverse;filter:drop-shadow(0 0 5px rgba(6,117,0,.55));}
/* App window 3D hover */
.app-spin-wrap{transition:transform .45s cubic-bezier(.22,1,.36,1);}
.app-spin-wrap:hover{transform:perspective(1200px) rotateY(-5deg) rotateX(3deg) scale(1.015);}
.app-spin-wrap .app-window{position:relative;z-index:1;border:none !important;}
/* HERO eyebrow live badge */
/* ── BADGE SIGNATURE ── */
.badge-outer{position:relative;display:inline-flex;border-radius:999px;overflow:hidden;margin-bottom:2.2rem;filter:drop-shadow(0 0 22px rgba(34,197,94,.28)) drop-shadow(0 4px 18px rgba(0,0,0,.55));}
.badge-ring{position:absolute;width:250%;height:250%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(0deg);background:conic-gradient(from 0deg,transparent 52%,rgba(34,197,94,.45) 63%,rgba(113,173,73,.85) 69%,rgba(157,209,106,.98) 73%,rgba(255,255,255,.9) 76%,rgba(157,209,106,.98) 79%,rgba(113,173,73,.85) 83%,rgba(34,197,94,.45) 89%,transparent);animation:spin-ring 5s linear infinite;}
.badge-body{position:relative;z-index:1;display:inline-flex;align-items:center;background:rgba(3,11,3,.96);border-radius:999px;margin:1.5px;overflow:hidden;}
/* shimmer interne */
.badge-body::before{content:'';position:absolute;top:0;bottom:0;left:-80%;width:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);animation:badge-shim 7s ease-in-out infinite;pointer-events:none;z-index:5;}
@keyframes badge-shim{0%,65%{left:-80%;}80%,100%{left:130%;}}
.badge-seg{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.25rem;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;position:relative;z-index:2;}
.badge-pipe{width:1px;height:16px;background:linear-gradient(180deg,transparent,rgba(34,197,94,.3),transparent);flex-shrink:0;align-self:center;}
.badge-s1{color:rgba(157,209,106,.82);}
.badge-s2{color:rgba(255,255,255,.48);gap:.4rem;}
/* 26/08/2026 (P2) : le badge 3 segments (pilule, overflow:hidden) forcait
   un retour a la ligne casse sur petit ecran, faute de place pour "Studio
   de Systemes Intelligents" en majuscules. On masque ce premier segment
   sous 480px et on resserre le reste pour garder une vraie pilule sur
   une seule ligne — le positionnement "systemes intelligents" reste
   porte par le H1 juste en dessous. */
@media(max-width:480px){
  .badge-seg{padding:.55rem .85rem;font-size:.68rem;letter-spacing:.06em;}
  .badge-s1,.badge-s1+.badge-pipe{display:none;}
}
.badge-s3{color:#22c55e;text-shadow:0 0 14px rgba(34,197,94,.75);gap:.45rem;}
/* dot */
.badge-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.9);flex-shrink:0;animation:bdot-blink 1.6s ease-in-out infinite;}
.badge-dot::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;border:1px solid rgba(34,197,94,.5);top:50%;left:50%;transform:translate(-50%,-50%) scale(0);animation:bdot-ring 2s ease-out infinite;}
.badge-s3{position:relative;}
@keyframes bdot-blink{0%,100%{opacity:1;box-shadow:0 0 10px rgba(34,197,94,.9);}50%{opacity:.15;box-shadow:none;}}
@keyframes bdot-ring{0%{transform:translate(-50%,-50%) scale(0);opacity:.7;}100%{transform:translate(-50%,-50%) scale(2.8);opacity:0;}}
/* location pin anim */
.badge-pin{animation:pin-life 2s ease-in-out infinite alternate;transform-origin:center bottom;display:inline-flex;}
@keyframes pin-life{0%{transform:translateY(0) scale(1);}100%{transform:translateY(-2px) scale(1.2);}}
/* light mode */
[data-theme="light"] .badge-outer{filter:drop-shadow(0 0 14px rgba(6,117,0,.2)) drop-shadow(0 4px 14px rgba(0,0,0,.2));}
[data-theme="light"] .badge-body{background:rgba(240,250,240,.96);}
[data-theme="light"] .badge-s1{color:rgba(6,100,6,.8);}
[data-theme="light"] .badge-s2{color:rgba(20,60,20,.55);}
[data-theme="light"] .badge-s3{color:#067500;text-shadow:none;}
/* keep for compat */
.hero-live-dot-wrap,.hero-live-dot{display:none;}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6);}70%{box-shadow:0 0 0 8px rgba(34,197,94,0);}100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}}
/* HERO PROOF strip v2 */
.hero-proof-v2{display:flex;align-items:center;gap:0;margin-top:2rem;background:rgba(255,255,255,.03);border:1px solid rgba(113,173,73,.12);border-radius:12px;overflow:hidden;}
.hero-proof-v2-item{flex:1;text-align:center;padding:.75rem .5rem;font-size:.78rem;color:rgba(255,255,255,.55);border-right:1px solid rgba(113,173,73,.1);transition:background .2s;}
.hero-proof-v2-item:last-child{border-right:none;}
.hero-proof-v2-item strong{display:block;font-size:1.1rem;font-weight:800;color:var(--accent-light);line-height:1.2;margin-bottom:.15rem;}
/* ══════ HERO v2 PREMIUM ══════ */
#page-home .hero{min-height:92vh;display:flex;align-items:center;}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:1;pointer-events:none;}
/* Floating badges autour app-window */
/* hero-float-badge kept for compat but not used in hero */
.hero-float-badge{display:none;}
/* Service chips sous l'app-window */
.hero-svc-chips{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;width:100%;margin-top:.25rem;}
.hero-svc-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem 1rem;background:rgba(3,15,3,.88);border:1px solid rgba(113,173,73,.38);border-radius:999px;font-size:.72rem;font-weight:700;color:var(--accent-light);white-space:nowrap;backdrop-filter:blur(12px);box-shadow:0 2px 10px rgba(0,0,0,.35),0 0 8px rgba(113,173,73,.1);animation:chip-appear .6s ease both;}
.hero-svc-chip:nth-child(1){animation-delay:.1s;}
.hero-svc-chip:nth-child(2){animation-delay:.2s;}
.hero-svc-chip:nth-child(3){animation-delay:.3s;}
@keyframes chip-appear{0%{opacity:0;transform:translateY(8px);}100%{opacity:1;transform:none;}}
/* Social proof strip */
.hero-proof{display:flex;align-items:center;gap:1.5rem;margin-top:1.75rem;flex-wrap:wrap;}
.hero-proof-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:rgba(255,255,255,.5);font-weight:500;}
.hero-proof-item::before{content:'✓';color:#71AD49;font-weight:800;font-size:.9rem;}
/* App window glow box vivid */
.app-hero{animation:app-breathe-v2 3s ease-in-out infinite !important;}
@keyframes app-breathe-v2{
  0%,100%{box-shadow:0 0 0 1px rgba(113,173,73,.12),0 24px 60px rgba(0,0,0,.6),0 0 50px rgba(6,117,0,.2);}
  50%{box-shadow:0 0 0 1px rgba(113,173,73,.4),0 24px 60px rgba(0,0,0,.6),0 0 100px rgba(6,117,0,.45),0 0 160px rgba(113,173,73,.12);}
}
/* Hero sub, plus grand */
.hero-sub{font-size:1.12rem !important;line-height:1.8;color:rgba(255,255,255,.6) !important;}
/* Typewriter wrap, un peu plus grand */
.hero-tw-wrap{height:2.6rem !important;}
#heroTw{font-size:clamp(1.35rem,2.4vw,1.9rem) !important;font-weight:700;}
/* Hero section padding */
.hero-2col-inner{padding:5rem 2rem;}

/* Stat number glow on hover */
.hero-stat-val{transition:text-shadow .3s ease;}
.hero-stat-val:hover{text-shadow:0 0 10px rgba(157,209,106,.55);}

/* ── SECTION LAYOUT ── */
.section{padding:5rem 2rem;}
/* ═══ SUPPRESSION DÉFINITIVE DES TRAITS PARASITES ═══
   section-alt = même fond que section (bg-base).
   La profondeur visuelle vient des cartes internes, pas du fond de section.
   Résultat : ZÉRO ligne visible entre sections, maintenant et à l'avenir.
   IMPORTANT : pas de position/z-index ici pour éviter tout conflit de stacking. */
.section-alt{background:var(--bg-base);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-tag{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent-mid);margin-bottom:0.75rem;}
.section-title{font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;line-height:1.15;margin-bottom:1rem;letter-spacing:-.025em;background:linear-gradient(135deg,var(--text-primary) 0%,rgba(113,173,73,.85) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.section-title.no-grad{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;color:var(--text-primary);}
.section-sub{font-size:1rem;color:var(--text-secondary);max-width:580px;line-height:1.7;margin-bottom:3rem;}
/* ── SECTION BADGE / LABEL ── */
.section-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light);margin-bottom:.75rem;opacity:.9;}
.section-label::before{content:'';width:14px;height:2px;background:var(--accent-mid);border-radius:1px;display:inline-block;}
/* ── SECTION TITLE premium ── */
.section-title-wrap{margin-bottom:.25rem;}
/* ── HERO PREMIUM H1 ── */
.hero-hl-premium{display:block;background:linear-gradient(135deg,#71AD49 0%,#9DD16A 60%,#c8f0a0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900;letter-spacing:-.03em;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 2rem;border-radius:9px;font-weight:700;font-size:0.92rem;text-decoration:none;border:none;cursor:pointer;transition:all .28s cubic-bezier(.22,1,.36,1);letter-spacing:0.01em;}
.btn:focus-visible{outline:2px solid var(--accent-mid);outline-offset:3px;}
.btn-primary{background:linear-gradient(135deg,#067500 0%,#0b9200 100%);color:#fff !important;box-shadow:0 4px 20px rgba(6,117,0,0.35),inset 0 1px 0 rgba(255,255,255,0.12);}
.btn-secondary{background:transparent;color:var(--text-primary)\!important;border:1.5px solid var(--border);box-shadow:none;}
.btn-secondary:hover{background:var(--bg-card);border-color:var(--accent-light);color:var(--accent-light)\!important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(6,117,0,.15);}
.btn-primary:hover{background:linear-gradient(135deg,#0a8a00 0%,#0d9e00 100%);transform:translateY(-3px);box-shadow:0 16px 48px rgba(6,117,0,0.5),inset 0 1px 0 rgba(255,255,255,0.15);filter:brightness(1.05);}
.btn-primary:active{transform:translateY(0);background:#67a040;}
.btn-ghost{background:transparent;color:var(--accent-light);border:1.5px solid rgba(113,173,73,0.5);box-shadow:0 2px 8px rgba(6,117,0,0.06);}
.btn-ghost:hover{background:rgba(113,173,73,0.1);border-color:rgba(6,117,0,0.7);transform:translateY(-2px);box-shadow:0 8px 24px rgba(6,117,0,0.18);}
.btn-ghost:active{transform:translateY(0);}
.btn-sm{padding:0.55rem 1.1rem;font-size:0.82rem;}
.btn-lg{padding:1rem 2.5rem;font-size:1rem;border-radius:10px;}

/* ── CARDS ── */
.card-grid{display:grid;gap:1.5rem;}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}

.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:all 0.25s;}
.card:hover{border-color:rgba(113,173,73,.45);box-shadow:0 8px 32px rgba(113,173,73,.12);transform:translateY(-3px);}
.card-icon{width:52px;height:52px;background:linear-gradient(135deg,rgba(113,173,73,.15) 0%,rgba(113,173,73,.04) 100%);border:1px solid rgba(113,173,73,.3);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.35rem;box-shadow:0 2px 12px rgba(113,173,73,.08);transition:all .25s;}
.card-icon:hover,.card:hover .card-icon{background:linear-gradient(135deg,rgba(113,173,73,.25) 0%,rgba(113,173,73,.08) 100%);border-color:rgba(113,173,73,.5);transform:scale(1.07);}
.card-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:0.6rem;letter-spacing:-.01em;}
.card-body{font-size:.875rem;color:var(--text-secondary);line-height:1.65;}

/* Feature card */
.feat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 2rem;transition:all .25s;position:relative;overflow:hidden;}
.feat-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(113,173,73,.06) 0%,transparent 60%);opacity:0;transition:opacity .25s;pointer-events:none;}
.feat-card:hover{background:var(--bg-elevated);border-color:rgba(113,173,73,.35);transform:translateY(-2px);box-shadow:0 8px 28px rgba(113,173,73,.1);}
.feat-card:hover::before{opacity:1;}
.feat-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;}
.feat-body{font-size:.875rem;color:var(--text-secondary);line-height:1.65;}
.feat-icon{font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;vertical-align:-3px;color:var(--accent-light);}
.feat-icon svg{width:18px;height:18px;}

/* Stat card */
.stat-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;text-align:center;}
.stat-num{font-size:2.5rem;font-weight:800;color:var(--accent-light);line-height:1;}
.stat-label{font-size:0.82rem;color:var(--text-muted);margin-top:0.5rem;text-transform:uppercase;letter-spacing:0.06em;}

/* Process steps */
.steps{display:flex;flex-direction:column;gap:0;}
.step{display:flex;gap:1.5rem;padding:1.75rem 0;}
.step:last-child{}
.step-num{width:40px;height:40px;border-radius:50%;border:2px solid var(--accent-mid);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.875rem;color:var(--accent-light);flex-shrink:0;margin-top:0.1rem;}
.step-title{font-weight:600;color:var(--text-primary);font-size:1rem;margin-bottom:0.35rem;}
.step-body{font-size:0.875rem;color:var(--text-secondary);line-height:1.6;}

/* APP WINDOW CARDS */
.app-window{background:var(--bg-card);border:1px solid rgba(113,173,73,0.28);border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(113,173,73,0.08),0 20px 60px rgba(0,0,0,0.5),0 0 40px rgba(6,117,0,0.15);}
.app-bar{background:var(--bg-elevated);padding:0.8rem 1.1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0.75rem;}
.app-dots{display:flex;gap:0.45rem;}
.app-dots span{width:11px;height:11px;border-radius:50%;}
.d-r{background:#ff5f56;}.d-y{background:#ffbd2e;}.d-g{background:#27c93f;}
.app-title{flex:1;text-align:center;font-family:var(--font-mono);font-size:0.78rem;color:var(--text-muted);}
.app-body{padding:1.5rem;font-family:var(--font-mono);font-size:0.82rem;color:var(--text-primary);}
.app-line{padding:0.35rem 0;display:flex;align-items:center;gap:0.75rem;}
.app-line:last-child{}
.app-dot-g{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#067500,#71AD49);flex-shrink:0;}
.app-dot-y{width:7px;height:7px;border-radius:50%;background:#ffbd2e;flex-shrink:0;}
.app-val{margin-left:auto;color:var(--accent-light);}
.app-sep{border:none;margin:0;height:0;display:none;}
.app-stat{display:inline-block;padding:0.6rem 1.2rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:5px;margin:0.35rem 0.35rem 0.35rem 0;font-weight:600;color:var(--accent-light);}
.app-footer-line{padding-top:0.75rem;color:var(--text-muted);font-size:0.78rem;}

/* Progress bars */
.prog-wrap{margin:0.5rem 0;}
.prog-label{display:flex;justify-content:space-between;font-size:0.78rem;color:var(--text-muted);margin-bottom:0.35rem;}
.prog-bar{height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden;}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--accent-mid),var(--accent-light));border-radius:3px;}

/* Quote / Testimonial */
.blockquote{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem 2.5rem;font-size:1.1rem;font-style:italic;color:var(--text-secondary);line-height:1.7;}

/* Tags / Badges */
.tag{display:inline-block;padding:0.25rem 0.7rem;background:var(--glow);border:1px solid var(--border);border-radius:999px;font-size:0.75rem;font-weight:600;color:var(--accent-light);margin:0.2rem;}

/* Profile card */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}
.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;text-align:center;}
.profile-icon{width:64px;height:64px;border-radius:50%;background:var(--glow);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1rem;}
.profile-name{font-weight:700;color:var(--text-primary);font-size:1rem;margin-bottom:0.35rem;}
.profile-desc{font-size:0.875rem;color:var(--text-secondary);line-height:1.6;}

/* Comparison table */
.compare-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.compare-table th{padding:1rem 1.25rem;text-align:left;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--text-muted);background:var(--bg-surface);border-bottom:1px solid var(--border);}
.compare-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle);font-size:0.875rem;color:var(--text-secondary);}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table td:first-child{color:var(--text-primary);font-weight:500;}
.check-yes{color:var(--accent-light);font-weight:700;}
.check-no{color:var(--text-dim);}

/* CTA BAND */
.cta-band{background:linear-gradient(135deg,var(--bg-elevated),var(--bg-card));border:1px solid var(--border);border-radius:var(--radius-lg);padding:4rem 3rem;text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 100%,rgba(113,173,73,0.08),transparent);}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;margin-bottom:1rem;position:relative;}
.cta-band p{color:var(--text-secondary);max-width:520px;margin:0 auto 2.5rem;line-height:1.7;position:relative;}
/* sticky CTA removed */

/* ── SOCIAL PROOF STRIP ── */
.proof-strip{background:transparent;padding:1.5rem 2rem;overflow:hidden;}
.proof-strip-inner{display:flex;align-items:center;gap:2.5rem;justify-content:center;flex-wrap:wrap;}
.proof-item{display:flex;align-items:center;gap:.6rem;white-space:nowrap;}
.proof-num{font-size:1.1rem;font-weight:800;color:var(--accent-light);}
.proof-lbl{font-size:.78rem;color:var(--text-muted);}
.proof-sep{display:none;}
@media(max-width:600px){.proof-sep{display:none;}.proof-strip-inner{gap:1.25rem;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;}}

/* ── URGENCY BADGE ── */
.urgency-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:999px;padding:.3rem .85rem;font-size:.74rem;font-weight:700;color:#22c55e;margin-top:1rem;}
.urgency-dot{width:6px;height:6px;border-radius:50%;background:#067500;animation:blink 1.5s infinite;}

/* ── MICRO COPY UNDER CTA ── */
.cta-micro{font-size:.74rem;color:var(--text-dim);margin-top:.75rem;display:flex;align-items:center;gap:1.5rem;justify-content:center;flex-wrap:wrap;}
.cta-micro-item{display:flex;align-items:center;gap:.3rem;}

/* ── ENHANCED CTA BAND ── */
.cta-band-v2{background:linear-gradient(135deg,var(--bg-elevated),var(--bg-card));border:1px solid rgba(113,173,73,.3);border-radius:var(--radius-lg);padding:4.5rem 3.5rem;text-align:center;position:relative;overflow:hidden;box-shadow:0 0 60px rgba(113,173,73,.06);}
.cta-band-v2::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 120%,rgba(6,117,0,0.15),transparent);}
.cta-band-v2 h2{font-size:clamp(1.6rem,3.5vw,2.5rem);font-weight:800;margin-bottom:1rem;position:relative;letter-spacing:-.02em;}
.cta-band-v2 p{color:var(--text-secondary);max-width:540px;margin:0 auto 2rem;line-height:1.7;position:relative;font-size:1rem;}

/* ══════════════════════════════════════
   FOOTER, REDESIGN PREMIUM
══════════════════════════════════════ */
#footer{background:var(--bg-void);position:relative;overflow:hidden;}
/* Aurora footer */
.ft-aurora{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.ft-au{position:absolute;border-radius:50%;filter:blur(100px);}
.ft-au-1{width:560px;height:440px;background:radial-gradient(circle,rgba(6,117,0,.2),transparent 70%);top:-220px;left:-120px;animation:au1 16s ease-in-out infinite alternate;}
.ft-au-2{width:420px;height:360px;background:radial-gradient(circle,rgba(113,173,73,.13),transparent 70%);bottom:-120px;right:-80px;animation:au2 20s ease-in-out infinite alternate;animation-delay:-8s;}
/* Footer CTA hero section */
.ft-cta{padding:7rem 2rem 5.5rem;text-align:center;position:relative;z-index:1;background:#030A03;overflow:hidden;}
.ft-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% -8%,rgba(6,117,0,.28),rgba(6,117,0,.06) 55%,transparent 75%);pointer-events:none;z-index:0;}
.ft-cta::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(113,173,73,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(113,173,73,.035) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0;mask-image:radial-gradient(ellipse 85% 65% at 50% 25%,black,transparent);}
.ft-cta-inner{max-width:700px;margin:0 auto;position:relative;z-index:1;}
.ft-cta-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 1.1rem;background:rgba(6,117,0,.15);border:1px solid rgba(6,117,0,.38);border-radius:999px;font-size:.72rem;font-weight:700;color:var(--accent-light);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.75rem;box-shadow:0 0 20px rgba(6,117,0,.1);}
.ft-cta-badge-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:blink 2s infinite;box-shadow:0 0 6px #22c55e;}
.ft-cta h2{font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:900;line-height:1.05;margin-bottom:1.1rem;letter-spacing:-.04em;color:#fff;}
.ft-cta h2 em{font-style:normal;color:#9DD16A;-webkit-text-fill-color:#9DD16A;text-shadow:0 0 16px rgba(157,209,106,.4);}
.ft-cta-sub{color:var(--text-secondary);font-size:1.05rem;margin-bottom:2.5rem;line-height:1.65;max-width:520px;margin-left:auto;margin-right:auto;}
.ft-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.75rem;}
.ft-trust{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;}
.ft-trust-item{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem;}
.ft-trust-item::before{content:'✓';color:#71AD49;font-weight:800;font-size:.9rem;}
/* Footer stats strip */
.ft-stats{display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap;position:relative;z-index:1;background:linear-gradient(rgba(255,255,255,.015),rgba(255,255,255,.015)),#040804;}
.ft-stat{text-align:center;padding:1.75rem 3.5rem;position:relative;}
.ft-stat:not(:last-of-type)::after{content:'';position:absolute;right:0;top:25%;height:50%;width:1px;background:rgba(113,173,73,.12);}
.ft-stat-n{display:block;font-size:2rem;font-weight:900;color:var(--accent-light);letter-spacing:-.04em;line-height:1;}
.ft-stat-l{display:block;font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-top:.35rem;}
/* Footer links section */
.footer-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.footer-inner-wrap{position:relative;background:linear-gradient(180deg,rgba(2,7,2,.97) 0%,#020602 100%);overflow:hidden;}
.footer-inner-wrap::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 8% 60%,rgba(6,117,0,.11) 0%,transparent 65%),radial-gradient(ellipse 40% 50% at 90% 30%,rgba(113,173,73,.05) 0%,transparent 60%);pointer-events:none;}
.footer-inner-wrap::after{display:none;}
.footer-top{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:2.5rem;padding:4rem 2.5rem 3rem;margin-bottom:0;}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr;padding:2.5rem 1.5rem;gap:2rem;}}
@media(max-width:600px){.footer-top{grid-template-columns:1fr;padding:2rem 1.25rem;gap:2rem;}}
.footer-brand{display:flex;flex-direction:column;}
.footer-brand-logo{display:inline-block;cursor:pointer;margin-bottom:1.25rem;}
.footer-brand-logo img{max-height:40px;width:auto;filter:drop-shadow(0 0 6px rgba(113,173,73,.3));animation:ft-logo-sway 6s ease-in-out infinite;}
@keyframes ft-logo-sway{
  0%,100%{transform:rotate(-1.5deg) translateX(-2px);}
  25%    {transform:rotate(0deg)    translateX(2px)  skewX(.4deg);}
  50%    {transform:rotate(1.8deg)  translateX(3px);}
  75%    {transform:rotate(0deg)    translateX(-1px) skewX(-.3deg);}
}
.footer-brand-desc{font-size:.875rem;color:rgba(255,255,255,.38);line-height:1.8;max-width:260px;}
.footer-brand-tagline{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;padding:.4rem .85rem;background:rgba(113,173,73,.07);border:1px solid rgba(113,173,73,.14);border-radius:999px;font-size:.68rem;font-weight:700;color:rgba(113,173,73,.7);text-transform:uppercase;letter-spacing:.08em;}
.footer-brand-tagline::before{display:none;}
.footer-col h5{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:rgba(113,173,73,.6);margin-bottom:1.25rem;display:flex;align-items:center;gap:.55rem;}
.footer-col h5::before{content:'';width:14px;height:1.5px;background:linear-gradient(90deg,rgba(113,173,73,.8),rgba(113,173,73,.2));border-radius:2px;flex-shrink:0;}
.footer-col a{display:flex;align-items:center;font-size:.86rem;color:rgba(255,255,255,.35);text-decoration:none;margin-bottom:.55rem;padding:.2rem 0;gap:.5rem;transition:color .2s,gap .2s;}
.footer-col a::before{content:'';width:0;height:1.5px;background:var(--accent-light);border-radius:2px;transition:width .2s cubic-bezier(.22,1,.36,1);flex-shrink:0;}
.footer-col a:hover{color:rgba(255,255,255,.85);}
.footer-col a:hover::before{width:10px;}
.footer-bottom-wrap{position:relative;margin:0 2rem;padding:1.25rem 1rem;border-top:1px solid rgba(255,255,255,.05);}
.footer-bottom-wrap::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(113,173,73,.18) 40%,rgba(113,173,73,.18) 60%,transparent);}
.footer-bottom{padding:0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-size:.76rem;color:rgba(255,255,255,.25);font-weight:500;}
.footer-logo-wrap{cursor:pointer;}
.footer-logo-wrap img{max-height:30px;width:auto;opacity:.6;transition:opacity .3s;}
.footer-logo-wrap:hover img{opacity:1;}
.ft-divider{display:none;}
.footer-bottom-left{display:flex;flex-direction:column;gap:.2rem;}
.footer-tagline{font-size:.68rem;color:rgba(255,255,255,.16);letter-spacing:.04em;}
.footer-bottom-links{display:flex;gap:.15rem;flex-wrap:wrap;}
.footer-bottom-links a{font-size:.74rem;color:rgba(255,255,255,.28);text-decoration:none;padding:.25rem .6rem;border-radius:6px;transition:color .2s,background .2s;}
.footer-bottom-links a:hover{color:var(--accent-light);background:rgba(113,173,73,.07);}
.ft-social{display:flex;gap:.75rem;margin-top:1.75rem;}
.ft-social-link{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);text-decoration:none;transition:all .25s cubic-bezier(.22,1,.36,1);}
.ft-social-link svg{width:16px;height:16px;fill:currentColor;}
.ft-social-link:hover{background:rgba(113,173,73,.15);border-color:rgba(113,173,73,.4);color:var(--accent-light);transform:translateY(-3px);box-shadow:0 6px 20px rgba(113,173,73,.2);}
@media(max-width:600px){.ft-stat{padding:1.25rem 2rem;}.ft-cta{padding:4rem 1.25rem 3rem;}.ft-trust{gap:1rem;}}

/* FORMS */
.form-group{margin-bottom:1.25rem;}
.form-label{display:block;font-size:0.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.05em;}
.form-input{width:100%;padding:0.85rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;font-size:0.9rem;transition:all 0.2s;outline:none;}
.form-input:focus{border-color:#067500;box-shadow:0 0 0 3px var(--glow);}
.form-input::placeholder{color:#7A9A7A;}
[data-theme="light"] .form-input::placeholder{color:#6b7d6b;}
textarea.form-input{resize:vertical;min-height:130px;}
.form-hint{font-size:0.78rem;color:var(--text-muted);margin-top:0.4rem;}
.form-error{font-size:0.82rem;color:#ef4444;margin-top:0.5rem;}
.form-success{padding:1rem 1.5rem;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.3);border-radius:var(--radius);font-size:0.9rem;color:#22c55e;}

/* FILE UPLOAD */
.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;cursor:pointer;transition:all 0.2s;}
.upload-zone:hover{border-color:#067500;background:var(--glow);}
.upload-zone p{color:var(--text-muted);font-size:0.875rem;margin:0;}

/* LEGAL PAGES */
.legal-page{background:var(--bg-base);}
.legal-hero{padding:4rem 2rem 3rem;background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-base) 100%);border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.legal-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 20% 50%,rgba(113,173,73,0.06),transparent);pointer-events:none;}
.legal-hero-inner{max-width:960px;margin:0 auto;position:relative;}
.legal-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--text-dim);margin-bottom:1.5rem;}
.legal-breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .15s;}
.legal-breadcrumb a:hover{color:var(--accent-light);}
.legal-breadcrumb span{color:var(--text-dim);}
.legal-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;background:var(--glow);border:1px solid var(--border);border-radius:999px;font-size:.7rem;font-weight:700;color:var(--accent-light);text-transform:uppercase;letter-spacing:.07em;margin-bottom:1rem;}
.legal-hero-ico{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1.25rem;}
/* 27/08/2026 : les 6 variantes de couleur (vert/bleu/orange/rouge/violet/
   turquoise) sortaient de la charte NGOMAM (2 verts + neutre). Ramenees
   a la meme famille verte — differenciees par icone et texte, pas par
   un arc-en-ciel de couleurs. */
.legal-hero-ico.green,.legal-hero-ico.blue,.legal-hero-ico.orange,.legal-hero-ico.red,.legal-hero-ico.purple,.legal-hero-ico.teal{background:rgba(113,173,73,.12);border:1px solid rgba(113,173,73,.25);color:var(--accent-mid);}
.legal-hero h1{font-size:clamp(1.7rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-0.02em;color:var(--text-primary);margin-bottom:.6rem;}
.legal-hero h2{font-size:clamp(1.7rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-0.02em;color:var(--text-primary);margin-bottom:.6rem;}
.legal-hero-sub{font-size:1rem;color:var(--text-secondary);max-width:560px;line-height:1.65;}
.legal-hero-meta{display:flex;align-items:center;gap:1.25rem;margin-top:1.5rem;flex-wrap:wrap;}
.legal-hero-meta-item{display:flex;align-items:center;gap:.4rem;font-size:.79rem;color:var(--text-muted);}
.legal-hero-meta-item svg{opacity:.5;}
/* Legal nav bar */
.legal-nav-bar{background:var(--bg-surface);border-bottom:1px solid var(--border);overflow-x:auto;position:sticky;top:62px;z-index:80;}
.legal-nav-bar::-webkit-scrollbar{height:3px;}
.legal-nav-bar::-webkit-scrollbar-track{background:transparent;}
.legal-nav-bar::-webkit-scrollbar-thumb{background:var(--border);}
.legal-nav-inner{max-width:960px;margin:0 auto;display:flex;padding:0 2rem;}
.legal-nav-item{padding:.7rem 1rem;font-size:.79rem;font-weight:500;color:var(--text-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:all .15s;cursor:pointer;}
.legal-nav-item:hover{color:var(--text-primary);}
.legal-nav-item.active{color:var(--accent-light);border-bottom-color:var(--accent-mid);}
/* Legal body content */
.legal-body{max-width:960px;margin:0 auto;padding:3rem 2rem 5rem;display:grid;grid-template-columns:1fr 280px;gap:3rem;align-items:start;}
@media(max-width:860px){.legal-body{grid-template-columns:1fr;}.legal-sidebar{display:none;}}
.legal-content{}
.legal-section{margin-bottom:2.5rem;}
.legal-section-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1rem;padding-bottom:.875rem;border-bottom:1px solid var(--border-subtle);}
.legal-section-icon{width:36px;height:36px;border-radius:9px;background:var(--glow);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;margin-top:.1rem;color:var(--accent-mid);}
.legal-section-icon svg{width:18px;height:18px;}
.legal-section-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.3;}
.legal-section-text{font-size:.9rem;color:var(--text-secondary);line-height:1.8;margin-bottom:.75rem;}
.legal-section-text:last-child{margin-bottom:0;}
.legal-highlight{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin:1rem 0;}
.legal-highlight p{margin:0;font-size:.87rem;color:var(--text-secondary);}
.legal-list{list-style:none;padding:0;margin:.5rem 0 .75rem;}
.legal-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--border-subtle);font-size:.88rem;color:var(--text-secondary);line-height:1.5;}
.legal-list li:last-child{border-bottom:none;}
.legal-list li::before{content:"✓";color:var(--accent-mid);font-weight:700;flex-shrink:0;margin-top:.05rem;}
/* Sidebar */
.legal-sidebar{}
.legal-sidebar-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;}
.legal-sidebar-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim);margin-bottom:1rem;}
.legal-sidebar-nav a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:7px;color:var(--text-secondary);text-decoration:none;font-size:.83rem;transition:all .15s;margin-bottom:.15rem;}
.legal-sidebar-nav a:hover{background:var(--glow);color:var(--text-primary);}
.legal-sidebar-nav a.cur{background:var(--glow);color:var(--accent-light);font-weight:600;}
.legal-sidebar-ico{font-size:.85rem;width:18px;text-align:center;}
.legal-contact-box{background:linear-gradient(135deg,rgba(113,173,73,.1),rgba(113,173,73,.04));border:1px solid rgba(113,173,73,.25);border-radius:12px;padding:1.5rem;}
.legal-contact-box h4{font-size:.87rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;}
.legal-contact-box p{font-size:.8rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem;}
.legal-date-badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:.3rem .7rem;font-size:.75rem;color:var(--text-muted);}
@media(max-width:600px){.legal-hero{padding:2.5rem 1.25rem 2rem;}.legal-body{padding:2rem 1.25rem 4rem;}.legal-nav-inner{padding:0 .5rem;}}

/* ERROR PAGES */
.error-page{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;}
.error-code{font-size:7rem;font-weight:800;color:var(--text-dim);line-height:1;}
.error-title{font-size:1.75rem;font-weight:700;margin:1rem 0 0.75rem;}
.error-msg{color:var(--text-secondary);max-width:420px;margin-bottom:2.5rem;}

/* ANIM */
.fade-in{opacity:0;transform:translateY(18px);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);}
.fade-in.visible{opacity:1;transform:none;}

/* RESPONSIVE */
@media(max-width:900px){
  .hero{padding:3.5rem 1.5rem 3rem;}
  .section{padding:3.5rem 1.5rem;}
  .g3,.g2{grid-template-columns:1fr;}
  .hero-2col{grid-template-columns:1fr !important;}
}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  #navPageInd{display:none !important;}
  .nav-inner{padding:0 1rem;}
  .nav-logo{margin-right:auto;height:32px;}
  .nav-logo img{max-height:32px;max-width:160px;}
  .nav-actions{gap:.5rem;}
  .hero h1,.hero h2{font-size:clamp(1.7rem,7.2vw,2.35rem);line-height:1.2;max-width:none;}
  .cta-band{padding:2.5rem 1.5rem;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}
@media(max-width:768px){
  .hero-actions{flex-direction:column;align-items:stretch;gap:.75rem !important;justify-content:flex-start !important;margin-bottom:5.5rem;}
  /* 26/08/2026 (P2) : marge basse pour eviter que le bouton secondaire du
     hero ne se retrouve sous la bulle de chat flottante (position:fixed,
     coin bas-droit) sur petit ecran */
  /* 27/08/2026 (P2) : le CTA primaire du hero est en pleine largeur et peut
     se retrouver, selon la hauteur de l'ecran, exactement a la meme position
     verticale que la bulle MIGA (position:fixed, 70px, coin bas-droit) —
     cela masquait la fleche du bouton. On reserve l'espace de la bulle
     au niveau du CONTENEUR (padding-right), pas du bouton (margin) : un
     margin sur un bouton en width:100% s'additionne a cette largeur et
     provoque un debordement horizontal — bug reel trouve et corrige le
     27/08/2026 (2e passe) via verification DOM (getBoundingClientRect),
     pas de capture d'ecran disponible a ce moment-la. */
  .hero-actions{padding-right:4.75rem;box-sizing:border-box;}
  .btn{justify-content:center !important;width:100% !important;box-sizing:border-box;max-width:100%;}
  .btn-lg{padding:.85rem 1.5rem;font-size:.92rem;}
  .btn-ghost,.btn-primary{width:100% !important;}
  /* Cards with absolutely positioned buttons: reset to normal flow */
  a.btn[style*="position:absolute"]{position:static !important;margin-top:1rem;display:flex !important;width:auto !important;}
  /* Remove hover transform effects on touch (no flicker) */
  .btn:hover,.btn-primary:hover,.btn-ghost:hover{transform:none !important;box-shadow:none !important;}
  /* Better touch targets for footer links */
  .footer-col a{min-height:44px !important;padding:.4rem 0 !important;}
  /* Footer bottom links touch targets */
  .footer-bottom a{min-height:44px;display:inline-flex;align-items:center;padding:.3rem 0;}
}
@media(max-width:480px){
  .hero-tag{font-size:.68rem;padding:.3rem .75rem;}
  input,select,textarea{font-size:16px !important;}
  .form-input{font-size:16px !important;}
  .btn{font-size:.88rem;padding:.8rem 1rem;}
}
/* ── MOBILE COMPREHENSIVE ── */
@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr !important;gap:2.5rem !important;}
  /* Inline 2-col grids collapse to 1 col */
  [style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns: 1fr 1fr"]{
    grid-template-columns:1fr !important;
    gap:2rem !important;
  }
  [style*="grid-template-columns:repeat(2,1fr)"]{grid-template-columns:1fr !important;}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important;}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important;}
  /* Admin */
  .adm-layout{flex-direction:column;}
  .adm-sidebar{width:100% !important;height:auto;flex-direction:row;overflow-x:auto;padding:.75rem;border-right:none;border-bottom:1px solid var(--border);gap:.3rem;}
  .adm-sidebar .adm-nav-item{padding:.5rem .75rem;white-space:nowrap;}
  .adm-tc{padding:1rem !important;}
  /* Client portal */
  .cl-tabs{overflow-x:auto;flex-wrap:nowrap;padding:.5rem;gap:.3rem;}
  .cl-tab{white-space:nowrap;padding:.5rem .75rem;font-size:.8rem;}
  /* Chat */
  .chat-panel{width:calc(100vw - 2rem) !important;right:0 !important;}
  .chat-w{right:1rem !important;bottom:1rem !important;}
  /* Steps layout */
  .steps{gap:1.5rem;}
  /* App windows */
  .app-window{max-width:100% !important;}
  /* Hero window */
  .hero-scroll{padding:0;}
}
@media(max-width:600px){
  .adm-kpi-grid{grid-template-columns:repeat(2,1fr) !important;}
  .adm-charts-grid,#admChartsGrid{grid-template-columns:1fr !important;}
  /* Service pages before/after table */
  table{font-size:.78rem;}
  th,td{padding:.5rem .6rem !important;}
  /* Admin tables: horizontal scroll on small screens */
  .adm-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .adm-msg-list{overflow-x:hidden;}
}
/* ── MOBILE ANIMATIONS PREMIUM ── */
@media(max-width:768px){
  /* Scroll reveal — keep all animations active on mobile */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);}
  .reveal.visible{opacity:1;transform:none;}
  .reveal-left{opacity:0;transform:translateX(-20px);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);}
  .reveal-left.visible{opacity:1;transform:none;}
  .reveal-right{opacity:0;transform:translateX(20px);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);}
  .reveal-right.visible{opacity:1;transform:none;}
  .fade-in{opacity:0;transform:translateY(14px);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);}
  .fade-in.visible{opacity:1;transform:none;}
  /* Stagger delays — conserves les d�lais */
  .delay-1{transition-delay:.08s \!important;}
  .delay-2{transition-delay:.16s \!important;}
  .delay-3{transition-delay:.24s \!important;}
  .delay-4{transition-delay:.32s \!important;}
  /* Hero canvas — full height on mobile */
  .hero-canvas{opacity:.8;}
  /* Cards — subtle shadow on mobile */
  .card{box-shadow:0 2px 16px rgba(0,0,0,.18) \!important;}
}
@media(max-width:360px){
  .nav-inner{padding:0 .75rem;}
  .section{padding:2rem .875rem;}
  .hero{padding:2.5rem .875rem 2rem;}
  /* Prevent iOS auto-zoom on inputs */
  input,select,textarea{font-size:16px !important;}
  .btn{font-size:.82rem;padding:.7rem 1rem;}
  .chat-panel{width:calc(100vw - .75rem) !important;right:0 !important;}
  .chat-w{right:.5rem !important;bottom:.75rem !important;}
}

/* ── PAGES BLOG / MIGA / PARTENARIATS, RESPONSIVE ── */
@media(max-width:768px){
  /* Partenariats form 2-col → 1 col */
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;}
  /* MIGA rings: hide large rings on mobile to prevent overflow */
  [style*="width:800px;height:800px"],[style*="width:560px;height:560px"]{display:none !important;}
  /* Blog hero badges: vertical stack on small screens */
  #page-blog .hero [style*="display:flex;align-items:center;gap:1rem"]{flex-direction:column !important;align-items:stretch !important;}
  /* MIGA hero text */
  #page-miga h1[style]{font-size:3rem !important;}
}
@media(max-width:480px){
  /* Blog categories: ensure single column on very small screens */
  #page-blog [style*="repeat(auto-fill,minmax(260px"]{grid-template-columns:1fr !important;}
  /* MIGA capabilities: single column */
  #page-miga [style*="repeat(auto-fill,minmax(280px"]{grid-template-columns:1fr !important;}
}

/* FAQ */
.faq-cat{margin-bottom:2.5rem;}
.faq-cat-title{font-size:1.15rem;font-weight:800;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle);}
.faq-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:.6rem;overflow:hidden;cursor:pointer;transition:all .25s ease;}
.faq-item:hover{border-color:#067500;background:rgba(113,173,73,.03);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-weight:600;font-size:.92rem;color:var(--text-primary);gap:1rem;}
.faq-chevron{font-size:1.3rem;color:var(--accent-mid);transition:transform .25s ease;flex-shrink:0;}
.faq-a{max-height:0;overflow:hidden;padding:0 1.25rem;font-size:.85rem;line-height:1.65;color:var(--text-secondary);transition:max-height .35s ease,padding .35s ease;}
.faq-item.open .faq-a{max-height:300px;padding:0 1.25rem 1.15rem;}
.faq-item.open .faq-chevron{transform:rotate(45deg);}

/* ============================================== */

/* ── CLIENT SHELL ── */
.cl{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-void);}
.cl-hdr{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--bg-base);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;}
.cl-logo{display:flex;align-items:center;gap:.875rem;}
.cl-mark{width:38px;height:38px;background:linear-gradient(135deg,#067500,#71AD49);border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1rem;}
.cl-title-area .cl-greeting{font-size:.72rem;color:var(--text-muted);margin-bottom:.1rem;}
.cl-title-area .cl-projname{font-weight:700;font-size:.92rem;color:var(--text-primary);}
.cl-hdr-r{display:flex;align-items:center;gap:1rem;}
.cl-notif-btn{position:relative;background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.4rem .65rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s;}
.cl-notif-btn:hover{background:var(--bg-surface);color:var(--text-primary);}
.cl-notif-dot{position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:2px solid var(--bg-base);}
.cl-user-chip{display:flex;align-items:center;gap:.6rem;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:.35rem .9rem .35rem .5rem;cursor:pointer;}
.cl-user-av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#067500,#71AD49);color:var(--bg-base);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;}
.cl-user-name{font-size:.8rem;font-weight:600;color:var(--text-primary);}
.cl-logout-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.4rem .85rem;border-radius:7px;cursor:pointer;font-size:.78rem;transition:all .2s;}
.cl-logout-btn:hover{background:var(--bg-surface);color:var(--text-primary);}
/* ── TABS ── */
.cl-nav{display:flex;align-items:center;padding:0 2rem;background:var(--bg-base);border-bottom:1px solid var(--border);overflow-x:auto;gap:0;}
.cl-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:500;white-space:nowrap;transition:all .2s;position:relative;}
.cl-tab:hover{color:var(--text-secondary);}
.cl-tab.act{color:var(--accent-light);border-bottom-color:var(--accent-mid);font-weight:600;}
.cl-tab-ico{font-size:.85rem;}
.cl-tab-bdg{position:absolute;top:8px;right:6px;width:7px;height:7px;border-radius:50%;background:#ef4444;border:1.5px solid var(--bg-base);}
/* ── BODY ── */
.cl-body{flex:1;padding:2rem;max-width:1100px;width:100%;margin:0 auto;box-sizing:border-box;}
@media(max-width:700px){.cl-body{padding:1rem;}.cl-hdr{padding:.875rem 1rem;}.cl-nav{padding:0 1rem;}}
@media(max-width:600px){
  .adm-stats-row{grid-template-columns:1fr 1fr !important;}
  .cl-billing-kpis{grid-template-columns:1fr 1fr !important;}
  .cl-profile-grid{grid-template-columns:1fr !important;}
}
@media(max-width:480px){
  .cl-nav{gap:0;}
  .cl-tab{padding:.75rem .875rem;font-size:.78rem;}
  .cl-tab-ico{display:none;}
}
.cl-panel{animation:fadeIn .2s ease;}
/* ── WELCOME BANNER ── */
.cl-welcome{background:linear-gradient(135deg,rgba(113,173,73,.12),rgba(6,117,0,.08));border:1px solid rgba(113,173,73,.22);border-radius:16px;padding:2rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem;flex-wrap:wrap;}
.cl-welcome-txt h2{font-size:1.4rem;font-weight:800;color:var(--text-primary);margin-bottom:.4rem;}
.cl-welcome-txt p{font-size:.875rem;color:var(--text-secondary);line-height:1.6;max-width:520px;}
.cl-welcome-badge{background:rgba(6,117,0,.15);border:1px solid rgba(113,173,73,.2);border-radius:12px;padding:1.25rem 1.75rem;text-align:center;flex-shrink:0;}
.cl-welcome-badge .cl-wb-num{font-size:2rem;font-weight:800;color:var(--accent-light);line-height:1;}
.cl-welcome-badge .cl-wb-lbl{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:.3rem;}
/* ── EMPTY STATE ── */
.cl-empty-state{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:3.5rem 2.5rem;text-align:center;margin-bottom:2rem;}
.cl-empty-ico{font-size:3rem;margin-bottom:1.25rem;}
.cl-empty-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.6rem;}
.cl-empty-text{font-size:.875rem;color:var(--text-muted);line-height:1.65;max-width:420px;margin:0 auto 1.75rem;}
/* ── STAT CARDS ── */
.cl-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;}
@media(max-width:900px){.cl-kpis{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.cl-kpis{grid-template-columns:1fr 1fr;}}
.cl-kpi{
  background:linear-gradient(135deg,var(--bg-card),rgba(6,117,0,.03));
  border:1px solid var(--border);
  border-radius:14px;padding:1.35rem 1.25rem;
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;
  position:relative;overflow:hidden;
}
.cl-kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(113,173,73,.3),transparent);opacity:0;transition:opacity .3s;}
.cl-kpi:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.2),0 0 0 1px rgba(113,173,73,.1);}
.cl-kpi:hover::before{opacity:1;}
.cl-kpi.hi{border-color:rgba(6,117,0,.4);background:linear-gradient(135deg,rgba(113,173,73,.07),rgba(6,117,0,.04));box-shadow:0 0 20px rgba(0,255,136,.05);}
.cl-kpi.hi::before{opacity:1;background:linear-gradient(90deg,transparent,rgba(0,255,136,.5),transparent);}
.cl-kv{font-size:1.85rem;font-weight:900;color:var(--accent-light);line-height:1;letter-spacing:-.02em;}
.cl-kpi.hi .cl-kv{color:#00ff88;text-shadow:0 0 20px rgba(0,255,136,.3);}
.cl-kl{font-size:.66rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;}
/* ── CARDS ── */
.cl-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.5rem;margin-bottom:1.25rem;}
.cl-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;}
.cl-card-title{font-weight:700;font-size:.95rem;color:var(--text-primary);margin:0;}
.cl-badge{padding:.22rem .7rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.03em;}
.cl-badge.green{background:rgba(34,197,94,.12);color:#16a34a;}
.cl-badge.orange{background:rgba(234,179,8,.14);color:#d97706;}
.cl-badge.blue{background:rgba(99,102,241,.12);color:#6366f1;}
.cl-badge.gray{background:var(--bg-surface);color:var(--text-muted);}
.cl-badge.red{background:rgba(239,68,68,.1);color:#dc2626;}
/* ── PROGRESS ── */
.cl-prog-wrap{margin-bottom:1rem;}
.cl-prog-hdr{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem;}
.cl-prog{height:8px;background:var(--bg-surface);border-radius:4px;overflow:hidden;}
.cl-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent-mid),var(--accent-light));border-radius:4px;transition:width .6s cubic-bezier(.22,1,.36,1);}
/* ── TIMELINE / PHASES ── */
.cl-phases{display:flex;align-items:center;gap:0;margin-bottom:2rem;overflow-x:auto;padding:.5rem 0;}
.cl-ph{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:90px;flex:1;}
.cl-ph-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);background:var(--bg-surface);flex-shrink:0;transition:all .3s;}
.cl-ph-dot.done{background:#067500;border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15);}
.cl-ph-dot.active{background:linear-gradient(135deg,#067500,#71AD49);border-color:#067500;box-shadow:0 0 0 4px rgba(113,173,73,.2);}
.cl-ph-label{font-size:.68rem;font-weight:600;color:var(--text-muted);text-align:center;white-space:nowrap;}
.cl-ph-label.done{color:#22c55e;}
.cl-ph-label.active{color:var(--accent-light);}
.cl-ph-date{font-size:.62rem;color:var(--text-dim);text-align:center;}
.cl-ph-connector{flex:1;height:2px;background:var(--border);margin-bottom:2rem;min-width:20px;transition:background .3s;}
.cl-ph-connector.done{background:#067500;}
/* ── TIMELINE STEPS ── */
.cl-timeline{display:flex;flex-direction:column;gap:0;}
.cl-tl-item{display:flex;gap:1rem;align-items:flex-start;padding:.75rem 0;position:relative;}
.cl-tl-item:not(:last-child)::after{content:"";position:absolute;left:11px;top:30px;bottom:-10px;width:2px;background:var(--border-subtle);}
.cl-tl-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;border:2px solid var(--border);}
.cl-tl-dot.done{background:#067500;border-color:#22c55e;color:#fff;}
.cl-tl-dot.active{background:linear-gradient(135deg,#067500,#71AD49);border-color:#067500;color:var(--bg-base);}
.cl-tl-dot.pending{background:var(--bg-surface);color:var(--text-dim);}
.cl-tl-content{flex:1;padding-top:.2rem;}
.cl-tl-title{font-size:.875rem;font-weight:600;color:var(--text-primary);}
.cl-tl-desc{font-size:.78rem;color:var(--text-muted);margin-top:.2rem;line-height:1.55;}
.cl-tl-meta{font-size:.72rem;color:var(--text-dim);margin-top:.3rem;display:flex;align-items:center;gap:.4rem;}
/* ── DELIVERABLES ── */
.cl-deliv-list{display:flex;flex-direction:column;gap:.75rem;}
.cl-deliv-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;transition:border-color .2s;}
.cl-deliv-item:hover{border-color:#067500;}
.cl-deliv-l{display:flex;align-items:center;gap:.875rem;}
.cl-deliv-ico{width:38px;height:38px;border-radius:9px;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.cl-deliv-name{font-size:.875rem;font-weight:600;color:var(--text-primary);}
.cl-deliv-meta{font-size:.72rem;color:var(--text-muted);margin-top:.1rem;}
.cl-deliv-r{display:flex;align-items:center;gap:.75rem;}
.cl-dl-btn{padding:.38rem .9rem;background:linear-gradient(135deg,#067500,#71AD49);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:600;transition:opacity .2s;}
.cl-dl-btn:hover{opacity:.85;}
.cl-dl-btn.locked{background:var(--bg-elevated);color:var(--text-dim);cursor:default;border:1px solid var(--border);}
/* ── MESSAGES ── */
.cl-msg-wrap{display:flex;flex-direction:column;height:480px;}
.cl-msg-thread{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;}
.cl-msg-grp{display:flex;gap:.75rem;align-items:flex-end;}
.cl-msg-grp.me{flex-direction:row-reverse;}
.cl-msg-av{width:30px;height:30px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--text-muted);flex-shrink:0;}
.cl-msg-av.team{background:linear-gradient(135deg,#067500,#71AD49);color:var(--bg-base);}
.cl-msg-bub{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px 14px 14px 4px;padding:.75rem 1rem;max-width:75%;font-size:.85rem;color:var(--text-secondary);line-height:1.6;}
.cl-msg-bub.me{background:rgba(6,117,0,.15);border-color:rgba(113,173,73,.2);color:var(--text-primary);border-radius:14px 14px 4px 14px;}
.cl-msg-time{font-size:.68rem;color:var(--text-dim);margin-top:.25rem;padding:0 .25rem;}
.cl-msg-input-area{border-top:1px solid var(--border);padding:1rem;display:flex;gap:.75rem;align-items:flex-end;}
.cl-msg-input{flex:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;color:var(--text-primary);font-size:.875rem;resize:none;outline:none;min-height:44px;max-height:110px;font-family:inherit;transition:border-color .2s;}
.cl-msg-input:focus{border-color:#067500;}
.cl-send-btn{padding:.7rem 1.35rem;background:linear-gradient(135deg,#067500,#71AD49);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:.85rem;flex-shrink:0;}
/* ── FACTURATION ── */
.cl-inv-list{display:flex;flex-direction:column;gap:.75rem;}
.cl-inv-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;}
.cl-inv-l .cl-inv-ref{font-size:.875rem;font-weight:700;color:var(--text-primary);}
.cl-inv-l .cl-inv-desc{font-size:.75rem;color:var(--text-muted);margin-top:.2rem;}
.cl-inv-amt{font-size:1.15rem;font-weight:800;color:var(--text-primary);}
.cl-inv-r{display:flex;align-items:center;gap:.75rem;}
/* ── NOTIFICATIONS ── */
.cl-notif-list{display:flex;flex-direction:column;gap:.6rem;}
.cl-notif-item{display:flex;gap:.875rem;align-items:flex-start;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;transition:border-color .2s;}
.cl-notif-item.unread{border-color:rgba(6,117,0,.35);background:rgba(113,173,73,.03);}
.cl-notif-ico{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.cl-notif-ico.msg{background:rgba(99,102,241,.12);}
.cl-notif-ico.proj{background:rgba(113,173,73,.12);}
.cl-notif-ico.doc{background:rgba(234,179,8,.12);}
.cl-notif-ico.info{background:rgba(6,182,212,.12);}
.cl-notif-title{font-size:.875rem;font-weight:600;color:var(--text-primary);}
.cl-notif-body{font-size:.8rem;color:var(--text-muted);margin-top:.15rem;line-height:1.5;}
.cl-notif-time{font-size:.7rem;color:var(--text-dim);margin-top:.3rem;}
.cl-notif-dot-unread{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#067500,#71AD49);flex-shrink:0;margin-top:.5rem;}
/* ── NEXT STEPS ── */
.cl-steps-list{display:flex;flex-direction:column;gap:.6rem;}
.cl-step-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;}
.cl-step-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#067500,#71AD49);color:var(--bg-base);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;}
.cl-step-txt .cl-step-title{font-size:.875rem;font-weight:600;color:var(--text-primary);}
.cl-step-txt .cl-step-desc{font-size:.78rem;color:var(--text-muted);margin-top:.1rem;}

/* ============================================== */

/* ── ADMIN LAYOUT ── */
.adm{display:flex;min-height:100vh;background:var(--bg-void);}
.adm-sb{width:260px;min-height:100vh;background:var(--bg-base);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .25s;}
.adm-sb.col{width:64px;}
.adm-sb.col .adm-brand-txt,.adm-sb.col .adm-nav-lbl,.adm-sb.col .adm-bdg,.adm-sb.col .adm-sfooter-txt{display:none;}
.adm-brand{display:flex;align-items:center;gap:.875rem;padding:1.25rem 1.1rem;border-bottom:1px solid var(--border);}
.adm-bico{width:38px;height:38px;background:linear-gradient(135deg,#067500,#71AD49);border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1rem;flex-shrink:0;}
.adm-bname{font-weight:700;color:var(--text-primary);font-size:.88rem;}
.adm-brole{font-size:.7rem;color:var(--text-muted);}
.adm-nav{flex:1;padding:.75rem .6rem;display:flex;flex-direction:column;gap:.15rem;}
.adm-ni{display:flex;align-items:center;gap:.7rem;padding:.68rem .875rem;border-radius:8px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.84rem;text-align:left;width:100%;transition:all .2s cubic-bezier(.22,1,.36,1);position:relative;}
.adm-ni:hover{background:var(--bg-surface);color:var(--text-primary);}
.adm-ni.act{background:rgba(6,117,0,.15);color:var(--accent-light);font-weight:600;}
.adm-ni-ico{width:18px;text-align:center;flex-shrink:0;}
.adm-bdg{margin-left:auto;background:#ef4444;color:#fff;font-size:.64rem;font-weight:700;padding:.1rem .42rem;border-radius:999px;min-width:17px;text-align:center;}
.adm-bdg.green{background:linear-gradient(135deg,#067500,#71AD49);}
.adm-sep{height:1px;background:var(--border);margin:.5rem .6rem;}
.adm-sfooter{padding:.75rem .6rem;border-top:1px solid var(--border);}
.adm-logout{width:100%;padding:.6rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:7px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;}
.adm-logout:hover{background:rgba(239,68,68,.07);color:#ef4444;border-color:rgba(239,68,68,.3);}
/* ── MAIN AREA ── */
.adm-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.adm-hdr{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem;background:var(--bg-base);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;}
.adm-hdr-l{display:flex;align-items:center;gap:.875rem;}
.adm-menu-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.32rem .55rem;border-radius:6px;cursor:pointer;font-size:.95rem;line-height:1;}
.adm-ptitle{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0;}
.adm-hdr-r{display:flex;align-items:center;gap:.875rem;}
.adm-date{font-size:.75rem;color:var(--text-muted);}
.adm-search-global{padding:.42rem .875rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;color:var(--text-primary);outline:none;font-size:.82rem;width:200px;}
.adm-av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#067500,#71AD49);color:var(--bg-base);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;}
.adm-tc{padding:1.75rem;animation:fadeIn .2s ease;}
/* ── KPI CARDS ── */
.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:1rem;margin-bottom:1.75rem;}
.adm-kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;}
.adm-kpi:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.15);}
.adm-kpi::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--border);}
.adm-kpi.hi::before{background:linear-gradient(90deg,var(--accent-mid),var(--accent-light));}
.adm-kpi.red::before{background:#ef4444;}
.adm-kpi.blue::before{background:#6366f1;}
.adm-kpi.orange::before{background:#f59e0b;}
.adm-kv{font-size:2rem;font-weight:800;color:var(--accent-light);line-height:1;}
.adm-kv.red{color:#ef4444;}
.adm-kv.blue{color:#6366f1;}
.adm-kv.orange{color:#f59e0b;}
.adm-kl{font-size:.8rem;font-weight:600;color:var(--text-primary);margin-top:.4rem;}
.adm-ks{font-size:.72rem;color:var(--text-muted);margin-top:.1rem;}
.adm-kdelta{font-size:.72rem;margin-top:.5rem;font-weight:600;}
.adm-kdelta.up{color:#22c55e;}
.adm-kdelta.down{color:#ef4444;}
.adm-kdelta.neutral{color:var(--text-muted);}
/* ── GRID ── */
.adm-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.adm-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.1rem;}
@media(max-width:900px){.adm-2col{grid-template-columns:1fr;}.adm-3col{grid-template-columns:1fr;}}
@media(max-width:768px){
  .adm{flex-direction:column;}
  .adm-sb{width:100% !important;min-height:auto;flex-direction:column;border-right:none;border-bottom:1px solid var(--border);}
  .adm-nav{flex-direction:row;overflow-x:auto;flex-wrap:nowrap;padding:.5rem;gap:.25rem;}
  .adm-ni{white-space:nowrap;padding:.5rem .75rem;font-size:.78rem;}
  .adm-brand{padding:.875rem 1rem;}
  .adm-sfooter{display:none;}
  .adm-sep{display:none;}
  .adm-content{padding:0;}
  .adm-tc{padding:1rem;}
  .adm-kpis{grid-template-columns:repeat(2,1fr) !important;}
  #admChartsGrid{grid-template-columns:1fr !important;}
  .adm-tbl-wrap{overflow-x:auto;}
  .adm-tbl{min-width:500px;}
  .adm-tb{flex-wrap:wrap;gap:.5rem;}
  .adm-srch,.adm-sel{min-width:0;flex:1;}
}
@media(max-width:480px){
  .adm-kpis{grid-template-columns:1fr 1fr !important;}
  .adm-ni-ico{display:none;}
}
/* ═══ ADMIN : nouveaux onglets ═══ */
@media(max-width:768px){
  .adm-site-info-grid{grid-template-columns:1fr 1fr !important;}
  .adm-smtp-grid{grid-template-columns:1fr !important;}
}
@media(max-width:480px){
  .adm-site-info-grid{grid-template-columns:1fr !important;}
}

/* ═══ RESPONSIVE GLOBAL, AMÉLIORATIONS ═══ */
/* Grids qui s'adaptent partout */
@media(max-width:900px){
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;}
  .adm-form-row{grid-template-columns:1fr !important;}
}
/* Boutons sur mobile */
@media(max-width:480px){
  .btn,.btn-primary,.btn-secondary,.btn-outline{padding:.625rem 1.25rem;font-size:.875rem;}
  .hero-btns{flex-direction:column;align-items:flex-start;gap:.625rem;}
  .hero h1,.hero h2,.hero-2col h1{font-size:clamp(1.55rem,7.5vw,2.05rem) !important;line-height:1.2 !important;max-width:none;}
  .hero{padding:2.25rem 1.25rem 2rem;}
  .hero-2col{flex-direction:column;}
  .section-inner{padding-left:1rem;padding-right:1rem;}
}
/* Eviter overflow horizontal */
body{overflow-x:hidden;}
.pages-wrap{overflow-x:hidden;}
img{max-width:100%;height:auto;}
/* Tablette */
@media(max-width:1024px) and (min-width:769px){
  .hero h1,.hero h2{font-size:clamp(2rem,4.5vw,3rem);line-height:1.16;}
  .adm-sb{width:220px;}
  /* BUGFIX 2 — Tablette : grilles inline 4 et 5 colonnes deviennent 2 colonnes
     pour rester lisibles entre 769 et 1024 px (page "Pour qui" notamment). */
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns: repeat(4, 1fr)"],
  [style*="grid-template-columns:repeat(5,1fr)"],
  [style*="grid-template-columns: repeat(5, 1fr)"]{
    grid-template-columns:repeat(2,1fr) !important;
  }
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"]{
    grid-template-columns:repeat(2,1fr) !important;
  }
  .card-grid.g3,.card-grid.g4{grid-template-columns:repeat(2,1fr) !important;}
}

/* ── CARD ── */
.adm-card{background:var(--bg-card);border:1px solid var(--border);border-radius:13px;padding:1.4rem;}
.adm-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;}
.adm-card-title{font-size:.88rem;font-weight:700;color:var(--text-primary);margin:0;}
.adm-card-link{background:transparent;border:none;color:var(--accent-light);font-size:.78rem;cursor:pointer;padding:0;text-decoration:none;}
.adm-card-link:hover{text-decoration:underline;}
/* ── TABLE ── */
.adm-tbl-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.adm-tbl{width:100%;border-collapse:collapse;}
.adm-tbl th{padding:.75rem 1rem;text-align:left;font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-surface);border-bottom:1px solid var(--border);}
.adm-tbl td{padding:.85rem 1rem;border-bottom:1px solid var(--border-subtle);font-size:.83rem;color:var(--text-secondary);vertical-align:middle;}
.adm-tbl tr:last-child td{border-bottom:none;}
.adm-tbl tr:hover td{background:rgba(113,173,73,.05);transition:background .15s;}
/* ── STATUS BADGES ── */
.adm-st{padding:.2rem .65rem;border-radius:999px;font-size:.68rem;font-weight:700;display:inline-block;letter-spacing:.02em;}
.adm-st.new,.nouveau{background:rgba(234,179,8,.14);color:#d97706;}
.adm-st.ip,.en_cours{background:rgba(113,173,73,.12);color:var(--accent-light);}
.adm-st.done,.traite{background:rgba(34,197,94,.1);color:#16a34a;}
.adm-st.cancel{background:var(--bg-surface);color:var(--text-muted);}
.adm-st.active{background:rgba(99,102,241,.12);color:#6366f1;}
.adm-st.paused{background:rgba(239,68,68,.08);color:#dc2626;}
/* ── TOOLBAR ── */
.adm-tb{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center;}
.adm-srch{flex:1;min-width:160px;padding:.6rem .9rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);outline:none;font-size:.84rem;}
.adm-srch:focus{border-color:#067500;}
.adm-sel{padding:.6rem .9rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);outline:none;cursor:pointer;font-size:.84rem;}
.adm-btn-sm{padding:.5rem 1rem;background:linear-gradient(135deg,#067500,#71AD49);color:#fff;border:none;border-radius:7px;cursor:pointer;font-size:.8rem;font-weight:600;transition:opacity .2s;}
.adm-btn-sm:hover{opacity:.85;}
.adm-btn-ghost{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:7px;cursor:pointer;font-size:.8rem;transition:all .2s;}
.adm-btn-ghost:hover{background:var(--bg-surface);color:var(--text-primary);}
.adm-btn-danger{padding:.5rem 1rem;background:transparent;border:1px solid rgba(239,68,68,.35);color:#ef4444;border-radius:7px;cursor:pointer;font-size:.8rem;transition:all .2s;}
.adm-btn-danger:hover{background:rgba(239,68,68,.06);}
.adm-icon-btn{padding:.38rem .6rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s;}
.adm-icon-btn:hover{background:var(--bg-surface);color:var(--text-primary);}
/* ── ACTIVITY FEED ── */
.adm-feed{display:flex;flex-direction:column;gap:.75rem;}
.adm-fi{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem 0;}
.adm-fi-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#067500,#71AD49);flex-shrink:0;margin-top:.32rem;}
.adm-fi-dot.g{background:#067500;}.adm-fi-dot.y{background:#f59e0b;}.adm-fi-dot.r{background:#ef4444;}.adm-fi-dot.b{background:#6366f1;}
.adm-fi-title{font-size:.83rem;color:var(--text-primary);font-weight:500;}
.adm-fi-time{font-size:.7rem;color:var(--text-muted);margin-top:.1rem;}
/* ── MINI ROW ── */
.adm-mrow{display:flex;align-items:center;justify-content:space-between;padding:.65rem .875rem;background:var(--bg-surface);border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:.4rem;}
.adm-mrow:hover{background:var(--bg-elevated);}
.adm-mname{font-size:.83rem;font-weight:500;color:var(--text-primary);}
.adm-mmeta{font-size:.7rem;color:var(--text-muted);margin-top:.08rem;}
/* ── PROJ CARDS ── */
.adm-proj-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.35rem;margin-bottom:1rem;transition:border-color .2s;}
.adm-proj-card:hover{border-color:#067500;}
.adm-proj-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.875rem;}
.adm-proj-name{font-weight:700;color:var(--text-primary);font-size:.9rem;}
.adm-proj-meta{font-size:.75rem;color:var(--text-muted);margin-top:.2rem;}
.adm-prog{height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden;margin:.5rem 0;}
.adm-pfill{height:100%;background:linear-gradient(90deg,var(--accent-mid),var(--accent-light));border-radius:3px;transition:width .5s ease;}
.adm-plbl{font-size:.72rem;color:var(--text-muted);}
/* ── CLIENT CARDS ── */
.adm-cl-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:.875rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:border-color .2s;}
.adm-cl-card:hover{border-color:#067500;}
.adm-cl-info{display:flex;align-items:center;gap:.875rem;flex:1;}
.adm-cl-av{width:42px;height:42px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:var(--accent-light);flex-shrink:0;}
.adm-cl-name{font-weight:700;font-size:.875rem;color:var(--text-primary);}
.adm-cl-meta{font-size:.72rem;color:var(--text-muted);margin-top:.15rem;}
.adm-cl-actions{display:flex;gap:.5rem;}
/* ── MESSAGE ITEMS ── */
.adm-msg-item{padding:1.25rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;margin-bottom:.75rem;cursor:pointer;transition:border-color .2s;}
.adm-msg-item:hover{border-color:#067500;}
.adm-msg-item.unread{border-color:rgba(99,102,241,.25);background:rgba(99,102,241,.03);}
.adm-msg-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;}
.adm-msg-from{font-weight:700;font-size:.875rem;color:var(--text-primary);}
.adm-msg-time{font-size:.72rem;color:var(--text-muted);}
.adm-msg-subj{font-size:.8rem;color:var(--text-secondary);margin-bottom:.35rem;}
.adm-msg-preview{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px;}
/* ── MODAL ── */
.adm-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;}
.adm-modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;}
.adm-modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;border-bottom:1px solid var(--border);}
.adm-modal-title{font-weight:700;font-size:1rem;color:var(--text-primary);}
.adm-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.3rem;cursor:pointer;padding:.25rem;}
.adm-modal-body{padding:1.75rem;}
/* ── FORM ELEMENTS ── */
.adm-form-group{margin-bottom:1.1rem;}
.adm-form-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem;}
.adm-form-input,.adm-form-select,.adm-form-textarea{width:100%;padding:.7rem .9rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color .2s;box-sizing:border-box;font-family:inherit;}
.adm-form-input:focus,.adm-form-select:focus,.adm-form-textarea:focus{border-color:#067500;}
.adm-form-textarea{resize:vertical;min-height:80px;}
.adm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;}
/* ── SETTINGS ── */
.adm-setting-item{padding:1.25rem;background:var(--bg-surface);border-radius:10px;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.adm-setting-l .adm-setting-title{font-size:.875rem;font-weight:600;color:var(--text-primary);}
.adm-setting-l .adm-setting-desc{font-size:.78rem;color:var(--text-muted);margin-top:.2rem;}
/* ── EMPTY ── */
.adm-empty{text-align:center;padding:3rem 1.5rem;color:var(--text-muted);font-size:.875rem;}
.adm-empty-ico{font-size:2.5rem;margin-bottom:.75rem;}

/* ============================================== */

@keyframes miga-pulse{0%,100%{box-shadow:0 0 0 12px rgba(6,117,0,.12),0 0 0 24px rgba(6,117,0,.06),0 0 60px rgba(6,117,0,.35),0 0 120px rgba(113,173,73,.15);}50%{box-shadow:0 0 0 16px rgba(6,117,0,.18),0 0 0 32px rgba(6,117,0,.08),0 0 80px rgba(6,117,0,.5),0 0 160px rgba(113,173,73,.2);}}

/* ============================================== */

.chat-w{position:fixed;bottom:1.75rem;right:1.75rem;z-index:999;}
/* ── CHAT BUBBLE, WOW EFFECT ── */
.chat-bubble{
  width:70px;height:70px;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#0f4010 0%,#051808 60%,#020b03 100%);
  cursor:pointer;position:relative;
  box-shadow:
    0 0 0 1.5px rgba(0,255,136,.55),
    0 0 0 3px rgba(0,255,136,.1),
    0 10px 40px rgba(0,220,100,.28),
    0 4px 16px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(0,255,136,.15);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;
  display:flex;align-items:center;justify-content:center;
  animation:migaFloat 4s ease-in-out infinite;
}
@keyframes migaFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-5px);}
}
.chat-bubble:hover{
  transform:scale(1.1) translateY(-4px) !important;
  box-shadow:
    0 0 0 2px rgba(0,255,136,.8),
    0 0 0 5px rgba(0,255,136,.12),
    0 16px 50px rgba(0,255,136,.4),
    0 6px 20px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(0,255,136,.25);
  animation:none;
}
.chat-bubble:active{transform:scale(.96) !important;}
/* Orbit rings */
.miga-ring-a,.miga-ring-b,.miga-ring-c{position:absolute;border-radius:50%;pointer-events:none;}
.miga-ring-a{
  inset:-10px;
  border:1.5px solid transparent;
  background:
    linear-gradient(rgba(10,22,10,0),rgba(10,22,10,0)) padding-box,
    conic-gradient(from 0deg, transparent 0%, rgba(0,255,136,.7) 12%, transparent 25%) border-box;
  animation:migaRot 2.8s linear infinite;
}
.miga-ring-b{
  inset:-19px;
  border:1px solid transparent;
  background:
    linear-gradient(rgba(10,22,10,0),rgba(10,22,10,0)) padding-box,
    conic-gradient(from 180deg, transparent 0%, rgba(113,173,73,.5) 10%, transparent 20%) border-box;
  animation:migaRot 5s linear infinite reverse;
}
.miga-ring-c{
  inset:-27px;
  border:.5px solid rgba(0,255,136,.06);
  animation:migaRot 9s linear infinite;
}
/* Rotating dot on ring A */
.miga-ring-a::after{
  content:'';position:absolute;top:-3.5px;left:calc(50% - 3.5px);
  width:7px;height:7px;
  background:#00ff88;border-radius:50%;
  box-shadow:0 0 10px 3px rgba(0,255,136,.7),0 0 20px rgba(0,255,136,.3);
}
/* Dot on ring B */
.miga-ring-b::before{
  content:'';position:absolute;bottom:-2.5px;left:calc(50% - 2.5px);
  width:5px;height:5px;
  background:#71AD49;border-radius:50%;
  box-shadow:0 0 7px 2px rgba(113,173,73,.6);
}
/* ── Mobile/tablet : masquer les points orbitaux qui gênent la navigation ── */
@media(max-width:768px){
  .miga-ring-a::after,
  .miga-ring-b::before{
    display:none;
  }
  .miga-ring-b,.miga-ring-c{
    display:none;
  }
}
@keyframes migaRot{to{transform:rotate(360deg);}}
.chat-bubble-face{width:48px;height:48px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;}
.chat-bubble-face img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(0,255,136,.4));}
.chat-nb{position:absolute;top:-2px;right:-2px;width:19px;height:19px;background:#ef4444;border-radius:50%;font-size:.66rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-void);z-index:3;animation:nbPop .3s cubic-bezier(.22,1,.36,1);}
@keyframes nbPop{0%{transform:scale(0);}80%{transform:scale(1.2);}100%{transform:scale(1);}}
.chat-panel{position:absolute;bottom:78px;right:0;width:370px;max-height:580px;background:linear-gradient(160deg,rgba(10,22,10,.97) 0%,rgba(5,10,5,.99) 100%);border:1px solid rgba(6,117,0,.3);border-radius:24px;box-shadow:0 0 0 1px rgba(0,255,136,.04) inset,0 20px 60px rgba(0,0,0,.7),0 0 40px rgba(0,255,136,.05);display:flex;flex-direction:column;overflow:hidden;transition:all .35s cubic-bezier(.22,1,.36,1);}
.chat-panel[style*="display: none"]{opacity:0;visibility:hidden;transform:translateY(20px) scale(.95);}
.chat-panel.panel-open{animation:chatPanelIn .38s cubic-bezier(.22,1,.36,1) both;}
@keyframes chatPanelIn{
  from{opacity:0;transform:translateY(24px) scale(.93);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@media(max-width:500px){.chat-panel{width:calc(100vw - 2rem);right:-.5rem;max-height:72vh;border-radius:20px;}}
.chat-hdr{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;background:linear-gradient(135deg,rgba(0,40,15,.9),rgba(0,18,8,.95));border-bottom:1px solid rgba(0,255,136,.1);position:relative;overflow:hidden;}
.chat-hdr::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 50%,rgba(0,255,136,.07) 0%,transparent 65%);pointer-events:none;}
.chat-hdr-l{display:flex;align-items:center;gap:.7rem;position:relative;}
.chat-av{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#1a3a1a,#0a1209);border:2px solid rgba(0,255,136,.25);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#00ff88;transition:all .3s;overflow:hidden;flex-shrink:0;box-shadow:0 0 12px rgba(0,255,136,.15);}
.chat-av img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(6,117,0,.5));}
.chat-av-letter{font-size:.95rem;font-weight:800;}
.chat-hname{font-weight:700;color:#d4ffd4;font-size:.95rem;letter-spacing:-.2px;}
.chat-htag{font-size:.66rem;color:#71AD49;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:.1rem;}
.chat-hstatus{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:rgba(255,255,255,.45);margin-top:.12rem;}
.chat-sdot{width:6px;height:6px;border-radius:50%;background:#067500;animation:blink 2s infinite;box-shadow:0 0 6px #22c55e;}
.chat-close{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.45);cursor:pointer;padding:.35rem .4rem;border-radius:8px;font-size:.85rem;transition:all .15s;line-height:1;}
/* ── LANGUAGE SELECTOR ── */
.chat-lang-btn{background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.2);color:rgba(0,255,136,.7);cursor:pointer;padding:.28rem .45rem;border-radius:8px;font-size:.85rem;transition:all .2s;line-height:1;}
.chat-lang-btn:hover{background:rgba(0,255,136,.14);color:#00ff88;border-color:rgba(0,255,136,.45);}
.chat-lang-btn.active{background:rgba(0,255,136,.18);color:#00ff88;border-color:rgba(0,255,136,.55);box-shadow:0 0 10px rgba(0,255,136,.15);}
.chat-lang-dd{position:fixed;background:linear-gradient(160deg,rgba(6,15,6,.98) 0%,rgba(3,9,3,.99) 100%);border:1px solid rgba(0,255,136,.22);border-radius:14px;padding:.5rem;min-width:210px;max-width:calc(100vw - 16px);box-shadow:0 16px 50px rgba(0,0,0,.7),0 0 0 1px rgba(0,255,136,.04) inset;z-index:99999;display:none;max-height:340px;overflow-y:auto;}
.chat-lang-dd::-webkit-scrollbar{width:3px;}.chat-lang-dd::-webkit-scrollbar-thumb{background:rgba(0,255,136,.2);border-radius:2px;}
.chat-lang-dd.open{display:block;animation:chatPanelIn .22s cubic-bezier(.22,1,.36,1) both;}
.chat-lang-dd-title{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(0,255,136,.45);padding:.3rem .6rem .6rem;border-bottom:1px solid rgba(0,255,136,.08);margin-bottom:.3rem;}
.chat-lang-opt{display:flex;align-items:center;gap:.65rem;padding:.48rem .7rem;border-radius:9px;cursor:pointer;font-size:.83rem;color:rgba(255,255,255,.55);transition:all .15s;user-select:none;}
.chat-lang-opt:hover{background:rgba(0,255,136,.08);color:rgba(255,255,255,.85);}
.chat-lang-opt.active{color:#00ff88;background:rgba(0,255,136,.07);font-weight:600;}
.chat-lang-opt.active::after{content:'✓';margin-left:auto;font-size:.7rem;color:rgba(0,255,136,.7);}
.lang-flag{font-size:.95rem;line-height:1;}
/* Detection / switch banner */
.chat-lang-detect{background:rgba(99,102,241,.1);border:none;border-top:1px solid rgba(99,102,241,.2);border-bottom:1px solid rgba(99,102,241,.2);padding:.6rem 1rem;font-size:.78rem;color:rgba(200,200,255,.75);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;line-height:1.4;}
.chat-lang-det-btn{padding:.22rem .65rem;background:rgba(99,102,241,.22);border:1px solid rgba(99,102,241,.45);color:#a5b4fc;border-radius:999px;cursor:pointer;font-size:.72rem;font-weight:600;transition:all .15s;white-space:nowrap;flex-shrink:0;}
.chat-lang-det-btn:hover{background:rgba(99,102,241,.38);color:#c7d2fe;}
.chat-lang-det-btn.dismiss{background:transparent;border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.3);}
/* Translating indicator */
.chat-translating{opacity:.55;font-style:italic;font-size:.75rem;}
.chat-close:hover{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.18);}
.chat-phases{display:flex;align-items:center;gap:.4rem;padding:.48rem 1rem;background:rgba(0,0,0,.45);border-bottom:1px solid rgba(0,255,136,.05);font-size:.67rem;color:rgba(255,255,255,.25);}
.chat-ph{display:flex;align-items:center;gap:.25rem;opacity:.28;transition:all .3s;}
.chat-ph.act{opacity:1;color:#00ff88;font-weight:600;}
.chat-ph.act .chat-phdot{background:#067500;box-shadow:0 0 5px #00ff88;}
.chat-phdot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;transition:all .3s;}
.chat-parrow{font-size:.58rem;color:rgba(255,255,255,.12);}
.chat-msgs{flex:1;overflow-y:auto;padding:.875rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth;}
.chat-msgs::-webkit-scrollbar{width:3px;}
.chat-msgs::-webkit-scrollbar-thumb{background:rgba(0,255,136,.15);border-radius:2px;}
.chat-msg{display:flex;align-items:flex-end;gap:.5rem;}
.chat-msg.bot,.chat-msg.human{flex-direction:row;}
.chat-msg.user{flex-direction:row-reverse;}
.chat-mav{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#1a3a1a,#0a1209);border:1.5px solid rgba(6,117,0,.3);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#00ff88;flex-shrink:0;transition:all .3s;overflow:hidden;}
.chat-mav img{width:26px;height:26px;object-fit:contain;}
.chat-mav-letter{font-size:.78rem;font-weight:800;}
.chat-bubble-msg{max-width:80%;padding:.7rem .95rem;border-radius:16px;font-size:.83rem;line-height:1.6;white-space:pre-line;}
.chat-msg.human .chat-bubble-msg,.chat-msg.bot .chat-bubble-msg{background:rgba(255,255,255,.055);color:#c8ffc8;border-bottom-left-radius:3px;border:1px solid rgba(0,255,136,.08);box-shadow:0 2px 10px rgba(0,0,0,.25);}
.chat-msg.user .chat-bubble-msg{background:linear-gradient(135deg,#173d1c,#0e2812);color:#b0ffb0;border-bottom-right-radius:3px;border:1px solid rgba(0,255,136,.18);box-shadow:0 2px 10px rgba(0,255,136,.08);}
.chat-typing{background:rgba(255,255,255,.055);border:1px solid rgba(0,255,136,.08);border-radius:11px;border-bottom-left-radius:3px;padding:.6rem .85rem;display:flex;gap:.3rem;align-items:center;}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:rgba(0,255,136,.45);animation:chatdot 1.2s infinite;}
.chat-typing span:nth-child(2){animation-delay:.2s;}
.chat-typing span:nth-child(3){animation-delay:.4s;}
@keyframes chatdot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
@keyframes migaFloat{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(-2.5px) scale(1.012)}50%{transform:translateY(-1px) scale(1.005)}75%{transform:translateY(-3px) scale(1.015)}}
@keyframes migaFloatSm{0%,100%{transform:translateY(0)}40%{transform:translateY(-2px)}70%{transform:translateY(-1px)}}
.chat-mav img{animation:migaFloatSm 3.8s ease-in-out infinite;}
#chatAvImg{animation:migaFloat 4.2s ease-in-out infinite;}
.miga-teaser-av img{animation:migaFloat 4s ease-in-out infinite;}
.chat-bubble-face img{animation:migaFloat 3.5s ease-in-out infinite;}
.chat-transfer{padding:1.5rem;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.3);}
.chat-transfer-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;}
.chat-spinner{width:30px;height:30px;border:2px solid rgba(0,255,136,.12);border-top-color:#00ff88;border-right-color:rgba(0,255,136,.35);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.chat-transfer-txt{font-size:.78rem;color:rgba(0,255,136,.55);letter-spacing:.03em;}
.chat-input-area{padding:.8rem .9rem;border-top:1px solid rgba(0,255,136,.07);display:flex;flex-direction:column;gap:.5rem;background:rgba(0,0,0,.25);}
.chat-suggs{display:flex;flex-wrap:wrap;gap:.3rem;padding:.35rem .875rem;}
.chat-sugg{padding:.32rem .7rem;background:rgba(0,255,136,.04);border:1px solid rgba(0,255,136,.16);border-radius:999px;color:rgba(0,255,136,.65);font-size:.73rem;cursor:pointer;transition:all .15s;}
.chat-sugg:hover{background:rgba(0,255,136,.1);color:#00ff88;border-color:rgba(0,255,136,.38);}
.chat-row{display:flex;gap:.4rem;}
.chat-inp{flex:1;padding:.7rem .9rem;background:rgba(255,255,255,.05);border:1.5px solid rgba(6,117,0,.3);border-radius:12px;color:#c8ffc8;outline:none;font-size:.875rem;transition:all .2s;}
.chat-inp::placeholder{color:rgba(255,255,255,.22);}
.chat-inp:focus{border-color:rgba(6,117,0,.6);box-shadow:0 0 0 3px rgba(0,255,136,.07);background:rgba(255,255,255,.07);}
.chat-send{width:38px;height:38px;background:#067500;border:none;border-radius:12px;color:#fff !important;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;box-shadow:0 2px 8px rgba(6,117,0,.3);}
.chat-send:hover{transform:scale(1.06);box-shadow:0 4px 14px rgba(0,255,136,.35);}
.chat-brand-foot{text-align:center;padding:.38rem .9rem .5rem;font-size:.6rem;color:rgba(255,255,255,.14);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid rgba(0,255,136,.04);}

/* ── MIGA TEASER POPUP ── */
.miga-teaser{position:absolute;bottom:78px;right:0;width:300px;background:linear-gradient(145deg,rgba(5,18,8,.97),rgba(3,10,4,.99));border:1px solid rgba(0,255,136,.28);border-radius:20px;box-shadow:0 0 0 1px rgba(0,255,136,.06) inset,0 16px 50px rgba(0,0,0,.75),0 0 30px rgba(0,255,136,.1);padding:1rem 1.1rem 1rem;display:none;flex-direction:column;gap:.65rem;animation:teaserIn .4s cubic-bezier(.22,1,.36,1) both;cursor:pointer;z-index:2;}
@keyframes teaserIn{0%{opacity:0;transform:translateY(16px) scale(.95);}100%{opacity:1;transform:translateY(0) scale(1);}}
.miga-teaser::before{content:'';position:absolute;inset:0;border-radius:20px;background:radial-gradient(ellipse at 10% 0%,rgba(0,255,136,.07),transparent 55%);pointer-events:none;}
.miga-teaser-hdr{display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.miga-teaser-id{display:flex;align-items:center;gap:.5rem;}
.miga-teaser-av{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#1a3a1a,#0a1209);border:1.5px solid rgba(0,255,136,.35);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 0 10px rgba(6,117,0,.3);}
.miga-teaser-av img{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(0,255,136,.4));}
.miga-teaser-name{font-weight:700;font-size:.82rem;color:#d4ffd4;letter-spacing:-.01em;}
.miga-teaser-tag{font-size:.6rem;color:#71AD49;font-weight:600;letter-spacing:.07em;text-transform:uppercase;}
.miga-teaser-x{background:transparent;border:none;color:rgba(255,255,255,.3);font-size:1rem;cursor:pointer;padding:.1rem .3rem;border-radius:6px;line-height:1;transition:color .15s;flex-shrink:0;}
.miga-teaser-x:hover{color:rgba(255,255,255,.7);}
.miga-teaser-dot{display:flex;align-items:center;gap:.35rem;font-size:.67rem;color:rgba(255,255,255,.3);margin-top:-.2rem;}
.miga-teaser-sdot{width:6px;height:6px;border-radius:50%;background:#067500;box-shadow:0 0 6px #22c55e;animation:blink 2s infinite;flex-shrink:0;}
.miga-teaser-msg{font-size:.84rem;color:#b0ffb0;line-height:1.55;font-weight:500;letter-spacing:-.01em;}
.miga-teaser-sub{font-size:.68rem;color:rgba(255,255,255,.3);letter-spacing:.02em;}
.miga-teaser-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;background:#067500;color:#fff !important;border:none;border-radius:11px;padding:.65rem 1rem;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .2s;box-shadow:0 3px 14px rgba(6,117,0,.3);letter-spacing:-.01em;}
.miga-teaser-btn:hover{box-shadow:0 5px 20px rgba(0,255,136,.4);transform:translateY(-1px);}
@media(max-width:500px){.miga-teaser{width:calc(100vw - 4rem);right:-.5rem;}}

/* ══════════════════════════════════════════════════════
   WOW FACTOR, curseur, particules, magnétique, tilt 3D
   ══════════════════════════════════════════════════════ */
#wow-cursor{display:none;}

.wow-particle{position:fixed;pointer-events:none;z-index:99998;border-radius:50%;will-change:transform,opacity;}

.magnetic-cta{transition:transform .25s cubic-bezier(.23,1,.32,1),box-shadow .25s;}

.tilt-card{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.03,.98,.52,.99),box-shadow .45s;}
.tilt-card:hover{box-shadow:0 25px 50px rgba(0,0,0,.35);}
.tilt-card .tilt-layer{transform:translateZ(18px);}

/* ============================================== */

#ngCookieBanner{position:fixed;bottom:0;left:0;right:0;z-index:99999;background:rgba(6,8,6,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(6,117,0,.28);padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;transform:translateY(100%);transition:transform .45s cubic-bezier(.22,1,.36,1);box-shadow:0 -8px 40px rgba(0,0,0,.5);}
#ngCookieBanner.show{transform:translateY(0);}
.ng-cookie-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:260px;}
.ng-cookie-icon{width:38px;height:38px;background:rgba(6,117,0,.15);border:1px solid rgba(6,117,0,.3);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.ng-cookie-text{font-size:.8rem;line-height:1.55;color:rgba(255,255,255,.75);}
.ng-cookie-text strong{color:#fff;font-weight:600;}
.ng-cookie-text a{color:#71AD49;text-decoration:none;}
.ng-cookie-text a:hover{text-decoration:underline;}
.ng-cookie-btns{display:flex;gap:.6rem;flex-shrink:0;flex-wrap:wrap;}
.ng-btn-accept{padding:.55rem 1.35rem;background:#067500;color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;letter-spacing:.02em;}
.ng-btn-accept:hover{background:#089E02;box-shadow:0 4px 16px rgba(6,117,0,.4);}
.ng-btn-refuse{padding:.55rem 1.1rem;background:transparent;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.12);border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .18s;}
.ng-btn-refuse:hover{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.75);}
.ng-btn-param{padding:.55rem 1.1rem;background:transparent;color:rgba(113,173,73,.7);border:1px solid rgba(113,173,73,.2);border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .18s;}
.ng-btn-param:hover{border-color:rgba(113,173,73,.5);color:#71AD49;}
[data-theme="light"] #ngCookieBanner{background:rgba(255,255,255,.98);border-top-color:rgba(6,117,0,.18);box-shadow:0 -8px 30px rgba(0,0,0,.12);}
[data-theme="light"] .ng-cookie-icon{background:rgba(6,117,0,.08);border-color:rgba(6,117,0,.2);}
[data-theme="light"] .ng-cookie-text{color:rgba(20,35,20,.75);}
[data-theme="light"] .ng-cookie-text strong{color:#0d1f0d;}
[data-theme="light"] .ng-btn-refuse{color:rgba(20,35,20,.55);border-color:rgba(0,0,0,.14);}
[data-theme="light"] .ng-btn-refuse:hover{border-color:rgba(0,0,0,.3);color:#0d1f0d;}
@media(max-width:600px){
  #ngCookieBanner{padding:.6rem .8rem;gap:.45rem;}
  .ng-cookie-left{gap:.5rem;min-width:0;}
  .ng-cookie-icon{width:24px;height:24px;font-size:.85rem;border-radius:7px;}
  .ng-cookie-text{font-size:.72rem;line-height:1.32;}
  .ng-cookie-btns{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.4rem;}
  .ng-btn-accept{grid-column:1 / -1;order:-1;padding:.42rem 1rem;font-size:.78rem;}
  .ng-btn-param,.ng-btn-refuse{flex:none;padding:.38rem .55rem;font-size:.72rem;text-align:center;}
}

/* ============================================== */

.miga-label{position:fixed;bottom:6.2rem;right:1.75rem;z-index:998;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease;}
.miga-label.visible{opacity:1;transform:translateY(0);}
.miga-label-bubble{background:rgba(6,8,6,.95);border:1px solid rgba(6,117,0,.4);border-radius:12px 12px 4px 12px;padding:.5rem .85rem;font-size:.75rem;font-weight:600;color:#b0ffb0;letter-spacing:.02em;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.4),0 0 0 1px rgba(0,255,136,.06);backdrop-filter:blur(12px);}
.miga-label-arrow{width:8px;height:8px;background:#067500;border-radius:50%;margin-right:.9rem;box-shadow:0 0 8px rgba(0,255,136,.5);}
@media(max-width:600px){.miga-label{right:.5rem;bottom:5.5rem;}.miga-label-bubble{font-size:.7rem;}}


/* ══════════════════════════════════════════════════
   RESPONSIVE BUGFIX PATCH — mobile/tablette/320px
   ══════════════════════════════════════════════════ */

/* 1. Grilles auto-fit : forcer 1 colonne sous 480px */
@media(max-width:480px){
  .g2,.g3,.g4{grid-template-columns:1fr !important;}
  [style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  .g2>*,.g3>*,.g4>*{min-width:0;max-width:100%;box-sizing:border-box;}
}

/* 2. Boutons — éviter tout débordement */
@media(max-width:480px){
  .btn,.btn-primary,.btn-ghost,.btn-lg{max-width:100% !important;box-sizing:border-box !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}
@media(max-width:768px){
  .nav-actions .btn,.adm-tb .btn,.adm-tb .adm-btn-sm{width:auto !important;}
}

/* 3. Sections et héros à 320px */
@media(max-width:360px){
  .hero{padding:2.5rem .75rem 2rem !important;}
  .section{padding:2rem .75rem !important;}
  .hero-2col{padding:3rem .75rem 3.5rem !important;}
  .card{padding:1.25rem !important;}
  .cl-welcome{padding:1.25rem 1rem !important;}
  h1{font-size:clamp(1.6rem,8vw,2.5rem) !important;}
  h2{font-size:clamp(1.3rem,6vw,2rem) !important;}
}

/* 4. Images et médias */
@media(max-width:768px){
  img,video,canvas,svg{max-width:100%;height:auto;}
}

/* 5. Tables horizontales sur mobile */
@media(max-width:600px){
  .tbl-wrap,.adm-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
  table{min-width:500px;}
}

/* 6. Z-index nav vs menu mobile */
@media(max-width:768px){
  nav{z-index:900 !important;}
  .mobile-menu{z-index:800 !important;}
  .mobile-menu-overlay{z-index:799 !important;}
}

/* 7. Grilles inline filet de sécurité 480px */
@media(max-width:480px){
  [style*="repeat(3"],[style*="repeat(4"],[style*="repeat(5"],[style*="repeat(2"]{
    grid-template-columns:1fr !important;
  }
}
/* — fin patch responsive — */