/*
Theme Name: FMC Child
Theme URI: https://tonsite.com
Author: Ahlem Labiadh
Author URI: https://tonsite.com
Description: Ceci est un thème enfant de FMC (basé sur Twenty Twenty-Five).
Template: FMC
Version: 1.0.0
Text Domain: fmc-child
*/

body {
	font-family: "Poppins", Sans-serif;
	overflow-x: hidden;
}
html, body { overflow-x: hidden; }

/* Flèches Smart Slider : en bas à gauche du container */
.n2-ss-slider-controls {
	position: absolute !important;
	bottom: 0 !important;
	left: 50%;
	transform: translateX(-730px);
	z-index: 20;
}

body div#n2-ss-1 .nextend-arrow-previous {
	margin-right: 5px;
}

.elementor-widget-n-tabs .e-n-tab-title-text {
	cursor: pointer;
}

body .btVoirPlus a.elementor-button span {
	display: flex !important;
	align-items: center !important;
}
header .elementor-widget-icon-box .elementor-icon-box-icon {
    display: inline-block;
    flex: 0 0 auto;
    line-height: 0;
}
header .elementor-icon-box-wrapper {
    display:flex;
    flex-direction: row;
    gap: var(--icon-box-icon-margin, 15px);
    text-align: start;
}


.voiture-fade {
	opacity: 0;
	transform: scale(0.3) translateX(200px);
}

.voiture-fade.active {
	animation: voiture-entrer 1s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

@keyframes voiture-entrer {
	to {
		opacity: 1;
		transform: scale(1) translateX(-100px);
	}
}


#acf-carousel .owl-stage {
	display: flex !important;
	flex-direction: row-reverse;
}

#acf-carousel .owl-item {
	flex: 0 0 auto;
}

#acf-carousel .owl-item h3 {
	color: #fff;
	font-size: 22px;
	font-weight: 600;
	min-height: 50px;
	margin: 20px 0 0 0;
}

#acf-carousel .owl-item p {
	color: #fff;
	font-size: 16px;
	min-height: 135px;
}

#acf-carousel .owl-item img {
	height: 335px;
	object-fit: cover;
}

.owl-controls {
	width: 10%;
	position: absolute;
	left: -11%;
	top: 0;
}

.owl-controls .owl-prev,
.owl-controls .owl-next {
	width: 100%;
	border-radius: 0;
}

.owl-controls .owl-next {
	background: #000 url(img/arrow_next_white.svg) 95% center no-repeat;
	color: #fff;
	padding: 8px;
	font-size: 15px;
	font-weight: 500;

}

.owl-controls .owl-next:hover {
	background: #fff url(img/arrow_next_black.svg) 95% center no-repeat;
	color: #000;
}

.owl-controls .owl-prev {
	background: #fff url(img/arrow_prev_black.svg) 5% center no-repeat;
	color: #000;
	padding: 8px;
	font-size: 15px;
	font-weight: 500;
	text-align: right;
	margin-top: 10px;
}

.owl-controls .owl-prev:hover {
	background: #000 url(img/arrow_prev_white.svg) 5% center no-repeat;
	color: #fff;
}

.owl-nav {
	display: flex;
	flex-direction: column-reverse;
}

#acf-carousel .carousel-btn {
	color: #fff;
	font-weight: 500;
	border: solid 1px #fff;
	padding: 5px 10px;
	font-size: 16px;
}

#acf-carousel .carousel-btn:hover {
	background: #000;
	border: solid 1px #000;
}

#acf-carousel .owl-item {
	min-height: 660px;
	padding: 0 10px;
}

.blocAssurance {
	max-height: 664px;
}

body li.current-menu-item a,
body li.menu-item a:hover {
	color: #c68035 !important;
}

body li.current-menu-item::before,
body li.current-menu-parent::before,
body li.current-menu-ancestor::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 40%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background: #c68035 !important;
	/* prend la couleur du texte */
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'><path d='M295.4 160H180.6L208.6 12.6C211.9-6.1 189.6-17.2 175.6-3.6L9.6 172.4C1.5 180.7 6.3 194.7 18.6 194.7H133.4L105.4 341.1C102.1 359.8 124.4 370.9 138.4 357.3L304.4 188.3C312.5 180 307.7 166 295.4 166z'/></svg>") no-repeat center;
	mask-size: contain;
	transition: opacity 0.3s, transform 0.3s;
}

body li.current-menu-ancestor::before {top: 55%;}
body li.current-menu-ancestor a{color:#c68035 !important;}
body ul.sub-menu li a{color:#494949 !important}
body ul.sub-menu li a:hover{color:#c68035 !important}

body ul.sub-menu li::before{display:none;}

.elementor-13 .elementor-element.elementor-element-f09ca3f .menu-item a.hfe-menu-item {
	padding-left: 30px;
	padding-right: 30px;
}

body .encartService {
	cursor: pointer;
}

body .encartService .elementor-image-box-content {
	background: #F3F6F9;
	padding: 20px 20px 30px 20px;
	margin-top: -10px;
	min-height: 265px;
	cursor: pointer;
}

body .encartService figure {
	position: relative;
}

body .encartService:hover figure::after {
	position: absolute;
	content: "";
	bottom: 20px;
	right: 20px;
	background: #DB780E url("img/arrow_top.svg") no-repeat center;
	background-size: 40px 40px;
	width: 87px;
	height: 87px;
}


body .encartService:hover .elementor-image-box-content {
	background: #000;
}

body .encartService:hover .elementor-image-box-content p {
	color: #D0CECE !important;
}

body .encartService:hover .elementor-image-box-content h3 {
	color: #fff;
}

body .encartService figure.elementor-image-box-img img {
	width: 100%;
	max-width: inherit;
}

#realisations img {
	width: 100%;
	height: 330px;
	object-fit: cover;
}


#realisations .elementor-element .swiper .elementor-swiper-button,
#realisations .elementor-element .swiper~.elementor-swiper-button,
#realisations .elementor-lightbox .swiper .elementor-swiper-button,
#realisations .elementor-lightbox .swiper~.elementor-swiper-button {
	top: 0;
	transform: translateY(-60px);
}

.hfe-nav-menu .sub-menu {
	min-width: 300px;
}

.ligneForm {
	width: 100%;

}

.ligneForm p {
	display: flex;
	gap: 20px;
}

.ligneForm p span {
	width: 50%;
}

.ligneForm input,
.ligneForm select,
.ligneForm textarea {
	background: #F6F6F7;
	padding: 15px 20px;
	border: none;
	border-radius: 5px;
	width: 100%;
	font-size: 16px;
	font-family: "Poppins", Sans-serif;
}

.width-100 p span {
	width: 100%;
}

.ligneForm textarea {
	height: 120px;
}

input.wpcf7-submit {
    cursor:pointer;
	border: none;
	padding: 10px 25px;
	background: #C68035;
	font-family: "Poppins", Sans-serif;
	color: #fff;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 16px;
}
input.wpcf7-submit:hover {
    background: #000;
}
div#footer, hr{display:none;}
.elementor-13 .elementor-element.elementor-element-5255ca0 .elementor-button {
    padding: 9px 24px;
}
body ul.sub-menu li a{font-size:16px !important; text-transform:none !important; padding:15px 20px !important;}
.elementor-13 .elementor-element.elementor-element-f09ca3f .sub-menu li.menu-item:not(:last-child), .elementor-13 .elementor-element.elementor-element-f09ca3f nav.hfe-dropdown li.menu-item:not(:last-child), .elementor-13 .elementor-element.elementor-element-f09ca3f nav.hfe-dropdown-expandible li.menu-item:not(:last-child) {
    border-bottom-color: #e7e7e799;
}
.wpcf7-not-valid-tip {
    font-size: 16px;
    width: 100% !important;
}

.wpcf7 form.invalid .wpcf7-response-output {
    border-color: #e25532;
    font-size: 16px;
    text-align: center;
    background: #e25532;
    color: #fff;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    background: #46b450;
    font-size: 16px;
    text-align: center;
    color: #fff;
}
/* Quand Elementor applique zoomIn, on enchaîne avec la rotation */
.image-rotate.animated.zoomIn img {
  animation: rotateInfinite 10s linear infinite;
  animation-delay: 1s; /* attendre la fin du zoom (≈1s) */
}

/* Rotation fluide */
@keyframes rotateInfinite {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.elementor-element-aa4f984  span span, .elementor-element-3a477c2 span span {position:relative; top:-2px;}
li#menu-item-1166{display:none;}
.elementor-element-aa4f984  span span {
    visibility: hidden; /* cache le texte initial */
    display: inline-block; /* nécessaire pour le remplacement JS */
}

.elementor-element-aa4f984 span span a {
    visibility: visible; /* le nouveau texte devient visible */
}

@media screen and (max-width: 786px) {
    .elementor-element-f09ca3f{position:absolute; right:0;}
    li#menu-item-1166{display:block;}
	.ligneForm p span {
		width: 100%;
	}

	.ligneForm p {
		flex-direction: column;
	}
	.owl-controls {
    width: 100%;
    position: absolute;
    left: 0;
    top: inherit;
    bottom: -70px;
}
.owl-nav {
    gap: 20px;
    display: flex
;
    flex-direction: row;
    align-content: center;
    align-items: center;
}
.owl-controls .owl-prev{margin-top:0;}
#acf-carousel .owl-item p {
    font-size: 15px;
    margin: 10px 0;
h2#n2-ss-1item8, h2#n2-ss-1item2{font-size:25px !important;}
}