/*
Theme Name: EGEO
Theme URI: https://wordpress.org/themes/twentytwentythree
Author: HARVEST
Author URI: https://wordpress.org
Description: Twenty Twenty-Three is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
Requires at least: 6.1
Tested up to: 6.1
Requires PHP: 5.6
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Template: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
*/
 @import url("https://use.typekit.net/tfi1ifj.css");




.admin-bar .wp-site-blocks, .admin-bar header{ margin-top: 32px;}
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    overscroll-behavior: none;
	min-height: 100vh;
}	

a, a:focus, a:active {
    outline: 0 !important;
}
a:hover{
	text-decoration: none !important;
}
.wp-block-navigation a:where(:not(.wp-element-button)):focus,
.wp-block-post-title a:where(:not(.wp-element-button)):focus,
.wp-block-site-title a:where(:not(.wp-element-button)):focus,
a:where(:not(.wp-element-button)):focus {
  text-decoration: none;
}

strong{
	font-weight: 700 !important;
}

.wp-block-post-title{
	word-break: inherit !important;
}

.ghm-menu-mobile{
	background-color: black;
}
.ghm-hamburger .bar{
	background-color: black !important;
}
.ghm-hamburger.is-open .bar{
	background-color: white !important;
}
.ghm-menu-mobile .wp-block-navigation-item,.ghm-menu-mobile .wp-block-navigation-item .wp-block-navigation-submenu {
	color: white !important;
	background-color: black !important;
}
.ghm-menu-mobile .wp-block-navigation__submenu-container span{
	color: rgb(255, 255, 255) !important;
	position: relative;
	margin-left: 25px;
}

header{position:fixed; width: 100%; z-index: 99999; transition: 0.4s all ease-in-out; top:0;}
header .heading, .heading1, .ariane{ transition: 0.3s all ease-in-out;}
header .main{background-color:transparent; transition: 0.4s all ease-in-out;  }
.ghm-hamburger{ top: 72px !important; right: 5rem !important; transition: 0.3s all ease-in-out;}
.admin-bar .ghm-hamburger{ top: 104px !important;}
.ghm-hamburger.down{ top: 32px !important; }
.admin-bar .ghm-hamburger.down{ top: 68px !important;}
.ghm-hamburger span{background-color: black;}
header.scrolled.down .main{ background-color: var(--wp--preset--color--base);}
header.scrolled.down .heading{ padding-top: 5px !important; padding-bottom: 2px !important;}
header.scrolled.down .heading1{ margin-top: -35px !important;}
header.scrolled.down, 
header.scrolled.up{
	 .ariane{ 
		 opacity: 0;
	}
}
header.scrolled.up .main{
	background: rgba(0, 0, 0, 0.84); backdrop-filter: blur(10px);
}

header.scrolled.up .main{
		backdrop-filter: blur(10px);
}
.main{
	box-shadow: 0px 3px 15px 8px rgba(0, 0, 0, 0.21);
}
.home .ariane{
	display: none;
}
.wp-block-cover{ 
	overflow: hidden !important;
}

:not(.wp-admin) .wp-block-cover-image .wp-block-cover__inner-container{z-index:inherit!important;}

:not(.wp-admin) .bgAnim{ position: absolute; top: 0; z-index:1!important; opacity: 0.4;}
:not(.wp-admin) .profil .bgAnim{ position: absolute; top: -150px; z-index:0!important; transform: rotate(90deg);}
.rotate{ transform: rotate(90deg);}
:not(.wp-admin) .wp-block-cover__inner-container .wp-block-group, .wp-block-cover__inner-container .wp-block-group .wp-block-columns{z-index:3!important;}
.page-template-default .wp-block-cover { overflow: visible;}

.bien{margin-top:-10% !important; z-index: 1;}
.equipe{margin-top:-350px !important; z-index: 1; position: relative; right: -160px;}

.equipe figure{ z-index: 1;}
.bcontact .wp-block-button{ margin-bottom: -25px; z-index: 10; position: relative;}

.logoZ{z-index:3; position: relative;}


.tiled-gallery__item{ padding: 1rem;}

.accordion {
  width: 250px;
  margin: 15px;
  box-shadow: 0 8px 17px rgba(0,0,0,.2);
}

.accordion-menu {
transition: 0.4s all ease-in-out;
  color: white;
  padding: 20px 20px;
  cursor:pointer!important;
  user-select: none;
  position:relative;
  border-bottom: 1px solid var(--wp--preset--color--secondary);
  background:  linear-gradient(1turn, var(--wp--preset--color--secondary), var(--wp--preset--color--base));
  border-radius: 10px;
}

.accordion-menu:before {
	text-align: center;
	position: absolute;
	right: 20px;
	width: 20px;
	content: "+";
}
.accordion-menu.active:before {
	content: "-";
}


.accordion-menu.active, .accordion-menu:hover{
	color: white !important;
}
.accordion-menu img{
	transition: all ease-in-out .5s;
}
.accordion-menu:hover img{
	transform: scale(1.1);
}


.accordion-content {
	  padding: 20px;	
  height: 0;
  overflow: hidden;
  font-size: 14px;
/*   width: 60%; */
}

.accordion-content.expanded {
		
  height: 0;
  overflow: hidden;
}
.accordion-plus,
.accordion-minus{
  position:absolute;
  top:7px;
  right:8px;
}


.selected{ color: white !important; }

.exp .line{transition: all ease-in-out .5s; cursor: pointer; transform-origin: left;}
.exp .line:hover{transform: scale(1.1); }

.exp .line{transition: all ease-in-out .5s;}

.rotator h2{	
	color: white;
	perspective: 500px;
	min-width: 550px;
	transform: translateY(-50%);
	position: absolute;
	text-indent: 3; 
	font-size: 4rem;
	font-weight: 200;
	&.light > {
		color: white;
	}
	&.shadow {
		color: black;
		opacity: .95;
	}
}

nav,
footer,
main{
	
	 a{ position: relative;}
	 
	 .dlink{}
	 
	 .dlink a{
		 border-radius: 10px;
	 }
	 a.wp-block-tiptip-hyperlink-group-block{
		  transition: all 400ms;
	 }
	
	 a:not(.wp-block-tiptip-hyperlink-group-block, .wp-block-button__link){
		text-decoration: none;
		  background-size: 0% 1px, 0 1px;
		  background-position: 100% 100%, 0 100%;
		  background-repeat: no-repeat;
		  transition: all 400ms;
		  & span{
			  transition: all 400ms;
		  } 
		  
		  &:hover{
			span{ color: var(--wp--preset--color--primary); }
			color: var(--wp--preset--color--primary);
			background-size: 0 1px, 100% 1px;


			
		} 
	 
	}

}

.main .wp-block-navigation-item__content{
	padding: 30px 0px;
}

.entete-nav .wp-block-navigation-item__content:hover{
	span{color:white !important;}
}



.coinHG{
	border-radius: 100px 0px 0px 0px;
	overflow: hidden;
}
.coinBD{
	border-radius: 0px 0px 100px 0px;
	overflow: hidden;
}

h2:before{
	content: "";
	width: 50px;
	height: 30px;
	background-color: var(--wp--preset--color--primary);
	display: inline-block;
	margin-right: 10px;	
	margin-bottom: -1px;
}

.maintenance h2:before{
	background-color: var(--wp--preset--color--secondary);
}
.construire h2:before{
	background-color: var(--wp--preset--color--tertiary);
}

.wp-block-button__link, .contact a{transition: all .35s;}
.wp-block-button__link:hover, .contact a:hover{ background-color: white !important; color: var(--wp--preset--color--primary) !important; }

.signature{ transform: rotate(-90deg); position: absolute;}


//* === 1) Animation CSS du dégradé === */
    @keyframes scrollHorizontal {
      /* On déplace le background-position X de 0% à 100%, Y fixe à 50% */
      0% {
        background-position: -100% 50%;
      }
      100% {
        background-position: 100% 50%;
      }
    }


.quote-2 {
   margin-top:0px; font-size:5vh; line-height:5vh;  overflow:hidden; 
   
}
.quote-2 div{
	background: var(--wp--preset--gradient--custom-quote);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;}

.split-line {
  overflow: hidden;
}

.split-parent {
  overflow: hidden;
}
.wp-block-spacer{
		background: var(--wp--preset--gradient--aod);
}


/*

.wp-element-button {
  display: inline-block;
  padding: .75rem 1.25rem;
  border-radius: 10rem;
  color: #fff;
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: .15rem;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  z-index: 1;
  &:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--wp--preset--color--base);
    border-radius: 10rem;
    z-index: -2;
  }
  &:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: darken($color, 15%);
    transition: all .3s;
    border-radius: 10rem;
    z-index: -1;
  }
  &:hover {
    color: #fff;
    &:before {
      width: 100%;
    }
  }
}
*/


.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{
	border: 0px solid black !important;
	box-shadow: 0px 10px 5px 4px rgba(0, 0, 0, 0.15);
}

.adn{
	background: url(/wp-content/uploads/2025/08/EGEO-ADN-768x698.jpg) left center no-repeat;
	background-size: contain;
}
.hotline{
	background: url(/wp-content/uploads/2025/08/Egeo-hotline.jpg) left center no-repeat;
	background-size: contain;
	padding-left: 10%;
}
/* === Grille Masonry avec colonnes CSS === */
/* === Masonry sans trous (colonnes) === */
.tuiles {
  --tile-gap: var(--wp--preset--spacing--30, 24px);   /* gouttière verticale */
  --column-gap: var(--wp--preset--spacing--30, 24px); /* gouttière horizontale */
  --stagger: 40px;                                    /* décalage interne (ajuste à ton goût) */
}

.tuiles .tuiles-grid {
  column-width: 360px;
  column-gap: var(--column-gap);
}

/* Chaque tuile = bloc non cassable dans la colonne */
.tuiles .wp-block-cover {
  display: inline-block;       
  width: 100%;
  vertical-align: top;         /* évite les micro-espaces fantômes */
  break-inside: avoid;         
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;

  /* >>> GOUTTIÈRE VERTICALE UNIFORME <<< */
  margin: 0 0 var(--tile-gap) !important;

  transition: opacity .2s ease, transform .2s ease;
}

/* Contenu collé en bas (si souhaité) */
.tuiles .wp-block-cover {
  display: inline-block; /* (on reste inline-block pour les colonnes) */
}
.tuiles .wp-block-cover__inner-container {
  margin-top: auto; /* pousse l'intérieur en bas si le parent est flex (voir si tu l'as conservé) */
}

/* Variante "élément en bas" si tu utilises flex sur la cover */
.tuiles .wp-block-cover {
  /* si tu as activé flex pour coller le contenu en bas : */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* Effet décalé sans casser la gouttière : on ajoute du padding en haut à l'intérieur */
.tuiles .wp-block-cover:nth-child(odd) .wp-block-cover__inner-container { padding-top: var(--stagger); }
.tuiles .wp-block-cover:nth-child(even) .wp-block-cover__inner-container { padding-top: 0; }

/* Masquage quand filtré */
.tuiles .wp-block-cover[hidden] {
  display: none !important;
  opacity: 0;
  transform: scale(.98);
}

/* Barre de filtres */
.tuiles .filtres a {
	color: black;
  text-decoration: none;
  opacity: .6;
  transition: opacity .2s ease, text-underline-offset .2s ease;
}
.tuiles .filtres a:hover { opacity: .9; }
.tuiles .filtres a.active { 
  opacity: 1; 
  text-decoration: underline; 
  text-underline-offset: .2em; 
}

.wp-block-search__inside-wrapper {
  position: relative;
}

.wp-block-search__input {
  position: absolute;
  top: 100%;
  right: 0;          /* aligné au bord droit */
  width: 220px;
  margin-top: 6px;
  display: none;
  z-index: 1000;
  background: white;
  border: 1px solid #ccc;
  padding: 6px 10px;
  border-radius: 4px;
  box-sizing: border-box;
  max-width: 90vw;   /* évite de dépasser l’écran */
}

/* Quand WordPress lui retire la classe hidden */
.wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
  display: block;
}

.gform_required_legend{
	display: none !important;
}

footer > .wp-block-group:before{
	background: url(/wp-content/themes/egeo/img/o.svg) left center no-repeat;
	width: 330px;
	height: 200px;
	content: "";
	left: 0;
	bottom: 50px;
	display: block;
	position: absolute;
	z-index: 1;
	background-size: contain;
}

footer > .wp-block-group:after{
	background: url(/wp-content/themes/egeo/img/o.svg) left center no-repeat;
	width: 330px;
	height: 200px;
	content: "";
	right: -50px;
	top: 0;
	display: block;
	position: absolute;
	z-index: 1;
	background-size: contain;
}

footer .wp-block-columns{
	z-index: 2;
	position: relative;
}

.ghm-menu-mobile .wp-block-navigation-item__content{
	padding: 20px !important;
}

.wp-block-polylang-language-switcher{
	display: flex;
	padding: 0;
	margin: 0 !important;
}
.wp-block-polylang-language-switcher li{
	padding: 3px;
}

/* Responsivité */
@media (max-width: 1024px) {
  .tuiles .tuiles-grid { column-width: 300px; }
  .ghm-menu-mobile .wp-block-navigation__submenu-container{
	  margin-top: -30px;
  }
}
@media (max-width: 640px) {
  .tuiles .tuiles-grid { column-width: 260px; }
  .mainFooter .wp-block-navigation-link{
	  display: none;
  }
  h2:before{
	  width: 30px;
    height: 18px;
  }
  .pictos p{
	  font-size: 10px !important;
  }

}
@media (min-width: 1141px) {
	
	.current-menu-item.menu-vert, .current-menu-item{
		color: var(--wp--preset--color--primary);
	}
	
	.current-menu-ancestor.menu-orange, .menu-orange:hover, .menu-orange:hover > a span{
		color: var(--wp--preset--color--secondary) !important;
	}
	
	.current-menu-ancestor.menu-bleu, .menu-bleu:hover, .menu-bleu:hover > a span{
		color: var(--wp--preset--color--tertiary) !important;
	}
	

	.menu-orange.current-menu-item:not(.maintenir-nav) span {
  		color: var(--wp--preset--color--secondary) !important;
	}

	.menu-orange .wp-block-navigation__submenu-container span {
  		color: #000 !important; /* noir */
	}
	.menu-orange .wp-block-navigation-item__content .wp-block-navigation-item__label:hover{
		color: var(--wp--preset--color--secondary) !important; 
	}
	.maintenir-nav:hover{
		span{ color:var(--wp--preset--color--secondary) !important; }
	}

	.menu-bleu.current-menu-item:not(.maintenir-nav) span {
  		color: var(--wp--preset--color--tertiary) !important;
	}

	.menu-bleu .wp-block-navigation__submenu-container span {
  		color: #000 !important; /* noir */
	}

	.menu-bleu .wp-block-navigation-item__content .wp-block-navigation-item__label:hover{
		color: var(--wp--preset--color--tertiary) !important; 
	}

	.construire-nav:hover{
		span{ color:var(--wp--preset--color--tertiary) !important; }
	}

	.wp-block-navigation-item.mobile-burger {
		display: none;
	}

	.col-border{
		border-bottom: none;
		border-top:none;
	}

	.Col2 {
	position: absolute;
	width: 14vh !important;
	margin-left: 20vh !important;
	}

	header.scrolled.down .heading{ padding-top: 5px !important; padding-bottom: 5px !important;}
	
	header.scrolled.down .heading {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}
	
/*
	.wp-block-post-template.is-layout-grid, .page-id-740 .is-layout-grid{
	
	  grid-template-columns: repeat(6, 1fr);
	  grid-template-rows: 50% 50%;
	  padding: 10px;
	  grid-gap: 20px;
	}

	.wp-block-post-template.is-layout-grid .wp-block-post, .page-id-740 .is-layout-grid a {
		 text-align: center;
	  grid-column: span 2
	}
	
	.wp-block-post-template.is-layout-grid .wp-block-post:nth-child(4), .page-id-740 .is-layout-grid a:nth-child(4) {
		grid-column: 2 / span 2;
	}
*/
	
}

@media (max-width: 1141px) {
	.hotline-nav{
		display: flex;
/* 		position: absolute; */
		right:2.5rem;
	}
	.wp-block-navigation-item.entete-nav {
		display: none;
	}
	.col-border{
		border-right: none;
	}
	.Col2 {
	padding: 50px;
	}
	.reverse{flex-direction: column-reverse;}
	.accordion-menu {
		display: block !important;
		.picto{
			width: 133px;
		}
	}
	.home .wp-block-cover__inner-container{
		.has-afronaut-font-family{
			font-size: 3.5rem !important;
		}
		.wp-block-group{
			padding: 4% 0px;
			margin: 0% 0px !important;
		}
		.wp-block-heading{
			padding: 0px 5%;
			
			h2{
				font-size: 3rem;
			}
		}
		
	}
	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{ background-color: var(--wp--preset--color--base); color: white; height: 100%; z-index: 990;}
	.wp-block-navigation__responsive-container.is-menu-open ul{align-items:center!important; width: 100%;}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-content: center !important;}
	.wp-block-navigation__responsive-container{background-color: var(--wp--preset--color--base) !important;}
	nav.wp-block-navigation-item{color: white!important; text-align:center!important; font-size: 1.5rem !important;}
	.wp-block-navigation__responsive-container-content span{ color: white !important; font-weight: bold; font-size: 2rem !important; font-weight: 200; text-indent: 3px;}
	.wp-block-navigation.items-justified-right{ --navigation-layout-justify: none !important; text-align: center; --navigation-layout-justification-setting: none !important;  }
	.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg{ fill: white !important;}
	

	header.scrolled.up .main{
		backdrop-filter: none;
	}
	header .main{
		padding-top:15px !important;
		padding-bottom: 15px !important;
	}
	.wp-block-navigation__submenu-icon{
		position:relative !important;
		right: -10rem;
    	top: -2.3rem;
		height: 2rem;
	}
	.wp-block-navigation__submenu-icon svg{
		height: 1rem !important;
		width:1rem !important;
	}
	.tuiles-grid{
		margin-left: 1.5rem;
		margin-right: 1.5rem;
	}
}



.wp-block-quote p{
  position: relative;
  display: inline-block;
}
.wp-block-quote p::before, .wp-block-quote p::after{
	content: "";
  	display: inline-block;
  	width: 30px;   /* largeur du svg */
  	height: 30px;  /* hauteur du svg */
  	background-size: contain;
  	background-repeat: no-repeat;
  	vertical-align: middle;
}
.wp-block-quote p::before{
	margin-right: 10px;
  	background-image: url("/wp-content/uploads/2025/09/guillements_1.svg");
}
.wp-block-quote p::after{
	margin-left: 10px;
  	background-image: url("/wp-content/uploads/2025/09/guillements_2.svg");
}
footer .wp-block-group{
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	margin: 0;
}
footer .top{
	z-index: 10 !important;
}