/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/
 Description:    Theme Enfant Divi
 Author:         Made for you
 Author URI:     https://www.madeforyou-agency.com/
 Template:       Divi
*/
 
/*	***************
	 DIVI OVERRIDE
	*************** */
html,body{
	min-width:1366px;
}
body{
	width:100%!important;
	overflow-x:auto!important
}
body:not(.et-fb) #et-main-area{
	padding-top:130px;
	overflow-x:hidden
}
body.active{
	overflow:hidden
}
.et_pb_row{
	width:calc(100% - 2 * var(--pad));
	max-width:100%!important;
	margin-left:auto;
	margin-right:auto;
	transition:max-width 800ms ease
}
.et_pb_row.top_page_title{
	max-width:1240px!important;
}
.return-to-shop{
	display:none
}
body.et-fb .et_pb_code{
	box-shadow:inset 0 0 1px 1px red
}


/*	***********
	 FRAMEWORK
	*********** */

/* Images */
.iacf-half-circle-image{
	overflow:hidden;
}
body.et-fb .iacf-half-circle-image,
body.et-fb .iacf-half-circle-image .et_pb_image_wrap,
body.et-fb .iacf-half-circle-image img{
  height:200px;
}
body:not(.et-fb) .iacf-half-circle-image{
  width:100%;
  position:absolute!important;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  align-content:center;
  padding-right:var(--pad)
}

@keyframes zoomInCst{
  0%{
    transform:scale(0)
  }
  30%{
    transform:scale(0)
  }
  100%{
    transform:scale(1)
  }
}
body:not(.et-fb) .iacf-half-circle-image:before,
body:not(.et-fb) .iacf-half-circle-image:after{
  content:'';
  display:block;
  position:absolute;
  top: 0;
}
body:not(.et-fb) .iacf-half-circle-image:before{
  background:url(https://www.iacf.fr/wp-content/uploads/2025/02/circles.svg) no-repeat center center;
  transform-origin: center;
  transform: scale(0);
  animation:zoomInCst 1.5s ease-out forwards
}

body:not(.et-fb) .iacf-half-circle-image .et_pb_image_wrap,
body:not(.et-fb) .iacf-half-circle-image img{
  object-fit:cover;
  border-radius:50%;
}
body:not(.et-fb) .iacf-half-circle-image .et_pb_image_wrap{
  position:relative;
}
body:not(.et-fb) .iacf-half-circle-image .et_pb_image_wrap:after{
  content:'';
  width:50%;
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  background:white
}

/*  Links
	------ */
.no-access .et_pb_text a{
	color: #00AAFF !important; 
	text-decoration:underline
}

/*  Buttons
	------- */
.iacf-default,
#pp_popin .pp_popin a{
	font-size:1.13rem!important;
	color:var(--blue);
	border:none!important;
	height:42px;
	background:none!important;
	position:relative;
	z-index:10;
	display:flex!important;
	align-items:center;
	align-content:center;
	padding:0 60px 0 20px!important;
	width:fit-content!important;
	border-width: 0px !important;
    border-radius: 0px;
	cursor:pointer
}
#pp_popin .pp_popin a{
	color:white;
	transition:all 500ms;
	margin:20px auto 0
}
.iacf-default:hover,
#pp_popin .pp_popin a:hover{
	color:var(--lagoon);
	background:rgba(0,170,255,0.2)!important
}
.iacf-default:before,
#pp_popin .pp_popin a:before{
	content:''!important;
	display:block!important;
	border:1px solid var(--lagoon);
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	width:calc(100% - 2px);
	z-index:1;
	font-size:0;
	opacity:1!important
}
.iacf-default:hover:before,
#pp_popin .pp_popin a:hover:before{
	width:42px
}
.iacf-default:after,
#pp_popin .pp_popin a:after{
	content:''!important;
	display:block;
	width:42px;
	height:42px;
	right:0;
	background: url(https://www.iacf.fr/wp-content/uploads/2024/12/arrow-link.svg) no-repeat right center;
	background-size:84px auto;
	transition:background 600ms ease;
	opacity:1
}
#pp_popin .pp_popin a:after{
	position:absolute;
	background-image:url(https://www.iacf.fr/wp-content/uploads/2025/03/arrow-link-lagoon-white.svg)
}
.iacf-default:hover:after,
#pp_popin .pp_popin a:hover:after{
  	background-position:left center
}

/*  Titles
	------ */
.iacf-title{
	font-size:1.13rem;
	line-height:1.6rem;
	font-weight:400;
	color:var(--blue)
}
.iacf-title h1,
.iacf-title h2,
.iacf-title h3,
.iacf-title h4,
.iacf-title blockquote{
	font-size:1.35em;
	line-height:1.3em;
	letter-spacing:0.2rem;
	color:var(--blue);
	font-weight:700;
	text-transform:uppercase;
	font-family:var(--altfont)
}
.iacf-title blockquote{
	padding:0;
	margin:0 0 20px;
}
.iacf-title h1 strong,
.iacf-title h2 strong,
.iacf-title h3 strong,
.iacf-title h4 strong,
.iacf-title blockquote strong{
	display:inline-block;
	position:relative;
}
.iacf-title h1 strong:before,
.iacf-title h2 strong:before,
.iacf-title h3 strong:before,
.iacf-title h4 strong:before,
.iacf-title blockquote strong:before{
	content:'';
	display:block;
	position:absolute;
	top:-5px;
	right:100%;
	bottom:-5px;
	left:-6px;
	opacity:0;
	background:var(--orange);
	transition:all 500ms ease!important
}
body.et-fb .iacf-title h1 strong:before,
body.et-fb .iacf-title h2 strong:before,
body.et-fb .iacf-title h3 strong:before,
body.et-fb .iacf-title h4 strong:before,
body.et-fb .iacf-title blockquote strong:before,
.iacf-title.et_had_animation h1 strong:before,
.iacf-title.et_had_animation h2 strong:before,
.iacf-title.et_had_animation h3 strong:before,
.iacf-title.et_had_animation h4 strong:before,
.iacf-title.et_had_animation blockquote strong:before{
	opacity:0.2;
	right:-3px;
}

/* Animation
   --------- */
body:not(.et-fb) .appear-item{
	opacity:0
}


/*	********
	 HEADER
	******** */
header#main{
	position:fixed;
	z-index:1000;
	top:0;
	left:0;
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	align-content:center;
	padding:20px var(--pad);
	transition:all 200ms ease
}
header#main.scrolled{
	background:white;
	box-shadow:0 0 5px rgba(0,0,0,0.1);
}

/*	Logo
	---- */
.logo_site{
	display:contents
}
header.active .logo_site{
	position:relative;
	z-index:10;
}
.logo_site img{
	width:120px;
	position:relative;
	margin-left:-41px;
	transition:all 800ms ease
}
header#main.scrolled .logo_site img,
footer .logo_site img{
	width:110px;
}

/*	Menu
	---- */
header nav.main ul.level1,
footer nav{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	position:relative;
	gap:15px 1vw;
	transition:all 500ms ease
}
footer nav{
	gap:15px
}
header nav.main li{
	position:relative;
}
header nav.main li.lv1{
	width:min-content;
	display:flex;
}
header nav.main a{
	display:inline-block;
	padding:2px 10px 2px 8px;
	position:relative;
	z-index:5;
	color:var(--main);
	text-transform:uppercase;
	letter-spacing:0.1rem;
	font-size:clamp(0.9rem, 0.75vw, 1.125rem);
	line-height:1.2em;
	font-family:var(--altfont);
	transition:all 500ms ease
}
header nav.main a.nws{
	white-space:nowrap
}
header nav.main a:before,
#quick_access > *:not(#burger_menu):after{
	content:'';
	position:absolute;
	z-index:-1;
	top:-5px;
	left:0;
	width:30px;
	height:30px;
	background:rgba(var(--rgbturquoise),0.3);
	transition:all 500ms ease
}
header nav.main a:hover{
	color:white!important;
}
header nav.main a:hover:before{
	width:100%;
	height:calc(100% + 10px);
	background:var(--blue);
}

header nav.main ul.sub{
	position: absolute;
	display:flex;
	flex-wrap:wrap;
	gap:10px 0;
    top:100%;
    left:0;
    background:#e9e9fb;
    border-top:15px solid white;
	padding:15px;
	width:0;
	overflow:hidden;
	padding:0 15px;
	max-height:0;
	transition:max-height 0 ease, padding 0 ease
}
header nav.main li:has(ul):hover ul.sub{
	width:250px;
	max-height:500px;
	padding:15px;
	transition:max-height 400ms ease , padding 400ms ease 
}
header nav.main ul.level1 li ul li{
	width:100%;
	display:flex;
}
header nav.main ul.level1 li ul li a{
	text-transform:none;
	font-family:var(--mainfont);
	font-size:1vw;
	font-size:clamp(0.9rem, 0.8vw, 1.125rem);
}
header nav.main ul.sub li a:hover{
	color:var(--lagoon)!important
}
header nav.main ul.level1 li ul li a:before{
	display:none;
}

/*	Quick links
	----------- */
#quick_access{
	width:160px;
	display:flex;
	justify-content:flex-end;
	gap:0 20px
}
#quick_access button,
#quick_access a{
	display:block;
	width:35px;
	height:35px;
	border:none;
	padding:2px;
	font-size:0.8rem;
	line-height:1.1em;
	text-transform:uppercase;
	margin-left:20px;
	cursor:pointer;
	background:none;
	position:relative;
	color:var(--main);
	letter-spacing:0.1rem;
	font-weight:500;
	background:url(https://www.iacf.fr/wp-content/uploads/2025/03/IACF-espace-client.svg) no-repeat center center;
	background-size:contain;
	margin:0;
	padding:0;
	transition:color 500ms ease
}
#quick_access a.iacf-cart{
	background-image:url(https://www.iacf.fr/wp-content/uploads/2025/09/IACF-cart.svg);
}
#quick_access button{
	background-image:url(https://www.iacf.fr/wp-content/uploads/2025/03/IACF-recherche.svg)
}
#quick_access :not(#burger_menu) span{
	display:none
}
#quick_access > *:not(#burger_menu):after{
	left:-5px
}
#quick_access > *:not(#burger_menu):hover:after{
	background-color:rgba(var(--rgbturquoise),0.5);
	width:40px;
	height:40px;
}
/*#quick_access > *:after{
	content:'';
	display:inline-block;
	width:25px;
	height:25px;
	border-style:solid;
	border-color:var(--lagoon) white white var(--lagoon);
	border-width:2px;
	border-radius:50%;
	transform:rotate(-45deg);
	position:absolute;
	z-index:-1;
	top:-5px;
	left:-10px
}*/

/*	Menu mobile
	----------- */
/* Container du burger */
#burger_menu {
	width: 35px;
	height: 35px;
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;
	margin-top:-4px
}

#burger_menu span,
#burger_menu span::before,
#burger_menu span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 6px;
  transition: all 0.4s ease;
}

/* Les 3 barres */
#burger_menu span {
  background: var(--main);
}

#burger_menu span::before {
  top: -14.5px;
  background: var(--turquoise);
}

#burger_menu span::after {
  top: 14.5px;
  background: var(--lagoon);
}

/* --- VERSION ACTIVE --- */
body.active header #burger_menu span {
  height: 100%;
}
body.active header #burger_menu span::before,
body.active header #burger_menu span::after {
  transform: rotate(-45deg);
  top: 15px;
  background:white;
  width: 70%;
  left: 15%;
}
body.active header #burger_menu span::after {
  transform: rotate(45deg);
}


/*	**********
	 TOOLTIPS
	********** */
.iacf-tooltip {
    position: absolute;
    z-index: 9999;
    background: var(--tooltip-bg-color);
    color: var(--tooltip-text-color);
    padding: 5px 10px;
    font-size:0.75rem;
    line-height: 1.3;
    box-shadow: var(--tooltip-shadow);
    pointer-events: none;
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    max-width: 180px;
	text-align:center;
    word-wrap: break-word;
}

/* Animation d'apparition */
.iacf-tooltip.show {
    opacity: 1;
    transform: translateY(0);
}

/* Flèches des tooltips - propriétés communes */
.iacf-tooltip::after {
    content: '';
    position: absolute;
    border: 5px solid transparent;
}

/* Flèches spécifiques par position - version ultra-simplifiée */
.iacf-tooltip[data-position="top"]::after, 
.iacf-tooltip[data-position="bottom"]::after { left: 50%; transform: translateX(-50%); }
.iacf-tooltip[data-position="left"]::after, 
.iacf-tooltip[data-position="right"]::after { top: 50%; transform: translateY(-50%); }
.iacf-tooltip[data-position="top"]::after { top: 100%; border-top-color: var(--tooltip-bg-color); }
.iacf-tooltip[data-position="bottom"]::after { bottom: 100%; border-bottom-color: var(--tooltip-bg-color); }
.iacf-tooltip[data-position="left"]::after { left: 100%; border-left-color: var(--tooltip-bg-color); }
.iacf-tooltip[data-position="right"]::after { right: 100%; border-right-color: var(--tooltip-bg-color); }

/* Style pour le lien "Mon espace" connecté */
a.connected {
    position: relative;
}
a.connected::before {
    content: '';
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 8px;
    height: 8px;
    background: #4CAF50;
    border-radius: 50%;
    border: 2px solid #fff;
}


/*	********
	 FOOTER
	******** */
footer{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	align-content:center;
	padding:20px var(--pad);
	text-align:center;
	background:rgba(41,41,211,0.1)
}

/*	Logo
	---- */
footer .logo_site img{
	margin-left:0
}

/*	Menu
	---- */
footer nav{
	width:calc(100% - 150px);
	top:0;
	gap:20px 30px;
	justify-content:flex-end;
	bottom:20px;
	font-family:var(--altfont)
}
footer nav a{
	background:rgba(41,41,211,0.1);
	width:calc((100% - 120px) / 5);
	font-size:0.8125rem;
	line-height:1.2em;
	padding:5px;
	text-transform:uppercase;
	font-weight:700;
	letter-spacing:0.05rem
}
footer nav a:hover{
	color:var(--lagoon);
	transition:all 500ms ease
}
footer nav a.double{
	width:calc(((100% - 120px) / 5 * 2) + 30px);
}
footer nav a.white{
	background:white
}
footer nav a.access{
	background:rgba(41,41,211,0.3)
}

/*	Legals informations
	------------------- */
#legals{
	margin-top:20px;
	font-size:0.875rem;
	line-height:1rem;
	width:100%
}

/*	******************
	 WOOCOMMERCE HACK
	****************** */
.woocommerce-error,
.woocommerce-error li a,
.checkout-inline-error-message{
	font-weight:400;
	font-size:0.9rem;
	color:red;
}

/* ======================= */
/* RESPONSIVE BREAK POINTS */
/* ======================= */

/* ---------- BIG DESKTOP ---------- */
@media screen and (min-width:1550px){
	header nav.main ul.level1{
		gap:0 2vw
	}
}

/* ---------- DESKTOP (1366) ---------- */
@media screen and (max-width:1366px){
	
}

/* ---------- BIG TABLET LANDSCAPE (1000) ---------- */
@media screen and (max-width:1200px){
	header nav.main{
		position:fixed;
		z-index:-1;
		top:0;
		left:100%;
		width:100%;
		background:white;
		padding:130px 20px 50px;
		height:100vh;
		overflow:hidden;
		scrollbar-width:thin;
		scrollbar-color:var(--main) transparent;
		opacity: 0;
		visibility: hidden;
		/* Transitions :
		- opacity sur 800ms
		- left/visibility changent APRÈS 800ms (0s de durée + 800ms de délai) */
		transition:
			opacity 800ms ease,
			left 0s linear 800ms,
			visibility 0s linear 800ms;
	}
	.active header nav.main{
		left: 0;                       /* instantané à l'ouverture */
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		/* Ici, left/visibility n'ont PAS de délai */
		transition:
			opacity 800ms ease,
			left 0s,
			visibility 0s;
	}
		
	header nav.main ul.level1{
		width:100%;
		height:100%;
		overflow:auto;
		margin:0 auto;
		gap:30px 15px
	}	
	header nav.main ul.level1::-webkit-scrollbar{
		width:10px;
		height:10px;
	}
	header nav.main ul.level1::-webkit-scrollbar-track{
		background:transparent;
		border-radius:999px;
	}
	header nav.main ul.level1::-webkit-scrollbar-thumb{
		border-radius: 999px;
		border: 2px solid transparent;
		background-clip: padding-box;
		background-image: linear-gradient(180deg,
			var(--turquoise) 0%,
			var(--lagoon) 60%,
			var(--main) 100%);
		box-shadow: 0 0 0 1px rgba(86,107,255,0.08) inset;
	}
	header nav.main ul.level1::-webkit-scrollbar-thumb:hover{
		background-image: linear-gradient(180deg,
			var(--turquoise) 0%,
			var(--lagoon) 40%,
			var(--main) 100%);
		box-shadow: 0 0 0 1px rgba(86,107,255,0.18) inset;
	}
	header nav.main ul.level1::-webkit-scrollbar-corner{
	  	background: transparent;
	}
	
	header nav.main li.lv1{
		width:100%;
		max-width:300px;
		margin:0 calc((100% - 300px) / 2);
		display:block
	}
	header nav.main ul.sub {
		position: relative;
		gap: 10px 0;
		top: auto;
		background: transparent;
		width: 100%;
		max-height:unset;
	}
	header nav.main li:has(ul):hover ul.sub{
		width:100%;
		max-height:unset;
		padding:0 0 0 15px;
	}
	#burger_menu {
		display:flex
	}
}

/* ---------- TABLET LANDSCAPE (900) ---------- */
@media screen and (max-width:1050px){}

/* ---------- TABLET PORTRAIT AND SMARTPHONE LANDSCAPE (720) ---------- */
@media screen and (max-width:900px){}

/* ---------- SMARTPHONE ---------- */
@media screen and (max-width:470px){
	body{
		min-width:100%;
	}
	.iacf-title h1,
	.iacf-title h2,
	.iacf-title h3,
	.iacf-title h4,
	.iacf-title blockquote{
		font-size:1.1em;
	}
	
	footer{
		justify-content:center;
		padding:30px 20px
	}
	footer .logo_site{
		width:100%
	}

	/*	Menu
		---- */
	footer nav{
		width:100%;
		gap:20px 0;
		justify-content:center;
		bottom:auto;
		margin-top:30px
	}
	footer nav a,
	footer nav a.double{
		width:100%;
		font-size:1rem;
	}
	
	.et_pb_row{
		box-shadow:inset 0 0 1px 1px rgba(0,0,0,0.2)
	}
	.et_pb_row_12{
		display:none
	}
}


#notice_responsive{
	display:none
}



/* Notice responsive - Media queries pour écrans inférieurs à 1366px */
@media screen and (max-width: 1080px) {
    #notice_responsive {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		align-items:center;
		align-content:center;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
		bottom:0;
        background:white;
        color: var(--main);
        padding: clamp(20px, 20vw, 200px);
        z-index: 9999;
        box-shadow: 0 4px 20px rgba(0,0,0,0.3);
		text-align:center
    }
    
    #notice_responsive h3 {
        margin: 0 0 15px 0;
        font-size: 1.4em;
		line-height:1.3;
        font-weight: 600;
        color: var(--blue);
		text-transform:uppercase;
		letter-spacing:0.1rem
    }
    
    #notice_responsive p {
		width:100%;
        margin: 0 0 12px 0;
        line-height: 1.5;
        font-size: 0.95em;
    }
    
    #notice_responsive p:last-child {
        margin-bottom: 0;
        font-weight: 500;
    }
    
    #notice_responsive a {
        color: var(--turquoise);
        text-decoration: none;
        font-weight: 500;
    }
    
    #notice_responsive a:hover {
        color: #fff;
        text-decoration: underline;
    }
    
}

/* Pour les écrans très petits (mobile) */
@media screen and (max-width: 768px) {
    #notice_responsive {
        padding: clamp(20px, 5vw, 200px);
    }
    
    #notice_responsive h3 {
        font-size: 1.2em;
    }
    
    #notice_responsive p {
        font-size: 0.9em;
    }
}