/*
Theme Name:   Hello Elementor Child
Theme URI:    https://elementor.com/hello-theme/
Description:  A lightweight child theme of Hello Elementor
Author:       emma42 - Issam : Dev Tem 
Author URI:   https://emma42.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

@import url("../hello-elementor/style.css");  

 /* ==========================================================================
   GILROY
   ========================================================================== */

@font-face {
  font-family: 'Gilroy';
  src: url('fonts/gilroy/Gilroy-Thin.woff2') format('woff2'),
       url('fonts/gilroy/Gilroy-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('fonts/gilroy/Gilroy-UltraLight.woff2') format('woff2'),
       url('fonts/gilroy/Gilroy-UltraLight.woff') format('woff');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('fonts/gilroy/Gilroy-Light.woff2') format('woff2'),
       url('fonts/gilroy/Gilroy-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('fonts/gilroy/Gilroy-Regular.woff2') format('woff2'),
       url('fonts/gilroy/Gilroy-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('fonts/gilroy/Gilroy-Medium.woff2') format('woff2'),
       url('fonts/gilroy/Gilroy-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('fonts/gilroy/Gilroy-SemiBold.woff2') format('woff2'),
       url('fonts/gilroy/Gilroy-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}


/* ==========================================================================
   RED HAT DISPLAY (fichiers statiques)
   ========================================================================== */

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-SemiBoldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-ExtraBoldItalic.ttf') format('truetype');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display';
  src: url('fonts/Red_Hat_Display/static/RedHatDisplay-BlackItalic.ttf') format('truetype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* Variante : version variable (remplace tous les @font-face statiques ci-dessus si utilisée) */

@font-face {
  font-family: 'Red Hat Display Variable';
  src: url('fonts/Red_Hat_Display/RedHatDisplay-VariableFont_wght.ttf') format('truetype-variations');
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Red Hat Display Variable';
  src: url('fonts/Red_Hat_Display/RedHatDisplay-Italic-VariableFont_wght.ttf') format('truetype-variations');
  font-weight: 300 900;
  font-style: italic;
  font-display: swap;
}


/* ==========================================================================
   BONA NOVA
   ========================================================================== */

@font-face {
  font-family: 'Bona Nova';
  src: url('fonts/bona-nova/BonaNova-Regular.woff2') format('woff2'),
       url('fonts/bona-nova/BonaNova-Regular.woff') format('woff'),
       url('fonts/bona-nova/BonaNova-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bona Nova';
  src: url('fonts/bona-nova/BonaNova-Italic.woff2') format('woff2'),
       url('fonts/bona-nova/BonaNova-Italic.woff') format('woff'),
       url('fonts/bona-nova/BonaNova-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Bona Nova';
  src: url('fonts/bona-nova/BonaNova-Bold.woff2') format('woff2'),
       url('fonts/bona-nova/BonaNova-Bold.woff') format('woff'),
       url('fonts/bona-nova/BonaNova-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* End Cusom FOnt */

/* width web site */
:root{
  --width-global: 95%;
}

/* tablet */
@media (min-width:768px){
  :root{
    --width-global: 85%;
  }
}

/* laptop */
@media (min-width:1024px){
  :root{
    --width-global: 80%;
  }
}

/* desktop */
@media (min-width:1280px){
  :root{
    --width-global: 90%;
  }
}

/* large desktop */
@media (min-width:1600px){
  :root{
    --width-global: 70%;
  }
}

@media (min-width:2400px){
  :root{
    --width-global: 50%;
  }
}
:root {
 
	--padding-width-global: 0;
	--header-height: 114px;

	/* Brand Colors */
	--color-black: #000000;
	--color-gray: #A8A8A8;
	--color-white: #FFFFFF;
	--color-gray2:rgba(255, 255, 255, 0.50);	 
	--color-gray3: #A7A7A7;	 
	--color-gray4 :#6F6F6F;

	/* Typography */
	--font-family-red: 'Red Hat Display', sans-serif;  
	--font-family-gilroy: 'Gilroy', sans-serif;  
	--font-family-bona: 'Bona Nova', sans-serif;  
	

	--font-size-12: 12px;
	--font-size-13: 13px;
	--font-size-14: 14px;
	--font-size-15: 15px;
	--font-size-16: 16px;
	--font-size-17: 17px;
	--font-size-18: 18px;
	--font-size-19: 19px; 
	--font-size-20: 20px;
	--font-size-21: 21px;
	--font-size-22: 22px;
	--font-size-23: 23px;
	--font-size-24: 24px;
	--font-size-25: 25px;
	--font-size-26: 26px;
	--font-size-27: 27px;
	--font-size-28: 28px;
	--font-size-29: 29px;
	--font-size-30: 30px;
	--font-size-31: 31px;
	--font-size-32: 32px; 
	--font-size-33: 33px;
	--font-size-34: 34px;
	--font-size-35: 35px;
	--font-size-36: 36px;
	--font-size-37: 37px;
	--font-size-38: 38px;
	--font-size-39: 39px; 
	--font-size-40: 40px;
	--font-size-41: 41px;
	--font-size-42: 42px;
	--font-size-43: 43px;
	--font-size-60: 60px;
	
	/* heading */
	--font-size-xl : var(--font-size-60);
	--font-size-l : var(--font-size-32);
	--font-size-m : var(--font-size-28);
	--font-size-s : var(--font-size-22);
	--font-size-xs : var(--font-size-18);
	--font-size-xss : var(--font-size-16);

	/* Font weight*/
	--f-w-300 : 300;
	--f-w-400 : 400;
	--f-w-500 : 500;
	--f-w-600 : 600;
	--f-w-700 : 700; 
}

/* For Mobile */
@media (max-width: 768px) {

	:root {
		/*Typo*/ 
		--width-global: 100%;
		--padding-width-global: 0 15px 0 15px;
		--header-height: 114px;

		--font-size-14: 14px;
		--font-size-15: 15px;
		--font-size-16: 16px;
		--font-size-17: 17px;
		--font-size-18: 18px;
		--font-size-19: 19px;
		--font-size-20: 20px;
		--font-size-21: 21px; 
		--font-size-22: 22px;
		--font-size-26: 26px;
		--font-size-32: 32px;
		--font-size-42: 42px;
		--font-size-84: 84px; 
	}
}

/* New Style : Heading */
.gwidth .e-con-inner  {
	width: var(--width-global) !important;	
	max-width: var(--width-global) !important;	 
}
.gwidth .swiper  .e-con-inner  {
	width: 100% !important;	
	max-width: 100% !important;	 
}

header .gwidth.sm-size-menu__menu  {
	width: var(--width-global) !important;	
	margin: 0 auto;
}
.blanc .sm-size-menu-wrapper.icon-open-close{
    background-color: var(--color-white);
    padding: 0px 7px 0px 15px;
}
.noir .sm-size-menu-wrapper.icon-open-close{
    background-color: var(--color-black);
    padding: 0px 7px 0px 15px;
	border-radius: 2px;
} 
.cpel-switcher__list .cpel-switcher__lang {
    display: inline-block;
}
 
.cpel-switcher__list .cpel-switcher__lang:first-child::after {
    content: "/";
    margin-left: 1px;    
    margin-right: 1px;   
    color: #ffffff;     
}
/*Buton*/
[type=button]:focus, [type=submit]:focus, button:focus{
	background: none !important;	
}


/* font family */

.redh,.redh a,.redh div,.redh p,.redh span,.redh :is(h1, h2, h3, h4, h5, h6){ font-family: var(--font-family-red) !important;}
.gilroy, .gilroy a,.gilroy div,.gilroy p,.gilroy span,.gilroy :is(h1, h2, h3, h4, h5, h6){ font-family: var(--font-family-gilroy) !important;}
.bona, .bona a,.bona div,.bona p,.bona span,.bona :is(h1, h2, h3, h4, h5, h6){ font-family: var(--font-family-bona) !important;}

/* Font Weight*/
.f300,.f300 a,.f300 p,.f300 span,.f300 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-300)!important;}
.f400,.f400 a,.f400 p,.f400 span,.f400 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-400)!important;}
.f500,.f500 a,.f500 p,.f500 span,.f500 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-500)!important;}
.f600,.f600 a,.f600 p,.f600 span,.f600 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-600) important;}
.f700,.f700 a,.f700 p,.f700 span,.f700 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-700)!important;}
 

/*Heading font size */
.heading.xl :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-xl) !important;}
.heading.l :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-l) !important;}
.heading.m :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-m) !important;}
.heading.s :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-s) !important;}
.heading.xs :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-xs) !important;}
.heading.xss :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-xss) !important;}


/*txt font size */
.txt.xl :is(h1, h2, h3, h4, h5, h6), .txt.xl div, .txt.xl p, .txt.xl span,.txt.xl a{font-size:var(--font-size-xl) !important;}
.txt.l :is(h1, h2, h3, h4, h5, h6), .txt.l div, .txt.l p, .txt.l span,.txt.l a{font-size:var(--font-size-l) !important;}
.txt.m :is(h1, h2, h3, h4, h5, h6), .txt.m div, .txt.m p, .txt.m span,.txt.m a{font-size:var(--font-size-m) !important;}
.txt.s :is(h1, h2, h3, h4, h5, h6), .txt.s div, .txt.s p, .txt.s span,.txt.s a{font-size:var(--font-size-s) !important;}
.txt.xs :is(h1, h2, h3, h4, h5, h6), .txt.xs div, .txt.xs p, .txt.xs span,.txt.xs a{font-size:var(--font-size-xs) !important;}
.txt.xss :is(h1, h2, h3, h4, h5, h6), .txt.xss div, .txt.xss p, .txt.xss span,.txt.xss a{font-size:var(--font-size-xss) !important;}

/*Upercase*/
.upc{
	text-transform:uppercase !important;
}

.black :is(h1, h2, h3, h4, h5, h6),
.black a,
.black span,
.black p,
.black{
	color: var(--color-black) !important;
}  
.gray :is(h1, h2, h3, h4, h5, h6),
.gray a,
.gray span,
.gray p,
.gray{
	color: var(--color-gray) !important;
} 
.gray2 :is(h1, h2, h3, h4, h5, h6),
.gray2 a,
.gray2 span,
.gray2 p,
.gray2{
	color: var(--color-gray2) !important;
} 
.gray3 :is(h1, h2, h3, h4, h5, h6),
.gray3 a,
.gray3 span,
.gray3 p,
.gray3{
	color: var(--color-gray3) !important;
} 
.gray4 :is(h1, h2, h3, h4, h5, h6),
.gray4 a,
.gray4 span,
.gray4 p,
.gray4{
	color: var(--color-gray4) !important;
} 
.white :is(h1, h2, h3, h4, h5, h6),
.white a,
.white span,
.white p,
.white{
	color: var(--color-white) !important;
}  

/* Bg */
.bgblack{	background-color: var(--color-black) !important;}
.bgwhite{	background-color: var(--color-white) !important;}

/**** Link ****/
.link nav{
	margin:0 !important;
}
.link a {
	overflow: hidden; 
	width: max-content; 
	padding:4.5px 16px 0 0 !important;
	margin:0  !important;
} 
.link a:hover {text-decoration:none;}
.link a:after {
	content: '';
	width: 30%;
	height: 100%;
	position: absolute;
	left: auto;
	top: 0;
	bottom: 0;
	right: -20%;
	background: none !important;

} 
.link a:hover:after {
	transition: all .6s ease-out;
	right: 100%;
	background: none !important;
}
.elementor-counter-number-wrapper{
	position:relative;
}
.link nav .has-submenu .sub-arrow svg{
	display:none;
}
.link nav .has-submenu .sub-arrow:after{
	content: '';
	width: 10px;
	height: 10px;
	background-image:url(/wp-content/uploads/2025/12/plus.svg);
	background-repeat:no-repeat;
	background-position:center;
}
.link nav .has-submenu.highlighted .sub-arrow:after{
	content: '';
	background-image:url(/wp-content/uploads/2025/12/minus-1.svg);
}

/*List Full*/
.l-full .elementor-icon-list-item a{	
	justify-content: space-between !important; 
	width: 100%;
}
.l-full ul {
	counter-reset: emma-counter;
}

.l-full ul li {
	list-style: none;
	counter-increment: emma-counter;
	position: relative;
	padding-left: 32px;
}

.l-full ul li::before {
	content: counter(emma-counter, decimal-leading-zero);
	position: absolute;
	left: 0; 
	color: var(--color-white);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
}
.l-full ul li:hover::before {
	animation: iconSlideUpDown 0.4s ease forwards;
}
.l-full .elementor-icon-list-text{
	padding-inline-start: 30px !important;
}
 

/*** Texte ***/ 
.txt b,
.txt strong{
	font-weight: var(--f-w-600) !important;
}

/* Btn */ 
.btn .elementor-button { 
	background-color: transparent !important;
}
.btn.black {
	border-radius: 2px!important;	 
	border: 1px solid #D9D9D9 !important;
}
.btn.white{
	border-radius: 2px!important;	 
	border: 1px solid #fff !important;
}
.btn.black a span{
 	color:#010101 !important;
}
.btn.white a span{ 
	color:#fff !important;
}
.btn .elementor-button-icon svg{
	width: 10px;
	height: 8px;
}
.btn .elementor-button-icon svg, 
.footer .elementor-icon-list-icon svg{
	display: inline-block;
	transition: transform 0.2s ease;
}

.btn .elementor-button:hover .elementor-button-icon svg,
.icon-anim .elementor-icon-list-item:hover .elementor-icon-list-icon svg,
.footer .elementor-icon-list-item:hover .elementor-icon-list-icon svg{
	animation: iconSlideUpDown 0.4s ease forwards;
}



.icon-anim.s-between a{
	 width: 100%; 
    justify-content: space-between !important;
}
/*btn formitaor*/
button.btn.forminator-button-submit{
	padding-right:40px !important;
}
button.btn span:not([aria-hidden]):after{
	content:"";	
	width: 10px;
	height: 6px;
	background-image:url(/wp-content/uploads/2026/03/Polygon.svg);
	background-repeat:no-repeat;
	background-position:center;
    position: absolute;
    margin-left: 20px;
    top: 2px;
	transition: transform 0.2s ease;
}
button.btn.bgwhite span:not([aria-hidden]):after{background-image:url(/wp-content/uploads/2026/03/Polygon-b.svg)!important; }
button.btn.bgblack span:not([aria-hidden]):after{background-image:url(/wp-content/uploads/2026/03/Polygon.svg)!important; }
button.btn:hover span:not([aria-hidden]):after{
	animation: iconSlideUpDown 0.4s ease forwards;
}

.zoom {
	position: relative;
	overflow: hidden;
}


/*/  Swiper Arrows next- Prev : Top/Bottom Left/Right */
.nav-arrows div.elementor-swiper-button-prev svg,
.nav-arrows div.elementor-swiper-button-next svg{
	display:none;
}
.nav-arrows div.elementor-swiper-button-prev,
.nav-arrows div.elementor-swiper-button-next{
	width:31px;
	height:31px;	
	justify-content: center;
	flex-direction: column;
}  
.nav-arrows div.elementor-swiper-button-next:after,
.nav-arrows div.elementor-swiper-button-prev:after{
	content: '';
	position: absolute;
	width: 10px;
	height: 10px; 
	background-color: #000;  
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;  
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}
.nav-arrows div.elementor-swiper-button-next:after{
	right: 10px;
	-webkit-mask-image: url(/wp-content/uploads/2025/12/swipericon.svg);
	mask-image: url(/wp-content/uploads/2025/12/swipericon.svg);
}
.nav-arrows div.elementor-swiper-button-prev:after{
	left: 10px;
	-webkit-mask-image: url(/wp-content/uploads/2025/12/swipericon-left.svg);
	mask-image: url(/wp-content/uploads/2025/12/swipericon-left.svg);
}
/*/ Arrows top 40 */ 
.nav-arrows.top40 div.elementor-swiper-button-prev,
.nav-arrows.top40 div.elementor-swiper-button-next{
	top:-40px !important;
}
/*/ Arrows top 80 */ 
.nav-arrows.top80 div.elementor-swiper-button-prev,
.nav-arrows.top80 div.elementor-swiper-button-next{
	top:-80px !important;
}
/*Arrows - right */
.nav-arrows.left div.elementor-swiper-button-prev {
	left:calc((100% - var(--width-global)) / 2) !important;
}

.nav-arrows.left div.elementor-swiper-button-next{
	left:calc((100% - (var(--width-global) - 45px)) / 2) !important;
	right:auto !important;	border: 1px solid #84906B !important;
}

.nav-arrows.right div.elementor-swiper-button-prev {
	right:calc(( 100% - (var(--width-global) - 80px)) / 2) !important;
	left: auto !important;border: 1px solid #84906B !important;
}

.nav-arrows.right div.elementor-swiper-button-next{
	right:calc(( 100% - var(--width-global)) / 2) !important;
	left:auto !important;	border: 1px solid #84906B !important;
}
.nav-arrows.right .swiper-wrapper { 
	/*   padding-left: calc((100% - var(--width-global)) / 2);*/
}
/*pagination top right*/
.nav-arrows .swiper-pagination{
	left: 0% !important;
	bottom: -45px !important;
	width: 73% !important;
	position: absolute;
	top: auto !important;
	background-color: #000;
} 
.nav-arrows .elementor-widget-n-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background:#000 !important;
}


/* swiper product_slide css */ 
.product_slide {
  position: relative;
  z-index: 1;
  transition: background-color 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
 
.product_slide .swiper-slide,
.product_slide .item-product {
  background-color: transparent !important;
  position: relative;
  z-index: 3;  
}
.dots .swiper-pagination{
	display:none;
}
.dots .swiper-pagination-bullets .swiper-pagination-bullet{
	background-color :#D9D9D9;
	border-radius: 5px;
	width: 6px;
	height: 6px;
	margin:3px !important;
	transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), 
              width 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
.dots .swiper-pagination-bullets .swiper-pagination-bullet:hover{
	background-color :#9B7A58;
}
.dots .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active{
	width :26px;
	height: 6px;
	transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), 
              width 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
.item-product-bg-glider {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;  
  z-index: 0;  
  -webkit-mask-image: url('/wp-content/uploads/2026/09/bg-active-product.svg');
  mask-image: url('/wp-content/uploads/2026/09/bg-active-product.svg');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 85%;
  mask-size: 85%;
  
  -webkit-mask-position: 42% 50px;
  mask-position: 42% 50px;
 
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), 
              width 0.6s cubic-bezier(0.25, 1, 0.5, 1), 
              height 0.6s cubic-bezier(0.25, 1, 0.5, 1),
              background-color 0.6s cubic-bezier(0.25, 1, 0.5, 1);
   
  will-change: transform, width, height; 
}


.product_slide .swiper-slide{
	border-right:1px solid #F9F7F0;
}
 
.product_slide .swiper-slide-active + .swiper-slide  {
  border-right: none;
}
  
 /*
.item-product-bg-glider {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;  
  z-index: -1;
   -webkit-mask-image: url('/wp-content/uploads/2026/09/bg-active-product.svg');
  mask-image: url('/wp-content/uploads/2026/09/bg-active-product.svg');
  
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  
  -webkit-mask-size: 85%;
  mask-size: 85%;
  
  -webkit-mask-position: 42% 50px;
  mask-position: 42% 50px;
   
  background-color: transparent; 
   
transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), 
              width 0.5s cubic-bezier(0.25, 1, 0.5, 1), 
              height 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
 
.product_slide .swiper-slide,
.product_slide .item-product {
  background-color: transparent !important;
  position: relative;
  z-index: 2;  
}
*/

/*----------------          Loading page           ------------*/
 
.typed {
	color: #FFF; 
	font-size: 72px;
	font-style: normal;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
}
.txt.two span{
	font-weight: 600;
}
.footer span.elementor-icon-list-text {
	margin-right: 6px;
}
.hover-preview {
	text-align: center;
	margin: 10px 0;
	position: absolute;
	right:0;
	z-index: 9999999
}

.hover-preview img {
	max-width: 200px; 
	width: 200px; 
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	transition: transform 0.3s ease;
	margin-top:2px;
}

.hover-preview img:hover {
	transform: scale(1.05);
}
.caret {
	display: inline-block;
	width: 3px;           
	height: 80px;         
	background: #ffffff;
	vertical-align: bottom;
	margin-left: 5px;
	animation: blink 1s step-start infinite;
}
nav.elementor-pagination a.page-numbers{
	color: #FFF !important; 
	font-size: 22px;
	font-weight: 500;
}
.elementor-pagination span.page-numbers.current{
	color: #ffffff69 !important; 
	font-size: 22px !important;
	font-weight: 500;
}
/** gallerie */
 
 .portfolio-gallery {
    display: flex;
    flex-direction: column;
    gap: 30px;
} 
/* List */
.listlink span:first-child{
	order:1;
}
.m-list span i { 
	color:var(--color-gray2);
	font-size: 22px;
	font-style: normal;
	font-weight: 500;
}
.m-list span b {
	width: 30%;
}
.m-list span.elementor-icon-list-text{
	display: flex;
	justify-content: flex-start;
	width: 100%;
}
@media (max-width: 900px) {
	.typed {
		font-size: 42px;
	}
	.caret {
		height:46px;
	}
	.hover-preview img {
		max-width: 150px; 
		width: 150px;  
	}
}

/*----------------         keyframes           ------------*/

@keyframes blink {
	0%, 50%, 100% { opacity: 1; }
	25%, 75% { opacity: 0; }
}


@keyframes iconSlideUpDown {
	0% {
		transform: translateX(0);
		opacity: 1;
	}
	40% {
		transform: translateX(100%);
		opacity: 0;
	}
	60% {
		transform: translateX(-100%);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

/* =========================
   Animation (non-polygon)
   ========================= */
.a-line-mask span,
.a-line-mask a span,
.a-line-mask :is(h1, h2, h3, h4, h5, h6) {
  opacity: 0;
  transform: translateX(0) translateY(30px);
  transition: opacity .7s ease, transform 1.2s ease !important;
}
/*Is not in view */
.fade.is-not-inview{
	opacity:0;
	transition: opacity 1s ease !important;
}
.fade.is-inview{
	opacity:1;
	transition: opacity 1s ease !important;
}
/* In view: a-0 */
.is-inview.a-line-mask .a-0 span,
.is-inview.a-line-mask .a-0 a span,
.is-inview.a-line-mask .a-0 :is(h1, h2, h3, h4, h5, h6) {
  transform: translateY(0px);
  transition: opacity 1s ease, transform 2s ease !important;
  opacity: 1;
}

/* In view: a-1 */
.is-inview.a-line-mask .a-1 span,
.is-inview.a-line-mask .a-1 a span,
.is-inview.a-line-mask .a-1 :is(h1, h2, h3, h4, h5, h6) {
  transform: translateY(0px);
  transition: opacity 2s ease, transform 2s ease !important;
  opacity: 1;
}

/* =========================
   Polygon
   ========================= */
.a-line-mask.polygon span,
.a-line-mask.polygon div,
.a-line-mask.polygon a span,
.a-line-mask.polygon :is(h1, h2, h3, h4, h5, h6) {
  opacity: 0;
  transform: translateY(30px);

  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);

  transition: opacity .7s ease, transform 1.2s ease, clip-path 1s ease !important;
}

/* left */
.a-line-mask.polygon.l-polygon span,
.a-line-mask.polygon.l-polygon div,
.a-line-mask.polygon.l-polygon a span,
.a-line-mask.polygon.l-polygon :is(h1, h2, h3, h4, h5, h6) {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}

/* right */
.a-line-mask.polygon.r-polygon span,
.a-line-mask.polygon.r-polygon div,
.a-line-mask.polygon.r-polygon a span,
.a-line-mask.polygon.r-polygon :is(h1, h2, h3, h4, h5, h6) {
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}

/* bottom */
.a-line-mask.polygon.b-polygon span,
.a-line-mask.polygon.b-polygon div,
.a-line-mask.polygon.b-polygon a span,
.a-line-mask.polygon.b-polygon :is(h1, h2, h3, h4, h5, h6) {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}

/* top */
.a-line-mask.polygon.t-polygon span,
.a-line-mask.polygon.t-polygon div,
.a-line-mask.polygon.t-polygon a span,
.a-line-mask.polygon.t-polygon :is(h1, h2, h3, h4, h5, h6) {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

/* left-top */
.a-line-mask.polygon.l-t-polygon span,
.a-line-mask.polygon.l-t-polygon div,
.a-line-mask.polygon.l-t-polygon a span,
.a-line-mask.polygon.l-t-polygon :is(h1, h2, h3, h4, h5, h6) {
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
}

/* left-bottom */
.a-line-mask.polygon.l-b-polygon span,
.a-line-mask.polygon.l-b-polygon div,
.a-line-mask.polygon.l-b-polygon a span,
.a-line-mask.polygon.l-b-polygon :is(h1, h2, h3, h4, h5, h6) {
  clip-path: polygon(0 100%, 0 100%, 0 100%, 0 100%);
  -webkit-clip-path: polygon(0 100%, 0 100%, 0 100%, 0 100%);
}

/* polygon open when in view */
.is-inview.a-line-mask.polygon span,
.is-inview.a-line-mask.polygon div,
.is-inview.a-line-mask.polygon a span,
.is-inview.a-line-mask.polygon :is(h1, h2, h3, h4, h5, h6) {
  opacity: 1;
  transform: translateY(0);

  clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  -webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
}
/* admin wp */
body.elementor-editor-active .a-line-mask.polygon span,
body.elementor-editor-active .a-line-mask.polygon div,
body.elementor-editor-active .a-line-mask.polygon a span,
body.elementor-editor-active .a-line-mask.polygon :is(h1, h2, h3, h4, h5, h6) {
	opacity: 1;
	clip-path:none;
	-webkit-clip-path:none;
}
body.elementor-editor-active .a-line-mask span,
body.elementor-editor-active .a-line-mask a span,
body.elementor-editor-active .a-line-mask :is(h1, h2, h3, h4, h5, h6) {
	opacity: 1;
}
/* =========================
   Delays (apply to targets)
   Put delay class on .a-line-mask OR on .a-0/.a-1 wrapper
   ========================= */

/* delay 0.5s */
.a-line-mask.delay-05 span,
.a-line-mask.delay-05 div,
.a-line-mask.delay-05 a span,
.a-line-mask.delay-05 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-05 span,
.a-line-mask .delay-05 a span,
.a-line-mask .delay-05 :is(h1, h2, h3, h4, h5, h6) {
  transition-delay: 0.3s !important;
}

/* delay 1s */
.a-line-mask.delay-10 span,
.a-line-mask.delay-10 div,
.a-line-mask.delay-10 a span,
.a-line-mask.delay-10 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-10 span,
.a-line-mask .delay-10 a span,
.a-line-mask .delay-10 :is(h1, h2, h3, h4, h5, h6) {
  transition-delay: .5s !important;
}

/* delay 1.5s */
.a-line-mask.delay-15 span,
.a-line-mask.delay-15 div,
.a-line-mask.delay-15 a span,
.a-line-mask.delay-15 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-15 span,
.a-line-mask .delay-15 a span,
.a-line-mask .delay-15 :is(h1, h2, h3, h4, h5, h6) {
  transition-delay: 0.7s !important;
}

/* delay 2s */
.a-line-mask.delay-20 span,
.a-line-mask.delay-20 div,
.a-line-mask.delay-20 a span,
.a-line-mask.delay-20 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-20 span,
.a-line-mask .delay-20 a span,
.a-line-mask .delay-20 :is(h1, h2, h3, h4, h5, h6) {
  transition-delay: 0.9s !important;
}

/* delay 2.5s */
.a-line-mask.delay-25 span,
.a-line-mask.delay-25 div,
.a-line-mask.delay-25 a span,
.a-line-mask.delay-25 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-25 span,
.a-line-mask .delay-25 a span,
.a-line-mask .delay-25 :is(h1, h2, h3, h4, h5, h6) {
  transition-delay: 1.1s !important;
}
 
/* delay 30 */
.a-line-mask.delay-30 span,
.a-line-mask.delay-30 div,
.a-line-mask.delay-30 a span,
.a-line-mask.delay-30 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-30 span,
.a-line-mask .delay-30 a span,
.a-line-mask .delay-30 :is(h1, h2, h3, h4, h5, h6) {
  transition-delay: 1.3s !important;
}
.a-line-mask:not(.is-inview) span,
.a-line-mask:not(.is-inview) div,
.a-line-mask:not(.is-inview) a span,
.a-line-mask:not(.is-inview) :is(h1, h2, h3, h4, h5, h6) {
  transition-delay: 0s !important;
} 

.e-n-tabs-heading {
    margin-left: 340px;
}

/******* Our expertise section ******/
.expt-container{
	display: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.expt-container.is-visible {
	display: inline;
 	opacity: 1;
}

/*maison*/
.maison-section .elementor-icon-list-item:hover svg path{
	fill:#C2A26F31;
}
.maison-list .elementor-icon-list-icon {
    display: inline-block; 
    visibility: hidden;
    opacity: 0;
 
    width: 0;  
    overflow: hidden; 
    max-width: 0;  
    transform: scaleX(0);  
    transform-origin: left;  
 
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        max-width 0.3s ease,
        width 0.3s ease,
        transform 0.3s ease;
}

.maison-list .elementor-icon-list-item:hover .elementor-icon-list-icon {
    visibility: visible;
    opacity: 1;
 
    width: auto; 
    max-width: 50px;  
    transform: scaleX(1);  
}
.maison-list .is-active .elementor-icon-list-icon {
    visibility: visible;
    opacity: 1;
 
    width: auto; 
    max-width: 50px;  
    transform: scaleX(1);  
}
.maison-container .is-visible {
    display: inline;
    opacity: 1;
} 
.mlist-content {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.98);
    transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1),
                transform 0.4s cubic-bezier(0.25, 1, 0.5, 1),
                visibility 0.4s ease;
    will-change: opacity, transform;
}
 
.mlist-content.is-visible  {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
 
.custom-pic-tooltip {
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.85);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.custom-pic-tooltip.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.custom-pic-tooltip img {
    display: block;
    width: 200px;  
    height: auto;
    object-fit: cover;
}
/*footer*/ 

 .footer-marquee {
  animation: jquery-marquee 40s linear infinite !important;
}
 
.footer-marquee h2.elementor-heading-title {
  margin: 0 !important;
  white-space: nowrap !important;
  padding-right: 50px !important;  
}
 
.footer-marquee:hover {
  animation-play-state: paused !important;
}
 
html, body {
  overflow-x: hidden !important;
}

.e-con:has(> .footer-marquee),
.elementor-section,
.elementor-container,
.e-con-inner {
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100vw !important;
}
 
@keyframes jquery-marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0); /* Perfectly resets position since elements are balanced */
  }
}

@media (max-width: 768px) {
	.product_slide .swiper-slide{
	border-right:0px solid #F9F7F0;
}
	.dots .swiper-pagination{
	display:inline;
}
}