/*
 Theme Name: Divi Child
 Theme URI: https://erpconnector.ca
 Description: Child theme ERP Connector — 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.3.0
*/

/* =====================================================================
   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 ERP Connector, 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 .container{max-width:1180px}
#logo{max-height:50px;content:url("assets/logo-erpconnector-sombre.svg")}
#et-top-navigation{padding-left:20px}
#et-top-navigation{padding-top:30px!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:1px solid var(--line-d2);color:var(--text-d)!important;padding:9px 16px!important;border-radius:5px;margin-left:6px}
#top-menu li.erpc-pill-red>a{background:var(--red);border:1px solid var(--red);color:#fff!important;padding:9px 16px!important;border-radius:5px;margin-left:6px}
#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)}

/* ---- Responsive ---- */
@media (max-width:980px){
  .erpc-hero .et_pb_row,.erpc-cta .et_pb_row{display:block}
  .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}
}
