/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

@font-face {
    font-family: 'Moret';
    src: url('/wp-content/themes/generatepress_child/fonts/Moret-Semibold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Moret';
    src: url('/wp-content/themes/generatepress_child/fonts/Moret-BookOblique.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inclusive Sans';
    src: url('/wp-content/themes/generatepress_child/fonts/InclusiveSans-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Inclusive Sans';
    src: url('/wp-content/themes/generatepress_child/fonts/InclusiveSans-SemiBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


h1, h2, h3 {
	font-family: 'Moret';
}

p{
	font-family: "Inclusive Sans";
	font-size: 16px;
	font-style: normal;

}

.pl{
	font-size: 18px;
}

.ps {
    font-size: 14px;
}

.hl{
	font-family: Moret;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 1.6px;
}

.hl em{
	font-weight: 300 !important;
}


.sub{
	font-family: "Inclusive Sans";
	font-size: 18px !important;
	font-style: normal;
	font-weight: 700;
	text-transform: uppercase;
}

@media (min-width: 766px){
	.hl{
		font-size: 60px;
	}
	
	.hm{
		font-size: 50px;
	}
}


@media (max-width: 768px){	
	.hl{
		font-size: 3rem;
	}
}

.front{
	z-index: 10;
	position: relative;
}

.btn, button.happyforms-submit.happyforms-button--submit{
	font-family: "Inclusive Sans";
	font-size: 18px !important;
	font-style: normal;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	background: transparent !important;
	/*width: 100% !important;*/
	padding: 0px;
}

.btn-red a{
	color: var(--red) !important;
}

.btn-dark-yellow{
	color: var(--blue) !important;
}

.btn-dark-red, .nav-cta a {
	color: var(--blue) !important;
}

 .btn-light-red{
	color: var(--cream) !important;
 }

 .btn-light-blue{
	color: var(--cream) !important;
}

 .btn-light{
	color: var(--cream) !important;
}

.btn-dark-yellow:after, .btn-dark-red:after, .nav-cta a:after,.btn-light-red:after, .btn-light-blue:after, .btn-light:after, button.happyforms-submit.happyforms-button--submit:after{
	content: "";
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 54px;
	width: 54px;
	margin-left: 10px;
	display: inline-flex;
    align-items: center;
    transition: 0.3s ease;
}

.btn-red:before{
	content: "";
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 20px;
	width: 20px;
	margin-left: 10px;
	display: inline-flex;
    align-items: center;
    transition: 0.3s ease;
    background-image: url("/wp-content/themes/generatepress_child/svg/arrow-red.svg");
}

.btn-dark-yellow:hover:after, .btn-dark-red:hover:after, .nav-cta a:hover:after,.btn-light-red:hover:after, .btn-light-blue:hover:after, .btn-light:hover:after {
    transform: rotate(-15deg);
    transition: 0.3s ease;
}

.btn-dark-yellow:after{
	background-image: url("/wp-content/themes/generatepress_child/svg/dark-yellow-star.svg");
}


.btn-dark-red:after, .btn-light-red:after, .nav-cta a:after, button.happyforms-submit.happyforms-button--submit:after{
	background-image: url("/wp-content/themes/generatepress_child/svg/dark-red-star.svg");
}

.btn-light-blue:after{
	background-image: url("/wp-content/themes/generatepress_child/svg/dark-blue-star.svg");
}

.btn-light:after{
	background-image: url("/wp-content/themes/generatepress_child/svg/light-star.svg");
}

.nav-cta a {
    display: inline-flex !important;
    align-content: center !important;
    align-items: center !important;
    text-transform: uppercase !important;
}

.nav-cta{
	text-transform: uppercase !important;
}

.rs{
	position: absolute;
	top: 30px;
	right: 60px;
}


button.happyforms-submit.happyforms-button--submit {
    display: inline-flex;
    align-content: center;
    align-items: center;
}

/* NAV */

.hide{
	display: none;
}

.inside-header .grid-container{
	position: relative;
}

.inside-header{
	align-items: flex-end;
	padding: 20px 40px 40px 40px;
}

div#primary-menu a{
	font-family: "Inclusive Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
}

.inside-header.grid-container {
    background: transparent !important;
}

.main-navigation li, .inside-navigation {
    position: static !important;
}

.sub-menu a, .menu-item-description {
    padding: 3px 20px 0px 20px !important;
}

.sub-menu a {
    text-transform: initial !important;
    font-size: 17px !important;
    margin-top: 9px;
}


.sub-menu{
	background: #FFF;
	padding : 20px 20px 35px 20px !important;
}


.mega-menu .sub-menu{
	background: var(--cream);
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0);
    z-index: 1000;
    border-bottom: 1px solid;
    border-top: 1px solid;
}

.sub-menu .menu-item-description {
    font-style: italic;
    font-size: 14px;
}

/* Structure de base du mega menu */
@media (min-width: 769px){
	.menu-item-has-children.mega-menu > .sub-menu {
	  display: flex !important;
	  flex-wrap: wrap;
	  width: 600px;
	  padding: 20px;
	  background: #fff;
	  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	  z-index: 1000;
	}

	/* Colonnes dans le sous-menu */
	.menu-item-has-children.mega-menu > .sub-menu > li {
	  width: 33.33% !important;
	  list-style: none;
	  padding: 5px 10px;
	}

	/* Pour éviter les collisions */
	.menu-item-has-children {
	  position: relative;
	}
}


.sub-menu{
	position: absolute !important;
	left: 0px !important;
	right: 0px !important; 
	width: 100% !important;
}

/* NAV MOBILE */

:root {
    --gp-slideout-width: 365px !important;
}

@media (max-width: 768px) {
	.site-header .header-image {
		width: 218px;
	}
	.rs{
		display: none;
	}
	.inside-header{
		padding: 20px 10px 20px 10px !important;
	}
}

nav#generate-slideout-menu {
    background: var(--cream);
}

nav#generate-slideout-menu .inside-navigation.grid-container.grid-parent {
    padding-right: 20px;
}

nav#generate-slideout-menu a {
    text-transform: uppercase;
    font-weight: 700;
}

.slideout-overlay{
	background-color: rgb(8 16 57 / 75%) !important;
}

button.menu-toggle svg {
    height: 30px;
    width: 30px;
}

button.menu-toggle {
    background: transparent !important;
}


/* Layouts */


.grid-container {
    max-width: none !important;
}

.absolute-center{ 
	left: 50% !important;
	transform: translateX(-50%) !important;
}

.pink-tag {
    background: var(--pink);
    border-radius: 100px;
    margin: 5px;
    padding: 2px 10px;
    text-transform: uppercase;
    font-size: 15px;
	
}

.pink-tag a{
	text-decoration: none !important;
}

.red-tag {
    background: var(--red);
    color: #FFF;
    border-radius: 100px;
    margin: 5px;
    padding: 2px 10px;
    text-transform: uppercase;
    font-size: 15px;
}


.red-tag a{
	color: #FFF !important;
	text-decoration: none;
}


.inside-article {
    overflow: hidden;
}

.tilt-right{
transform: rotate(11deg) scale(1.1) translateX(50px);
margin-right: -100px !important;
}

.tilt-left{
transform: rotate(-11deg) scale(1.1) translateX(-50px);
}


.separate-containers .comments-area, .separate-containers .inside-article, .separate-containers .page-header, .separate-containers .paging-navigation {
    padding: 0px !important;
}

.separate-containers .site-main{
	margin-top: 0px !important;
}



/* FRISE */
.frise, .step{
	position: relative;
}

.frise:before{
	content: "";
	position: absolute;
	top: 30px;
	height: 100%;
	width: 20px;
    left: -60px;
	background-image: url("/wp-content/themes/generatepress_child/svg/frise.webp");
	background-position: center;
	background-repeat: repeat-y;
	background-size: contain;
}

.step :before {
	content: "";
	position: absolute;
	top: 20px;
	height: 40px;
	width: 40px;
    left: -70px;
    background-image: url("/wp-content/themes/generatepress_child/svg/blue-star.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}


/* FAQ */

strong.schema-faq-question:hover {
    cursor: pointer;
}

.schema-faq-question{
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	display: block;
	padding: 20px 15px 20px 75px;
	position: relative;
	font-family: "Inclusive Sans";
	
}

.schema-faq-section{
	margin-bottom: 20px;
}



@media (max-width: 768px){
	.schema-faq-question{
		font-size: 16px !important;
	}
}

strong.schema-faq-question:after {
    content: "+";
    text-align: center;
    position: absolute;
    left: 20px;
   	height: 40px;
    width: 40px;
    padding-top: 3px;
    margin-top: -5px;
    top: 20px;
}

.schema-faq-question.active:after {
    content: "-" !important;
}

.schema-faq-answer {
    display: none;
    
}

@media (min-width: 769px){
.schema-faq-answer {
	padding: 0px 65px 30px 65px;
	}
}

@media (max-width: 768px){
.schema-faq-answer {
	padding: 0px 35px 30px 25px;
	}
}

strong.schema-faq-question {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 20px;
}

.schema-faq-answer a{
	text-decoration: none;
}

.schema-faq-answer a {
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
}

.schema-faq-answer a:before {
    content: "→ ";
    font-weight: 900;
}

.faq-light-red strong.schema-faq-question {
    background: var(--cream);
    color: var(--red);
}

.faq-dark-yellow strong.schema-faq-question {
	background: var(--blue);
    color: var(--yellow);
}

.faq-light-red strong.schema-faq-question:after {
	color: var(--cream);
}

.faq-dark-yellow strong.schema-faq-question:after {
	color: var(--blue);
}


.faq-light-red .schema-faq-answer a {
	color: var(--red);
}

.faq-dark-yellow .schema-faq-answer a {
	color: var(--yellow);
}

.faq-light-red strong.schema-faq-question:after, .faq-dark-yellow strong.schema-faq-question:after {
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}


.faq-light-red strong.schema-faq-question:after {
	background-image: url("/wp-content/themes/generatepress_child/svg/flower-red.svg");
}

.faq-dark-yellow strong.schema-faq-question:after {
	background-image: url("/wp-content/themes/generatepress_child/svg/flower-yellow.svg");
}

.faq-light-red p.schema-faq-answer{
	background: var(--cream);
}

.faq-dark-yellow p.schema-faq-answer{
	background: var(--blue);
	color: var(--cream);
}


.avis-clients{
	position: relative;
}


@media (min-width: 769px){
	.avis-clients:before {
	    content: "";
	    position: absolute;
	    background: var(--pink);
	    height: 100%;
	    left: 0px;
	    top: 0px;
	    width: 300px;
	}
}




/* CAROUSEL */

@media (min-width: 769px){
.carousel-container {
	width: 90%;
	}
}

@media (max-width: 769px){
.carousel-container {
	width: 100%;
	}
}

.carousel-container {
    position: relative;
    overflow: hidden;
    margin-left: auto;
}

.carousel-container {
  position: relative;
  overflow: hidden;
}

.slides, .allavis {
    display: flex;
      transition: transform 0.4s ease; /* Transition améliorée */
  will-change: transform; /* Optimisation des performances */

}

.slides h4{
    font-weight: 600;
}

.slide, .avis {
  width: calc(100% / 3.5 - 20px) !important; /* Afficher 3,5 diapositives par écran */
  flex-shrink: 0;
  margin-right: 20px;
    box-sizing: border-box;    
    display: inline-flex;
    flex-direction: column;
    background-color: #FFF !important;
    
}

.slide{
    min-height: 500px;
    padding: 40px 30px 10px 30px;
}

.avis{
    padding: 20px;
    justify-content: flex-start;
}

@media (min-width: 1025px) {
    .slide, .avis {
        width: calc(100% / 2.5 - 20px) !important; /* Afficher 3,5 diapositives par écran */
    }
}


.slide .tags {
    margin-top: auto;
    padding-top: 20px;
}


.slide .tags div{
	background: var(--pink);
	
}


.slide .btn-inline{
    margin-top: 20px;
}

.arrows {
    text-align: right;
    margin-top: 20px;
}

.arrows {
    margin-right: 10%;
}

.arrows .arrow {
    line-height: 30px;
    padding: 0px;
    background: transparent;
}

.arrows .arrow:hover{
    background: transparent;
}

.arrows .arrow svg {
    height: 55px !important;
    width: 55px !important;
}

@media (max-width: 1024px) {
        .slide, .avis {
              width: calc(100% / 1.2 - 20px) !important; /* Afficher 3,5 diapositives par écran */
              flex-shrink: 0;
    }
}




.linked-container, .blog .inside-article {
    position: relative;
}

.linked-container .link a:before, .blog .inside-article .entry-title a:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
}

.linked-container .link a, .blog .inside-article .entry-title a {
  text-decoration: none;
}


.link a {
    text-decoration: none !important;
}

/* BLOG */

.blog .separate-containers .inside-article, .archive .separate-containers .inside-article {
    padding: 30px !important;
}

.blog #content, .archive #content {
    max-width: 1800px;
    margin-right: auto;
    margin-left: auto;
    padding: 0px 3%;
}

.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) {
    margin-top: 1em !important;
}

.post-image-above-header .inside-article .featured-image, .post-image-above-header .inside-article .post-image {
    margin-top: 0;
    margin-bottom: 1em !important;
}


.blog article:hover .post-image, .archive article:hover .post-image {
    transform: rotate(2deg);
	transition: all 0.4s ease;
}

.blog article .post-image, .archive article .post-image {
	transition: all 0.4s ease;
}



.single-post div#page {
    max-width: 900px !important;
    margin: 60px auto;
	padding: 0px 6%;
}

.single-post .entry-content p {
    font-size: 19px;
}

span.cat-links{
	display: none;
}

/* FOOTER */

.separate-containers .site-main {
    margin: 0px !important;
}

.happyforms-message-notice h2 {
    font-family: 'Inclusive Sans' !important;
}