@charset "UTF-8";
.smooth {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[data-header] .ct-header .ct-button svg.ct-icon {
  color: currentColor;
}
[data-header] .ct-header .ct-button svg.ct-icon > path {
  fill: currentColor;
}

[data-header] {
  --rno-offset-transparent-menu:16px;
}

[data-header]:has(div[data-transparent]) {
  --sticky-shrink: 90;
}

[data-header] [data-device=desktop] [data-row=middle][data-transparent-row=yes] > div {
  min-height: 66px !important;
}
[data-header] [data-device=desktop] [data-row=middle][data-transparent-row=yes][data-row*=middle] {
  padding-top: 32px;
}
[data-header] [data-device=desktop] [data-row=middle][data-transparent-row=yes] [data-column=end] {
  margin-left: auto;
}
[data-header] [data-device=desktop] [data-row=middle][data-transparent-row=yes] [data-column=end] > div {
  --rno-pastille-pad: 10px;
  background-color: #fff;
  border-radius: 100px;
  padding-left: var(--rno-pastille-pad);
  padding-right: var(--rno-pastille-pad);
}

[data-header] [data-row=middle] [data-column=end] > div {
  transition: all 0.2s linear;
}

[data-header] .ct-header [data-transparent-row=yes] [data-id=menu] .sub-menu {
  --dropdown-top-offset: var(--rno-offset-transparent-menu);
}

.ct-active .ct-toggle-dropdown-desktop svg {
  transform: rotate(-90deg);
}

[data-header] .ct-header [data-device=desktop] {
  transition: background-color 0.2s linear;
}

[data-header] [data-device=desktop] .ct-language-switcher {
  display: flex;
  height: 100%;
  padding-right: 0.5em;
}

[data-header] [data-device=mobile] .ct-language-switcher {
  padding: 10px 0.5em 10px 0;
}

[data-header] .ct-language-switcher:hover {
  background-color: var(--wp--preset--color--univers-white);
}

[data-header] .ct-language-switcher:hover .ct-language.ct-active-language {
  color: var(--wp--preset--color--univers-dark);
}

[data-header] .ct-language-switcher:hover .ct-language.ct-active-language::before {
  background-color: var(--univers-bg-menu);
}

[data-header] .ct-header .ct-language.ct-active-language::before {
  position: relative;
  z-index: 1;
  width: 1.5em;
  height: 1.5em;
  margin-left: 0.5em;
  content: "";
  background-color: var(--theme-link-initial-color);
  mask-image: var(--resineo--icon--world);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
}

[data-header] .ct-header .ct-language-switcher[data-type=dropdown] ul {
  left: 0;
  right: unset;
}

[data-header] .ct-language-switcher[data-type=dropdown] ul li a {
  padding-left: 10px;
  padding-right: 10px;
}

[data-header] .ct-language-switcher[data-type=dropdown] ul li a::after {
  content: "";
  display: inline-block;
  mask-image: var(--resineo--icon--arrow-tr);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  background-color: currentColor;
  width: 10px;
  height: 10px;
  margin-left: 4px;
}

[data-header] .ct-language-switcher[data-type=dropdown] ul li:hover {
  background-color: var(--univers-bg-menu);
}

/**
Menu mobile
Ancienne créa ?!
 */
/*
 [data-header] .ct-header [data-device="mobile"] [data-row*="middle"]::after{
   content: '';
   background-image: url("../images/bg-menu-mobile.svg");

   content: "";;
   background-image: url(../images/bg-menu-mobile.svg);
   width: 100%;
   height: 70px;
   display: block;
   background-repeat: no-repeat;
   background-size: contain;
   background-position: center top;
 }*/
/**
Menu Toggle
 */
[data-header] [class~=ct-toggle] {
  background: none !important;
  --toggle-button-padding:5px;
}

[data-header] .ct-header-trigger .ct-icon {
  --theme-icon-size:40px;
  color: var(--univers-bg-menu);
  transition: color 0.3s linear;
}
[data-header] .ct-header-trigger .ct-icon:hover {
  color: var(--univers-bt-menu);
}

#offcanvas .ct-panel-content-inner {
  padding: 0;
}

/**
Gouttières mobiles : l'en-tête garde les siennes
--------------------------------------------------------------------------------
Le réglage Blocksy « Espacement des bords du contenu » (Customizer › Général ›
Mise en page) n'est PAS un réglage du contenu : il pose une seule variable sur
:root, que TOUT `.ct-container` consomme — les sections de contenu comme les
rangées d'en-tête (`builder-header-renderer.php`, `$container_class = 'ct-container'`).

Le contenu passe donc à 7 % par côté en mobile (7,5 px → 26 px sur un écran de
375, à hauteur des heros qui portent déjà `padding-inline: spacing-s` = 28,8 px),
et on rend ici à l'en-tête ses 2 % d'origine, qui conviennent.

🔴 Les DEUX déclarations sont nécessaires. Les `var()` d'une custom property sont
substituées là où elle est DÉCLARÉE, puis la valeur résolue est héritée :
`--theme-container-width-base` est calculée sur `:root`, donc redéfinir la seule
variable-feuille `--theme-container-edge-spacing` ici ne remonte pas la chaîne.
Mesuré : sans la seconde ligne, les rangées « fixed » restent à 86vw.
  - `--theme-container-edge-spacing` → rangées d'en-tête réglées sur « fluid »
  - `--theme-container-width`        → rangées réglées sur « fixed » (notre cas)

🔴 Et le scope est `.ct-header`, PAS `[data-header]` : malgré son nom, `data-header`
est posé sur le `<body>` (il y porte l'id de l'en-tête et l'indicateur sticky,
ex. `pu4TDo:sticky`). Les `[data-header] …` du reste de ce fichier ne sont donc
que des préfixes de spécificité — ici, ça annulerait la gouttière sur TOUTE la
page, `#main-container` et `#footer` compris. Vérifié au rendu, pas au code.
Le pied de page, lui, suit volontairement le contenu.
`.ct-header` couvre aussi le panneau `#offcanvas.ct-panel.ct-header` : sans effet,
il ne contient aucun `.ct-container` (vérifié au rendu).

Portée : tablette ET mobile (≤ 999.98px, point de rupture Blocksy). L'en-tête
reste à 2 % sur les deux paliers — c'est la valeur validée — QUELLE QUE SOIT la
gouttière retenue pour le contenu : cette règle ne dépend d'aucune valeur du
Customizer ni du filtre `theme_mod_contentEdgeSpacing`, elle se contente de
réimposer les 2 % d'origine. Ne pas y recopier la valeur du contenu, elle se
périmerait à la première ré-évaluation. Au-dessus de 1000px, rien à faire : le
conteneur y est plafonné par la largeur du site (1365px), l'en-tête ne bouge pas.
 */
@media (max-width: 999.98px) {
  .ct-header {
    --theme-container-edge-spacing: 96vw;
    --theme-container-width: min(100%, 96vw);
  }
}
/**
Gouttière mobile, exposée en variable
--------------------------------------------------------------------------------
Le méga-menu mobile doit caler ses items sur la même marge que le contenu du
site. Blocksy n'expose pas la gouttière : il expose la LARGEUR du conteneur
(`--theme-container-edge-spacing`, 88vw à la racine). La gouttière en est la
moitié du reste — 6vw de chaque côté.

🔴 La déclaration doit être ici, sur `:root`, et surtout PAS dans le panneau.
Les `var()` d'une custom property sont substituées là où elle est DÉCLARÉE, puis
la valeur résolue est héritée. Or `#offcanvas` porte la classe `.ct-header`, à
qui la règle ci-dessus donne 96vw : une déclaration posée à l'intérieur du
panneau y lirait 96vw et rendrait une gouttière de 2vw — un huitième de la
bonne valeur, sans la moindre erreur. Déclarée sur `:root`, elle vaut 6vw
partout, panneau compris.

Consommée par wp-content/plugins/resineo-mega-menu-mobile/assets/css/block-frontend.css
(qui garde un repli à 6vw pour tenir seul).
 */
:root {
  --resineo--gutter-mobile: calc((100vw - var(--theme-container-edge-spacing)) / 2);
}

/**
Logo du panneau hors-champ : le piloter par sa LARGEUR, pas par sa hauteur
--------------------------------------------------------------------------------
Blocksy ne dimensionne le logo QUE par sa hauteur :

    .site-logo-container      { height: var(--logo-shrink-height, var(--logo-max-height, 50px)) }
    .site-logo-container img  { width: auto; max-width: initial; height: inherit }

Rien ne borne la largeur — elle est déduite du ratio du fichier téléversé. Tant que
le logo était un PNG carré, les 63px de haut réglés au Customizer valaient 63px de
large. Le SVG (533,6 × 127,7) occupe à la même hauteur 263px, soit 70 % d'un écran
de 375 : son coin haut-droit passe sous la croix de fermeture (pastille de 44px,
x 306→350, y 10→54) et le bouton « Retour » du méga-menu mobile l'attaque de l'autre
côté. Mesuré, pas déduit. Au palier tablette c'est pire : --logo-max-height y vaut
139px, donc 581px de large.

On inverse donc le pilotage : c'est la LARGEUR qui commande, la hauteur suit le ratio.
Le résultat ne dépend plus du fichier — au prochain logo déposé, rien ne casse.

🔴 Baisser --logo-max-height au Customizer dépanne mais ne tient pas : le réglage
porte sur la hauteur alors que la contrainte réelle est la largeur. Et c'est un
réglage d'environnement, donc à refaire sur chaque serveur.

`min(62%, 360px)` couvre les deux paliers sans point de rupture : 232px sur un écran
de 375, 198px sur un 320, et le plafond de 360px prend le relais dès 581px de large.

🔴 Le sélecteur est long à dessein — la marge haute se gagne à la spécificité.
Blocksy la ramène à zéro par

    #offcanvas .ct-panel-content-inner > *:first-child { margin-top: 0 }

soit (1,2,0) : c'est ELLE qui explique l'absence d'air sous la barre croix / Retour,
pas un oubli de réglage. Deux pièges enchaînés, tous deux muets :

  - `#offcanvas [data-id="offcanvas-logo"]` est à (1,1,0) : il perd la marge haute
    en gardant la largeur — on croit la règle appliquée, elle ne l'est qu'à moitié ;
  - reprendre le conteneur monte à (1,2,0), donc à ÉGALITÉ — et l'égalité se tranche
    par l'ordre des feuilles, que nous perdons : `main.css` du thème enfant est servi
    AVANT le bundle Blocksy. Vérifié au rendu, pas déduit.

D'où le troisième sélecteur simple, qui porte le tout à (1,3,0) et l'emporte quel que
soit l'ordre, sans !important. `data-id="offcanvas-logo"` est un marqueur stable de
Blocksy — à ne pas confondre avec l'id d'en-tête engendré (`pu4TDo`…), qui change
d'un environnement à l'autre et ne doit jamais servir de portée.
 */
/*
La ligne haute du panneau : logo + bouton « Retour »
--------------------------------------------------------------------------------
Le bouton « Retour » du méga-menu mobile doit se caler à GAUCHE du logo, sur la
même ligne. Or il vit dans le bloc méga-menu, frère SUIVANT du logo dans cette
colonne : il ne peut y monter qu'en `position: absolute`. On lui donne donc ici
le repère (`position: relative`) ET les deux mesures de la ligne, qu'il lit en
variables plutôt que de les recopier — les deux fichiers ne peuvent plus se
désaccorder en silence.

Le bouton est stylé dans le plugin :
wp-content/plugins/resineo-mega-menu-mobile/assets/css/block-frontend.css
*/
#offcanvas .ct-panel-content-inner {
  --mm-logo-mt: 22px;
  --mm-logo-h: 34px;
  --mm-logo-mb: 40px;
  --mm-back-h: 38px;
}

#offcanvas .ct-panel-content-inner > .site-logo-container[data-id=offcanvas-logo] {
  height: auto;
  margin-block: var(--mm-logo-mt) var(--mm-logo-mb);
  /*
  Largeur de base = celle qui cohabite avec le bouton « Retour ».
  Géométrie d'un écran de 375 : le bouton occupe 12 → ~120, la croix de
  fermeture 306 → 350. Il reste la bande 130 → 300. Le logo fait 145px et la
  marge gauche de 60px le centre dedans (la boîte marges comprises est centrée
  par `align-items: center`, d'où l'asymétrie assumée).
  */
  /*
  Aligné à DROITE, sur la gouttière du panneau (`--panel-padding`, 35px chez
  Blocksy) : son bord droit tombe donc au même endroit que celui de la croix de
  fermeture, qui déborde de cette marge par construction. `margin-inline-start:
  auto` suffit à le pousser — la colonne est en `align-items: center`, et une
  marge auto l'emporte sur le centrage.
  Les deux boîtes ne peuvent pas se toucher : la croix occupe la bande y 10→54,
  le logo commence à 66.
  */
  width: min(38%, 145px);
  margin-inline: auto var(--panel-padding, 35px);
  min-height: var(--mm-logo-h);
}
#offcanvas .ct-panel-content-inner > .site-logo-container[data-id=offcanvas-logo] img {
  width: 100%;
  height: auto;
}

/*
La ligne du logo ne doit pas dépendre de la présence de l'image
--------------------------------------------------------------------------------
Le bouton « Retour » remonte de `--mm-logo-mb + --mm-logo-h / 2 + …` pour se
centrer sur la ligne du logo : il suppose donc que cette ligne fait bien
`--mm-logo-h` de haut. Si le logo n'a pas d'image (hauteur 0), ou si l'élément
est retiré du panneau, la ligne s'effondre et le bouton monte trop haut, au-dessus
du haut de `.ct-panel-content-inner` qui est en `overflow: auto` : il est COUPÉ
(constaté le 2026-09-29 sur le dev, où le logo du panneau n'avait pas d'image ;
34px de trop).
- Logo présent mais vide : `min-height` ci-dessus.
- Logo absent : on réserve la même hauteur (marges comprises) au-dessus du bloc
  qui le suivrait. Sans `:has()`, la règle est ignorée et le rendu reste celui
  d'avant — jamais pire.
*/
#offcanvas .ct-panel-content-inner:not(:has(> .site-logo-container[data-id=offcanvas-logo])) > .ct-header-content-block:first-child {
  margin-top: calc(var(--mm-logo-mt) + var(--mm-logo-h) + var(--mm-logo-mb));
}

/*
Quand il n'y a PAS de bouton « Retour » (écran des univers, ou menu réduit à un
seul univers), la ligne est libre : le logo reprend toute sa place, centré.

🔴 C'est bien l'état LARGE qui est conditionnel, jamais l'inverse. Un navigateur
sans `:has()` ignore le bloc entier et garde la règle de base — le petit logo,
celui qui ne peut pas percuter le bouton. L'inverse aurait fait réapparaître le
chevauchement chez les retardataires, sans le moindre signe.
*/
#offcanvas .ct-panel-content-inner:has(.resineo-mm-back-button[aria-hidden=true]) > .site-logo-container[data-id=offcanvas-logo],
#offcanvas .ct-panel-content-inner:has(.resineo-mm--single-universe) > .site-logo-container[data-id=offcanvas-logo] {
  width: min(62%, 360px);
  margin-inline: auto;
}

/**
Barre haute : rétrécissement au scroll (avenant n°2, ligne 20)
--------------------------------------------------------------------------------
Blocksy masque le réglage « Rétrécir au scroll » pour la barre haute (top-row) :
le champ `has_sticky_shrink` y est déclaré `hidden`
(inc/panel-builder/header/top-row/options.php, qui charge les options de
middle-row), et la variable qu'il écrirait (`--sticky-shrink`) est un TAUX
UNIQUE posé sur le sélecteur global de l'en-tête — déjà consommé par la barre
principale (71 %, cf. docs/entete.md). L'activer sur la barre haute écraserait
ce taux, sans erreur visible. On pose donc ici notre propre hauteur pour l'état
collé, en réutilisant TEL QUEL le mécanisme de Blocksy plutôt qu'en l'imitant :

  [data-row] > div { min-height: var(--shrink-height, var(--height)) }
  (wp-content/themes/blocksy/static/sass/frontend/5-modules/header/rows.scss)

Il suffit de fournir `--shrink-height` là où Blocksy la fournit lui-même pour
la barre principale (en JS, inline, sur l'élément `[data-row]` — héritée par
son `> div`) : `--shrink-height` n'est déclarée nulle part pour `top-row`,
aucun conflit de cascade. Mesuré au rendu sur le dev : la rangée seule ne
suffit pas, deux éléments internes gardent leur hauteur naturelle de 40px et
forcent la rangée à y rester malgré son nouveau `min-height` :
  - `.ct-button`     (bouton CTA)      : `min-height: var(--theme-button-min-height)`
  - `.ct-menu-link`  (onglets d'univers) : `height: var(--menu-item-height, 100%)`
Fournir ces deux variables au même endroit suffit — même logique, aucun
`!important`. Le sélecteur de droite restant (`.ct-language-switcher`, `height:
100%` posé plus haut dans ce fichier) suit tout seul : pourcentage d'un
ancêtre qui, lui, a bien rapetissé.

Transition : Blocksy n'anime PAS son propre rétrécissement de hauteur — aucune
règle `transition` sur `min-height`/`height` dans son CSS (vérifié dans
rows.scss ET sticky-state.scss, qui n'animent que fond, ombre et flou). On
reprend ici sa variable de durée, posée en inline par son JS de sticky
(`--header-sticky-animation-speed`, 0,2s) et son easing, pour que la barre
haute suive le même rythme que le reste de l'en-tête au lieu de sauter.

🔴 Portée : `[data-device="desktop"]` uniquement, comme la seule autre règle de
ce fichier qui touche une hauteur de rangée juste au-dessus — la barre haute
mobile est vide (aucune rangée `top` dans `[data-device="mobile"]`, cf.
docs/entete.md), la règle y serait sans effet de toute façon. JAMAIS de scope
sur un id de section (`type-1`, `ct-custom-…`) : `[data-header]` et
`[data-device="desktop"]` suffisent, à l'identique du reste du fichier.
*/
[data-header] [data-device=desktop] [data-row*=top] > div,
[data-header] [data-device=desktop] [data-row*=top] .ct-menu-link {
  transition: min-height var(--header-sticky-animation-speed, 0.2s) cubic-bezier(0.455, 0.03, 0.515, 0.955), height var(--header-sticky-animation-speed, 0.2s) cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-header] [data-device=desktop] [data-row*=top] .ct-button {
  transition: min-height var(--header-sticky-animation-speed, 0.2s) cubic-bezier(0.455, 0.03, 0.515, 0.955), height var(--header-sticky-animation-speed, 0.2s) cubic-bezier(0.455, 0.03, 0.515, 0.955), background-color var(--rux-entete-survol-duree, 0.3s) cubic-bezier(0.455, 0.03, 0.515, 0.955), color var(--rux-entete-survol-duree, 0.3s) cubic-bezier(0.455, 0.03, 0.515, 0.955), border-color var(--rux-entete-survol-duree, 0.3s) cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-header] [data-device=desktop] [data-sticky*=yes] [data-row*=top] {
  --shrink-height: var(--rux-entete-haut-collant, 35px);
  --theme-button-min-height: var(--rux-entete-haut-collant, 35px);
  --menu-item-height: var(--rux-entete-haut-collant, 35px);
}

/**
Barre haute : au survol d'un onglet d'univers, TOUTE la barre — et le bouton
« Demandez un devis » — prennent la couleur de l'univers (avenant n°2, ligne 19)
--------------------------------------------------------------------------------
L'onglet porte déjà `resineo-onglet-univers--<slug>` (function-resineo-menu.php,
filtre `nav_menu_css_class`). Mesuré au rendu sur le dev, home ET page d'univers,
avant d'écrire ces règles : Blocksy peint le fond directement sur l'élément
`[data-row="top"]` lui-même (pas un enfant, pas un pseudo-élément), via SA PROPRE
feuille dynamique (`global.css`, chargée AVANT `main.css` qui embarque ce fichier) :

  [data-header*="type-1"] .ct-header [data-row*="top"]                       (0,3,0)
  [data-header*="type-1"] .ct-header [data-sticky*="yes"] [data-row*="top"]  (0,4,0)  — collé

Aucun `!important` côté Blocksy. On cible donc EXACTEMENT `[data-row*="top"]`,
sans `.ct-header` intermédiaire (inutile : la structure DOM le garantit déjà,
même convention que les règles juste au-dessus). Spécificité de `:has(.x:hover,
.x:focus-within)` : celle de sa branche la plus forte, pas une pseudo-classe
isolée — `.resineo-onglet-univers--<slug>:hover` pèse (0,2,0) (une classe, un
`:hover`), pas (0,1,0). Le `:has()` ajouté par onglet donne donc (0,5,0) pour
la rangée en état normal, qui dépasse Blocksy (0,5,0 > 0,3,0), et (0,6,0) pour
la règle sticky ci-dessous, qui dépasse l'état collé (0,6,0 > 0,4,0) — sans
compter sur l'ordre des feuilles, qui nous est pourtant favorable (vérifié :
`main.css` charge après `global.css`). Chiffres revus le 2026-09-28 (revue de
code) : la version précédente de ce commentaire créditait `:has()` d'un
(0,1,0), sous-comptant nos deux règles d'un cran — la conclusion (on gagne)
restait juste, la marge était fausse.

FONDU DANS LES DEUX SENS, posé UNE FOIS « au repos ». La sortie du survol
n'est pas un état à part : `[data-row*="top"]` et sa variante `[data-sticky*=
"yes"] […]` portent la `transition` en permanence, plutôt que seulement dans
la règle `:has(...:hover)` (posée là au premier jet, retour instantané sans
elle — constaté avant ce correctif). Une seule déclaration en `[data-header]
[data-device="desktop"] [data-row*="top"]` aurait suffi pour les deux états —
le sélecteur matche déjà à travers `[data-sticky]`, intercalé plus bas dans le
DOM par un `<div>` sans rapport (`.ct-sticky-container`) — mais le double
sélecteur explicite ci-dessous documente l'intention et résiste à un futur
ajout de règle plus spécifique côté collant.

🔴 Une `transition` existait déjà sur la rangée, et pas des moindres : Blocksy
pose, sur TOUT `[data-sticky] [data-row]` (donc la nôtre aussi — sélecteur
générique, (0,2,0), `sticky-state.scss`), un fondu `box-shadow` + `backdrop-
filter` + `background-color`, les trois à `--header-sticky-animation-speed`
(0,2s) — l'ombre et le flou du collage. Notre première version de cette règle,
qui ne posait QUE `background-color`, était plus spécifique ((0,3,0)/(0,4,0)
> (0,2,0)) et la remplaçait donc ENTIÈREMENT : `box-shadow`/`backdrop-filter`
perdaient leur fondu au collage, silencieusement (corrigé en revue de code,
2026-09-28). On compose donc avec les trois : `box-shadow` et `backdrop-
filter` gardent la durée et la courbe de Blocksy, seul `background-color`
passe à la nôtre.

Durée : `--rux-entete-survol-duree` (registre `--rux-*`, `docs/echelle-
affichage.md`), même convention que `--rux-entete-haut-collant` juste
au-dessus — réglable sans redéploiement via le CSS additionnel. Défaut 0,3 s,
un cran plus lent que les 0,2 s du rétrécissement au scroll : le survol n'est
pas un événement de scroll, pas de raison de partager sa variable.

`:hover` ET `:focus-within` (porté par le lien focusé à l'intérieur du `<li>`
qui porte la classe) : navigation clavier incluse. Pas de fallback `:has()` —
c'est l'agrément visuel qui manque sur un navigateur ancien, rien ne casse.

BOUTON « DEMANDEZ UN DEVIS » (`[data-id="XL81Z8"]`, id Blocksy de l'item
`button~XL81Z8t8yh7UiZqGz2Q29` de `header_placements`). Mesuré avant d'écrire :
son fond AU REPOS vient de `--theme-button-background-initial-color: var(--
univers-bt-menu)` (posée par Blocksy sur `[data-id="XL81Z8"]` lui-même,
spécificité (0,3,0)) ; son texte reste `var(--wp--preset--color--white)` dans
les CINQ univers (ne dépend pas de l'univers, rien à faire dessus). On
redéfinit donc SEULEMENT cette variable, sur le même élément, au survol d'un
onglet — jamais `background-color` en direct : la règle `.ct-button:hover`
de Blocksy pose `background-color` EXPLICITEMENT (pas via cette variable), et
gagne donc TOUJOURS quand c'est le bouton qu'on survole, sans rien à
verrouiller de notre côté. Une seule règle (pas de variante `[data-sticky]`) :
Blocksy ne redéfinit `--theme-button-background-initial-color` nulle part
ailleurs, et (0,6,0) — la spécificité de la rangée normale (0,5,0) plus
`[data-id="XL81Z8"]` — suffit à traverser les deux états.

Onglet actif, couleurs, hauteurs, contenu (hors bouton) : intouchés. Seuls le
fond de la rangée et celui du bouton changent, au même rythme.
*/
[data-header] [data-device=desktop] [data-row*=top],
[data-header] [data-device=desktop] [data-sticky*=yes] [data-row*=top] {
  transition: box-shadow var(--header-sticky-animation-speed, 0.2s) cubic-bezier(0.455, 0.03, 0.515, 0.955), backdrop-filter var(--header-sticky-animation-speed, 0.2s) cubic-bezier(0.455, 0.03, 0.515, 0.955), background-color var(--rux-entete-survol-duree, 0.3s) cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--particuliers:hover,
.resineo-onglet-univers--particuliers:focus-within) {
  background-color: var(--univers-bg-menu-particuliers);
}

[data-header] [data-device=desktop] [data-sticky*=yes] [data-row*=top]:has(.resineo-onglet-univers--particuliers:hover,
.resineo-onglet-univers--particuliers:focus-within) {
  background-color: var(--univers-bg-menu-particuliers);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--particuliers:hover,
.resineo-onglet-univers--particuliers:focus-within) [data-id=XL81Z8] {
  --theme-button-background-initial-color: var(--univers-bt-menu-particuliers);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--hpa:hover,
.resineo-onglet-univers--hpa:focus-within) {
  background-color: var(--univers-bg-menu-hpa);
}

[data-header] [data-device=desktop] [data-sticky*=yes] [data-row*=top]:has(.resineo-onglet-univers--hpa:hover,
.resineo-onglet-univers--hpa:focus-within) {
  background-color: var(--univers-bg-menu-hpa);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--hpa:hover,
.resineo-onglet-univers--hpa:focus-within) [data-id=XL81Z8] {
  --theme-button-background-initial-color: var(--univers-bt-menu-hpa);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--collectivites:hover,
.resineo-onglet-univers--collectivites:focus-within) {
  background-color: var(--univers-bg-menu-collectivites);
}

[data-header] [data-device=desktop] [data-sticky*=yes] [data-row*=top]:has(.resineo-onglet-univers--collectivites:hover,
.resineo-onglet-univers--collectivites:focus-within) {
  background-color: var(--univers-bg-menu-collectivites);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--collectivites:hover,
.resineo-onglet-univers--collectivites:focus-within) [data-id=XL81Z8] {
  --theme-button-background-initial-color: var(--univers-bt-menu-collectivites);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--applicateur:hover,
.resineo-onglet-univers--applicateur:focus-within) {
  background-color: var(--univers-bg-menu-applicateur);
}

[data-header] [data-device=desktop] [data-sticky*=yes] [data-row*=top]:has(.resineo-onglet-univers--applicateur:hover,
.resineo-onglet-univers--applicateur:focus-within) {
  background-color: var(--univers-bg-menu-applicateur);
}

[data-header] [data-device=desktop] [data-row*=top]:has(.resineo-onglet-univers--applicateur:hover,
.resineo-onglet-univers--applicateur:focus-within) [data-id=XL81Z8] {
  --theme-button-background-initial-color: var(--univers-bt-menu-applicateur);
}

/*
MÉGA-MENUS DE BUREAU : FOND PLEINE LARGEUR + FLOU SOUS LE PANNEAU
(avenant n°2, ligne 10 — `docs/mega-menus.md` § 8)

Le réglage « pleine largeur » du panneau est de la DONNÉE Blocksy (méta
`mega_menu_width = full_width` de l'élément de menu parent, posée par
`tools/megamenu/fond-pleine-largeur.php`) : Blocksy peint alors le fond sur
`.sub-menu:after` en 100vw, et retire fond / ombre / arrondi du `.sub-menu`.
Ce bloc-ci ne fait que deux choses, toutes deux scopées sur la classe
`ct-mega-menu-full-width` que Blocksy pose sur le <li> parent — rien ne
change donc pour un menu qui ne serait pas en pleine largeur.

1. CONTENU ÉTENDU VERS L'EXTÉRIEUR, ALIGNÉ SUR LE LOGO ET LE BOUTON DEVIS.
   Décision de Reuh (2026-09-29) : en pleine largeur, les colonnes s'étendent
   jusqu'aux bords du conteneur du site — bord gauche du contenu = bord gauche
   du logo, bord droit = bord droit du bouton « Demandez un devis ». Blocksy
   fait déjà la moitié du chemin : en `full_width` il supprime le retrait
   latéral du <li> (30 px) sur la première et la dernière colonne. Reste le
   retrait propre aux deux blocs de méga-menu (`--rux-mm-pad-gauche/-droite`,
   `spacing--sm`, fluide : 11 px à 1536, 29 px à 1920) : on le ramène à 0 sur
   le <li> en pleine largeur, en variable — `--rux-megamenu-marge` (défaut 0px)
   — pour rendre une marge sans redéploiement. La variable est redéfinie sur le
   <li> : elle l'emporte sur le `:root` de `global.scss` pour tout le sous-arbre,
   et ne touche pas un méga-menu qui ne serait pas en pleine largeur. Aucune
   règle sur le <li> interne de Blocksy : on garde son comportement natif.
   (Une première version rendait au contenu sa position d'avant — 30 px de
   retrait + `overflow: hidden` ; retirée à la demande de Reuh.)

2. FLOU SOUS LE PANNEAU, sans JavaScript. Un pseudo-élément du <li> parent,
   ancré au bas de la rangée (`top: 100%`, comme le panneau) et étalé sur la
   hauteur de l'écran, porte un `backdrop-filter`. Il vit sous le panneau (celui-ci
   est en z-index 10) : on ne floute que la page, ni l'en-tête ni le panneau.
   - POURQUOI LE <li> ET PAS LE `.sub-menu` : `backdrop-filter` ne voit que
     jusqu'au plus proche « backdrop root » (ancêtre avec `opacity` < 1,
     `filter`, `mask`…). Blocksy anime `.sub-menu` en `opacity` (0,2 s) : un
     flou posé dedans ne verrait RIEN pendant tout le fondu, puis sauterait
     d'un coup. Le <li>, lui, n'est jamais animé ; le fondu se fait sur
     l'`opacity` du pseudo-élément lui-même, qui ne borne pas son propre flou.
   - ÉTAT OUVERT = la classe `ct-active` que le JS de Blocksy pose sur le <li>
     (survol, focus clavier, bouton « déplier ») : le flou suit exactement
     l'ouverture du panneau, au clavier comme à la souris. Au repos le
     pseudo-élément est `visibility: hidden` : il n'est pas peint, donc ne
     coûte rien.
   - `pointer-events: none` : il ne vole pas le survol au panneau ni à la page.
   - RÉGLAGES (CSS additionnel, sans redéploiement) :
       --rux-megamenu-flou  rayon du flou, défaut 4px. `0px` DÉSACTIVE tout
                            (flou ET voile) : la hauteur maximale du pseudo-
                            élément est proportionnelle au rayon (× 10 000 : 4px donne
                            40 000 px, plus que toute hauteur d'écran), donc nulle.
                            Écrire `0px` avec l'unité — un `0` nu rend
                            `calc()` invalide et laisse l'effet actif (flou de
                            0, voile compris).
       --rux-megamenu-voile teinte posée sur la page floutée (couleur CSS),
                            défaut transparent.
   - Bureau seulement : palier 1000 px de Blocksy, l'en-tête mobile n'utilise
     pas ces menus.
*/
@media (min-width: 1000px) {
  .ct-header nav > ul > .ct-mega-menu-full-width {
    --rux-mm-pad-gauche: var(--rux-megamenu-marge, 0px);
    --rux-mm-pad-droite: var(--rux-megamenu-marge, 0px);
  }
  .ct-header nav > ul > .ct-mega-menu-full-width::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 100%;
    height: 100vh;
    max-height: calc(var(--rux-megamenu-flou, 4px) * 10000);
    pointer-events: none;
    background-color: var(--rux-megamenu-voile, transparent);
    -webkit-backdrop-filter: blur(var(--rux-megamenu-flou, 4px));
    backdrop-filter: blur(var(--rux-megamenu-flou, 4px));
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0s 0.2s;
  }
  .ct-header nav > ul > .ct-mega-menu-full-width.ct-active::before {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s, visibility 0s;
  }
}
.ct-footer .wp-block-heading {
  display: inline-block;
  color: var(--wp--preset--color--univers-white);
  font-size: calc(var(--wp--preset--font-size--small) + 1px);
  font-family: var(--wp--preset--font-family--titillium-web, "Titillium Web", sans-serif);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: color 0.2s ease;
  margin-bottom: 0;
  line-height: 1.4;
  font-weight: 600;
}
.ct-footer .wp-block-heading::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--wp--preset--color--univers-light);
  margin: 16px 0;
}
.ct-footer .wp-block-heading a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ct-footer .wp-block-heading:hover,
.ct-footer .wp-block-heading a:hover {
  color: var(--wp--preset--color--univers-light);
}
.ct-footer .wp-block-navigation {
  font-size: var(--wp--preset--font-size--small);
}
.ct-footer .wp-block-navigation .wp-block-navigation-item__content,
.ct-footer .wp-block-navigation .wp-block-navigation__submenu-icon,
.ct-footer .wp-block-navigation a {
  color: var(--wp--preset--color--univers-white);
  text-transform: none;
  transition: color 0.2s ease;
}
.ct-footer .wp-block-navigation .wp-block-navigation-item__content:hover,
.ct-footer .wp-block-navigation a:hover {
  color: var(--wp--preset--color--univers-main);
}
.ct-footer [class*=ct-contact-info] li {
  align-items: flex-start;
}
.ct-footer .site-logo-container {
  margin-bottom: 26px;
}
.ct-footer .site-branding .site-description em {
  font-family: var(--wp--preset--font-family--noto-serif) !important;
  font-style: italic;
  color: var(--wp--preset--color--univers-white);
}
@media (max-width: 999.98px) {
  .ct-footer {
    display: flex;
    flex-direction: column;
  }
  .ct-footer > [data-row=bottom],
  .ct-footer > [data-row=bottom] > .ct-container {
    display: contents;
  }
  .ct-footer > [data-row=bottom] > .ct-container > [data-column] {
    width: var(--theme-container-width);
    max-width: var(--theme-normal-container-max-width);
    margin-inline: auto;
    margin-block-end: var(--columns-gap, 50px);
  }
  .ct-footer > [data-row=bottom] > .ct-container > [data-column]:last-child {
    margin-block-end: var(--container-spacing, 40px);
  }
  .ct-footer > [data-row=bottom] > .ct-container > [data-column=logo] {
    order: -1;
    margin-block-start: var(--container-spacing, 40px);
    margin-block-end: var(--container-spacing, 40px);
  }
  .ct-footer [data-column=logo] + [data-column] {
    margin-block-start: var(--container-spacing, 40px);
  }
  .ct-footer [class*=ct-contact-info] li {
    flex-direction: column;
    align-items: center;
  }
  .ct-footer [class*=ct-contact-info] li .ct-icon-container {
    margin-block: var(--theme-icon-size);
  }
}

:root {
  --resineo--icon--arrow-tr-circle:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path fill="%23fff" d="M15 0C6.7 0 0 6.7 0 15s6.7 15 15 15 15-6.7 15-15S23.3 0 15 0m5.2 19.1c0 .3-.3.6-.6.6s-.6-.3-.6-.6V12l-7.8 7.8c-.2.2-.6.2-.9 0-.2-.2-.2-.6 0-.9l7.8-7.8H11c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h8.6c.3 0 .6.3.6.6z"/></svg>');
  --resineo--icon--arrow-br-circle:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><g transform="rotate(90 15 15)"><path fill="%23fff" d="M15 0C6.7 0 0 6.7 0 15s6.7 15 15 15 15-6.7 15-15S23.3 0 15 0m5.2 19.1c0 .3-.3.6-.6.6s-.6-.3-.6-.6V12l-7.8 7.8c-.2.2-.6.2-.9 0-.2-.2-.2-.6 0-.9l7.8-7.8H11c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h8.6c.3 0 .6.3.6.6z"/></g></svg>');
  --resineo--icon--arrow-tr:url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" viewBox="0 0 10 10"><path fill="currentColor" d="M9.386 9.686a.614.614 0 0 1-.614-.614V2.098L1.048 9.824a.623.623 0 0 1-.87 0 .617.617 0 0 1 0-.87L7.903 1.23H.93A.614.614 0 1 1 .93 0h8.456c.34 0 .614.275.614.614v8.458c0 .34-.274.614-.614.614"/></svg>');
  --resineo--icon--world:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14"><path fill="currentColor" d="M6.703 0q.345 0 .68.034l.015.002a6.703 6.703 0 1 1-6.99 4.362l.022-.067.015-.03A6.71 6.71 0 0 1 5.996.038L6.03.034A7 7 0 0 1 6.703 0M5.31 9.47c.14.51.306.962.473 1.348.214.495.427.881.584 1.14q.05.08.091.142a5 5 0 0 0 .483 0q.043-.062.092-.142c.157-.259.37-.645.583-1.14.167-.386.333-.839.475-1.347zm4.123 0a12 12 0 0 1-.817 2.287 5.42 5.42 0 0 0 2.728-2.286zm-7.37 0a5.42 5.42 0 0 0 2.718 2.283 11.5 11.5 0 0 1-.813-2.282zm7.614-4.236a11.5 11.5 0 0 1 0 2.937h2.226a5.4 5.4 0 0 0 0-2.937zm-8.172 0a5.4 5.4 0 0 0 0 2.937h2.219a11.6 11.6 0 0 1 0-2.937zm3.53 0a10.3 10.3 0 0 0 0 2.937h3.33a10.3 10.3 0 0 0 0-2.937zm3.583-3.583q.095.198.192.42c.224.52.447 1.147.623 1.863h1.91A5.42 5.42 0 0 0 8.618 1.65m-3.838.003a5.42 5.42 0 0 0-2.715 2.28h1.903a12 12 0 0 1 .812-2.28m1.676-.347-.089.14c-.157.26-.37.645-.584 1.14a10.5 10.5 0 0 0-.473 1.347h2.78c-.14-.509-.307-.96-.474-1.347a9.4 9.4 0 0 0-.583-1.14q-.05-.078-.09-.14a6 6 0 0 0-.487 0"/></svg>');
  --resineo--icon--cta-ring:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><circle cx="15" cy="15" r="13.8" fill="none" stroke="black" stroke-width="1.3"/><g transform="translate(10 10)"><path fill="black" d="M9.386 9.686a.614.614 0 0 1-.614-.614V2.098L1.048 9.824a.623.623 0 0 1-.87 0 .617.617 0 0 1 0-.87L7.903 1.23H.93A.614.614 0 1 1 .93 0h8.456c.34 0 .614.275.614.614v8.458c0 .34-.274.614-.614.614"/></g></svg>');
  --resineo--forme--goutte-encoche:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="165.8" height="73.1" viewBox="0 0 165.8 73.1"><path fill="black" d="M0,32.1c15.2,0,29.9,5.6,40.8,15.9,0,0,.1.1.2.2,9.7,9.3,24.8,15.2,41.9,15.2,17,0,32.2-6,41.9-15.2,0,0,.1-.1.2-.2,10.9-10.3,25.6-15.9,40.8-15.9v40.9H0Z"/></svg>');
  --resineo--forme--souris:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="165.8" height="73.1" viewBox="0 0 165.8 73.1"><path fill="black" transform="translate(-796.2,0)" d="M878.2,0c6,0,10.8,4.8,10.8,10.8h0v10.2c0,6-4.9,10.8-10.9,10.7-5.9,0-10.7-4.8-10.7-10.7v-10.2C867.4,4.8,872.2,0,878.2,0M878.2,1.2c-5.3,0-9.6,4.3-9.6,9.6v10.2c0,5.3,4.4,9.6,9.7,9.5,5.2,0,9.5-4.3,9.5-9.5v-10.2c0-5.3-4.3-9.6-9.6-9.6M878.2,6.8c.3,0,.6.3.6.6h0v6.8c0,.3-.3.6-.6.6s-.6-.3-.6-.6v-6.8c0-.3.3-.6.6-.6h0"/></svg>');
  --transition-effect:ease-in-out;
  --resineo--box-shadow-boutons:0px 6px 25px 0px #D9D9D980;
  --resineo--color--defaut-dark:#4E4E4E;
  --resineo--color--defaut-main:#C9BBA0;
  --resineo--color--hpa-dark:#006E7F;
  --resineo--color--hpa-main:#9E8863;
  --resineo--color--particuliers-dark:#4E4E4E;
  --resineo--color--particuliers-main:#C9BBA0;
  --resineo--color--collectivites-dark:#535F65;
  --resineo--color--collectivites-main:#55C0BB;
  --resineo--color--applicateur-dark:#1A2C35;
  --resineo--color--applicateur-main:#9D8964;
}

html body {
  --resineo-fond-page: var(--wp--preset--color--univers-grey-light);
  background-color: var(--resineo-fond-page);
}

body.editor-styles-wrapper,
.editor-styles-wrapper {
  --resineo-fond-page: var(--wp--preset--color--univers-white, #fff);
}

.resineo-hero-principal:has(+ [data-resineo-peint=univers-white]) {
  --resineo-raccord: var(--wp--preset--color--univers-white);
}

.resineo-hero-principal:has(+ [data-resineo-peint=univers-grey-light]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-light);
}

.resineo-hero-principal:has(+ [data-resineo-peint=univers-grey-moyen]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-moyen);
}

.resineo-hero-principal:has(+ [data-resineo-peint=univers-grey-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-dark);
}

.resineo-hero-principal:has(+ [data-resineo-peint=univers-main]) {
  --resineo-raccord: var(--wp--preset--color--univers-main);
}

.resineo-hero-principal:has(+ [data-resineo-peint=univers-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-dark);
}

.resineo-hero-particuliers:has(+ [data-resineo-peint=univers-white]) {
  --resineo-raccord: var(--wp--preset--color--univers-white);
}

.resineo-hero-particuliers:has(+ [data-resineo-peint=univers-grey-light]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-light);
}

.resineo-hero-particuliers:has(+ [data-resineo-peint=univers-grey-moyen]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-moyen);
}

.resineo-hero-particuliers:has(+ [data-resineo-peint=univers-grey-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-dark);
}

.resineo-hero-particuliers:has(+ [data-resineo-peint=univers-main]) {
  --resineo-raccord: var(--wp--preset--color--univers-main);
}

.resineo-hero-particuliers:has(+ [data-resineo-peint=univers-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-dark);
}

.resineo-hero-texte-galerie:not(:has(> .resineo-hero-texte-galerie__inner > .resineo-hero-texte-galerie__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-white]) {
  --resineo-raccord: var(--wp--preset--color--univers-white);
}

.resineo-hero-texte-galerie:not(:has(> .resineo-hero-texte-galerie__inner > .resineo-hero-texte-galerie__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-grey-light]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-light);
}

.resineo-hero-texte-galerie:not(:has(> .resineo-hero-texte-galerie__inner > .resineo-hero-texte-galerie__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-grey-moyen]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-moyen);
}

.resineo-hero-texte-galerie:not(:has(> .resineo-hero-texte-galerie__inner > .resineo-hero-texte-galerie__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-grey-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-dark);
}

.resineo-hero-texte-galerie:not(:has(> .resineo-hero-texte-galerie__inner > .resineo-hero-texte-galerie__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-main]) {
  --resineo-raccord: var(--wp--preset--color--univers-main);
}

.resineo-hero-texte-galerie:not(:has(> .resineo-hero-texte-galerie__inner > .resineo-hero-texte-galerie__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-dark);
}

.entry-content > .resineo-hero-particuliers-2col:first-child:not(:has(> .resineo-hero-particuliers-2col__inner > .resineo-hero-particuliers-2col__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-white]) {
  --resineo-raccord: var(--wp--preset--color--univers-white);
}

.entry-content > .resineo-hero-particuliers-2col:first-child:not(:has(> .resineo-hero-particuliers-2col__inner > .resineo-hero-particuliers-2col__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-grey-light]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-light);
}

.entry-content > .resineo-hero-particuliers-2col:first-child:not(:has(> .resineo-hero-particuliers-2col__inner > .resineo-hero-particuliers-2col__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-grey-moyen]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-moyen);
}

.entry-content > .resineo-hero-particuliers-2col:first-child:not(:has(> .resineo-hero-particuliers-2col__inner > .resineo-hero-particuliers-2col__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-grey-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-grey-dark);
}

.entry-content > .resineo-hero-particuliers-2col:first-child:not(:has(> .resineo-hero-particuliers-2col__inner > .resineo-hero-particuliers-2col__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-main]) {
  --resineo-raccord: var(--wp--preset--color--univers-main);
}

.entry-content > .resineo-hero-particuliers-2col:first-child:not(:has(> .resineo-hero-particuliers-2col__inner > .resineo-hero-particuliers-2col__content > :not(.wp-block-heading, .wp-block-buttons))):has(+ [data-resineo-peint=univers-dark]) {
  --resineo-raccord: var(--wp--preset--color--univers-dark);
}

.editor-styles-wrapper [data-resineo-raccord=univers-white] {
  --resineo-raccord: var(--wp--preset--color--univers-white);
}

.editor-styles-wrapper [data-resineo-raccord=univers-grey-light] {
  --resineo-raccord: var(--wp--preset--color--univers-grey-light);
}

.editor-styles-wrapper [data-resineo-raccord=univers-grey-moyen] {
  --resineo-raccord: var(--wp--preset--color--univers-grey-moyen);
}

.editor-styles-wrapper [data-resineo-raccord=univers-grey-dark] {
  --resineo-raccord: var(--wp--preset--color--univers-grey-dark);
}

.editor-styles-wrapper [data-resineo-raccord=univers-main] {
  --resineo-raccord: var(--wp--preset--color--univers-main);
}

.editor-styles-wrapper [data-resineo-raccord=univers-dark] {
  --resineo-raccord: var(--wp--preset--color--univers-dark);
}

.editor-styles-wrapper [data-resineo-raccord] {
  margin-block-end: 0;
}

.resineo-goutte {
  --_h: var(--resineo-goutte-h, 73px);
  --_encoche: calc(var(--_h) * 2.26813);
  --_bande: calc(var(--_h) * 0.56088);
}
.resineo-goutte::before, .resineo-goutte::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.resineo-goutte::before {
  background-color: var(--resineo-raccord, var(--resineo-fond-page, var(--wp--preset--color--univers-grey-light)));
  -webkit-mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000), var(--resineo--forme--goutte-encoche);
  mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000), var(--resineo--forme--goutte-encoche);
  -webkit-mask-position: left bottom, right bottom, center bottom;
  mask-position: left bottom, right bottom, center bottom;
  -webkit-mask-size: calc(50% - var(--_encoche) / 2 + 1px) var(--_bande), calc(50% - var(--_encoche) / 2 + 1px) var(--_bande), auto 100%;
  mask-size: calc(50% - var(--_encoche) / 2 + 1px) var(--_bande), calc(50% - var(--_encoche) / 2 + 1px) var(--_bande), auto 100%;
  -webkit-mask-composite: source-over;
  mask-composite: add;
}
.resineo-goutte::after {
  background-color: #fff;
  -webkit-mask-image: var(--resineo--forme--souris);
  mask-image: var(--resineo--forme--souris);
  -webkit-mask-position: center bottom;
  mask-position: center bottom;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
}
@supports not ((mask-image: none) or (-webkit-mask-image: none)) {
  .resineo-goutte::before, .resineo-goutte::after {
    content: none;
  }
}

html body.resineo-fond-blanc {
  --resineo-fond-page: var(--wp--preset--color--univers-white);
  background-color: var(--resineo-fond-page);
}

body .wp-block-button.is-style-fill .wp-block-button__link,
body .wp-block-button.is-style-fill-couleur .wp-block-button__link,
body .wp-block-button.is-style-fill-blanc .wp-block-button__link,
body .wsf-form button.wsf-button {
  --theme-button-border-radius:50px;
  padding-right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body .wp-block-button.is-style-fill .wp-block-button__link::after,
body .wp-block-button.is-style-fill-couleur .wp-block-button__link::after,
body .wp-block-button.is-style-fill-blanc .wp-block-button__link::after,
body .wsf-form button.wsf-button::after {
  position: relative;
  z-index: 1;
  width: 1.5em;
  height: 1.5em;
  margin-left: 0.5em;
  content: "";
  transition: all 0.3s var(--transition-effect);
  background-color: white;
  mask-image: var(--resineo--icon--arrow-tr-circle);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  transform: rotate(0deg);
}
body .wp-block-button.is-style-fill .wp-block-button__link:hover::after,
body .wp-block-button.is-style-fill-couleur .wp-block-button__link:hover::after,
body .wp-block-button.is-style-fill-blanc .wp-block-button__link:hover::after,
body .wsf-form button.wsf-button:hover::after {
  transform: rotate(45deg);
}
body .wp-block-button.is-style-fill .wp-block-button__link,
body .wsf-form button.wsf-button {
  background-color: var(--wp--preset--color--univers-dark);
  color: var(--wp--preset--color--univers-white);
}
body .wp-block-button.is-style-fill .wp-block-button__link:hover,
body .wsf-form button.wsf-button:hover {
  background-color: var(--wp--preset--color--univers-main);
}
body .wp-block-button.is-style-fill-couleur .wp-block-button__link {
  background-color: var(--wp--preset--color--univers-main);
  color: var(--wp--preset--color--univers-white);
}
body .wp-block-button.is-style-fill-couleur .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--univers-dark);
}
body .wp-block-button.is-style-fill-blanc .wp-block-button__link {
  background-color: var(--wp--preset--color--univers-white);
  color: var(--wp--preset--color--univers-dark);
}
body .wp-block-button.is-style-fill-blanc .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--univers-main);
  color: var(--wp--preset--color--univers-white);
}
body .wp-block-button.is-style-fill-blanc .wp-block-button__link::after {
  background-color: currentColor;
}
body .wp-block-button.is-style-lien-cta {
  display: block;
  width: 100%;
  max-width: none;
}
body .wp-block-button.is-style-lien-cta .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  width: 100%;
  box-sizing: border-box;
  padding: 18px 2px;
  background-color: transparent;
  color: var(--wp--preset--color--univers-grey-dark);
  border: 0;
  border-bottom: 1px solid var(--wp--preset--color--univers-main);
  border-radius: 0;
  text-align: left;
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 400;
  text-transform: none;
  line-height: 1.3;
  transition: color 0.25s var(--transition-effect);
}
body .wp-block-button.is-style-lien-cta .wp-block-button__link::after {
  content: "";
  flex: 0 0 auto;
  width: 1.9em;
  height: 1.9em;
  background-color: var(--wp--preset--color--univers-main);
  mask-image: var(--resineo--icon--cta-ring);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  transition: transform 0.3s var(--transition-effect);
}
body .wp-block-button.is-style-lien-cta .wp-block-button__link:hover {
  color: var(--wp--preset--color--univers-main);
  background-color: transparent;
}
body .wp-block-button.is-style-lien-cta .wp-block-button__link:hover::after {
  transform: rotate(45deg);
}
body .wp-block-buttons:has(.wp-block-button.is-style-lien-cta) {
  gap: 0;
}

ul.gform_fields {
  padding: 0;
}

/**
Retirer le flou à la redimension des PNG
**/
.block-editor [data-aos^=fade][data-aos^=fade], [class*=block-editor] [data-aos^=fade][data-aos^=fade], .is-tablet-preview [data-aos^=fade][data-aos^=fade], .is-mobile-preview [data-aos^=fade][data-aos^=fade], .is-desktop-preview [data-aos^=fade][data-aos^=fade] {
  opacity: 1;
}
.block-editor [data-aos=fade-up], [class*=block-editor] [data-aos=fade-up], .is-tablet-preview [data-aos=fade-up], .is-mobile-preview [data-aos=fade-up], .is-desktop-preview [data-aos=fade-up] {
  transform: none;
}

.svg-icon {
  display: inline-block;
  max-width: 100%;
  max-height: 100%;
  vertical-align: middle;
  fill: currentColor;
}

.wp-block-cover .wp-block-cover__inner-container {
  text-align: inherit;
}

:where(h1, h2, h3, h4, h5, h6) em {
  color: var(--wp--preset--color--univers-main);
}

.resineo-fond.resineo-fond {
  margin-block-end: 0;
}

.has-background:has(+ :is(.has-background, .resineo-fond)) {
  margin-block-end: 0;
}

:root {
  --resineo-echelle: 1;
  --resineo-echelle-vh: 1;
}

@media (min-width: 1024px) and (max-width: 1599.98px) {
  :root:root {
    --resineo-echelle: 0.7;
    --resineo-echelle-vh: 0.55;
    --theme-normal-container-max-width: 1250px;
    --wp--preset--font-size--x-small: 11.5px;
    --wp--preset--font-size--small: 12.2px;
    --wp--preset--font-size--medium: 15px;
    --wp--preset--font-size--medium-large: 21px;
    --wp--preset--font-size--large: 30.5px;
    --wp--preset--font-size--x-large: 37.5px;
    --wp--preset--font-size--xx-large: 48px;
    --wp--preset--spacing--xs: 0.35rem;
    --wp--preset--spacing--sm: 0.7rem;
    --wp--preset--spacing--s: 1.26rem;
    --wp--preset--spacing--m: 2.38rem;
    --wp--preset--spacing--l: 3.36rem;
    --wp--preset--spacing--xl: 4.48rem;
    --rux-nav-k: 0.25;
    --rux-nav-after: 0.25;
    --rux-galerie-ratio: 1234 / 490;
    --rux-solutions-k: 0.85;
    --rux-dossier-spv: 5;
    --rux-alt-gap: var(--wp--preset--spacing--m);
    --rux-alt-img-wide: 42%;
    --rux-alt-img-narrow: 68%;
    --rux-reass-img-min: 400px;
    --rux-reass-justify: flex-start;
    --rux-video-w: 800px;
    --rux-hero-simple-ratio: 1230 / 420;
    --rux-mm-pad-haut: var(--wp--preset--spacing--sm);
    --rux-mm-pad-bas: var(--wp--preset--spacing--sm);
    --rux-mm-pad-gauche: var(--wp--preset--spacing--sm);
    --rux-mm-pad-droite: var(--wp--preset--spacing--sm);
  }
}
.resineo-bloc.resineo-bloc {
  padding-block: var(--rux-pad, var(--wp--preset--spacing--l));
}

.resineo-bloc.resineo-bloc:where(.resineo-fond) {
  padding-block: var(--rux-pad-fond, var(--rux-pad, var(--wp--preset--spacing--l)));
}

:root {
  --resineo-espace-fluide: clamp(6px, 0.65vw, 11px);
}

@media (min-width: 1024px) and (max-width: 1599.98px) {
  html:not(.rux-video-plein) article .entry-content > .wp-block-embed {
    max-width: var(--rux-video-w, 800px);
    margin-inline: auto;
  }
}
article .entry-content > :is(.resineo-section, .wp-block-image).alignfull + :not(.resineo-section, .wp-block-image.alignfull, .wp-block-spacer, :empty:last-child):not(:has(.resineo-section)) {
  padding-block-start: var(--wp--preset--spacing--l);
}

article .entry-content > :is(.resineo-section, .wp-block-image).alignfull + :is(h1, h2, h3, h4, h5, h6) {
  padding-block-end: var(--wp--preset--spacing--sm);
  margin-block-end: 0;
}

article .entry-content > :not(.resineo-section, .wp-block-image.alignfull, .wp-block-spacer, :empty:last-child):not(:has(.resineo-section)):has(+ :is(.resineo-section, .wp-block-image).alignfull) {
  padding-block-end: var(--wp--preset--spacing--l);
}

.editor-styles-wrapper .is-root-container > :is(:is([data-type^="resineo/"], [data-type^="acf/resineo-"]):not([data-type="resineo/encart-cta"], [data-type="resineo/sommaire"], [data-type="resineo/contenu-lire-la-suite"]), [data-type="core/image"]).alignfull + :not(:is([data-type^="resineo/"], [data-type^="acf/resineo-"]):not([data-type="resineo/encart-cta"], [data-type="resineo/sommaire"], [data-type="resineo/contenu-lire-la-suite"]), [data-type="core/image"].alignfull, .wp-block-spacer, .block-list-appender, :empty:last-child):not(:has(:is([data-type^="resineo/"], [data-type^="acf/resineo-"]):not([data-type="resineo/encart-cta"], [data-type="resineo/sommaire"], [data-type="resineo/contenu-lire-la-suite"]))) {
  padding-block-start: var(--wp--preset--spacing--l);
}

.editor-styles-wrapper .is-root-container > :is(:is([data-type^="resineo/"], [data-type^="acf/resineo-"]):not([data-type="resineo/encart-cta"], [data-type="resineo/sommaire"], [data-type="resineo/contenu-lire-la-suite"]), [data-type="core/image"]).alignfull + :is(h1, h2, h3, h4, h5, h6) {
  padding-block-end: var(--wp--preset--spacing--sm);
  margin-block-end: 0;
}

.editor-styles-wrapper .is-root-container > :not(:is([data-type^="resineo/"], [data-type^="acf/resineo-"]):not([data-type="resineo/encart-cta"], [data-type="resineo/sommaire"], [data-type="resineo/contenu-lire-la-suite"]), [data-type="core/image"].alignfull, .wp-block-spacer, .block-list-appender, :empty:last-child):not(:has(:is([data-type^="resineo/"], [data-type^="acf/resineo-"]):not([data-type="resineo/encart-cta"], [data-type="resineo/sommaire"], [data-type="resineo/contenu-lire-la-suite"]))):has(+ :is(:is([data-type^="resineo/"], [data-type^="acf/resineo-"]):not([data-type="resineo/encart-cta"], [data-type="resineo/sommaire"], [data-type="resineo/contenu-lire-la-suite"]), [data-type="core/image"]).alignfull) {
  padding-block-end: var(--wp--preset--spacing--l);
}

span.wp-block-heading {
  display: block;
}

.editor-styles-wrapper .resineo-heading-is-span {
  position: relative;
  outline: 2px dashed var(--wp--preset--color--univers-main, #1f3a4d);
  outline-offset: 6px;
}

.editor-styles-wrapper .resineo-heading-is-span::before {
  content: "SPAN · pas un titre";
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-100%);
  z-index: 5;
  padding: 1px 8px;
  border-radius: 3px;
  background: var(--wp--preset--color--univers-main, #1f3a4d);
  color: #fff;
  font-family: -apple-system, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-transform: none;
  pointer-events: none;
}

.editor-styles-wrapper .resineo-block-hidden {
  position: relative;
  outline: 2px dashed #b32d2e;
  outline-offset: 4px;
}

.editor-styles-wrapper .resineo-block-hidden::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: repeating-linear-gradient(135deg, rgba(120, 120, 120, 0.16) 0 8px, rgba(120, 120, 120, 0.04) 8px 16px), rgba(140, 140, 140, 0.42);
  pointer-events: none;
}

.editor-styles-wrapper .resineo-block-hidden::after {
  content: "● Désactivé — masqué au front";
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-100%);
  z-index: 6;
  padding: 2px 10px;
  border-radius: 3px;
  background: #b32d2e;
  color: #fff;
  font-family: -apple-system, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-transform: none;
  pointer-events: none;
}

.editor-styles-wrapper .resineo-block-pending {
  position: relative;
  outline: 2px dashed #b26200;
  outline-offset: 4px;
}

.editor-styles-wrapper .resineo-block-pending::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: repeating-linear-gradient(135deg, rgba(178, 98, 0, 0.14) 0 8px, rgba(178, 98, 0, 0.04) 8px 16px), rgba(178, 98, 0, 0.12);
  pointer-events: none;
}

.editor-styles-wrapper .resineo-block-pending::after {
  content: "◑ À compléter — remplir puis activer";
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-100%);
  z-index: 6;
  padding: 2px 10px;
  border-radius: 3px;
  background: #b26200;
  color: #fff;
  font-family: -apple-system, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-transform: none;
  pointer-events: none;
}

.ct-search-form[data-submit-button*=minimal] .wp-element-button {
  border-top-width: var(--theme-form-field-border-width, 1px);
  border-bottom-width: var(--theme-form-field-border-width, 1px);
  border-color: var(--theme-form-field-border-initial-color);
  border-top-style: var(--theme-form-field-border-style, solid);
  border-bottom-style: var(--theme-form-field-border-style, solid);
}

h2.wp-block-heading {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 400;
  line-height: 1.4;
  text-transform: none;
  color: var(--wp--preset--color--univers-grey-dark);
}

article .entry-content .wp-block-heading:not(article .entry-content :where([class*=resineo-], [class*=wp-block-acf-]) .wp-block-heading) {
  font-family: var(--wp--preset--font-family--titillium-web, "Titillium Web", sans-serif);
  color: var(--wp--preset--color--univers-grey-dark);
}

.editor-styles-wrapper .is-root-container .wp-block-heading:not(.editor-styles-wrapper :where([class*=resineo-], [class*=wp-block-acf-]) .wp-block-heading) {
  font-family: var(--wp--preset--font-family--titillium-web, "Titillium Web", sans-serif);
  color: var(--wp--preset--color--univers-grey-dark);
}

.editor-styles-wrapper .is-root-container h2.wp-block-heading:not(.editor-styles-wrapper :where([class*=resineo-], [class*=wp-block-acf-]) .wp-block-heading) {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 400;
  line-height: 1.4;
  text-transform: none;
}

.entry-content > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, blockquote, .wp-block-group):not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull),
.editor-styles-wrapper .is-root-container > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, blockquote, .wp-block-group):not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull) {
  max-width: var(--wp--custom--size--content-size, 1170px);
  margin-inline: auto;
}

.resineo-texte-centre:not(.alignwide):not(.alignfull),
.resineo-titre-texte-centre:not(.alignwide):not(.alignfull) {
  max-width: var(--wp--custom--size--content-size, 1170px);
  margin-inline: auto;
}

.resineo-em em {
  font-style: normal;
  color: inherit;
  padding: 2px 3px;
  background-image: linear-gradient(var(--wp--preset--color--univers-main), var(--wp--preset--color--univers-main));
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size 0.55s ease, color 0.2s ease;
  transition-delay: calc(var(--em-i, 0) * 90ms);
}

.resineo-em.is-revealed em {
  background-size: 100% 100%;
  color: var(--wp--preset--color--univers-white);
}

.editor-styles-wrapper p em {
  font-style: normal;
  background-color: var(--wp--preset--color--univers-main);
  color: var(--wp--preset--color--univers-white);
  padding: 2px 3px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.editor-styles-wrapper p em[data-rich-text-format-boundary] {
  background-color: var(--wp--preset--color--univers-main) !important;
  color: var(--wp--preset--color--univers-white) !important;
}

@media (prefers-reduced-motion: reduce) {
  .resineo-em em {
    transition: none;
  }
}
.single-guides .entry-header .page-title {
  font-weight: 500;
  line-height: 1.18;
  text-transform: none;
  color: var(--wp--preset--color--univers-grey-dark);
}

.single-guides .entry-content > h2,
.single-guides .entry-content > .wp-block-heading:is(h2) {
  font-size: var(--wp--preset--font-size--medium-large);
  font-weight: 500;
  line-height: 1.24;
  text-transform: none;
  color: var(--wp--preset--color--univers-main);
  margin-block: var(--wp--preset--spacing--m) var(--wp--preset--spacing--sm);
}
.single-guides .entry-content > h3,
.single-guides .entry-content > .wp-block-heading:is(h3) {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
  color: var(--wp--preset--color--univers-grey-dark);
  margin-block: var(--wp--preset--spacing--s) var(--wp--preset--spacing--xs);
}
.single-guides .entry-content > h4 {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.45;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-block: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--xs);
}
.single-guides .entry-content > p,
.single-guides .entry-content > ul,
.single-guides .entry-content > ol {
  line-height: 1.65;
}
.single-guides .entry-content .wp-block-image:not(.alignleft):not(.alignright) {
  text-align: center;
}
.single-guides .entry-content .wp-block-image:not(.alignleft):not(.alignright) img {
  height: auto;
  margin-inline: auto;
}
.single-guides .entry-content .wp-block-image:not(.alignleft):not(.alignright) figcaption {
  text-align: center;
}
.single-guides .entry-content .wp-block-gallery {
  justify-content: center;
}
.single-guides .entry-content .wp-block-table {
  overflow-x: auto;
}
.single-guides .entry-content .wp-block-table table {
  border-collapse: collapse;
}
.single-guides .entry-content .wp-block-table th,
.single-guides .entry-content .wp-block-table td {
  padding: 0.6em 0.8em;
  border: 1px solid var(--wp--preset--color--univers-light, #E8E0D4);
}
.single-guides .entry-content .wp-block-table th,
.single-guides .entry-content .wp-block-table thead td,
.single-guides .entry-content .wp-block-table tr:first-child strong {
  font-weight: 600;
}

.single-guides .ct-sidebar .resineo-encart-guide {
  margin-block: 0 var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--sm);
  border: 1px solid var(--wp--preset--color--univers-light, #E8E0D4);
  border-radius: 8px;
  background-color: var(--wp--preset--color--univers-grey-light, #F7F7F7);
}
.single-guides .ct-sidebar .resineo-encart-guide > :last-child {
  margin-bottom: 0;
}
.single-guides .ct-sidebar .resineo-encart-guide > .wp-block-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 var(--wp--preset--spacing--xs);
  font-family: var(--wp--preset--font-family--noto-serif);
  font-style: italic;
  font-weight: 400;
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  color: var(--wp--preset--color--univers-main);
}
.single-guides .ct-sidebar .resineo-encart-guide > .wp-block-heading::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--encart-icone) center/contain no-repeat;
  mask: var(--encart-icone) center/contain no-repeat;
}
.single-guides .ct-sidebar .resineo-encart-guide--sommaire {
  --encart-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 10h16M4 14h10M4 18h7'/%3E%3C/svg%3E");
}
.single-guides .ct-sidebar .resineo-encart-guide--presse {
  --encart-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2l2.9 6.3 6.9.8-5.1 4.7 1.4 6.8L12 17.3 5.9 20.6l1.4-6.8L2.2 9.1l6.9-.8z'/%3E%3C/svg%3E");
}
.single-guides .ct-sidebar .resineo-encart-guide--lies {
  --encart-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 5h6a3 3 0 013 3v11a2.5 2.5 0 00-2.5-2.5H3zM21 5h-6a3 3 0 00-3 3v11a2.5 2.5 0 012.5-2.5H21z'/%3E%3C/svg%3E");
}
.single-guides .ct-sidebar .resineo-encart-guide:has(> .resineo-sommaire[hidden]),
.single-guides .ct-sidebar .resineo-encart-guide:has(> .wp-block-heading + :last-child:empty) {
  display: none;
}
.single-guides .ct-sidebar .resineo-sommaire__titre {
  display: none;
}
.single-guides .ct-sidebar .resineo-sommaire__lien {
  padding: 5px 0;
  border-left: 0;
}
.single-guides .ct-sidebar .resineo-encart-cta__etiquettes {
  display: none;
}
.single-guides .ct-sidebar .resineo-bloc.resineo-bloc {
  padding-block: 0;
}
.single-guides .ct-sidebar .resineo-logos-clients {
  background: none;
  width: auto;
  max-width: none;
  margin-inline: 0;
}
.single-guides .ct-sidebar .resineo-logos-clients .swiper-wrapper {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 54px;
  align-items: center;
  gap: var(--wp--preset--spacing--xs);
}
.single-guides .ct-sidebar .resineo-logos-clients .swiper,
.single-guides .ct-sidebar .resineo-logos-clients .swiper-logos,
.single-guides .ct-sidebar .resineo-logos-clients .swiper-wrapper {
  height: auto;
  padding-bottom: 0;
}
.single-guides .ct-sidebar .resineo-logos-clients .swiper-slide {
  background: none;
  box-shadow: none;
  border-radius: 0;
  height: auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-guides .ct-sidebar .resineo-logos-clients .slide-logo {
  height: auto;
  padding: 0;
}
.single-guides .ct-sidebar .resineo-logos-clients .slide-logo img {
  height: auto;
  max-height: calc(46px * var(--resineo-echelle, 1));
}
.single-guides .ct-sidebar .resineo-logos-clients .swiper-slide:last-child:nth-child(odd) {
  grid-column: 1/-1;
  justify-self: center;
  max-width: 50%;
}
.single-guides .ct-sidebar .resineo-reassurance-picto .swiper-wrapper {
  display: flex !important;
  gap: 4px;
}
.single-guides .ct-sidebar .resineo-reassurance-picto .resineo-reassurance-picto__item {
  flex: 1 1 0;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  text-align: center;
  --rp-icon-size: 30px;
}
.single-guides .ct-sidebar .resineo-reassurance-picto .resineo-reassurance-picto__texte {
  text-align: center;
  font-size: 10px;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

@media (max-width: 999.98px) {
  .single-guides .ct-sidebar {
    display: none;
  }
}
.pum-overlay.resineo-dl-popup {
  background-color: rgba(0, 0, 0, 0.55);
  background-color: color-mix(in srgb, var(--wp--preset--color--univers-dark) 72%, transparent);
  backdrop-filter: blur(4px);
}

.pum-overlay.resineo-dl-popup.pum-active {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.pum-overlay.resineo-dl-popup .pum-container.pum-responsive {
  position: relative;
  inset: auto !important;
  width: min(680px, 100% - 2.5rem);
  max-width: none;
  max-height: calc(100% - 3rem);
  margin: 0;
  overflow-y: auto;
  transform: none;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-radius: 6px;
  background-color: var(--wp--preset--color--univers-white);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.pum-overlay.resineo-dl-popup .pum-content {
  color: var(--theme-text-color, inherit);
}

.pum-overlay.resineo-dl-popup .pum-content + .pum-close {
  display: flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  inset: 0.9rem 0.9rem auto auto;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  transition: background-color 0.2s ease, transform 0.2s ease;
  border: 0;
  border-radius: 50%;
  background-color: var(--wp--preset--color--univers-main);
  box-shadow: none;
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.pum-overlay.resineo-dl-popup .pum-content + .pum-close::before {
  content: "";
  display: block;
  width: 0.85rem;
  height: 0.85rem;
  transform: rotate(45deg);
  background-color: var(--wp--preset--color--univers-white);
  mask: url("../svg/plus.svg") center/contain no-repeat;
  -webkit-mask: url("../svg/plus.svg") center/contain no-repeat;
}
.pum-overlay.resineo-dl-popup .pum-content + .pum-close:hover, .pum-overlay.resineo-dl-popup .pum-content + .pum-close:focus-visible {
  transform: rotate(90deg);
  background-color: var(--wp--preset--color--univers-dark);
}

.pum-overlay.resineo-dl-popup .pum-content > h2 {
  margin-block-start: 0;
  padding-inline-end: 3rem;
  font-size: var(--wp--preset--font-size--medium-large);
  line-height: 1.2;
}

.pum-overlay.resineo-dl-popup .wsf-field-wrapper[data-type=submit] {
  display: flex;
  justify-content: flex-end;
  margin-block-start: 0.5rem;
}

.resineo-dl-document {
  margin-block: 0 0.75rem;
  color: var(--wp--preset--color--univers-main);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
  line-height: 1.3;
}

.resineo-dl-document--vide {
  display: none;
}

.resineo-dl-relance {
  margin-block-start: 1rem;
  font-size: var(--wp--preset--font-size--small);
  text-align: center;
}

@media (max-width: 600px) {
  .pum-overlay.resineo-dl-popup .wsf-field-wrapper {
    --wsf-c: 12;
  }
  .pum-overlay.resineo-dl-popup .pum-content > h2 {
    font-size: var(--wp--preset--font-size--medium);
  }
  .pum-overlay.resineo-dl-popup .pum-container.pum-responsive {
    width: calc(100% - 1.5rem);
    padding: 1.5rem;
  }
}

/*# sourceMappingURL=main.css.map */
