ul.wp-container-core-social-links-is-layout-fc9f69e7 {
		margin-top: 0 !important;
		padding-top: 0 !important;
}

@media (max-width: 768px){
    .wp-block-uagb-container.uagb-block-ab1855ea {
        background-image: url(https://foresio.com/wp-content/uploads/2026/02/backgr_vide.jpg);
    }
}

@media (max-width: 768px){
.wp-container-core-social-links-is-layout-d445cf74 {
    justify-content: flex-start !important;
}
}

.sydney-offcanvas-menu #mainnav ul li a, .sydney-offcanvas-menu #mainnav ul ul li a {
    font-size: 24px;
}

.sydney-offcanvas-menu .sydney-dropdown ul {
    margin-top: 48px !important;
}

.sydney-offcanvas-menu .sydney-dropdown ul li {
    padding-top: 5px;
    border-bottom: 0;
}

.sydney-offcanvas-menu .sydney-dropdown ul li a {
    text-transform: uppercase;
		font-weight: 400 !important;
}

.sydney-offcanvas-menu {
		background-color: rgba(34,35,36,0.95);
    max-width: none;
}

.footer-widget .wp-block-social-links .wp-social-link svg {
    height: 48px;
    width: 48px;
}

.linkedin .wp-block-social-link-anchor {
    padding: 0;
}

.wp-block-social-links.has-large-icon-size.linkedin  {
    margin: 24px 0 !important;
}

@media (min-width: 782px){
  h1 {
			margin-bottom: 48px;
		}
}

.shfb-header.shfb-desktop, .shfb-header.shfb-mobile {
    background-color: transparent !important;
}

@media (max-width: 782px){
.wp-block-uagb-image__figure {
   margin: 0 auto !important;
}
		
.sydney-offcanvas-menu #mainnav ul li {
		padding: 0 0 12px 0;
		}
}

.sydney-dropdown .sydney-dropdown-link {
    padding: 2px 0 !important;
    display: inline-block;
    text-decoration: none;
}

/* Formulaire */

input[type="text"], input[type="email"], input[type="tel"] {
  font-family: 'Fira Sans', sans-serif;
  background-color: rgba(255,255,255,0.2);
  border: 1px solid #9abd96;
  font-weight: 400;
  font-size: 20px;
  width: 100%;
  color: #090B0C;
  padding: 10px 14px;
}

.wpcf7-checkbox {
    display: inline;
		text-align : left;
		font-family: 'Lato', sans-serif;
		font-weight: 400;
    font-size: 20px;
		text-transform: none;
}

input[type=checkbox], input[type=radio] {
		margin: 4px 4px 0 0;
    border-color: #9abd96 !important;
		width: 16px !important;
    height: 16px !important;
}

textarea {
  font-family: 'Fira Sans', sans-serif;
  background-color: rgba(255,255,255,0.2);
  border: 1px solid #9abd96;
  font-weight: 400;
  font-size: 20px;
  width: 100%;
  height: 300px;
  color: #090B0C;
  padding: 10px 14px;
}

input[type="submit"] {
  font-family: 'Fira Sans', sans-serif;
  font-size: 20px;
  font-weight: 700;
  border: 2px solid #090B0C !important;
  color: #ffffff !important;
  background-color: #090B0C;
  border-radius: 100px;
  padding: 22px 40px;
		display: block;
		margin: 30px auto 0 auto !important;
		text-align: center;
}

input[type="submit"]:hover {
  border: 2px solid #252b23 !important;
  background-color: #252b23;
  color: #ffffff !important;
}

.wpcf7 {
		margin: 0 auto !important;
    max-width: 614px;
}

.wpcf7-list-item {
    display: inline;
    margin: 0 0 0 0;
}

.wpcf7 label {
  display: inline;
	color: #090B0C !important;
  text-align: left;
}

.wpcf7 form.sent .wpcf7-response-output {
  border: 0;
  border-radius: 10px;
  background-color: rgba(0,0,0,0.05);
  padding: 30px;
  color: #090B0C;
  line-height: normal;
	font-weight: 700 !important;
		text-align: center;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  border: 0;
  border-radius: 10px;
  background-color: rgba(0,0,0,0.05);
  padding: 30px;
  color: #c03535;
  line-height: normal;
	font-weight: 700 !important;
		text-align: center;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0;
}

span.wpcf7-not-valid-tip {
    color: #c03535;
}

.wpcf7 label {
  font-size: 14px;
  font-weight: 400 !important;
  text-transform: uppercase;
}

.wpcf7-spinner {
    display: block;
		margin: 5px auto;
}

/* Fin formulaire */


ul li {
		margin: 15px 0;
}

body #hero-area {
    margin-top: calc(-0.73 * var(--header-h)) !important;
}


#hero-text {
		max-width: 600px !important;
		margin-left: auto;
		margin-right: auto;
}

.shfb-footer .shfb-row.shfb-cols-3 {
    align-items: flex-start;
}

.shfb-footer .shfb-column-2 {
    text-align: left;
}

@media (max-width: 1023px){
.shfb-header .shfb-main_header_row .shfb-column-1 {
    justify-content: flex-start !important;
}

#hero-tree {
		display: none;
}
		
body #hero-area {
    margin-top: calc(-1 * var(--header-h)) !important;
}
}

#hero-buttons {
		margin-bottom: 64px;
}

#hero-tree {
		position : absolute;
		z-index: 0;
		opacity: 0.03;
}


/* Transitions sur le header sticky réellement affiché */
.site-logo {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

/* Header */

.sticky-header-active .has-sticky-header .shfb-main_header_row {
    background-color: rgba(255,255,255,0.9);
		
}

.sticky-active .shfb-main_header_row {
        min-height: 36px;
    }

.sticky-active .site-logo {
        max-height: 36px;
    }

.shfb-header {
		text-transform: uppercase;
}

.shfb-header a {
		font-size: 14px !important;
}

/* Réduit la colonne centrale */
.shfb-row.shfb-cols-3 {
  display: flex;
  justify-content: space-between; /* garde les colonnes écartées */
  align-items: center; /* aligne verticalement */
}

.shfb-column-2 {
  flex: 0 0 140px; /* largeur fixe */
  max-width: 140px;
  text-align: center; /* centre le logo dans la colonne */
}

/* Les deux autres colonnes prennent le reste */
.shfb-column-1,
.shfb-column-3 {
  flex: 1; /* elles se partagent l’espace disponible */
}

.shfb-header .shfb-main_header_row .shfb-column-1 {
        justify-content: flex-end;
    }

.shfb-header .shfb-main_header_row .shfb-column-3 {
        justify-content: flex-start;
    }

#secondary {
    background-color: transparent;
		padding: 0;
}

/* Fin HEADER */


@media (max-width: 782px){
#hero-logo {
		margin: 124px 0 0 0;
		width: 220px;
		height: auto;
		}
		
#hero-title
		{
		margin: 48px 0 0 0;
}
		
.shfb-component-logo {
		width: 56px;
		height: auto;
		}
		
.shfb-main_header_row,
shfb-above_header_row
		{
		min-height: 0 !important;
		padding-top: 8px;
		}
}

/* Mobile uniquement (ajuste le breakpoint si besoin) */
@media (max-width: 1024px){

  /* Taille de l’icône hamburger */
  .shfb-component-mobile_hamburger .menu-toggle .sydney-svg-icon svg,
  .shfb-component-mobile_hamburger .menu-toggle svg {
    width: 24px !important;   /* ← mets 32px, 36px… si tu veux plus grand */
    height: 24px !important;
  }

  /* Zone cliquable confortable et centrée */
  .shfb-component-mobile_hamburger .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;              /* largeur de la “touche” */
    height: 44px;             /* hauteur de la “touche” */
    line-height: 1;           /* pas d’étirement vertical parasite */
    padding: 0;               /* on gère par width/height */
  }
}

/* Fin */
		

/* Correctif menus */

/* Uniformise l'alignement vertical des liens dans les 2 menus (gauche et droite) */
.shfb-main_header_row .main-navigation .menu > li > a,
.shfb-main_header_row .secondary-navigation .menu > li > a {
  line-height: 1.2;         /* même hauteur de ligne */
  padding-top: 10px;        /* même padding haut */
  padding-bottom: 10px;     /* même padding bas */
}

/* Le trait animé reste collé en bas du lien, donc identique des deux côtés */
.shfb-main_header_row .main-navigation .menu > li > a::after,
.shfb-main_header_row .secondary-navigation .menu > li > a::after {
  bottom: 0;
}

/* Fin */

/* ===== Soulignement animé depuis le centre — menus du header (principal + secondaire) ===== */

/* Liens des deux menus */
.shfb-component-menu nav .menu > li > a,
.shfb-component-secondary_menu nav .menu > li > a {
  position: relative;
  display: inline-block;   /* évite que la ligne prenne toute la largeur */
  text-decoration: none;
}

/* Trait animé */
.shfb-component-menu nav .menu > li > a::after,
.shfb-component-secondary_menu nav .menu > li > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;               /* ajuste si besoin: 0 / 2px / etc. */
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center center;
  transition: transform 220ms ease;
  pointer-events: none;
}

/* Hover + état actif */
.shfb-component-menu nav .menu > li > a:hover::after,
.shfb-component-secondary_menu nav .menu > li > a:hover::after,
.shfb-component-menu nav .menu > li.current-menu-item > a::after,
.shfb-component-secondary_menu nav .menu > li.current-menu-item > a::after,
.shfb-component-menu nav .menu > li.current_page_item > a::after,
.shfb-component-secondary_menu nav .menu > li.current_page_item > a::after {
  transform: translateX(-50%) scaleX(1);
}

/* Ceinture de sécu: neutralise un éventuel ::after global sur le header */
.shfb-main_header_row::after { content: none !important; background: none !important; }


/* ===== Soulignement animé depuis le centre – MENUS DU FOOTER ===== */
/* Compatibilité : menus WP classiques (.menu) et navigation block (.wp-block-navigation) */

.site-footer .menu a,
#colophon .menu a,
.site-footer .wp-block-navigation a,
#colophon .wp-block-navigation a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.site-footer .menu a::after,
#colophon .menu a::after,
.site-footer .wp-block-navigation a::after,
#colophon .wp-block-navigation a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;              /* espace sous le texte : ajuste si besoin */
  width: 100%;
  height: 2px;
  background: #A6D4CE;       /* couleur demandée */
  transform: translateX(-50%) scaleX(0); /* départ au centre */
  transform-origin: center center;
  transition: transform 220ms ease;
  pointer-events: none;
}

/* Survol + page active */
.site-footer .menu a:hover::after,
#colophon .menu a:hover::after,
.site-footer .menu .current-menu-item > a::after,
#colophon .menu .current-menu-item > a::after,
.site-footer .wp-block-navigation a:hover::after,
#colophon .wp-block-navigation a:hover::after,
.site-footer .wp-block-navigation .current-menu-item > a::after,
#colophon .wp-block-navigation .current-menu-item > a::after,
.site-footer .wp-block-navigation a[aria-current="page"]::after,
#colophon .wp-block-navigation a[aria-current="page"]::after {
  transform: translateX(-50%) scaleX(1);
}


/* Fin */

/* footer */
.uagb-block-4475d1f0 {
		justify-content: flex-start !important;
}

#block-7 {
		margin-top: 28px;
}

.shfb-footer {
		padding: 48px 0;
		color: #fff;
}

.shfb-footer ul {
		padding-inline-start: 0 !important;
}

.shfb-footer ul li {
		list-style-type: none;
		padding: 8px 0 0 0;
}

.shfb-footer ul li a {
		font-size: 16px;
		color: #fff;
}

.shfb-footer ul li a:hover {
		color: #A6D4CE;
}

.marginBottomZero {
		margin-bottom: 0 !important;
}


.marginTopZero {
		margin-top: 0 !important;
}

h2 {
		font-weight: 800 !important;
		margin-bottom: 40px !important;
}

h3 {
		font-weight: 800 !important;
		text-transform: uppercase;
}

p {
		margin-bottom: 8px !important;
		line-height: 1.4em !important;
}

.entry-content>* {
    margin-bottom: 0 !important;
}

.shfb-main_header_row {
    border-bottom-width: 0 !important;
}

/* :root { --site-header-h: 80px; } /* ajuste à la hauteur réelle du menu */

.hero{
  min-height: calc(100svh - var(--site-header-h));
  /* svh = corrige les barres d’UI mobiles, plus fiable que vh */
}

@media (max-width: 782px){
  :root { --site-header-h: 64px; } /* ex. mobile */
}

.quote {
		font-size: 36px;
		font-weight: 200;
		line-height: 1.4em;
		color: #fff;
}

@media (max-width: 782px){
		.quote {
		font-size: 24px;
		font-weight: 200;
		line-height: 1.4em;
		color: #fff;
}
}

/* Hauteur du header (ajuste si besoin) */
:root { --header-h: 132px; }
@media (max-width: 782px){ :root { --header-h: 64px; } }

/* 1) Header au-dessus, fond transparent sur la home */
body .shfb-header{
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

/* 2) Supprimer l’espace réservé par le spacer du header (Sydney) sur la home */
body .header-clone{
  height: 0 !important;
}

/* 3) Remonter le hero sous le header, tout en gardant son contenu lisible */
body #hero-area{
  margin-top: calc(-1 * var(--header-h)); /* le fond remonte sous le header */
  padding-top: var(--header-h);           /* le texte/boutons restent visibles */
  position: relative;
  z-index: 0;                             /* le header passe au-dessus */
}

/* (optionnel) Si un overlay du hero doit couvrir toute la zone remontée */
body #hero-area .uagb-container-inner-blocks-wrap,
body #hero-area .overlay{
  position: relative;
}

/* Footer : 1 colonne par ligne sur mobile */
@media (max-width: 768px) {
  /* S'assurer que la ligne peut passer en multi-ligne */
  #colophon.shfb-footer .shfb-row.shfb-cols-3 {
    display: flex;
    flex-wrap: wrap;
  }

  /* Chaque colonne occupe 100% de la largeur */
  #colophon.shfb-footer .shfb-row.shfb-cols-3 .shfb-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 24px;
  }

  /* Optionnel : recentrer le texte des menus */
  #colophon.shfb-footer .shfb-row.shfb-cols-3 .shfb-column-2,
  #colophon.shfb-footer .shfb-row.shfb-cols-3 .shfb-column-3 {
    text-align: left; /* ou center si tu préfères */
  }
}