/* ============================================================
   MY-AGENTIFY — Système graphique v15
   Bleu & blanc · moderne · animé
   ============================================================ */

:root{
  --navy:#081436; --ink:#0A1E4D; --ink-70:#3D4E7A; --ink-50:#6B79A0; --ink-30:#9AA5C4;
  --blue:#2563FF; --blue-600:#1D4FD8; --blue-300:#7BA2FF; --blue-100:#DCE7FF; --blue-50:#F0F5FF;
  --violet:#6D5CFF; --cyan:#1FC8E8; --mint:#10B981;
  --bg:#FFFFFF; --bg-soft:#F5F8FF; --bg-deep:#071232;
  --line:#E4EBFA; --line-2:#D2DDF4;
  --r-sm:10px; --r:16px; --r-lg:22px; --r-xl:30px; --r-full:999px;
  --sh-sm:0 1px 2px rgba(8,20,54,.06),0 2px 6px rgba(8,20,54,.04);
  --sh:0 4px 12px rgba(8,20,54,.06),0 12px 32px rgba(8,20,54,.07);
  --sh-lg:0 8px 24px rgba(8,20,54,.08),0 30px 70px rgba(37,99,255,.14);
  --sh-blue:0 8px 26px rgba(37,99,255,.30);
  --grad:linear-gradient(135deg,#2563FF 0%,#6D5CFF 100%);
  --grad-soft:linear-gradient(135deg,#F0F5FF 0%,#EDE9FF 100%);
  --sans:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --gutter:28px; --max:1220px; --ease:cubic-bezier(.22,.68,.32,1);
  /* compat styles en ligne hérités */
  --blue-deep:#081436; --blue-mid:#1D4FD8; --blue-brand:#2563FF; --blue-light:#5B8CFF;
  --blue-pale:#DCE7FF; --blue-ghost:#F0F5FF; --white:#fff;
  --text-dark:#0A1E4D; --text-mid:#3D4E7A; --text-muted:#6B79A0;
  --border:#E4EBFA; --radius:16px;
  --shadow:0 4px 12px rgba(8,20,54,.06),0 12px 32px rgba(8,20,54,.07);
  --shadow-lg:0 8px 24px rgba(8,20,54,.08),0 30px 70px rgba(37,99,255,.14);
}

[data-theme="cloud"]{ --blue:#0EA5E9; --blue-600:#0284C7; --violet:#2DD4BF; --blue-100:#D8F2FE; --blue-50:#EFFAFF; --grad:linear-gradient(135deg,#0EA5E9,#2DD4BF); --blue-brand:#0EA5E9 }
[data-theme="ocean"]{ --blue:#0D9488; --blue-600:#0F766E; --violet:#22C55E; --blue-100:#CFF5EF; --blue-50:#EEFCFA; --grad:linear-gradient(135deg,#0D9488,#22C55E); --blue-brand:#0D9488 }
[data-theme="citrus"]{ --blue:#4F46E5; --blue-600:#4338CA; --violet:#84CC16; --blue-100:#E0DEFF; --blue-50:#F3F2FF; --grad:linear-gradient(135deg,#4F46E5,#84CC16); --blue-brand:#4F46E5 }
[data-theme="crimson"]{ --blue:#E11D48; --blue-600:#BE123C; --violet:#F97316; --blue-100:#FFE0E7; --blue-50:#FFF2F5; --grad:linear-gradient(135deg,#E11D48,#F97316); --blue-brand:#E11D48 }
[data-theme="inferno"]{
  --ink:#EAF0FF; --ink-70:#B9C6E8; --ink-50:#8492BC; --ink-30:#5D6A94; --navy:#EAF0FF;
  --bg:#070E24; --bg-soft:#0C1633; --bg-deep:#050A1C;
  --line:#1B2750; --line-2:#25335F; --blue-50:#0F1B3D; --blue-100:#172551;
  --sh-sm:0 2px 8px rgba(0,0,0,.4); --sh:0 10px 30px rgba(0,0,0,.5); --sh-lg:0 30px 80px rgba(0,0,0,.6);
  --white:#070E24; --text-dark:#EAF0FF; --text-mid:#B9C6E8; --text-muted:#8492BC;
  --border:#1B2750; --blue-pale:#172551; --blue-ghost:#0F1B3D;
}

@media (max-width:900px){ :root{ --gutter:18px } }

/* ---------- Base ---------- */
*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:16.5px; line-height:1.65; font-weight:450; letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img,svg{ max-width:100%; display:block }
a{ color:inherit }
::selection{ background:var(--blue); color:#fff }
:focus-visible{ outline:2px solid var(--blue); outline-offset:3px }

.wrap,.section-inner,.footer-inner{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gutter) }

h1,h2,h3,h4{ margin:0; font-weight:800; letter-spacing:-.035em; line-height:1.08; color:var(--navy) }
h1{ font-size:clamp(31px,3.4vw,42px); letter-spacing:-.036em }
h2,.section-title{ font-size:clamp(30px,3.8vw,46px); letter-spacing:-.038em; font-weight:800; color:var(--navy) }
h3{ font-size:clamp(19px,1.7vw,23px); letter-spacing:-.028em }
p{ margin:0 0 1em } p:last-child{ margin-bottom:0 }

/* ---------- Éléments récurrents ---------- */
.eyebrow,.section-label,.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:.01em; text-transform:none;
  color:var(--blue); background:var(--blue-50); border:1px solid var(--blue-100);
  border-radius:var(--r-full); padding:6px 14px; margin:0 0 20px; width:max-content;
}
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--blue); animation:pulse 2.2s var(--ease) infinite }
@keyframes pulse{ 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.75)} }

.section-subtitle{ font-size:18.5px; line-height:1.6; color:var(--ink-50); max-width:56ch; margin:0 }
.head{ text-align:center; max-width:780px; margin:0 auto 54px }
.head .eyebrow{ margin-left:auto; margin-right:auto }
.head h2,.head .section-title{ margin:0 auto 16px; max-width:20ch }
.head .section-subtitle{ margin:0 auto }
.grad-text{ background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent }

/* ---------- Boutons ---------- */
.btn,.btn-primary,.submit-btn,.nav-cta,.nav-signup,.btn-order,.btn-solution,
.custom-cta-btn,.btn-dash-order,.cta,.cta-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--sans); font-size:15px; font-weight:700; letter-spacing:-.015em;
  padding:14px 26px; border-radius:var(--r-full); border:0; cursor:pointer;
  background:var(--grad); color:#fff !important; text-decoration:none;
  box-shadow:var(--sh-blue); overflow:hidden;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn::after,.btn-primary::after,.submit-btn::after,.nav-signup::after,
.btn-solution::after,.cta::after,.custom-cta-btn::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.34) 50%,transparent 70%);
  transform:translateX(-130%); transition:transform .6s var(--ease);
}
.btn:hover,.btn-primary:hover,.submit-btn:hover,.nav-signup:hover,.btn-order:hover,
.btn-solution:hover,.custom-cta-btn:hover,.cta:hover,.cta-btn:hover{
  transform:translateY(-2px); box-shadow:0 12px 34px rgba(37,99,255,.42); filter:saturate(115%);
}
.btn:hover::after,.btn-primary:hover::after,.submit-btn:hover::after,
.nav-signup:hover::after,.btn-solution:hover::after,.cta:hover::after,.custom-cta-btn:hover::after{ transform:translateX(130%) }

.btn-ghost,.btn-secondary,.nav-login,.google-btn,.google-signin-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--sans); font-size:15px; font-weight:600; letter-spacing:-.015em;
  padding:14px 24px; border-radius:var(--r-full);
  background:#fff; color:var(--navy) !important; border:1px solid var(--line-2);
  box-shadow:var(--sh-sm); cursor:pointer; text-decoration:none;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease);
}
.btn-ghost:hover,.btn-secondary:hover,.nav-login:hover,.google-btn:hover,.google-signin-btn:hover{
  transform:translateY(-2px); border-color:var(--blue-300); box-shadow:var(--sh);
}
.btn-lg{ padding:16px 27px; font-size:15.5px }
.arrow-link{ display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:15px; color:var(--blue) !important; text-decoration:none }
.arrow-link .ar{ transition:transform .25s var(--ease) }
.arrow-link:hover .ar{ transform:translateX(4px) }

.reassure{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; font-size:13.5px; color:var(--ink-50); margin-top:20px }
.reassure span{ display:inline-flex; align-items:center; gap:7px }
.reassure .tick{ width:17px; height:17px; border-radius:50%; background:var(--blue-50); color:var(--blue); display:grid; place-items:center; font-size:10px; font-weight:800; flex:0 0 auto }

/* ---------- Navigation ---------- */
.annonce{ background:var(--grad); color:#fff; text-align:center; font-size:13.5px; font-weight:600; padding:9px var(--gutter); letter-spacing:-.01em }
.annonce a{ color:#fff; text-decoration:underline; text-underline-offset:3px }

nav{
  position:sticky; top:0; z-index:900; background:rgba(255,255,255,.84);
  -webkit-backdrop-filter:saturate(180%) blur(14px); backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line); transition:box-shadow .25s var(--ease);
}
nav.scrolled{ box-shadow:0 4px 24px rgba(8,20,54,.07) }
nav > div,.nav-inner{ max-width:var(--max); margin:0 auto; padding:0 var(--gutter); height:70px; display:flex; align-items:center; gap:32px }
.nav-logo,.logo{ font-size:19px; font-weight:800; letter-spacing:-.04em; color:var(--navy) !important; text-decoration:none; margin-right:auto; white-space:nowrap }
.nav-logo span,.logo span{ background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent }
.nav-links,.nav-menu{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0 }
.nav-links a,.nav-menu a{
  display:block; font-size:14.5px; font-weight:600; color:var(--ink-70) !important; text-decoration:none;
  padding:8px 13px; border-radius:var(--r-full); transition:color .2s var(--ease),background .2s var(--ease);
}
.nav-links a:hover,.nav-menu a:hover{ color:var(--navy) !important; background:var(--blue-50) }
.nav-right{ display:flex; align-items:center; gap:10px }
.nav-login,.nav-signup{ padding:11px 20px; font-size:14.5px }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; background:var(--bg) }
.hero::before,.hero::after{ content:""; position:absolute; border-radius:50%; pointer-events:none; filter:blur(90px); opacity:.55; z-index:0 }
.hero::before{ width:620px; height:620px; top:-250px; left:-150px; background:radial-gradient(circle,#8FB3FF 0%,transparent 68%); animation:float1 18s var(--ease) infinite }
.hero::after{ width:560px; height:560px; top:-90px; right:-170px; background:radial-gradient(circle,#C4B5FF 0%,transparent 68%); animation:float2 22s var(--ease) infinite }
@keyframes float1{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(60px,50px) scale(1.08)} }
@keyframes float2{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(-50px,60px) scale(1.06)} }

.hero-grid{
  position:relative; z-index:1; max-width:var(--max); margin:0 auto;
  padding:66px var(--gutter) 78px;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center;
}
.hero-text h1{ margin:0 0 22px }
.rot-wrap{ display:inline-grid; vertical-align:top; text-align:left; max-width:100% }
.rot{
  grid-area:1/1; min-width:0; background:var(--grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; white-space:nowrap;
  opacity:0; transform:translateY(.38em); transition:opacity .42s var(--ease),transform .42s var(--ease);
}
.rot.on{ opacity:1; transform:none }
.rot.out{ opacity:0; transform:translateY(-.38em) }
.hero-text .sub{ font-size:19px; line-height:1.6; color:var(--ink-50); max-width:50ch; margin:0 0 28px }
.hero-text .sub b{ color:var(--ink); font-weight:700 }
.hero-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap }
@media (max-width:960px){
  .hero-grid{ grid-template-columns:1fr; gap:42px; padding:48px var(--gutter) 56px }
  .hero-text h1{ font-size:clamp(33px,8.2vw,44px) }
}

/* ---------- Démo animée ---------- */
.demo{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-lg); overflow:hidden }
.demo-bar{ display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--line); background:#fff }
.demo-dots{ display:flex; gap:6px }
.demo-dots i{ width:9px; height:9px; border-radius:50%; background:var(--line-2); display:block }
.demo-title{ font-size:12.5px; font-weight:700; color:var(--ink-50); letter-spacing:-.01em }
.demo-live{ margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10.5px; color:var(--mint); background:rgba(16,185,129,.09); border-radius:var(--r-full); padding:4px 10px }
.demo-live i{ width:6px; height:6px; border-radius:50%; background:var(--mint); animation:pulse 1.6s infinite }
.demo-body{ padding:16px; min-height:330px; display:flex; flex-direction:column; gap:10px; background:var(--bg-soft) }

.tache{
  display:grid; grid-template-columns:36px 1fr auto; gap:12px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px 14px;
  box-shadow:var(--sh-sm); animation:tacheIn .45s var(--ease) both;
}
@keyframes tacheIn{ from{opacity:0;transform:translateY(14px) scale(.97)} to{opacity:1;transform:none} }
.tache.sortie{ animation:tacheOut .55s var(--ease) both }
@keyframes tacheOut{ 0%{opacity:1;transform:none} 40%{transform:translateX(6px)} 100%{opacity:0;transform:translateX(48px) scale(.95)} }
.tache-ico{ width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:var(--blue-50); color:var(--blue) }
.tache-ico svg{ width:17px; height:17px }
.tache-txt{ min-width:0 }
.tache-t{ font-size:14px; font-weight:700; letter-spacing:-.02em; color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.tache-s{ font-size:12.5px; color:var(--ink-50); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.tache-st{ font-family:var(--mono); font-size:10px; padding:5px 9px; border-radius:var(--r-full); white-space:nowrap; background:var(--blue-50); color:var(--blue) }
.tache.traite .tache-ico,.tache.traite .tache-st{ background:rgba(16,185,129,.11); color:var(--mint) }
.demo-foot{ display:flex; align-items:center; gap:10px; padding:13px 18px; border-top:1px solid var(--line); background:#fff; font-size:12.5px; color:var(--ink-50) }
.demo-foot b{ font-family:var(--mono); font-weight:600; color:var(--navy); font-variant-numeric:tabular-nums }
.demo-foot .sep{ margin-left:auto }

/* ---------- Marquee ---------- */
.marquee-sec{ padding:36px 0 42px; border-top:1px solid var(--line); background:var(--bg) }
.marquee-lbl{ text-align:center; font-size:13px; font-weight:600; color:var(--ink-30); margin-bottom:20px }
.marquee{ position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent) }
.marquee-track{ display:flex; gap:14px; width:max-content; animation:slide 34s linear infinite }
.marquee:hover .marquee-track{ animation-play-state:paused }
@keyframes slide{ to{ transform:translateX(-50%) } }
.chip{ display:inline-flex; align-items:center; gap:9px; white-space:nowrap; font-size:14.5px; font-weight:600; color:var(--ink-70); background:#fff; border:1px solid var(--line); border-radius:var(--r-full); padding:10px 20px; box-shadow:var(--sh-sm) }
.chip .bul{ width:8px; height:8px; border-radius:50%; background:var(--blue-300) }

/* ---------- Chiffres ---------- */
.stats{ padding:62px 0; background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px }
.stat{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 24px; box-shadow:var(--sh-sm); transition:transform .28s var(--ease),box-shadow .28s var(--ease) }
.stat:hover{ transform:translateY(-5px); box-shadow:var(--sh) }
.stat .n{ font-size:42px; font-weight:800; letter-spacing:-.05em; line-height:1; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-variant-numeric:tabular-nums; margin-bottom:10px }
.stat .l{ font-size:14.5px; color:var(--ink-50); line-height:1.45 }
@media (max-width:900px){ .stats-grid{ grid-template-columns:1fr 1fr } .stat .n{ font-size:34px } }

/* ---------- Métiers ---------- */
.metiers{ padding:88px 0; background:var(--bg) }
.tabs{ display:flex; gap:9px; justify-content:center; flex-wrap:wrap; margin-bottom:36px }
.tab{ position:relative; font-family:var(--sans); font-size:14.5px; font-weight:700; color:var(--ink-70); background:#fff; border:1px solid var(--line); border-radius:var(--r-full); padding:11px 21px; cursor:pointer; overflow:hidden; transition:color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease) }
.tab:hover{ transform:translateY(-2px); border-color:var(--blue-300) }
.tab.on{ color:#fff; border-color:transparent; background:var(--grad); box-shadow:var(--sh-blue) }
.tab .prog{ position:absolute; left:0; bottom:0; height:3px; width:100%; background:rgba(255,255,255,.55); transform:scaleX(0); transform-origin:left }
.tab.on .prog{ animation:tabprog 7s linear forwards }
@keyframes tabprog{ to{ transform:scaleX(1) } }

.panneau{ display:none }
.panneau.on{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; align-items:center; animation:panIn .5s var(--ease) both }
@keyframes panIn{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
.panneau h3{ font-size:clamp(23px,2.6vw,31px); margin:0 0 13px }
.panneau .intro{ color:var(--ink-50); font-size:17px; margin:0 0 24px; max-width:46ch }
.gains{ display:flex; flex-direction:column; gap:12px }
.gain{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; box-shadow:var(--sh-sm); transition:transform .24s var(--ease),box-shadow .24s var(--ease) }
.gain:hover{ transform:translateX(5px); box-shadow:var(--sh) }
.gain .ic{ width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:var(--grad-soft); color:var(--blue) }
.gain .ic svg{ width:18px; height:18px }
.gain b{ display:block; font-size:15.5px; font-weight:700; letter-spacing:-.02em; color:var(--navy); margin-bottom:2px }
.gain span{ font-size:14px; color:var(--ink-50); line-height:1.5 }

.avapres{ background:var(--navy); border-radius:var(--r-xl); padding:32px; box-shadow:var(--sh-lg); position:relative; overflow:hidden }
.avapres::before{ content:""; position:absolute; width:340px; height:340px; right:-120px; top:-120px; background:radial-gradient(circle,rgba(109,92,255,.45),transparent 68%); filter:blur(48px) }
.avapres-t{ position:relative; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:22px }
.ligne{ position:relative; margin-bottom:22px } .ligne:last-child{ margin-bottom:0 }
.ligne-h{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:9px }
.ligne-n{ font-size:14.5px; font-weight:600; color:#fff }
.ligne-v{ font-family:var(--mono); font-size:12.5px; color:rgba(255,255,255,.6); font-variant-numeric:tabular-nums }
.ligne-v em{ font-style:normal; color:#7BE0C0; font-weight:600 }
.barres{ display:flex; flex-direction:column; gap:5px }
.barre{ height:9px; border-radius:var(--r-full); background:rgba(255,255,255,.13); overflow:hidden }
.barre i{ display:block; height:100%; border-radius:var(--r-full); width:0; transition:width 1.1s var(--ease) }
.barre.av i{ background:rgba(255,255,255,.34) }
.barre.ap i{ background:linear-gradient(90deg,#3EE0B0,#1FC8E8) }
@media (max-width:900px){ .metiers{ padding:58px 0 } .panneau.on{ grid-template-columns:1fr; gap:30px } }

/* ---------- Méthode ---------- */
.methode{ padding:88px 0; background:var(--bg-soft); border-top:1px solid var(--line) }
.etapes{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:et }
.etape{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 24px 26px; box-shadow:var(--sh-sm); counter-increment:et; overflow:hidden; transition:transform .28s var(--ease),box-shadow .28s var(--ease) }
.etape:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg) }
.etape::before{ content:"0" counter(et); display:block; font-family:var(--mono); font-size:13px; font-weight:600; color:var(--blue); margin-bottom:15px }
.etape::after{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease) }
.etape:hover::after{ transform:scaleX(1) }
.etape h3{ font-size:19px; margin:0 0 9px }
.etape p{ font-size:14.5px; color:var(--ink-50); line-height:1.55; margin:0 }
@media (max-width:960px){ .etapes{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .etapes{ grid-template-columns:1fr } .methode{ padding:58px 0 } }

/* ---------- Offres ---------- */
.solutions-section{ padding:88px 0; background:var(--bg) }
.solutions-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch }
.solution-card{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:32px 28px 30px; box-shadow:var(--sh-sm); transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease) }
.solution-card:hover{ transform:translateY(-7px); box-shadow:var(--sh-lg); border-color:var(--blue-100) }
.solution-card-featured{ border-color:transparent; box-shadow:0 0 0 2px var(--blue),var(--sh) }
.solution-card-featured::before{ content:"Le plus choisi"; position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--grad); color:#fff; font-size:12px; font-weight:700; padding:5px 16px; border-radius:var(--r-full); box-shadow:var(--sh-blue); white-space:nowrap }
.solution-icon,.solution-delay,.offer-emoji,.agent-emoji,.agent-card-icon{ display:none !important }
.solution-badge{ display:inline-block; width:max-content; font-size:12px; font-weight:700; color:var(--blue); background:var(--blue-50); border:1px solid var(--blue-100); border-radius:var(--r-full); padding:5px 13px; margin:0 0 16px }
.solution-title{ font-size:23px; font-weight:800; letter-spacing:-.032em; margin:0 0 8px; color:var(--navy) }
.solution-tagline{ font-size:15px; color:var(--blue); font-weight:600; margin:0 0 14px }
.solution-desc{ font-size:14.5px; color:var(--ink-50); line-height:1.6; margin:0 0 22px }
.solution-features,.include-list,.agent-features{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:11px }
.solution-features li,.include-list li,.agent-features li{ position:relative; font-size:14.5px; line-height:1.5; color:var(--ink-70); padding-left:28px }
.solution-features li::before,.include-list li::before,.agent-features li::before{
  content:""; position:absolute; left:0; top:3px; width:18px; height:18px; border-radius:50%;
  background:var(--blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563FF' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat;
}
.solution-footer{ margin-top:auto; padding-top:6px }
.solution-price,.price-amount{ display:block; font-size:32px; font-weight:800; letter-spacing:-.045em; color:var(--navy); line-height:1; margin-bottom:6px; font-variant-numeric:tabular-nums }
.solution-price small{ font-size:14px; font-weight:600; color:var(--ink-50) }
.price-label,.price-note{ display:block; font-size:13px; color:var(--ink-50); margin-bottom:20px }
.solution-card .btn-solution{ width:100% }
@media (max-width:980px){ .solutions-grid{ grid-template-columns:1fr; gap:26px } .solutions-section{ padding:58px 0 } }

/* ---------- Bandeau CTA ---------- */
.cta-band{ position:relative; overflow:hidden; background:var(--navy); border-radius:var(--r-xl); padding:52px 46px; margin-top:58px; display:grid; grid-template-columns:minmax(0,1.5fr) auto; gap:30px; align-items:center }
.cta-band::before{ content:""; position:absolute; width:520px; height:520px; right:-150px; bottom:-260px; background:radial-gradient(circle,rgba(37,99,255,.6),transparent 68%); filter:blur(56px) }
.cta-band > *{ position:relative }
.cta-band h3{ color:#fff; font-size:clamp(23px,2.8vw,31px); margin:0 0 10px }
.cta-band p{ color:rgba(255,255,255,.68); font-size:16px; margin:0; max-width:56ch }
.cta-band .btn{ background:#fff; color:var(--blue) !important; box-shadow:0 8px 26px rgba(0,0,0,.24); white-space:nowrap }
@media (max-width:820px){ .cta-band{ grid-template-columns:1fr; padding:34px 26px } }

/* ---------- Avis ---------- */
.reviews-section{ padding:88px 0; background:var(--bg-soft); border-top:1px solid var(--line) }
.reviews-grid,.testimonials-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px }
.review-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:26px 24px; box-shadow:var(--sh-sm); transition:transform .28s var(--ease),box-shadow .28s var(--ease) }
.review-card:hover{ transform:translateY(-5px); box-shadow:var(--sh) }
.review-stars{ color:#FFB020; font-size:15px; letter-spacing:.14em; margin-bottom:14px }
.review-text{ font-size:15.5px; line-height:1.6; color:var(--ink-70); margin:0 0 20px }
.review-author{ display:flex; align-items:center; gap:11px; padding-top:16px; border-top:1px solid var(--line) }
.review-avatar{ width:38px; height:38px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; font-weight:700; font-size:14px }
.review-name{ font-size:14.5px; font-weight:700; color:var(--navy) }
.review-via{ font-size:12.5px; color:var(--ink-30) }
.empty-state{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:52px 28px; text-align:center; box-shadow:var(--sh-sm) }
.empty-icon{ display:none !important }
.empty-title{ font-size:22px; font-weight:800; letter-spacing:-.03em; margin:0 0 8px; color:var(--navy) }
.empty-state p{ color:var(--ink-50); font-size:15px }
@media (max-width:900px){ .reviews-grid,.testimonials-grid{ grid-template-columns:1fr } .reviews-section{ padding:58px 0 } }

/* ---------- FAQ ---------- */
.faq-section{ padding:88px 0; background:var(--bg) }
.faq-list{ max-width:840px; margin:0 auto; display:flex; flex-direction:column; gap:12px }
.faq-item{ background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); overflow:hidden; transition:border-color .24s var(--ease),box-shadow .24s var(--ease) }
.faq-item:hover,.faq-item[open]{ border-color:var(--blue-300) }
.faq-item[open]{ box-shadow:var(--sh) }
.faq-q,.faq-item summary{ display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:16.5px; font-weight:700; letter-spacing:-.022em; color:var(--navy); padding:19px 22px; cursor:pointer; list-style:none; background:#fff }
.faq-item summary::-webkit-details-marker{ display:none }
.faq-icon{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--blue-50); color:var(--blue); display:grid; place-items:center; font-size:16px; font-weight:700; line-height:1; transition:transform .28s var(--ease),background .28s var(--ease) }
.faq-item[open] .faq-icon,.faq-q.active .faq-icon{ transform:rotate(45deg); background:var(--grad); color:#fff }
.faq-a,.faq-content{ padding:0 22px 22px; font-size:15.5px; line-height:1.65; color:var(--ink-50) }
@media (max-width:900px){ .faq-section{ padding:58px 0 } }

/* ---------- Formulaire ---------- */
.form-section{ padding:88px 0; background:var(--bg-soft); border-top:1px solid var(--line) }
.form-grid{ display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:32px; align-items:start }
@media (max-width:1000px){ .form-grid{ grid-template-columns:1fr } }
.form-card,.order-card{ background:#fff !important; border:1px solid var(--line) !important; border-radius:var(--r-lg) !important; box-shadow:var(--sh-sm) !important; padding:26px 24px }
/* le récapitulatif porte son propre dégradé en style inline : on ne l'écrase pas */
.price-summary{ border-radius:var(--r) !important; box-shadow:var(--sh) !important; overflow:hidden }
.price-summary h4,.price-summary strong{ color:#fff }
.form-sidebar{ position:sticky; top:92px }
@media (max-width:1000px){ .form-sidebar{ position:static } }
.form-heading,.sidebar-incl-title{ font-size:13px; font-weight:700; color:var(--blue); margin:0 0 16px }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px }
@media (max-width:640px){ .form-row{ grid-template-columns:1fr } }
.form-field{ margin-bottom:18px }
.form-field label{ display:block; font-size:13.5px; font-weight:600; color:var(--ink-70); margin-bottom:7px }
.form-field input,.form-field textarea,.form-field select,
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=url],textarea,select{
  width:100%; font-family:var(--sans); font-size:15.5px; color:var(--ink); background:#fff;
  border:1px solid var(--line-2); border-radius:var(--r-sm); padding:12px 14px;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.form-field textarea,textarea{ min-height:104px; resize:vertical }
input:focus,textarea:focus,select:focus{ outline:0; border-color:var(--blue); box-shadow:0 0 0 4px rgba(37,99,255,.13) }
input::placeholder,textarea::placeholder{ color:var(--ink-30) }
.offer-selector{ display:grid; gap:12px; margin-bottom:26px }
.offer-radio{ display:flex; align-items:center; gap:14px; cursor:pointer; background:#fff; border:1.5px solid var(--line-2); border-radius:var(--r); padding:16px 18px; transition:border-color .22s var(--ease),box-shadow .22s var(--ease),transform .22s var(--ease) }
.offer-radio:hover{ border-color:var(--blue-300); transform:translateY(-2px) }
.offer-radio:has(input:checked){ border-color:var(--blue); box-shadow:0 0 0 3px rgba(37,99,255,.13) }
.offer-radio input{ width:auto; accent-color:var(--blue) }
.offer-content{ display:flex; align-items:center; gap:12px; flex:1 }
.offer-name{ font-size:15.5px; font-weight:700; color:var(--navy) }
.offer-tagline{ display:block; font-size:13.5px; color:var(--ink-50); font-weight:500; margin-top:1px }
.agent-item{ background:#fff !important; border:1px solid var(--line) !important; border-radius:var(--r) !important; padding:18px !important; margin-bottom:12px }
.agent-item-header{ display:flex; align-items:center; gap:10px; margin-bottom:12px }
.agent-item-num,.agent-item-display-num{ font-family:var(--mono); font-size:12px; color:var(--blue); font-weight:600 }
.agent-item-remove{ margin-left:auto; background:none !important; border:0 !important; font-size:13px; color:var(--ink-30) !important; cursor:pointer }
.agent-dd{ position:relative }
.agent-dd-trigger{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; background:#fff !important; border:1px solid var(--line-2) !important; border-radius:var(--r-sm) !important; padding:12px 14px; font-family:var(--sans); font-size:15.5px; color:var(--ink); cursor:pointer; text-align:left }
.agent-dd.open .agent-dd-trigger{ border-color:var(--blue) !important; box-shadow:0 0 0 4px rgba(37,99,255,.13) }
.agent-dd-chevron{ color:var(--ink-30); transition:transform .22s var(--ease) }
.agent-dd.open .agent-dd-chevron{ transform:rotate(180deg) }
.agent-dd-menu{ position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:60; background:#fff; border:1px solid var(--line) !important; border-radius:var(--r) !important; box-shadow:var(--sh-lg) !important; max-height:320px; overflow-y:auto; padding:6px }
.agent-dd-cat{ font-size:11.5px; font-weight:700; color:var(--ink-30); padding:10px 12px 6px }
.agent-dd-opt{ padding:11px 12px; border-radius:var(--r-sm); cursor:pointer; font-size:14.5px; transition:background .16s var(--ease) }
.agent-dd-opt:hover,.agent-dd-opt.selected{ background:var(--blue-50) }
.agent-dd-icon{ display:none !important }
.agent-dd-label{ font-weight:600; color:var(--navy) }
.agent-desc{ display:block; font-size:13px; color:var(--ink-50); margin-top:1px }
.success-msg,.success-message{ background:rgba(16,185,129,.09); border:1px solid rgba(16,185,129,.28); border-radius:var(--r); padding:16px 18px; color:#0B7A5B; font-size:15px }
.form-disclaimer,.form-sub,.form-info{ font-size:13px; color:var(--ink-30); line-height:1.55; margin-top:18px }

/* ---------- Newsletter / LinkedIn ---------- */
.newsletter-section,.connect-section{ position:relative; overflow:hidden; background:var(--navy) !important; padding:78px var(--gutter) !important }
.newsletter-section::before,.connect-section::before{ content:""; position:absolute; width:640px; height:640px; left:50%; top:-320px; margin-left:-320px; background:radial-gradient(circle,rgba(37,99,255,.55),transparent 66%); filter:blur(60px); pointer-events:none }
.newsletter-section > *,.connect-section > *{ position:relative }
.newsletter-section *,.connect-section *{ color:#fff !important }
.newsletter-section h2,.connect-title{ font-size:clamp(27px,3.4vw,41px) !important; font-weight:800 !important; letter-spacing:-.04em !important; color:#fff !important }
.newsletter-section p,.connect-section p{ color:rgba(255,255,255,.68) !important }
.newsletter-section input,.newsletter-section select{ background:rgba(255,255,255,.09) !important; color:#fff !important; border:1px solid rgba(255,255,255,.18) !important; border-radius:var(--r-sm) !important }
.newsletter-section input::placeholder{ color:rgba(255,255,255,.45) !important }
.newsletter-section option{ background:var(--navy); color:#fff }
.newsletter-section button,.connect-section a,.connect-btn{ background:#fff !important; color:var(--blue) !important; box-shadow:0 8px 26px rgba(0,0,0,.24) !important; border-radius:var(--r-full) !important; font-weight:700 !important; text-decoration:none }

/* ---------- Pied de page ---------- */
footer,.footer{ background:var(--bg) !important; border-top:1px solid var(--line); padding:62px 0 30px }
.footer-top,.footer-inner{ display:grid; grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr)); gap:30px; padding-bottom:42px }
@media (max-width:960px){ .footer-top,.footer-inner{ grid-template-columns:1fr 1fr; gap:32px } }
@media (max-width:560px){ .footer-top,.footer-inner{ grid-template-columns:1fr } }
.footer-brand p{ font-size:14.5px; color:var(--ink-50) !important; max-width:34ch; line-height:1.6 }
.footer-col h4,.footer-inner h4{ font-size:13.5px !important; font-weight:700 !important; color:var(--navy) !important; margin:0 0 14px }
.footer-col ul{ list-style:none; margin:0; padding:0 }
.footer-col li{ margin-bottom:9px }
.footer-col a,.footer-inner a,.footer-inner span{ display:block; font-size:14.5px; color:var(--ink-50) !important; text-decoration:none; margin-bottom:9px; transition:color .18s var(--ease),transform .18s var(--ease) }
.footer-col a:hover,.footer-inner a:hover{ color:var(--blue) !important; transform:translateX(3px) }
.footer-bottom{ border-top:1px solid var(--line); padding-top:22px; display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; align-items:center }
.footer-bottom p{ font-size:13px; color:var(--ink-30) !important; margin:0 }
.footer-bottom a{ font-size:13px; color:var(--ink-50) !important; text-decoration:none }

/* ---------- Divers ---------- */
.login-box,.dashboard-panel,.msg-thread,.contact-modal,.modal-card{ background:#fff !important; border:1px solid var(--line) !important; border-radius:var(--r-lg) !important; box-shadow:var(--sh-lg) !important }
.login-title{ font-size:24px; font-weight:800; letter-spacing:-.035em; margin:0 0 6px; color:var(--navy) }
.login-sub{ font-size:14.5px; color:var(--ink-50); margin:0 0 22px }
.login-logo{ display:none !important }
.dash-tab,.contact-tab{ background:none !important; border:0 !important; border-bottom:2px solid transparent !important; font-size:14px; font-weight:600; color:var(--ink-50) !important; padding:12px 16px; cursor:pointer }
.dash-tab.active,.contact-tab.active{ color:var(--blue) !important; border-bottom-color:var(--blue) !important }
.status-done{ background:rgba(16,185,129,.11) !important; color:#0B7A5B !important; border-radius:var(--r-full); padding:4px 11px; font-size:12px; font-weight:600 }
.status-progress{ background:var(--blue-50) !important; color:var(--blue) !important; border-radius:var(--r-full); padding:4px 11px; font-size:12px; font-weight:600 }
.status-pending{ background:#F1F4FA !important; color:var(--ink-50) !important; border-radius:var(--r-full); padding:4px 11px; font-size:12px; font-weight:600 }
.progress-bar{ height:7px; background:var(--line); border-radius:var(--r-full); overflow:hidden }
.progress-fill{ height:100%; background:var(--grad); border-radius:var(--r-full) }
/* pas de !important ici : le JS de notation écrit la couleur en style inline,
   un !important l'empêcherait de fonctionner (étoiles toujours dorées) */
.star{ color:#FFB020 } .empty-star{ color:var(--line-2) }

.burger{ display:none; width:40px; height:40px; border:1px solid var(--line); border-radius:var(--r-sm); background:#fff; cursor:pointer }
.burger span{ display:block; width:17px; height:1.8px; background:var(--navy); border-radius:2px; margin:3.4px auto; transition:transform .24s var(--ease),opacity .24s var(--ease) }
.burger.open span:nth-child(1){ transform:translateY(5.2px) rotate(45deg) }
.burger.open span:nth-child(2){ opacity:0 }
.burger.open span:nth-child(3){ transform:translateY(-5.2px) rotate(-45deg) }
.mobile-menu{ display:none; position:fixed; inset:70px 0 auto 0; z-index:880; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--sh); padding:16px var(--gutter) 24px; flex-direction:column; gap:2px }
.mobile-menu.open{ display:flex }
@media (min-width:901px){ .mobile-menu,.mobile-menu.open{ display:none !important } }
.mobile-menu > a{ font-size:16px; font-weight:600; color:var(--navy) !important; text-decoration:none; padding:13px 12px; border-radius:var(--r-sm) }
.mobile-menu > a:hover{ background:var(--blue-50) }
#cookie-banner{ background:#fff !important; border:1px solid var(--line) !important; border-radius:var(--r-lg) !important; box-shadow:var(--sh-lg) !important }
#d-chat-btn,#dash-bubble{ background:var(--grad) !important; border-radius:50% !important; box-shadow:var(--sh-blue) !important; border:0 !important; transition:transform .24s var(--ease) !important }
#d-chat-btn:hover,#dash-bubble:hover{ transform:translateY(-3px) scale(1.05) !important }

/* ---------- Apparition au défilement ---------- */
[data-rev]{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease),transform .7s var(--ease) }
[data-rev].vu{ opacity:1; transform:none }
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease),transform .7s var(--ease) }
.reveal.visible,.reveal.in,.reveal.vu,.reveal.is-visible,.reveal.actif{ opacity:1; transform:none }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important }
  [data-rev],.reveal{ opacity:1 !important; transform:none !important }
}

/* ---------- Mobile ---------- */
@media (max-width:900px){
  .nav-links,.nav-menu{ display:none !important }
  .burger{ display:block !important }
  nav > div,.nav-inner{ height:64px; gap:14px }
  .mobile-menu{ inset:64px 0 auto 0 }
  #navUserArea{ display:flex; gap:8px }
  #navUserArea button{ padding:10px 15px !important; font-size:13.5px !important }
  .head{ margin-bottom:34px }
  .demo-body{ min-height:0 }
  .cta-band{ margin-top:38px }
  .form-grid,.footer-top,.footer-inner{ grid-template-columns:1fr !important }
  .section-inner > div[style*="grid-template-columns"]{ grid-template-columns:1fr !important }
}

/* ============================================================
   Pages secondaires — offres · agents-ia · contact · connexion
   · blog · article · 404  (vocabulaire de classes distinct)
   ============================================================ */

.nav-menu{ margin-left:auto }
.nav-back{ font-size:14px; font-weight:600; color:var(--blue) !important; text-decoration:none }

.hero:not(:has(.hero-grid)){
  position:relative; overflow:hidden; text-align:left !important;
  background:var(--bg) !important; border-bottom:1px solid var(--line);
  padding:76px max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter))) 62px !important;
}
.hero:not(:has(.hero-grid)) h1{
  font-size:clamp(34px,4.6vw,54px) !important; font-weight:800 !important;
  letter-spacing:-.042em !important; color:var(--navy) !important; margin:0 0 18px !important; max-width:17ch;
}
.hero:not(:has(.hero-grid)) p{ font-size:18.5px; color:var(--ink-50) !important; max-width:54ch; margin:0 }
.hero-inner{ position:relative; z-index:1; max-width:var(--max); margin:0 auto; padding:0 }
.hero-tag,.article-cat{
  display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700;
  color:var(--blue) !important; background:var(--blue-50); border:1px solid var(--blue-100);
  border-radius:var(--r-full); padding:6px 14px; margin:0 0 18px; text-transform:none !important;
}

.container,.articles-wrap,.article-content{ max-width:var(--max); margin:0 auto; padding:62px var(--gutter) 84px }
.article-content{ max-width:76ch }
.lead{ font-size:19.5px; line-height:1.6; color:var(--ink-50); max-width:60ch; margin:0 0 46px; text-align:left !important }
.center{ text-align:left !important }

.grid,.articles-grid,.suggestions-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; list-style:none; margin:0; padding:0 }
.card,.article-card{
  position:relative; display:block; text-decoration:none; color:inherit;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-xl);
  padding:30px 26px 28px; box-shadow:var(--sh-sm);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.card:hover,.article-card:hover{ transform:translateY(-7px); box-shadow:var(--sh-lg); border-color:var(--blue-100) }
.card h3,.article-title{ font-size:22px !important; font-weight:800 !important; letter-spacing:-.032em; margin:0 0 10px !important; color:var(--navy) !important }
.card p,.article-extrait{ font-size:14.5px; line-height:1.6; color:var(--ink-50) !important; margin:0 0 18px }
.price{ display:block; font-size:15px; font-weight:700; color:var(--blue) !important; background:none !important; margin:0 0 14px; font-variant-numeric:tabular-nums }
.tag,.article-meta{
  display:inline-block; font-size:12px; font-weight:700; color:var(--blue) !important;
  background:var(--blue-50) !important; border:1px solid var(--blue-100) !important;
  border-radius:var(--r-full); padding:5px 13px !important; margin:0;
}
.article-img,.article-image{ width:100%; border-radius:var(--r); margin-bottom:16px }
.alt{ background:var(--bg-soft) !important }
@media (max-width:980px){ .grid,.articles-grid,.suggestions-list{ grid-template-columns:1fr 1fr } }
@media (max-width:640px){
  .grid,.articles-grid,.suggestions-list{ grid-template-columns:1fr }
  .hero:not(:has(.hero-grid)){ padding:48px var(--gutter) 40px !important }
  .container,.articles-wrap,.article-content{ padding:42px var(--gutter) 58px }
}

.filters{ display:flex; gap:9px; flex-wrap:wrap; margin:0 0 34px }
.filter-btn{
  font-family:var(--sans); font-size:14px; font-weight:700; color:var(--ink-70);
  background:#fff; border:1px solid var(--line); border-radius:var(--r-full);
  padding:10px 18px; cursor:pointer; transition:transform .22s var(--ease),border-color .22s var(--ease);
}
.filter-btn:hover{ transform:translateY(-2px); border-color:var(--blue-300) }
.filter-btn.active{ background:var(--grad); color:#fff; border-color:transparent; box-shadow:var(--sh-blue) }

.contact-row{ display:grid; grid-template-columns:auto 1fr; gap:14px 22px; align-items:baseline; border-bottom:1px solid var(--line); padding:16px 0 }
.contact-row strong{ font-size:13.5px; font-weight:700; color:var(--ink-30) }

.error-code{ font-size:clamp(76px,15vw,170px) !important; font-weight:800 !important; letter-spacing:-.06em; line-height:.92; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; margin:0 0 18px }
.error-emoji,.empty-ico,.icon,.linkedin-cta-icon{ display:none !important }
.subtitle{ font-size:19px; color:var(--ink-50) !important; max-width:50ch }
.suggestions-title,.empty-title{ font-size:14px; font-weight:700; color:var(--ink-30); margin:44px 0 16px }
.actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px }

.breadcrumb{ font-size:13.5px; color:var(--ink-30); margin-bottom:24px }
.breadcrumb a{ color:var(--blue) !important; text-decoration:none }
.article-header{ border-bottom:1px solid var(--line); padding-bottom:30px; margin-bottom:40px }
.article-body{ font-size:17.5px; line-height:1.75; color:var(--ink-70) }
.article-body h2{ font-size:32px; font-weight:800; letter-spacing:-.038em; margin:48px 0 15px; color:var(--navy) }
.article-body h3{ font-size:23px; font-weight:800; letter-spacing:-.03em; margin:34px 0 11px; color:var(--navy) }
.article-body a{ color:var(--blue) !important }
.article-body blockquote{ border-left:3px solid var(--blue); background:var(--blue-50); border-radius:0 var(--r) var(--r) 0; padding:18px 22px; margin:30px 0; font-size:17px; color:var(--ink) }
.article-image-credit{ font-size:12.5px; color:var(--ink-30); margin-top:8px }
.article-cta,.linkedin-cta{
  position:relative; overflow:hidden; background:var(--navy) !important; border:0 !important;
  border-radius:var(--r-xl) !important; padding:40px 34px !important; margin-top:52px;
}
.article-cta::before,.linkedin-cta::before{ content:""; position:absolute; width:420px; height:420px; right:-140px; bottom:-220px; background:radial-gradient(circle,rgba(37,99,255,.6),transparent 68%); filter:blur(52px) }
.article-cta > *,.linkedin-cta > *{ position:relative }
.article-cta *,.linkedin-cta *{ color:#fff !important }
.article-cta .cta,.linkedin-cta .linkedin-cta-link{ background:#fff !important; color:var(--blue) !important }
.loading,.empty,.error{ font-size:14.5px; color:var(--ink-30); padding:44px 0 }

@media (max-width:900px){
  .nav-inner:not(:has(.burger)){ height:auto; min-height:64px; flex-wrap:wrap; padding-top:10px; padding-bottom:10px }
  .nav-inner:not(:has(.burger)) .nav-menu,.nav-inner:not(:has(.burger)) .nav-links{
    display:flex !important; overflow-x:auto; gap:4px; scrollbar-width:none; width:100%; margin-left:0;
  }
  .nav-inner:not(:has(.burger)) .nav-menu::-webkit-scrollbar{ display:none }
  .nav-inner:not(:has(.burger)) .nav-menu a{ white-space:nowrap; font-size:13.5px; padding:7px 11px }
}

/* ---------- Garde-fous mobiles ---------- */
html,body{ overflow-x:hidden; max-width:100% }

@media (max-width:640px){
  h1{ font-size:clamp(26px,7.2vw,33px); letter-spacing:-.035em }
  .rot{ white-space:nowrap }
  .eyebrow,.hero-eyebrow{ white-space:normal; line-height:1.4; padding:7px 13px; font-size:12px }
  .hero-text .sub{ font-size:16.5px }
  .hero-actions{ width:100%; flex-direction:column; align-items:stretch }
  .hero-actions .btn,.hero-actions .btn-ghost{ width:100%; justify-content:center }
  .reassure{ gap:6px 14px; font-size:12.5px }
  .demo-body{ padding:12px; gap:8px }
  .tache{ grid-template-columns:32px 1fr; row-gap:6px; padding:11px 12px }
  .tache-st{ grid-column:2; justify-self:start }
  .tache-ico{ width:32px; height:32px }
  .demo-foot{ font-size:11.5px; padding:11px 14px }
  .head h2,.head .section-title{ max-width:none }
  h2,.section-title{ font-size:clamp(25px,6.4vw,34px) }
  .panneau h3{ font-size:clamp(21px,5.6vw,26px) }
  .avapres{ padding:24px 20px }
  .ligne-h{ flex-direction:column; align-items:flex-start; gap:3px }
  .cta-band h3{ font-size:23px }
  .cta-band .btn{ width:100% }
  .tabs{ gap:7px }
  .tab{ font-size:13px; padding:9px 15px }
  .stat{ padding:22px 18px }
  .stat .n{ font-size:30px }
  .annonce{ font-size:12.5px; line-height:1.45 }
  .solution-card{ padding:28px 22px 26px }
  .solution-price,.price-amount{ font-size:28px }
}

/* Le titre à rotation ne doit jamais élargir la page */
.hero-grid > *{ min-width:0 }
.hero-text{ min-width:0 }
.rot-wrap{ max-width:100% }
@media (max-width:640px){
  h1{ font-size:clamp(23px,6.05vw,30px) }
  .rot{ letter-spacing:-.045em }
}
@media (max-width:400px){
  h1{ font-size:22px }
  .rot{ letter-spacing:-.05em }
}

@media (max-width:640px){
  .eyebrow,.hero-eyebrow,.hero-tag,.article-cat{ max-width:100%; width:auto }
}

/* ============================================================
   Schéma du hero — ce qui arrive · l'agent · ce qu'il en fait
   ============================================================ */
.schema{
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:12px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--sh-lg); padding:22px 18px;
}
.sch-col{ display:flex; flex-direction:column; gap:9px; min-width:0 }
.sch-lbl{ font-size:11.5px; font-weight:700; color:var(--ink-30); margin-bottom:3px; letter-spacing:-.005em }
.sch-item{
  display:flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; color:var(--ink-70);
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:10px 11px; white-space:normal; line-height:1.25; min-width:0;
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.sch-item.out{ justify-content:space-between }
.sch-ic{ width:17px; height:17px; color:var(--blue); flex:0 0 auto }
.sch-ic svg{ width:17px; height:17px }
.sch-ic.ok{ color:var(--ink-30) }
.sch-item.actif{ background:var(--blue-50); border-color:var(--blue-300); color:var(--navy); transform:translateX(3px) }
.sch-item.out.actif{ background:rgba(16,185,129,.09); border-color:rgba(16,185,129,.35) }
.sch-item.out.actif .sch-ic.ok{ color:var(--mint) }

.sch-mid{ display:flex; flex-direction:column; align-items:center; gap:10px }
.sch-agent{
  background:var(--grad); color:#fff; border-radius:var(--r); padding:15px 12px;
  text-align:center; box-shadow:var(--sh-blue); width:106px;
}
.sch-agent-ic{ width:30px; height:30px; margin:0 auto 7px; color:#fff }
.sch-agent-ic svg{ width:30px; height:30px }
.sch-agent-t{ font-size:13.5px; font-weight:800; letter-spacing:-.02em }
.sch-agent-s{ font-size:10.5px; opacity:.82; margin-top:2px; line-height:1.3 }
.sch-flux{ display:flex; gap:5px }
.sch-flux i{ width:5px; height:5px; border-radius:50%; background:var(--blue-300); opacity:.35 }
.sch-flux i.on{ opacity:1; background:var(--blue); transform:scale(1.25) }
.sch-flux i{ transition:opacity .25s var(--ease),transform .25s var(--ease),background .25s var(--ease) }

.schema-note{ font-size:12px; color:var(--ink-30); margin:12px 2px 0; line-height:1.5 }

@media (max-width:520px){
  .schema{ grid-template-columns:1fr; gap:12px; padding:18px 14px }
  .sch-mid{ flex-direction:row; justify-content:center; gap:12px }
  .sch-flux{ transform:rotate(90deg) }
}

/* ============================================================
   Section « C'est quoi un agent IA »
   ============================================================ */
.explique{ padding:88px 0; background:var(--bg-soft); border-top:1px solid var(--line) }
.explique-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px }
.expl{
  position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:26px 22px 24px; box-shadow:var(--sh-sm);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease);
}
.expl:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg) }
.expl-n{
  width:32px; height:32px; border-radius:50%; background:var(--grad); color:#fff;
  display:grid; place-items:center; font-size:14px; font-weight:800; margin-bottom:15px;
  box-shadow:var(--sh-blue);
}
.expl h3{ font-size:18px; margin:0 0 8px }
.expl p{ font-size:14.5px; line-height:1.55; color:var(--ink-50); margin:0 }
@media (max-width:980px){ .explique-grid{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .explique-grid{ grid-template-columns:1fr } .explique{ padding:58px 0 } }

.pas-chatbot{
  margin-top:24px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:28px 26px; box-shadow:var(--sh-sm);
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; align-items:center;
}
.pas-chatbot h3{ font-size:20px; margin:0 0 8px }
.pas-chatbot p{ font-size:15px; color:var(--ink-50); margin:0; max-width:72ch }
@media (max-width:820px){ .pas-chatbot{ grid-template-columns:1fr } .pas-chatbot .btn-ghost{ width:100% } }

/* Intégrations : liste sobre, plus de défilement infini inventé */
.outils{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; padding:0 var(--gutter) }
.chip-plus{ background:var(--bg-soft); color:var(--ink-50); font-weight:500 }

/* ============================================================
   CORRECTIFS v15.0.1 — styles repris de l'ancienne feuille
   pour les blocs qui n'ont pas été redessinés (espace client,
   modale de connexion, cartes d'agents, commandes, factures…).
   Palette convertie à la charte bleue actuelle.
   ============================================================ */
[data-theme="inferno"] #reviews-empty h3{color:#FFFFFF !important}
[data-theme="inferno"] #reviews-empty p{color:#A8A29E !important}
[data-theme="inferno"] #review-form-area{background:#1F0808 !important;border-color:#2D0F0F !important}
[data-theme="inferno"] #review-form-area h3{color:#FFFFFF !important}
[data-theme="inferno"] #reviews-list > div{background:#1F0808 !important;border-color:#2D0F0F !important}
[data-theme="inferno"] #reviews-list p{color:#E4EBFA !important}
[data-theme="dark"] #reviews-list > div{background:#1A1A24 !important;border-color:#1F1F2E !important}
[data-theme="dark"] #reviews-list p{color:#CBD5E1 !important}
[data-theme="dark"] #reviews-list div[style*="font-weight:600"]{color:#FFFFFF !important}
[data-theme="dark"] #reviews-empty h3{color:#FFFFFF !important}
[data-theme="dark"] #reviews-empty p{color:#94A3B8 !important}
[data-theme="dark"] #review-form-area{background:#1A1A24 !important;border-color:#1F1F2E !important}
[data-theme="dark"] #review-form-area h3{color:#FFFFFF !important}
.hero-visual{animation:fadeInScale .9s ease-out both;animation-delay:.15s}
.nav-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}
.nav-avatar-placeholder{width:26px;height:26px;border-radius:50%;background:var(--blue-brand);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:11px}
.hero-visual{background:var(--blue-deep);border-radius:20px;padding:36px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);animation:floatY 4s ease-in-out infinite}
.hero-visual::before{content:'';position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:rgba(29,111,164,.3)}
.agents-section{background:var(--blue-ghost)}
.agents-grid-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}
.agent-card-v2{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:20px 16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.agent-card-v2:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue-brand)}
.agent-card-v2-title{font-size:15px;font-weight:800;color:var(--text-dark);margin-bottom:4px}
.agent-card-v2-desc{font-size:12px;color:var(--text-muted);line-height:1.4;margin-bottom:10px;flex:1}
.agent-usecase{background:var(--blue-ghost);color:var(--blue-mid);font-size:11px;line-height:1.4;padding:8px 10px;border-radius:8px;font-style:italic}
@media(max-width:900px){.agents-grid-v2{grid-template-columns:repeat(2,1fr);gap:10px}
.agent-card-v2{padding:14px 12px}
.agent-card-v2-title{font-size:13px}
.agent-card-v2-desc{font-size:11px;margin-bottom:8px}
.agent-usecase{font-size:10px;padding:6px 8px;line-height:1.35}
.agents-section{padding:48px 18px}}
@media(max-width:520px){.agents-grid-v2{grid-template-columns:1fr 1fr;gap:8px}
.agent-card-v2{padding:12px 10px}
.agent-card-v2-title{font-size:12px}
.agent-card-v2-desc{font-size:10px}
.agent-usecase{font-size:9px;padding:5px 7px}
.agents-section{padding:36px 12px}}
.offer-info{display:flex;flex-direction:column;gap:2px}
#comment{background:var(--white)}
.order-form{background:var(--blue-ghost);border:1px solid var(--border);border-radius:20px;padding:40px}
.agent-item-fields{display:flex;flex-direction:column;gap:10px}
.agent-item-fields textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s;background:var(--white);color:var(--text-dark);resize:vertical;min-height:70px}
.agent-item-fields textarea:focus{border-color:var(--blue-brand)}
.agent-dd-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94A3B8}
.agent-dd-trigger-text.has-value{color:var(--text-dark)}
.divider{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:13px;color:var(--text-muted)}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--border)}
#dashboard-overlay{display:none;position:fixed;inset:0;background:rgba(10,37,64,.5);z-index:200;backdrop-filter:blur(4px);align-items:flex-start;justify-content:flex-start;padding:80px 0 0 20px}
#dashboard-overlay.open{display:flex}
.dash-header{background:var(--blue-deep);padding:20px 24px;border-radius:20px 20px 0 0;display:flex;align-items:center;gap:12px;flex-shrink:0}
.dash-avatar-ph{width:42px;height:42px;border-radius:50%;background:var(--blue-brand);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:16px;overflow:hidden;flex-shrink:0}
.dash-avatar-ph img{width:100%;height:100%;object-fit:cover}
.dash-name{font-size:15px;font-weight:700;color:white}
.dash-email{font-size:12px;color:rgba(255,255,255,.55)}
.dash-close{background:none;border:none;color:rgba(255,255,255,.6);font-size:22px;cursor:pointer;line-height:1;padding:4px}
.dash-close:hover{color:white}
.dash-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}
.dash-body{padding:0;flex:1;overflow-y:auto}
.dash-section{display:none;padding:20px}
.dash-section.active{display:block}
.order-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.order-ref{font-size:13px;font-weight:700;color:var(--blue-deep)}
.order-status{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px}
.order-agent{font-size:14px;color:var(--text-mid);margin-bottom:6px}
.order-date{font-size:12px;color:var(--text-muted)}
.msg-thread-header{background:var(--blue-ghost);padding:12px 16px;font-size:13px;font-weight:600;color:var(--blue-deep)}
.msg-thread-body{padding:16px;display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto}
.thread-msg{font-size:13px;line-height:1.6;padding:10px 12px;border-radius:10px}
.thread-msg.team{background:var(--blue-pale);color:var(--blue-deep);border-bottom-left-radius:3px}
.thread-msg.client{background:var(--blue-deep);color:white;border-bottom-right-radius:3px;align-self:flex-end}
.thread-msg-meta{font-size:10px;opacity:.6;margin-bottom:3px}
.msg-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}
.msg-input-row input{flex:1;border:1.5px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;font-family:inherit;outline:none}
.msg-input-row input:focus{border-color:var(--blue-brand)}
.msg-send-btn{background:var(--blue-brand);color:white;border:none;border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;font-family:inherit;font-weight:600}
.invoice-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}
.invoice-item:last-child{border:none}
.invoice-name{font-size:14px;font-weight:600;color:var(--blue-deep)}
.invoice-date{font-size:12px;color:var(--text-muted)}
.invoice-amount{font-size:15px;font-weight:700;color:var(--blue-deep)}
.invoice-dl{background:var(--blue-ghost);border:none;border-radius:7px;padding:6px 12px;font-size:12px;color:var(--blue-brand);cursor:pointer;font-weight:600;font-family:inherit}
#login-modal{display:none;position:fixed;inset:0;background:rgba(10,37,64,.55);z-index:300;backdrop-filter:blur(5px);align-items:center;justify-content:center}
#login-modal.open{display:flex}
.login-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted)}
@media(max-width:1024px){#reviews-list{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:768px){.hero-visual{padding:20px}
#reviews-list{grid-template-columns:1fr!important}
.order-form{padding:20px}
#dashboard-overlay{padding:0;align-items:flex-end}
.nav-user-name{display:none}
.nav-logout{display:none !important}}
@media(max-width:480px){.dash-tabs{padding:0}
.dash-tab-lbl{display:none}}

/* ---------- États : ce qui doit rester masqué tant qu'on ne l'ouvre pas ---------- */
.faq-a{ display:none }
.faq-a.open{ display:block }
.faq-q{ width:100%; border:none; font-family:inherit; text-align:left }
.faq-q.open .faq-icon{ transform:rotate(45deg); background:var(--grad); color:#fff }
.success-msg{ display:none }
.success-msg.show{ display:block }
#dash-bubble{ display:none }
#dash-bubble.show{ display:flex !important }

/* ---------- Pied de page : .footer-inner enveloppe .footer-top sur l'accueil ---------- */
/* Sur les pages secondaires, .footer-inner EST la grille de colonnes.
   Sur l'accueil, elle contient .footer-top (la grille) + .footer-bottom :
   ces deux blocs doivent alors occuper toute la largeur. */
.footer-inner > .footer-top,
.footer-inner > .footer-bottom{ grid-column:1 / -1 }
.footer-brand p{ max-width:34ch }

/* == correctifs 404.html == */
.nav{padding:18px 24px;
    border-bottom:1px solid var(--border);
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);}
.suggestions{background:white;
    border:1px solid var(--border);
    border-radius:14px;
    padding:28px;
    text-align:left;
    box-shadow:0 4px 20px rgba(10,37,64,.04);}

/* == correctifs article.html == */
.header-inner{max-width:760px;margin:0 auto}
.article-image-wrap{max-width:1000px;margin:30px auto 0;padding:0 24px}

/* == correctifs blog.html == */
.article-link{text-decoration:none;color:inherit}
.cta-block{background:linear-gradient(135deg,var(--blue-deep),#1A5276);color:white;padding:50px 24px;text-align:center;margin-top:40px}
.cta-block h2{font-size:26px;font-weight:800;margin-bottom:12px}
.cta-block p{font-size:15px;opacity:.85;max-width:600px;margin:0 auto 24px}

/* == correctifs complémentaires == */
.form-sidebar .sidebar-incl,.sidebar-incl{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 22px; box-shadow:var(--sh-sm); margin-top:16px }
.sidebar-incl-title{ font-size:14px; font-weight:800; color:var(--navy); margin:0 0 14px; display:flex; align-items:center; gap:6px }
.sidebar-incl ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px }
.sidebar-incl li{ display:flex; gap:9px; align-items:flex-start; font-size:13.5px; color:var(--ink-70); line-height:1.5 }
.sidebar-incl li::before{ content:'\2713'; color:var(--mint); font-weight:800; flex-shrink:0; font-size:14px }
.sidebar-trust{ margin-top:14px; font-size:12.5px; color:var(--ink-50); text-align:center; line-height:1.6 }
#cart-total-now{ font-size:34px; letter-spacing:-.04em; font-weight:800; color:var(--navy) }
#cart-cmd-price,#cart-recurring-amount{ font-size:16px; font-weight:700; color:var(--navy) }
#cart-cmd-label{ font-size:14px; color:var(--ink-50) }
#faq,#apropos{ scroll-margin-top:86px }


/* == correctifs mise en page v15.0.2 == */

/* ---------- FAQ : deux colonnes, centrée, ouverture animée ---------- */
#faqList{
  max-width:1060px !important; margin:44px auto 0 !important;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start; gap:14px;
}
@media (max-width:1000px){ #faqList{ grid-template-columns:1fr; max-width:760px !important } }

.faq-item{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  box-shadow:var(--sh-sm); overflow:hidden;
  transition:border-color .22s var(--ease), box-shadow .22s var(--ease);
}
.faq-item:hover{ border-color:var(--blue-100); box-shadow:var(--sh) }

.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:18px 20px; margin:0; background:#fff; border:0; cursor:pointer;
  font-family:inherit; font-size:15.5px; font-weight:700; letter-spacing:-.02em;
  line-height:1.4; color:var(--navy); text-align:left;
}
.faq-q > span:first-child{ flex:1 }
.faq-icon{
  flex:0 0 auto; width:26px; height:26px; border-radius:50%;
  background:var(--blue-50); color:var(--blue);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:700; line-height:1;
  transition:transform .26s var(--ease), background .26s var(--ease), color .26s var(--ease);
}
.faq-q:hover .faq-icon{ background:var(--blue-100) }
.faq-q.open .faq-icon{ transform:rotate(45deg); background:var(--grad); color:#fff }

.faq-a{ display:none }
.faq-a.open{
  display:block; padding:0 20px 20px; margin:0;
  font-size:14.8px; line-height:1.68; color:var(--ink-70);
  animation:faqOuvre .24s var(--ease) both;
}
.faq-a.open strong{ color:var(--navy) }
@keyframes faqOuvre{ from{ opacity:0; transform:translateY(-5px) } to{ opacity:1; transform:none } }

/* ---------- Pied de page ---------- */
/* .footer-inner a passait tout en display:block : les liens de la ligne
   du bas et le « Agentify » du logo se retrouvaient chacun sur sa ligne. */
.footer-inner span{ display:inline }
.footer-brand{ min-width:0 }
.footer-logo,.footer-brand > div:first-child,.footer-brand h3,.footer-brand h4{
  font-size:20px; font-weight:800; letter-spacing:-.04em; color:var(--navy) !important;
  white-space:nowrap; margin:0 0 12px;
}
.footer-logo span,.footer-brand > div:first-child span{
  background:var(--grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; display:inline;
}
.footer-top{ padding-bottom:34px }
.footer-inner > .footer-bottom{ margin-top:0 }
.footer-bottom{ padding-top:20px; gap:10px 20px }
.footer-bottom p{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px }
.footer-bottom a{ display:inline !important; margin:0 !important; white-space:nowrap }
.footer-bottom a:hover{ color:var(--blue) !important; transform:none !important }
@media (max-width:700px){
  .footer-bottom{ flex-direction:column; align-items:flex-start }
  .footer-bottom p{ justify-content:flex-start }
}

/* ---------- Section avis : pas de grand vide quand la liste est encore courte ---------- */
.reviews-section{ padding:70px 0 }
#reviews-empty{ padding:8px 0 4px }

/* icônes en ligne dans les liens du pied de page (une règle globale les passait en block) */
.footer-col a svg,.footer-inner a svg,.footer-bottom a svg{ display:inline-block; vertical-align:-2px }
.footer-col a,.footer-inner a{ overflow-wrap:anywhere }
.footer-top,.footer-inner{ grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)) minmax(0,1.15fr) }
@media (max-width:960px){ .footer-top,.footer-inner{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .footer-top,.footer-inner{ grid-template-columns:1fr } }

/* bouton Google : une seule ligne */
.google-signin-btn{ white-space:nowrap; padding:13px 22px !important; gap:10px; font-size:14.5px; width:auto; max-width:100% }
.google-signin-btn svg{ flex:0 0 auto }
@media (max-width:520px){ .google-signin-btn{ width:100%; justify-content:center } }

/* ---------- Liste déroulante « type d'agent » ---------- */
.agent-dd{ position:relative; width:100% }
.agent-dd-trigger{
  width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--r-sm);
  font-size:14.5px; font-family:inherit; background:#fff; color:var(--navy); cursor:pointer;
  text-align:left; display:flex; align-items:center; justify-content:space-between; gap:8px;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.agent-dd-trigger:hover{ border-color:var(--blue-100) }
.agent-dd-trigger:focus{ outline:none; border-color:var(--blue) }
.agent-dd.open .agent-dd-trigger{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(37,99,255,.12) }
.agent-dd-trigger-text{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-30) }
.agent-dd-trigger-text.has-value{ color:var(--navy); font-weight:600 }
.agent-dd-chevron{ flex-shrink:0; color:var(--blue); transition:transform .2s var(--ease) }
.agent-dd.open .agent-dd-chevron{ transform:rotate(180deg) }

/* le menu reste fermé tant qu'on ne clique pas sur le champ */
.agent-dd-menu{
  display:none; position:absolute; top:calc(100% + 6px); left:0; right:0;
  max-height:320px; overflow-y:auto; background:#fff;
  border:1px solid var(--line); border-radius:var(--r-sm); box-shadow:var(--sh-lg,0 12px 34px rgba(8,20,54,.14));
  z-index:60; padding:6px 0; scrollbar-width:thin;
}
.agent-dd.open .agent-dd-menu{ display:block; animation:ddOuvre .16s var(--ease) both }
@keyframes ddOuvre{ from{ opacity:0; transform:translateY(-4px) } to{ opacity:1; transform:none } }
.agent-dd-cat{
  padding:9px 14px 5px; font-size:11px; font-weight:800; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-30);
}
.agent-dd-opt{
  display:flex; align-items:center; gap:9px; padding:9px 14px; font-size:14px;
  color:var(--ink-70); cursor:pointer; transition:background .14s var(--ease), color .14s var(--ease);
}
.agent-dd-opt:hover{ background:var(--blue-50); color:var(--navy) }
.agent-dd-opt.selected{ background:var(--blue-50); color:var(--blue); font-weight:700 }
.agent-dd-icon{ flex:0 0 auto; width:18px; text-align:center }
.agent-dd-label{ flex:1 }

/* logo Google à sa taille normale */
.google-signin-btn svg{ width:20px !important; height:20px !important; flex:0 0 20px }

/* == correctifs nav mobile v15.0.3 == */
/* Sur mobile, « Se connecter » et « Devis gratuit » figurent déjà dans le menu :
   les garder aussi dans la barre la faisait déborder sur deux lignes. */
@media (max-width:900px){
  nav .nav-right .nav-login,
  nav .nav-right .nav-signup{ display:none !important }
  nav > div,.nav-inner{ height:64px; gap:14px }
}
@media (min-width:901px){ .burger{ display:none !important } }
