/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==================================================================
   SECO Industries · Signature « fiche technique » · 2026-07-07
   Règles du projet :
   - Les couleurs référencent les variables globales Elementor
     (--e-global-color-*) : la source de vérité reste le Kit.
   - Ces classes sont posées sur les containers/widgets des TEMPLATES
     (Avancé > Classes CSS). La cliente ne les manipule jamais.
   - Zéro HTML custom : uniquement des pseudo-éléments.
   ================================================================== */

/* ---------- Tokens d'espacement fluides (repris de la maquette) --- */
:root{
  --w-contenu:75rem;  /* = largeur globale du Kit (1200px) */
  --w-wide:85rem;     /* header et rares sections larges (1360px) */
  --sec-standard:clamp(3rem,2.2rem + 2.5vw,4.5rem);
  --sec-bande:clamp(2.5rem,1.9rem + 2.2vw,3.75rem);
  --sec-compacte:clamp(2rem,1.55rem + 1.8vw,3rem);
  --pad-lateral:clamp(1.25rem,.7rem + 2.3vw,2.5rem);
  --gap-grille:clamp(1rem,.55rem + 1.8vw,2rem);
  --pad-carte:clamp(1.5rem,1.27rem + .9vw,2rem);
}

/* ---------- Bande sombre (hero + sections) ----------------------- */
.sec-sombre{
  background-color:var(--e-global-color-primary);
}
.sec-quadrille{
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:8px 8px;
}
.sec-sombre h1,.sec-sombre h2,.sec-sombre h3,.sec-sombre h4{color:#fff}
.sec-sombre p,.sec-sombre li{color:rgba(255,255,255,.82)}
.sec-sombre .label-tech, .sec-sombre .label-tech .elementor-heading-title{color:var(--e-global-color-accent)}
.sec-sombre .h2-souligne::after{background:var(--e-global-color-accent)}

/* Liseré jaune en tête de bande sombre */
.bande-liseree{border-top:4px solid var(--e-global-color-accent)}

/* ---------- Label technique (kicker mono) ------------------------ */
.label-tech, .label-tech .elementor-heading-title{
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;font-size:.8125rem;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--e-global-color-secondary);
}

/* ---------- Souligné H2 (5rem × 6px jaune) ----------------------- */
.h2-souligne .elementor-heading-title::after,
h2.h2-souligne::after{
  content:"";display:block;width:5rem;height:6px;
  margin-top:.75rem;background:var(--e-global-color-accent);
}

/* ---------- Pastille REP. (numéro de carte) ----------------------- */
.rep-pastille{align-self:flex-start}
.rep-pastille .elementor-heading-title{
  display:inline-block;font-family:'IBM Plex Mono',monospace;
  font-weight:500;font-size:.8125rem;letter-spacing:.08em;
  background:var(--e-global-color-accent);color:var(--e-global-color-primary);
  padding:.3rem .65rem;border-radius:3px;
}

/* ---------- Carte technique (container) --------------------------- */
.carte-tech{
  background:#fff;border:1px solid var(--e-global-color-filet);
  border-radius:8px;padding:var(--pad-carte);
  transition:box-shadow .2s ease,transform .2s ease;
}
.carte-tech:hover{box-shadow:0 12px 32px rgba(14,42,63,.10);transform:translateY(-2px)}

/* ---------- Cadre photo « plan » + croix de repérage -------------- */
.plan-cadre{position:relative;background:#fff;border:1px solid var(--e-global-color-filet);
  border-radius:6px;box-shadow:0 8px 24px rgba(14,42,63,.08)}
.plan-cadre img{display:block;width:100%;border-radius:3px;aspect-ratio:4/3;object-fit:cover;filter:contrast(1.1) saturate(1.15)}
.plan-cadre::before,.plan-cadre::after{
  content:"+";position:absolute;font-family:'IBM Plex Mono',monospace;
  font-size:1rem;line-height:1;color:var(--e-global-color-secondary);
}
.plan-cadre::before{top:-1.1rem;left:-1.1rem}
.plan-cadre::after{bottom:-1.1rem;right:-1.1rem}
.sec-sombre .plan-cadre::before,.sec-sombre .plan-cadre::after{color:var(--e-global-color-accent)}
.sec-sombre .plan-cadre{box-shadow:0 16px 48px rgba(0,0,0,.35)}

/* Légende FIG. sous une image (widget Texte avec la classe) */
.fig-legende, .fig-legende p{
  font-family:'IBM Plex Mono',monospace;font-size:.75rem;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--e-global-color-gristech);margin-top:.6rem;
}
.sec-sombre .fig-legende,.sec-sombre .fig-legende p{color:rgba(255,255,255,.55)}

/* ---------- Cotes statiques du hero (déco pure, sans JS) ---------- */
.cote-hero{position:relative}
.cote-h,.cote-v{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none}
.cote-h{left:1rem;right:2.6rem;top:0;height:1rem;
  background:
    linear-gradient(var(--e-global-color-accent),var(--e-global-color-accent)) left center/1px 100% no-repeat,
    linear-gradient(var(--e-global-color-accent),var(--e-global-color-accent)) right center/1px 100% no-repeat,
    linear-gradient(var(--e-global-color-accent),var(--e-global-color-accent)) center/100% 1px no-repeat}
.cote-v{top:2.2rem;bottom:2.6rem;right:.4rem;width:1rem;
  background:
    linear-gradient(var(--e-global-color-accent),var(--e-global-color-accent)) center top/100% 1px no-repeat,
    linear-gradient(var(--e-global-color-accent),var(--e-global-color-accent)) center bottom/100% 1px no-repeat,
    linear-gradient(var(--e-global-color-accent),var(--e-global-color-accent)) center/1px 100% no-repeat}
.cote-h .elementor-heading-title,.cote-v .elementor-heading-title{position:relative;
  font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.06em;
  color:var(--e-global-color-accent);background:var(--e-global-color-primary);padding:0 .5rem}
.cote-v .elementor-heading-title{writing-mode:vertical-rl;padding:.5rem 0}
@media(max-width:900px){.cote-h,.cote-v{display:none}}

/* ---------- Lignes type nomenclature / parc machines --------------- */
.table-tech > .e-con{border-bottom:1px solid var(--e-global-color-filet);
  padding-top:.9rem;padding-bottom:.9rem}
.table-tech-head{font-family:'IBM Plex Mono',monospace;font-size:.75rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--e-global-color-gristech);
  background:#fff;border-bottom:1px solid var(--e-global-color-filet)}

/* ---------- Footer : grille cartouche responsive ------------------- */
/* Desktop : filets verticaux entre cellules. Tablette (≤1024) : 2 col,
   filets bas. Mobile (≤640) : 1 col. Reprend les media queries maquette. */
.cartouche-grid > .e-con{border-right:1px solid var(--e-global-color-filet)}
.cartouche-grid > .e-con:last-child{border-right:0}
@media(max-width:1024px){
  .cartouche-grid > .e-con{border-bottom:1px solid var(--e-global-color-filet)}
  .cartouche-grid > .e-con:nth-child(2n){border-right:0}
}
@media(max-width:640px){
  .cartouche-grid > .e-con{border-right:0}
}

/* ---------- Footer : les liens héritent de leur couleur de texte --- */
body .elementor-location-footer a{color:inherit}
body .elementor-location-footer a:hover{color:var(--e-global-color-secondary)}

/* ---------- Variantes boutons (classe sur le widget Bouton) ------- */
.btn-outline .elementor-button{
  background:transparent;border:1.5px solid var(--e-global-color-primary);
  color:var(--e-global-color-primary);
}
.btn-outline .elementor-button:hover{
  background:var(--e-global-color-primary);color:#fff;
}
.btn-outline-blanc .elementor-button{
  background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff;
}
.btn-outline-blanc .elementor-button:hover{
  background:#fff;color:var(--e-global-color-primary);border-color:#fff;
}

/* Cadre photo du single : masque si pas d'image a la une */
.plan-cadre:not(:has(img)){display:none}

/* ---------- Halo lumineux des bandes sombres (trame V2) ----------- */
.sec-sombre{position:relative;isolation:isolate}
.sec-sombre::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse at 72% 18%,rgba(0,95,153,.45),transparent 62%);
  pointer-events:none}

/* ---------- Bande chiffres : fond plat + liseré + repères --------- */
.bande-chiffres{background-image:none;border-top:4px solid var(--e-global-color-accent)}
.bande-chiffres::after{content:none}
.compteurs{position:relative;padding-top:2.2rem}
.compteurs::before{content:"";position:absolute;top:0;left:2%;right:2%;
  border-top:1px dashed rgba(255,255,255,.25)}
.compteurs .elementor-widget-counter{position:relative}
.compteurs .elementor-widget-counter::before{content:"";position:absolute;
  top:-2.2rem;left:0;width:1px;height:1rem;background:var(--e-global-color-accent)}
.bande-chiffres-claire .compteurs::before{border-top-color:rgba(14,42,63,.22)}

/* ---------- Croix de repérage des cartes -------------------------- */
.carte-tech::before,.carte-tech::after{position:absolute;
  font-family:'IBM Plex Mono',monospace;font-size:.875rem;line-height:1;
  color:var(--e-global-color-filet);transition:color .2s ease;pointer-events:none}
.carte-tech{position:relative}
.carte-tech::before{content:"+";top:-.5rem;left:-.6rem}
.carte-tech::after{content:"+";bottom:-.5rem;right:-.6rem}
.carte-tech:hover::before,.carte-tech:hover::after{color:var(--e-global-color-secondary)}

/* ---------- Bande CTA : pas de grille/halo, croix blanches -------- */
.bande-liseree{background-image:none;position:relative}
.bande-liseree::after{content:none}
.bande-liseree > .e-con-inner::before,.bande-liseree > .e-con-inner::after{content:"+";position:absolute;
  font-family:'IBM Plex Mono',monospace;font-size:1.2rem;line-height:1;
  color:rgba(255,255,255,.25);pointer-events:none}
.bande-liseree > .e-con-inner::before{top:1.5rem;left:2rem}
.bande-liseree > .e-con-inner::after{bottom:1.5rem;right:2rem}

/* ================== Accueil : hero coté ========================== */
:root{--sec-hero:clamp(4rem,2.4rem + 6.4vw,7.5rem)}
.e-con.hero-grid-75{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.e-con.duo-31{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(2rem,5vw,5rem);align-items:center}
@media(max-width:900px){.e-con.hero-grid-75,.e-con.duo-31{grid-template-columns:minmax(0,1fr)}}
.hero-marque .marque{color:var(--e-global-color-accent);white-space:nowrap}
.hero-watermark{position:absolute;right:-1rem;top:50%;transform:translateY(-50%);pointer-events:none}
.hero-watermark .elementor-heading-title{font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(8rem,14vw,15rem);line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.10);writing-mode:vertical-rl;user-select:none}
@media(max-width:1024px){.hero-watermark{display:none}}

/* ================== Accueil : ticker technique ==================== */
.bande-ticker{border-top:1px solid var(--e-global-color-primary);border-bottom:1px solid var(--e-global-color-primary);overflow:hidden}
.bande-ticker .elementor-heading-title{display:inline-block;width:max-content;white-space:nowrap;
  font-family:'IBM Plex Mono',monospace;font-size:.8125rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--e-global-color-primary);
  animation:seco-defile 38s linear infinite}
.bande-ticker:hover .elementor-heading-title{animation-play-state:paused}
@keyframes seco-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.bande-ticker .elementor-heading-title{animation:none}}

/* ================== Grilles utilitaires =========================== */
.e-con.grille-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-grille)}
@media(max-width:1024px){.e-con.grille-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.e-con.grille-4{grid-template-columns:minmax(0,1fr)}}
.h2-souligne-centre::after,.h2-souligne-centre .elementor-heading-title::after{margin-left:auto;margin-right:auto}
.carte-papier{background:var(--e-global-color-papier)}

/* ================== Chips techniques (bande sombre) =============== */
.chips-tech .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:.6rem}
.chips-tech .elementor-icon-list-item{margin:0}
.chips-tech .elementor-icon-list-text{font-family:'IBM Plex Mono',monospace;font-size:.75rem;
  letter-spacing:.08em;border:1px solid rgba(255,255,255,.28);border-radius:4px;
  padding:.4rem .8rem;color:#fff;background:rgba(255,255,255,.06)}

/* ================== Nomenclature secteurs ========================= */
.nomen-table{border:1px solid var(--e-global-color-filet);border-radius:6px;overflow:hidden;background:#fff}
.nomen-table > .e-con{border-bottom:1px solid var(--e-global-color-filet);transition:background .15s ease}
.nomen-table > .e-con:last-child{border-bottom:none}
.nomen-table > .e-con:hover{background:#FFF8E0}
.nomen-head{font-family:'IBM Plex Mono',monospace}
.nomen-head .elementor-heading-title{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-gristech)}
.nomen-fleche .elementor-heading-title{color:var(--e-global-color-filet);font-size:1.1rem;text-align:right;transition:all .2s ease}
.nomen-table > .e-con:hover .nomen-fleche .elementor-heading-title{color:var(--e-global-color-primary);transform:translateX(4px)}
.nomen-table > .e-con:hover .nomen-rep .elementor-heading-title{color:var(--e-global-color-jaunehover)}
@media(max-width:760px){.nomen-usage,.nomen-head{display:none}}

/* ================== Réassurance =================================== */
.reassure-carte{border-left:2px solid var(--e-global-color-accent);background:#fff;border-radius:0 6px 6px 0}

/* ================== Bande clients ================================= */
.bande-clients{border-top:1px solid var(--e-global-color-filet);border-bottom:1px solid var(--e-global-color-filet)}
.e-con.logos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;width:min(56rem,100%);margin-left:auto;margin-right:auto}
@media(max-width:640px){.e-con.logos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.logo-tag .elementor-heading-title{font-family:'IBM Plex Mono',monospace;font-size:.8125rem;
  letter-spacing:.06em;color:var(--e-global-color-text);border:1px dashed var(--e-global-color-gristech);
  border-radius:4px;text-align:center;padding:1rem .5rem;transition:all .2s ease}
.logo-tag .elementor-heading-title:hover{color:var(--e-global-color-secondary);border-color:var(--e-global-color-secondary)}

/* ================== Témoignage ==================================== */
.temoignage-bloc .elementor-testimonial-content{font-family:'Space Grotesk',sans-serif;font-weight:600;
  font-size:clamp(1.3rem,1.1rem + .9vw,1.8rem);line-height:1.4;color:var(--e-global-color-primary)}
.temoignage-bloc .elementor-testimonial-content::before{content:"\00ab\00a0"}
.temoignage-bloc .elementor-testimonial-content::after{content:"\00a0\00bb"}
.temoignage-bloc .elementor-testimonial-image{display:none}
.temoignage-bloc .elementor-testimonial-name{font-family:'IBM Plex Mono',monospace;font-size:.8125rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-gristech);font-weight:400}
/* ========= Pages internes : duo inversé, repère figure, chiffres ========= */
.e-con.duo-32{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(2rem,5vw,5rem);align-items:center}
@media(max-width:900px){
  .e-con.duo-32{grid-template-columns:minmax(0,1fr)}
  .duo-figure{order:-1}
}
.rep-fig{position:absolute;top:-.85rem;left:1.25rem;z-index:1}
.rep-fig .elementor-heading-title{font-family:'IBM Plex Mono',monospace;font-size:.75rem;
  letter-spacing:.08em;border:1px solid var(--e-global-color-filet);border-radius:4px;
  padding:.4rem .8rem;color:var(--e-global-color-secondary);background:#fff}
.chiffre-grand .elementor-heading-title{font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(2.75rem,1.95rem + 3.2vw,4.5rem);color:var(--e-global-color-primary);line-height:1}
/* Parc machines : lignes non cliquables, equipements visibles en mobile */
.nomen-parc > .e-con{cursor:default}
@media(max-width:760px){
  .nomen-parc > .e-con{flex-wrap:wrap}
  .nomen-parc .nomen-usage{display:block;width:100%;margin-top:.35rem}
}
/* Chips claires (sections blanches/papier) + fiche applications */
.chips-clair .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:.6rem}
.chips-clair .elementor-icon-list-item{margin:0}
.chips-clair .elementor-icon-list-text{font-family:'IBM Plex Mono',monospace;font-size:.75rem;
  letter-spacing:.08em;border:1px solid var(--e-global-color-filet);border-radius:4px;
  padding:.4rem .8rem;color:var(--e-global-color-primary);background:#fff}
.fiche-titre{border-bottom:1px solid var(--e-global-color-filet)}
@media(max-width:900px){.fiche-app-col{order:1;max-width:30rem}}
/* ============ A propos : grille 3, compteurs clairs, certif, process ===== */
.e-con.grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-grille)}
@media(max-width:900px){.e-con.grille-3{grid-template-columns:minmax(0,1fr)}}
.compteurs-clair::before{border-top-color:var(--e-global-color-filet)}
.cadre-certif img{object-fit:contain;aspect-ratio:3/4;background:#fff}
.e-con.process-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap-grille);position:relative}
.e-con.process-5::before{content:"";position:absolute;top:2rem;left:10%;right:10%;
  border-top:1px dashed var(--e-global-color-gristech);opacity:.5}
.etape-num{z-index:1}
.etape-num .elementor-heading-title{position:relative;width:4rem;height:4rem;border-radius:50%;
  background:var(--e-global-color-primary);color:var(--e-global-color-accent);
  font-family:'IBM Plex Mono',monospace;font-size:1.25rem;font-weight:500;
  display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1024px){.e-con.process-5{grid-template-columns:repeat(2,minmax(0,1fr))}.e-con.process-5::before{display:none}}
@media(max-width:640px){.e-con.process-5{grid-template-columns:minmax(0,1fr)}}
/* ============ Realisations : filtres + vignettes ============ */
.filtre-bar{width:100%}
.filtre-bar .e-filter{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-start}
.filtre-bar .e-filter-item{font-family:'Inter',sans-serif;font-weight:600;font-size:.8125rem;
  letter-spacing:.02em;padding:.6rem 1.2rem;border:1.5px solid var(--e-global-color-primary);
  border-radius:6px;background:transparent;color:var(--e-global-color-primary);cursor:pointer;transition:all .2s ease}
.filtre-bar .e-filter-item:hover,
.filtre-bar .e-filter-item[aria-pressed="true"]{background:var(--e-global-color-primary);color:#fff}
.filtre-bar .e-filter-item[data-filter="__all"]{order:-1}
.elementor-widget-loop-grid .e-loop-item img{aspect-ratio:4/3;object-fit:cover;width:100%}
/* ============ Actualites / Contact / Mentions ============ */
.newsletter-form-w input[type=email]{font-family:'IBM Plex Mono',monospace;font-size:.875rem;
  background:var(--e-global-color-papier);border:1px solid var(--e-global-color-filet);
  border-radius:6px;min-width:17rem;padding:.85rem 1rem}
.duo-start{align-items:start}
.plan-acces{border:1px solid var(--e-global-color-filet);border-radius:6px;
  background-color:var(--e-global-color-papier);min-height:18rem;
  background-image:linear-gradient(rgba(216,224,229,.5) 1px,transparent 1px),
    linear-gradient(90deg,rgba(216,224,229,.5) 1px,transparent 1px);background-size:8px 8px}
.legal-bloc{max-width:46rem}
.legal-bloc h2{font-size:1.375rem;font-weight:600;margin:2.5rem 0 1rem}
.legal-bloc .a-completer{border:1px dashed var(--e-global-color-accent);background:#FFF8E0;
  padding:1rem 1.25rem;border-radius:6px;font-size:.875rem;margin:1rem 0}
.legal-bloc .a-completer .mono{display:block;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-gristech);margin-bottom:.3rem}
.filtre-bar .e-filter{justify-content:flex-start !important}
/* --- Ancres internes : compenser le header sticky --- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.e-con[id] { scroll-margin-top: 6rem; }

/* --- Single actualité : figure + typo du corps --- */
.fig-article:not(:has(img)) { display: none; }
.article-corps { line-height: 1.75; }
.article-corps h2, .article-corps h3 { margin: 2.2em 0 .6em; }
.article-corps h2 { font-size: 1.5rem; padding-bottom: .55rem; position: relative; }
.article-corps h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 3rem; height: 4px; background: var(--e-global-color-accent); }
.article-corps h3 { font-size: 1.17rem; }
.article-corps p { margin: 0 0 1.1em; }
.article-corps ul, .article-corps ol { margin: 0 0 1.2em; padding-left: 1.15em; }
.article-corps li { margin: .35em 0; }
.article-corps ul li::marker { content: "■  "; color: var(--e-global-color-accent); font-size: .7em; }
.article-corps blockquote { margin: 1.6em 0; padding: 1.1em 1.4em; background: var(--e-global-color-papier); border-left: 4px solid var(--e-global-color-accent); }
.article-corps a { color: var(--e-global-color-secondary); text-decoration: underline; text-underline-offset: 2px; }
.article-corps img { border-radius: 3px; }
.pied-article { border-top: 1px solid var(--e-global-color-filet); padding-top: 2rem !important; }

/* --- Fixes responsive tablette/mobile (2026-07-08) --- */
/* Puces techniques : retour à la ligne autorisé */
.e-con.chips-tech, .e-con.chips-clair { flex-wrap: wrap; }

/* Compteurs : 3 colonnes en tablette, 2 en mobile (desktop inchangé) */
@media (max-width: 1024px) {
  .e-con.compteurs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.5rem; }
}
@media (max-width: 640px) {
  .e-con.compteurs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Cadres photo : l'image remplit le cadre et réserve sa hauteur avant le lazy-load (anti-flash) */
.plan-cadre .elementor-widget-image, .plan-cadre .elementor-widget-theme-post-featured-image { width: 100%; }
.plan-cadre img { width: 100%; }
.elementor-widget-loop-grid .e-loop-item img { width: 100%; }

/* --- Chiffres clés en mobile : plus petits, 2 par ligne, sans retour à la ligne --- */
@media (max-width: 640px) {
  .e-con.compteurs { row-gap: 1.8rem; }
  .compteurs .elementor-counter { text-align: left; }
  .compteurs .elementor-counter-number-wrapper .elementor-counter-number-prefix, .compteurs .elementor-counter-number-wrapper .elementor-counter-number-suffix { flex-grow: 0; }
  .compteurs .elementor-counter .elementor-counter-number-wrapper { font-size: 1.6rem; white-space: nowrap; justify-content: flex-start; }
  .compteurs .elementor-counter .elementor-counter-title { font-size: .6875rem; letter-spacing: .06em; }
}

/* --- Cartes actus : hauteur uniforme, lien aligne en bas (retour client 2026-07-15) --- */
.carte-actu{height:100%}
.carte-actu > .e-con{flex-grow:1}
.carte-actu > .e-con > .elementor-widget-heading:last-child{margin-top:auto}

/* ---------- Bouton outline sombre (footer papier) ---------------- */
.btn-outline-sombre .elementor-button{background:transparent;border:1.5px solid var(--e-global-color-primary);color:var(--e-global-color-primary)}
.btn-outline-sombre .elementor-button:hover{background:var(--e-global-color-primary);color:#fff}
