/*
 Theme Name: Divi Child
 Theme URI: https://conexio.dev
 Description: Child theme Conexio — direction « D » (identité du portail client) : encre en haut, papier en bas. Les pages sont faites de modules Divi standards habillés par les classes erpc-*.
 Author: Solution Infomédia
 Template: Divi
 Version: 1.6.10
*/

/* =====================================================================
   Jetons
   ===================================================================== */
:root{
  --ink:#06070a; --ink-2:#0e1015;
  --line-d:rgba(255,255,255,.09); --line-d2:rgba(255,255,255,.16);
  --text-d:rgba(255,255,255,.92); --mute-d:rgba(255,255,255,.58); --dim-d:rgba(255,255,255,.42);
  --red:#e44343; --red-soft:rgba(228,67,67,.28);
  --paper:#fbfbfc; --paper-2:#f3f4f6;
  --text:#0d1014; --grey:#5b6672; --grey-2:#8a939c; --line:#e4e8ec;
  --sans:"Space Grotesk",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}

/* =====================================================================
   Base : polices et couleurs par défaut du site
   ===================================================================== */
body,#page-container,#main-content{font-family:var(--sans);color:var(--text);background:var(--paper)}
body{font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--sans);letter-spacing:-.025em;line-height:1.08;color:var(--text);text-wrap:balance}
a{color:var(--red)}

/* =====================================================================
   En-tête Divi : encre, logo Conexio, menu centré
   ===================================================================== */
#main-header,#main-header.et-fixed-header{background:var(--ink)!important;box-shadow:none;border-bottom:1px solid var(--line-d)}
#main-header{padding:14px 0}
#main-header .container.et_menu_container{display:flex!important;align-items:center;width:94%!important;max-width:1360px!important;gap:28px}
.logo_container{position:static!important;flex:0 0 auto;width:auto!important;height:auto!important;text-align:left}
.logo_helper{display:none!important}
body #logo{max-height:30px!important;height:30px!important;width:auto!important;max-width:none!important;content:url("assets/logo-conexio-sombre.svg")}
#et-top-navigation{flex:1 1 auto;float:none!important;padding-left:0!important;padding-top:0!important;display:flex!important;justify-content:flex-end;align-items:center}
#top-menu-nav{float:none!important}
#top-menu{display:flex!important;align-items:center;flex-wrap:nowrap}
#top-menu>li{float:none!important;padding-right:11px!important}
#top-menu>li>a{padding-bottom:0!important;font-size:13.5px!important}
#top-menu li a{font-family:var(--sans);font-size:14.5px;font-weight:500;color:var(--mute-d);letter-spacing:0}
#top-menu li a:hover,#top-menu li.current-menu-item>a{color:#fff;opacity:1}
#top-menu li.menu-item-has-children>a:first-child:after{color:var(--dim-d)}
/* sous-menus et méga-menus */
#top-menu li ul.sub-menu{background:linear-gradient(180deg,#12151b,#0b0d12)!important;border:1px solid var(--line-d2);border-radius:10px;padding:12px;box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}
#top-menu li li a{color:var(--text-d)!important;font-size:14px;padding:8px 12px!important;border-radius:5px;width:auto}
#top-menu li li a:hover{background:rgba(255,255,255,.06);opacity:1}
#top-menu li.mega-menu>ul{width:auto!important;min-width:0;left:0;right:auto;display:flex!important;flex-wrap:nowrap;gap:8px}
#top-menu li.mega-menu>ul>li{width:auto!important;min-width:210px;max-width:280px;float:none!important;padding:10px 8px;border:1px solid var(--line-d);border-radius:8px;background:rgba(255,255,255,.02)}
#top-menu li.mega-menu>ul>li>ul{width:auto}
#top-menu li.mega-menu>ul>li>a{font-family:var(--mono)!important;font-size:10px!important;letter-spacing:.22em;text-transform:uppercase;color:var(--dim-d)!important;font-weight:500;border-bottom:none!important}
#top-menu li.mega-menu>ul>li>a:hover{background:transparent}
#top-menu li.mega-menu li ul{padding:0}
#top-menu li.mega-menu li li a{font-family:var(--sans)!important;text-transform:none;letter-spacing:0;font-size:14px!important}
#top-menu li.menu-item-all a{color:var(--red)!important;font-family:var(--mono)!important;font-size:12px!important}
/* boutons dans le menu (classe erpc-pill / erpc-pill-red sur l'élément de menu) */
#top-menu li.erpc-pill>a{border:none!important;background:none!important;color:var(--text-d)!important;padding:8px 10px!important;margin-left:0!important}
#top-menu li.erpc-pill>a:hover{color:#fff!important}
#top-menu li.erpc-pill-red>a{background:var(--red);border:1px solid var(--red);color:#fff!important;padding:8px 14px!important;border-radius:5px;margin-left:6px}
/* Sous 1190 px le menu complet ne tient plus : on bascule en hamburger. */
@media (max-width:1190px){
  #top-menu-nav{display:none!important}
  #et_mobile_nav_menu{display:block!important;float:none!important}
  #et-top-navigation{padding-right:0!important}
}
#et_search_icon,#et_top_search{display:none}
/* menu mobile */
#et_mobile_nav_menu .mobile_nav{background:var(--ink)}
.et_mobile_menu{background:var(--ink-2)!important;border-top:2px solid var(--red)}
.et_mobile_menu li a{color:var(--text-d)!important;font-family:var(--sans);border-color:var(--line-d)!important}
.mobile_menu_bar:before{color:#fff}

/* =====================================================================
   Pied de page Divi : encre, sans widgets
   ===================================================================== */
#main-footer{background:var(--ink);border-top:1px solid var(--line-d)}
#footer-widgets{display:none}
#footer-bottom{background:transparent;padding:26px 0}
#footer-info{font-size:0!important}
#footer-info:after{content:"Un produit de Solution Infomédia · Gaspésie, Québec";font-size:11px}
#et-footer-nav{display:none}
#footer-bottom .et-social-icons{display:none}
#footer-info,#footer-bottom a{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--dim-d);text-transform:uppercase}
#et-footer-nav{background:transparent;border-bottom:1px solid var(--line-d)}
#et-footer-nav .bottom-nav li a{font-family:var(--sans);font-size:13px;color:var(--dim-d)}

/* =====================================================================
   Sections : erpc-dark / erpc-paper / erpc-grey
   ===================================================================== */
.erpc-dark{color:var(--text-d)}
.erpc-dark h1,.erpc-dark h2,.erpc-dark h3{color:#fff}
.erpc-dark .et_pb_text{color:var(--mute-d)}
.erpc-paper,.erpc-grey{color:var(--text)}
.erpc-grey{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body #page-container .et_pb_section.erpc-dark,body #page-container .et_pb_section.erpc-paper,body #page-container .et_pb_section.erpc-grey{padding:clamp(56px,8vw,96px) 0!important}
body #page-container .et_pb_section.erpc-hero{padding:72px 0 56px!important;position:relative}
body #page-container .et_pb_section.erpc-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:44px 44px;background-position:center;
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 40%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 80% 90% at 50% 40%,#000 30%,transparent 100%)}
body #page-container .et_pb_section.erpc-hero>*{position:relative}
body #page-container .et_pb_section.erpc-erps{padding:22px 0!important;border-top:1px solid var(--line-d)}
.et_pb_section.erpc-cta{border-top:1px solid var(--line-d)}
body #page-container .et_pb_section.erpc-doors{position:relative;background:linear-gradient(180deg,#e9ebef 0,#f3f4f6 140px)!important}
body #page-container .et_pb_section.erpc-doors::before{content:"";position:absolute;left:0;right:0;top:0;height:72px;pointer-events:none;background:linear-gradient(180deg,rgba(6,7,10,.35),rgba(6,7,10,0))}
body #page-container .et_pb_section.erpc-doors>*{position:relative}
.et_pb_section .et_pb_row{padding:0 clamp(20px,4vw,40px)!important;width:100%;max-width:1180px}
.et_pb_section .et_pb_row+.et_pb_row{margin-top:40px}
.et_pb_module{margin-bottom:0}

/* Typo commune */
.erpc-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--red);margin:0 0 14px}
.erpc-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:700;margin:0 0 12px;max-width:62ch}
.erpc-head .erpc-sub{font-size:17px;color:var(--grey);line-height:1.6;max-width:62ch;margin:0}
.erpc-dark .erpc-head .erpc-sub,.erpc-cta .erpc-sub{color:var(--mute-d)}
.erpc-n,.erpc-tag,.erpc-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.erpc-n{color:var(--red);margin:0 0 10px}
.erpc-tag{color:var(--grey-2);margin:0 0 10px}
.erpc-go{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;margin:12px 0 0}
.erpc-go a{color:var(--text);text-decoration:none}
.erpc-go a:hover{color:var(--red)}
.erpc-flow{font-family:var(--mono);font-size:12px;color:var(--text);background:var(--paper-2);display:inline-block;padding:4px 10px;border-radius:3px;margin:6px 0 10px}

/* Boutons (module Bouton Divi : la classe erpc-btn-* est posée sur le <a> lui-même) */
.et_pb_button_module_wrapper:has(.erpc-btn){display:inline-block;margin:6px 10px 0 0}
body #page-container .et_pb_button.erpc-btn{font-family:var(--sans)!important;font-weight:600;font-size:15px;padding:12px 22px!important;border-radius:5px;border:1px solid transparent;line-height:1.2}
body #page-container .et_pb_button.erpc-btn:after{display:none}
body #page-container .et_pb_button.erpc-btn:hover{padding:12px 22px!important}
body #page-container .et_pb_button.erpc-btn-p,body #page-container .et_pb_button.erpc-btn-p:hover{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important;box-shadow:0 0 24px var(--red-soft)}
body #page-container .et_pb_button.erpc-btn-s,body #page-container .et_pb_button.erpc-btn-s:hover{background:transparent!important;color:var(--text-d)!important;border-color:var(--line-d2)!important}
body #page-container .erpc-paper .et_pb_button.erpc-btn-s,body #page-container .erpc-grey .et_pb_button.erpc-btn-s{color:var(--text)!important;border-color:var(--line)!important}

/* ---- Hero ---- */
.erpc-hero .erpc-eyebrow{font-size:14px;letter-spacing:.2em}
.erpc-hero .et_pb_row{display:flex!important;align-items:center;gap:40px}
.erpc-hero .et_pb_column:first-child{flex:0 0 42%;width:42%!important;margin:0!important}
.erpc-hero .et_pb_column:last-child{flex:1 1 auto;width:auto!important;margin:0!important}
.erpc-fine{font-size:12.5px}
.erpc-hero .et_pb_row{display:flex;align-items:center;gap:48px}
.erpc-hero .et_pb_column{margin:0!important}
.erpc-hero-copy h1{font-size:clamp(34px,4.6vw,54px);font-weight:700;color:#fff;max-width:15ch;margin:0 0 22px}
.erpc-hero-copy .erpc-more{color:var(--dim-d);font-weight:500}
.erpc-hero-copy .erpc-lede{font-size:17.5px;color:var(--mute-d);max-width:46ch;line-height:1.58;margin:0 0 6px}
.erpc-fine{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--dim-d);margin:18px 0 0}
.erpc-loop{position:relative;width:100%;aspect-ratio:16/9;max-width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--line-d);background:var(--ink)}
.erpc-loop iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* ---- Systèmes supportés ---- */
.erpc-erps p{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center;margin:0}
.erpc-erps .erpc-lbl{color:var(--dim-d);margin-right:8px}
.erpc-erp{font-size:14px;font-weight:600;color:var(--mute-d)}
.erpc-matrix{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--red);margin-left:auto;text-decoration:none}

/* ---- Cartes : portes, étapes, cas, cellules, stats, mini-cas ---- */
.erpc-door,.erpc-step,.erpc-case,.erpc-cell,.erpc-stat,.erpc-mini{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 24px;height:100%}
.erpc-door .et_pb_module_header,.erpc-cell .et_pb_module_header{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:0 0 8px;padding:0}
.erpc-door .et_pb_blurb_description p,.erpc-cell .et_pb_blurb_description p,.erpc-step p,.erpc-case p,.erpc-mini p,.erpc-stat p{font-size:15px;color:var(--grey);line-height:1.6;margin:0}
.erpc-door{transition:border-color .15s,transform .15s}
.erpc-door:hover{border-color:var(--red);transform:translateY(-2px)}
.erpc-door h3 a{color:var(--text);text-decoration:none}
.erpc-step h3,.erpc-case h3,.erpc-mini h3{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:0 0 8px}
.erpc-case h3 a,.erpc-mini h3{color:var(--text);text-decoration:none}
.erpc-step code{font-family:var(--mono);font-size:12.5px;background:var(--paper-2);padding:2px 6px;border-radius:3px;color:var(--text)}
.erpc-cell{padding:24px 22px}
.erpc-cell .et_pb_module_header{font-size:16px}
.erpc-cell .et_pb_blurb_description p{font-size:14px}
.erpc-stat{padding:20px 22px}
.erpc-big{font-family:var(--mono);font-size:30px!important;font-weight:500;letter-spacing:-.02em;color:var(--text)!important;font-variant-numeric:tabular-nums;margin:0 0 4px!important;line-height:1.1}
.erpc-stat p{font-size:13.5px}
.erpc-mini{padding:22px}
.erpc-mini h3{font-size:17px;line-height:1.3}
.erpc-mini p{font-size:14.5px}
.erpc-todo{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);background:rgba(228,67,67,.08);padding:2px 6px;border-radius:3px;white-space:nowrap}
.erpc-steps .et_pb_column,.erpc-stats .et_pb_column{display:flex}

/* ---- Bloc de code ---- */
.erpc-code{font-family:var(--mono);font-size:13px;line-height:1.8;background:var(--ink);color:#dfe5ea;padding:20px 24px;border-radius:10px;overflow-x:auto;border:1px solid var(--line-d);margin:0;white-space:pre-wrap}
.erpc-code .m{color:#7fd6a2}.erpc-code .u{color:#9cc6ff}.erpc-code .k{color:#8c98a5}.erpc-code .r{color:#ff8b8b}

/* ---- Sécurité ---- */
.erpc-checks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.erpc-checks li{padding:16px 0 16px 30px;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.55;color:var(--grey);position:relative}
.erpc-checks li b{display:block;font-weight:600;color:var(--text)}
.erpc-checks li:before{content:"✓";position:absolute;left:0;top:16px;font-family:var(--mono);color:var(--red);font-weight:700}

/* ---- CTA final ---- */
.erpc-cta h2{font-size:clamp(26px,3.6vw,40px);margin:0 0 12px}
.erpc-cta .et_pb_row{display:flex;align-items:center;gap:36px}
.erpc-cta .et_pb_column:last-child{text-align:right}

/* ---- Pages intérieures ---- */
body #page-container .et_pb_section.erpc-hero-inner{padding:56px 0 48px!important}
.erpc-hero-inner .erpc-hero-copy h1{max-width:22ch;font-size:clamp(30px,4vw,46px)}
.erpc-hero-inner .erpc-lede{max-width:60ch}
.erpc-hero-inner .erpc-lede code{font-family:var(--mono);font-size:.9em;background:rgba(255,255,255,.08);padding:2px 6px;border-radius:3px}
.erpc-fine-light{font-size:14px;color:var(--grey);line-height:1.6;margin:0}
.erpc-fine-light a{color:var(--red);text-decoration:none}
.erpc-faq h3{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:28px 0 8px;padding-top:24px;border-top:1px solid var(--line)}
.erpc-faq h3:first-child{border-top:none;padding-top:0;margin-top:0}
.erpc-faq p{font-size:15.5px;color:var(--grey);line-height:1.6;margin:0}
.erpc-faq a{color:var(--red);text-decoration:none}
.erpc-body .et_pb_text:not([class*="erpc-"]) h3{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:0 0 8px}
.erpc-body .et_pb_text:not([class*="erpc-"]) p{font-size:15.5px;color:var(--grey);line-height:1.6}
.erpc-body .et_pb_text:not([class*="erpc-"]) a{color:var(--red);text-decoration:none}
.erpc-step h3 a{color:var(--text);text-decoration:none}

/* ---- Animations (légères, désactivées si mouvement réduit) ---- */
.erpc-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.erpc-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.erpc-reveal{opacity:1;transform:none;transition:none}}

/* ---- Pied de page : 4 colonnes + barre ---- */
#footer-widgets{display:block;padding:40px 0 22px}
#footer-widgets .footer-widget{margin-bottom:0}
#footer-widgets .footer-widget h4.title{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim-d);margin:0 0 12px;padding:0;font-weight:500}
#footer-widgets .footer-widget ul,#footer-widgets .footer-widget p{list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:14px;line-height:1.5}
#footer-widgets .footer-widget li{margin:0 0 7px;padding:0}
#footer-widgets .footer-widget li:before{display:none}
#footer-widgets .footer-widget a{color:var(--mute-d);text-decoration:none}
#footer-widgets .footer-widget a:hover{color:#fff}
#footer-widgets .footer-widget p{color:var(--dim-d)}
#footer-widgets .erpc-si-logo{height:34px;width:auto;display:block;margin:0 0 12px}
#footer-widgets .erpc-badge{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);border:1px solid rgba(228,67,67,.4);padding:4px 8px;border-radius:4px;margin-top:10px}
#footer-bottom{padding:16px 0;border-top:1px solid var(--line-d)}
#footer-info{font-size:11px!important}
#footer-info:after{content:none}
#footer-info a{color:var(--dim-d)}


/* ================= V3 lot 1 — nouvelles sections (1.5.0) ================= */

/* ---- Hero sur une colonne (connecteurs, contact) ---- */
.erpc-hero-c .et_pb_row{display:block}
.erpc-hero-c .erpc-hero-copy h1{max-width:24ch}
.erpc-hero-c .erpc-lede{max-width:70ch}

/* ---- Badge de statut du connecteur ---- */
.erpc-status{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--mute-d);margin:18px 0 0}
.erpc-status b{color:#7fd6a2;font-weight:600}
.erpc-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7fd6a2;margin-right:9px;vertical-align:middle}

/* ---- Systèmes supportés : trois tailles, chacun cliquable ---- */
.erpc-erps .erpc-lbl{display:block;color:var(--dim-d);margin:0 0 22px;font-size:11px}
.erpc-tier1,.erpc-tier2,.erpc-tier3{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 26px;margin:0 0 16px}
.erpc-erps a.erpc-erp{text-decoration:none;transition:color .15s}
.erpc-erps a.erpc-erp:hover{color:#fff}
.erpc-erp-xl{font-size:30px;font-weight:700;color:#fff}
.erpc-erp-l{font-size:19px;font-weight:600;color:var(--mute-d)}
.erpc-erp-s{font-size:14px;font-weight:500;color:var(--dim-d)}
.erpc-erps .erpc-matrix{margin-left:0;display:inline-block;margin-top:10px}

/* ---- Ligne d'accroche sous un bloc de code ou un paragraphe ---- */
.erpc-punch{font-size:17px;font-weight:600;color:var(--text);line-height:1.5;margin:22px 0 6px;max-width:66ch}
.erpc-dark .erpc-punch{color:#fff}
.erpc-punch code{font-family:var(--mono);font-size:15px;background:var(--paper-2);padding:2px 6px;border-radius:3px}

/* ---- Puces courtes en ligne (installation de l'Agent) ---- */
.erpc-checks-inline{display:flex;flex-wrap:wrap;gap:0 28px;border-top:1px solid var(--line)}
.erpc-checks-inline li{flex:1 1 200px;border-bottom:1px solid var(--line)}

/* ---- Page Contact : bureaux, carte, formulaire ---- */
.erpc-offices{list-style:none;margin:18px 0 0;padding:0}
.erpc-offices li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--grey);line-height:1.5}
.erpc-offices li b{display:block;font-weight:600;color:var(--text);margin-bottom:3px}
.erpc-siege{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:500;margin-left:8px}
.erpc-gmap{height:420px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.erpc-contact .et_pb_row{display:flex;gap:48px;align-items:flex-start}
.erpc-form .et_pb_contact_field input,.erpc-form .et_pb_contact_field textarea{border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;font-size:15px!important;padding:13px 15px!important}
.erpc-form .et_pb_contact_submit{border-radius:8px!important}

/* ---- Partenaires, pourquoi pas soi-même, capacités ---- */
.erpc-partners .et_pb_row,.erpc-why .et_pb_row,.erpc-caps .et_pb_row{display:flex;gap:48px;align-items:center}
.erpc-caps .et_pb_row{align-items:flex-start}


/* ---- Pied de page « tout explosé » ---- */
.erpc-fcol{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--red);margin:0 0 12px}
#footer-widgets .erpc-fcol:not(:first-child),.erpc-flinks+.erpc-fcol{margin-top:26px}
.erpc-flinks{list-style:none;margin:0;padding:0}
.erpc-flinks li{margin:0 0 7px;line-height:1.45}
.erpc-flinks a{font-size:13.5px;color:var(--mute-d);text-decoration:none}
.erpc-flinks a:hover{color:#fff}
#footer-widgets .et_pb_widget{margin-bottom:0!important}


/* ---- Hero : équilibrer les deux colonnes (1.5.2) ---- */
body #page-container .et_pb_section.erpc-hero{padding:clamp(40px,5vw,68px) 0 clamp(30px,3.5vw,44px)!important}
body #page-container .et_pb_section.erpc-erps{padding:0 0 clamp(40px,5vw,64px)!important}
.erpc-hero-copy h1{font-size:clamp(30px,3.9vw,46px);max-width:17ch;margin:0 0 18px}
.erpc-hero-copy .erpc-lede{max-width:54ch}
@media (min-width:981px){
  .erpc-hero .et_pb_row{align-items:stretch}
  .erpc-hero .et_pb_column:last-child{display:flex;flex-direction:column;justify-content:center}
  .erpc-loop{aspect-ratio:auto;flex:1 1 auto;min-height:360px}
}

/* ---- Déroulants sur deux colonnes (Solutions, Pour qui) ---- */
#top-menu li.erpc-2col > ul.sub-menu{width:auto!important;min-width:560px;padding:18px 22px 14px;
  column-count:2;column-gap:30px}
#top-menu li.erpc-2col > ul.sub-menu > li{float:none!important;display:block;width:auto!important;
  break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid}
#top-menu li.erpc-2col > ul.sub-menu > li > a{width:auto!important;white-space:normal;padding:7px 0}


/* ---- Menu : garder les deux pastilles sur la première ligne (1.5.4) ---- */
/* Le logo fait 6,8 fois sa hauteur ; à 40 px il occupe 271 px, ce qui laisse
   la place aux neuf entrées sur un conteneur de 1140 px. */
#top-menu{white-space:nowrap}
#top-menu > li > a{padding-left:11px!important;padding-right:11px!important;font-size:13.5px!important}
@media (max-width:1320px){
  #logo{max-height:34px}
  #top-menu > li > a{padding-left:10px!important;padding-right:10px!important;font-size:13.5px!important}
}

/* ---- Bouton d'envoi du formulaire de contact ---- */
body #page-container .et_pb_contact_submit.et_pb_button,
body #page-container .et_pb_contact_submit.et_pb_button:hover{
  font-family:var(--sans)!important;font-weight:600!important;font-size:15px!important;
  padding:12px 22px!important;border-radius:5px!important;line-height:1.2!important;
  background:var(--red)!important;color:#fff!important;border:1px solid var(--red)!important;
  letter-spacing:0!important;text-transform:none!important;box-shadow:0 0 24px var(--red-soft)}
body #page-container .et_pb_contact_submit.et_pb_button:after{display:none!important}

/* ---- Responsive ---- */
@media (max-width:980px){
  .erpc-hero .et_pb_row,.erpc-cta .et_pb_row{display:block}
  .erpc-contact .et_pb_row,.erpc-partners .et_pb_row,.erpc-why .et_pb_row,.erpc-caps .et_pb_row{display:block}
  .erpc-contact .et_pb_column+.et_pb_column,.erpc-partners .et_pb_column+.et_pb_column,
  .erpc-why .et_pb_column+.et_pb_column,.erpc-caps .et_pb_column+.et_pb_column{margin-top:34px!important}
  .erpc-erp-xl{font-size:24px}
  .erpc-gmap{height:320px}
  .erpc-hero .et_pb_column+.et_pb_column{margin-top:34px!important}
  .erpc-cta .et_pb_column:last-child{text-align:left;margin-top:20px}
  .et_pb_section.erpc-hero{padding:44px 0 40px}
  .erpc-steps .et_pb_column,.erpc-stats .et_pb_column{display:block;margin-bottom:14px!important}
  .erpc-door,.erpc-step,.erpc-case,.erpc-cell,.erpc-stat,.erpc-mini{height:auto;margin-bottom:14px}
}
@media (max-width:560px){
  .erpc-btn{display:block;margin-right:0}
  .erpc-btn .et_pb_button{display:block;text-align:center}
  .erpc-matrix{margin-left:0}
}

/* =====================================================================
   Ajustements revue Laurie (1.6.0)
   ===================================================================== */

/* ---- 1. Largeurs : contenu et pied de page à 1400 px, menu à 88 % ---- */
.et_pb_section .et_pb_row{max-width:1400px}
#main-footer .container{width:100%!important;max-width:1400px!important;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px)}
/* Menu à 88 % et plus d'espace entre les entrées : seulement quand ça tient (≥ 1460 px) */
@media (min-width:1460px){
  #main-header .container.et_menu_container{width:100%!important;max-width:88%!important}
  #top-menu>li{padding-right:18px!important}
}

/* ---- 2. Hiérarchie : titres en gras, texte courant adouci sur fond pâle ---- */
#main-content h3,#main-content h4,#main-content .et_pb_module_header{font-weight:700}
:is(.erpc-paper,.erpc-grey) .et_pb_text p:not([class]),
:is(.erpc-paper,.erpc-grey) .et_pb_blurb_description p:not([class]),
:is(.erpc-paper,.erpc-grey) .erpc-sub{color:var(--text);opacity:.8}
/* Sur fond foncé, c'est l'inverse : plus gros et plein */
.erpc-dark .erpc-sub,.erpc-dark .et_pb_text p:not([class]){font-size:18px;color:var(--text-d)!important;opacity:1}

/* ---- 3. Plus de grosse ombre sous les sections ---- */
body #page-container .et_pb_section.erpc-doors::before{display:none}
body #page-container .et_pb_section.erpc-doors.erpc-grey{background:var(--paper-2)!important}
body #page-container .et_pb_section.erpc-doors.erpc-paper{background:var(--paper)!important}

/* ---- 4. Boutons : même typo partout ---- */
body #page-container .et_pb_button,
body #page-container .et_pb_contact_submit.et_pb_button{font-family:var(--sans)!important;font-weight:600!important;font-size:15px!important;letter-spacing:0!important;text-transform:none!important}
/* Secondaires : bordure de la couleur du texte */
body #page-container .et_pb_button.erpc-btn-s,
body #page-container .et_pb_button.erpc-btn-s:hover{border-color:currentColor!important}
/* 3e niveau (liens « → ») : pas plus petits que le texte courant */
.erpc-go,a.erpc-go,.erpc-matrix{font-size:15.5px}

/* ---- 5. Première section de chaque page : 2 boutons côte à côte, plus d'air en haut ---- */
body #page-container .et_pb_section.erpc-hero{padding-top:clamp(90px,8vw,118px)!important}
.erpc-hero .et_pb_button_module_wrapper{display:inline-block;margin:22px 25px 0 0}

/* ---- 6. Menu ---- */
#top-menu li li a{line-height:1.5em}
#top-menu li.menu-item-has-children>a:first-child:after{right:-6px}
/* Lien actif en rouge (sauf la pastille rouge) */
#top-menu li:is(.current-menu-item,.current-menu-ancestor,.current_page_item):not(.erpc-pill-red)>a{color:var(--red)!important}
/* Produit sur 2 colonnes, comme Pour qui (ou ajouter la classe erpc-2col à l'élément de menu) */
#top-menu li#menu-item-339>ul.sub-menu{width:auto!important;min-width:560px;padding:18px 22px 14px;column-count:2;column-gap:30px}
#top-menu li#menu-item-339>ul.sub-menu>li{float:none!important;display:block;width:auto!important;break-inside:avoid}
#top-menu li#menu-item-339>ul.sub-menu>li>a{width:auto!important;white-space:normal;padding:7px 0}

/* ---- 7. Listes : crochets seulement, pas de puce ronde ---- */
.et_pb_text ul:is(.erpc-checks,.erpc-offices,.erpc-flinks){list-style:none!important;padding-left:0!important}
.erpc-checks li,.erpc-offices li,.erpc-flinks li{list-style:none!important}
.erpc-checks li b{font-weight:800}
.erpc-flow{margin:6px 0 18px}

/* ---- 8. Liens de la bande « logiciels » sur fond pâle (pages Solutions) : rouges ---- */
.erpc-erps-clair a.erpc-erp,.erpc-erps-clair .erpc-erp{color:var(--red)!important}
.erpc-erps-clair a.erpc-erp:hover{color:var(--text)!important}

/* ---- Sur-titres dans les sections FAQ / corps : même style que partout ---- */
:is(.erpc-faq,.erpc-body) p.erpc-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--red);margin:0 0 14px;opacity:1}

/* =====================================================================
   Accueil
   ===================================================================== */
/* Bande « Les logiciels… » : fond blanc, texte foncé et rouge, un peu plus gros */
body #page-container .et_pb_section.erpc-erps{background:#fff!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(40px,5vw,64px) 0!important}
.erpc-erps h2,.erpc-erps .erpc-lbl{color:var(--red)!important}
.erpc-erps .erpc-erp-xl{color:var(--text)!important;font-size:34px}
.erpc-erps .erpc-erp-l{color:var(--text)!important;font-size:21px}
.erpc-erps .erpc-erp-s{color:var(--grey)!important;font-size:16px}
.erpc-erps a.erpc-erp:hover{color:var(--red)!important}
/* Mention d'essai sous l'image (après l'avoir déplacée dans Divi, classe erpc-trial) */
.erpc-trial p{font-family:var(--mono);font-size:13.5px;letter-spacing:.04em;color:var(--text-d);text-align:center;margin:16px 0 0}
/* API : une seule taille de texte sous le bloc de code */
.erpc-produit .et_pb_text:not(.erpc-head) p:not(.erpc-go){font-size:17px;margin:0 0 12px}
.erpc-produit .erpc-punch{margin:22px 0 12px}
/* Pour qui : cartes */
.erpc-cell .et_pb_module_header{font-size:20px!important;font-weight:700}
.erpc-cell{border-color:#ccc}
/* Pourquoi pas soi-même : même taille, 1er paragraphe adouci, 2e phrase en gras */
.erpc-why .et_pb_column:last-child p{font-size:17px}
.erpc-why .et_pb_column:last-child p:not(.erpc-punch){opacity:.7}
.erpc-why .erpc-punch{font-weight:700}
/* Preuve */
.erpc-mini h3{font-size:20px}
/* Sécurité */
.erpc-secu .erpc-sub{max-width:80%}

/* =====================================================================
   Pages intérieures
   ===================================================================== */
/* Études de cas */
.erpc-cases h3{font-size:22px}
.erpc-cases .et_pb_text b{color:var(--red);font-weight:800}
/* Contact : coordonnées dans une 2e colonne, liens rouges */
@media (min-width:981px){
  .erpc-hero-copy .et_pb_text_inner:has(.erpc-joindre){display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:64px;align-items:start}
  .erpc-hero-copy .et_pb_text_inner:has(.erpc-joindre)>*:not(.erpc-joindre){grid-column:1}
  .erpc-hero-copy .erpc-joindre{grid-column:2;grid-row:1/span 3;align-self:center}
}
.erpc-joindre a{color:var(--red)!important;text-decoration:none}
p.erpc-go:has(a[href*="solutioninfomedia"]){margin-bottom:40px}
.erpc-offices li b{font-size:20px}

/* =====================================================================
   1.6.1 — petits écrans et menus déroulants
   ===================================================================== */
/* Hero de l'accueil : sous 980 px, le texte puis l'animation en dessous (le display:flex!important du hero bloquait l'empilement) */
@media (max-width:980px){
  body #page-container .erpc-hero .et_pb_row{display:block!important}
  body #page-container .erpc-hero .et_pb_column:first-child,
  body #page-container .erpc-hero .et_pb_column:last-child{width:100%!important;flex:none!important}
  body #page-container .erpc-hero .et_pb_column+.et_pb_column{margin-top:34px!important}
  .erpc-loop{min-height:0!important;aspect-ratio:16/9!important}
}
/* Sous-menus : une entrée par ligne (le nowrap de l'entête les alignait à l'horizontale, Ressources sortait de l'écran) */
#top-menu li li{display:block!important;white-space:normal}

/* =====================================================================
   1.6.7 - Cartes entierement cliquables (lien etire)
   Le lien du titre couvre toute la carte ; le padding de la carte compte.
   ===================================================================== */
.erpc-door,.erpc-case,.erpc-cell{position:relative}
.erpc-cell .et_pb_blurb_content,.erpc-cell .et_pb_blurb_container,
.erpc-cell .et_pb_module_header,.erpc-door .et_pb_text_inner,.erpc-case .et_pb_text_inner{position:static}
.erpc-door h3 a::after,.erpc-case h3 a::after,.erpc-cell .et_pb_module_header a::after{content:"";position:absolute;inset:0;z-index:1}
.erpc-case:has(h3 a),.erpc-cell:has(.et_pb_module_header a){transition:border-color .15s,transform .15s}
.erpc-case:has(h3 a):hover,.erpc-cell:has(.et_pb_module_header a):hover{border-color:var(--red);transform:translateY(-2px)}
.erpc-door h3 a:focus-visible,.erpc-case h3 a:focus-visible,.erpc-cell .et_pb_module_header a:focus-visible{outline:2px solid var(--red);outline-offset:4px}

/* =====================================================================
   1.6.8 - Cartes de meme hauteur, icones monochromes, captures
   ===================================================================== */
/* Cartes d'une meme rangee : meme hauteur (ordinateur seulement) */
@media (min-width:981px){
  .et_pb_row:has(>.et_pb_column>.erpc-step),.et_pb_row:has(>.et_pb_column>.erpc-door),
  .et_pb_row:has(>.et_pb_column>.erpc-case),.et_pb_row:has(>.et_pb_column>.erpc-cell),
  .et_pb_row:has(>.et_pb_column>.erpc-mini),.et_pb_row:has(>.et_pb_column>.erpc-stat){display:flex;flex-wrap:wrap;align-items:stretch}
  .et_pb_row:has(>.et_pb_column>.erpc-step)>.et_pb_column,.et_pb_row:has(>.et_pb_column>.erpc-door)>.et_pb_column,
  .et_pb_row:has(>.et_pb_column>.erpc-case)>.et_pb_column,.et_pb_row:has(>.et_pb_column>.erpc-cell)>.et_pb_column,
  .et_pb_row:has(>.et_pb_column>.erpc-mini)>.et_pb_column,.et_pb_row:has(>.et_pb_column>.erpc-stat)>.et_pb_column{display:flex;flex-direction:column}
  .erpc-step,.erpc-door,.erpc-case,.erpc-cell,.erpc-mini,.erpc-stat{flex:1 1 auto}
}

/* Icones : <span class="erpc-ico erpc-ico-sync"></span> en tete de carte. Couleur = currentColor du jeton --red */
.erpc-ico{display:block;width:26px;height:26px;margin:0 0 14px;background:var(--red);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.erpc-ico-agent{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='7' rx='2'/%3E%3Crect x='3' y='13' width='18' height='7' rx='2'/%3E%3Cpath d='M7 7.5h.01M7 16.5h.01'/%3E%3C/svg%3E")}
.erpc-ico-portail{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M8 9v11'/%3E%3C/svg%3E")}
.erpc-ico-tableau{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18'/%3E%3C/svg%3E")}
.erpc-ico-sync{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 1-15.5 6.2L3 16M3 12a9 9 0 0 1 15.5-6.2L21 8M21 3v5h-5M3 21v-5h5'/%3E%3C/svg%3E")}
.erpc-ico-horaire{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.erpc-ico-journal{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E")}
.erpc-ico-check{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E")}
.erpc-ico-lien{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E")}
.erpc-ico-recherche{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E")}
.erpc-ico-doc{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E")}

/* Captures d'ecran (module image, classe erpc-shot) */
.erpc-shot img{border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(6,7,10,.12)}
.erpc-dark .erpc-shot img{border-color:var(--line-d2);box-shadow:0 24px 60px rgba(0,0,0,.5)}


/* ---- 1.6.9 : bannière de consentement (CookieYes) — en bas, discrète, au style du site ---- */
/* Les couleurs de CookieYes sont en style en ligne : on les surcharge avec !important. */
.cky-btn-revisit-wrapper{display:none!important}
.cky-consent-container{position:fixed!important;top:auto!important;left:16px!important;right:16px!important;bottom:16px!important;width:auto!important;max-width:1180px!important;margin:0 auto!important;z-index:99999!important;animation:erpc-toast .35s ease-out both}
@keyframes erpc-toast{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.cky-consent-container{animation:none}}
.cky-consent-container .cky-consent-bar{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:0 14px 40px rgba(6,7,10,.16)!important;padding:14px 18px!important}
.cky-consent-container .cky-notice{margin:0!important}
.cky-consent-container .cky-title{display:none!important}
.cky-consent-container .cky-notice-group{display:flex!important;align-items:center;justify-content:space-between;gap:14px 28px}
.cky-consent-container .cky-notice-des{position:relative;flex:1 1 auto;padding-left:30px;font-family:var(--sans)!important;color:var(--text)!important;max-height:none!important;overflow:visible!important}
.cky-consent-container .cky-notice-des::before{content:"i";position:absolute;left:0;top:2px;width:18px;height:18px;box-sizing:border-box;border:1.5px solid var(--grey-2);border-radius:50%;font:600 11px/15px var(--mono);text-align:center;color:var(--grey)}
.cky-consent-container .cky-notice-des p,.cky-consent-container .cky-notice-des{font-size:14px!important;line-height:1.5!important;margin:0!important;padding-bottom:0!important}
.cky-consent-container .cky-notice-des a,.cky-consent-container .cky-policy{color:var(--red)!important;text-decoration:underline!important;text-underline-offset:2px;font-weight:500;background:none!important;border:0!important;padding:0!important}
.cky-consent-container .cky-notice-btn-wrapper{display:flex!important;flex:0 0 auto;gap:8px;margin:0!important;padding:0!important}
.cky-consent-container .cky-btn,.cky-preference-center .cky-btn{font-family:var(--sans)!important;font-weight:600!important;font-size:14px!important;line-height:1.2!important;padding:9px 16px!important;margin:0!important;border-radius:5px!important;border:1px solid var(--text)!important;background:transparent!important;color:var(--text)!important;width:auto;opacity:1!important;white-space:nowrap}
.cky-consent-container .cky-btn:hover,.cky-preference-center .cky-btn:hover{background:var(--paper-2)!important}
.cky-consent-container .cky-btn:focus-visible,.cky-preference-center .cky-btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cky-preference-center{font-family:var(--sans)!important;border-radius:10px!important}
.cky-preference-center .cky-preference-title,.cky-preference-center .cky-accordion-btn{font-family:var(--sans)!important;color:var(--text)!important}
.cky-preference-center .cky-always-active{color:var(--red)!important}
@media (max-width:760px){
  .cky-consent-container{left:10px!important;right:10px!important;bottom:10px!important}
  .cky-consent-container .cky-notice-group{flex-direction:column;align-items:stretch}
  .cky-consent-container .cky-notice-btn-wrapper{flex-direction:column}
  .cky-consent-container .cky-btn{width:100%!important}
}

/* ---- 1.6.10 : bandeau — boutons Accepter / Refuser / Gérer partout, lien Politique qui peut couper la ligne ---- */
.cky-consent-container .cky-btn-accept{order:1}
.cky-consent-container .cky-btn-reject{order:2}
.cky-consent-container .cky-btn-customize{order:3}
.cky-consent-container .cky-policy{white-space:normal!important}
