/* ==========================================================================
   EventSoft — es-content.css : contenu des pages internes dans l'apparence « Régie »
   (blocs Gutenberg, Spectra, bouton intrapole-button, Bootstrap et classes du thème
   dans le contenu, gabarits single-secteurs / category / single-post / 404, shortcodes
   legacy [clients-par-secteur] [clients-supl-par-secteur] [wall-temoignages], popins).
   Chargé après default.css et es-ui.css : utilise les tokens et composants partagés
   d'es-ui.css sans les redéfinir.

   Portée et spécificité :
   - tout est préfixé par .es-ui (classe du <body>) ;
   - règles d'ÉLÉMENTS (h1-h6, a, p…) en :where(.es-ui) = 0,0,1 : elles battent
     default.css et Bootstrap par l'ordre de chargement, mais cèdent aux classes des blocs,
     de Spectra, aux presets theme.json et aux <style> des blocs HTML (esg-*, wol-*, esv-*) ;
   - elles excluent les racines de la nouvelle UI par :where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)) avec
     R = .topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section
     (+ body>header, body>footer par sécurité) ;
   - composants : .es-ui .x (≥ 0,2,0) pour battre a:hover/a:focus et le legacy ;
   - !important seulement contre les styles inline de l'éditeur, les marges !important de
     is-layout-constrained et les presets has-* (en !important dans global-styles) ;
   - body reste en display:flex (default.css) : les order du pré-footer, de .clients-supl,
     #prefooter-demo et du footer ne sont pas touchés.
   ========================================================================== */

/* 1. Base du contenu ======================================================= */
.es-ui{background:var(--bg);color:var(--ink-700);font-family:var(--font-body);line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Titres : Plus Jakarta Sans, graisses et échelle de la home. Pas de couleur sur h1 (hérite,
   comme avant : titres blancs des en-têtes) ; h2-h5 passent du #2c324b de default.css à ink-900 */
:where(.es-ui) :is(h1,h2,h3,h4,h5,h6):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-family:var(--font-display);text-wrap:balance}
:where(.es-ui) :is(h2,h3,h4,h5):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){color:var(--ink-900)}
:where(.es-ui) h1:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-size:clamp(2rem,1.25rem + 2.5vw,3.25rem);font-weight:700;line-height:1.1;letter-spacing:-.022em}
:where(.es-ui) h2:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-size:var(--fs-h2);font-weight:700;line-height:1.15;letter-spacing:-.02em}
:where(.es-ui) h3:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);font-weight:600;line-height:1.3;letter-spacing:-.01em}
:where(.es-ui) h4:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-size:1.125rem;font-weight:600;line-height:1.35;letter-spacing:0}
:where(.es-ui) :is(h5,h6):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-size:1.0625rem;font-weight:600;line-height:1.4;letter-spacing:0}
/* <strong> dans un titre : Jakarta n'est chargée que jusqu'à 800 */
:where(.es-ui) :is(h1,h2,h3,h4,h5,h6) :is(strong,b):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-weight:800}
:where(.es-ui) :is(h3,h4,h5,h6) :is(strong,b):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-weight:700}
:where(.es-ui) :is(strong,b):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){font-weight:600}
:where(.es-ui) p:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){text-wrap:pretty}
/* Paragraphes-titres (grands corps de l'éditeur) dans les cartes et les en-têtes : police des titres */
.es-ui :is(.wp-block-column.has-background > p,.wp-block-cover p):is(.has-large-font-size,.has-x-large-font-size){font-family:var(--font-display);line-height:1.2;letter-spacing:-.015em;text-wrap:balance}
/* Mobile : les tailles « large / x-large » de l'éditeur (36 / 42 px) ramenées à l'échelle du H1 / H2 de la home */
@media (max-width:767px){
  .es-ui :is(h1,h2,.wp-block-cover p).has-x-large-font-size{font-size:var(--fs-display)!important}
  .es-ui :is(h1,h2,.wp-block-cover p,.wp-block-column.has-background > p).has-large-font-size{font-size:var(--fs-h2)!important}
}

/* Liens : bleu de marque (5,3:1), survol plus foncé (le #3281d9 de default.css ne fait que 3,9:1) */
:where(.es-ui) a:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){color:var(--brand-blue)}
:where(.es-ui) a:is(:hover,:focus):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){color:var(--brand-blue-700)}
/* Liens dans le texte : soulignés (WCAG 1.4.1 : le bleu seul ne se distingue pas assez du texte) */
:where(.es-ui) :is(p,li,dd,td,th,figcaption,blockquote) a:where(:not([class]),[class=""]):where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:where(.es-ui) :is(p,li,dd,td,th,figcaption,blockquote) a:where(:not([class]),[class=""]):hover:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){text-decoration-thickness:2px}

/* Focus visible (Bootstrap retire l'anneau des .btn et impose celui du navigateur sur button) */
.es-ui :focus-visible:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){outline:var(--focus-w) solid var(--focus);outline-offset:var(--focus-off)}
.es-ui :is(.wp-block-button__link,.intrapole-button,.btn-link):focus-visible{outline:var(--focus-w) solid var(--focus);outline-offset:var(--focus-off);box-shadow:none}
.es-ui :is(.wp-block-cover:not(.is-light),.compo-prefooter,#prefooter-demo,.has-blue-hard-background-color,
  .has-blue-medium-background-color,.has-black-background-color,.lightbox) :focus-visible{outline-color:var(--focus-dark)}

/* Listes, citation, surlignage */
:where(.es-ui) :is(.wp-block-list,.wp-block-details ul) > li::marker{color:var(--brand-blue)}
:where(.es-ui) .wp-block-list > li + li{margin-top:.25em}
.es-ui .wp-block-quote{margin:var(--s-8) 0;padding:var(--s-2) 0 var(--s-2) var(--s-6);border-left:3px solid var(--brand-blue);
  font-family:var(--font-display);font-size:var(--fs-lead);font-weight:600;line-height:1.5;color:var(--ink-900)}
.es-ui .wp-block-quote cite{display:block;margin-top:var(--s-3);font:500 var(--fs-small)/1.4 var(--font-body);color:var(--ink-500);font-style:normal}
.es-ui mark:not([class*="-background-color"]):not([style*="background"]){background:var(--highlight);color:inherit}

/* 2. Mise en page ========================================================== */
/* Gouttière latérale : les blocs de texte des groupes « contraints » ne touchent plus les bords
   (WordPress centre déjà ces enfants par des marges auto !important ; la largeur max reste celle du groupe) */
.es-ui .is-layout-constrained > :is(p,h1,h2,h3,h4,h5,h6,ul,ol,details,.wp-block-buttons,.wp-block-columns,.wp-block-quote,
  .wp-block-media-text,.wp-block-uagb-icon-list,.wp-block-uagb-info-box,.wp-block-uagb-faq):not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright){width:min(100%, 100vw - 2*var(--gutter)) /* seulement près des bords de l'écran : pas de retrait dans une carte ni sous un titre pleine largeur */}

/* .section (gabarits et shortcodes du thème) : espacement vertical de la nouvelle home */
.es-ui .section{padding-block:var(--section-y)}
.es-ui .section-title{margin-bottom:var(--s-10)}
.es-ui .section-title small{color:var(--ink-500)}

/* Colonnes Gutenberg sur fond = cartes (cas clients, tarifs, avantages, contact…) */
.es-ui .wp-block-column.has-background{border-radius:var(--r-lg);border:1px solid var(--line);
  box-shadow:var(--sh-sm)!important /* ombre inline rgba(0,0,0,.2) de l'éditeur */}
/* mots longs (Inter est plus large que Rubik) : retour à la ligne plutôt que débordement */
.es-ui :is(.wp-block-column,.wp-block-uagb-container,.is-layout-grid > .wp-block-group) :is(h1,h2,h3,h4,h5,h6,p){overflow-wrap:break-word}
.es-ui .wp-block-column.has-background:not(.has-white-background-color){border-color:transparent}
.es-ui .wp-block-column.has-background :is(.wp-block-uagb-image,.wp-block-image) img{border-radius:var(--r-sm)}
/* Groupes sur fond imbriqués dans une colonne ou un autre fond : encadrés arrondis (les bandes pleine largeur restent droites) */
.es-ui :is(.wp-block-column,.wp-block-columns) .wp-block-group.has-background,
.es-ui .wp-block-group.has-background .wp-block-group.has-background:not(:has(> .wp-block-group,> .wp-block-columns)),
.es-ui .arrondi-fond{border-radius:var(--r-lg)}
/* … et ne touchent pas les bords de l'écran (nouveautés, articles) */
.es-ui .wp-block-group.has-background.is-layout-constrained > .wp-block-group.has-background:not(.alignfull):not(.compo-prefooter *):not(.audit-it *){width:calc(100% - 2*var(--gutter))}
@media (max-width:767px){
  .es-ui .wp-block-group.has-background.is-layout-constrained > .wp-block-group.has-background:not(.alignfull):not(.compo-prefooter *):not(.audit-it *){padding-inline:var(--s-2)!important /* 36 px inline */}
}

/* Images de contenu arrondies (le style « arrondi » de l'éditeur et les rayons inline gardent la main) */
.es-ui :is(.wp-block-image,.wp-block-media-text__media) :where(img){border-radius:var(--r-md)}
.es-ui .wp-block-image :where(figcaption){margin-top:var(--s-2);font-size:var(--fs-small);color:var(--ink-500);text-align:center}
/* Vidéos YouTube et vidéo native du contenu */
.es-ui :is(.wp-block-column,.wp-block-group,.entry-content) > iframe[src*="youtube"],
.es-ui .wp-block-video video{border-radius:var(--r-md)!important; /* rayon inline 4px */
  max-width:100%}
/* iframe réduite par max-width : hauteur au ratio 16/9 plutôt que l'attribut height (bandes noires) */
.es-ui :is(.wp-block-column,.wp-block-group,.entry-content) > iframe[src*="youtube"]{height:auto;aspect-ratio:16/9}

/* 3. En-têtes et bandeaux : covers → panneaux arrondis du hero ============== */
/* Toute cover qui n'est ni imbriquée (cover, colonne, media-text) ni le personnage du pré-footer */
.es-ui .wp-block-cover:not(:is(.wp-block-cover,.wp-block-column,.wp-block-media-text,.footer-banner-img-container) *){
  border-radius:var(--r-panel);overflow:clip;isolation:isolate}
/* enfant direct du body ou de main.es-main (header.php), d'un article ou d'une landing : retrait latéral du panneau */
.es-ui > .wp-block-cover,.es-ui :is(.es-main,.entry-content,.landing-content) > .wp-block-cover{margin-inline:var(--panel-inset)}
/* enfant d'un groupe contraint (marges auto !important de WordPress) : même retrait par la largeur */
.es-ui .is-layout-constrained > .wp-block-cover:not(:is(.wp-block-cover,.wp-block-column,.wp-block-media-text,.footer-banner-img-container) *){
  width:calc(100% - 2*var(--panel-inset));margin-inline:auto!important}
/* covers dans une colonne : carte */
.es-ui :is(.wp-block-column,.wp-block-media-text) .wp-block-cover{border-radius:var(--r-lg);overflow:clip}
/* Teinte de marque sur les photos des covers à texte blanc (sombres, ou claires mais titrées en blanc) : le dégradé 45° en « produit » */
.es-ui .wp-block-cover:is(:not(.is-light),:has(.wp-block-cover__inner-container .has-white-color)):not(:is(.wp-block-cover,.wp-block-column,.wp-block-media-text,.footer-banner-img-container) *):not(:has(.wp-block-cover__inner-container :is(h1,h2).has-black-color))::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--grad-brand);mix-blend-mode:multiply;opacity:.55}
.es-ui .wp-block-cover > .wp-block-cover__inner-container{position:relative;z-index:2}
/* Titre principal d'une cover sans taille imposée : échelle du H1 du hero */
.es-ui .wp-block-cover h1:not([style*="font-size"]):not([class*="-font-size"]){font-size:var(--fs-display);line-height:1.06;letter-spacing:-.02em}

/* Bandeaux de titre à fond codé dans l'éditeur (FAQ, landing SEA, landing démo, cas clients) → panneau dégradé */
:is(.es-ui .wp-block-group.has-background:is([style*="background-color:#02245d"],[style*="linear-gradient(45deg,rgb(50,56,170)"],[style*="linear-gradient(135deg,rgb(50,76,184)"]),.es-ui > .wp-block-group.has-blue-hard-background-color,.es-ui .es-main > .wp-block-group.has-blue-hard-background-color){
  position:relative;isolation:isolate;overflow:clip;margin-top:8px;border-radius:var(--r-panel);
  margin-inline:var(--panel-inset)!important; /* marges auto !important de is-layout-constrained */
  background:var(--grad-hero-veil),var(--grad-hero-light),var(--grad-brand)!important /* fond inline */}
@media (max-width:1023px){
  :is(.es-ui .wp-block-group.has-background:is([style*="background-color:#02245d"],[style*="linear-gradient(45deg,rgb(50,56,170)"],[style*="linear-gradient(135deg,rgb(50,76,184)"]),.es-ui > .wp-block-group.has-blue-hard-background-color,.es-ui .es-main > .wp-block-group.has-blue-hard-background-color){
    background:var(--grad-hero-light),var(--grad-brand-mobile)!important}
}
/* Mobile : panneaux à 8 px des bords, rayon 24 px (comme le CTA final de la home) */
@media (max-width:767px){
  .es-ui > .wp-block-cover,.es-ui :is(.es-main,.entry-content,.landing-content) > .wp-block-cover{margin-inline:8px}
  .es-ui .is-layout-constrained > .wp-block-cover:not(:is(.wp-block-cover,.wp-block-column,.wp-block-media-text,.footer-banner-img-container) *){width:calc(100% - 16px)}
  .es-ui .wp-block-cover:not(:is(.wp-block-cover,.wp-block-column,.wp-block-media-text,.footer-banner-img-container) *){border-radius:var(--r-xl)}
  :is(.es-ui .wp-block-group.has-background:is([style*="background-color:#02245d"],[style*="linear-gradient(45deg,rgb(50,56,170)"],[style*="linear-gradient(135deg,rgb(50,76,184)"]),.es-ui > .wp-block-group.has-blue-hard-background-color,.es-ui .es-main > .wp-block-group.has-blue-hard-background-color){
    margin-inline:8px!important;border-radius:var(--r-xl)}
}

/* 4. Boutons ================================================================ */
/* 4.1 Socle commun = .es-btn : forme, typo, casse de phrase (rayons et graisse inline neutralisés ; la capitalisation
   imposée en inline par l'éditeur est gardée : elle masque parfois la casse réelle du texte saisi) */
.es-ui :is(.wp-block-button__link,.intrapole-button,.btn-link,:where(.btn-cta) a){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;
  border-radius:var(--r-btn)!important;border:1px solid transparent;
  font-family:var(--font-body)!important;font-weight:600!important;font-style:normal!important;line-height:1.2;letter-spacing:-.005em;
  text-transform:none;text-decoration:none!important;text-align:center;white-space:normal;cursor:pointer;
  transition:background-color .16s var(--ease-out),color .16s,border-color .16s,box-shadow .16s,transform .16s}
.es-ui .wp-block-button__link{font-size:1rem}
.es-ui .wp-block-button__link.has-small-font-size,.es-ui .wp-block-button.has-small-font-size .wp-block-button__link{font-size:var(--fs-ui)!important}
.es-ui .wp-block-buttons{gap:12px}
.es-ui .wp-block-button.has-custom-width > .wp-block-button__link{display:flex;width:100%;padding-inline:12px}
/* bouton maison intrapole-button : bloc (largeur inline conservée), Inter au lieu de Rubik */
.es-ui .intrapole-button{display:flex;font-size:var(--fs-ui);border-width:1.5px;margin-block:var(--s-2)}

/* 4.2 Primaire plein = .es-btn--primary (bleu de marque, texte blanc 5,3:1 ; blue-medium #3281d9 n'offrait que 3,9:1) */
.es-ui .wp-block-button:not(.is-style-outline):not(.tag) > .wp-block-button__link:is(:not(.has-background),.has-blue-hard-background-color,
  .has-blue-medium-background-color,.has-button-gradient-gradient-background,[style*="background-color:#2cb1d3"],[style*="background-color:#0a65cc"]),
.es-ui .intrapole-button:is(.has-intrapole-blue-medium-background-color,.has-intrapole-blue-hard-background-color),
.es-ui :is(.btn-link,.btn-cta a){
  background:var(--brand-blue)!important;color:#fff!important;border-color:transparent!important;box-shadow:var(--sh-cta)!important}
.es-ui .wp-block-button:not(.is-style-outline):not(.tag) > .wp-block-button__link:is(:not(.has-background),.has-blue-hard-background-color,
  .has-blue-medium-background-color,.has-button-gradient-gradient-background,[style*="background-color:#2cb1d3"],[style*="background-color:#0a65cc"]):hover,
.es-ui .intrapole-button:is(.has-intrapole-blue-medium-background-color,.has-intrapole-blue-hard-background-color):hover,
.es-ui :is(.btn-link,.btn-cta a):hover{
  background:var(--brand-blue-600)!important;color:#fff!important;transform:translateY(-1px)}
.es-ui :is(.wp-block-button__link,.intrapole-button,.btn-link):active{transform:translateY(0)}

/* 4.3 Blanc / clair = .es-btn--white (indigo sur blanc) */
.es-ui .wp-block-button:not(.tag) > .wp-block-button__link:is(.has-white-background-color,.has-gray-light-background-color,.has-blue-light-background-color),
.es-ui .intrapole-button:is(.has-intrapole-gray-light-background-color,.has-intrapole-blue-light-background-color){
  background:#fff!important;color:var(--brand-indigo-700)!important;border-color:var(--line-strong)!important;box-shadow:var(--sh-xs)!important}
.es-ui .wp-block-button:not(.tag) > .wp-block-button__link:is(.has-white-background-color,.has-gray-light-background-color,.has-blue-light-background-color):hover,
.es-ui .intrapole-button:is(.has-intrapole-gray-light-background-color,.has-intrapole-blue-light-background-color):hover{
  background:#F0F4FF!important;color:var(--brand-blue)!important;border-color:var(--brand-blue)!important;transform:translateY(-1px)}
/* sur fond sombre ou dégradé : sans bordure grise, ombre « bouton blanc » de la home */
.es-ui :is(.compo-prefooter,#prefooter-demo,.wp-block-cover:not(.is-light),.has-blue-hard-background-color,.wp-block-group[style*="linear-gradient"],.wp-block-group[style*="#02245d"])
  :is(.wp-block-button__link,.intrapole-button){border-color:transparent!important}
.es-ui :is(.compo-prefooter,#prefooter-demo,.wp-block-cover:not(.is-light),.has-blue-hard-background-color,.wp-block-group[style*="linear-gradient"],.wp-block-group[style*="#02245d"])
  :is(.wp-block-button__link.has-white-background-color,.intrapole-button.has-intrapole-gray-light-background-color){box-shadow:var(--sh-cta-white)!important}

/* 4.4 Secondaire = .es-btn--secondary (style « contour » de l'éditeur) */
.es-ui .wp-block-button.is-style-outline:not(.tag) > .wp-block-button__link{
  background:#fff!important;color:var(--ink-900)!important;border:1px solid var(--line-strong)!important;box-shadow:var(--sh-xs)}
.es-ui .wp-block-button.is-style-outline:not(.tag) > .wp-block-button__link:hover{color:var(--brand-blue)!important;border-color:var(--brand-blue)!important}

/* 4.5 Bouton ambre « La plus populaire » (tarifs) : garde sa couleur, texte encre */
.es-ui .wp-block-button__link.has-luminous-vivid-amber-background-color{color:var(--ink-900)!important;box-shadow:var(--sh-xs)}

/* 4.6 Pastilles .wp-block-button.tag (nouveautés, cas clients) = .es-tag */
.es-ui .wp-block-button.tag{width:auto}
.es-ui .wp-block-button.tag > .wp-block-button__link{display:inline-flex;width:auto;
  min-height:28px;padding:4px 12px!important;border-radius:var(--r-pill)!important;
  background:var(--blue-50)!important;color:var(--brand-blue)!important;border:1px solid var(--blue-200)!important;
  font-size:13px!important;line-height:1.2;box-shadow:none!important;transform:none!important;cursor:default}

/* 5. Cartes ================================================================= */
/* Bootstrap .card / .card.features dans le contenu (contact, à propos, formations) */
.es-ui .card:where(:not(:is(.topbar,.site-header,.nav-veil,.drawer,.site-footer,.mobilebar,.es-zoom,.es-section,body>header,body>footer) *)){border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xs)}
.es-ui .card.features{border:1px solid var(--line)!important;border-radius:var(--r-lg);box-shadow:var(--sh-sm)!important;overflow:hidden}
.es-ui .card.features::before{width:auto;height:3px;bottom:auto;right:0;background:var(--grad-brand)}
.es-ui .card.features:hover{transform:none;box-shadow:var(--sh-md)!important}
.es-ui .card-text{font-size:var(--fs-small);color:var(--ink-500)}

/* Grille de tarifs (formules) */
.es-ui .carte-tarif{border-radius:var(--r-lg)!important;border:1px solid var(--line);box-shadow:var(--sh-sm)!important;
  transition:box-shadow .2s var(--ease-out)}
.es-ui .carte-tarif::before{border-radius:inherit;background:var(--blue-50)}
.es-ui .carte-tarif:hover{box-shadow:var(--sh-md)!important}
.es-ui .carte-tarif:hover::before{opacity:.6}
.es-ui .carte-tarif:hover .wp-block-button__link:not(.has-luminous-vivid-amber-background-color){background:var(--brand-blue-600)!important;color:#fff!important}

/* Spectra : titres des info-box en Jakarta */
.es-ui .uagb-ifb-title{font-family:var(--font-display)}

/* Encart auteur des articles */
.es-ui .presentation-yoan > div{background:var(--bg-alt);border:1px solid var(--line);border-radius:200px var(--r-xl) var(--r-xl) 200px}
.es-ui .presentation-yoan figure{border-color:#fff;box-shadow:var(--sh-sm)}
@media (max-width:600px){.es-ui .presentation-yoan > div{border-radius:90px var(--r-xl) var(--r-xl) var(--r-xl)}}

/* 6. FAQ : wp-block-details → accordéon de la nouvelle home ================= */
.es-ui .wp-block-details{padding:0!important; /* marges intérieures inline (jusqu'à spacing-70) */
  margin-block:0!important;border-bottom:1px solid var(--line);font-size:1rem!important;color:var(--ink-700)}
/* filet du haut sous le titre de la liste ; une question par groupe (tarifs) : groupes sans marge intérieure */
.es-ui :is(h1,h2,h3,h4,p) + .wp-block-details{border-top:1px solid var(--line)}
.es-ui .wp-block-group:has(> .wp-block-details:only-child){padding-block:0!important;margin-block:0}
.es-ui .wp-block-details > summary{position:relative;display:block;list-style:none;padding:20px 52px 20px 0;cursor:pointer;
  font:600 17px/1.4 var(--font-body);color:var(--ink-900);transition:color .2s;border-radius:4px}
.es-ui .wp-block-details > summary::-webkit-details-marker{display:none}
.es-ui .wp-block-details > summary :is(strong,b){font-weight:inherit}
.es-ui .wp-block-details > summary:hover{color:var(--brand-blue)}
/* « + » de .faq__icon : rond de 32 px, deux barres, pivote de 45° à l'ouverture */
.es-ui .wp-block-details > summary::before,.es-ui .wp-block-details > summary::after{content:"";position:absolute;top:50%;right:0;
  transition:transform .2s var(--ease-out),background-color .2s}
.es-ui .wp-block-details > summary::before{width:32px;height:32px;margin-top:-16px;border-radius:50%;background:var(--bg-alt)}
.es-ui :is(.has-gray-light-background-color,.light-bg,.has-blue-light-background-color) .wp-block-details > summary::before{background:#fff}
.es-ui .wp-block-details > summary::after{right:9px;width:14px;height:14px;margin-top:-7px;
  background:linear-gradient(var(--ink-700),var(--ink-700)) center/14px 2px no-repeat,linear-gradient(var(--ink-700),var(--ink-700)) center/2px 14px no-repeat}
.es-ui .wp-block-details[open] > summary::before{background:var(--brand-blue)}
.es-ui .wp-block-details[open] > summary::after{transform:rotate(45deg);
  background:linear-gradient(#fff,#fff) center/14px 2px no-repeat,linear-gradient(#fff,#fff) center/2px 14px no-repeat}
.es-ui .wp-block-details > :not(summary){max-width:68ch;margin:0 0 var(--s-4);padding-right:56px;font-size:1rem;line-height:1.65}
.es-ui .wp-block-details > :last-child:not(summary){margin-bottom:var(--s-6)}
.es-ui .wp-block-details a:not([class]){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
/* ouverture animée (amélioration progressive, comme la home) */
.es-ui .wp-block-details::details-content{block-size:0;overflow:clip;transition:block-size .26s var(--ease-out),content-visibility .26s allow-discrete}
.es-ui .wp-block-details[open]::details-content{block-size:auto}
@media (max-width:1023px){
  .es-ui .wp-block-details > summary{min-height:56px;padding:18px 44px 18px 0;font-size:16px}
  .es-ui .wp-block-details > summary::before{width:28px;height:28px;margin-top:-14px}
  .es-ui .wp-block-details > summary::after{right:7px}
  .es-ui .wp-block-details > :not(summary){padding-right:0}
}
/* FAQ Spectra (landing démo, sur le dégradé) : cartes blanches arrondies, typo de la home */
.es-ui .wp-block-uagb-faq .uagb-faq-item{border-color:transparent!important;border-radius:var(--r-md)!important;box-shadow:var(--sh-sm);overflow:hidden}
.es-ui .wp-block-uagb-faq .uagb-question{font-family:var(--font-body)!important;font-weight:600!important}
.es-ui .wp-block-uagb-faq .uagb-faq-content{line-height:1.65}

/* 7. Pré-footer « Découvrez EventSoft » (bloc synchronisé 633/3212) → CTA final ======= */
/* :has(.is-layout-grid) = la version standard du bloc ; la variante des landings (FAQ + personnage, déjà
   dans le bandeau dégradé de la page) garde sa mise en page */
.es-ui .compo-prefooter:has(.is-layout-grid){padding-block:var(--section-y-tight)!important;background:var(--bg)}
.es-ui .compo-prefooter:has(.is-layout-grid) .audit-it,
.es-ui .compo-prefooter:has(.is-layout-grid) .audit-it > .wp-block-group{background:none!important;margin:0!important;padding:0!important}
/* le panneau : fond inline #3e5eb0 → dégradé de marque arrondi, ombre lg, grille masquée */
.es-ui .compo-prefooter:has(.is-layout-grid) .audit-it > .wp-block-group > .wp-block-group{
  position:relative;isolation:isolate;overflow:clip;max-width:calc(var(--container) + 128px);
  margin:0 max(var(--panel-inset),(100% - var(--container) - 128px)/2)!important;padding:56px 64px 0!important;
  border-radius:var(--r-panel);box-shadow:var(--sh-lg);color:#fff;
  background:var(--grad-hero-veil),var(--grad-hero-light),var(--grad-brand)!important}
.es-ui .compo-prefooter:has(.is-layout-grid) .audit-it > .wp-block-group > .wp-block-group::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:var(--grid-pattern);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 30%,transparent 75%)}
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid{align-items:end;gap:var(--s-8)}
/* colonne texte : pastille-logo, titre en H2 de panneau, accroche, bouton blanc */
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid > .wp-block-group:first-child{margin:0!important;padding:0 0 56px!important;align-self:center}
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid > .wp-block-group:first-child > *{width:auto;max-width:none}
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid .wp-block-image img{width:56px!important;border-radius:16px;box-shadow:var(--sh-cta-white)}
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid .wp-block-image + p{margin:var(--s-4) 0 0!important;max-width:16ch;
  font:700 var(--fs-h2-panel)/1.12 var(--font-display)!important;letter-spacing:-.025em;color:#fff!important;text-wrap:balance}
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid .wp-block-image + p sup{font-size:.6em;vertical-align:.55em;line-height:0;top:0 /* Bootstrap : sup{position:relative;top:-.5em} */}
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid .wp-block-image + p + p{max-width:44ch;margin:var(--s-4) 0 0!important;
  font-size:var(--fs-lead)!important;line-height:1.55;color:var(--on-grad-2)!important}
.es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid p:empty{display:none}
.es-ui .compo-prefooter:has(.is-layout-grid) .intrapole-button{float:none;width:auto!important;display:inline-flex;margin:28px 0 0;min-height:52px;padding-inline:24px;font-size:1rem}
/* colonne visuel : le personnage repose sur le bord bas du panneau, disque lumineux derrière */
.es-ui .compo-prefooter:has(.is-layout-grid) .footer-banner-img-container{align-self:end;padding:0!important;margin:0!important}
.es-ui .compo-prefooter:has(.is-layout-grid) .footer-banner-img-container .wp-block-cover{margin:0!important;min-height:400px!important;overflow:visible}
.es-ui .compo-prefooter:has(.is-layout-grid) .footer-banner-img-container .wp-block-cover::before{content:"";position:absolute;left:50%;top:55%;width:340px;height:340px;
  transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.16),transparent);pointer-events:none}
.es-ui .compo-prefooter:has(.is-layout-grid) .footer-banner-img-container .wp-block-cover__image-background{object-fit:contain!important;object-position:50% 100%!important}
@media (max-width:1023px){
  .es-ui .compo-prefooter:has(.is-layout-grid) .audit-it > .wp-block-group > .wp-block-group{padding:40px 20px 0!important;
    background:var(--grad-hero-light),var(--grad-brand-mobile)!important}
  .es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid{grid-template-columns:1fr!important}
  .es-ui .compo-prefooter:has(.is-layout-grid) .is-layout-grid > .wp-block-group:first-child{padding-bottom:40px!important}
  .es-ui .compo-prefooter:has(.is-layout-grid) .intrapole-button{display:flex;width:100%!important}
  .es-ui .compo-prefooter:has(.is-layout-grid) .footer-banner-img-container .wp-block-cover{min-height:260px!important}
}
@media (max-width:767px){
  .es-ui .compo-prefooter:has(.is-layout-grid) .audit-it > .wp-block-group > .wp-block-group{margin-inline:8px!important;border-radius:var(--r-xl)}
}
/* Pré-footer EN (#prefooter-demo, dégradé inline) */
.es-ui #prefooter-demo{margin:var(--section-y-tight) var(--panel-inset)!important;border-radius:var(--r-panel);box-shadow:var(--sh-lg);
  background:var(--grad-hero-veil),var(--grad-hero-light),var(--grad-brand)!important;isolation:isolate}
.es-ui #prefooter-demo::after{display:none}
.es-ui #prefooter-demo :is(h2,h3,p){color:#fff}
@media (max-width:1023px){.es-ui #prefooter-demo{background:var(--grad-hero-light),var(--grad-brand-mobile)!important}}
@media (max-width:767px){.es-ui #prefooter-demo{margin-inline:8px!important;border-radius:var(--r-xl)}}

/* 8. Gabarits ============================================================== */
/* 8.1 single-secteurs.php : sections de fonctionnalités (alternance light-bg / reverse-col conservée) */
.es-ui .section > .container > .row > [class*="col-"] > h2:first-child{margin-bottom:var(--s-4)}
.es-ui .section > .container > .row > [class*="col-"] > .img-fluid{border-radius:var(--r-md);filter:drop-shadow(0 12px 24px rgba(15,26,46,.12))}
.es-ui .section > .container > .row .intrapole-button{display:inline-flex;margin-top:var(--s-4)}

/* 8.2 category.php : grille d'articles en cartes cliquables (lien étiré .post-link) */
.es-ui #section-blog{max-width:calc(var(--container) + 2*var(--gutter));margin:var(--section-y-tight) auto var(--s-10);padding:0 var(--gutter)}
.es-ui #section-blog > div{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--s-6)}
.es-ui #section-blog article{display:flex;flex-direction:column;max-width:none;margin:0;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xs);
  transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}
.es-ui #section-blog article:is(:hover,:focus-within){transform:translateY(-2px);box-shadow:var(--sh-md)}
.es-ui #section-blog .post-link{z-index:1;border-radius:inherit}
.es-ui #section-blog .post-link:focus-visible{outline-offset:-3px}
.es-ui #section-blog .post-img{aspect-ratio:16/9;object-fit:cover;background:var(--bg-alt)}
.es-ui #section-blog .post-title{margin:var(--s-5) var(--s-6) 0;font:600 var(--fs-h3)/1.3 var(--font-display);letter-spacing:-.01em;color:var(--ink-900)}
.es-ui #section-blog article:hover .post-title{color:var(--brand-blue)}
.es-ui #section-blog .entry-content{margin:var(--s-2) var(--s-6) 0;color:var(--ink-500);font-size:var(--fs-small);line-height:1.55}
.es-ui #section-blog .entry-content p{margin:0}
.es-ui #section-blog article > :last-child{margin-bottom:var(--s-6)}
/* pagination */
.es-ui #section-blog + .navigation.pagination{display:flex;margin:0 0 var(--section-y)}
.es-ui #section-blog + .navigation.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.es-ui #section-blog + .navigation.pagination .nav-links > *{display:inline-grid;place-items:center;min-width:44px;min-height:44px;margin:0;padding:0 14px;
  border:1px solid var(--line);border-radius:var(--r-btn);background:#fff;color:var(--ink-700);font:600 var(--fs-ui)/1 var(--font-body)}
.es-ui #section-blog + .navigation.pagination .nav-links > .current{background:var(--brand-blue)!important;border-color:var(--brand-blue);color:#fff}
.es-ui #section-blog + .navigation.pagination .nav-links > a:hover{background:var(--bg-alt);border-color:var(--line-strong);color:var(--brand-blue)}

/* 8.3 404.php */
.es-ui .section-404{max-width:var(--container);margin:var(--section-y) auto;padding:0 var(--gutter);align-items:center}
.es-ui .section-404 > div{top:0}
.es-ui .section-404 > div .txt{margin-bottom:var(--s-8);font-size:var(--fs-h2);font-weight:700;line-height:1.15;color:var(--ink-900)}
.es-ui .section-404 .btn-link{align-self:flex-start;min-height:52px;padding-inline:24px;font-size:1rem}
.es-ui .section-404 + a img{display:block;max-width:calc(100% - 2*var(--gutter));height:auto;margin-inline:auto;border-radius:var(--r-lg)}

/* 9. Shortcodes legacy et popins ============================================ */
/* [clients-par-secteur] : bloc client cliquable */
.es-ui .section.client-link > a:focus-visible{outline-offset:-6px}
.es-ui .section.client-link img{border-radius:var(--r-md)}
.es-ui .section.client-link h3{transition:color .2s}
.es-ui .section.client-link:hover h3{color:var(--brand-blue)}
/* [clients-supl-par-secteur] : logos en pastilles blanches (en couleur : plusieurs logos clairs disparaîtraient en gris) */
.es-ui #clients-supl{gap:var(--s-4)}
.es-ui #clients-supl li{flex:0 1 clamp(140px,42vw,200px);min-width:0;min-height:96px;margin:0;padding:var(--s-4);background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-xs)}
.es-ui #clients-supl li img{max-height:64px;width:auto}
/* [wall-temoignages] : son <style> inline garde la mise en page ; rayons alignés */
.es-ui .wol-card{border-radius:var(--r-lg)}

/* Popins legacy (#exitpopin, #classic-popin) : voile, carte arrondie, bouton fermer rond de 40 px */
.es-ui .lightbox{background:rgba(15,26,46,.55)}
.es-ui .lightbox .box{margin:clamp(16px,6vh,64px) auto;padding:8px;border-radius:var(--r-xl);box-shadow:var(--sh-lg);max-width:calc(100% - 32px)}
.es-ui .lightbox .box :is(img,iframe){display:block;border-radius:var(--r-md)}
.es-ui .lightbox .close{top:12px;right:12px;z-index:2;display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;
  border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink-700);font:600 16px/1 var(--font-body);box-shadow:var(--sh-sm);text-transform:none;text-shadow:none;opacity:1 /* Bootstrap .close : .5 */}
.es-ui .lightbox .close:is(:hover,:focus){border-color:var(--line-strong);color:var(--ink-900);opacity:1}
/* Les <style> des template-parts visent #exitpopin / #classic-popin (1,1,0) : :is(#…) monte à 1,2,0 */
.es-ui :is(#exitpopin,#classic-popin) .close{position:absolute;display:grid;margin:0;padding:0;right:12px;font-size:16px;color:var(--ink-700)}
.es-ui :is(#exitpopin,#classic-popin) .close:is(:hover,:focus){color:var(--ink-900)}
.es-ui #classic-popin .box iframe{max-width:100%;height:auto;aspect-ratio:16/9}
@media (max-width:560px){.es-ui :is(#exitpopin,#classic-popin) .box{min-width:0!important;width:auto}}

/* 10. Préférences système =================================================== */
@media (prefers-reduced-motion:reduce){
  .es-ui :is(.wp-block-button__link,.intrapole-button,.btn-link,#section-blog article):is(:hover,:focus-within){transform:none!important}
  .es-ui .wp-block-details::details-content{transition:none}
}
@media (prefers-contrast:more){
  .es-ui .compo-prefooter:has(.is-layout-grid) .audit-it > .wp-block-group > .wp-block-group::before{display:none}
  .es-ui .wp-block-cover:not(.is-light)::after{opacity:.75}
  .es-ui .wp-block-column.has-background{border-color:var(--line)}
}
@media (forced-colors:active){
  .es-ui :is(.wp-block-button__link,.intrapole-button,.btn-link){border:1px solid ButtonText!important}
  .es-ui .wp-block-details > summary::before{forced-color-adjust:none;background:Canvas;border:1px solid CanvasText}
  .es-ui .wp-block-details > summary::after{forced-color-adjust:none;
    background:linear-gradient(CanvasText,CanvasText) center/14px 2px no-repeat,linear-gradient(CanvasText,CanvasText) center/2px 14px no-repeat}
  .es-ui .wp-block-cover::after,.es-ui .compo-prefooter:has(.is-layout-grid) .audit-it > .wp-block-group > .wp-block-group::before{display:none}
}
