/*
 Theme Name: Hello Elementor Child
 Theme URI: https://example.com/
 Description: Child theme for Hello Elementor, tailored for custom tweaks while keeping the parent lightweight.
 Author: Cédric L.
 Author URI: https://example.com/
 Template: hello-elementor
 Version: 1.0.0
 License: GPL-2.0-or-later
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: hello-elementor-child
*/
/* Put your CSS below */

/* ===============================
   General
   =============================== */
:root{
  --mega-container: 1140px; /* ou 1200px selon ton design */
	--jaune : #FEB80D;
	--terra : #08643C;
}

@font-face{ font-family:"Montserrat"; font-style:normal; font-weight:300 900; src:url("/wp-content/themes/hello-elementor-child/fonts/montserrat-var.woff2") format("woff2"); font-display:swap; }
html, body { font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important; }


h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none!important; font-family: 'Montserrat', sans-serif!important; }	
.elementor-icon-list-item a { color: inherit; text-decoration: none!important; }	
.elementor-button span { text-decoration: none!important; }	
a.elementor-button { text-decoration: none; }	


.container { width: 100%; padding-right: var(--bs-gutter-x, 0.75rem); padding-left: var(--bs-gutter-x, 0.75rem); margin-right: auto; margin-left: auto; }
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
@media (min-width: 1400px) { .container { max-width: 1320px; } }

.row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(var(--bs-gutter-y) * -1); margin-right: calc(var(--bs-gutter-x) * -0.5); margin-left: calc(var(--bs-gutter-x) * -0.5); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) * 0.5); padding-left: calc(var(--bs-gutter-x) * 0.5); margin-top: var(--bs-gutter-y); }
.align-items-center { align-items: center !important; }


.sr-only { border: 0 !important; clip: rect(1px, 1px, 1px, 1px) !important;	-webkit-clip-path: inset(50%) !important; clip-path: inset(50%) !important; height: 1px !important;
	overflow: hidden !important;padding: 0 !important;position: absolute !important;width: 1px !important;white-space: nowrap !important;}






/* ===============================
   HEADER / NAV – BASE
   =============================== */

#header { z-index:100; background-color:#fff; transition:all 0.5s; }
#header .menu-row { margin-bottom:-33px; }

#main-nav {
  font-size:1rem; position:fixed; left:0; top:0; width:100%;
  min-height:68px; z-index:1000; background-color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
}

/* Logo */
#logo { width:100%; height:auto; max-width:250px; }

/* Burger */
#nav-toggle { background:transparent; box-shadow:none; border:0; width:50px; position:relative; }
#nav-toggle span { right:15%; }
#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {
  cursor:pointer; border-radius:1px; height:3px; width:35px; background:var(--terra);
  position:absolute; display:block; content:'';
}
#nav-toggle span:before { top:-10px; }
#nav-toggle span:after  { bottom:-10px; }
#nav-toggle.active span,
#header.bis #nav-toggle.active span { background-color:transparent; }
#nav-toggle.active span:before, #nav-toggle.active span:after { top:0; }
#nav-toggle.active span:before { transform:rotate(45deg); }
#nav-toggle.active span:after  { transform:rotate(-45deg); }





/* ===============================
   MENU – STRUCTURE COMMUNE
   =============================== */

#main-nav ul { list-style:none; margin:0; padding:15px 0; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; }
#main-nav ul li { padding:0; position:relative; }
#main-nav ul li > a {
  display:block; padding:.2rem 0; font-size:17px;
  color:#4a5568; font-weight:400; text-decoration:none;
}
#main-nav ul li > a:hover { opacity:.8; color:var(--vert); }
#main-nav ul li > a { border-bottom: 2px solid transparent !important; transition-duration:0.2s; }
/* Flèche uniquement si un sous-menu direct existe */
#main-nav ul li.menu-item-has-children > a::after { content:' ▾'; }



/* ===============================
   DROPDOWN CLASSIQUE (items SANS méga-menu)
   =============================== */

/* Sous-menu direct niveau 2 (non-méga) */
@media (min-width:1198px){
  #main-nav li:not(.has-mega) > ul.sub-menu {
    position:absolute; left:0; top:100%;
    background-color:#2ba976; display:none; min-width:190px;
    margin-top:13px; z-index:1100; padding:0;
  }
	
  ul.menu-level-3  { position:relative!important; background-color:inherit!important; }
  ul.menu-level-4  { position:relative!important; background-color:inherit!important; }
  #main-nav li:not(.has-mega) > ul.sub-menu > li { min-width:190px; width:100%; }
  #main-nav li:not(.has-mega) > ul.sub-menu > li > a {
            padding: 5px 0px 5px 15px; line-height:23px;
  }
  /* #main-nav li:not(.has-mega) > ul.sub-menu > li:hover { background-color:#feb80d; } */
  #main-nav li:not(.has-mega) > ul.sub-menu > li > a:hover {
   border-bottom:none;
  }
}


@media (min-width:1198px){
  #main-nav li.has-mega { position: static; }

  /* Panneau méga : Grid SANS grid-auto-rows (pas de masonry global) */
  #main-nav li.has-mega > ul.mega-panel{
    position:absolute; left:0; right:0; top:100%;
    width:100%; box-sizing:border-box;
    background:#fff; box-shadow:0 12px 34px rgba(0,0,0,.08);
    padding-block:28px;
    --mega-container:1140px;
    padding-inline:max(16px, calc(50vw - var(--mega-container)/2));
    display:grid; gap:32px;
    align-items:start; align-content:start; justify-items:start;
    opacity:0; visibility:hidden; pointer-events:none; transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
    z-index:1200;
  }
  #main-nav li.has-mega.is-open > ul.mega-panel{ opacity:1; visibility:visible; pointer-events:auto; transform:none; transition:opacity .18s ease, transform .18s ease; }

  /* colonnes selon le nombre d’items */
  #main-nav li.has-mega > ul.mega-panel.is-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #main-nav li.has-mega > ul.mega-panel.is-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  #main-nav li.has-mega > ul.mega-panel.is-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  #main-nav li.has-mega > ul.mega-panel.is-5{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  #main-nav li.has-mega > ul.mega-panel.is-6{ grid-template-columns:repeat(3,minmax(0,1fr)); }

  /* items (briques) */
  #main-nav li.has-mega > ul.mega-panel > li.mega-col{ list-style:none; padding:0 12px; margin:0; /* pas de margin-bottom: le gap gère l’espace */ }

  /* N2 title / N3 list / N4 toggle (inchangés) */
  #main-nav li.has-mega .mega-col > a.mega-title{ display:block; font-weight:700; padding:6px 0 10px; color:#1a202c; border-bottom:2px solid #e2e8f0; text-decoration:none; }
  #main-nav li.has-mega .mega-col > a.mega-title::after{ content:none !important; }
  #main-nav li.has-mega .mega-col > ul.sub-menu{ display:block !important; margin:10px 0 0; padding:0; }
  #main-nav li.has-mega .mega-col > ul.sub-menu > li > a{ display:block; padding:6px 0; color:#4a5568; }
  #main-nav li.has-mega .mega-col > ul.sub-menu > li > a:hover{ color:#2ba976; }
  #main-nav li.has-mega .mega-col > a.mega-title { cursor: pointer; }
  #main-nav li.has-mega .mega-col > a.mega-title:hover{ color:#2ba976!important; }
  #main-nav li.has-mega .mega-col > a.mega-title:has(+ ul.sub-menu) { cursor: default; }
  #main-nav li.has-mega .mega-col > a.mega-title:has(+ ul.sub-menu):hover { color:#000!important; }	
	
  /* N4 fermé/ouvert */
  #main-nav li.has-mega ul.mega-panel li.menu-item-has-children > ul.sub-menu{ display:none; margin: 5px 0 20px; }
  #main-nav li.has-mega ul.mega-panel li.open-l4 > ul.sub-menu{ display:block !important; }
}


/* ===============================
   BLOCS & RESPONSIVE – CONSERVE TES TAILLES
   =============================== */

/* Transitions blocs */
.elem-1, .elem-3 { transition: all .4s ease; }
.elem-1 { opacity:1; transform:translateY(0); padding:6px 0; }

/* Icône réseau */
#main-nav .social-button 		{ color:var(--terra); transition-duration:0.3s; }
#main-nav .social-button:hover 	{ color:var(--jaune); }

/* Bouton recherche mobile (inchangé) */
#search-button-mobile { background:transparent; color:var(--terra); border:0; padding:0; margin-right:8px; transition-duration:0.3s; }
#search-button-mobile:hover { color:var(--jaune); }

#wpadminbar { display:none;}

#search-bar-id 				{ position: absolute; top: 100px; z-index: 3; width: 100%;}
#search-bar-id .container 	{ position:relative; margin:0 auto; padding:0; display: flex; align-items:center background-color:#fff; border-radius: 10px; border: solid 2px var(--terra)!important;}
#search-bar-id button 		{ position: absolute; right: 0px; }
.search-bar					{ display:none; }
.search-bar.is-open			{ display:block; }
.search-bar input 			{ border:none; padding: 9px 52px 9px 10px; border-radius:8px; outline: 0; }

.search-bar button { background-color:var(--terra); border:none; color:#fff; transition-duration:0.2s; border-top-right-radius:7px; border-top-left-radius:0px; border-bottom-left-radius:0px; border-bottom-right-radius:7px; }
.search-bar button:hover { background-color:var(--jaune); border:none; color:#fff; }

/* --- Mobile & Tablet --- */
@media (max-width:1197px){
	#logo { max-width:140px; padding-left:10px; }
	/* Blocs */
	.elem-1 { width:84% !important; order:1; }
	.elem-2 { width:8% !important; order:3; display:flex; justify-content:end; }
	.elem-3 { width:100% !important; order:4; }
	.elem-4 { width:8%!important; order:2; display:flex; justify-content:end; }
	.social-button { display:none; }
	#search-button-mobile { margin-top: 8px; margin-right:5px;  }

  /* Menu en accordéon */
  .menu { flex-direction:column; flex-wrap:nowrap; display:none; }
  #main-nav ul:first-of-type { flex-direction:column; flex-wrap:nowrap; display:none; }
  #main-nav { margin:auto; }
  #main-nav ul { display:none; margin-bottom:0; padding:0; }
  #main-nav ul li { display:block; float:none; }
  #main-nav ul li > a { display:block; padding:10px 15px; line-height:15px; }

  /* Sous-menus ouverts par JS, style clair */
  #main-nav .sub-menu { position:relative; margin-top:0; background:#fff; }
  #main-nav ul li ul { margin-bottom:20px; }
  #main-nav ul li ul li { margin-bottom:0; }
  #main-nav ul li ul li a { padding:4px; font-weight:400; padding-left:30px; color:#4a5568; }
  
	#main-nav ul.menu-level-2 a { padding-left:20px; } 
	#main-nav ul.menu-level-3 a { padding-left:30px; padding-top:15px; } 
	#main-nav ul.menu-level-4 a { padding-left:40px; padding-top:15px; } 

	#main-nav ul.menu-level-2 li { padding-top:10px; } 
	#main-nav ul.menu-level-3 li { padding-top:0px; } 
	#main-nav ul.menu-level-4 li { padding-top:0px; } 
	
  #main-nav ul li ul li:hover { background:#fff; }
  #main-nav ul.menu { padding-top:30px !important; padding-bottom: 80px; }

  nav#submenu { display:none !important; }
	
	li.menu-level-3 { padding-left:15px;}
	li.menu-level-3 { padding-left:15px;}
}

/* --- Mobile & Tablet --- */
@media (max-width:697px){
	.elem-1 { width:70% !important; order:1; }
	.elem-2 { width:15% !important; order:3; display:flex; justify-content:end; }
	.elem-3 { width:100% !important; order:4; }
	.elem-4 { width: 15%!important; order:2; display:flex; justify-content:end; }
}

/* --- Desktop --- */
@media (min-width:1198px){
  /* Conserver tes largeurs de blocs */
  #menu-item-865, #menu-item-866, #logo-mobile { display:none !important; }
  .elem-1 { width:18% !important; padding-right:40px !important; }
  .elem-3 { width:69% !important; }
  .elem-2 { display:none; }
  .elem-4 { width:13% !important; text-align:end; }

  /* États actifs/hover (liens top) */
	#main-nav li ul.menu-level-3 li		{ }
	#main-nav li ul.menu-level-3 li a	{ padding: 3px 8px; }
	
	
  #main-nav ul.menu-level-3 li > a:hover { color:#2ba976 !important; border-bottom:2px solid #2ba976 !important; }
  #main-nav li ul.menu-level-3 li.current_page_item:has(+ ul.sub-menu)  { background:#2d3748 !important; }
  #main-nav li ul.menu-level-3 li.current_page_item > a.mega-title:has(+ ul.sub-menu) { color:#fff !important; border:none !important; }
}

/* Effet repli bloc 1 desktop */
@media (min-width:1198px){ .elem-1.hidden { opacity:0; transform:translateY(-10px); pointer-events:none; width:0% !important; padding:0 !important; } }


/* 1) Desktop: panneau scrollable (max hauteur = viewport - header - marge) */
@media (min-width:1198px){
  #main-nav li.has-mega > ul.mega-panel{
    /* ...tes règles existantes... */
    max-height: calc(100vh - var(--header-h, 68px) - 16px);
    overflow-y: auto;
    overscroll-behavior: contain; /* empêche le scroll de “passer” à la page */
    -webkit-overflow-scrolling: touch; /* inertie sur mac/touchpad */
    scrollbar-gutter: stable;
  }
}

/* 2) Verrouillage du scroll page quand un mega est ouvert (desktop) */
/*body.mm-locked { overflow: hidden; } */

/* 3) Desktop: les titres redeviennent cliquables (pas de curseur “default”) */
@media (min-width:1198px){
  #main-nav li.has-mega .mega-col > a.mega-title { cursor: pointer; }
  /* on neutralise la règle qui bloquait le hover des titres avec sous-menu */
  #main-nav li.has-mega .mega-col > a.mega-title:has(+ ul.sub-menu) { cursor: pointer; }
  #main-nav li.has-mega .mega-col > a.mega-title:has(+ ul.sub-menu):hover { color:#2ba976 !important; }
}

/* 4) Mobile: afficher le lien duplicatif, masquer en desktop */
.dup-mobile-link { display:none; }
@media (max-width:1197px){
  .dup-mobile-link { display:block; }
  .dup-mobile-link > a {
    display:block;
    padding:10px 15px 10px 30px; /* cohérent avec ton style mobile */
    font-weight:600;
    color:#1a202c;
    text-decoration:none;
  }
  .dup-mobile-link > a:hover { color:#2ba976; }
}


#menu-item-7574 .dup-mobile-link { display:none; }

/* is-2 : colonnes plus étroites et centrées (gap inchangé) */
@media (min-width:1198px){
  /* largeur cible des colonnes (tu peux tweaker ces variables) */
  #main-nav li.has-mega > ul.mega-panel.is-2{
    --col-min: 220px;   /* largeur mini d'une colonne */
    --col-max: 300px;   /* largeur max d'une colonne */
    grid-template-columns: repeat(2, minmax(var(--col-min), var(--col-max)));
    justify-content: center;         /* centre le “cluster” de 2 colonnes */
    justify-items: start;            /* aligne le contenu à gauche dans chaque col */
  }

  /* élimine l'étirement interne ajouté par ton padding latéral sur les briques */
  #main-nav li.has-mega > ul.mega-panel.is-2 > li.mega-col{
    padding-inline: 8px;             /* optionnel : un peu plus compact (au lieu de 12px) */
    width: auto;                      /* s'aligne sur minmax défini par le grid */
    max-width: var(--col-max);
  }

  /* si tu veux que les titres “raccourcissent” aussi visuellement */
  #main-nav li.has-mega > ul.mega-panel.is-2 .mega-title{
    white-space: nowrap;              /* évite les retours à la ligne trop tôt */
  }
}
























/* ===============================
   ACCESSIBILITÉ
   =============================== */

.sr-only {
  border:0 !important; clip:rect(1px,1px,1px,1px) !important;
  -webkit-clip-path:inset(50%) !important; clip-path:inset(50%) !important;
  height:1px !important; overflow:hidden !important; padding:0 !important;
  position:absolute !important; width:1px !important; white-space:nowrap !important;
}







/* ===============================
   Elementor
   =============================== */
#hero .elementor-container { min-height:400px!important; }
#hero { padding: 1rem 0rem 0rem 0rem!important; }
#hero  .elementor-widget-wrap { align-content: center!important; }

@media (max-width: 1024px){ 
	#hero .elementor-container { min-height:400px!important; }
	#hero { padding: 3rem 0rem 0rem 0rem!important; } 

	#hero h1 { font-size:2.5rem!important; } 

} 
@media (max-width: 640px){ 
	#hero .elementor-container { min-height:220px!important; }
	#hero { padding: 5rem 0rem 3rem 0rem!important; } 
	#hero h1 { font-size:2rem!important; } 
}


h1 span { font-size: 3rem!important; font-weight: 300!important; }
h1 span.samesize { font-size: inherit!important; font-weight: 300!important; }

.cta-section a.elementor-button { max-width:620px; line-height:30px!important; }

#faq h2 	{ margin:0px!important; }
#faq h3 a 	{ color:var(--terra); font-size: 24px; }
#faq h3 	{ color:var(--terra); font-weight: 700; }
@media (max-width: 767px) {
   #faq .elementor-6886 .elementor-element.elementor-element-c12a529 > .elementor-widget-container { margin: 0px 0px 0px 0px!important; }
}
#faq .elementor-widget-container { margin:0px!important; }

.six-grid .elementor-container,
.four-grid .elementor-container 
{ display: flex; flex-wrap: wrap; }

/* ===== Desktop (>= 1025px) ===== */
@media (min-width: 1025px) { 
	.six-grid  .elementor-container{ justify-content:center; }
	h1 span { font-size: 3rem!important; }  
	.six-grid .elementor-inner-column { flex: 0 0 33.333%; max-width: 33.333%; }
	.four-grid .elementor-inner-column { flex: 0 0 50%; max-width: 50%; }
}

/* ===== Tablette (768px à 1024px) ===== */
@media (min-width: 568px) and (max-width: 1024px) { 
	h1 span { font-size: 2.8rem!important; line-height:3.2rem!important; } 
	.six-grid .elementor-inner-column { flex: 0 0 50%; max-width: 50%; }	
	.four-grid .elementor-inner-column { flex: 0 0 50%; max-width: 50%; }	

}

/* ===== Mobile (< 767px) ===== */
@media (max-width: 567px) { 
	h1 span { font-size: 1.7rem!important; line-height:2.1rem!important; }  
	.four-grid .elementor-container { justify-content:flex-start; }
	.six-grid .elementor-inner-column, .four-grid .elementor-inner-column { flex: 0 0 100%; max-width: 100%; }	
}

.le-saviez-vous { display:flex; align-items:center; }
.le-saviez-vous img { width:25%; max-width:100px; margin-right:5px; }
.le-saviez-vous p { color:#fff; font-size:33px; width:75%; max-width:250px; margin-bottom:0px; margin-top:15px; line-height:39px; }

/* Home page */
.bs-bloc-1 { display:block; text-decoration:none; color:inherit; width:100%; max-width:320px; margin:auto; position:relative; background-color:var(--jaune); transition-duration:0.3s; color:#000;border-radius:5px; }
a.bs-bloc-1:hover { background-color:var(--terra); color:#fff; }
.bs-bloc-1::before { content: ""; display: block; padding-top: 100%;  }
.bs-bloc-1 .contain { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; padding: 15px 8px!important; }
.bs-bloc-1 img 	{ width:80px; height:auto; margin:auto; }
.bs-bloc-1 h3	{ text-align:center; color:#fff; font-size:1.5rem!important; margin-bottom:0px; margin-bottom:8px; }
.bs-bloc-1 p	{ text-align:center; font-size:1.1rem; line-height:1.5rem }

.bs-bloc-2 { display: block; text-decoration: none; color:inherit; width:100%; margin:auto; max-width: 300px; position: relative; background-color:var(--terra); transition-duration:0.3s; color:#fff;border-radius:5px; }
a.bs-bloc-2:hover { background-color:var(--jaune); color:#fff; }
.bs-bloc-2::before { content: ""; display: block; padding-top: 100%;  }
.bs-bloc-2 .contain { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; padding: 15px!important; display: flex; flex-direction: column; justify-content: center; }
.bs-bloc-2 h3	{ text-align:center; color:#fff; font-size:1.6rem!important; font-weight:700; margin-bottom:0px }

.bs-bloc-3 { display: block; text-decoration: none; color: inherit; width: 100%;  max-width: 300px; position: relative; background-color:var(--terra); transition-duration:0.3s;border-radius:5px; }
.bs-bloc-3::before { content: ""; display: block; padding-top: 100%;  }
.bs-bloc-3 .contain { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; padding: 15px!important; display: flex; flex-direction: column; justify-content: center; }
.bs-bloc-3 p	{ text-align:center; color:var(--jaune); font-size:1.4rem!important; font-weight:700; margin-bottom:0px }


.bs-bloc-4 { display: block; text-decoration: none; color: inherit; width: 100%;  max-width: 300px; position: relative; background-color:var(--jaune); transition-duration:0.3s; border-radius:5px; }
.bs-bloc-4::before { content: ""; display: block; padding-top: 100%;  }
.bs-bloc-4 .contain { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; padding: 15px!important; display: flex; flex-direction: column; justify-content: center; }
.bs-bloc-4 p	{ text-align:center; color:var(--terra); font-size:1.4rem!important; font-weight:700; margin-bottom:0px }



.bs-bloc-5 { display: block; text-decoration: none; color: inherit; width: 100%;  max-width: 300px; position: relative; background-color:var(--terra); transition-duration:0.3s; border-radius:5px; }
.bs-bloc-5::before { content: ""; display: block; padding-top: 100%;  }
.bs-bloc-5 .contain { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; padding: 15px!important; display: flex; flex-direction: column; justify-content: center; }
.bs-bloc-5 p	{ text-align:center; color:var(--jaune); font-size:1.2rem!important; line-height:1.5rem!important; font-weight:700; margin-bottom:0px }

.bs-bloc-9 { display: block; text-decoration: none; color: inherit; width: 100%;  max-width: 300px; margin:auto; position: relative; background-color:var(--terra); transition-duration:0.3s; border-radius:5px; }
.bs-bloc-9::before { content: ""; display: block; padding-top: 100%;  }
.bs-bloc-9 .contain { position:absolute; top:0; left:0; width:100%; height:100%; text-align:center; padding:15px!important; display:flex; flex-wrap:wrap; justify-content:center; }
.bs-bloc-9 h3	{ text-align:center; color:#fff; font-size:24px!important; line-height:1.5rem!important; font-weight:500; margin-bottom:8px; align-self:flex-start; margin-top:35px; }
.bs-bloc-9 p	{ text-align:center; color:#fff!important; font-size:1.1rem!important; line-height:1.5rem!important; font-weight:400; margin-bottom:0px }
.bs-bloc-9 a	{color:#fff; font-size:1.1rem!important; font-weight:500; transition-duration:0.3s; }
.bs-bloc-9 a:hover	{ text-align:center; color:var(--jaune); }

#caroussel-home img { filter:grayscale(1); max-width:170px; max-height:65px; }

/* Archives */

.bloc-link-2 			{ background-color:var(--jaune)!important; transition-duration:0.3s; display:block; margin:auto; text-decoration:none; color:inherit; width:100%; aspect-ratio:1/1; border-radius:5px; max-width:300px }    
a.bloc-link-2:hover 	{ background-color:var(--terra)!important; }    
.bloc-link-2 .contain 	{ text-align:center; padding:15px; height:100%; display:flex; align-items:center; justify-content:center;} 
.bloc-link-2 h3 		{ text-align:center; color:#fff!important; font-size:1.6rem; margin:0; }


.bloc-link-3 			{ background-color:var(--jaune)!important; transition-duration:0.3s; display:block; margin:auto; text-decoration:none; color:inherit; width:100%; aspect-ratio:1/1; border-radius:5px; max-width:300px }    
a.bloc-link-3:hover 	{ background-color:var(--terra)!important; }    
.bloc-link-3 .contain 	{ text-align:center; padding:15px; height:100%; display:flex; align-items:center; justify-content:center;} 
.bloc-link-3 h3 		{ text-align:center; color:#fff!important; font-size:1.4rem; margin:0; line-height:1.6rem;}


.bloc-link-4 			{ background-color:var(--jaune)!important; transition-duration:0.3s; display:block; margin:auto; text-decoration:none; color:inherit; width:100%; aspect-ratio:1/1; border-radius:5px; max-width:300px }    
a.bloc-link-4:hover 	{ background-color:var(--terra)!important; }    
.bloc-link-4 .contain 	{ text-align:center; padding:20px; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;} 
.bloc-link-4 h3 		{ text-align:center; color:#fff!important; font-size:1.4rem; margin:0; line-height:1.6rem;}
.bloc-link-4 p 			{ text-align:center; color:#fff!important; font-size:1.1rem; margin:0; line-height:1.3rem;}



.bloc-link-5 			{ background-color:var(--jaune)!important; transition-duration:0.3s; display:block; margin:auto; text-decoration:none; color:inherit; width:100%; aspect-ratio:1/1; border-radius:5px; max-width:300px }    
a.bloc-link-5:hover 	{ background-color:var(--terra)!important; }    
.bloc-link-5 .contain 	{ text-align:center; padding:15px; height:100%; display:flex; align-items:center; justify-content:center;} 
.bloc-link-5 h3 		{ text-align:center; color:#fff!important; font-size:1.6rem; margin:0; }


.bloc-link-6 			{ background-color:var(--jaune)!important; transition-duration:0.3s; display:block; margin:auto; text-decoration:none; color:inherit; width:100%; aspect-ratio:1/1; border-radius:5px; max-width:300px }    
a.bloc-link-6:hover 	{ background-color:var(--terra)!important; }    
.bloc-link-6 .contain 	{ text-align:center; padding:15px; height:100%; display:flex; align-items:center; justify-content:center; flex-wrap:wrap;} 
.bloc-link-6 h3 		{ text-align:center; color:#fff!important; font-size:1.3rem; margin:0; line-height:1.6rem;}
.bloc-link-6 p 			{ text-align:center; color:#fff!important; font-size:1.2rem; font-weight:700; margin:0; line-height:1.4rem; align-self: flex-start;}


.elementor-widget-container li { margin-top:0.3rem; margin-bottom:0.7rem; }
.elementor-widget-container li li { margin-top:0.3rem; margin-bottom:0rem; }

/* Colonne/section Elementor qui contient l'image décorative */
.logo-scroll {
  position: relative;
  overflow: hidden;          /* masque ce qui dépasse */
  min-height: 8rem;          /* ajuste la hauteur visuelle de la section */
}

/* Retire le mode “sticky” précédent si tu l'avais */
.logo-scroll > .elementor-widget-wrap {
  position: static;
  height: auto;
  display: block;
}

/* L'image défile horizontalement ; très large pour avoir de la matière */
.logo-scroll img {  display: block;
  max-width: none;
  width: 80vw;  
	max-width: 1000px; /* bande très large (ajuste 150–300vw selon ton visuel) */
  will-change: transform;
  transform: translate3d(-60vw, 0, 0);  /* départ: 60% hors écran à gauche */
}

/* Contact */
.forminator-button-submit { background-color:var(--terra)!important; color:#fff!important; border:solid 2px var(--terra)!important; font-size:18px; transition-duration:0.3s;  }
.forminator-button-submit:hover { background-color:transparent!important; color:var(--terra)!important; box-shadow:none; }




#logos-clients img { margin-bottom:3rem; }

#logos-clients .elementor-widget-wrap { display:flex; align-items:center; flex-wrap:wrap; }
#logos-clients .elementor-widget-image { width:33%; }



/* ===============================
   Archives + single card
   =============================== */


body { background-color:#f7fafc!important }

.hec-archive__header { padding-top:7rem; padding-bottom:3rem; }

/* === GRID FIX PACK === */
.hec-archive .hec-grid, .hec-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: stretch; }

/* Assure que les cards se laissent contraindre par la grid */
.hec-grid > * { min-width: 0; max-width: 100%; float: none !important; flex: 0 0 auto; width: auto !important; }

/* Les cards elles-mêmes */
.hec-card { width: auto !important; box-sizing: border-box; }

.hec-archive__title { color:var(--terra)!important; font-weight:700;}


/* Breakpoints */
@media (max-width: 1024px){
  .hec-archive .hec-grid, .hec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .hec-archive .hec-grid, .hec-grid { grid-template-columns: 1fr; }
}

/* Fallback flex si (vraiment) pas de support grid */
@supports not (display: grid) {
  .hec-archive .hec-grid,
  .hec-grid { 
    display: flex !important;
    flex-wrap: wrap;
    gap: 22px;
  }
  .hec-grid > * { 
    width: calc(33.333% - 22px);
  }
  @media (max-width: 1024px){
    .hec-grid > * { width: calc(50% - 22px); }
  }
  @media (max-width: 640px){
    .hec-grid > * { width: 100%; }
  }
}	
	
.hec-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 1024px){ .hec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px){ .hec-grid { grid-template-columns: 1fr; } }

.hec-card{ position: relative; border: 1px solid var(--hec-border); border-radius: 4px; background: #fff; overflow: hidden; display: grid;  grid-template-rows: auto 1fr;  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; margin-bottom: 25px;}
.hec-card:hover{ transform: translateY(-2px); border-color: color-mix(in srgb, var(--hec-accent) 35%, var(--hec-border)); /* box-shadow: 0 12px 30px rgba(0,0,0,.25);*/ }

/* Image cliquable uniquement */
.hec-card__media a.hec-card__image-link{ display: block; line-height: 0; }
.hec-card__media img{ display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

.hec-card__body { display: flex; flex-wrap:wrap; padding: 14px; }

/* Titre (lien uniquement sur le titre) */
.hec-card__title{ margin: 0; font-size: 1.125rem; line-height: 1.25; margin-bottom:20px;  }
.hec-card__title a{ color: var(--terra); text-decoration: none; border-bottom: 1px solid transparent; transition-duration:0.2s; font-weight:700; font-size:1.2rem;}
.hec-card__title a:hover, .hec-card__title a:focus{ color:var(--jaune)!important; }


.hec-card__cats{ display: flex; flex-wrap: wrap; gap: 6px; }
.hec-pill{ display: inline-flex; display:none; align-items: center; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.06); color: var(--terra); font-size: .8125rem; border: 1px solid var(--terra); user-select: none; }

.hec-card__excerpt{ margin: 0; color: var(--hec-muted); align-self: flex-start; }

/* CTA (lien uniquement sur le bouton) */
.hec-card__actions{ align-self: end; margin-top: 4px; }
.hec-btn{ display: inline-flex; align-items: center; padding: 10px 14px; text-decoration: none!important; font-weight: 700; color: var(--terra); transition-duration:0.2s; }
.hec-btn:hover,.hec-btn:focus { transform: translateY(-1px); color: var(--jaune); border-color: transparent; outline: none; }

/* Focus visibles pour accessibilité */
.hec-card__image-link:focus-visible,
.hec-card__title a:focus-visible,
.hec-btn:focus-visible{ outline: 2px solid var(--hec-accent); outline-offset: 2px; border-radius: 5px; }



.format-standard .hec-single__header 	{ padding-top:7rem; padding-bottom:3rem; }
.hec-single__title		{ color:var(--terra); font-weight:700; font-size:1.8rem; }	
.hec-single__thumb img	{ border-radius:4px; }
h2.wp-block-heading		{ color:var(--terra); font-weight:700; font-size:1.8rem; margin-top:3rem; }	 
h3.wp-block-heading		{ color:var(--terra); font-weight:600; font-size:1.7rem; margin-top:2rem; }	 
.hec-single__thumb { display:none; }
.format-standard .hec-single__thumb { display:block; max-width: 800px; margin: auto; margin-bottom:3rem;  } 
.format-standard .hec-single__content { background-color:#fff; border-radius: 4px; padding: 25px 15px; max-width: 800px; margin: auto;}	
.format-standard .hec-single__content a { color:var(--terra)!important; transition-duration:0.2s; font-weight:700; }		
.format-standard .hec-single__content a:hover { color:var(--jaune)!important; }		

ul.wp-block-list 		{ margin-block-end: .6rem; }	
ul.wp-block-list li 	{ margin-block-end: .3rem; }
	
.hec-related 		{ padding-top:7rem; padding-bottom:3rem; }	
.hec-related__title { color:var(--jaune); font-weight:700; font-size:1.7rem; }
body.blog .page-content { padding-bottom:5rem; }

.hec-related  .hec-card__title a{font-weight:700; font-size:1rem;}
.hec-related  .hec-card__title a:hover, .hec-card__title a:focus{ color:var(--jaune)!important; }

#comments { padding-top:2rem; padding-bottom:6rem; }	
#reply-title { color:var(--jaune); font-weight:700; font-size:1.7rem; } 	





/* Footer */

footer { background-color:#245B3B!important; color:#fff!important; }
.hec-footer{ position: relative; background: var(--hec-footer-bg); color: var(--hec-footer-text); overflow: hidden; }

/* Grille 4 colonnes */
.hec-footer__container{ position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; padding: 40px 20px; }

@media (max-width: 1024px){ .hec-footer__container{ grid-template-columns: repeat(2, minmax(0,1fr));  } .hec-footer__col.deco {display:none; }
}
@media (max-width: 640px){ .hec-footer__container{ grid-template-columns: 1fr; }}

.hec-footer__col{ gap: 12px;}

.hec-footer__title{ margin: 0 0 6px 0; font-size: 1.125rem; font-weight:700;}
.hec-footer__row { display:flex; align-items: center; }

.hec-footer__row a.social-button { color:#fff!important; transition-duration:0.2s; margin-top:12px;}
footer svg { width: 40px; height: 40px; }
.hec-footer__row a.social-button:hover { color:var(--jaune)!important; }

/* Liste contact */
.hec-list{ list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.hec-list__item{  }
.hec-list__icon{ opacity: .9; }
.hec-list__text{ color: var(--hec-footer-text); }
.hec-list__link{ color: var(--hec-footer-text); text-decoration: none; }
.hec-list__link:hover{ text-decoration: underline; }

/* Menus footer (wp_nav_menu) */
.hec-menu{ list-style: none; margin: 0; padding: 0; display: grid; gap: 5px;}
.hec-menu a{display:inline-flex;align-items:center; gap: 8px;color:var(--hec-footer-text);text-decoration:none;border-bottom:1px solid transparent;transition:border-color.2s ease, transform .15s ease;}
.hec-menu a { font-weight: 300;}
.hec-menu a:hover{ border-color: rgba(255,255,255,.3); transform: translateX(2px); }

/* Col brand */
.hec-footer__brand{ align-content: start; }
.hec-footer__logo img{ max-width: 200px; margin-top:12px; height: auto; }
.hec-site-title{ font-weight: 800; color: var(--hec-footer-text); text-decoration: none; }
.hec-footer__copy{ margin: 10px 0 0; color: var(--hec-footer-muted); }

/* Liens légaux */
.hec-legal{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.hec-legal a{ color: var(--hec-footer-text); text-decoration: none; border-bottom: 1px solid transparent; }
.hec-legal a:hover{ border-color: rgba(255,255,255,.3); }
	





@media (min-width: 1200px) {
    body.single .site-main {
        max-width: 1140px; margin:auto;
    }
}