
/* Equindus - page Chantiers en video (FR 17022 / EN 17053) */
.eqv-intro, .eqv-univers, .eqv-case, .eqv-soon, .eqv-cta{
  --eqv-ink:#000D35; --eqv-ink2:#3A4560; --eqv-muted:#5B6478;
  --eqv-line:#E3E5EA; --eqv-strong:#C7CBD4; --eqv-accent:#2B7BB9; --eqv-deep:#1F5C8B;
  --eqv-signal:#C1050F; --eqv-surf:#F4F5F7;
  --eqv-disp:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif;
  --eqv-body:"ABeeZee",Arial,Helvetica,sans-serif;
  background:#FFFFFF;
}
.eqv-intro [hidden], .eqv-univers[hidden], .eqv-case[hidden], .eqv-soon[hidden]{ display:none !important; }

/* ---- on remet les marges des modules a zero, on les redonne ensuite ---- */
.eqv-intro .fl-module-content,
.eqv-univers .fl-module-content,
.eqv-case .fl-module-content,
.eqv-soon .fl-module-content,
.eqv-cta .fl-module-content{ margin-top:0 !important; margin-bottom:0 !important; }
.eqv-intro .fl-row-content-wrap,
.eqv-univers .fl-row-content-wrap,
.eqv-case .fl-row-content-wrap,
.eqv-soon .fl-row-content-wrap,
.eqv-cta .fl-row-content-wrap{ background:transparent; padding:0; }

/* ---- intro ---- */
.eqv-intro .fl-row-content{ padding-top:46px; padding-bottom:0; }
.eqv-intro .fl-heading{ text-align:left; }
.eqv-intro h1.fl-heading,
.eqv-intro h1.fl-heading .fl-heading-text{
  font-family:var(--eqv-disp) !important; font-weight:700 !important; font-size:52px !important;
  line-height:1.04 !important; letter-spacing:-.01em; color:var(--eqv-ink) !important; text-transform:none !important;
}
.eqv-intro .fl-module-heading .fl-module-content{ margin-bottom:14px !important; }
.eqv-intro .fl-rich-text,
.eqv-intro .fl-rich-text p{
  font-family:var(--eqv-body) !important; font-size:17.5px !important; line-height:1.62 !important;
  color:var(--eqv-ink2) !important; max-width:62ch;
}
.eqv-intro .fl-rich-text p{ margin:0; }

/* ---- filtres par univers ---- */
.eqv-filters{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  margin-top:26px; padding-top:20px; border-top:1px solid var(--eqv-line);
}
.eqv-filters-label{
  font-family:var(--eqv-disp); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--eqv-muted); margin-right:6px;
}
.eqv-chip{
  font-family:var(--eqv-disp); font-size:14px; font-weight:600; letter-spacing:.02em;
  padding:6px 13px; border:1px solid var(--eqv-strong); background:transparent;
  color:var(--eqv-ink2); border-radius:999px; cursor:pointer; line-height:1.4;
}
.eqv-chip:hover{ border-color:var(--eqv-accent); color:var(--eqv-deep); }
.eqv-chip.is-on{ background:var(--eqv-ink); border-color:var(--eqv-ink); color:#FFFFFF; }
.eqv-chip small{ opacity:.6; margin-left:5px; font-size:12px; }

/* ---- titre d univers ---- */
.eqv-univers .fl-row-content{ padding-top:40px; padding-bottom:0; }
.eqv-univers .fl-heading{ text-align:left; border-bottom:2px solid var(--eqv-ink); padding-bottom:12px; }
.eqv-univers h2.fl-heading,
.eqv-univers h2.fl-heading .fl-heading-text{
  font-family:var(--eqv-disp) !important; font-weight:700 !important; font-size:25px !important;
  line-height:1.2 !important; letter-spacing:.01em; text-transform:uppercase !important; color:var(--eqv-ink) !important;
}

/* ---- fiche chantier ---- */
.eqv-case{ border-bottom:1px solid var(--eqv-line); }
.eqv-case .fl-row-content{ padding-top:24px; padding-bottom:24px; }
.eqv-case .fl-heading{ text-align:left; }
.eqv-case h3.fl-heading,
.eqv-case h3.fl-heading .fl-heading-text{
  font-family:var(--eqv-disp) !important; font-weight:600 !important; font-size:22px !important;
  line-height:1.2 !important; color:var(--eqv-ink) !important; text-transform:none !important;
}
.eqv-case .fl-module-heading .fl-module-content{ margin-bottom:8px !important; }
.eqv-case .fl-rich-text,
.eqv-case .fl-rich-text p{
  font-family:var(--eqv-body) !important; font-size:15.5px !important; line-height:1.62 !important;
  color:var(--eqv-ink2) !important;
}
.eqv-case .fl-rich-text p{ margin:0 0 12px; max-width:60ch; }
.eqv-case .fl-module-rich-text .fl-module-content{ margin-bottom:12px !important; }
.eqv-case .fl-video{ box-shadow:0 1px 2px rgba(0,13,53,.06), 0 8px 24px -18px rgba(0,13,53,.35); border-radius:3px; overflow:hidden; }

/* bandeau meta */
.eqv-case p.eqv-meta{
  font-family:var(--eqv-body) !important; font-size:14px !important; line-height:1.7 !important;
  color:var(--eqv-ink) !important; border-top:1px solid var(--eqv-line);
  padding-top:10px; margin:0 0 12px !important; max-width:none;
}
.eqv-case p.eqv-meta strong{
  font-family:var(--eqv-disp); font-weight:600; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--eqv-muted) !important; display:inline-block; min-width:112px;
}

/* ---- lien produit : rendu lien fleche ---- */
.eqv-case .fl-button-wrap, .eqv-soon .fl-button-wrap{ text-align:left; }
.eqv-case a.fl-button, .eqv-soon a.fl-button{
  background:none !important; background-color:transparent !important; border:0 !important;
  border-bottom:1px solid currentColor !important; border-radius:0 !important;
  padding:0 0 2px 0 !important; box-shadow:none !important;
  font-family:var(--eqv-disp) !important; font-weight:600 !important; font-size:15px !important;
  letter-spacing:.02em; text-transform:none !important; text-decoration:none !important;
  color:var(--eqv-deep) !important;
}
.eqv-case a.fl-button span, .eqv-soon a.fl-button span{
  color:var(--eqv-deep) !important; text-decoration:none !important; font-family:var(--eqv-disp) !important;
}
.eqv-case a.fl-button:hover, .eqv-case a.fl-button:hover span,
.eqv-soon a.fl-button:hover, .eqv-soon a.fl-button:hover span{ color:var(--eqv-signal) !important; }
.eqv-case a.fl-button .fl-button-text::after,
.eqv-soon a.fl-button .fl-button-text::after{ content:" \2192"; }

/* ---- bloc parking ---- */
.eqv-soon .fl-row-content{ padding-top:40px; padding-bottom:76px; }
.eqv-soon .fl-col-content{ background:var(--eqv-surf); border-left:3px solid var(--eqv-strong); padding:30px 28px; }
.eqv-soon .fl-heading{ text-align:left; }
.eqv-soon h2.fl-heading,
.eqv-soon h2.fl-heading .fl-heading-text{
  font-family:var(--eqv-disp) !important; font-weight:700 !important; font-size:26px !important;
  text-transform:uppercase !important; color:var(--eqv-ink) !important;
}
.eqv-soon .fl-module-heading .fl-module-content{ margin-bottom:12px !important; }
.eqv-soon .fl-rich-text, .eqv-soon .fl-rich-text p{
  font-family:var(--eqv-body) !important; font-size:15.5px !important; line-height:1.62 !important;
  color:var(--eqv-ink2) !important;
}
.eqv-soon .fl-rich-text p{ margin:0 0 12px; max-width:62ch; }
.eqv-soon .fl-module-rich-text .fl-module-content{ margin-bottom:16px !important; }
.eqv-soon .fl-module-button{ display:inline-block; margin-right:28px; }

/* ---- CTA : reprise du bandeau de /a-propos/ (bb-theme-child/a-propos.css) ---- */
/* la ligne BB ne sert plus que de contenant : on annule ses marges internes */
.eqv-cta .fl-row-content-wrap{ padding:0 !important; background:none !important; }
.eqv-cta .fl-row-content{ padding:0 !important; max-width:none !important; width:100% !important; }
.eqv-cta .fl-col-content{ padding:0 !important; background:none !important; }
.eqv-cta .fl-module-content{ margin:0 !important; }

.eqvc-cta{
  position:relative; text-align:center; color:#c3cee4; background:#000D35;
  overflow:hidden; padding:clamp(90px,11vw,160px) 0;
}
.eqvc-cta::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:var(--eqvc-fond, none) center/cover no-repeat;
  opacity:.50; filter:grayscale(.2) contrast(1.05);
}
.eqvc-cta::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(ellipse 75% 95% at 50% 45%, rgba(0,13,53,.42), rgba(0,13,53,.86) 72%),
    linear-gradient(180deg,#000D35 0%, rgba(0,13,53,.10) 28%, rgba(0,13,53,.20) 72%, #000D35 100%);
}
.eqvc-wrap{ position:relative; z-index:2; max-width:1180px; margin:0 auto; padding:0 28px; }
.eqvc-kicker{
  font-family:"ABeeZee",sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:#649EF2; display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:22px;
}
.eqvc-kicker::before{ content:""; width:34px; height:1px; background:#2D55FF; flex:none; }
.eqv-cta h2.eqvc-h2{
  font-family:"ABeeZee",sans-serif !important; font-weight:400 !important; color:#ffffff !important;
  font-size:clamp(1.9rem,3.4vw,2.6rem) !important; line-height:1.15 !important;
  margin:0 0 20px !important; text-transform:none !important; letter-spacing:0 !important;
}
.eqvc-lead{
  font-family:"ABeeZee",sans-serif; font-size:1.08rem; line-height:1.6;
  color:#b9c4da; margin:0 auto 40px; max-width:54ch;
}
.eqvc-btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.eqvc-btn{
  display:inline-block; padding:16px 34px; font-family:"ABeeZee",sans-serif; font-size:12px;
  letter-spacing:.16em; text-transform:uppercase; text-decoration:none;
  border:1px solid #2D55FF; color:#ffffff; background:#2D55FF;
  transition:background .3s ease, color .3s ease, transform .3s ease, border-color .3s ease;
}
.eqvc-btn:hover, .eqvc-btn:focus-visible{ background:transparent; color:#649EF2; transform:translateY(-2px); }
.eqvc-ghost{ background:transparent; border-color:rgba(100,158,242,.35); color:#c3cee4; }
.eqvc-ghost:hover, .eqvc-ghost:focus-visible{ border-color:#2D55FF; color:#ffffff; background:transparent; }

@media (max-width:768px){
  .eqv-intro h1.fl-heading, .eqv-intro h1.fl-heading .fl-heading-text{ font-size:34px !important; }
  .eqv-case .fl-row-content{ padding-top:18px; padding-bottom:18px; }
  .eqvc-wrap{ padding:0 20px; }
  .eqv-soon .fl-col-content{ padding:24px 20px; }
  .eqv-soon .fl-row-content{ padding-bottom:48px; }
}


/* ---- animations legeres ---- */
/* la classe eqv-reveal est posee par le JS : sans JS, tout reste visible */
.eqv-reveal{
  opacity:0; transform:translateY(14px);
  transition:opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1);
}
.eqv-reveal.is-in{ opacity:1; transform:none; }
.eqv-chip{ transition:background-color .18s ease, border-color .18s ease, color .18s ease; }
.eqv-chip:active{ transform:translateY(1px); }
.eqv-case a.fl-button, .eqv-soon a.fl-button,

.eqv-case a.fl-button .fl-button-text::after,
.eqv-soon a.fl-button .fl-button-text::after{ display:inline-block; transition:transform .18s ease; }
.eqv-case a.fl-button:hover .fl-button-text::after,
.eqv-soon a.fl-button:hover .fl-button-text::after{ transform:translateX(4px); }

@media (prefers-reduced-motion: reduce){
  .eqv-reveal, .eqv-reveal.is-in{ opacity:1 !important; transform:none !important; transition:none !important; }
  .eqv-chip, .eqv-case a.fl-button, .eqv-soon a.fl-button, .eqv-cta a.fl-button,
  .eqv-case a.fl-button .fl-button-text::after, .eqv-soon a.fl-button .fl-button-text::after{ transition:none !important; }
}
