/* ===========================================================
   CREART'S WEB — site.css
   Auteur : Valérie Cheventner
   Rôle   : Surcharges propres pour Themify Ultra (+ Woo)
   ===========================================================

1.  Reset & Helpers

2.  Variables globales (:root)

3.  Base & Typo (body, headings, links)
    3.1 Texte manuscrit (Ephesis)
    3.2 H1 blanc (.h1-blanc)
    3.3 H1 sombre (.h1)
    3.4 H2 (.h2)
    3.5 H3 (.h3)
    3.6 H4 (.h4)
    3.7 Texte en majuscules / menus footer
    3.8  ARCHIVE — titres (cartes / listes)

4.  Layout (containers & grids) (à remplir ou supprimer du TOC)
    4.1 Espaces sections padding 4em T/B/L/R
    4.2 Espaces sections padding 4em top et bottom
    4.3 Espaces sections padding T/B 0 ET L/R 4 à 2em
    
5.  Composants
    5.1 Boutons (styles)
    5.2 Menu (cercles au hover + icônes header)
    5.3 Footer (centrage contact)
    5.4 Boutique (WooCommerce)
    5.4.1 Cartes produits (archives)
    5.4.2 Single product (titre, typo, boutons)
    5.5 Breadcrumbs
    5.6 Post filter (page archive Actualités)
    5.7 Espace liste à puce
   
6.  Effets & Animations
    6.1 Effet glass
    6.2 Parallax (classe .parallax-rwd)

7.  Overrides & Fixes (Thème/Plugins)
    7.1 Boutons Themify (spécificité/paddings/radius)
    7.2 Effet glass — compatibilité éditeur

8.  Responsive
    8.1 Titres (H1–H4)
    8.2 Section parallax — hauteur mobile/tablette (si tu veux conserver .section-parallax séparée, précise-le ici plutôt qu’en 6)

9.  Utilitaires (icônes & couleurs)
    9.1 Couleur des SVG / .icon-*

10.Print

===========================================================
*/

/* == 01) Reset & Helpers ================================ */

/* Applique la "boîte" CSS universelle
   → padding + border sont inclus dans width/height (plus prévisible) */
*, *::before, *::after { 
  box-sizing: border-box; 
}

/* Images, SVG et vidéos :
   - max-width:100% → ne débordent jamais de leur conteneur
   - height:auto → gardent leur ratio
   - display:block → supprime les petits espaces fantômes en inline */
img, svg, video { 
    max-width: 100%; 
    height: auto; 
    display: block; 
}


/* ========================
   2.VARIABLES 
   ======================== */
:root{
/* --- Polices --- */
  --ff-base: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --ff-hand: "Ephesis", cursive;

/* --- Couleurs primaires (identité principale) --- */
  --c-primary: #9CBEBD; /* Vert */
  --c-primary-light-30: rgba(156, 190, 189, 0.3); /* Vert pastel #9CBEBD à 30% d'opacité */
  --c-primary-dark: #2f5e5d;  /* Vert foncé (c-dark-green) */
  
/* --- Couleurs secondaires (rose d'accent) --- */
  --c-secondary :#e5a3c2 ;/* Rose */
  --c-secondary-40:rgba(229, 163, 194, 0.4); /* Rose #e5a3c2 à 40 % d’opacité */

/* --- Couleur accent (boutons, CTA, interactions) --- */
  --c-accent:#701b46; /* prune */
  --c-accent-hover: #ffffff;  /* Survol (blanc) */
  --c-border: #050505;        /* Bordure noir */

/* --- Couleurs neutres --- */
  --c-white: #ffffff;         /* Blanc  */
  --c-black: #050505;         /* Noir principal */
  --c-heading: #111;          /* Titres */
  --c-text: #222;             /* Texte standard */

/* --- Tailles de typo (clamp en em) --- */
   --fs-h1: clamp(1.875rem, 1.5rem + 3.5vw, 4rem); /* H1 : mobile ≈30→35px, pente plus forte (3.5vw) jusqu’à 64px max (4rem) sur grand écran */
  --fs-h2: clamp(1.25em, 1em + 1.6vw, 2.1875em);  /*  min 20px | 375px = 22px | max 35px  */
  --fs-h3: clamp(1em, 1em + 0.533vw, 1.625em);  /*  min 16px | 375px ≈ 18px | max 26px  */
 --fs-h4: clamp(0.9375em, 0.9em + 0.25vw, 1.375em); /* H4 : min ≈15px | mobile 16px | max ≈22px */
  --fs-body: clamp(1em, 0.95em + 0.35vw, 1.125em); /*  min 16px | 375px ≈ 17.3px | max 18px  */
  --fs-typo-hand: clamp(3em, 1.2em + 4vw, 7em); /*  min 32px | 375px ≈ 34px | max 64px  */
  --fs-body-sp: clamp(0.9375rem, 0.9rem + 0.3vw, 1.0625rem);/* min ≈15px | ~16px autour de 768px | max ≈17px */
  
/*--- Tailles compactes pour articles / archives */
  --fs-article-h1: clamp(1.5rem, 1.1rem + 2.2vw, 2.5rem);  /* ~24→40px */
  --fs-article-h2: clamp(1.125rem, 1rem + 1.2vw, 1.55rem); /* ~18→25px */
  --fs-article-h3: clamp(1rem, 0.95rem + 0.6vw, 1.25rem);  /* ~16→20px */
 
/* ---Transformation de texte (uppercase, capitalise) --- */
 --tt-uppercase:uppercase;
 --tt-capitalize:capitalize;
 
/* --- Interlignes --- */
  --lh-tight:1.2;   /* titres serrés */
  --lh-normal:1.4;  /* texte compact */
  --lh-loose:1.6;   /* paragraphes lisibles */

/* --- Poids --- */
  --w-200:200;
  --w-300:300;
  --w-400:400;
  --w-500:500;
  --w-600:600;

/* --- Espacement lettres --- */
  --ls-1:1px;

/* --- Radius --- */
  --br-small: 5px;
  --br-medium: 10px;
  --br-pill: 999px;
  
/* --- Espacements --- */
  --sp-1:  5px; 
  --sp-2: 10px;
  --sp-3: 20px;
  
/* --- Spacing sections (desktop + tab paysage) --- */
  --sec-pad-block: 4em;                          /*  padding-top:4em; padding-bottom:4em; */
    --sec-pad-inline: clamp(2em, calc(2em + (100vw - 64rem) / 13), 4em); /* padding left/right : 2em→4em */
  --sec-mt: 4em;                                /* margin-top */
  --sec-mb: clamp(0em, -1em + 6vw, 4em);        /* margin-bottom : 0→4em */
  --sec-pad-block-0: 0;                         /* top/bottom = 0 */
  --sec-pad-inline-tight: clamp(1em, calc(1em + (100vw - 64rem)/13), 4em); /* left/right : 1em → 4em */
  

/* --- Paramétrage des variable pour l'effet cercle sur le Menu --- */
  
    --menu-circle-color: var(--c-main-green);
    --menu-small-d: 30px;
    --menu-large-d: 45px;
    --menu-small-w: 4px;
    --menu-large-w: 2px;
    --menu-anim: .35s cubic-bezier(.2,.7,.3,1);

/* --- Paramétrage des variables pour les Produits d'archives --- */
    --card-gap: var(--sp-3);          /* espace entre cartes */
    --card-padding: var(--sp-2);      /* padding interne */
    --card-radius: var(--br-small);   /* arrondi des cartes */
    --card-ratio: 4 / 3;              /* ratio image (1/1 pour carré, 3/2, 16/9…) */
    --product-title-lines: 2;         /* nb de lignes max pour le titre */

 /* --- Hauteur du menu --- */
    --header-h: 84px;  /* à ajuster si besoin */
    
}


/* ======================================== 
     3. BASE & TYPO (BODY, HEADINGS, LINKS)
     ====================================== */

    /* ======================================
        3.1 P.EPHESIS (texte manuscrit blanc)
       ====================================== */

/* Cas direct : <p class="typo-hand"> */
p.typo-hand {
  font-family: 'Ephesis', cursive !important;
  font-size: var(--fs-typo-hand);
  line-height: 0.95 !important;
  letter-spacing: var(--ls-1) !important;
  color: var(--c-white) !important;
  font-weight:  var(--w-500);
}

/* La classe est sur un conteneur qui contient le <p> */
.typo-hand p {
  font-family: var(--ff-hand);
  font-size: var(--fs-typo-hand);
  line-height: 1;
  letter-spacing: var(--ls-1);
  color: var(--c-white);
  font-weight: var(--w-400);
}

/* Neutralise les spans/strong éventuels générés par Themify */
p.typo-hand * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

    /* ===========================================================
        3.2. H1 blanc (module texte avec classe h1-blanc)
       =========================================================== */

/* Cible le <h1> à l'intérieur du module .h1-blanc */
.h1-blanc h1 {
  font-size: var(--fs-h1);
  font-weight: var(--w-300);
  text-transform: uppercase;
  letter-spacing: var(--ls-1);
  line-height: 1.2;
  color: var(--c-white);
}

/* Neutralise les styles ajoutés sur des enfants <span>/<strong> éventuels */
.h1-blanc h1 * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

    /* =============================================
       3.3 H1 noir (module texte avec classe h1)
       ============================================= */

/* Cible le <h1> à l'intérieur du module .h1 */
.h1 h1 {
  font-size: var(--fs-h1);
  font-weight: var(--w-300);
  text-transform: uppercase;
  letter-spacing: var(--ls-1);
  line-height: 1.2;
  color: var(--c-heading);
}

/* Neutralise les styles ajoutés sur des enfants <span>/<strong> éventuels */
.h1 h1 * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}


/* ===========================================================
   3.4 H2 (module texte avec classe h2)
   =========================================================== */

/* Cible le <h2> à l'intérieur du module .h2 */
.h2 h2{
  font-family: var(--ff-base);
  font-size: var(--fs-h2);
  font-weight: var(--w-600);
  text-transform: uppercase;
  letter-spacing:var(--ls-1);
   line-height:var(--lh-normal);
  color: var(--c-heading);
}

/* Neutralise les styles ajoutés sur des enfants <span>/<strong> éventuels */
.h2 h2 * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}


/* ===========================================================
   3.5. H3 (module texte avec classe h3)
   =========================================================== */

/* Cible le <h3> à l'intérieur du module .h3 */
.h3 h3 {  
    font-family: var(--ff-base);
  font-size: var(--fs-h3);
  font-weight: var(--w-400);
  text-transform: uppercase;
  letter-spacing: var(--ls-1);
  line-height: 1.35;
  color: var(--c-heading);
}

/* Neutralise les styles ajoutés sur des enfants <span>/<strong> éventuels */
.h3 h3 * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

/* ===========================================================
   3.6. H4 (module texte avec classe h4)
   =========================================================== */
.h4 h4 {
  font-family: var(--ff-base);
  font-size: var(--fs-h4);
  font-weight: var(--w-500);
  text-transform: uppercase;
  letter-spacing: var(--ls-1);
  line-height: 1.35;
  color: var(--c-heading);
}
   
  /* Neutralise les styles ajoutés sur des enfants <span>/<strong> éventuels */
.h4 h4 * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
} 
   
 /* ===========================================================
   3.6 bis. H4 pour module Service Menu (Themify)
   =========================================================== */

.tb-menu-title {
  font-family: var(--ff-base);
  font-size: var(--fs-h4);
  font-weight: var(--w-500);
  text-transform: uppercase;
  letter-spacing: var(--ls-1);
  line-height: 1.35;
  color: var(--c-heading);
}

/* Neutraliser les <span>/<strong> internes si Themify en injecte */
.tb-menu-title * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
  

/* ===========================================================
   3.7. Texte en majuscules 
   =========================================================== */
.typo-caps{ 
    font-size:var(--fs-body); 
    font-weight: var(--w-500); 
    text-transform:uppercase; 
    letter-spacing:var(--ls-1); 
}
.typo-caps-small p{ 
    font-size:0.9em; 
    font-weight: var(--w-600); 
    text-transform:uppercase; 
    letter-spacing:var(--ls-1); 
   }  
.menu-footer ul#menu-footer{ 
    display:flex;
    flex-direction:column;
    font-size:0.9em; 
    font-weight: var(--w-400); 
    text-transform:uppercase; 
    letter-spacing:var(--ls-1); 
   }  

/* ===========================================================
   3.8  ARCHIVE — titres (cartes / listes)
   À poser sur le module : "archive-title" ou "archive-title--sm"
   =========================================================== */


/* Taille standard (~18 → 30 px) */
.archive-title .tbp_title,
.archive-title h2{
  font-size: var(--fs-article-h2) !important;
  font-weight: var(--w-600);
  text-transform: uppercase;
  letter-spacing: normal;
  line-height: var(--lh-normal);
  color: var(--c-heading);
  margin: 0;
}

/* Variante compacte (~16 → 20 px) */
.archive-title--sm .tbp_title,
.archive-title--sm h2{
  font-size: var(--fs-article-h3) !important;
  font-weight: var(--w-600);
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.35;
  color: var(--c-heading);
  margin: 0;
}

/* Liens */
.archive-title .tbp_title a,
.archive-title--sm .tbp_title a,
.archive-title h2 a,
.archive-title--sm h2 a{
  color: inherit;
  text-decoration: none;
}
.archive-title .tbp_title a:hover,
.archive-title--sm .tbp_title a:hover,
.archive-title h2 a:hover,
.archive-title--sm h2 a:hover{
  text-decoration: underline;
 }


/* ===========================================================
   ARTICLES / SINGLES — H2 compacts
   À poser sur le module : "article-h2"
   =========================================================== */

.article-h2 h2,
.module-post-title.article-h2 .tbp_title{
  /* ~18 → 25 px */
  font-size: var(--fs-article-h2);
  font-weight: var(--w-600);
  text-transform: uppercase;
  letter-spacing: normal;
  line-height: var(--lh-normal);
  color: var(--c-heading);
  margin: 0;
  padding-bottom:0.8em;
}

/* Héritage propre si <span>/<strong> à l’intérieur */
.article-h2 h2 *{
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}



   
/* =========================
   4. Layout — Spacing utilitaires
   ========================= */
/* Thèmes de section */
.section--rose{
  background-color: var(--c-secondary-40);
}
.section--vert{
  background-color: var(--c-primary-light-30);
}

/* 4.1 Espacement global */
.section-spacing{
    padding-block: var(--sec-pad-block);   /* Padding vertical (haut + bas) des     sections,ici 4em partout via --sec-pad-block */
    
    padding-inline: var(--sec-pad-inline); /* Padding horizontal (gauche + droite),fluide avec clamp : 2em → 4em selon la     largeur */
    

    margin-block-start: var(--sec-mt);     /* Marge externe en haut de la section     (toujours 4em) */
    
    margin-block-end: var(--sec-mb);       /* Marge externe en bas, fluide : 0 → 4em     selon la largeur */
    
    }
    
/* 4.2 */
.section-spacing--left-right{
    padding-inline: var(--sec-pad-inline);
    margin-block-start: var(--sec-mt);
    margin-block-end: var(--sec-mb);
    }

/* 4.3 Espaces sections — T/B = 0, L/R = 4→2em (via clamp)*/ 

/* Utilité réutilisable pour les sections/rows */
.sec--pad-0tb{
  padding-block: var(--sec-pad-block);      /* top/bottom = 4 */
  padding-inline: var(--sec-pad-inline-tight);/* left/right = 1→4em */
  
  
  /* Fallback anciens navigateurs */
  padding-top: 0; 
  padding-bottom: 0;
  padding-left: var(--sec-pad-inline-tight);
  padding-right: var(--sec-pad-inline-tight);
}


   
/* ===========================================================
                        5. COMPOSANTS
   ===========================================================*/
   
/* 5.1 BOUTONS 
   Boutons Themify – Style par défaut prune personnalisé */

/* 1) Police par défaut sur TOUS les boutons (bloc séparé !) */
a.builder_button,
a.ui.builder_button,
.module .btn,
.btn,
.btn.btn-primary,
button,
input[type="submit"],
input[type="button"] {
  font-family: var(--ff-base) !important;
}

/* Base : tous les <a class="builder_button"> */
a.builder_button,
a.ui.builder_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* Espacements */
  padding: var(--sp-2) var(--sp-3);   /* 10px haut/bas, 20px gauche/droite */
  line-height: var(--lh-tight);

  /* Typographie */
  font-family: var(--ff-base);
  font-weight: var(--w-500);
  font-size: var(--fs-body);
  text-transform: var(--tt-uppercase);
  letter-spacing: var(--ls-1);

  /* Styles visuels */
  border: none; /* Pas de bordure par défaut */
  border-radius: var(--br-small);
  background-color: var(--c-accent) !important; /* Orange par défaut */
  color: var(--c-white) !important;                        /* Texte blanc */
  text-decoration: none;
  cursor: pointer;

  /* Effets & accessibilité */
  overflow: hidden;
  transition: transform .2s ease, background-color .3s ease, color .3s ease, border .3s ease;
}

/* Hover : fond blanc, texte noir, bordure noire */
a.builder_button:hover,
a.ui.builder_button:hover {
  background-color: var(--c-accent-hover) !important; /* blanc */
  border: 1px solid var(--c-border);                  /* bordure uniquement au hover */
  color: var(--c-black) !important;
  transform: translateY(1px);
}

/* Active : retour à plat */
a.builder_button:active,
a.ui.builder_button:active {
  transform: translateY(0);
}

/* Focus clavier visible (accessibilité) */
a.builder_button:focus-visible,
a.ui.builder_button:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* Neutralise l’uppercase imposé par Themify */
a.builder_button,
a.ui.builder_button,
a.builder_button span,
a.ui.builder_button span,
.module .btn,
.btn,
.btn span,
button,
button span,
input[type="submit"],
input[type="button"] {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Première lettre seulement en majuscule */
a.builder_button::first-letter,
a.ui.builder_button::first-letter,
a.builder_button span::first-letter,
a.ui.builder_button span::first-letter,
.module .btn::first-letter,
.btn::first-letter,
.btn span::first-letter,
button::first-letter,
button span::first-letter,
input[type="submit"]::first-letter,
input[type="button"]::first-letter {
  text-transform: uppercase !important;
}

/* Réduction animations si l’utilisateur l’a demandé */
@media (prefers-reduced-motion: reduce) {
  a.builder_button,
  a.ui.builder_button {
    transition: none !important;
    transform: none !important;
  }
}

/* ===========================================================
   Variante btn-green (blanc + bordure noire)
   Repos : vert foncé, texte blanc, pas de bordure
   Hover : fond blanc, texte noir, avec bordure
   =========================================================== */

.module-buttons.btn-green a.builder_button,
.module-buttons .btn-green a.builder_button,
.module.btn-green a.builder_button,
a.builder_button.btn-green,
a.ui.builder_button.btn-green {
  background-color: var(--c-primary-dark) !important;
  color: var(--c-white) !important;
  border: none !important;
}
.module-buttons .btn-green a.builder_button.tb_default_color,
a.builder_button.btn-green.tb_default_color {
  background-image: none !important;
  box-shadow: none !important;
}
.module-buttons.btn-green a.builder_button:hover,
.module-buttons .btn-green a.builder_button:hover,
.module.btn-green a.builder_button:hover,
a.builder_button.btn-green:hover,
a.ui.builder_button.btn-green:hover {
  background-color: var(--c-accent-hover) !important; /* blanc */
  color: var(--c-black) !important;
  border: 1px solid var(--c-border) !important;
  transform: translateY(1px);
}
.module-buttons .btn-green a.builder_button > span,
a.builder_button.btn-green > span { color: inherit !important; }
a.builder_button.btn-green:focus-visible,
a.ui.builder_button.btn-green:focus-visible {
  outline: 2px solid var(--c-primary-dark);
  outline-offset: 2px;
}

/* ===========================================================
   Variante btn-white
   Repos : blanc + bordure noire
   Hover : fond orange, texte noir, sans bordure
   =========================================================== */
.module-buttons .btn-white a.builder_button,
.module-buttons-item.btn-white a.builder_button,
.module.btn-white a.builder_button,
a.builder_button.btn-white,
a.ui.builder_button.btn-white {
  background-color: var(--c-accent-hover) !important; /* blanc */
  color: var(--c-black) !important;
  border: 1px solid var(--c-border) !important;
}
.module-buttons .btn-white a.builder_button > span,
a.builder_button.btn-white > span { color: inherit !important; }
.module-buttons .btn-white a.builder_button:hover,
.module-buttons-item.btn-white a.builder_button:hover,
.module.btn-white a.builder_button:hover,
a.builder_button.btn-white:hover,
a.ui.builder_button.btn-white:hover {
  background-color: var(--c-accent) !important;       /* orange */
  color: var(--c-white) !important;
  border: none !important;
  transform: translateY(1px);
}
a.builder_button.btn-white:focus-visible,
a.ui.builder_button.btn-white:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* ===========================================================
   Variante .btn-prune (repos prune → hover vert foncé)
   =========================================================== */
.module-buttons .btn-prune a.builder_button,
.module-buttons-item.btn-prune a.builder_button,
.module.btn-prune a.builder_button,
a.builder_button.btn-prune,
a.ui.builder_button.btn-prune {
  background-color: var(--c-accent) !important;
  color: var(--c-white) !important;
  border: none !important;
}
.module-buttons .btn-prune a.builder_button > span,
a.builder_button.btn-prune > span { color: inherit !important; }
.module-buttons .btn-prune a.builder_button:hover,
.module-buttons-item.btn-prune a.builder_button:hover,
.module.btn-prune a.builder_button:hover,
a.builder_button.btn-prune:hover,
a.ui.builder_button.btn-prune:hover {
  background-color: var(--c-primary-dark) !important; /* vert foncé */
  color: var(--c-white) !important;
  border: none !important;
  transform: translateY(1px);
}
a.builder_button.btn-prune:focus-visible,
a.ui.builder_button.btn-prune:focus-visible {
  outline: 2px solid var(--c-primary-dark);
  outline-offset: 2px;
}

/* ===========================================================
   Boutons module Contact / formulaires (btn, submit)
   prune / white - hover blanc / noir
   =========================================================== */
.module-contact .btn,
.module .btn,
.btn.btn-primary,
button[type="submit"],
input[type="submit"],
input[type="button"] {
  background-color: var(--c-accent) !important;
  color: var(--c-white) !important;
  border: none !important;
  border-radius: var(--br-small);
  font-family: var(--ff-base);
  font-size: var(--fs-body);
  font-weight: var(--w-500);
  text-transform: var(--tt-uppercase);
  letter-spacing: var(--ls-1);
  line-height: var(--lh-tight);
  padding: var(--sp-2) var(--sp-3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background-color .3s ease, color .3s ease, border .3s ease;
  background-image: none !important;
  box-shadow: none !important;
}
.btn .tf_loader,
.btn .tf_submit_icon { color: inherit !important; }
.module-contact .btn:hover,
.module .btn:hover,
.btn.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background-color: var(--c-accent-hover) !important;
  color: var(--c-black) !important;
  border: 1px solid var(--c-border) !important;
  transform: translateY(1px);
}
.btn.btn-primary:active,
button[type="submit"]:active,
input[type="submit"]:active { transform: translateY(0); }
.btn.btn-primary:focus-visible,
button[type="submit"]:focus-visible,
input[type="submit"]:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* ========================
   5.2 MENU 
   ======================== */
   
  
/* ===== MENU (module avec classe .header-menu) ===== */
.header-menu .nav{
  display:flex; 
  align-items:center; 
  justify-content:center;
/*  gap:1.25rem; */
  margin:0; 
  padding:0; 
  list-style:none;
}
.header-menu .nav.tf_clearfix::before,
.header-menu .nav.tf_clearfix::after{ 
    content:none !important; 
    display:none !important; }

/* Liens */
.header-menu .nav > li > a{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  padding:.55em .8em !important; 
  line-height:1;
  font-family:var(--ff-base,system-ui);
  font-size:14px; font-weight:var(--w-500);
  color:var(--c-black) !important;
  text-transform:var(--tt-uppercase) !important; 
  letter-spacing:normal !important;
  text-decoration:none; z-index:1;
}

/* Effet double-cercle */
.header-menu .nav > li > a::before,
.header-menu .nav > li > a::after{
  content:""; position:absolute; top:50%; left:50%; border-radius:50%;
  transform:translate(-50%,-50%) scale(0);
  transition:transform var(--menu-anim,.35s cubic-bezier(.2,.7,.3,1));
  z-index:-1;
}
.header-menu .nav > li > a::before{
  width:var(--menu-small-d,30px); height:var(--menu-small-d,30px);
  border:var(--menu-small-w,4px) solid var(--menu-circle-color,#A2C2C1);
}
.header-menu .nav > li > a::after{
  width:var(--menu-large-d,45px); height:var(--menu-large-d,45px);
  border:var(--menu-large-w,2px) solid var(--menu-circle-color,#A2C2C1);
}
.header-menu .nav > li > a:hover::before,
.header-menu .nav > li > a:hover::after{ transform:translate(-50%,-50%) scale(1); }

/* État actif */
.header-menu .nav .current-menu-item > a::before,
.header-menu .nav .current_page_item > a::before,
.header-menu .nav .current-menu-ancestor > a::before,
.header-menu .nav .current-menu-item > a::after,
.header-menu .nav .current_page_item > a::after,
.header-menu .nav .current-menu-ancestor > a::after{
  transform:translate(-50%,-50%) scale(1);
}

/* Responsive des tablette portrait (si toggle activé dans le module) */
@media (max-width:1024px){
  .header-menu .nav{ gap:.9rem; }
  .header-menu .nav > li > a{ padding:.5em .7em; font-size:13px; }
}



/* ===============================================================
    5.3     BOUTIQUE    
   =============================================================== */
   
   
 /* Woo — Cartes produits (version CSS Grid)
    Objectif : cartes cadeaux alignées, mêmes hauteurs,
    bouton collé en bas, titres uniformes */
   

/* 1) Le conteneur UL devient une vraie grille */
.module-products .loops-wrapper.products.wc-products{
  display: grid;                         /* active CSS Grid */
  gap: var(--card-gap, 20px);            /* espace entre cartes (20px par défaut) */
  margin: 0;                             /* nettoyage des marges UL héritées */
  padding: 0;                            /* idem padding */
  list-style: none;                      /* pas de puces */
  align-items: stretch;                  /* force toutes les lignes à avoir la même hauteur */
  justify-items: stretch;                /* force les colonnes à occuper tout l’espace */
}

/* 2) Mapping colonnes selon la classe Themify (.grid2, .grid3, .grid4) */
.module-products .loops-wrapper.products.wc-products.grid4{ 
  grid-template-columns: repeat(4, minmax(0,1fr)); /* 4 colonnes égales */
}
.module-products .loops-wrapper.products.wc-products.grid3{ 
  grid-template-columns: repeat(3, minmax(0,1fr)); /* 3 colonnes égales */
}
.module-products .loops-wrapper.products.wc-products.grid2{ 
  grid-template-columns: repeat(2, minmax(0,1fr)); /* 2 colonnes égales */
}

/* 3) Neutralise les anciennes règles floats/width héritées du thème */
.module-products .loops-wrapper.products.wc-products > li.product{
  margin: 0 !important;      /* supprime margin-top qui créait le décalage */
  float: none !important;    /* désactive float Themify */
  clear: none !important;    /* idem pour clear */
}

/* 4) Supprime les pseudos clearfix qui créaient une carte vide en première case */
.module-products .loops-wrapper.products.wc-products::before,
.module-products .loops-wrapper.products.wc-products::after{
  content: none !important;
  display: none !important;
}

/* 5) Responsive : 2 colonnes sur tablette, 1 sur mobile */
@media (max-width: 1024px){
  .module-products .loops-wrapper.products.wc-products.grid4,
  .module-products .loops-wrapper.products.wc-products.grid3{
    grid-template-columns: repeat(2, minmax(0,1fr)); /* passe à 2 colonnes */
  }
}
@media (max-width: 640px){
  .module-products .loops-wrapper.products.wc-products.grid4,
  .module-products .loops-wrapper.products.wc-products.grid3,
  .module-products .loops-wrapper.products.wc-products.grid2{
    grid-template-columns: 1fr; /* 1 colonne pleine largeur */
  }
}

/* —————————————————————————————----------------------------
   5.3.1 CARTES CADEAUX : style "image en haut + titre + prix"
   —————————————————————————————---------------------------- */

/* Carte globale (bord fin vert, coins arrondis) */
.module-products .loops-wrapper.products.wc-products > li.product{
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  border-radius: var(--card-radius, 8px);
  overflow: hidden;
  background: var(--c-accent);
  box-shadow: none;
}

/* Image : ratio carré (selon préférence peu être ajuster en 4/3) */
.module-products .loops-wrapper.products.wc-products li.product figure.post-image{
  margin: 0 !important;
  aspect-ratio: var(--card-ratio, 1/1);
  overflow: hidden;
}
.module-products .loops-wrapper.products.wc-products li.product figure.post-image img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}


/* Titre */
.module-products .loops-wrapper.products.wc-products .woocommerce-loop-product__title{
  margin: 0 0 .35rem !important;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: var(--product-title-lines, 2);
  -webkit-box-orient: vertical;
  overflow: hidden;
  /*min-height: calc(var(--product-title-lines, 2) * 1.25em);*/
   color:var(--c-white)!important;
}
.module-products .loops-wrapper.products.wc-products .woocommerce-loop-product__title a{
    color:var(--c-white) !important;
}

/* Prix */
.module-products .loops-wrapper.products.wc-products .price{
  margin: .15rem 0 0 !important;
  text-align: center;
  font-weight: 600;
  color:var(--c-white)!important;
}

/* Hover discret (optionnel) */
.module-products .loops-wrapper.products.wc-products > li.product:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* Bouton Ajouter au panier (global, y compris gift card PWGC) */
.single-product .summary .single_add_to_cart_button,
.woocommerce-variation-add-to-cart .single_add_to_cart_button {
  height: var(--control-h, 44px);
  padding: 0 var(--sp-3);
  border-radius: var(--br-medium);
  border: 1px solid #cfcac8;
  background: #d9d6d5;
  color: var(--c-text);
  text-transform: var(--tt-uppercase);
  letter-spacing: var(--ls-1);
  font-weight: var(--w-600);
  font-family: var(--ff-base);
}

/* Hover */
.single-product .summary .single_add_to_cart_button:hover,
.woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
  filter: brightness(.96);
}

/* ==============================================
   5.3.2 SINGLE PRODUCT — TITRE PRODUIT + BODY
   ============================================== */

/* =========================================================
   SINGLE PRODUCT — TYPOGRAPHIE
   ========================================================= */

/* Titre produit (Themify Builder) */
.single-product .tbp_title {
  font-family: var(--ff-base);
  font-weight: var(--w-500);
  text-transform: var(--tt-uppercase);
  font-size: clamp(1.125rem, 1rem + 0.8vw, 1.5rem); /* min 18px → max 24px */
  line-height: var(--lh-tight);
  color: var(--c-heading);
  margin-bottom: var(--sp-2);
}


/* Texte global du single product */
.single-product,
.single-product .summary,
.single-product .summary p,
.single-product .woocommerce-product-details__short-description {
  font-family: var(--ff-base);
  font-size: var(--fs-body-sp); /* variable dédiée single product */
  line-height: var(--lh-loose);
  font-weight: var(--w-400);
  color: var(--c-text);
  margin-bottom: var(--sp-2);
}


/* Titres à l'intérieur des panneaux d'onglets WooCommerce (Description, Avis, etc.)
   -> forcer la typo "texte de base" */
.single-product .module-product-reviews .woocommerce-tabs .panel.entry-content h2,
.single-product .module-product-reviews .woocommerce-tabs .panel.entry-content h3,
.single-product .module-product-reviews .woocommerce-tabs .panel.entry-content h4,
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3,
.single-product .woocommerce-Tabs-panel h4,
.single-product .product .entry-content.wc-tab h2,
.single-product .product .entry-content.wc-tab h3,
.single-product .product .entry-content.wc-tab h4{
  font-family: var(--ff-base) !important;
  font-size: var(--fs-body-sp, var(--fs-body)) !important; /* fallback si fs-body-sp absent */
  font-weight: var(--w-500) !important;
  line-height: var(--lh-normal) !important;
  text-transform: none !important;     /* pas d’uppercase */
  letter-spacing: normal !important;
  color: var(--c-heading) !important;
  margin: 0 0 var(--sp-2) !important;
  }

/* Bouton "Ajouter au panier" (single product, y compris variations PWGC) */
.single-product .summary .single_add_to_cart_button.button,
.single-product .summary .single_add_to_cart_button.button.alt,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  background: var(--c-accent) !important;   /* fond */
  border: 1px solid var(--c-accent) !important; /* bordure */
  color: var(--c-white) !important;                        /* texte (blanc réel pour le contraste) */
  font-family: var(--ff-base) !important;
  font-size: var(--fs-body-sp, var(--fs-body)) !important;
  font-weight: var(--w-600) !important;
  text-transform: var(--tt-uppercase) !important;
  letter-spacing: var(--ls-1) !important;
  height: var(--control-h, 44px) !important;
  padding: 0 var(--sp-3) !important;
  border-radius: var(--br-medium) !important;
  line-height: var(--lh-tight) !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

/* Hover : un vert plus soutenu */
.single-product .summary .single_add_to_cart_button.button:hover,
.single-product .summary .single_add_to_cart_button.button.alt:hover,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
  background: var(--c-accent-hover) !important;
  border-color: var(--c-black) !important;
  color: var(--c-black) !important;
}

/* État désactivé (avant choix de la variation) */
.single-product .summary .single_add_to_cart_button.button.disabled,
.single-product .summary .single_add_to_cart_button.button.alt.disabled,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled,
.single-product .summary .single_add_to_cart_button.wc-variation-selection-needed {
  opacity: .6 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}


/* Panier — bouton "Mettre à jour le panier" (persiste après refresh AJAX) */

.woocommerce-cart .cart .actions .button[name="update_cart"],
.woocommerce .woocommerce-cart-form .actions .button[name="update_cart"]{
  background: var(--c-accent) !important;
  border: 1px solid var(--c-accent) !important;
  color: var(--c-white) !important;
  border-radius: var(--br-medium) !important;
  font-family: var(--ff-base) !important;
  font-size: var(--fs-body-sp, var(--fs-body)) !important;
  font-weight: var(--w-600) !important;
  text-transform: var(--tt-uppercase) !important;
  letter-spacing: var(--ls-1) !important;
  height: var(--control-h, 44px) !important;
  padding: 0 var(--sp-3) !important;
  line-height: var(--lh-tight) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  opacity:1 !important;
}
/* Panier - Titre du produit */
.product-name a{
    color:var(--c-black)!important;
}

/* Hover */
.woocommerce-cart .cart .actions .button[name="update_cart"]:hover,
.woocommerce .woocommerce-cart-form .actions .button[name="update_cart"]:hover{
  background: var(--c-secondary-40) !important;
  border-color: var(--c-black) !important;
  color: var(--c-black) !important;
}

/* État désactivé (par défaut avant modif quantité) */
.woocommerce-cart .cart .actions .button[name="update_cart"][disabled],
.woocommerce .woocommerce-cart-form .actions .button[name="update_cart"][disabled]{
  opacity: 1 !important;
  cursor: not-allowed !important;
}

/* Bouton "Valider la commande" responsive */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  display: inline-flex !important;
  align-items: center !important;      /* centre verticalement */
  justify-content: center !important;  /* centre horizontalement */
  min-height: var(--control-h, 44px) !important; /* hauteur mini */
  padding: var(--sp-2) var(--sp-3) !important;   /* padding vertical/horizontal */
  border-radius: var(--br-medium) !important;
  background: var(--c-white) !important;         /* fond blanc permanent */
  border: 1px solid var(--c-accent) !important;
  color: var(--c-main-white) !important;
  font-family: var(--ff-base) !important;
  font-size: var(--fs-body-sp, var(--fs-body)) !important;
  font-weight: var(--w-600) !important;
  text-transform: var(--tt-uppercase) !important;
  letter-spacing: var(--ls-1) !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  white-space: normal !important;      /* permet retour à la ligne */
  line-height: 1.3 !important;         /* interligne normal */
}

/* Hover */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background: var(--c-secondary) !important;
  border-color: var(--c-secondary) !important;
  color: var(--c-black) !important;
}

 /* 5.4 FEATURE (icônes SVG personnalisées)
   (Utilisation : page Massage entreprise) */

/* 
   Harmonise la taille des SVG des modules Feature avec Font Awesome
   (taille par défaut : 2em)
*/
.chart-html5-circle img[src$=".svg"] {
  width: 2em !important;          /* même taille que les icônes Font Awesome */
 height: 2em !important;        /* garde le ratio du SVG */
 max-width: 100%;     /* évite tout débordement si le conteneur est petit */
 display: inline-block;
 vertical-align: middle; /* centre sur la ligne de texte */
}

/* Force la taille du conteneur d'icône Feature à 100x100px */
.module-feature .module-feature-chart-html5 {
  width: 100px !important;
  height: 100px !important;
}

/* 5.5 BREADCRUMBS */

.crumbs{
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--c-text);
  padding: 0.75rem 0;
}
.crumbs a{ color: inherit; text-decoration: none; }
.crumbs a:hover{ text-decoration: underline; }
.crumbs .delimiter{ margin: 0 .5ch; opacity: .6; }

/* Variante sticky pour la boutique (sous le header) */
/*.crumbs--sticky{
  position: sticky;
  top: var(--header-h);               
 /* background: var(--c-white);
  z-index: 20;
  border-bottom: 1px solid rgba(0,0,0,.06);
}*/

/* 5.6 gallery-icon */

/* Grille responsive pour la galerie d'événement */
.gallery-images{
  display: grid !important;
  gap: var(--sp-2, 10px);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* >= 280px par vignette */
}

/* Chaque item occupe toute la colonne */
.gallery-images .gallery-icon,
.gallery-images .gallery-icon a{
  display: block;
  width: 100% !important;
}

/* L’image prend toute la largeur disponible, garde le ratio */
.gallery-images .gallery-icon img{
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;   /* neutralise d’éventuels width:92px hérités */
}

/* Background et couleur texte filtre page archive */

.post-filter .cat-item a{
  display: block;
  padding: 1em 1em;
  margin-right:1em;
  background-color:var(--c-accent) ;
  color: var(--c-white) !important;    /* force noir, même si inline = white */
  text-decoration: none;
  border-radius: var(--br-small, 5px);
}

.post-filter .cat-item a:hover{
  background: var(--c-accent-hover);   /* blanc */
  border: 1px solid var(--c-border);   /* bordure noire */
  color:var(--c-black) !important;
}

/* 5.6 Archive Posts (filtre) : 2 colonnes sur mobile, auto sur desktop */


/* ===== Archive Posts — Filtre : auto sur desktop, 2x2 sur mobile ===== */

/* 1) UL en flex, wrap + gap */
.themify_builder .module-archive-posts.filtre-actus ul.post-filter{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:1em !important;
  justify-content:center !important;
  margin-bottom:2em;
}

/* 2) Neutraliser les largeurs/floats des LI */
.themify_builder .module-archive-posts.filtre-actus ul.post-filter > li{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;            /* chaque li devient un item flex */
  flex:0 0 auto !important;           /* largeur naturelle sur desktop */
}

/* 3) Ecraser le width:100% sur les liens du thème */
.themify_builder .module-archive-posts.filtre-actus .post-filter li a,
.themify_builder .module-archive-posts.filtre-actus .post-filter li a:link,
.themify_builder .module-archive-posts.filtre-actus .post-filter li a:visited{
  display:inline-flex !important;     /* pas block */
  width:auto !important;              /* pas 100% */
  min-width:0 !important;
  padding:.6em 1em !important;
  text-align:center !important;
  white-space:nowrap !important;      /* évite de forcer une ligne entière */
}

/* 4) Mobile : 2 colonnes égales (2x2) */
@media (max-width:768px){
  .themify_builder .module-archive-posts.filtre-actus ul.post-filter > li{
    flex:1 1 calc((100% - 1em)/2) !important;  /* 2 par ligne avec gap=1em */
    justify-content:center;
  }
  .themify_builder .module-archive-posts.filtre-actus .post-filter li a{
    width:100% !important;            /* le lien remplit la demi-ligne */
    white-space:normal !important;     /* permet le retour à la ligne */
  }
}


/* 5.7 Espace liste à puce */ 

/* Liste compacte dans un module texte avec la classe .padding-list */
.margin-list li{
    margin-bottom: 0;                   /* optionnel */
}




 /* ===========================================================
    6. Animations (rows, effets)
   =========================================================== */
   
/*     6.1 - Effet glass */

/* Ajouter la classe "glass-effect" sur la Row, Column ou Module dans le Builder*/

/* Fallback (sans blur) pour navigateurs qui ne supportent pas backdrop-filter */
.glass-effect{
  position: relative;                           /* Permet d’ancrer des éléments positionnés en absolu à l’intérieur */
  overflow: hidden;                             /* Coupe tout débordement, surtout utile avec un border-radius */
  background: linear-gradient(135deg,           /* Léger voile diagonal pour simuler une lumière sur le verre */
              rgba(255,255,255,0.3), 
              rgba(255,255,255,0));
  box-shadow: 0 6px 24px rgba(0,0,0,.18);       /* Ombre douce pour détacher la carte du fond */
  border: 1px solid rgba(255,255,255,.08);      /* Liseré clair discret façon “vitre” */
  border-radius: 32px;                          /* Coins arrondis généreux (style carte) */
}

/* Active le blur si le navigateur le supporte (unprefixed OU webkit) */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass-effect{
    backdrop-filter: blur(2px);                 /* Floute l’arrière-plan sous l’élément (spéc standard) */
    -webkit-backdrop-filter: blur(2px);         /* Version Safari/iOS (préfixée) */
  }
}


/* Contrôle de largeur FLUIDE de la colonne (centrée) */
/* Largeur fluide des colonnes "glass" */
.glass-size{
  width: auto !important;                       /* Laisse la largeur s’adapter au contenu, utile avec max-width */
  max-width: 65vw;                              /* Limite la largeur à 65% de la fenêtre sur desktop */
  margin-left: auto !important;                 /* Centre horizontalement */
  margin-right: auto !important;                /* Centre horizontalement */
  flex: 0 0 auto;                               /* Empêche l’étirement automatique en contexte flex */
}

/* Tablette portrait */
@media (max-width:1024px){
  .glass-size{
    max-width: 80vw;                            /* Plus large sur tablette pour respirer */
  }
}

/* Mobile */
@media (max-width:640px){
  .glass-size{
    max-width: 90vw;                            /* Presque toute la largeur sur mobile */
  }
}

/* 6.2 - Parallax responsive */
    /* Parallax fluide et responsive */
.section-parallax {
  min-height: clamp(280px, 45vh, 560px);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom !important; 
  /* centrage horizontal, bas vertical */
}

/* Tablette & mobile : désactive le fixed et ajuste la hauteur */
/*@media (max-width:1024px){
  .section-parallax {
    background-attachment: scroll !important; /* corrige bug iOS/Android */
   /* background-position: center bottom !important; 
    min-height: clamp(220px, 35vh, 420px);
  }
}*/


   
 /* ===========================================================   
    7. Overrides & Fixes (Thème/Plugins)
   =========================================================== */
   
/*  7.1 Boutons Themify – override GLOBAL (tous les <a class="builder_button">)
   Objectif : appliquer padding + radius (et test couleur) partout,
   même si les skins Themify ajoutent des styles plus spécifiques.*/

/* 1) Cœur du bouton — on multiplie les contextes pour gagner en spécificité */
.module.module-buttons .module-buttons-item > a.builder_button,
.module .module-buttons-item > a.builder_button,
a.ui.builder_button,
a.builder_button{
  display: inline-flex;              /* alignement propre */
  align-items: center;
  justify-content: center;
  padding: var(--sp-2) var(--sp-3);  /* 10px/20px via tes vars */
  line-height: var(--lh-tight);      /* évite l’effet “line-height bouton” */
  border-radius: var(--br-small) !important;    /* 5px via tes vars */
}

/* 2) Certains skins mettent le padding dans un <span> interne → on neutralise */
.module .module-buttons-item > a.builder_button > span,
a.builder_button > span,
a.ui.builder_button > span{
  padding: 0;
}

/* 3) Harmoniser les coins si le skin dessine le fond avec des pseudos */
.module .module-buttons-item > a.builder_button::before,
.module .module-buttons-item > a.builder_button::after,
a.builder_button::before,
a.builder_button::after,
a.ui.builder_button::before,
a.ui.builder_button::after{
  border-radius: inherit !important;
}

/* 4) Filet “tb_default_color” (Themify force parfois la couleur via cette classe) */
a.builder_button.tb_default_color{
  color: inherit; /* récupère la couleur définie plus haut */
}

/* 5) Accessibilité + micro-interaction GPU-friendly (facultatif) */
a.builder_button:hover,
a.ui.builder_button:hover{
  transform: translateY(1px); /* légère élévation, performant */
}
a.builder_button:active,
a.ui.builder_button:active{
  transform: translateY(0);
}
a.builder_button:focus-visible,
a.ui.builder_button:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 6) Respect des préférences utilisateur */
@media (prefers-reduced-motion: reduce){
  a.builder_button,
  a.ui.builder_button{
    transition: none;
    transform: none;
  }
}

/* 7.2 Glass effect

    Pb d'affichage des outils de modification de colonne quand classe glass-effect est active */
    
/* Le front-end builder ajoute généralement une classe d'état sur <html> ou <body> */
html.themify_builder_active .glass-effect,
body.themify_builder_active .glass-effect{
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
  overflow: visible !important;       /* laisse passer les poignées/surcouches */
  position: static !important;        /* évite les z-index/stacking surprises */
}

/* En mode édition, élargir la colonne pour faciliter les clics */
html.themify_builder_active .glass-size{
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
}

/* Sécurité : s'il y a encore un blocage de clic, autorise les pointer-events */
html.themify_builder_active .glass-effect,
html.themify_builder_active .glass-effect *{
  pointer-events: auto !important;
}



/* ===========================================================
    8. Responsive (breakpoints)
=========================================================== */

    /* 8.1 - Réglages des balise H sur mobile */
    
    /* ===========================
   Mobile ≤ 640px
   =========================== */
/* Mobile ≤ 640px : H1 = 600, H2 = 300 */
@media (max-width:640px){
  /* H1 */
  .h1 h1,
  .h1-blanc h1{
    font-weight: var(--w-400) !important;
  }
}
  /* H2 */
/*  .h2 h2{
    font-weight: var(--w-300) !important;
  }*/


/* Tablette portrait 641–1024px : H1 = 600, H2 = 300 */
@media (min-width:641px) and (max-width:1024px){
  /* H1 */
  .h1 h1,
  .h1-blanc h1{
    font-weight: var(--w-400) !important;
  }
}
  /* H2 */
/*  .h2 h2{
    font-weight: var(--w-300) !important;
  }
}



/* ===========================
   Tablette portrait 641–1024px
   =========================== */
@media (min-width:641px) and (max-width:1024px){

  .h1-blanc h1,
  .h1 h1{
    font-weight: var(--w-600);
    font-size: clamp(2.25rem, 1.4rem + 2.2vw, 3rem); /* ~36→48px */
    line-height: 1.2;
  }

  .h2 h2{
    font-weight: var(--w-500);
    font-size: clamp(1.375rem, 1rem + 1.4vw, 2rem); /* ~22→32px */
    letter-spacing: var(--ls-1);
    line-height: var(--lh-normal);
  }
}


/*  ======================================================
    8.2 -  SECTION PARALLAX — Hauteur auto mobile/tablette
    ====================================================== */ 
 /* =========================================
   SECTION PARALLAX — Hauteur auto mobile/tablette
   ========================================= */

.section-parallax {
  background-size: cover;
  background-position: 50% 30%;
  background-repeat: no-repeat;
}

/* Tablette et mobile : adapte la hauteur au ratio de l’image */
@media (max-width: 1024px) {
  .section-parallax {
    aspect-ratio: 16 / 9.7;               /* correspond à 750×453 */
    min-height: clamp(380px, 60svh, 700px); /* garde une hauteur fluide iOS-friendly */
    background-attachment: scroll !important; /* évite le bug de parallax iOS */
  }
}

/* Fallback si le navigateur ne supporte pas aspect-ratio */
@supports not (aspect-ratio: 1 / 1) {
  @media (max-width: 1024px) {
    .section-parallax::before {
      content: "";
      display: block;
      padding-bottom: 60.4%; /* 453 / 750 = 0.604 → 60.4% */
    }
  }
}

/*  ========================================================
    9.UTILITAIRES
    ======================================================== */    
 
    
/* ===========================================================
   10. PRINT
   =========================================================== */
   @media print{
  a{ text-decoration: none; }
  nav, .site-footer{ display:none !important; }
}

 