/*
	Theme Name: WD
	Theme URI: 
	Description: 
	Version: 1.0
	Author: WD 2026
	Author URI: https://www.workdivision.paris
	Text Domain: WD

*/

/*------------------------------------*\
	FONTS
\*------------------------------------*/

@font-face {
	font-family: 'wd';
	src:  url('fonts/wd.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
  }
  
  [class^="icon-"], [class*=" icon-"] {
	font-family: 'wd' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
  }
  .icon-close:before {
	content: "\e906";
  }
  .icon-arrow:before {
	content: "\e905";
	color: var(--color-or);
  }
  .icon-estimation:before {
	content: "\e904";
  }
  .icon-newsl:before {
	content: "\e900";
  }
  .icon-x:before {
	content: "\e901";
  }
  .icon-facebook:before {
	content: "\e902";
  }
  .icon-instagram:before {
	content: "\e903";
  }
  
:root {
	--color-blanc: rgba(255, 255, 255, 1);
	--color-noir: rgba(39, 39, 28, 1);

	--color-bordeaux: rgba(92, 9, 35, 1);
	--color-orange: rgba(245, 212, 77, 1);
	--color-rouge: rgba(234, 50, 47, 1);
	--color-bleu: rgba(123, 144, 178, 1);
	--color-terre: rgba(181, 77, 50, 1);

	--color-gris: rgba(87, 87, 87, 1);
	--color-gris-alt: rgba(182, 183, 183, 1);
	--color-beige: rgba(248, 246, 242, 1);
	--color-beige-alt: rgba(245, 241, 233, 1);

	/* Fonts */

	--font-xxs: 1.2rem;
	--lineh-xxs: 1.8rem;

	--font-xs: 1.6rem;
	--lineh-xs: 2rem;

	--font-s: 2rem;
	--lineh-s: 2.8rem;

	--font-m: 3rem;
	--lineh-m: 3.4rem;

	--font-xm: 3.5rem;
	--lineh-xm: 4rem;

	--font-xxm: 5rem;
	--lineh-xxm: 4rem;

	--font-l: clamp(3.5rem, 5.3vw + 2.2rem, 5.5rem);
	--lineh-l: clamp(3.5rem, 5.3vw + 2.2rem, 5.5rem);

	--font-xl: clamp(3rem, 8vw + 1.5rem, 5.5rem);
	--lineh-xl: clamp(3rem, 5.3vw + 3.7rem, 6rem);

	--font-xxl: clamp(3rem, 21.3vw - 5.3rem, 6rem);
	--lineh-xxl: clamp(3rem, 21.3vw - 5.3rem, 6rem);
}

/*------------------------------------*\
    MAIN
\*------------------------------------*/

html{
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body{
	position: relative;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
    font-size: var(--font-s);
    line-height: var(--lineh-s);
    font-style: normal;
    font-weight: 400;
	color: var(--color-noir);
	/*letter-spacing: 0.05rem;*/
	background-color: var(--color-beige);
}
main{
	overflow: hidden;
}
/* clear */
.clear:before,
.clear:after{
    content:' ';
    display:table;
}

.clear:after{
    clear:both;
}
p{
	margin-bottom: 1.5rem;
}
img{
	max-width:100%;
	vertical-align:bottom;
	height: auto;
}
a{
	color: var(--color-noir);
	text-decoration:none;
	transition: background 300ms ease, color 400ms, opacity 300ms ease;
}
.content-desc p a,
.content p a{
	text-decoration: underline!important;
}
.section-img-txt a:hover,
.section-titre-img a:hover,
.section-img-txt a,
.section-titre-img a{
	text-decoration:underline;
}
a:hover,
a:active{
	text-decoration: none;
	outline:0;
}
p a:hover,
p a:active{
	text-decoration: underline;
	outline:0;
}
:hover{
	transition: color 400ms, opacity 300ms ease;
	-webkit-transition: color 400ms, opacity 300ms ease;
	-moz-transition: color 400ms, opacity 300ms ease;
	-ms-transition: color 400ms, opacity 300ms ease;
	-o-transition: color 400ms, opacity 300ms ease;
}
a.nohover{
	text-decoration: none!important;
}

input:focus{
	outline:0;
	border:1px solid var(--color-noir);
}
h1{
	font-size: var(--font-xl);
	line-height: var(--lineh-xl);
	font-weight: 300;
}
h2{
	font-size: var(--font-sl);
	line-height: var(--lineh-sl);
	font-weight: 400;
}
h3{
	font-size: var(--font-xm);
	line-height: var(--lineh-xm);
    font-weight: 400;
}
h4{
	font-size: var(--font-m);
	line-height: var(--lineh-m);
	font-weight: 400;
}
ul{
	margin: 1.5rem 0.5rem;
	padding-left: 1.5rem;
}
ul.no-list{
	list-style: none;
	padding: 0;
	margin: 0;
}
p + ul{
	margin-top: 0.5rem;
}
/*
p:has(+ ul) {
	margin-bottom: 0.5rem;
}
*/
strong{
	font-weight: 600!important;
}
.article-content strong,
p strong{
	color: var(--color-noirc);
}
.js-on .fade-r,
.js-on .fade-l,
.js-on .fade-d,
.js-on .fade-o,
.js-on .fade{
	opacity: 0;
}
.fadeIn{
    animation-name: fadeIn;
}
.trans-all{
	transition: all 300ms ease;
}
.animated{
    animation-duration: 500ms;
}
.js-on .fade.in{
	transform: translateY(20px);
	/*animation-delay: .3s;*/
	animation-duration: .3s;
	animation-name: fadeIn;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}
.js-on .fade-d.in{
	transform: translateY(-20px);
	animation-delay: 1s;
	animation-duration: 1s;
	animation-name: fadeInDown;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}
.js-on .fade-l.in{
	transform: translateX(40px);
	animation-delay: .3s;
	animation-duration: .5s;
	animation-name: fadeInL;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}
.js-on .fade-r.in{
	transform: translateX(-40px);
	animation-delay: .3s;
	animation-duration: .5s;
	animation-name: fadeInR;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}
.js-on .fade-o.in{
	transform: translateX(-60px);
	animation-delay: .5s;
	animation-duration: 1s;
	animation-name: fadeInR;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out; 
}
/*
.js-on .fade.in:nth-child(1) {
  animation-delay: 0s;
}
*/
.js-on .fade-l.in:nth-child(2),
.js-on .fade-r.in:nth-child(2),
.js-on .fade.in:nth-child(2) {
	animation-delay: 0.4s;
}
.js-on .fade-l.in:nth-child(3),
.js-on .fade-r.in:nth-child(3),
.js-on .fade.in:nth-child(3) {
	animation-delay: 0.6s;
}
.js-on .fade-l.in:nth-child(4),
.js-on .fade-r.in:nth-child(4),
.js-on .fade.in:nth-child(4) {
	animation-delay: 0.7s;
}
.js-on .fade.in:nth-child(5) {
	animation-delay: 0.8s;
}
.js-on .fade.in:nth-child(6) {
	animation-delay: 0.9s;
}
.js-on .fade.in:nth-child(7) {
	animation-delay: 1s;
}
.js-on .fade.in:nth-child(8) {
	animation-delay: 1.1s;
}
.js-on .fade.in:nth-child(9) {
	animation-delay: 1.2s;
}
.js-on .fade.in:nth-child(10) {
	animation-delay: 1.3s;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
.fadeIn{
    -webkit-animation-name:fadeIn;
    animation-name:fadeIn
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
.fadeIn{
    -webkit-animation-name:fadeIn;
    animation-name:fadeIn
}
@keyframes fadeInL {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@-webkit-keyframes fadeInL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
.fadeInL{
    -webkit-animation-name:fadeInL;
    animation-name:fadeInL;
}

@keyframes fadeInR {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@-webkit-keyframes fadeInR {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

/*
.fadeInR{
    -webkit-animation-name:fadeInL;
    animation-name:fadeInL;
}
*/
.btn{
	position: relative;
	display: inline-block;
	padding: 1rem 3rem;
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	font-weight: 700;
	overflow: hidden;
	text-decoration: none!important;
	transition: all 0.3s ease-in-out;
	border-radius: 3rem;
	border: none;
	color: var(--color-blanc);
	min-width: 20rem;
	text-align: center;
}
.inline-btn{
	gap: 30px;
}
.btn:hover{
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	opacity: 0.8;
}
.btn-bordeaux{
	background-color: var(--color-bordeaux);
	color: var(--color-blanc)!important;
}
.btn-orange{
	background-color: var(--color-orange);
	color: var(--color-noir)!important;
}
.btn-rouge{
	background-color: var(--color-rouge);
	color: var(--color-blanc)!important;
}
.btn-bleu{
	background-color: var(--color-bleu);
	color: var(--color-blanc)!important;
}
.btn-terre{
	background-color: var(--color-terre);
	color: var(--color-blanc)!important;
}
.btn-blanc{
	background:var(--color-blanc);
	color: var(--color-noir);
	border: 1px solid var(--color-noir);
}
.btn-blanc:hover{
	color: var(--color-noir);
	border-color: var(--color-noir);
}
.btn-noir{
	background-color: var(--color-noir);
	color: var(--color-blanc);
	border: 1px solid var(--color-or);
}
.btn-noir:hover{
	color: var(--color-blanc);
	border-color: var(--color-or-alt);
}
.readm{
	position: relative;
	display: inline-block;
	border-bottom: 1px solid transparent;
	transition: border .2s ease-out;
}

.full-img img{
	object-fit: cover;
}
.rounded img,
.rounded{
	border-radius: 30px;
	/*overflow: hidden;*/
}
.sep{
	height: 1px;
	background-color: var(--color-gris-alt);
	margin: 6rem 0 5rem 0;
}
@media only screen and (min-width:992px){
	.sep{
		margin: 3rem 0 5rem 0;
	}
}
/*------------------------------------*\
    FONTS SIZES
\*------------------------------------*/
strong,
.txt-bold{
	font-weight: 700!important;
}
.txt-xlight{
	font-weight: 200!important;
}
.txt-light{
	font-weight: 300!important;
}
.txt-regular{
	font-weight: 400!important;
}
.txt-medium strong,
.txt-medium{
	font-weight: 500!important;
}
.txt-sbold{
	font-weight: 600!important;
}
.txt-xbold{
	font-weight: 900!important;
}
.txt-ital{
	font-style: italic;
}
.txt-xxs{
	font-size: var(--font-xxs);
	line-height: var(--lineh-xxs);
}
.txt-xs{
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
}
.txt-s{
	font-size: var(--font-s);
	line-height: var(--lineh-s);
}
.txt-m{
	font-size: var(--font-m);
	line-height: var(--lineh-m);
}
.txt-xm{
	font-size: var(--font-xm);
	line-height: var(--lineh-xm);
}
.txt-xxm{
	font-size: var(--font-xxm);
	line-height: var(--lineh-xxm);
}
.txt-l{
	font-size: var(--font-l);
	line-height: var(--lineh-l);
}
.txt-xl{
	font-size: var(--font-xl);
	line-height: var(--lineh-xl);
}
.txt-xxl{
	font-size: var(--font-xxl);
	line-height: var(--lineh-xxl);
}
.txt-blanc{
	color: var(--color-blanc);
}
.txt-noir{
	color: var(--color-noir);
}
.txt-gris{
	color: var(--color-gris);
}
.txt-rouge{
	color: var(--color-rouge);
}
.txt-blanc a,
.txt-blanc{
	color: var(--color-blanc);
}
.txt-up{
	text-transform: uppercase!important;
}
.txt-space{
	letter-spacing: 0.05rem;
}
.txt-xspace{
	letter-spacing: 0.1rem;
}
.txt-balance{
	text-wrap:balance;
}

/*------------------------------------*\
    BACKGROUNDS
\*------------------------------------*/
.bg-blanc{
	background-color: var(--color-blanc);
}
.bg-noir{
	background-color: var(--color-noir);
}
.bg-bordeaux{
	background-color: var(--color-bordeaux);
}
.bg-orange{
	background-color: var(--color-orange);
}
.bg-rouge{
	background-color: var(--color-rouge);
}
.bg-bleu{
	background-color: var(--color-bleu);
}
.bg-terre{
	background-color: var(--color-terre);
}
.b-bottom{
	border-bottom: 1px solid var(--color-gris);
}
.b-top{
	border-top: 1px solid var(--color-gris);
}

/*------------------------------------*\
    SPACES
\*------------------------------------*/
.pt15{
    padding-top: 0.5em;
}
.pt30{
    padding-top: 2em;
}
.pt50{
    padding-top: 2.5em;
}
.pt100{
    padding-top: 4em;
}
.pb0{
    padding-bottom: 0;
}
.pb15{
    padding-bottom: 0.5em;
}
.pb30{
    padding-bottom: 2em;
}
.pb50{
    padding-bottom: 2.5em;
}
.pb100{
    padding-bottom: 4em;
}
.mt5{
    margin-top: .5em;
}
.mt15{
    margin-top: 1em;
}
.mt30{
    margin-top: 2em;
}
.mt50{
    margin-top: 2.5em;
}
.mt100{
    margin-top: 4em;
}
.mb0{
	margin-bottom: 0;
}
.mb5{
	margin-bottom: .5em;
}
.mb15{
    margin-bottom: 1em;
}
.mb30{
    margin-bottom: 2em;
}
.mb50{
    margin-bottom: 2em;
}
.mb100{
    margin-bottom: 4em;
}
.pr15 {
	padding-right: 10px !important;
}
.pl15 {
	padding-left: 10px !important;
}
.pr30 {
	padding-right: 20px !important;
}
.pl30 {
	padding-left: 20px !important;
}
@media only screen and (min-width:992px){
	.pr0{
		padding-right: 0!important;
	}
	.pl0{
		padding-left: 0!important;
	}
	.mr0{
		margin-right: 0!important;
	}
	.ml0{
		margin-left: 0!important;
	}
	.plr0{
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.mlr0{
		margin-left: 0!important;
		margin-right: 0!important;
	}
	.pr15 {
		padding-right: 15px !important;
	  }
	.pl15 {
		padding-left: 15px !important;
	  }
	.pr30 {
		padding-right: 30px !important;
	  }
	.pl30 {
		padding-left: 30px !important;
	  }
	.pr50 {
		padding-right: 50px !important;
	  }
	.pl50 {
		padding-left: 50px !important;
	  }
	.plr5{
		padding-left: 5%!important;
		padding-right: 5%!important;
	}
	.plr6{
		padding-left: 6%!important;
		padding-right: 6%!important;
	}
	.plr8{
		padding-left: 8%!important;
		padding-right: 8%!important;
	}
	.plr10{
		padding-left: 10%! important;
		padding-right: 10%!important;
	}
	.plr12{
		padding-left: 12%! important;
		padding-right: 12%!important;
	}
	.plr15{
		padding-left: 15%! important;
		padding-right: 15%!important;
	}
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
.d-flex-between{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.d-flex-center{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.d-flex-h{
	display: flex;
	flex-direction: column;
	height: 100%;
}
.wp-block-embed__wrapper,
.embed-container{ 
    position: relative;
    padding-bottom: 56.25%;
	margin: 1.5rem 0 3rem 0;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}
.wp-block-embed__wrapper iframe,
.embed-container iframe,
.embed-container object,
.embed-container embed{ 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.single .item-content iframe{
	width: 100%;
}
.img-fit-alt,
.img-fit{
	border-radius: 45px;
}
.img-fit,
.img-fit img{
	overflow: hidden;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.container-ban img,
.img-fit-alt,
.img-fit-alt img{
	overflow: hidden;
	object-fit: cover;
	width: 100%;
	height: auto;
}
.img-fit-alt.img-carre img,
.img-fit.img-carre img{
	aspect-ratio: 1/1;
}
.img-fit.img-pano img{
	aspect-ratio: 1/1;
}
.img-fit.img-pano img{
	aspect-ratio: 16/7;
}
.container-ban img,
.img-fit.img-wide img{
	aspect-ratio: 16/5;
}
.img-fit.img-ban img{
	aspect-ratio: 16/7;
}
.img-fit.img-rect img{
	aspect-ratio: 5/4;
}
.img-fit.img-portrait img{
	aspect-ratio: 4/5;
}
.wp-block-image figure figcaption{
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
}
.has-background{
	padding: 30px;
}
.mejs-audio{
	margin-bottom: 1em;
}
.stick{
	position: sticky;
	top: 20%;
}

/* Bouton "Demande de devis" (2e exemplaire) — apparition au scroll */
.btn-float--scroll{
	position: fixed;
	right: 4rem;
	bottom: 4rem;
	top: auto;
	left: auto;
	z-index: 15; /* sous le header */
	display: block;

	opacity: 0;
	transform: translateY(140%);
	transition: transform 260ms ease, opacity 260ms ease;
	will-change: transform, opacity;

	pointer-events: none;
}
.btn-float--scroll.is-visible{
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

@media only screen and (max-width: 768px) {
	.btn-float--scroll{
		right: 2rem;
		bottom: 2rem;
	}
}

/*------------------------------------*\
   FORMS
\*------------------------------------*/
::placeholder{
	opacity: 0.9!important;
}
.wpcf7-form label{
	display: block;
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
	text-transform: uppercase;
	color: var(--color-noir);
	margin-bottom: 0.5rem;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border: none;
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
}
.wpcf7 form.invalid .wpcf7-response-output {
	color: #dc3232;
	border: none!important;
}
.wpcf7 .wpcf7-response-output {
	border: none!important;
}
.wpcf7-not-valid-tip {
	font-size: var(--font-xxs);
	line-height: var(--lineh-xxs);
  }
  .wpcf7 form .wpcf7-response-output {
	text-align: center;
	margin: 1rem;
  }
/* Amélioration accessibilité placeholders */
input:required{
    box-shadow:none;
}
input:invalid{
    border-bottom-color: var(--color-violet);
}
.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
select,
textarea,
input[type="password"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="text"],
input[type="email"]{
    width: 100%;
    border: none;
	background: var(--color-beige);
	font-size: var(--font-xs);
	margin: 0.5rem 0 1rem 0;
	padding: 1.2rem 2rem;
	border-radius: 1.5rem;
	border: 2px solid var(--color-noir);
	width: 100%;
}
textarea:focus{
	outline: none;
}
.wpcf7-form select{
	padding-bottom: 5px;
}
textarea{
	height: 200px;
	resize: none;
}
.wpcf7-form .wpcf7-submit{
	position: relative;
	display: inline-block;
	padding: 1rem 3rem;
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	font-weight: 700;
	overflow: hidden;
	text-decoration: none!important;
	transition: all 0.3s ease-in-out;
	border-radius: 3rem;
	border: none;
	color: var(--color-blanc);
	min-width: 20rem;
	text-align: center;
	background: var(--color-bordeaux);
}
.wpcf7-form .form-btn{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}
/*------------------------------------*\
   TABLE
\*------------------------------------*/
table{
	margin-top: 1.5em;
	font-size: var(--font-s);
	line-height: 1.5rem;
}
table thead{
	text-transform: uppercase;
	font-size: var(--font-xs);
	line-height: 1.5rem;
	font-weight: 600;
	color: var(--color-grisf);
}
table tr{
	border-top: 1px dashed var(--color-noir);
	border-bottom: 1px dashed var(--color-noir);
}
table tr td:first-child{
	text-align: left;
}
table td{
	padding: 10px;
	text-align: right;
}
/*------------------------------------*\
    LANDING
\*------------------------------------*/
.landing {
	position: relative;
	overflow: hidden;
}
.splide-home {
	height: 100vh;
}
.splide-home .splide__track,
.splide-home .splide__list,
.splide-home .splide__slide {
	height: 100%;
}
.slide-home__inner {
	position: relative;
	height: 100%;
	display: flex;
	align-items: flex-end;
	padding: 10rem;
	overflow: hidden;
}
.slide-home__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}
.slide-home__inner::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.15);
	pointer-events: none;
}
.slide-home__titre {
	position: relative;
	z-index: 2;
	margin: 0;
	padding-left: 15px;
	color: var(--color-blanc);
	font-size: var(--font-xxl);
	line-height: var(--lineh-xxl);
	font-weight: 400;
	text-transform: uppercase;
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
}

/* Pagination dots — style global */
.splide__pagination__page {
	height: 15px;
	width: 15px;
	margin: 8px;
	transform: scale(1);
	background: none;
	opacity: 1;
	transition: background 0.3s ease;
	border: 1px solid var(--color-blanc);
}
.splide__pagination__page.is-active {
	background: var(--color-blanc);
	border-color: var(--color-blanc);
	transform: scale(1);
}
.splide-galerie{
	border-radius: 50px;
	overflow: hidden;
}
/* Override blanc pour le slider home (fond image sombre) */
.splide-home .splide__pagination {
	bottom: 4rem;
}
/* Responsive */
@media only screen and (max-width: 736px) {
	.splide-home {
		height: 60vh;
	}
	.slide-home__inner {
		padding: 0 2rem 5rem;
	}
	.slide-home__titre {
		position: relative;
		bottom: 6rem;
	}
}

/*------------------------------------*\
    BATEAUX GRID
\*------------------------------------*/
.section-bateaux {
	padding: 4rem 0;
}
.bateaux-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}
.bateau-card {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 5 / 6;
}
.bateau-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.4s ease;
}
.bateau-card:hover .bateau-card__img {
	transform: scale(1.05);
}
.bateau-card::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 50%);
	pointer-events: none;
}
.bateau-card__titre {
	position: absolute;
	bottom: 3rem;
	z-index: 2;
	margin: 0;
	padding: 0 2rem;
	color: var(--color-blanc);
	font-size: var(--font-s);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
@media only screen and (max-width: 991px) {
	.bateaux-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 575px) {
	.bateaux-grid {
		grid-template-columns: 1fr;
	}
}

/*------------------------------------*\
    CARTE
\*------------------------------------*/
.section-carte {
	padding: 5rem 0;
	overflow: hidden;
}
.carte-wrapper {
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 0 8% 0 13%;
	position: relative;
}

/* Ligne de connexion pin → bulle */
.carte-line {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
	z-index: 1;
}
.carte-line line {
	stroke: #999;
	stroke-width: 1;
	stroke-dasharray: 4 4;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.carte-line.is-visible line {
	opacity: 1;
}
.carte-map {
	flex: 0 0 55%;
	position: relative;
}
.carte-svg-container {
	position: relative;
	width: 100%;
}
.carte-svg {
	width: 100%;
	height: auto;
	display: block;
}

/* Stockage desc WYSIWYG hors DOM visible */
.carte-pin-data {
	display: none;
}

/* Pins */
.carte-pin {
	position: absolute;
	top: var(--pin-y);
	left: var(--pin-x);
	transform: translate(-50%, -50%);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: none;
	padding: 0;
	cursor: pointer;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	z-index: 2;
	display: block;
	-webkit-user-select: none;
	user-select: none;
}
.carte-pin:hover,
.carte-pin.is-active {
	transform: translate(-50%, -50%) scale(1.15);
	box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
.carte-pin img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Info panel */
.carte-info {
	flex: 1;
	opacity: 0;
	pointer-events: none;
	transform: translateX(10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	position: relative;
	z-index: 2;
	padding-left: 3rem;
}
.carte-info.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
}
.carte-info__inner {
	position: relative;
	max-width: 360px;
	background: var(--color-beige-alt);
	border: 1px solid var(--color-bordeaux);
	border-radius: 16px;
	padding: 2rem 2.5rem;
	box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}
/*
.carte-info__inner::before {
	content: '';
	position: absolute;
	left: -9px;
	bottom: 2rem;
	width: 0;
	height: 0;
	border-top: 9px solid transparent;
	border-bottom: 0 solid transparent;
	border-right: 9px solid var(--color-bordeaux);
}
*/
.carte-info__head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.carte-info__icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	background: #eee;
}
.carte-info__icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.carte-info__nom {
	margin: 0;
	font-size: var(--font-s);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--color-noir);
}
.carte-info__adresse {
	margin: 0 0 0.75rem;
	font-size: var(--font-xs);
	line-height: 1.5;
	color: var(--color-noir);
}
.carte-info__desc {
	margin: 0;
	font-size: var(--font-xs);
	color: var(--color-noir);
}
.carte-info__desc p {
	margin: 0 0 0.5em;
}
.carte-info__desc p:last-child {
	margin-bottom: 0;
}
.carte-info__desc a {
	color: inherit;
	text-decoration: underline;
}

/* Responsive */
@media only screen and (max-width: 991px) {
	.carte-wrapper {
		flex-direction: column;
		padding: 0 1.5rem;
	}
	.carte-map {
		flex: none;
		width: 100%;
	}
	.carte-info {
		width: 100%;
	}
	.carte-info__inner::before {
		display: none;
	}
}
/*------------------------------------*\
    PARTENAIRES
\*------------------------------------*/
.partenaires-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3rem;
}
.partenaire-card {
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 1/1;
	border-radius: 15px;
}
.partenaire-card img {
	width: 100%;
	height: 100%;
	max-width: 70px;
	object-fit: cover;
}

/*------------------------------------*\
    SECTIONS
\*------------------------------------*/
.section-cols .col-content{
	margin: -50px 0 0 8%;
}
@media only screen and (min-width:992px){
	.section-cols .col-content{
		margin: -50px 0 0 15%;
	}
}

/*------------------------------------*\
    SECTION TXT IMG
\*------------------------------------*/
.items-associes{
	display: flex;
	gap: 2rem;
	justify-content: space-between;
}
.items-associes img{
	max-width: 350px;
}

@media only screen and (max-width:768px){
	.section-img-txt .col-md-5.order-2{
		order: 0!important;
	}
	.items-associes img{
		max-width: 100%;
	}
}
/*------------------------------------*\
    SECTION BLOG
\*------------------------------------*/
.title-center{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	color: var(--color-blanc);
	font-size: var(--font-xxl);
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
}

/* Navigation catégories blog */
.cat-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.cat-nav__item {
	display: inline-block;
	padding: 0.5rem 1.5rem;
	border: 1px solid currentColor;
	text-transform: uppercase;
	font-size: var(--font-xs);
	letter-spacing: 0.05em;
	text-decoration: none;
	color: var(--color-noir);
	transition: background 0.2s ease, color 0.2s ease;
	border-radius: 3rem;
	font-weight: 700;
}
.cat-nav__item:hover,
.cat-nav__item.is-active {
	background: var(--color-bordeaux);
	color: var(--color-blanc);
}

/*------------------------------------*\
    PAGE
\*------------------------------------*/
.item-entete{
	position: relative;
	top: -10rem;
	z-index: 1;
	margin-bottom: -10rem;
}
.section-txt h2{
	font-size: var(--font-m);
	line-height: var(--lineh-m);
	font-weight: 400;
	margin-bottom: 1.5rem;
}
.section-txt h3{
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
	font-weight: 700;
	margin: 3rem 0 1rem 0;
	text-transform: uppercase;
}

/*------------------------------------*\
    FAQ & ACCORDEON
\*------------------------------------*/
.faq-list-items{
	position: relative;
}
.accordion {
	position: relative;
	cursor: pointer;
	padding: 1rem 50px 1rem 3rem;
	outline: none;
	transition: 0.3s ease;
	background-color: var(--color-beige);
	border-radius: 30px;
	color: var(--color-noir);
	border: 1px solid var(--color-noir);
}
.accordion.active{
	outline: none;
}
.panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-in-out;
}
.accordion::before {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 1em;
	height: 1em;
	transform: translateY(-55%) translateX(0) rotate(0deg);
	transition: transform 0.3s ease-in-out;
	font-size: var(--font-l);
	line-height: 1;
	text-align: center;
}
.accordion.active::before {
	transform: translateY(-40%) translateX(0) rotate(180deg);
}

/* Accordion carte lieu */
.lieu-accordion {
	width: 100%;
	border-radius: 30px;
	padding: 1.5rem 3rem;
	overflow: hidden;
}
.section-lieu .lieu-accordion.bg-bordeaux a,
.section-lieu .lieu-accordion.bg-bordeaux,
.section-lieu .lieu-accordion.bg-bordeaux .lieu-accordion__btn,
.section-lieu .lieu-accordion.bg-bordeaux .lieu-accordion__btn:focus,
.section-lieu .lieu-accordion.bg-bordeaux .lieu-accordion__btn:hover,
.section-lieu .lieu-accordion.bg-bordeaux .lieu-accordion__btn::before,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn.active::before,
.section-lieu .lieu-accordion.bg-terre a,
.section-lieu .lieu-accordion.bg-terre,
.section-lieu .lieu-accordion.bg-terre .lieu-accordion__btn,
.section-lieu .lieu-accordion.bg-terre .lieu-accordion__btn:focus,
.section-lieu .lieu-accordion.bg-terre .lieu-accordion__btn:hover,
.section-lieu .lieu-accordion.bg-terre .lieu-accordion__btn::before,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn.active::before,
.section-lieu .lieu-accordion.bg-rouge a,
.section-lieu .lieu-accordion.bg-rouge,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn:focus,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn:hover,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn::before,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn.active::before{
	color: var(--color-blanc)!important;
}
.section-lieu .lieu-accordion.bg-bordeaux .lieu-accordion__btn,
.section-lieu .lieu-accordion.bg-terre .lieu-accordion__btn,
.section-lieu .lieu-accordion.bg-rouge .lieu-accordion__btn{
	border-color: var(--color-blanc)!important;
}
.lieu-accordion__btn {
	width: 100%;
	text-align: left;
	background: transparent;
	border: none;
	border-top: 1px solid var(--color-noir);
	border-radius: 0;
	padding: 1rem 2.5rem 1rem 0;
	font-size: var(--font-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-noir);
	cursor: pointer;
	transition: opacity 0.2s ease;
}
a.lieu-accordion__btn.lieu-accordion__btn--link{
	border-top: 1px solid var(--color-noir);
}
.lieu-accordion__btn:focus,
.lieu-accordion__btn:hover {
	opacity: 0.7;
	outline: none;
}
.lieu-accordion__btn::before {
	content: '+';
	right: 0;
	font-size: var(--font-m);
	font-weight: 300;
	transform: translateY(-50%);
	transition: content 0s, opacity 0.2s ease;
}
.lieu-accordion__btn.active::before {
	content: '−';
}
.lieu-accordion__btn--link {
	text-decoration: none;
	display: block;
	box-sizing: border-box;
}
.lieu-accordion__btn--link::before {
	display: none;
}
.lieu-accordion__btn:first-of-type {
	border-top: none;
}
.lieu-accordion__btn:last-of-type {
	border-bottom: none;
}
.lieu-accordion__content {
	padding-bottom: 2rem;
	font-size: var(--font-xs);
}
@media (max-width: 768px) {
	.page-template-page-lieu .section-img-txt figure{
		display: none;
	}
	.page-template-page-lieu .section-galerie .img-pano img {
		aspect-ratio: 4/5!important;
	}
}
@media (max-width: 991px) {
	.faq-list-items::before {
		font-size: 4em;
		left: 30px;
		top: -20px;
	}
	.faq-list-items h2 {
		padding-left: 8rem;
	}
}

/* Grille autres lieux */
.autres-lieux-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 2rem;
}
.lieu-vignette {
	display: flex;
	flex-direction: column;
	text-decoration: none;
}
.lieu-vignette .img-fit img {
	transition: transform 0.4s ease;
}
.lieu-vignette:hover .img-fit img {
	transform: scale(1.05);
	transition: transform 0.4s ease;
}
.lieu-vignette__placeholder {
	width: 100%;
	height: 100%;
	background: var(--color-beige);
}
@media (max-width: 991px) {
	.autres-lieux-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 576px) {
	.autres-lieux-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/*------------------------------------*\
    ARTICLES
\*------------------------------------*/
.single .section-txt h2,
.article-content h2,
.aside-content h4{
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
	font-weight: 700;
	margin: 3rem 0 1rem 0;
	text-transform: uppercase;
	color: var(--color-or);
}
.aside-content h3{
	font-size: var(--font-xm);
	line-height: var(--lineh-xm);
	font-weight: 700;
	margin: 1rem 0 0.5rem 0;
}
.article-content img{
	margin: 1em 0;
}
.article-content figure{
	width: 100%!important;
	max-width: 100%!important;
	height: auto!important;
}
.item-tag a{
	display: inline-block;
	margin-right: 10px;
	color: var(--color-gris);
	background-color: var(--color-blanc);
	padding: 3px 15px;
	border-radius: 20px;
	border: 1px solid var(--color-blanc);
	transition: all 0.3s ease;
}
.item-tag a:hover{
	border: 1px solid var(--color-gris);
	transition: all 0.3s ease;
}
.wp-caption,
.alignright,
.alignleft,
.alignnone{
	margin: 1rem 0;
}
.wp-caption .wp-caption-text,
.gallery-caption{
	margin: 1rem 0;
	padding: 0;
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
	color: var(--color-gris);
	text-wrap:balance;
	text-transform: uppercase;
	font-weight: 700;
}
blockquote{
	/*float: left;*/
	margin: 1em 1em 1em 0;
	/*max-width: 50%;*/
}


/*------------------------------------*\
    EQUIPE
\*------------------------------------*/
.equipe-membre figure.membre-image-wrapper {
	position: relative;
  }
  .equipe-membre figure::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	/*background-color: var(--color-blanc);*/
	opacity: 0.8;
  }
  .membre-image-wrapper img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 5rem;
  }
  .membre-image-default {
	position: relative;
	z-index: 2;
  }
  .membre-image-hover {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	background-color: var(--color-blanc);
  }
  .membre-image-wrapper:hover .membre-image-hover {
	opacity: 1;
	z-index: 3;
  }
  .equipe-membre .membre-image-wrapper:hover figure::before {
	z-index: 1;
	opacity: 0;
  }
  .equipe-membre .membre-image-wrapper:hover .membre-image-default{
	background-color: var(--color-blanc);
  }

/*------------------------------------*\
    FOOTER
\*------------------------------------*/
.footer-right{
	display: flex;
	align-items: center;
	gap: 15px;
}
.footer a{
	font-size: var(--font-xs);
	color: var(--color-blanc);
}
.footer a:hover{
	text-decoration: underline;
}
.footer-menu ul{
	list-style: none;
	margin: 0.5rem 0 0 0;
	padding: 0;
}
.footer-menu ul li{
	list-style: none;
	margin-bottom: 0.5rem;
}
.footer-newsletter-form{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 1rem;
}
.footer-newsletter-form input[type="email"]{
	flex: 1 1 230px;
	min-height: 42px;
	padding: 0 12px;
	border: none;
	background-color: var(--color-blanc);
	color: var(--color-noir);
	font-size: var(--font-xs);
}
.footer-newsletter-form input[type="email"]::placeholder{
}
.footer-newsletter-form input[type="email"]:focus{
	outline: 2px solid var(--color-or);
	outline-offset: 1px;
}
.footer-newsletter-form button{
	min-height: 42px;
	padding: 0 16px;
	color: var(--color-noir);
	background-color: var(--color-blanc);
	border: 1px solid var(--color-noir);
	border-radius: 30px;
	font-size: var(--font-xs);
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.3s ease;
}
.footer-newsletter-form button:hover{
	opacity: 0.85;
}
.footer-newsletter-form.is-loading button,
.footer-newsletter-form button:disabled{
	opacity: 0.6;
	cursor: not-allowed;
}
.footer-newsletter-feedback{
	margin-top: 0.5rem;
	font-size: var(--font-xs);
	line-height: 1.4;
}
.footer-newsletter-feedback.is-success{
	color: #d8f6de;
}
.footer-newsletter-feedback.is-error{
	color: #ffd5d5;
}
.screen-reader-text{
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.footer-social{
	display: flex;
	justify-content: flex-start;
	gap: 40px;
}
.footer-social a{
	font-size: 3rem;
}
.footer-social a:hover{
	text-decoration: none;
	opacity: 0.8;
	transition: all 0.3s ease;
}
@media only screen and (min-width:992px){
	.footer-social{
		display: flex;
		justify-content: flex-start;
	}
	.footer-social{
		justify-content: center;
	}
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (max-width:480px){
}

@media only screen and (max-width:768px){
	.footer-newsletter-form{
		justify-content: center;
	}
	.footer-newsletter-form input[type="email"],
	.footer-newsletter-form button{
		width: 100%;
	}
	.full-m{
		padding: 0!important;
	}
	.center-mobil{
		text-align: center!important;
	}
	.hidden-sm{
		display: none;
	}
    .mt50{
        margin-top: 1.5em;
    }
	.mb30{
		margin-bottom: 1em;
	}
    .pt30{
        padding-top: 1em;
    }
    .mb50{
        margin-bottom: 1.5em;
    }
	.mt100{
		margin-top: 2.5em;
	}
	.mb100{
		margin-bottom: 2.5em;
	}
    .pt50{
        padding-top: 1.5em;
    }
    .pb30{
        padding-bottom: 1em;
    }
    .pb50{
        padding-bottom: 1.5em;
    }
	.pb100{
		padding-bottom: 2em;
	}
    .pt100{
        padding-top: 2em;
    }
	.mt0-mobil{
		margin-top: 0;
	}
	.mb0-mobil{
		margin-bottom: 0;
	}
	.pt0-mobil{
		padding-top: 0;
	}
	.pb0-mobil{
		padding-bottom: 0;
	}
	.pl0-mobil{
		padding-left: 0!important;
	}
	.pr0-mobil{
		padding-right: 0!important;
	}
	.pb100-mobil{
		padding-bottom: 5rem;
	}
    .pt100-mobil{
        padding-top: 5rem;
    }
	.pb50-mobil{
		padding-bottom: 1.5rem;
	}
    .pt50-mobil{
        padding-top: 1.5rem;
    }
	.mb50-mobil{
		margin-bottom: 2.5rem;
	}
	.mt50-mobil{
		margin-top: 2.5rem;
	} 
	.mb100-mobil{
		margin-bottom: 5rem;
	}
	.mt100-mobil{
		margin-top: 5rem;
	}
	.pr5-mobil{
		padding-right: 15px!important;
	}
	.pl5-mobil{
		padding-left: 15px!important;
	}
	.pr50-mobil{
		padding-right: 30px!important;
	}
	.pl50-mobil{
		padding-left: 30px!important;
	}
}
@media only screen and (max-width:992px){
	.plr0-mobil{
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.plr1-mobil{
		padding-left: 15px!important;
		padding-right: 15px!important;
	}
	.plr5-mobil{
		padding-left: 30px!important;
		padding-right: 30px!important;
	}
	main .container:first-child{
		padding-top: 0!important;
		margin-top: 0!important;
	}
}
@media only screen and (min-width:320px){
	section{
		scroll-margin-top: 5em;
	}
	.scroll-margin{
		scroll-margin-top: 10em;
	}
	/*
	.section-page section:last-child{
		padding-bottom: 3em;
	}
	*/
}
@media only screen and (min-width:769px){
	.d-flex-center{
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}


/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print{
	*{
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited{
		text-decoration:underline;
	}
	a[href]:after{
		content:" (" attr(href) ")";
	}
	abbr[title]:after{
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after{
		content:"";
	}
	pre,blockquote{
		page-break-inside:avoid;
	}
	thead{
		display:table-header-group;
	}
	tr,img{
		page-break-inside:avoid;
	}
	img{
		max-width:100% !important;
	}
	@page{
		margin:0.5cm;
	}
	p,
	h2,
	h3{
		orphans:3;
		widows:3;
	}
	h2,
	h3{
		page-break-after:avoid;
	}
}

