/*
Theme Name: Epure Ops
Theme URI: https://epure-ops.com
Author: Epure Ops
Description: Thème à blocs sur mesure reprenant la charte Epure Ops (encre, teal, Poppins). Compositions prêtes à l'emploi pour l'accueil, les expertises et le contact.
Version: 1.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: Propriétaire — Epure Ops
Text Domain: epure-ops
*/

/* =========================================================================
   1. Tokens de la charte (repris de l'export Claude Design)
   ========================================================================= */
:root{
  /* Encre — navy, taken from the signature type colour #02162E */
  --encre-900:#02162E;
  --encre-800:#0a2340;
  --encre-700:#173350;
  --encre-600:#2b445f;
  --encre-500:#3f4a57;   /* body copy in the signatures */
  --encre-400:#5c6470;   /* secondary copy */
  --encre-300:#8a919b;   /* legal / tertiary copy */

  /* Teal — the accent rule + job-title colour #039C9B */
  --teal-900:#01514f;
  --teal-800:#026f6d;
  --teal-700:#039C9B;
  --teal-600:#17b0ae;
  --teal-400:#6fcfcd;
  --teal-200:#b6e6e5;
  --teal-100:#e3f5f4;

  /* Neutres */
  --blanc:#ffffff;
  --gris-50:#f7f8f9;
  --gris-100:#eef0f2;
  --gris-200:#e4e6e9;   /* rule colour in the signature sheets */
  --gris-300:#d2d6db;
  --gris-400:#b4bac1;

  /* Sémantique d'état */
  --succes-700:#0e7a5f;
  --succes-100:#e2f3ee;
  --alerte-700:#9a6a06;
  --alerte-100:#fbf1dc;
  --erreur-700:#a52f2a;
  --erreur-100:#f8e6e5;
  --info-700:#1f5f96;
  --info-100:#e6eff7;

  /* Dégradé du monogramme : le O passe de l'encre au teal */
  --degrade-marque:linear-gradient(115deg,var(--encre-900) 0%,var(--encre-800) 38%,var(--teal-800) 76%,var(--teal-700) 100%); 
  --degrade-voile:linear-gradient(180deg,rgba(2,22,46,0) 0%,rgba(2,22,46,.72) 62%,rgba(2,22,46,.94) 100%); 
}

:root{
  --font-display:"Poppins","Century Gothic","Avenir Next",system-ui,sans-serif;
  --font-body:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;

  /* Échelle — pas de 1.25 environ, ancrée sur le 13px des signatures */
  --taille-2xs:11px;
  --taille-xs:12px;
  --taille-sm:13px;
  --taille-md:15px;
  --taille-lg:18px;
  --taille-xl:22px;
  --taille-2xl:28px;
  --taille-3xl:36px;
  --taille-4xl:48px;
  --taille-5xl:64px;

  --ligne-serree:1.15; 
  --ligne-titre:1.25; 
  --ligne-normale:1.5; 
  --ligne-aeree:1.65; 

  --poids-light:300; 
  --poids-normal:400; 
  --poids-medium:500; 
  --poids-semibold:600; 
  --poids-bold:700; 

  /* Le wordmark et les sur-titres respirent */
  --interlettre-large:.18em; 
  --interlettre-titre:-.01em; 
  --interlettre-display:-.02em; 
}

:root{
  --esp-0:0px;
  --esp-1:2px;
  --esp-2:4px;
  --esp-3:8px;
  --esp-4:12px;
  --esp-5:14px;   /* retrait du filet court de la signature */
  --esp-6:16px;
  --esp-7:22px;   /* gouttière logo / texte de la signature */
  --esp-8:24px;
  --esp-9:32px;
  --esp-10:40px;
  --esp-12:56px;
  --esp-14:72px;
  --esp-16:96px;
  --esp-20:128px;

  --gouttiere:24px;
  --largeur-contenu:1160px; 
  --largeur-texte:640px;    /* longueur de ligne de lecture */
  --marge-page:32px;
}

:root{
  /* Marque géométrique : rayons faibles, jamais de "pilule" sauf sur les étiquettes */
  --rayon-0:0px;
  --rayon-xs:2px;
  --rayon-sm:3px;
  --rayon-md:4px;
  --rayon-lg:6px;
  --rayon-xl:10px;
  --rayon-pilule:999px;
  --rayon-cercle:50%;
}

:root{
  /* Ombres froides, teintées d'encre — jamais de noir pur */
  --ombre-0:none; 
  --ombre-1:0 1px 2px rgba(2,22,46,.06);
  --ombre-2:0 2px 6px rgba(2,22,46,.07),0 1px 2px rgba(2,22,46,.05);
  --ombre-3:0 8px 24px rgba(2,22,46,.09),0 2px 6px rgba(2,22,46,.05);
  --ombre-4:0 20px 48px rgba(2,22,46,.13),0 4px 12px rgba(2,22,46,.06);
  --ombre-focus:0 0 0 3px rgba(3,156,155,.28);
  --ombre-interne:inset 0 1px 2px rgba(2,22,46,.07); 
  --filet:1px solid var(--gris-200);
  --filet-accent:2px solid var(--teal-700);
}

:root{
  --duree-instant:90ms; 
  --duree-rapide:160ms; 
  --duree-normale:240ms; 
  --duree-lente:420ms; 
  /* Sorties douces, aucune élasticité : la marque ne rebondit pas */
  --courbe-sortie:cubic-bezier(.22,.61,.36,1); 
  --courbe-entree:cubic-bezier(.4,0,.68,.36); 
  --courbe-douce:cubic-bezier(.4,0,.2,1); 
  --transition-standard:all var(--duree-rapide) var(--courbe-sortie); 
}

:root{
  /* Texte */
  --text-titre:var(--encre-900);
  --text-body:var(--encre-500);
  --text-secondaire:var(--encre-400);
  --text-tertiaire:var(--encre-300);
  --text-accent:var(--teal-700);
  --text-sur-encre:var(--blanc);
  --text-sur-teal:var(--blanc);
  --text-lien:var(--encre-900);
  --text-lien-survol:var(--teal-700);

  /* Surfaces */
  --surface-page:var(--blanc);
  --surface-alt:var(--gris-50);
  --surface-card:var(--blanc);
  --surface-encre:var(--encre-900);
  --surface-accent-douce:var(--teal-100);
  --surface-desactivee:var(--gris-100);

  /* Bordures */
  --bordure-discrete:var(--gris-200);
  --bordure-forte:var(--gris-300);
  --bordure-accent:var(--teal-700);
  --bordure-champ:var(--gris-300);

  /* Actions */
  --action-primaire:var(--encre-900);
  --action-primaire-survol:var(--encre-800);
  --action-primaire-appui:var(--encre-700);
  --action-accent:var(--teal-700);
  --action-accent-survol:var(--teal-800);
  --action-accent-appui:var(--teal-900);
  --anneau-focus:var(--ombre-focus);
}

:root{
  /* Palette data-viz — le teal reste la série principale, les autres séries
     s'en éloignent en teinte sans jamais la concurrencer en saturation. */
  --serie-1:#17a89f;   
  --serie-2:#4a63c9;   
  --serie-3:#c08a2a;   
  --serie-4:#9c4f84;   
  --serie-5:#0b6f6c;   
  --serie-neutre:#b4bac1; 

  /* Lecture d'un delta chiffré */
  --delta-positif:#0e7a5f; 
  --delta-negatif:#c0504a; 

  /* Habillage de graphe */
  --grille-graphe:#eef0f2;  
  --axe-graphe:#8a919b;     
  --entete-tableau:#02162E; 
}

:root{
  --font-display:var(--wp--preset--font-family--display);
  --font-body:var(--wp--preset--font-family--body);
  --taille-4xl:var(--wp--preset--font-size--4-xl);
  --taille-2xl:var(--wp--preset--font-size--2-xl);
  --taille-xl:var(--wp--preset--font-size--xl);
  --marge-page:clamp(20px,4vw,32px);
  --section-y:clamp(56px,8vw,96px);
  --icone-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M5 12h14' /%3E %3Cpath d='m12 5 7 7-7 7' /%3E %3C/svg%3E");
  --icone-coche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M20 6 9 17l-5-5' /%3E %3C/svg%3E");
}

/* =========================================================================
   2. Base
   ========================================================================= */
*,*::before,*::after{box-sizing:border-box}
body{-webkit-font-smoothing:antialiased}
::selection{background:var(--teal-200);color:var(--encre-900)}
a{transition:color var(--duree-rapide) var(--courbe-sortie)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--teal-700);outline-offset:2px;box-shadow:var(--ombre-focus)}
img{max-width:100%;height:auto}
.wp-site-blocks{overflow-x:clip}

/* Enchaînement des zones sans espace parasite */
.wp-site-blocks>*,
.wp-site-blocks>*+*{margin-block-start:0}
.eo-main .wp-block-post-content>.eo-section,
.eo-main .wp-block-post-content>.eo-section+*{margin-block:0}
.eo-main .wp-block-post-content{margin-block:0}

/* Pages de texte (mentions légales, articles) */
.eo-page-texte{padding-block:var(--esp-14) var(--esp-16)}
.eo-page-texte h1{margin-block-end:var(--esp-9)}
.eo-page-texte h2{margin-block-start:var(--esp-10)}
.eo-page-texte p{line-height:var(--ligne-aeree)}

/* Éléments plus étroits que la colonne : alignés à gauche de la colonne de 1160px
   (la mise en page « contrainte » de WordPress les centrerait sinon). */
.eo-section>.eo-chapeau,.eo-section>.eo-hero__titre,.eo-section>.eo-hero__chapeau,.eo-section>.eo-citation{
  margin-left:max(0px,calc((100% - 1160px) / 2))!important;margin-right:auto!important}

/* Utilitaires typographiques */
.eo-surtitre{font-family:var(--font-display);font-size:var(--taille-xs);font-weight:var(--poids-medium);letter-spacing:var(--interlettre-large);text-transform:uppercase;color:var(--text-accent);margin:0}
.eo-chapeau{font-size:var(--taille-md);line-height:var(--ligne-aeree);color:var(--text-secondaire);max-width:var(--largeur-texte)}
.eo-texte-sm{font-size:var(--taille-sm);line-height:var(--ligne-aeree);color:var(--text-secondaire)}
.eo-surtitre+h2,.eo-surtitre+h1{margin-block-start:var(--esp-4)}
h2+.eo-chapeau{margin-block-start:var(--esp-4)}

/* Icônes Lucide */
.eo-icone{display:flex;color:var(--text-accent);line-height:0}
.eo-icone svg{display:block}

/* =========================================================================
   3. Boutons (variantes de la charte)
   ========================================================================= */
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;gap:var(--esp-3);transition:var(--transition-standard)}
.wp-block-button .wp-block-button__link:active{transform:translateY(1px)}
.eo-btn-sm .wp-block-button__link{font-size:var(--taille-xs);padding:7px 14px}
.eo-btn-lg .wp-block-button__link{font-size:var(--taille-md);padding:14px 26px}

.is-style-accent .wp-block-button__link{background:var(--action-accent);border-color:var(--action-accent);color:var(--blanc)}
.is-style-accent .wp-block-button__link:hover{background:var(--action-accent-survol);border-color:var(--action-accent-survol);color:var(--blanc)}

.is-style-secondaire .wp-block-button__link{background:transparent;border-color:var(--bordure-forte);color:var(--text-titre)}
.is-style-secondaire .wp-block-button__link:hover{background:transparent;border-color:var(--encre-900);color:var(--text-titre)}

.is-style-fantome .wp-block-button__link{background:transparent;border-color:transparent;color:var(--text-accent);padding:0;border-radius:0}
.is-style-fantome .wp-block-button__link:hover{background:transparent;border-color:transparent;color:var(--action-accent-survol)}

.is-style-blanc .wp-block-button__link{background:var(--blanc);border-color:var(--blanc);color:var(--encre-900)}
.is-style-blanc .wp-block-button__link:hover{background:var(--teal-100);border-color:var(--teal-100);color:var(--encre-900)}

.eo-fleche .wp-block-button__link::after{content:"";width:1em;height:1em;flex:none;background:currentColor;
  -webkit-mask:var(--icone-fleche) center/contain no-repeat;mask:var(--icone-fleche) center/contain no-repeat;transition:transform var(--duree-rapide) var(--courbe-sortie)}
.eo-fleche .wp-block-button__link:hover::after{transform:translateX(2px)}

/* =========================================================================
   4. En-tête et pied de page
   ========================================================================= */
header.wp-block-template-part{position:sticky;top:0;z-index:50}
.admin-bar header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar header.wp-block-template-part{top:46px}}
@media (max-width:600px){.admin-bar header.wp-block-template-part{top:0}}

.eo-entete{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--bordure-discrete)}
.eo-entete__barre{min-height:76px;gap:var(--esp-9)}
.eo-entete__actions{gap:var(--esp-9)}
.eo-logo{margin:0}
.eo-logo img{height:40px;width:auto;display:block}
.eo-nav{font-family:var(--font-display);font-size:var(--taille-sm);gap:var(--esp-9)}
.eo-nav .wp-block-navigation-item__content{color:var(--text-secondaire);padding-bottom:2px;border-bottom:2px solid transparent}
.eo-nav .wp-block-navigation-item__content:hover{color:var(--text-titre)}
.eo-nav .current-menu-item>.wp-block-navigation-item__content,
.eo-nav [aria-current="page"]{color:var(--text-titre);font-weight:var(--poids-medium);border-bottom-color:var(--bordure-accent)}
.eo-nav .wp-block-navigation__responsive-container.is-menu-open{padding:var(--esp-9) var(--marge-page)}
.eo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:var(--esp-6);font-size:var(--taille-lg)}
@media (max-width:600px){
  .eo-entete__cta{display:none}
  .eo-logo img{height:34px}
}

.eo-pied{background:var(--surface-encre);color:var(--teal-200);padding-block:var(--esp-14) var(--esp-9);font-size:var(--taille-sm)}
.eo-pied a{color:var(--teal-200)}
.eo-pied a:hover{color:var(--blanc)}
.eo-pied a[href^="mailto"]{color:var(--blanc)}
.eo-pied p{line-height:var(--ligne-normale);margin-block:0 var(--esp-3)}
.eo-pied .eo-surtitre{color:var(--teal-400);margin-block-end:var(--esp-4)}
.eo-pied__colonnes{gap:var(--esp-12)}
.eo-logo--inverse img{height:56px;filter:brightness(0) invert(1)}
.eo-pied__accroche{max-width:320px;line-height:var(--ligne-aeree)!important;margin-block-start:var(--esp-6)!important}
.eo-pied__legal{margin-block-start:var(--esp-12)!important;padding-block-start:var(--esp-6);border-top:1px solid var(--encre-700);font-size:var(--taille-2xs);color:var(--encre-300)}
.eo-pied__legal p{margin:0}
.eo-pied__legal a{color:var(--encre-300)}

/* =========================================================================
   5. Sections
   ========================================================================= */
.eo-section{padding-block:var(--section-y);background:var(--surface-page)}
.eo-section--serree{padding-block:var(--esp-14)}
.eo-section--alt{background:var(--surface-alt)}
.eo-section--menthe{background:linear-gradient(180deg,#EFFFFE,#FFFFFF)}
.eo-section .wp-block-columns{margin-block-end:0}
.eo-colonnes-larges{gap:clamp(var(--esp-9),6vw,var(--esp-14))!important}
.eo-grille-3{gap:var(--gouttiere)!important;margin-block-start:var(--esp-12)!important}
.eo-section .wp-block-buttons{margin-block-start:var(--esp-6)}

/* Hero encre */
.eo-hero{background:var(--surface-encre);color:var(--blanc);position:relative;overflow:hidden;padding-block:var(--esp-20) var(--esp-16)}
.eo-hero::before{content:"";position:absolute;top:-120px;right:-80px;width:520px;height:520px;border-radius:50%;background:var(--degrade-marque);opacity:.32;pointer-events:none}
.eo-hero>*{position:relative}
.eo-hero .eo-surtitre{color:var(--teal-400)}
.eo-hero__titre{color:var(--blanc)!important;max-width:860px;margin-block:var(--esp-6) var(--esp-7)!important}
.eo-hero__chapeau{font-size:var(--taille-lg);line-height:var(--ligne-aeree);color:var(--teal-200);max-width:var(--largeur-texte)}
.eo-hero__actions{margin-block-start:var(--esp-10)!important;gap:var(--esp-4)}
.eo-hero .is-style-secondaire .wp-block-button__link{color:var(--blanc);border-color:var(--encre-600)}
.eo-hero .is-style-secondaire .wp-block-button__link:hover{border-color:var(--teal-400);color:var(--blanc)}
@media (max-width:600px){.eo-hero{padding-block:var(--esp-14) var(--esp-12)}.eo-hero::before{width:320px;height:320px;top:-100px;right:-120px}}

/* Cartes */
.is-style-carte{background:var(--surface-card);border:1px solid var(--bordure-discrete);border-radius:var(--rayon-lg);padding:var(--esp-8);transition:var(--transition-standard)}
.eo-carte--survol:hover{box-shadow:var(--ombre-3);border-color:var(--gris-300);transform:translateY(-2px)}
.is-style-carte h3{margin-block:var(--esp-6) var(--esp-3)}
.is-style-carte p{margin:0}

/* Liste à coches */
ul.is-style-coches{list-style:none;padding:0;margin-block:var(--esp-6) 0;display:flex;flex-direction:column;gap:var(--esp-4)}
ul.is-style-coches li{position:relative;padding-left:calc(15px + var(--esp-4));font-size:var(--taille-sm);line-height:var(--ligne-normale);color:var(--text-body)}
ul.is-style-coches li::before{content:"";position:absolute;left:0;top:2px;width:15px;height:15px;background:var(--teal-700);
  -webkit-mask:var(--icone-coche) center/contain no-repeat;mask:var(--icone-coche) center/contain no-repeat}

/* Aperçu du rapport (iframe réduite de moitié) */
.eo-apercu-rapport{margin:0;display:flex;flex-direction:column;gap:var(--esp-4)}
.eo-apercu-rapport__cadre{border:1px solid var(--bordure-discrete);border-radius:var(--rayon-lg);overflow:hidden;box-shadow:var(--ombre-3);background:var(--blanc);aspect-ratio:1200/1040;position:relative}
.eo-apercu-rapport iframe{position:absolute;top:0;left:0;width:1200px;height:1040px;border:0;transform-origin:top left;transform:scale(var(--echelle,.5))}
.eo-apercu-rapport figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-tertiaire)}
.eo-apercu-rapport--carte .eo-apercu-rapport__cadre{aspect-ratio:1200/660;box-shadow:none}

/* Photo terrain */
.eo-photo{margin:0}
.eo-photo img{width:100%;height:440px;object-fit:cover;border-radius:var(--rayon-lg);box-shadow:0 8px 24px rgba(0,0,0,.15);display:block}
@media (max-width:782px){.eo-photo img{height:280px}}

/* Trois gestes (filet teal) */
.eo-piliers{margin-block-start:var(--esp-9)!important}
.eo-pilier{border-top:var(--filet-accent);padding-top:var(--esp-6)}
.eo-pilier h3{margin-block:var(--esp-3)}
.eo-pilier p{margin:0}

/* Méthode en trois temps (séquence réelle, numérotée) */
.eo-etape{gap:var(--esp-7)!important;padding-block-end:var(--esp-8);border-bottom:1px solid var(--bordure-discrete);margin-block-end:var(--esp-8)}
.eo-etape:last-child{margin-block-end:0}
.eo-etape__numero{min-width:1.4em;font-family:var(--font-display);font-size:var(--taille-xl);font-weight:var(--poids-light);color:var(--text-accent);line-height:1;margin:0;flex:none}
.eo-etape h3{margin:0 0 var(--esp-3)}
.eo-etape p.eo-texte-sm{margin:0;max-width:460px}

/* Témoignage */
.eo-citation{border-left:var(--filet-accent);padding-left:var(--esp-5);margin:0;max-width:760px}
.eo-citation p{font-family:var(--font-display);font-size:var(--taille-xl);font-weight:var(--poids-light);line-height:var(--ligne-titre);color:var(--text-titre)}
.eo-citation cite{display:inline-block;margin-top:var(--esp-6);font-style:normal;font-size:var(--taille-xs);color:var(--text-body);background:var(--gris-100);border-radius:var(--rayon-pilule);padding:4px 10px}

/* Appel à l'action */
.eo-cta{background:var(--degrade-marque);padding-block:var(--esp-14)}
.eo-cta__ligne{gap:var(--esp-9)}
.eo-cta h2{color:var(--blanc)}
.eo-cta p{color:var(--teal-100);margin-block-start:var(--esp-3)}
.eo-cta .wp-block-buttons{margin:0}

/* =========================================================================
   6. Expertises
   ========================================================================= */
.eo-etiquettes{display:flex;flex-wrap:wrap;gap:var(--esp-3);margin-block-start:var(--esp-8)!important}
.eo-etiquette{display:inline-flex;font-size:var(--taille-xs);color:var(--text-body);border:1px solid var(--bordure-discrete);border-radius:var(--rayon-pilule);padding:5px 12px;background:var(--blanc)}
.eo-etiquette.is-actif{background:var(--encre-900);border-color:var(--encre-900);color:var(--blanc)}

.eo-domaine+.eo-domaine{margin-block-start:var(--esp-16)}
.eo-domaine__intro{display:flex;flex-direction:column;gap:var(--esp-6)}
.eo-domaine__intro>*{margin:0!important}
@media (min-width:783px){.eo-domaine__intro{position:sticky;top:110px;align-self:flex-start}}
.eo-domaine .wp-block-column:last-child{display:flex;flex-direction:column;gap:var(--gouttiere)}
.eo-domaine .wp-block-column:last-child>*{margin:0}
.eo-item{gap:var(--esp-7)!important}
.eo-item__numero{font-family:var(--font-mono);font-size:var(--taille-xs);color:var(--text-tertiaire);padding-top:3px;margin:0;flex:none}
.eo-item h3{margin:0 0 var(--esp-3)}
.eo-item p.eo-texte-sm{margin:0}

/* Onglets générés par assets/js/onglets.js */
.eo-onglets.is-actif{padding-block-start:0}
.eo-onglets__barre{display:flex;gap:var(--esp-9);border-bottom:1px solid var(--bordure-discrete);margin-block-end:var(--esp-14)!important;overflow-x:auto;padding-top:var(--esp-8)}
.eo-onglets__bouton{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:0 0 var(--esp-5);font-family:var(--font-display);font-size:var(--taille-sm);color:var(--text-secondaire);cursor:pointer;white-space:nowrap;transition:var(--transition-standard)}
.eo-onglets__bouton:hover{color:var(--text-titre)}
.eo-onglets__bouton[aria-selected="true"]{color:var(--text-titre);font-weight:var(--poids-medium);border-bottom-color:var(--bordure-accent)}
.eo-onglets.is-actif .eo-domaine+.eo-domaine{margin-block-start:0}
.eo-onglets.is-actif .eo-domaine[hidden]{display:none}

/* =========================================================================
   7. Contact
   ========================================================================= */
.eo-formulaire{margin-block-start:var(--esp-12)!important}
.eo-a-remplacer{border:1px dashed var(--alerte-700);background:var(--alerte-100);color:var(--alerte-700);border-radius:var(--rayon-md);padding:var(--esp-6);font-size:var(--taille-sm)}
.eo-formulaire label{display:block;font-family:var(--font-display);font-size:var(--taille-xs);font-weight:var(--poids-medium);color:var(--text-titre);margin-bottom:var(--esp-3)}
.eo-formulaire input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.eo-formulaire select,.eo-formulaire textarea{width:100%;font:inherit;font-size:var(--taille-sm);color:var(--text-titre);background:var(--blanc);border:1px solid var(--bordure-champ);border-radius:var(--rayon-md);padding:10px 12px;transition:var(--transition-standard)}
.eo-formulaire input:focus,.eo-formulaire select:focus,.eo-formulaire textarea:focus{outline:none;border-color:var(--teal-700);box-shadow:var(--ombre-focus)}
.eo-formulaire input[type=checkbox]{accent-color:var(--teal-700)}
.eo-formulaire input[type=submit],.eo-formulaire button[type=submit]{font-family:var(--font-display);font-size:var(--taille-md);font-weight:var(--poids-medium);letter-spacing:.02em;background:var(--encre-900);color:var(--blanc);border:1px solid var(--encre-900);border-radius:var(--rayon-md);padding:14px 26px;cursor:pointer;transition:var(--transition-standard)}
.eo-formulaire input[type=submit]:hover,.eo-formulaire button[type=submit]:hover{background:var(--encre-800)}
.eo-formulaire input[type=submit]:disabled,.eo-formulaire button[type=submit]:disabled{opacity:.45;cursor:not-allowed}

.eo-carte-encre{background:var(--surface-encre);border:1px solid var(--encre-800);border-radius:var(--rayon-lg);padding:var(--esp-9);color:var(--teal-200);font-size:var(--taille-sm)}
.eo-carte-encre .eo-surtitre{color:var(--teal-400)}
.eo-carte-encre a{color:var(--teal-200)}
.eo-carte-encre a:hover{color:var(--blanc)}
.eo-personne{border-left:var(--filet-accent);padding-left:var(--esp-5);margin-block:var(--esp-4) 0!important;line-height:var(--ligne-normale)}
.eo-personne strong{font-family:var(--font-display);font-size:var(--taille-md);font-weight:var(--poids-semibold);color:var(--blanc)}
.eo-personne__role{color:var(--teal-400)}
.eo-coordonnees{border-top:1px solid var(--encre-700);margin-block-start:var(--esp-8)!important;padding-top:var(--esp-7);display:grid!important;grid-template-columns:15px 1fr;gap:var(--esp-5) var(--esp-4);align-items:start}
.eo-coordonnees>*{margin:0!important}
.eo-coordonnees .eo-icone{color:var(--teal-400);margin-top:2px!important}

/* =========================================================================
   8. Mobile et accessibilité
   ========================================================================= */
@media (max-width:782px){
  .eo-colonnes-larges{gap:var(--esp-9)!important}
  .eo-pied__colonnes{gap:var(--esp-8)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
/* Contact Form 7 — charte Epure Ops */
.eo-cf7{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.eo-cf7 p{margin:0}.eo-cf7 br{display:none}
.eo-champ{display:flex;flex-direction:column;gap:8px;min-width:0}
.eo-champ--large{grid-column:1/-1}
.eo-champ label{font-family:var(--font-display);font-size:12px;font-weight:500;color:var(--text-titre);margin:0}
.eo-requis{color:var(--teal-700)}
.eo-aide{font-size:11px;color:var(--text-tertiaire)}
.eo-cf7 .wpcf7-form-control-wrap{display:block}
.eo-cf7 input[type=text],.eo-cf7 input[type=email],.eo-cf7 input[type=tel],.eo-cf7 select,.eo-cf7 textarea{
  width:100%;font:inherit;font-size:13px;color:var(--text-titre);background:#fff;
  border:1px solid var(--bordure-champ);border-radius:var(--rayon-md);padding:11px 12px;
  transition:border-color .16s,box-shadow .16s}
.eo-cf7 select{appearance:none;padding-right:36px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235c6470' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}
.eo-cf7 textarea{min-height:130px;resize:vertical;line-height:1.5}
.eo-cf7 ::placeholder{color:var(--encre-300)}
.eo-cf7 input:hover,.eo-cf7 select:hover,.eo-cf7 textarea:hover{border-color:var(--gris-400)}
.eo-cf7 input:focus,.eo-cf7 select:focus,.eo-cf7 textarea:focus{outline:none;border-color:var(--teal-700);box-shadow:var(--ombre-focus)}
/* Champ en erreur */
.eo-cf7 .wpcf7-not-valid{border-color:var(--erreur-700)!important;background:var(--erreur-100)}
.eo-cf7 .wpcf7-not-valid-tip{font-size:11px;color:var(--erreur-700);margin-top:6px}
/* Consentement */
.eo-consentement{font-size:13px;line-height:1.5;color:var(--text-body)}
.eo-consentement label{display:flex;gap:12px;align-items:flex-start;font-family:inherit;font-weight:400;cursor:pointer}
.eo-consentement input[type=checkbox]{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--teal-700)}
.eo-consentement a{color:var(--text-accent);text-decoration:underline}
/* Bouton */
.eo-envoi{flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px}
.eo-cf7 .wpcf7-submit{font-family:var(--font-display);font-size:15px;font-weight:500;letter-spacing:.02em;
  color:#fff;background:var(--encre-900);border:1px solid var(--encre-900);border-radius:var(--rayon-md);
  padding:14px 48px 14px 26px;cursor:pointer;transition:background .16s,opacity .16s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 22px center}
.eo-cf7 .wpcf7-submit:hover{background-color:var(--encre-800)}
.eo-cf7 .wpcf7-submit:disabled{opacity:.45;cursor:not-allowed}
.wpcf7 .wpcf7-spinner{margin:0 0 0 8px;background-color:var(--teal-700)}
/* Message après envoi */
.wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:14px 16px;border-radius:var(--rayon-md);font-size:13px;border:1px solid}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--succes-700);background:var(--succes-100);color:var(--succes-700)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:var(--alerte-700);background:var(--alerte-100);color:var(--alerte-700)}
.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:var(--erreur-700);background:var(--erreur-100);color:var(--erreur-700)}
@media (max-width:600px){.eo-cf7{grid-template-columns:1fr}}

/* =========================================================================
   9. Pages secteurs (industrie, distribution, services, transport, négoce)
   ========================================================================= */
.eo-section>.eo-secteur__titre,.eo-section>.eo-secteur__chapeau{
  margin-left:max(0px,calc((100% - 1160px) / 2))!important;margin-right:auto!important}
.eo-secteur__titre{max-width:900px;margin-block:var(--esp-4) var(--esp-7)!important}
.eo-secteur__chapeau{font-size:var(--taille-lg);max-width:760px}
.eo-secteur__actions{margin-block-start:var(--esp-9)!important;gap:var(--esp-4)}

/* Fil d'Ariane */
.eo-fil{font-size:var(--taille-xs);color:var(--text-tertiaire);margin-block:0 var(--esp-10)!important;display:flex;flex-wrap:wrap;gap:var(--esp-3)}
.eo-fil a{color:var(--text-secondaire)}
.eo-fil a:hover{color:var(--text-accent)}

/* Grilles de cartes */
.eo-grille-2.eo-grille-suite{margin-block-start:var(--gouttiere)!important}
.eo-section .wp-block-column.is-style-carte>*{margin-block:0}
.eo-section .wp-block-column.is-style-carte>*+*{margin-block-start:var(--esp-4)}
.eo-section .wp-block-column.is-style-carte>h3{margin-block-start:var(--esp-6)}
.eo-secteur-enjeu{border-top:var(--filet-accent)!important}
.eo-secteur-enjeu>h3:first-child{margin-block-start:0!important}

/* Indicateurs */
ul.eo-kpis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--esp-4)}
ul.eo-kpis li{position:relative;background:var(--surface-accent-douce);border-radius:var(--rayon-lg);padding:var(--esp-6) var(--esp-6) var(--esp-6) calc(var(--esp-6) + 18px);
  font-family:var(--font-display);font-size:var(--taille-sm);font-weight:var(--poids-medium);line-height:var(--ligne-titre);color:var(--text-titre)}
ul.eo-kpis li::before{content:"";position:absolute;left:var(--esp-6);top:calc(var(--esp-6) + .45em);width:8px;height:2px;background:var(--teal-700)}

/* FAQ */
.eo-faq{display:flex;flex-direction:column;gap:var(--esp-4)}
.eo-faq>*{margin:0!important}
.eo-faq__item{background:var(--surface-card);border:1px solid var(--bordure-discrete);border-radius:var(--rayon-lg);transition:var(--transition-standard)}
.eo-faq__item:hover{border-color:var(--gris-300)}
.eo-faq__item[open]{box-shadow:var(--ombre-2)}
.eo-faq__item summary{cursor:pointer;list-style:none;position:relative;padding:var(--esp-7) calc(var(--esp-8) + 24px) var(--esp-7) var(--esp-8);
  font-family:var(--font-display);font-size:var(--taille-md);font-weight:var(--poids-medium);color:var(--text-titre);line-height:var(--ligne-titre)}
.eo-faq__item summary::-webkit-details-marker{display:none}
.eo-faq__item summary::after{content:"+";position:absolute;right:var(--esp-8);top:50%;transform:translateY(-50%);font-size:22px;font-weight:var(--poids-light);color:var(--text-accent)}
.eo-faq__item[open] summary::after{content:"–"}
.eo-faq__item>p{margin:0!important;padding:0 var(--esp-8) var(--esp-7)}

/* Maillage entre secteurs */
.eo-secteur-autres{border-top:1px solid var(--bordure-discrete)}
.eo-secteur-autres__titre{font-size:var(--taille-lg)!important;font-weight:var(--poids-medium)!important}
.eo-secteur-autres .eo-etiquettes{margin-block-start:var(--esp-6)!important}
a.eo-etiquette{color:var(--text-body);transition:var(--transition-standard)}
a.eo-etiquette:hover{border-color:var(--teal-700);color:var(--text-accent)}
a.eo-etiquette.is-actif:hover{background:var(--encre-800);color:var(--blanc)}

@media (max-width:782px){
  .eo-grille-2.eo-grille-suite{margin-block-start:var(--gouttiere)!important}
  .eo-fil{margin-block-end:var(--esp-8)!important}
}
@media (max-width:600px){
  ul.eo-kpis{grid-template-columns:1fr}
  .eo-secteur__chapeau{font-size:var(--taille-md)}
}
