:root {
  --Orange: #ff5e13;
  --Noir: #000;
  /*--GrisClair: #dedede;*/
  --GrisClair: #f1f1f2;
}


/*

Poppins ExtraLight
font-family: "poppins", sans-serif;
font-weight: 200;
font-style: normal;
Poppins Light
font-family: "poppins", sans-serif;
font-weight: 300;
font-style: normal;
Poppins Regular
font-family: "poppins", sans-serif;
font-weight: 400;
font-style: normal;
Poppins Medium
font-family: "poppins", sans-serif;
font-weight: 500;
font-style: normal;
Poppins SemiBold
font-family: "poppins", sans-serif;
font-weight: 600;
font-style: normal;
Poppins Bold
font-family: "poppins", sans-serif;
font-weight: 700;
font-style: normal;
Poppins ExtraBold
font-family: "poppins", sans-serif;
font-weight: 800;
font-style: normal;
*/

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



/* ******************************* GENERAL */
html {font-size: 16px;}
body { margin: 0; padding: 0; font-family: "poppins", sans-serif; font-weight: 200; font-size: 17px; line-height: 1.7; background: #fff; color: #000;}

p, ul, table {font-size: 1em;margin-bottom:1em;}
a {color: var(--TurquoiseDark);}

/*b, strong {font-weight: 700;}*/
strong.stronger {font-weight: 800;}

.zone-titre {margin-bottom: 2em;}
.zone-titre .h1 {font-size: 0.95em; margin-bottom: 0.25em; text-align: center; font-weight: 500; text-transform: uppercase; color: var(--Orange); letter-spacing: 2.6px; line-height: 1.2; font-family: "poppins", sans-serif;}
.zone-titre .h2 {font-size: 1.8em; margin-bottom: 0em; text-align: center; font-weight: 400; font-family: "Yeseva One", serif; line-height: 1.2; color: #000; }
.zone-titre .h1.manuscrit {font-family: "LavishlyYours"; font-size: 4.2em; line-height: 0.72; text-transform: none; color: #000;}

.section {padding: 3.3em 0;}
/*main {transition: all 1s ease-out;}*/
/*main {margin-top: 120px;}*/


/*
@media (min-width: 480px) {
	h1, .h1 {font-size: 1.65em;}
	h2, .h2 {font-size: 1.4em;}
}
@media (min-width: 768px) {
	h1, .h1 {font-size: 1.65em;}
	h2, .h2 {font-size: 1.5em;}
}
@media (min-width: 992px) {
	h1, .h1 {font-size:1.85em;}
	h2, .h2 {font-size: 1.6em;}
	h2.h2-xs {;font-size: 2em;}
}
@media (min-width: 1200px) {
	h1, .h1 {font-size: 2em;}
	h2, .h2 {font-size: 1.66em;}
}
@media (min-width: 1500px) {
	h1, .h1 {font-size: 2.1em;}
	h2, .h2 {font-size: 1.7em;}
}


.img-rounded {border-radius: 10px;}
*/
.btn {padding: 0.6em 3.5em; padding-bottom: 0.3em; text-transform:uppercase; text-align: center; margin-bottom: 0; text-transform: uppercase;  font-weight: 300; color: #808080; border: solid 1px #000; transition: all 0.5s; line-height: 1.7; font-size: 0.87em; letter-spacing: 1px;}
.btn:hover {background: var(--Orange); color: #fff; border: solid 1px var(--Orange);}
.btn--hover-blanc:hover {background: #fff; color: var(--TurquoiseDark);}
.btn--blanc {color: var(--TurquoiseDark); border: solid 1px #fff; background: #fff;}
.btn--blanc:hover {background: linear-gradient(to right, var(--TurquoiseLight), var(--Turquoise)); color: #fff;}
.btn--blanc-cadre {color: var(--TurquoiseDark); border: solid 1px #fff; background: #fff; border: solid 1px var(--Turquoise);}
.btn--blanc-cadre:hover {background: linear-gradient(to right, var(--TurquoiseLight), var(--Turquoise)); color: #fff;}

.bg--grey {background-color: var(--GrisClair);}

/*
.section-title {margin-bottom: 2em;}
.section-title .section-title1 {color: var(--Noir); font-weight: 500; margin: 0; font-size: 0.77em; line-height: 1;}
.section-title .section-title2 {color: var(--Noir); font-weight: 500; margin: 0; font-size: 1.8em; line-height: 1;}
.section-title .section-title3 {color: var(--Noir); font-weight: 400; margin: 0; font-size: 0.95em; line-height: 1;}
.section-title .section-text {color: var(--Noir); font-weight: 300; margin: 0; font-size: 1rem; line-height: 1.4;}

ul.list-puces {margin:0; padding:0;}
ul.list-puces li {margin:0; padding:0; padding-left: 30px; padding-bottom: 7px; list-style: none;
	background-image: url(../images/puce-list.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 24px;}
.section-text {font-weight: 300;}
*/

.effet1 {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	will-change: opacity, transform;
}

.effet1.is-visible {
	opacity: 1;
	transform: translateY(0);
}



#page {overflow: hidden;}

.msgJavascript {background: #fff; padding: 25px 25px;}

@media (min-width: 1200px) {
	.saut-ligne {display: block;}
}


/* ******************************* HEADER */
main {margin-top: 120px;}

/*.navbar-header {position: fixed; background: #fff; width: 100%; top: 0; z-index: 100;}*/
.navbar-header {background: #fff; width: 100%; z-index: 100; /*transition: all 0.5s;*/}
.navbar-header.position-fixed {/*position: fixed; top: 0; opacity:1;*/ top:0; /*opacity: 0;*/}

.navbar-header .coordonnees {line-height: 1.28; font-size: 0.78em; font-weight: 300;}
.navbar-header .coordonnees a {color: #000; text-decoration: none;}
.navbar-header .coordonnees a.telephone {padding-top: 4px; display: inline-block}
.navbar-header .coordonnees a.telephone:hover {color: var(--Orange);}
.navbar-header .coordonnees a.icone {
color: #000;
width: 25px;
height: 25px;
display: inline-flex;
align-items: center;
justify-content: center;
transition: color 0.2s ease;

}


.navbar-header .coordonnees a.icone svg {
width: 100%;
height: 100%;
fill: currentColor;
}


.navbar-header .coordonnees a.icone:hover {
color: var(--Orange);
}

.navbar-header .coordonnees-tel {margin-top: 6px;}


/*body.nav-is-open .navbar-header{position: absolute;}*/
.page-header {position: relative; z-index: 100;}
.page-header .container {position: relative; }

.header-toolbar {padding: 15px 0;}
.header-logo {padding: 10px 0; /*margin: 5px 0;*/}
.header-logo a:hover {text-decoration: none;}
.navbar-header .img-logo {width: 220px;}

@media (max-width: 1199px) {
	.header-links .btn--outline {font-size: 16px;}
}
@media (min-width: 480px) {
	.navbar-header .img-logo {width: 260px;}
	main {margin-top: 133px;}
}
@media (min-width: 768px) {
	main {margin-top: 102px;}
	a.lien-logo {display: block; margin: 0 auto;}
	.navbar-header .coordonnees-tel {margin-top: 0px;}
}
@media (min-width: 992px) {
	main {margin-top: 191px;}
}
@media (min-width: 1200px) {
	main {margin-top: 207px;}
	.header-logo {padding: 15px 0;}
	.coordonnees-adresse {width: 31.3333333%;}
	.col-logo {width: 35.3333333%;}
	.col-logo .lien-logo {margin-left: 45px;}
}
@media (min-width: 1500px) {
}



.body-home .navbar-header {position: absolute; background: transparent; left: 0; right: 0; top: 0;}
.body-home .navbar-header.position-fixed {background: #fff;/* box-shadow: 1px 1px 8px #555;*/}


/* ******************************* NAV */
.nav ul {margin: 0; padding: 0;}
ul.nav-menu {margin: 0;}
ul.nav-menu li {display: block; position: relative; }
ul.nav-menu a {display: block; font-weight: 500; text-decoration: none; font-size: 15px; letter-spacing: 1.2px; text-transform: uppercase; line-height: 1; }
ul.nav-menu a:hover {text-decoration: none; }
ul.nav-menu ul.sub-menu a {text-transform: none; }

.nav-toggle {display: block; position: absolute; top: 15px; right: 25px; width: 25px; height: 25px; }
.nav-icon {width: 40px; cursor: pointer; }
.nav-icon:after, .nav-icon:before, .nav-icon div {background-color: var(--Noir); border-radius: 3px; content: ''; display: block; height: 5px; margin: 7px 0; transition: all .4s ease-in-out; }
.nav-toggle.is-open .nav-icon:before {transform: translateY(12px) rotate(135deg); }
.nav-toggle.is-open .nav-icon:after {transform: translateY(-12px) rotate(-135deg); }
.nav-toggle.is-open .nav-icon div {transform: scale(0); }

@media (max-width:991px) {
	.header-links {display: none; position: absolute; left: 0; right: 0; top: 120px; bottom: 0; z-index: 9999; background-color: var(--GrisClair); overflow-y: scroll; }
	.header-links.is-open {display: flex; flex-direction: column; }
	body.nav-is-open {overflow: hidden; }
	body.nav-is-open .header-links {position: fixed; width: 100%; top: 102px; }
	body.nav-is-open .page-header {position: fixed; top: 0; width: 100%; background: #fff; }
	.nav {text-align: center; font-size: 16px; padding-top: 22px; }
	ul.nav-menu a {text-transform: uppercase; }
	ul.nav-menu > li {margin-bottom: 0.75em; }
	ul.nav-menu > li > a {padding: 10px; }
	.nav a:hover {background-color: var(--Orange); color: #fff; }
	ul.nav-menu .sub-menu a {padding: 5px 10px; text-transform: none; font-size: 0.92em; }
	ul.nav-menu .sub-menu .sub-menu a {padding-left: 15px; }
}

@media (max-width:767px) {
	body.nav-is-open .header-links {top: 133px; }
}

@media (max-width:479px) {
	body.nav-is-open .header-links {top: 120px; }
}

@media (min-width:992px) {
	.header-links {display: block !important; margin-top: 2.5em;}
	.nav a {color: var(--Noir); font-size: 17px; padding: 6px 0; margin: 0 25px; }
	ul.nav-menu > li {display: inline-block; margin-right: 1px; position: relative; }
	ul.nav-menu > li:last-child {margin-right: 0; }
	ul.nav-menu > li > a {position: relative; }

	ul.nav-menu > li.active > a::after,
	ul.nav-menu > li > a:hover::after,
	ul.nav-menu > li:hover > a::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: -4px;
		width: 100%;
		height: 1px;
		background: #000;
	}

	ul.nav-menu ul.sub-menu {
		top: 100%;
		left: 0;
		background: var(--Orange);
		width: 210px;
		position: absolute;
		opacity: 0;
		pointer-events: none;
		transform: translateY(16px);
		transition: opacity .3s ease, transform .3s ease;
		z-index: 999;
	}

	ul.nav-menu li.is-open > ul.sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(16px);
	}

	ul.nav-menu ul.sub-menu a {
		border-bottom: 1px solid rgba(255,255,255,.1);
		color: #fff;
		margin: 0;
		padding: 10px 15px;
		letter-spacing: 0;
	}
	ul.nav-menu ul.sub-menu li {background-color: rgba(255,255,255,.1);}
	ul.nav-menu ul.sub-menu li:hover a,
	ul.nav-menu ul.sub-menu a:hover {background-color: rgba(255,255,255,.1); color: #fff; }

	ul.nav-menu > li:has(> ul.sub-menu) > a {
		padding-right: 24px;
		position: relative;
	}

	ul.nav-menu > li:has(> ul.sub-menu) > a::before {
		content: '';
		position: absolute;
		right: 4px;
		top: 30%;
		width: 10px;
		height: 10px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-50%) rotate(45deg);
		pointer-events: none;
	}
}

/*
.top-bar {color: var(--Noir); font-size: 14px; font-weight: 300; letter-spacing: 0.5px;}
.top-bar a {color: var(--Noir); font-size: 14px;}
.top-bar .language-switcher {background: #f2f2f2; height: 30px; padding: 5px 10px; margin-left: 10px;}
.top-bar .language-switcher a {padding:0 5px; font-weight: 300; color: #b2b2b2; text-decoration: none;}
.top-bar .language-switcher a.current {color: #000; font-weight: 600;}
.top-bar .language-switcher a:hover {color: #000; text-decoration: underline;}
.top-bar .separateur { padding-right: 15px; border-right: solid 1px #dbdbde;}
.top-bar .marge-gauche { padding-left: 15px; }

*/



/* ******************************* MAIN SLIDER */
.main-slider {position: relative/*;margin-bottom: 20px; margin-top: 64px;*/}
.main-slider .text {position: absolute; left: 15px; right: 15px; text-align: center;top: 0; bottom: 0; color: #fff; font-weight: 600;}
.main-slider .text .titre {text-shadow: 0 0 4px rgba(0, 0, 0, .85);font-size: 1.5em; line-height: 1.15}
.main-slider .text .sous-titre {text-shadow: 0 0 4px rgba(0, 0, 0, .85);font-size: 1.8em; line-height: 1.2; font-weight: 400;}
.main-slider .text h1 {color: #fff;}
.main-slider .voile {position: absolute; top:0; width: 100%; height: 100%; background: rgba(0, 0, 0, .3);}
@media (min-width: 480px) {
	.main-slider .text .titre {font-size: 2em;}
}
@media (min-width: 768px) {
	.main-slider .text .titre {font-size: 2.9em;}
	.main-slider .voile {background: url(../images/slider/bg-slider.svg) no-repeat left bottom rgba(0, 0, 0, .3); background-size: auto 100%;}
}
@media (min-width: 992px) {
	.main-slider .text .titre {font-size: 3.3em;}
}
@media (min-width: 1200px) {
	.main-slider .text .titre {font-size: 3.7em;}
}



/* ******************************* HOME */
.section-services {padding-bottom: 1em;}
.section-services .listing-services {margin: 0 auto; max-width: 400px;}
.section-services .listing-services .item .photo {position: relative;
	aspect-ratio: 580 / 223;
	width: 100%;
	display: block;
	background-size: 100% auto; /* largeur pleine, hauteur auto */
	background-position: center;
	background-repeat: no-repeat;
}

/* État normal */
.section-services .listing-services .item .photo .lien {
	position: absolute; bottom: 8px; right:0; width: 75%; height: 32px; background: #fff; padding: 7px 15px; font-weight: 400; font-family: "Yeseva One", serif; font-size: 0.85em; text-decoration: none; line-height: 1.1; cursor: pointer;
	/* Effet de transition */
	opacity: 1;
	transform: translateX(0);
	transition: none; /* pas de transition normale */
}

/* Au hover sur .lien : disparition immédiate + animation de réapparition */
.section-services .listing-services .item .photo .lien:hover {
	opacity: 0;
	transform: translateX(30px);
	animation: reappear 1s forwards;
}
/* Animation qui fait revenir l’élément */
@keyframes reappear {
	from {
		opacity: 0;
		transform: translateX(30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.section-services .listing-services .item .photo .lien a {color: #000; text-decoration: none;}
.section-services .listing-services .item .photo .lien:hover a {color: var(--Orange);}
.section-services .listing-services .item .photo .lien::after {
	content: '';
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
	height: 16px;
	background: url('../images/services/fleche-droite.svg') no-repeat center/contain;
	/*transition: transform 1s ease, opacity 1s ease;*/
}

.section-services .listing-services .item .photo .mention, .section-services .listing-services .item .photo .cadre {display: none;}
.section-services .listing-services .item .textes {padding-top: 0.8em;}
.section-services .listing-services .item .titre {font-size: 0.77em; font-weight: 500; line-height: 1.1; text-transform: uppercase; letter-spacing: 0.6px; color: #222;}
.section-services .listing-services .item .legende {font-size: 0.74em; color: #444; font-size: 400;}

@media (min-width: 420px) {
	.section-services .listing-services .item .photo .lien {width: 45%; padding: 8px 28px;}
	.section-services .listing-services .item-3 .photo .lien {width: 60%;}
	.section-services .listing-services .item-4 .photo .lien {width: 60%;}
	.section-services .listing-services .item-6 .photo .lien {width: 52%;}
}
@media (min-width: 768px) {
	.section-services .listing-services {max-width: none;}
	.section-services .listing-services .item-3 .photo .lien {width: 70%;}
}
@media (min-width: 992px) {
	.section-services {background: linear-gradient(to bottom, 
                              transparent 0%, 
                              transparent 75%, 
                              var(--GrisClair) 75%, var(--GrisClair) 100%); padding-bottom: 0;}
	.section-services .listing-services .item .photo .lien {width: 59%;}
	.section-services .listing-services .item-2 .photo .lien {width: 56%;}
	.section-services .listing-services .item-3 .photo .lien {width: 80%;}
	.section-services .listing-services .item-4 .photo .lien {width: 74%;}
	.section-services .listing-services .item-5 .photo .lien {width: 63%;}
	.section-services .listing-services .item-6 .photo .lien {width: 67%;}
}
@media (min-width: 1200px) {
	.section-services .listing-services .item .photo .lien {width: 45%;}
	.section-services .listing-services .item-2 .photo .lien {width: 43%;}
	.section-services .listing-services .item-3 .photo .lien {width: 61%;}
	.section-services .listing-services .item-4 .photo .lien {width: 55%;}
	.section-services .listing-services .item-5 .photo .lien {width: 47%;}
	.section-services .listing-services .item-6 .photo .lien {width: 52%;}
	.section-services .listing-services .item .photo .cadre {display: block; position: absolute; border: solid 3px #fff; bottom: 7%; left: 15%; width: 28%; height: 90%;}
	.section-services .listing-services .item .photo .mention {display: block; position: absolute; top: 20%; right: 9%; width: 40%; height: 33%; font-weight: 600; line-height: 1.3; font-size: 0.86em; letter-spacing: 1.1px;}
	.section-services .listing-services .item .photo .mention b {font-weight: 700;}
}
@media (min-width: 1500px) {
	.section-services .listing-services .item .photo .cadre {bottom: 6%; }
}



@media (min-width: 992px) {
	.section-depuis .textes {position: relative;}
	.section-depuis .textes:before {content: ''; display: block; position: absolute; width: 2px; height: calc(100% - 20px); top: 10px; left: 0; margin-left: -30px; border-left: solid 1px #000;}
}


.section-equipe {padding-top: 0;}
.section-equipe .item {position: relative; padding-left: 50px;}
.section-equipe .item:before {content: ''; position: absolute; top: 25px; left: 0;  margin-left: -15px; width: 50px; height: 30px; background: url(../images/home/guillemet-orange.svg) center center no-repeat; background-size: cover;}
.section-equipe .qui {font-weight: 700; font-size: 1.13em; text-transform: uppercase;}
.section-equipe .texte {font-style: italic; }
@media (min-width: 992px) {
	.section-equipe .items {height: 420px; position: relative; }
	.section-equipe .item {padding-left: 0; height: 400px;}
	.section-equipe .item .qui {position: absolute;  z-index: 2;}
	.section-equipe .item .texte {position: absolute; font-size: 0.85em; z-index: 2;}
	.section-equipe .item-1:before {top: 12px; left: 80px; margin-left: 0; width: 72px; height: 52px; background: url(../images/home/guillemet.svg) center center no-repeat; background-size: cover;}
	.section-equipe .item-2:before {top: 33%; left: 33%; margin-left: 0; width: 72px; height: 52px; background: url(../images/home/guillemet.svg) center center no-repeat; background-size: cover;}
	.section-equipe .item-1 .qui {left: 60%; top: 5%; width: 30%; height: 30px; }
	.section-equipe .item-1 .texte {text-align: right; top: 15%; left: 15%; width: 45%; height: 140px; }
	.section-equipe .item-2 .qui {left: 38%; top: 24%; width: 30%; height: 30px; }
	.section-equipe .item-2 .texte {top: 42%; left: 52%; width: 45%; height: 140px; }
	.section-equipe .silhouettes {background: url(../images/home/silhouettes.svg) top center no-repeat; background-size: 43%; position: absolute; top: 0; width: 100%; left: 0%; height: 490px; z-index: 3;}
	.section-equipe .triangle1 {background: url(../images/home/silhouette-triangle-1.svg) top center no-repeat; background-size: 43%; position: absolute; top: 0; width: 100%; left: 0%; height: 490px; z-index: 1; 
		/*animation: triangle1-in 0.4s cubic-bezier(.16,1,.3,1) forwards;*/
		transform: translate(-40%, 40%);
		opacity: 0;
	}
	.section-equipe .triangle1.is-animating {
		animation: triangle1-in 1.5s cubic-bezier(.16,1,.3,1);
	}
	.section-equipe .triangle1.is-visible {
		transform: translate(0, 0);
		opacity: 1;
	}

	.section-equipe .triangle2 {background: url(../images/home/silhouette-triangle-2.svg) top center no-repeat; background-size: 43%; position: absolute; top: 0; width: 100%; left: 0%; height: 490px; z-index: 1;
		/* état initial : hors écran haut droit */
		transform: translate(40%, -40%);
		opacity: 0;
	}

	.section-equipe .triangle2.is-animating {
		animation: triangle2-in 1.5s cubic-bezier(.16,1,.3,1);
	}

	.section-equipe .triangle2.is-visible {
		transform: translate(0, 0);
		opacity: 1;
	}

}
@media (min-width: 1200px) {
	.section-equipe .items {height: 500px; }
	.section-equipe .item-1:before {top: 12px; left: 140px; margin-left: 0; width: 72px; height: 52px;}
	.section-equipe .item-2:before {top: 33%; left: 36%; margin-left: 0; width: 72px; height: 52px;}
}
@media (min-width: 1500px) {
	.section-equipe .items {height: 550px; }
}

@keyframes triangle1-in {
	0% {
		transform: translate(-40%, 40%);
		opacity: 0;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}
@keyframes triangle2-in {
	0% {
		transform: translate(40%, -40%);
		opacity: 0;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}




.section-partage {padding-top: 0;}
.section-partage .row.listing {margin: 0 !important;}
.section-partage .row.listing > div {padding: 0!important;}
.section-partage .row.listing > div .item {border: solid 2px #FFF; aspect-ratio: 1.15;}
.section-partage .row.listing > div .item .overlay {opacity:0; background: #000; height: 100%; transition: all 0.6s ease;}
.section-partage .row.listing > div .item:hover .overlay{opacity: 0.4;}
.section-partage .row.listing > div .item .overlay a {display: block; height: 100%;}
.section-partage .cadre1 {border: solid 2px #fff;}







/* POPUP RESEAU ******************/
.popup-reseau a {background: var(--GrisClair); padding: 10px 15px; border-radius: 8px; color: #000; text-decoration: none; cursor: pointer; display: block; text-align: center;}
.popup-reseau a:hover {background: var(--Gris);}
.popup-reseau ul {padding: 0px; margin: 0; }
.popup-reseau li {padding: 0px; margin: 0; padding-bottom: 10px; font-size: 0.85em; font-weight: 600; text-transform: uppercase;}
.popup-reseau li img {max-width: 70px; margin-right: 10px;}
@media (min-width: 480px) {
	
}

/* POPUP TARIFS LIVRAISON ******************/
.popup-tarifs-livraison {font-size: 0.9em;}
.popup-tarifs-livraison .liste-tarifs-livraison .item-suivant {border-top: solid 1px #b2b2b2;}
.popup-tarifs-livraison .liste-tarifs-livraison .item .titre {color: var(--TurquoiseDark); font-weight: 700; font-size: 1.35em; margin-bottom: 4px;}
.popup-tarifs-livraison .liste-tarifs-livraison .item .titre .prix {color: #32bcb6;}
.popup-tarifs-livraison .liste-tarifs-livraison .item .titre .prix .ttc {font-size: 0.69em; font-weight: 500;}
.popup-tarifs-livraison .liste-tarifs-livraison .item .texte {font-weight: 300;}
.popup-tarifs-livraison .liste-tarifs-livraison .item .texte .label {font-weight: 600;}




/* ******************************* PAGES INTERIEURES */
.header-interieur {height: 280px; background-position: center center; background-repeat: no-repeat; background-size: cover; position: relative; overflow: hidden;}
@media (min-width: 480px) { 
	.header-interieur {height: 380px;}
}
@media (min-width: 1200px) { 
	.header-interieur {height: 480px;}
}
@media (min-width: 1500px) { 
	.header-interieur {height: 560px;}
}





.section-item .titre {font-weight: 400; font-size: 1.08em; text-transform: uppercase; letter-spacing: 0.7px; margin-bottom: 0.3em;}
.section-item .sous-titre {font-weight: 500; font-size: 1.13em; text-transform: uppercase; color: var(--Orange); margin-bottom: 0.1em;}
.section-item .avantages {line-height: 1.45; }
@media (min-width: 768px) { 
	.section-item .avantages {padding-left: 35px; border-left: solid 1px #000;}
}


.section-pourquoi .items .item {max-width: 400px; margin-left: auto; margin-right: auto; padding-top: 120px; background-size: auto 120px; background-position: top center; background-repeat: no-repeat;}
.section-pourquoi .items .item .titre {color: var(--Orange); font-weight: 500; letter-spacing: 2.8px; padding: 32px 0; margin-bottom: 0.25em; line-height: 1.2; text-transform: uppercase; background: url(../images/bg-triangle-gris.svg) center center no-repeat; background-size: auto 90px;}
.section-pourquoi .items .item p {line-height: 1.46;}


/* sécurité générale */
/* sécurité générale */
#carousel-prestation,
#carousel-prestation .flex-viewport {
    overflow: hidden;
}
/* wrapper de l'image pour éviter que le zoom dépasse le slide */
#carousel-prestation .slide-inner {
    overflow: hidden; /* empêche l'image de dépasser la slide */
}
/* image dans la slide */
#carousel-prestation .photo {
    width: 100%;
    aspect-ratio: 0.62;  /* ajuste selon ton ratio réel */
    background-size: cover;
    background-position: center;
	transition: transform 0.6s ease-out, filter 0.6s ease-out;
}
/* zoom au survol */
#carousel-prestation .slide-inner:hover .photo {
    transform: scale(1.08) translateY(-4px) translateX(2px); /* zoom + léger déplacement */
    filter: brightness(1.08); /* léger éclaircissement */
}

#carousel-prestation .flex-prev, #carousel-prestation .flex-next {
    text-indent: -9999px; /* cache le texte */
    display: block;
    width: 100px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

#carousel-prestation .flex-prev {
    background-image: url('../images/prestations/prev.svg');
}

#carousel-prestation .flex-next {
    background-image: url('../images/prestations/next.svg');
}
#carousel-prestation .flex-control-paging {display: none;}
/*#carousel-prestation .flex-direction-nav { margin-top: 25px; text-align: center; width: 200px;}*/

/* container des flèches */
#carousel-prestation .flex-direction-nav {
    display: flex;             /* aligne les li horizontalement */
    justify-content: space-between; /* optionnel : une flèche à gauche, l'autre à droite */
    margin-top: 40px;
    width: 220px;
   margin-left: calc(50% - 110px);
    pointer-events: none;      /* permet de cliquer seulement sur les flèches */
    z-index: 10;
}

/* chaque flèche */
#carousel-prestation .flex-direction-nav li {
    pointer-events: auto;      /* réactive le click */
}

#carousel-prestation .nb_slides {position: absolute; bottom: 10px; left: 30%; width: 65px; height: 20px; display: none;}



@media (min-width: 768px) {
	#carousel-prestation .flex-direction-nav {margin-left: calc(70% - 110px);}
}


/* miniatures LightGallery 1.x */
.lg-outer .lg-thumb-outer {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 60px;
    display: flex;
    gap: 5px;
    z-index: 9999;
}

.lg-outer .lg-thumb-outer img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    cursor: pointer;
    opacity: 0.6;
    border: 2px solid transparent;
    transition: opacity 0.3s, border 0.3s;
}

.lg-outer .lg-thumb-outer img.active {
    opacity: 1;
    border-color: #fff;
}




.section-titre-simple {padding: 2em; color: #fff; background: var(--Orange); }
.section-titre-simple h1 {color: #fff; text-align: center; padding: 0; margin: 0; font-weight: 400; font-family: "Yeseva One", serif; line-height: 1.2; font-size: 2.5em;}




.portfolio-grid {
    display: grid;
    gap: 1.5em;
}

/* ITEM */
.portfolio-item {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
}

.portfolio-grid a {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* image réelle */
.portfolio-item::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image: var(--bg);
    background-size: cover;
    background-position: center;

    opacity: 0;
    transform: scale(1.05);

    transition: transform 0.6s ease, filter 0.6s ease, opacity 0.6s ease;
}

/* image chargée */
.portfolio-item.loaded::before {
    opacity: 1;
    transform: scale(1);
}

/* hover */
.portfolio-item:hover::before {
    transform: scale(1.08);
    filter: brightness(1.08);
}

/* MOBILE */
@media (max-width: 767px) {
    .portfolio-grid {
        grid-template-columns: 1fr;
    }
}

/* TABLET */
@media (min-width: 768px) and (max-width: 991px) {
    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* DESKTOP */
@media (min-width: 992px) {

    .portfolio-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: dense;
    }

	.portfolio-grid > a:nth-child(6n+4),
	.portfolio-grid > a:nth-child(6n+10) {
		grid-column: span 2;
		grid-row: span 2;
	}

}





.texte-cms h2 {margin-top: 1.6em; margin-bottom: 0.2em; color: var(--Orange); font-weight: 600; letter-spacing: 1px; text-transform: uppercase; line-height: 1.2; font-family: "poppins", sans-serif;}
.texte-cms h3 {margin-top: 1em; margin-bottom: 0.1em; font-weight: 500; letter-spacing: 0.75px; text-transform: uppercase; line-height: 1.2; font-family: "poppins", sans-serif;}


.zone-contacts .colonne1 {font-size: 1.1em; font-weight: 400; letter-spacing: 1px;}
.zone-contacts .item {padding-left: 25px; position: relative; min-height: 35px; padding-bottom: 1.1em; font-size: 0.9em; line-height: 1.35;}
.zone-contacts .item a {text-decoration: none;}
.zone-contacts .item a:hover {text-decoration: underline;}
.zone-contacts .item:before {position: absolute; content: ''; top: 0; left: 0; width: 17px; height: 25px; background-position: top center; background-repeat: no-repeat; background-size: 100%;}
.zone-contacts .item-adresse:before {background-image: url(../images/contact/icone-adresse.svg);}
.zone-contacts .item-telephone:before {background-image: url(../images/contact/icone-telephone.svg);}
.zone-contacts .item-horaires:before {background-image: url(../images/contact/icone-horaires.svg);}
.zone-contacts .item-mail:before {background-image: url(../images/contact/icone-mail.svg); top: 3px;}

.cadre-form {/*background: #f6f2f5;*/ padding: 1.5em;}
#form-contact label {display: block; margin-bottom: 3px; font-weight: 500; letter-spacing: 0.7px; text-transform: uppercase; font-size: 0.9em;}
#form-contact .champ {display: block; padding: 6px 15px; padding-top: 8px; font-size: 0.85em; width: 100%; border: 0;}
#form-contact .champ::placeholder {
    color: #c3c3c3;
    opacity: 1; /* important pour éviter l’effet gris transparent */
}
#form-contact select.champ {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  padding-right: 40px; /* laisse de la place pour la flèche */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23000' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 12px 8px;
}
#form-contact textarea {height: 167px;}
#form-contact .zone-bouton .btn {background: #fff;}
#form-contact .zone-bouton .btn:hover {background: var(--Orange);}
@media (min-width: 480px) {
	.cadre-form {padding: 2em;}
}
@media (min-width: 768px) {
	.cadre-form {padding: 2.2em;}
}
@media (min-width: 992px) {
	.cadre-form {padding: 4em;}
}



/*** BON CADEAU ***/
#form-paiement .montant {color: var(--Orange); font-weight: 500; font-size: 0.92em; padding: 0.5em 0;}
#form-paiement label {display: block; margin-bottom: 3px; font-weight: 500; letter-spacing: 0.7px; text-transform: uppercase; font-size: 0.9em;}
#form-paiement label.inline {display: inline-block; margin-left: 5px;}
#form-paiement .champ {display: block; padding: 6px 15px; padding-top: 8px; font-size: 0.85em; width: 100%; border: 0; border: solid 1px #bababa;}
#form-paiement .champ::placeholder {
    color: #c3c3c3;
    opacity: 1; /* important pour éviter l’effet gris transparent */
}
#form-paiement select.champ {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  padding-right: 40px; /* laisse de la place pour la flèche */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23000' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 12px 8px;
}
#form-paiement textarea {height: 167px;}
#form-paiement .btn {background: var(--Orange); color: #fff; border: solid 1px var(--Orange);}
#form-paiement .btn:hover {background: #fff; color:  var(--Orange);}


.body-bon-cadeau .avantage {padding-top: 120px;}
.body-bon-cadeau .avantage-1 {background: url(../images/bon-cadeau/icon-24-7.svg) top center no-repeat; background-size: auto 90px;}
.body-bon-cadeau .avantage-2 {background: url(../images/bon-cadeau/icon-euro.svg) top center no-repeat; background-size: auto 90px;}
.body-bon-cadeau .avantage-3 {background: url(../images/bon-cadeau/icon-email.svg) top center no-repeat; background-size: auto 90px;}
.body-bon-cadeau .avantage .texte {font-weight: 500; line-height: 1.54;}
.body-bon-cadeau .avantage .texte span {color: var(--Orange);}
.body-bon-cadeau .valable {font-weight: 200;}
.body-bon-cadeau .etape2 {display: none;}
.body-bon-cadeau .a-prev {/*padding-left: 30px;*/ padding-top: 5px; font-size: 0.87em; color: var(--Orange);}






/* TARIFS */
.body-tarifs .cadre-gris {height: 100%; padding: 25px; }
.body-tarifs .row-1 {--bs-gutter-x: 2.5rem;}
.body-tarifs .row-1 .row {--bs-gutter-x: 3rem;}
.body-tarifs ul.type1 {padding-left: 20px;}
.body-tarifs ul.type1 li {margin-bottom: 13px; line-height: 1.35;}
.body-tarifs ul.ul-puces-perso {margin-left: 0; padding:0;}
.body-tarifs ul.ul-puces-perso li {margin-bottom: 8px;line-height: 1.35; list-style: none; background: url(../images/tarifs/puce.svg) top 3px left no-repeat; background-size: 15px; padding-left: 23px;}
.body-tarifs ul.ul-puces-perso .gras {font-weight: 500;}
.body-tarifs ul.ul-puces-perso .orange {color: var(--Orange); font-weight: 500;}
.body-tarifs ul.type2 {margin-left: 0px; padding-left: 0;}
.body-tarifs ul.type2 li { list-style: disc; background: none; padding-left: 5px; margin-top: 6px; margin-bottom: 2px;}
.body-tarifs ul.type2 li.li-orange::marker {color: var(--Orange);}
.body-tarifs ul.ul-puces-perso2 > li {margin-bottom: 32px;}
.body-tarifs .tarifs-3 {font-size: 0.9em;}
.body-tarifs .tarifs-3 .orange {font-size: 1.1em;}
.body-tarifs .tarifs-3 .li-orange .orange {font-size: 1em;}
.body-tarifs .mentions1 {font-size: 0.9em; line-height: 1.35;}
.body-tarifs .col-photo-mariage {background: url(../images/tarifs/photo-mariage.jpg) center center no-repeat; background-size: cover; height: 100%; width: 100%;}
.body-tarifs .col-photo-famille {background: url(../images/tarifs/photo-famille.jpg) center center no-repeat; background-size: cover; height: 100%; width: 100%;}
.body-tarifs .mentions3 {font-size: 0.8em; font-style: italic;}
.body-tarifs .passion .btn {width: 340px; margin: 0 auto; padding-bottom: 0.4em;}
@media (min-width: 992px) {
	.body-tarifs ul.ul-puces-perso {margin-left: 1em;}
}
@media (min-width: 1500px) {
	.body-tarifs .cadre-gris {padding: 40px; }
}


/* CORPORATE */
.sous-corporate .header-interieur {background-position: left center; background-image: url('../images/prestations/corporate/header.jpg');}
@media (min-width: 992px) {
	.sous-corporate .header-interieur {background-position: center center;}
}
@media (min-width: 1500px) {
	.sous-corporate .header-interieur {background-image: url('../images/prestations/corporate/header-xl.jpg');}
}



/* Flexslider thumbnails */
#carousel-thumbs {
  flex: 1;
  margin: 0 35px; /* laisse la place aux flèches */
}
#carousel-thumbs .slides li {
  position: relative;
}
#carousel-thumbs .thumb-bg {
  width: 100%;
  /*height: 80px;*/
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center;
  border-radius: 4px;
}

/* Boutons prev/next */
.carousel-prev,
.carousel-next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  /* background supprimé, plus de rond semi-transparent */
  border-radius: 50%;
  text-decoration: none;
  cursor: pointer;
  z-index: 10;
  /* on peut garder la transition pour le fill du SVG */
  transition: all 0.2s ease;
}

.carousel-next svg {
  transform: rotate(180deg);
}

/* supprime l'ancien hover qui change le background */
.carousel-prev:hover,
.carousel-next:hover {
  background: none;
}


.carousel-prev svg .arrow,
.carousel-next svg .arrow {
  fill: var(--GrisBleute); /* couleur normale */
  transition: fill 0.2s ease;
}

.carousel-prev:hover svg .arrow,
.carousel-next:hover svg .arrow {
  fill: #666688; /* couleur plus foncée au survol */
}


.carousel-prev svg,
.carousel-next svg {
  width: 20px;
  height: 20px;
}

/* Positionnement des flèches */
.carousel-prev {
  left: 0;
}
.carousel-next {
  right: 0;
}

#carousel-thumbs .thumb-bg {
  position: relative;
  cursor: pointer;
}

#carousel-thumbs .thumb-bg::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,0.4);
  border-radius: 4px;
  transition: background 0.3s ease;
}

/* vignette active → pas de voile */
#carousel-thumbs .flex-active-slide .thumb-bg::after {
  background: transparent;
}

/* curseur "main" */
#carousel-thumbs .thumb-bg {
  cursor: pointer;
}

#carousel-thumbs .thumb-bg {
  cursor: pointer;
}

/* Caption sur la photo principale */
.slide-caption {
  position: absolute;
  font-weight: 400; font-family: "Funnel Display", sans-serif; font-size: 1em; 
  bottom: 12px;    /* espace par rapport au bas */
  left: 12px;      /* espace par rapport à gauche */
  color: white;
  text-shadow: 0 2px 4px rgba(0,0,0,0.6); /* pour lisibilité sur fonds clairs */
  pointer-events: none; /* le texte ne bloque pas le clic sur la slide */
  text-transform: uppercase;
}


/* Flèches du slider principal */
.slider-prev,
.slider-next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  text-decoration: none;
  cursor: pointer;
  z-index: 20;
  transition: all 0.2s ease;
}

.slider-prev svg,
.slider-next svg {
  width: 50px;
  height: 50px;
}

.slider-next svg {
  transform: rotate(180deg);
}

.slider-prev svg .arrow,
.slider-next svg .arrow {
  fill: #ccc;
  transition: fill 0.2s ease;
}

.slider-prev:hover svg .arrow,
.slider-next:hover svg .arrow {
  fill: #fff;
}

.slider-prev {
  left: 12px;
}
.slider-next {
  right: 12px;
}










/* ******************************* FOOTER */
footer {color: #fff; padding: 2em 0; background: #000; text-align: center;}
footer a {color: #fff; text-decoration: none;}
footer a:hover {text-decoration: underline;}
footer .tenter {color: var(--Orange); font-weight: 300; line-height: 1.3;}
footer .tenter strong {font-weight: 500;}
footer hr {width: 250px; margin-left: auto; margin-right: auto;}
footer .coord {line-height: 1.26; font-size: 0.88em;}
footer .coord .un {margin-bottom: 1em; font-size: 1.1em; font-weight: 400;}

footer .footer-copyright {font-size: 0.84em;}




/* ******************************* ICONCAPTCHA */
.iconcaptcha-holder .iconcaptcha-modal__body-icons {
  max-width: 100%; /* occupe toute la largeur disponible */
  height: 40px;    /* réduit la hauteur pour mobile */
  background-size: contain; /* ajuste le sprite pour qu’il tienne */
  background-position: center;
}
@media (max-width: 480px) {
  .iconcaptcha-holder .iconcaptcha-modal__body-icons {
    height: 35px;        /* réduit légèrement */
    background-size: 90% 100%; /* adapte le sprite pour tenir sur l’écran */
  }
}


/* ******************************* COOKIES */
.cookies-bandeau {color: #fff; background: #333; opacity: 0.9; position: fixed; bottom: 0; width: 100%; margin-bottom: -210px; transition: all 1.5s; z-index: 2500; font-size: 0.8em;}
.cookies-bandeau.actif {margin-bottom: 0;}
.cookies-bandeau .plus {text-decoration: underline; }
/*.cookies-bandeau .btn {background: #fff; padding: 9px 14px; font-size: 1.15em; color: #fff;}
.cookies-bandeau .btn:hover {text-decoration: none; background-color: var(--TurquoiseLight); }*/
@media (min-width: 992px) {
	.cookies-bandeau {margin-bottom: -120px;}
}




/* SLICKSLIDER */

.slick-slider {position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list {position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus {outline: none; }
.slick-list .bouton a {background: var(--Vert); color: #fff; line-height: 1; }
.slick-list .bouton a:hover {text-decoration: none; opacity: 0.9;}
.slick-list.dragging {cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track {position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after {display: table; content: ''; }
.slick-track:after {clear: both; }
.slick-loading .slick-track {visibility: hidden; }
.slick-slide {display: none; float: left; height: 100%; min-height: 1px; }
[dir='rtl'] .slick-slide {float: right; }
.slick-slide img {display: block; }
.slick-slide.slick-loading img {display: none; }
.slick-slide.dragging img {pointer-events: none; }
.slick-initialized .slick-slide {display: block; }
.slick-loading .slick-slide {visibility: hidden; }
.slick-vertical .slick-slide {display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden {display: none; }
.slick-loading .slick-list:after { background-color: rgba(0, 0, 0, .3); content:""; display:block; width: 40px; height: 40px; position: absolute; left: 50%; margin-left: -20px; top: 50%; margin-top: -20px; -webkit-animation: rotate-loading 1.2s infinite ease-in-out; animation: rotate-loading 1.2s infinite ease-in-out; }
@-webkit-keyframes rotate-loading {0% { -webkit-transform: perspective(120px)} 50% { -webkit-transform: perspective(120px) rotateY(180deg)} 100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)} }
@keyframes rotate-loading {0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)} 50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)} 100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);} }

/* Arrows */
.slick-prev, .slick-next {bottom: 0; border: 0; font-size: 0; line-height: 0; opacity: .7;position: absolute; z-index: 99; display: block;  padding: 0; text-decoration: none !important; overflow: hidden; cursor: pointer; color: transparent;  outline: none; background: transparent; }
.slick-prev:hover, .slick-next:hover {color: transparent; outline: none; background: transparent;opacity: 1;}
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {opacity: .45;}
.slick-prev:before, .slick-next:before {width: 54px; height: 24px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: ""; display: block; background-repeat: no-repeat; background-position: center center;}
.slick-prev {left: 50%; margin-left: -57px;}
.slick-prev:before {background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.7 21.9'><path fill='%23777' d='M12,21.6l-11.2-10c-0.4-0.4-0.4-1,0-1.4L12,0.2c0.4-0.3,1-0.3,1.3,0.1c0.3,0.4,0.3,1-0.1,1.3L3.9,10h45.9 c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9H3.9l9.4,8.4c0.2,0.2,0.3,0.4,0.3,0.7c0,0.2-0.1,0.4-0.2,0.6C13,21.9,12.4,22,12,21.6'/></svg>"); }
.slick-next:before {background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.7 21.9'><path fill='%23777' d='M39,21.6l11.2-10c0.4-0.4,0.4-1,0-1.4L39,0.2c-0.4-0.3-1-0.3-1.3,0.1c-0.3,0.4-0.3,1,0.1,1.3l9.4,8.4H1.2 c-0.5,0-0.9,0.4-0.9,0.9c0,0.5,0.4,0.9,0.9,0.9h45.9l-9.4,8.4c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.2,0.1,0.4,0.2,0.6 C38,21.9,38.6,22,39,21.6'/></svg>");}
.slick-next {left: 50%; margin-left: 17px;}
@media (min-width: 768px) { 
	.slick-prev, .slick-next {bottom:auto;top: 50%; -webkit-transform: translate(0, -50%); transform: translate(0, -50%); margin-left: 0;}
	.slick-prev {left: -60px;}
	.slick-next {left: auto; right: -60px;}
}
@media (min-width: 1200px) { 
	.slick-prev {left: -80px;}
	.slick-next {right: -80px;}
}
@media (min-width: 1500px) { 
	.slick-prev {left: -90px;}
	.slick-next {right: -90px;}
}

/* Dots */
.slick-dots {bottom: 15px;position: absolute; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li {width: 16px; height: 16px; margin: 0 13px;position: relative; display: inline-block; padding: 0; cursor: pointer; }
/*.slick-dots li button {width: 16px; height: 16px; opacity: 0.9;font-size: 0; background: none; border: solid 1px #fff; line-height: 0; display: block; cursor: pointer; border-radius: 16px;box-shadow: 1px 1px 3px rgba(0, 0, 0, .5);}
.slick-dots li button:hover {outline: none; opacity: .9; background: #fff;}*/
.slick-dots li button {width: 25px; height: 25px; opacity: 0.8;font-size: 0; background: url(../images/dot.svg) center center; background-size: cover; line-height: 0; display: block; cursor: pointer; border: none; }
.slick-dots li button:hover {opacity: 1; }
.slick-dots li.slick-active button {opacity: 1; }
@media (min-width: 768px) { 
	.slick-dots {bottom: 20px;} 
	.slick-dots li,
	/*.slick-dots li button {width: 16px; height: 16px;}*/
}
@media (min-width: 1200px) { 
	.slick-dots {bottom: 40px;} 
}



/* main slider */
.slick-mainslider,
.slick-mainslider .slick-slide {height: 280px; display: flex;
	align-items: center;      /* centrage vertical */
	justify-content: center;  /* centrage horizontal */}
.slick-mainslider .slick-slide {background-position: center center; background-repeat: no-repeat;background-size: cover; position: relative; overflow: hidden;}
.slick-mainslider .slick-slide::before {
	content: "";
	position: absolute;
	inset: 0;
	background: inherit;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale(1);
	animation: zoom-slide 14s linear infinite;
	animation-play-state: paused; /* ⬅️ CRUCIAL */
	z-index: 1;
	will-change: transform;
}
.slick-mainslider .slick-slide > * {
	position: relative;
	z-index: 2;
}

@keyframes zoom-slide {
	from { transform: scale(1); }
	to   { transform: scale(1.18); }
}
/*
.slick-mainslider .slick-slide.slick-active::before {
	animation: zoom-slide 18s linear infinite;
}*/
.slick-mainslider .slick-slide.slick-current::before {
	animation-play-state: running;
}

.slick-mainslider .textes {	text-align: center; transform: translateY(-10px); color: #fff; 
   text-shadow:
    0 0 6px  rgba(0, 0, 0, 0.25),
    0 0 14px rgba(0, 0, 0, 0.18),
    0 0 28px rgba(0, 0, 0, 0.12);}
.slick-mainslider .textes .ligne1 {font-family: "poppins", sans-serif; font-weight: 700; font-size: 1.3em; letter-spacing: 0.7px; }
.slick-mainslider .textes .ligne2 {font-family: "LavishlyYours"; font-size: 3.5em; line-height: 0.82;}
@media (min-width: 480px) { 
	.slick-mainslider,
	.slick-mainslider .slick-slide {height: 380px;}
	.slick-mainslider .slide-content {padding-top: 240px;}
	.slick-mainslider .textes {transform: translateY(-20px);}
	.slick-mainslider .textes .ligne2 {font-size: 3.5em; line-height: 0.37;}
}
@media (min-width: 640px) { 
	.slick-mainslider .textes .ligne1  {font-size: 1.35em; letter-spacing: 0.9px; }
	.slick-mainslider .textes .ligne2 {font-size: 4em; line-height: 0.37;}
}
@media (min-width: 768px) { 
	.slick-mainslider .textes .ligne1  {font-size: 1.43em; letter-spacing: 1px; }
	.slick-mainslider .textes .ligne2 {font-size: 4.6em; line-height: 0.37;}
	.slick-mainslider .textes {transform: translateY(-40px);}
}
@media (min-width: 1200px) { 
	.slick-mainslider,
	.slick-mainslider .slick-slide {height: 480px;}
}
@media (min-width: 1500px) { 
	.slick-mainslider,
	.slick-mainslider .slick-slide {height: 560px;}
}







/* carousel */

.slick-carousel {padding-bottom: 40px;}
.slick-carousel .slick-slide {text-align: center;}
.carousel-item {display: inline-block;}
.carousel-item a {position: relative;display: block; text-align: left;}
.slick-carousel .slick-track > .slick-slide:nth-child(even) > .carousel-item a .layer {justify-content: end;}
.carousel-item a img {border-radius: 10px;}
.carousel-item a .layer {position: absolute; left: 0; top: 0; right: 0; bottom: 0; color: #fff; padding: 25px; background-color: rgba(0, 0, 0, .15);border-radius: 10px;-webkit-transition: all .4s 0s; transition: all .4s 0s;}
.carousel-item a:hover .layer {background-color: rgba(0, 0, 0, .3);}
.slick-carousel .slick-track > .slick-slide:nth-child(even) > .carousel-item a:hover .layer {padding-bottom: 45px;}
.slick-carousel .slick-track > .slick-slide:nth-child(odd) > .carousel-item a:hover .layer {padding-top: 45px;}
.carousel-item a .layer .date {text-transform: uppercase;margin-bottom: .6em;}
.carousel-item a .layer .title {font-weight: 800;font-size: 1.375em; line-height: 1.25em;margin: 0;}
@media (min-width: 768px) { 
	.slick-carousel {padding-bottom: 0;}
}/*
@media (min-width: 992px) { 
	.carousel-item {width: 280px;}
	.carousel-item a .layer {font-size: .9em;}
}
@media (min-width: 1200px) { 
	.carousel-item {width: 320px;}
	.carousel-item a .layer {font-size: 1em;}
}*/




/* Slider */
.flex-container a:hover, .flex-slider a:hover, .flex-container a:focus, .flexslider a:focus {outline: none; }
.flexslider .slides, .flexslider .slides > li, .flex-control-nav, .flex-direction-nav {margin: 0; padding: 0; list-style: none;} 
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;}
.flexslider .slides img {-moz-user-select: none;}
.flexslider .slides:after {content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
html[xmlns] .flexslider .slides {display: block; }
* html .flexslider .slides {height: 1%; }
.no-js .flexslider .slides > li:first-child {display: block; }
.flexslider {margin: 0 auto; position: relative; zoom: 1;height:auto;}
.flexslider .slides {zoom: 1; z-index: 50;}
.flexslider .slides > li {position:relative;}
.flex-viewport {max-height: 2000px;-webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
.loading:after { background-color: #c20e1a; content:""; display:block; width: 40px; height: 40px; position: absolute; left: 50%; margin-left: -20px; top: 50%; margin-top: -20px; -webkit-animation: rotate-loading 1.2s infinite ease-in-out; animation: rotate-loading 1.2s infinite ease-in-out; }
@-webkit-keyframes rotate-loading {0% { -webkit-transform: perspective(120px)} 50% { -webkit-transform: perspective(120px) rotateY(180deg)} 100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)} }
@keyframes rotate-loading {0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)} 50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)} 100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);} }

.flex-control-paging {width: 100%; position: absolute; bottom: 20px; text-align: center; z-index: 70}
.flex-control-paging li {margin: 0 5px!important; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {background-color: #fff;opacity: 0.5; font-size: 0; width: 15px; height: 15px; border-radius: 50%; display: block;cursor: pointer;}
.flex-control-paging li a:hover, .flex-control-paging li a:focus {opacity: 0.75;}
.flex-control-paging li a.flex-active {opacity: 1 !important;}




