/* assets/styles.css */

/* Prevent Multiple Contact Form 7 Submissions */

.wpcf7-form.submitting .wpcf7-submit {
    pointer-events: none;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.no_margin_bt p {
	margin-bottom: 0 !important;
}

.no_wrap {
	white-space: nowrap;
}

.black {
	font-weight: 900 !important;
}

.black.yellow {
	color: #FFB71A !important;
}

@media screen and (min-width:768px) {

	.mobile_only {
		display: none !important; 
	}
	
}

@media screen and (min-width: 1625px) {
	
	.col_left_calc_padding {
    	padding-left: calc((100vw - 1590px) / 2);
	}
	
	.col_left_calc_margin {
    	margin-left: calc((100vw - 1625px) / 2);
	}
	
	.col_right_calc_margin {
    	margin-right: calc((100vw - 1625px) / 2);
	}
	
	.col_right_calc_padding {
    	padding-right: calc((100vw - 1590px) / 2);
	}		
	
	.calc_motif {
		right: calc((100vw - 1625px) / 2);
	}
}

/*****Header*******/

.btn_arrow_white a svg path {
	transition: all .3s;
} 

.btn_arrow_white a:hover svg path {
    stroke: #1D1C1A;
} 

.btn_arrow_white.dark a:hover svg path {
    stroke: #fff;
} 

.menu_principal a::after {
	width: calc(100% - 30px) !important;
	left: 15px !important;
	border-radius:20px !important;
}

@media screen and (min-width:1200px) {

	.menu_principal a.elementor-sub-item {
		border: 0 !important;
	}
	
}


/****Forms******/

.forms .elementor-field-type-acceptance span.elementor-field-option {
    display: flex;
    align-items: flex-start;
}

.forms .elementor-field-type-acceptance {
	justify-content: center !important;
}

.forms .elementor-field-type-acceptance span.elementor-field-option {
	justify-content: center !important;
}

.forms .elementor-field-type-acceptance label,
.forms .elementor-field-type-acceptance label a {
	line-height: 1.2 !important;
}

.forms input[type=checkbox] {
    margin: 2px 10px 0 0 !important;
}

.forms .elementor-form .elementor-button .elementor-button-content-wrapper {
    gap: 20px;
}

.forms .elementor-button[type="submit"] svg * {
    fill: transparent !important;
}

.forms .elementor-button[type="submit"] svg path {
	transition: all .3s;
} 

.forms .elementor-button[type="submit"]:hover svg path {
    stroke: #1D1C1A;
} 

.forms input {
	padding: 18px !important;
}

.forms input[type=file] {
	width: 100% !important;
}

.forms .elementor-field-type-html {
    margin: 0 0 10px 18px !important;
}

@media screen and (max-width: 767px) {
	
	.forms input {
		padding: 15px !important;
	}
	
	.forms .elementor-field-type-html {
    	margin: 0 0 10px 15px !important;
	}
	
}


/****FAQ******/

.faq_sec summary.e-n-accordion-item-title {
    box-shadow: 0px 3px 6px #00000029;
}

/***polygon****/

.card {
	width: 100%;
	height: 220px;
	position: relative;
	border: 3px solid #FFB71A;
	padding: 25px 20px;
	overflow: visible; /* laisser le pseudo-élément visible */
	/* découpe du coin supérieur droit */
	clip-path: polygon(
		0 0,
		calc(100% - 105px) 0,
		100% 105px,
		100% 100%,
		0 100%
	);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Ligne diagonale qui complète la bordure */
.card::after {
	content: "";
	position: absolute;
	top: 100px;
	right: -108px;
	width: calc(105px * 1.414);
	border-top: 4px solid #FFB71A;
	transform: translate(calc(105px * -1), 0) rotate(45deg);
	transform-origin: top right;
}

.card p.p1 {
	margin-bottom: 0;
}

.card img {
	width: 55px !important;
	height: auto !important;
}

.mission .card  {
	height: 235px;
}

@media screen and (max-width: 1199px) {
	
	.card {
		height: 190px;
		padding: 20px;
	}
	
	.mission .card  {
		height: 210px;
	}	
	
	.card img {
		width: 50px !important;
	}
	
}


@media screen and (max-width: 1023px) {
	
	.card {
		height: 170px;
	}
	
	.mission .card  {
		height: 190px;
	}		
	
}

@media screen and (max-width: 767px) {
	
	.card {
		height: 150px;
	}
	
	.card img {
		width: 40px !important;
	}
	
}


/***Team***/

.team .read-more-wrapper {
  position: relative;
}

/* checkbox caché */
.team .read-more-wrapper input {
  display: none;
}

/* texte limité à 6 lignes */
.team .read-more-content {
  position: relative;
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* fade visuel */
.team .read-more-content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3em;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  pointer-events: none;
}

/* état ouvert */
.team .read-more-wrapper input:checked ~ .read-more-content {
  -webkit-line-clamp: unset;
}

/* supprimer le fade quand ouvert */
.team .read-more-wrapper input:checked ~ .read-more-content::after {
  display: none;
}

/* bouton */
.team .read-more-btn {
  display: flex;
  margin-top: 15px;
  color: #ffb71a;
  cursor: pointer;
  font-weight: 900;
}

/* texte bouton */
.team .read-more-btn::before {
  content: "Lire plus";
}

.team.en .read-more-btn::before {
  content: "Read more";
}

.team .read-more-btn::after {
    content: url(/wp-content/uploads/2025/11/Icon-akar-arrow-left-2.svg);
    margin-left: 10px;
}

.team .read-more-wrapper input:checked ~ .read-more-btn::before {
  content: "Lire moins";
}

.team.en .read-more-wrapper input:checked ~ .read-more-btn::before {
  content: "Read less";
}


/***Carriere***/

.carousel_carriere {
    overflow-x: hidden !important;
}

.carousel_carriere.accueil {
    overflow-x: initial !important;
}

.carousel_carriere .e-n-carousel,
.carousel_carriere.realisation_accueil .elementor-loop-container {
    margin-right: -150px;
	margin-bottom: 20px;
}

.carousel_carriere.accueil .e-n-carousel {
    margin-right: 0 !important;
}

.carousel_carriere span.swiper-pagination-bullet {
    width: 100px !important;
    height: 4px !important;
    border-radius: 0 !important;
	background-color: #EBE9E3 !important;	
	opacity: 1 !important;
}

.carousel_carriere.temoignages span.swiper-pagination-bullet {
	background-color: #6D6E71 !important;	
}

.carousel_carriere span.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #FFB71A !important;	
}

@media screen and (max-width: 1439px) {

	.carousel_carriere .e-n-carousel,
	.carousel_carriere.realisation_accueil .elementor-loop-container {
		margin-right: -100px;
	}
}

@media screen and (max-width: 1199px) {

	.carousel_carriere .e-n-carousel,
	.carousel_carriere.realisation_accueil .elementor-loop-container {
		margin-right: -70px;
		margin-bottom: 15px;
	}
	
	.carousel_carriere.temoignages .e-n-carousel {
		margin-right: 0;
	}	
	
	.carousel_carriere span.swiper-pagination-bullet {
		width: 80px !important;
	}
	
}

@media screen and (max-width: 1023px) {
	
	.carousel_carriere.temoignages span.swiper-pagination-bullet {
		width: 50px !important;
	}
}

@media screen and (max-width: 767px) {

	.carousel_carriere .e-n-carousel,
	.carousel_carriere.realisation_accueil .elementor-loop-container {
		margin-right: -50px;
		margin-bottom: 10px;
	}
	
	.carousel_carriere span.swiper-pagination-bullet {
		width: 50px !important;
	}
	
}

@media screen and (max-width: 424px) {

	.carousel_carriere .e-n-carousel {
		margin-right: -30px;
		margin-bottom: 5px;
	}
	
	.carousel_carriere.realisation_accueil .elementor-loop-container {
		margin-right: 20px;
	}	
	
	.carousel_carriere span.swiper-pagination-bullet,
	.carousel_carriere.temoignages span.swiper-pagination-bullet {
		width: 30px !important;
	}
	
}

/***Loop projet***/

.loop_projet {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.loop_projet .loop_projet_titre h3,
.loop_projet .loop_projet_titre p {
	display : none; 
}

.loop_projet:hover .loop_projet_titre h3,
.loop_projet:hover .loop_projet_titre p {
	display : block; 
}

/***single projet***/

.type-de-projet-realisations .cta_single_projet {
	display: none;
}


/*******Slider projet**********/

.slider_single_projet {
    text-align: center;
}

.slider_single_projet p {
    margin-bottom: 0;
}

.slider_single_projet .project-slider-wrapper {
    position: relative;
}

.slider_single_projet .custom-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #e5b100;
    border: none;
    width: 36px;
    height: 36px;
    cursor: pointer;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 0;
}

.slider_single_projet .custom-arrow:hover {
    background: #EBE9E3;
}

.slider_single_projet .slick-prev {
    left: -60px;
}

.slider_single_projet .slick-next {
    right: -60px;
}

.slider_single_projet .custom-arrow span {
    font-size: 20px;
    font-weight: bold;
}

.slider_single_projet .thumbs-grid {
    margin-top: 25px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 15px;
}

.slider_single_projet .thumb-item {
    cursor: pointer;
    overflow: hidden;
    border-radius: 0;
    border: 2px solid transparent;
    height: 120px; 
}

.slider_single_projet .thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider_single_projet .thumb-item:hover {
    border-color: #FFB71A;
}

.slider_single_projet .slick-prev:before,
.slider_single_projet .slick-next:before {
	display: none !important;
}

.slider_single_projet .slick-prev img,
.slider_single_projet .slick-next img {
    width: 23px;
    height: 23px;
}

@media screen and (max-width: 1330px) {
	
	.slider_single_projet .slick-prev {
		left: -36px;
	}

	.slider_single_projet .slick-next {
		right: -36px;
	}

}

@media screen and (max-width: 1285px) {
	
	.slider_single_projet .slick-prev {
		left: 0;
	}

	.slider_single_projet .slick-next {
		right: 0;
	}

}

@media screen and (max-width: 767px) {

	.slider_single_projet .slick-prev img, 
	.slider_single_projet .slick-next img {
		width: 15px;
		height: 15px;
	}
	
	.slider_single_projet .custom-arrow {
		width: 25px;
		height: 25px;
	}
}