/* Solutions — matches EB Automatisation V2.dc.html sc-if isSolutions (lines 557-732). */

/* solutionsWhy 3-cards reuses .differentiators__card from home.css — no new rule needed. */

/* ============ hub des expertises — 3 piliers + sous-pages ============ */
.pillar-hub{ display:flex; flex-direction:column; gap:18px; }
.pillar-hub__group{ background:#fff; border:1px solid var(--border-2); border-radius:18px; padding:26px 28px; }
.pillar-hub__main{ display:flex; align-items:center; gap:18px; text-decoration:none; color:inherit; }
.pillar-hub__icon{ width:52px; height:52px; border-radius:14px; background:var(--navy-gradient); border:1px solid var(--orange); color:var(--orange); display:flex; align-items:center; justify-content:center; flex:none; box-shadow:0 0 0 1px rgba(221,122,51,.25), 0 0 16px rgba(221,122,51,.35); transition:box-shadow .2s ease; }
.pillar-hub__main:hover .pillar-hub__icon{ box-shadow:0 0 0 1px rgba(221,122,51,.4), 0 0 26px rgba(221,122,51,.65); }
.pillar-hub__body{ flex:1; display:flex; flex-direction:column; gap:4px; }
.pillar-hub__title{ font-family:var(--font-heading); font-weight:700; font-size:19px; color:var(--navy); letter-spacing:-.01em; }
.pillar-hub__desc{ font-size:14px; color:var(--muted); line-height:1.5; }
.pillar-hub__arrow{ color:var(--orange); font-size:18px; flex:none; }
.pillar-hub__main:hover .pillar-hub__title{ color:var(--orange-a11y); }
.pillar-hub__children{ display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }
.pillar-hub__child{ text-decoration:none; font-size:13.5px; font-weight:600; color:var(--navy); background:var(--bg-soft-2); border:1px solid var(--border-2); padding:8px 14px; border-radius:9px; }
.pillar-hub__child:hover{ border-color:var(--orange-a11y); color:var(--orange-a11y); }

/* ============ trust strip 3-col ============ */
.trust-strip{ display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border:1px solid var(--border-2); border-radius:16px; overflow:hidden; }
.trust-strip__item{ display:flex; align-items:center; gap:14px; padding:22px 26px; border-right:1px solid var(--border); }
.trust-strip__item:last-child{ border-right:none; }
.trust-strip__icon{ width:38px; height:38px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--navy-gradient); border:1px solid var(--navy-panel-border-2); }
.trust-strip__icon--orange{ color:var(--orange); border-color:var(--orange); box-shadow:0 0 0 1px rgba(221,122,51,.22), 0 0 12px rgba(221,122,51,.3); }
.trust-strip__icon--green{ color:var(--green-bright); border-color:var(--green); box-shadow:0 0 0 1px rgba(30,142,90,.22), 0 0 12px rgba(30,142,90,.3); }
.trust-strip__icon--neutral{ color:var(--blue-3); border-color:var(--blue-2); box-shadow:0 0 0 1px rgba(46,155,255,.22), 0 0 12px rgba(46,155,255,.3); }
.trust-strip__title{ font-family:var(--font-heading); font-weight:600; font-size:15px; color:var(--navy); }
.trust-strip__desc{ font-size:13px; color:var(--muted); }

/* ============ solutions détaillées (panneaux numérotés + mockup) ============ */
.solution-row{ display:grid; grid-template-columns:56px 1fr 1.05fr; gap:36px; padding:44px 0; border-top:1px solid var(--border); align-items:start; }
.solution-row:first-child{ border-top:none; }
.solution-row__badge{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-weight:700; font-size:18px; }
.solution-row h2{ font-size:27px; letter-spacing:-.02em; margin:0 0 14px; line-height:1.2; }
.solution-row__desc{ font-size:16px; line-height:1.62; color:var(--text-3); margin:0 0 18px; }
.solution-row__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.solution-row__tag{ font-size:12.5px; font-weight:500; color:var(--text-3); background:var(--bg-soft-2); border:1px solid var(--border-2); padding:5px 12px; border-radius:20px; }
.solution-row__examples{ display:flex; flex-direction:column; gap:9px; }
.solution-row__example{ display:flex; gap:11px; font-size:14.5px; color:var(--text-5); line-height:1.5; }
.solution-row__example span{ color:var(--green); flex:none; }
.solution-row__transition{ margin-top:22px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.solution-row__before, .solution-row__after{ font-size:13px; padding:7px 13px; border-radius:9px; }
.solution-row__before{ color:#8A7A6A; background:#F4F1ED; border:1px solid #E8E2D8; }
.solution-row__arrow{ color:var(--orange); font-size:15px; }
.solution-row__after{ color:var(--green-dark-text-2); background:var(--green-alt-bg); border:1px solid var(--green-border); }
.solution-row__gain{ margin-top:14px; display:flex; align-items:center; gap:12px; background:var(--orange-soft-bg); border:1px solid var(--orange-soft-border); border-radius:11px; padding:13px 18px; }
.solution-row__gain-icon{ width:30px; height:30px; flex:none; border-radius:8px; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; }
.solution-row__gain-text{ font-family:var(--font-heading); font-weight:700; font-size:16px; color:var(--navy); letter-spacing:-.01em; line-height:1.3; }

.solution-row__mock{ background:var(--navy-panel); border:1px solid var(--navy-panel-border); border-radius:16px; box-shadow:0 30px 60px -38px rgba(12,30,60,.5); overflow:hidden; }
.solution-row__mock-titlebar{ display:flex; align-items:center; justify-content:space-between; padding:13px 16px; border-bottom:1px solid var(--navy-panel-border); }
.solution-row__mock-dots{ display:flex; align-items:center; gap:7px; flex:none; }
.solution-row__mock-dots span{ width:9px; height:9px; border-radius:50%; display:block; }
/* feu tricolore façon macOS : couleurs pilotées par les tokens --dot-* déjà
   définis dans tokens.css (identiques à .mockup__dots), plutôt que par des
   hex répétés en style="" inline sur chaque puce. */
.solution-row__mock-dots span:nth-child(1){ background:var(--dot-red); }
.solution-row__mock-dots span:nth-child(2){ background:var(--dot-yellow); }
.solution-row__mock-dots span:nth-child(3){ background:var(--dot-green); }
.solution-row__mock-file{ font-family:var(--font-mono); font-size:11.5px; color:var(--muted-on-navy-3); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:0 12px; }
.solution-row__mock-live{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:10px; color:var(--green-bright); flex:none; }
.solution-row__mock-live-dot{ width:6px; height:6px; border-radius:50%; background:var(--green-bright); box-shadow:0 0 10px rgba(91,203,139,1); animation:ebblink 1.6s ease-in-out infinite; }
.solution-row__mock-live{ text-shadow:0 0 8px rgba(91,203,139,.5); }
.solution-row__mock-body{ padding:6px 18px 14px; }
.solution-row__mock-row{ display:flex; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--navy-panel-border); position:relative; overflow:visible; }
.solution-row__mock-dot{ width:9px; height:9px; border-radius:50%; flex:none; }
/* états de la puce de statut — mêmes teintes que les valeurs .solution-row__mock-val
   ci-dessous, pilotées par token plutôt que par un hex répété en style="" inline. */
.solution-row__mock-dot--neutral{ background:var(--muted-on-navy-2); }
.solution-row__mock-dot--info{ background:var(--blue-2); }
.solution-row__mock-dot--success{ background:var(--green-bright); }
.solution-row__mock-label{ flex:1; font-size:13.5px; color:var(--mono-on-navy); }
.solution-row__mock-val{ font-family:var(--font-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:20px; white-space:nowrap; }
.solution-row__mock-val--neutral{ color:var(--mono-on-navy); background:rgba(255,255,255,.05); }
.solution-row__mock-val--info{ color:var(--blue-3); background:rgba(46,155,255,.16); box-shadow:0 0 0 1px rgba(46,155,255,.3), 0 0 10px rgba(46,155,255,.3); }
.solution-row__mock-val--success{ color:var(--green-bright); background:rgba(91,203,139,.12); box-shadow:0 0 0 1px rgba(91,203,139,.35), 0 0 10px rgba(91,203,139,.35); }

/* flux entre les lignes du mockup : un point lumineux descend d'une ligne à
   l'autre (même technique que .case-flow__connector), coloré selon l'état de
   la ligne qu'il rejoint — rend le "workflow" visiblement actif plutôt que statique. */
.solution-row__mock-row::before{
  content:""; position:absolute; left:4.5px; top:0; width:7px; height:7px; transform:translateX(-50%);
  border-radius:50%; opacity:0; pointer-events:none;
  --eb-x:-50%; --eb-travel:46px;
}
.solution-row__mock-row:first-child::before{ display:none; }
.solution-row__mock-row:has(.solution-row__mock-dot--success)::before{ background:var(--green-bright); box-shadow:0 0 8px rgba(91,203,139,.9); }
.solution-row__mock-row:has(.solution-row__mock-dot--info)::before{ background:var(--blue-3); box-shadow:0 0 8px rgba(91,182,255,.9); }
.solution-row__mock-row:has(.solution-row__mock-dot--neutral)::before{ background:var(--muted-on-navy-2); box-shadow:0 0 6px rgba(157,170,194,.7); }
@media (prefers-reduced-motion: no-preference){
  .solution-row__mock-row:not(:first-child)::before{ animation:ebconnectorflow 1.6s ease-in-out infinite; }
}

/* ============ méthode — panneau navy mis en avant (réutilise .grid .grid-4 pour le collapse) ============
   Section auparavant "quasi invisible" (fond blanc uni, num en cercle plat) :
   même traitement panneau + lueur que .tools-band/.pillar-mid-cta pour qu'elle
   se détache nettement entre les sections claires qui l'entourent. */
.solutions-method{
  background:var(--navy-gradient);
  border-radius:26px;
  padding:52px 44px;
  box-shadow:0 0 0 1px rgba(46,155,255,.22), 0 30px 70px -32px rgba(12,30,60,.55);
}
.solutions-method .section-head .eyebrow{ color:var(--orange); }
.solutions-method .section-head h2{ color:#fff; }
.method-step__num{
  width:44px; height:44px; border-radius:12px; flex:none;
  background:var(--navy-panel); border:1px solid var(--orange); color:var(--orange);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-heading); font-weight:700; font-size:17px;
  box-shadow:0 0 0 1px rgba(221,122,51,.3), 0 0 18px rgba(221,122,51,.45);
}
.method-step__rule{ flex:1; height:2px; border-radius:2px; background:linear-gradient(90deg, rgba(221,122,51,.65), rgba(46,155,255,.4)); }
.method-step h3{ font-size:18px; margin:0 0 8px; color:#fff; }
.method-step p{ font-size:14.5px; line-height:1.58; color:var(--muted-on-navy); margin:0; }

/* ============ bandeau outils — variante 2 colonnes ============ */
.tools-band{ background:var(--bg-soft); border:1px solid var(--border); border-radius:18px; padding:38px 40px; display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:center; }
.tools-band h2{ font-size:24px; margin:0 0 10px; line-height:1.2; }
.tools-band p{ font-size:15px; line-height:1.6; color:var(--text-3); margin:0; }
/* grille + puces d'outils : voir .tool-chip-grid / .tool-chip dans components.css */
.tools-band__note{ grid-column:1 / -1; margin:8px 0 0 !important; }

/* ============ FAQ 2 colonnes — cartes avec repère "Q" (au lieu de simples lignes) ============ */
.faq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
.faq-item{
  background:#fff; border:1px solid var(--border-2); border-radius:14px; padding:22px 24px;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.faq-item:hover{ border-color:var(--blue-2); box-shadow:0 0 0 1px rgba(46,155,255,.15), 0 14px 30px -18px rgba(30,95,208,.4); }
.faq-item h3{ font-size:16.5px; margin:0 0 8px; }
.faq-item p{ font-size:14.5px; line-height:1.58; color:var(--text-3); margin:0; }

/* ==================== responsive — miroir du retrofit 900px du prototype (toute grille -> 1fr) ==================== */
@media (max-width:900px){
  .trust-strip, .solution-row, .tools-band, .faq-grid{
    grid-template-columns:1fr;
  }
  .trust-strip__item{ border-right:none; border-bottom:1px solid var(--border); }
  .trust-strip__item:last-child{ border-bottom:none; }
}
@media (max-width:640px){
  .solutions-method{ padding:32px 22px; border-radius:20px; }
  .tools-band{ padding:22px; text-align:center; }
  .tools-band p{ text-align:left; }
  .pillar-hub__group{ padding:20px; }
  .pillar-hub__main{ gap:14px; }
  .pillar-hub__icon{ width:44px; height:44px; }
  .pillar-hub__title{ font-size:17px; }
  .pillar-hub__arrow{ display:none; }
  .solution-row{ padding:32px 0; gap:28px; }
  .solution-row__transition{ flex-direction:column; align-items:center; }
  .solution-row__arrow{ transform:rotate(90deg); font-size:22px; font-weight:700; }
}
