/* ============================================================
   ADCI — Solutions BTP® · Refonte 2026 (direction jaune/noir)
   Tokens + composants partagés
   ============================================================ */
:root{
  --bg:#0d0d0f;
  --panel:#131316;
  --panel2:#17171a;
  --border:#2b2b30;
  --border-soft:#232327;
  --text:#f2f2ef;
  --muted:#a3a39e;
  --dim:#7c7c78;
  --yellow:#ffd500;
  --yellow-dark:#c9a800;
  --radius:14px;
  --maxw:1240px;
  --heading:#fff;
  --nav-bg:rgba(13,13,15,.92);
  --accent-text:#ffd500;
  --text-soft:#cfcfca;
  --chip-border:#3a3a40;
  --ghost-border:#3f3f45;
  --border-hover:#4a4a52;
  --btn2-bg:#fff;
  --btn2-text:#0d0d0f;
  --font:'Space Grotesk',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft)}
.nav-inner{display:flex;align-items:center;gap:28px;padding:16px 28px;max-width:var(--maxw);margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:2px;color:var(--heading)}
.brand-mark{width:14px;height:14px;background:var(--yellow);flex:none}
.nav-links{display:flex;gap:24px;font-size:14px;font-weight:500;color:var(--muted);margin-left:auto}
.nav-links a{padding:6px 0;transition:color .15s}
.nav-links a:hover{color:var(--heading)}
.nav-links a.active{color:var(--accent-text)}
.btn{display:inline-block;font-weight:700;font-size:14.5px;padding:12px 24px;border-radius:99px;transition:transform .15s,opacity .15s;cursor:pointer;border:none;font-family:var(--font)}
.btn:hover{transform:translateY(-1px);opacity:.92}
.btn-yellow{background:var(--yellow);color:#0d0d0f}
.btn-ghost{border:1px solid var(--ghost-border);color:var(--text);background:transparent}
.btn-white{background:var(--btn2-bg);color:var(--btn2-text)}
.nav-links .nav-cta{display:none}
@media (max-width:720px){.nav-links .nav-cta{display:block}}
.nav-burger{display:none;background:none;border:1px solid var(--border);border-radius:8px;color:var(--heading);font-size:20px;padding:6px 12px}

/* ---------- hero ---------- */
.hero{padding:88px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.kicker{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--accent-text);border:1px solid var(--border);padding:6px 14px;border-radius:99px;letter-spacing:.5px}
h1{margin:0;font-size:clamp(34px,4.6vw,54px);line-height:1.06;font-weight:700;color:var(--heading);text-wrap:balance}
h1 .hl{color:var(--accent-text)}
.lead{margin:0;font-size:17px;line-height:1.65;color:var(--muted);max-width:560px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:32px;flex-wrap:wrap;font-size:13px;color:var(--dim)}
.hero-stats b{color:var(--accent-text);font-weight:700}
.stack{display:flex;flex-direction:column;gap:22px}

/* ---------- placeholders (à remplacer par vraies images) ---------- */
.ph{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#17171a,#17171a 12px,#1e1e22 12px,#1e1e22 24px);border:1px solid var(--border);border-radius:16px;color:var(--dim);font-family:var(--mono);font-size:12px;text-align:center;padding:12px}

/* ---------- sections ---------- */
.section{padding:64px 0}
.section-tight{padding:40px 0}
.eyebrow{font-family:var(--mono);font-size:12px;color:var(--accent-text);letter-spacing:.5px}
h2{margin:0;font-size:clamp(26px,3vw,34px);font-weight:700;color:var(--heading);text-wrap:balance}
.sub{margin:0;font-size:15px;line-height:1.65;color:var(--muted)}
.section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:32px;max-width:720px}
.section-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}

/* ---------- cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:9px;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.card .num{font-family:var(--mono);font-size:11px;color:var(--accent-text)}
.card h3{margin:0;font-size:17px;font-weight:700;color:var(--heading)}
.card p{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted)}
.card .more{margin-top:auto;padding-top:10px;font-size:13px;font-weight:600;color:var(--accent-text)}
.card-yellow{background:var(--yellow);border-color:var(--yellow)}
.card-yellow h3,.card-yellow .num{color:#0d0d0f}
.card-yellow p{color:#3a3a30}

/* ---------- panel (grand bloc bordé) ---------- */
.panel{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:44px}

/* ---------- bande stats ---------- */
.stats-band{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:var(--panel)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:36px 0;text-align:center}
.stat b{display:block;font-size:36px;font-weight:700;color:var(--accent-text)}
.stat span{font-size:13px;color:var(--muted)}

/* ---------- chips modules ---------- */
.chips{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.chip{border:1px solid var(--chip-border);border-radius:99px;padding:8px 18px;font-size:13.5px;font-weight:600;color:var(--text-soft);transition:border-color .15s,color .15s}
.chip:hover{border-color:var(--yellow);color:var(--accent-text)}
.chip-hl{border-color:var(--yellow);color:var(--accent-text);font-weight:700}

/* ---------- listes à coche ---------- */
.checks{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.checks li{display:flex;gap:12px;align-items:baseline;font-size:14.5px;line-height:1.55;color:var(--text-soft)}
.checks li::before{content:"✓";color:var(--accent-text);font-weight:700;flex:none}
.checks b{color:var(--heading)}

/* ---------- logos clients ---------- */
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.logo-slot{height:56px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;font-family:var(--mono);font-size:10px;color:var(--dim);background:var(--panel)}

/* ---------- CTA final ---------- */
.cta-final{background:var(--yellow);color:#0d0d0f;border-radius:20px;padding:52px;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.cta-final h2{color:#0d0d0f}
.cta-final p{color:#3a3a30;margin:8px 0 0;font-size:15px}
.btn-black{background:#0d0d0f;color:var(--yellow)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--border-soft);margin-top:64px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:52px 0}
.footer-grid h4{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:1px;color:var(--heading);text-transform:uppercase}
.footer-grid ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-grid a{font-size:13.5px;color:var(--muted)}
.footer-grid a:hover{color:var(--accent-text)}
.footer-desc{font-size:13.5px;line-height:1.65;color:var(--muted);margin:14px 0 0;max-width:320px}
.footer-bottom{border-top:1px solid var(--border-soft);padding:22px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:var(--dim)}
.footer-bottom .links{display:flex;gap:20px}

/* ---------- page header (pages intérieures) ---------- */
.page-head{padding:72px 0 48px;border-bottom:1px solid var(--border-soft)}
.page-head .stack{max-width:760px}

/* ---------- formulaire contact ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:13px;font-weight:600;color:var(--text-soft)}
.field input,.field textarea,.field select{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:13px 15px;color:var(--text);font-family:var(--font);font-size:14.5px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--yellow)}
.field textarea{resize:vertical;min-height:130px}

/* ---------- étapes (starter kit) ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:step}
.step{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:8px}
.step .n{font-family:var(--mono);font-size:12px;color:var(--accent-text)}
.step h3{margin:0;font-size:16px;color:var(--heading)}
.step p{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted)}

/* ---------- table comparaison cloud ---------- */
.compare{width:100%;border-collapse:collapse;font-size:14px}
.compare th,.compare td{padding:14px 18px;border-bottom:1px solid var(--border);text-align:left}
.compare th{font-family:var(--mono);font-size:11.5px;letter-spacing:.5px;color:var(--dim);font-weight:500;text-transform:uppercase}
.compare td:first-child{color:#d9d9d4;font-weight:600}
.compare td{color:var(--muted)}
.compare .yes{color:var(--accent-text);font-weight:700}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .hero-grid,.grid-4{grid-template-columns:1fr 1fr}
  .grid-3,.steps{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .logos{grid-template-columns:repeat(3,1fr)}
  .stats-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin-left:0;background:var(--panel);border-bottom:1px solid var(--border);padding:6px 28px 18px;box-shadow:0 18px 30px rgba(0,0,0,.25)}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--border-soft);font-size:16px}
  .nav-links a.nav-cta{border-bottom:none;margin-top:14px;background:var(--yellow);color:#0d0d0f;text-align:center;border-radius:99px;padding:13px 24px;font-weight:700}
  .nav-burger{display:block;margin-left:auto}
  .nav .btn{display:none}
  .logos{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .hero{padding:56px 0 40px}
  .hero-grid,.grid-2,.grid-3,.grid-4,.steps,.form{grid-template-columns:1fr}
  .panel{padding:28px}
  .cta-final{padding:32px}
  .footer-grid{grid-template-columns:1fr}
}

/* ---------- assets réels adci.fr (logo, pictos applications, logos clients, photos) ---------- */
.brand-plate{display:inline-flex;align-items:center}
.brand-plate img{height:44px;width:auto}
.mod-ico{width:46px;height:46px;flex:none;background:#f2f2ef;border-radius:10px;padding:8px;display:flex;align-items:center;justify-content:center}
.mod-ico img{width:100%;height:100%;object-fit:contain}
.logo-slot{background:#fff;padding:8px}
.logo-slot img{max-width:100%;max-height:100%;object-fit:contain}
.figure{border:1px solid var(--border);border-radius:16px;overflow:hidden}
.figure img{width:100%;height:100%;object-fit:cover}

/* ---------- pages légales ---------- */
.legal{max-width:860px}
.legal h2{font-size:20px;margin:38px 0 14px}
.legal h2:first-child{margin-top:0}
.legal p{margin:0 0 13px;font-size:14.5px;line-height:1.75;color:var(--muted)}
.legal ul{margin:0 0 13px;padding-left:22px;color:var(--muted)}
.legal li{font-size:14.5px;line-height:1.7;margin-bottom:5px}
.checks li a:hover{color:var(--yellow)}

/* ---------- thème clair (option utilisateur, bouton ☀/🌙) ---------- */
:root[data-theme="light"]{
  --bg:#f6f5f1;
  --panel:#ffffff;
  --panel2:#f1f0eb;
  --border:#ddd9d0;
  --border-soft:#e7e4dc;
  --text:#1b1b1d;
  --muted:#5a5a54;
  --dim:#8b8b85;
  --heading:#111112;
  --nav-bg:rgba(246,245,241,.92);
  --accent-text:#8a7500;
  --text-soft:#3d3d38;
  --chip-border:#cfccc3;
  --ghost-border:#c6c2b8;
  --border-hover:#b9b5aa;
  --btn2-bg:#17171a;
  --btn2-text:#fff;
}
:root[data-theme="light"] .brand-plate{background:#141416;border-radius:10px;padding:5px 12px}
:root[data-theme="light"] .brand-plate img{height:32px}
:root[data-theme="light"] .mod-ico{border:1px solid var(--border-soft)}
:root[data-theme="light"] .logo-slot{border:1px solid var(--border)}
.theme-toggle{flex:none;width:40px;height:40px;background:none;border:1px solid var(--ghost-border);border-radius:99px;color:var(--heading);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s}
.theme-toggle:hover{border-color:var(--yellow)}
.theme-toggle .ic-moon{display:none}
:root[data-theme="light"] .theme-toggle .ic-sun{display:none}
:root[data-theme="light"] .theme-toggle .ic-moon{display:block}

/* ---------- tableau scrollable en mobile ---------- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-scroll .compare{min-width:560px}
