/* =========================================================
   Charte Groupe Coquelle — classes utilitaires
   S'applique aux widgets NATIFS Elementor via « Classes CSS ».
   ========================================================= */
:root{
  --cq-petrole:#2A4854; --cq-petrole-fonce:#1D3A45; --cq-rouge:#E83E33;
  --cq-bleu:#006BCA; --cq-azur:#4498CE; --cq-verteau:#47A2A4;
  --cq-noir:#1D1D1B; --cq-gris:#626A77; --cq-gris-clair:#E2E2E2;
  --cq-fond:#FBFAF7; --cq-blanc:#FFFFFF;
}
body{-webkit-font-smoothing:antialiased}
html{scroll-behavior:auto !important}

/* ---------- Étiquette de section (widget Titre) ---------- */
.cq-eyebrow .elementor-heading-title{
  display:flex;align-items:center;gap:14px;
  font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:12px;line-height:1;
  letter-spacing:.18em;text-transform:uppercase;color:var(--cq-rouge);
}
.cq-eyebrow .elementor-heading-title::before{content:"";flex:none;width:28px;height:1px;background:currentColor}
.cq-eyebrow--centre .elementor-heading-title{justify-content:center}
.cq-eyebrow--bleu .elementor-heading-title{color:var(--cq-bleu)}
.cq-eyebrow--blanc .elementor-heading-title{color:#fff}

/* ---------- Titres (tailles calées sur la maquette) ---------- */
.cq-title .elementor-heading-title{font-family:Roboto,sans-serif;font-weight:700;line-height:1.08;letter-spacing:-.015em;color:var(--cq-petrole)}
.cq-title em{font-style:italic;color:var(--cq-rouge)}
.cq-title--hero .elementor-heading-title{font-size:clamp(44px,5vw,84px)}
.cq-title--xl .elementor-heading-title{font-size:clamp(34px,3.6vw,60px)}
.cq-title--l  .elementor-heading-title{font-size:clamp(28px,2.7vw,46px)}
.cq-title--m  .elementor-heading-title{font-size:clamp(22px,1.9vw,30px)}
.cq-sub .elementor-heading-title{font-family:'Libre Franklin',sans-serif;font-weight:500;font-size:22px;color:var(--cq-petrole)}

/* ---------- Texte courant ---------- */
.cq-lead p{font-size:17px;line-height:1.65;color:var(--cq-gris);margin:0}
.cq-texte p{font-size:15.5px;line-height:1.7;color:var(--cq-gris);margin:0}

/* =========================================================
   Boutons « split » — le survol N'AFFECTE PAS la mise en page :
   la pilule s'étire par padding compensé exactement par une
   marge négative, et sa hauteur reste sous celle du cercle.
   ========================================================= */
.cq-btn .elementor-button{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.cq-btn .elementor-button-content-wrapper{display:flex;align-items:center;gap:8px}
.cq-btn .elementor-button-text{
  position:relative;z-index:1;
  background:var(--cq-rouge);color:#fff;border-radius:999px;padding:16px 26px;
  font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:13px;line-height:1;
  letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  transition:padding-right .38s cubic-bezier(.22,1,.36,1),margin-right .38s cubic-bezier(.22,1,.36,1),border-radius .28s;
}
.cq-btn .elementor-button-icon{
  position:relative;z-index:2;flex:none;width:48px;height:48px;border-radius:50%;
  background:var(--cq-rouge);color:#fff;display:flex;align-items:center;justify-content:center;
}
.cq-btn .elementor-button-icon svg{fill:currentColor!important;width:15px;height:15px;display:block}
.cq-btn .elementor-button-icon i{color:currentColor;font-size:15px}
/* étirement : +40px de padding, −40px de marge → largeur totale inchangée */
.cq-btn:hover .elementor-button-text{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:66px;margin-right:-40px}

.cq-btn--bleu .elementor-button-text,.cq-btn--bleu .elementor-button-icon{background:var(--cq-bleu)}
.cq-btn--blanc .elementor-button-text,.cq-btn--blanc .elementor-button-icon{background:#fff;color:var(--cq-petrole)!important}
.cq-btn--petrole .elementor-button-text,.cq-btn--petrole .elementor-button-icon{background:var(--cq-petrole)}

/* Fantôme : deux segments bordés, aucun mouvement au survol */
.cq-btn--ghost .elementor-button-content-wrapper{gap:0}
.cq-btn--ghost .elementor-button-text{background:transparent;color:var(--cq-petrole);border:1px solid rgba(42,72,84,.28);border-right:0;border-radius:999px 0 0 999px;padding-right:20px}
.cq-btn--ghost .elementor-button-icon{background:transparent;color:var(--cq-petrole)!important;border:1px solid rgba(42,72,84,.28);border-left:0;border-radius:0 999px 999px 0;width:52px}
.cq-btn--ghost:hover .elementor-button-text{padding-right:20px;margin-right:0;border-radius:999px 0 0 999px}
.cq-btn--ghost:hover .elementor-button-text,.cq-btn--ghost:hover .elementor-button-icon{background:rgba(42,72,84,.05)}

/* Petit format */
.cq-btn--sm .elementor-button-text{padding:12px 18px;font-size:12px}
.cq-btn--sm .elementor-button-icon{width:40px;height:40px}
.cq-btn--sm .elementor-button-icon svg{width:13px;height:13px}
.cq-btn--sm:hover .elementor-button-text{padding-right:50px;margin-right:-32px}

/* ---------- Compteurs (widget Compteur natif) ---------- */
.cq-stat{border-top:1px solid rgba(42,72,84,.18);padding-top:22px}
.cq-stat .elementor-counter-number-wrapper{
  font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(48px,4.2vw,74px);line-height:.95;
  color:var(--cq-petrole);display:flex;align-items:baseline;gap:2px;
}
.cq-stat .elementor-counter-number-suffix,.cq-stat .elementor-counter-number-prefix{font-size:.5em;color:var(--cq-rouge)}
.cq-stat .elementor-counter-title{
  font-family:Roboto,sans-serif;font-size:14px;font-weight:400;color:var(--cq-gris);
  text-align:left;margin-top:14px;line-height:1.45;
}

/* ---------- Onglets secteurs (Onglets imbriqués natifs) ---------- */
.cq-onglets .e-n-tabs-heading{gap:0}
.cq-onglets .e-n-tab-title{
  position:relative;justify-content:flex-start!important;text-align:left;padding:20px 4px;
  border-bottom:1px solid rgba(42,72,84,.16);border-radius:0;background:transparent!important;
  font-family:Roboto,sans-serif;font-weight:700;font-size:clamp(18px,1.5vw,25px);color:var(--cq-petrole);
  transition:color .3s,padding-left .3s;
}
.cq-onglets .e-n-tab-title:hover{padding-left:10px}
.cq-onglets .e-n-tab-title[aria-selected="true"]{color:var(--cq-rouge)}
.cq-onglets .e-n-tab-title[aria-selected="true"]::before{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--cq-rouge)}

/* ---------- Icônes RSE (Encadré d'icône natif) ---------- */
.cq-pilier .elementor-icon{color:var(--cq-verteau);font-size:34px}
.cq-pilier .elementor-icon-box-title{font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:18px;color:#fff;margin-bottom:8px}
.cq-pilier .elementor-icon-box-description{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.74)}
.cq-objectif .elementor-heading-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(72px,7vw,128px);line-height:.9;color:#fff}
.cq-mention .elementor-heading-title{font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ---------- Cas clients ---------- */
.cq-cas{background:#fff;border-radius:18px;overflow:hidden}
.cq-cas-etape .elementor-heading-title{font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cq-bleu)}
.cq-cas-etape--resultat .elementor-heading-title{color:var(--cq-rouge)}

/* ---------- Bulles collaborateurs ---------- */
.cq-bulles{display:flex!important;align-items:center;flex-direction:row!important}
.cq-bulles .elementor-widget-image{margin-left:-18px;width:auto!important}
.cq-bulles .elementor-widget-image:first-child{margin-left:0}
.cq-bulles img{width:62px;height:62px;object-fit:cover;border-radius:50%;border:3px solid #fff}

/* ---------- En-tête : barre pilule flottante ---------- */
.cq-header{background:transparent;border-bottom:0}
.cq-navpill{
  max-width:1400px;margin:0 auto;background:#fff;border-radius:999px;
  box-shadow:0 14px 34px -22px rgba(29,29,27,.4);
}
.cq-menu .elementor-nav-menu > li > a{
  font-family:Roboto,sans-serif;font-weight:500;font-size:15px;color:var(--cq-petrole);
  padding:10px 15px;border-radius:999px;transition:background .25s,color .25s;
}
.cq-menu .elementor-nav-menu > li > a:hover{background:rgba(42,72,84,.07);color:var(--cq-bleu)}
.cq-menu .elementor-nav-menu--dropdown{border-radius:14px;overflow:hidden;box-shadow:0 22px 48px -26px rgba(29,29,27,.55)}
.cq-menu .elementor-nav-menu--dropdown a{font-family:Roboto,sans-serif;font-size:14.5px}
.cq-langues .elementor-icon-list-items{display:flex;gap:4px;align-items:center}
.cq-langues .elementor-icon-list-item a{font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:12px;letter-spacing:.06em;color:var(--cq-gris)}
.cq-langues .elementor-icon-list-item:first-child a{color:var(--cq-petrole)}

/* ---------- Pied de page ---------- */
.cq-footer{border-radius:0!important}
.cq-footer .elementor-heading-title{color:#fff}
.cq-footer-col .elementor-icon-list-item a{font-family:Roboto,sans-serif;font-size:14.5px;color:rgba(255,255,255,.74);transition:color .25s}
.cq-footer-col .elementor-icon-list-item a:hover{color:#fff}
.cq-footer-titre .elementor-heading-title{font-family:'Bebas Neue',sans-serif;font-size:19px;letter-spacing:.14em;color:#fff}
.cq-logo-contour img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px rgba(255,255,255,.9))}
.cq-social .elementor-social-icon{background:var(--cq-rouge);width:34px;height:34px}
.cq-social .elementor-social-icon:hover{background:#fff;color:var(--cq-rouge)}

/* ---------- Divers ---------- */
@media(max-width:1024px){
  .cq-stat .elementor-counter-number-wrapper{font-size:44px}
  .cq-onglets .e-n-tab-title{font-size:18px;padding:15px 4px}
}
