/*
	Theme Name: ECOPAE
	Theme URI: 
	Description: 
	Version: 2.0
	Author: WD 2026
	Author URI: 
	Text Domain: ecopae

*/

:root {
	--color-bleu: rgba(0, 80, 149, 1);
	--color-vert: rgba(37, 151, 97, 1);
	--color-dark: rgba(11, 14, 34, 1);

	--color-bleu-clair: rgba(246, 252, 255, 1);
	--color-vert-clair: rgba(0, 158, 107, 0.1);
	--color-rouge: rgba(253, 32, 17, 1);
	--color-rouge-clair: rgba(196, 64, 64, 0.12);
	
	--color-blanc: rgba(255, 255, 255, 1);
	--color-noir: rgba(0, 0, 0, 1);

	--color-gris: rgba(249, 247, 249, 1);
	--color-gris-alt: rgba(91, 91, 91, 0.8);
	--color-gris-light: rgba(0, 0, 0, 0.3);

	--font-xs: 1.4rem;
	--lineh-xs: 2rem;

	--font-s: 1.6rem;
	--lineh-s: 2.2rem;

	--font-m: 2rem;
	--lineh-m: 2.8rem;

	--font-xm: 2.7rem;
	--lineh-xm: 3.8rem;

	--font-l: 3.6rem;
	--lineh-l: 4rem;

	--font-xl: 4.8rem;
	--lineh-xl: 5.4rem;

	--font-xxl: 6rem;
	--lineh-xxl: 7rem;

}

/*------------------------------------*\
    MAIN
\*------------------------------------*/

html{
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body{
	position: relative;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-optical-sizing: auto;
    font-size: var(--font-m);
    line-height: var(--lineh-m);
    font-style: normal;
    font-weight: 400;
	color: var(--color-noir);
}
p{
	margin-bottom: 1.5rem;
}
img{
	max-width:100%;
	vertical-align:bottom;
	height: auto;
}
a{
	color: var(--color-noir);
	text-decoration:none;
}
.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;
}
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);
}
ul{
	margin: 1em 0.5em;
	padding-left: 0.5em;
}
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;
}
*/
.inline-btn{
	 gap: 30px;
}
.btn{
	position: relative;
	display: inline-block;
	padding: 0.8rem 3rem;
	margin: 1rem;
	font-size: var(--font-s);
	line-height: var(--lineh-s);
	font-weight: 700;
	border: 2px solid var(--color-blanc);
	overflow: hidden;
	text-decoration: none!important;
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
	border-radius: 3rem;
	color: var(--color-blanc);
}
.btn-large{
	width: 100%;
}
.btn:hover{
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	background-color: var(--color-blanc);
	color: var(--color-sombre);
}
.btn-vert{
	background-color: var(--color-vert);
	border-color: var(--color-vert);
	color: var(--color-blanc);
}
.btn-vert:hover{
	background-color: var(--color-blanc);
	color: var(--color-vert);
	border-color: var(--color-vert);
}
.btn-bleu{
	background-color: var(--color-bleu);
	border-color: var(--color-bleu);
	color: var(--color-blanc);
}
.btn-bleu:hover{
	background-color: var(--color-blanc);
	color: var(--color-bleu);
	border-color: var(--color-bleu);
}
.btn-blanc{
	background: var(--color-blanc);
	color: var(--color-dark);
}
.btn-blanc:hover{
	background-color: var(--color-dark);
	color: var(--color-blanc);
}
.full-img img{
	object-fit: cover;
}
.rounded img,
.rounded{
	border-radius: 1.5rem;
	/*overflow: hidden;*/
}
/*------------------------------------*\
    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: 800!important;
}
.txt-ital{
	font-style: italic;
}
.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-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-noir{
	color: var(--color-noir);
}
.txt-noir-alt{
	color: var(--color-noir-alt);
}
.txt-orange{
	color: var(--color-orange);
}
.txt-bleu{
	color: var(--color-bleu);
}
.txt-vert{
	color: var(--color-vert);
}
.txt-blanc a,
.txt-blanc{
	color: var(--color-blanc);
}
.txt-gris{
	color: var(--color-gris);
}
.txt-gris-alt{
	color: var(--color-gris-alt);
}
.txt-up{
	text-transform: uppercase!important;
}
.txt-space{
	letter-spacing: 0.05rem;
}
.txt-xspace{
	letter-spacing: 0.1rem;
}
.txt-balance{
	text-wrap:balance;
}
.txt-extend{
	font-variation-settings: "wdth" 150, "wght" 400;
}
.txt-rounded{
	display: inline-block;
	border-radius: 3rem;
	padding: 1rem 2rem;
	background-color: rgba(255, 255, 255, 0.2);
	letter-spacing: 0.1rem;
	text-transform: uppercase;
}
/*------------------------------------*\
    BACKGROUNDS
\*------------------------------------*/
.bg-blanc{
	background-color: var(--color-blanc);
}
.bg-noir{
	background-color: var(--color-noir);
}
.bg-noir-alt{
	background-color: var(--color-noir-alt);
}
.bg-dark{
	background-color: var(--color-dark);
}
.bg-bleu{
	background-color: var(--color-bleu);
}
.bg-bleu-clair{
	background-color: var(--color-bleu-clair);
}
.bg-bleu-pale{
	background-color: var(--color-bleu-pale);
}
.bg-gris{
	background-color: var(--color-gris);
}
.bg-vert{
	background-color: var(--color-vert);
}
.bg-vert-clair{
	background-color: var(--color-vert-clair);
}
.bg-rouge-clair{
	background-color: var(--color-rouge-clair);
}
.bg-header{
	background: var(--gradient-entete);
}
.b-bottom{
	border-bottom: 1px solid var(--color-gris);
}
.b-bottom-gris-alt{
	border-bottom: 1px solid var(--color-gris-alt);
}
.b-top{
	border-top: 1px solid var(--color-gris);
}
.b-bottom-blanc{
	border-bottom: 1px solid var(--color-blanc);
}
.b-top-blanc{
	border-top: 1px solid var(--color-blanc);
}

/*------------------------------------*\
    SPACES
\*------------------------------------*/
.pt15{
    padding-top: 1rem;
}
.pt30{
    padding-top: 2rem;
}
.pt50{
    padding-top: 4rem;
}
.pt100{
    padding-top: 6rem;
}
.pb0{
    padding-bottom: 0;
}
.pb15{
    padding-bottom: 1rem;
}
.pb30{
    padding-bottom: 2rem;
}
.pb50{
    padding-bottom: 4rem;
}
.pb100{
    padding-bottom: 6rem;
}
.mt5{
    margin-top: 1rem;
}
.mt15{
    margin-top: 1rem;
}
.mt30{
    margin-top: 2rem;
}
.mt50{
    margin-top: 4rem;
}
.mt100{
    margin-top: 6rem;
}
.mb0{
	margin-bottom: 0;
}
.mb5{
	margin-bottom: 1rem;
}
.mb15{
    margin-bottom: 1rem;
}
.mb30{
    margin-bottom: 2rem;
}
.mb50{
    margin-bottom: 4rem;
}
.mb100{
    margin-bottom: 6rem;
}
@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: 1.5em !important;
	  }
	.pl15 {
		padding-left: 1.5em !important;
	  }
	.pr30 {
		padding-right: 2.5em !important;
	  }
	.pl30 {
		padding-left: 2.5em !important;
	  }
	.pr50 {
		padding-right: 5em !important;
	  }
	.pl50 {
		padding-left: 5em !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;
	}
}
@media only screen and (max-width:991px){
	.plr5-mobil{
		padding-left: 30px!important;
		padding-right: 30px!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,
.img-fit img{
	overflow: hidden;
	object-fit: cover;
	width: 100%;
	/*height: 100%;*/
}
.img-fit.img-pano img{
	aspect-ratio: 16/9;
}
.img-fit.img-wide img{
	aspect-ratio: 16/7;
}
.wp-block-image figure figcaption{
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
}
.has-background{
	padding: 30px;
}
.mejs-audio{
	margin-bottom: 1em;
}
.article-content img{
	margin: 1em 0;
}
.item-txt h2{
	font-size: var(--font-xl);
	line-height: var(--lineh-xl);
	font-weight: 800;
	margin-bottom: 1.5rem;
}
/*------------------------------------*\
   FORMS
\*------------------------------------*/
::placeholder{
	opacity: 0.9!important;
}
/* 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;
}
.wpcf7-form-control-wrap{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-wrap: wrap;
}
/* Labels visuellement cachés pour accessibilité */
.wpcf7-form label:not(.wpcf7-acceptance label):not(.wpcf7-list-item-label) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.wpcf7-form .wpcf7-spinner{
	position: absolute;
	right: 10px;
	top: 10px;
	margin: 0 5px;
	background: none!important;
 }
.wpcf7-form .wpcf7-spinner::before {
	background-color: var(--color-noir);
 }
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-blanc);
	font-size: var(--font-xs);
	margin: 0.5rem 0 1rem 0;
	padding: 0.9rem 2rem;
	border-radius: 3rem;
	border: 1px solid var(--color-blanc);
}
textarea:focus,
select.filter-select option:focus,
select.filter-select:focus{
	border: none;
	outline: none;
}
select.filter-select{
	display: inline-block;
	width: auto;
	padding: 1rem;
	color: var(--color-bleu);
}
select.filter-select option:hover,
select.filter-select option{
	color: var(--color-bleu)!important;
}
.wpcf7-form select{
	padding-bottom: 5px;
}
textarea{
	height: 200px;
	resize: none;
}
textarea:focus{
	border: none;
}
.wpcf7-acceptance{
	font-size: 1.2rem;
	line-height: 1.6rem;
	margin-bottom: 1.5rem;
}
.wpcf7-acceptance label{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 400;
}
.wpcf7-acceptance input[type="checkbox"]{
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	cursor: pointer;
}
.wpcf7-acceptance .wpcf7-list-item-label{
	position: relative;
	padding-left: 35px;
}
.wpcf7-acceptance .wpcf7-list-item-label::before{
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	min-width: 20px;
	border: 2px solid var(--color-blanc);
	border-radius: 50%;
	background-color: var(--color-blanc);
	position: absolute;
	left: 0;
	top: 2px;
	transition: all 0.3s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before,
.wpcf7-acceptance label:has(input[type="checkbox"]:checked) .wpcf7-list-item-label::before{
	background-color: var(--color-blanc);
	border-color: var(--color-blanc);
}
.wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after,
.wpcf7-acceptance label:has(input[type="checkbox"]:checked) .wpcf7-list-item-label::after{
	content: '●';
	position: absolute;
	left: 0px;
	top: 1px;
	color: var(--color-noir);
	font-size: 30px;
	font-weight: bold;
	line-height: 20px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
}
.wpcf7-acceptance label{
	position: relative;
}
.wpcf7 input[type="submit"]{
	position: relative;
	display: inline-block;
	padding: 1.3rem 6rem;
	font-size: var(--font-s);
	line-height: var(--lineh-s);
	font-weight: 700;
	border: 1px solid var(--color-noir);
	border-bottom: 5px solid var(--color-noir);
	overflow: hidden;
	text-decoration: none!important;
	transition: all 0.3s ease-in-out;
	border-radius: 3rem;
}
.wpcf7 input[type="submit"]:hover{
	transition: all 0.3s ease-in-out;
}
.wpcf7 form .wpcf7-response-output{
    margin: .5em 0;
    padding: 0;
    border: none;
	color: var(--color-blanc);
	text-align: left;
	font-weight: 400;
	font-size: var(--font-xs);
	line-height: var(--lineh-xs);
}
.wpcf7-not-valid-tip{
	color: red;
	font-size: 1rem;
	position: absolute;
	left: 2rem;
	bottom: 1.2rem;
	line-height: 1rem;
}
div.wpcf7 .ajax-loader{
    display: none!important;
}
form.is-invalid > .acf-error-message{
	visibility: visible;
	display: block;
	position: relative;
	padding: 10px 0;
}
.wpcf7-form .row{
	opacity: 1;
	height: 100%;
}
.wpcf7-form.sent .row{
	opacity: 0;
	height: 0;
	transition: all 0.8s ease-in;
}
.wpcf7-list-item {
	margin: 0;
}
.wpcf7-form.invalid input[type="email"],
.wpcf7-form.invalid input[type="text"]{
	border-color: red;
}
/*------------------------------------*\
   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;
}

/*------------------------------------*\
    PAGINATION
\*------------------------------------*/
.pagination{
	display: flex;
	justify-content: center;
}
.pagination .page-numbers{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pagination .page-numbers li{
	margin: 0;
	padding: 0;
	list-style: none;
}
.pagination .page-numbers a,
.pagination .page-numbers span{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 4.8rem;
	height: 4.8rem;
	padding: 0;
	border-radius: 1.2rem;
	border: 1px solid rgba(42, 46, 69, 0.15);
	background-color: var(--color-blanc);
	color: var(--color-noir-alt);
	font-size: var(--font-s);
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: color 200ms ease, border-color 200ms ease, background-color 200ms ease;
}
.pagination .page-numbers a:hover{
	border-color: var(--color-bleu);
	color: var(--color-bleu);
}
.pagination .page-numbers .current{
	background-color: var(--color-bleu);
	border-color: var(--color-bleu);
	color: var(--color-blanc);
}
.pagination .page-numbers .dots{
	min-width: auto;
	height: auto;
	padding: 0 0.5rem;
	border: none;
	background: transparent;
	color: var(--color-noir-alt);
}

/*------------------------------------*\
    PAGE
\*------------------------------------*/

/*------------------------------------*\
    BANDEAU EN-TÊTE PAGE
\*------------------------------------*/
.page-entete{
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 4.5rem 0;
	color: var(--color-blanc);
}
.page-entete::before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: url("img/entete-bg.svg");
	background-repeat: no-repeat;
	background-position: 50% 65%;
	background-size: cover;
	pointer-events: none;
	mix-blend-mode: overlay;
}
.page-entete .container{
	position: relative;
	z-index: 1;
}
.page-entete__inner{
	display: flex;
	align-items: stretch;
	gap: 4rem;
	min-height: 12rem;
}
.page-entete__title-col{
	flex: 0 1 35%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.page-entete:not(.page-entete--has-txt) .page-entete__title-col{
	flex: 1 1 auto;
	max-width: 64rem;
}
.page-entete__title{
	position: relative;
	margin: 0;
	padding-bottom: 2.4rem;
	font-size: var(--font-l);
	line-height: var(--lineh-l);
	font-weight: 400;
	color: var(--color-blanc);
}
.page-entete__title strong{
	font-weight: 700;
}
.page-entete__title::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 6.4rem;
	height: 0.8rem;
	background-color: var(--color-vert);
}
.page-entete.bg-bleu .page-entete__title::after{
	background-color: var(--color-vert);
}
.page-entete.bg-vert .page-entete__title::after{
	background-color: var(--color-bleu);
}
.page-entete__divider{
	flex: 0 0 auto;
	align-self: stretch;
	width: 2.1rem;
	background-image: url("img/sep.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.page-entete__txt-col{
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.page-entete__txt{
	max-width: 62rem;
	font-size: var(--font-m);
	line-height: var(--lineh-m);
}
.page-entete__txt p{
	margin: 0 0 0.8rem;
}
.page-entete__txt p:last-child{
	margin-bottom: 0;
}
.page-entete a{
	color: inherit;
	text-decoration: underline;
}
@media (max-width: 991px){
	.page-entete{
		padding: 3rem 0;
	}
	.page-entete__inner{
		flex-direction: column;
		align-items: flex-start;
		gap: 2.4rem;
		min-height: 0;
	}
	.page-entete__title-col,
	.page-entete__txt-col{
		flex: none;
		width: 100%;
		max-width: none;
	}
	.page-entete__divider{
		display: none;
	}
	.page-entete__title{
		font-size: var(--font-xm);
		line-height: var(--lineh-xm);
	}
	.page-entete__txt{
		font-size: var(--font-s);
		line-height: var(--lineh-s);
	}
}

/*------------------------------------*\
    LANDING HOME
\*------------------------------------*/
.landing-home{
	position: relative;
	overflow: hidden;
}
/* Le contenu reste dans le .container, aligné avec les autres blocs */
.landing-home .container{
	position: relative;
	z-index: 2;
}
.landing-home .row{
	position: relative;
}
/* Vecteur au-dessus du bleu + de l'image, derrière le texte */
.landing-home .row::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	background-image: url("img/landing.svg");
	background-repeat: no-repeat;
	background-position: 5% 90%;
	background-size: 70%;
	pointer-events: none;
	mix-blend-mode: overlay;
	opacity: 0;
	animation: landingVectorFade 1.2s ease 0.35s forwards;
}
@keyframes landingVectorFade{
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}
.landing-home-content{
	position: relative;
	padding: 5rem 4rem 6rem 20px;
	background: var(--color-bleu);
}
.landing-home-content > *{
	position: relative;
	z-index: 2;
}
/* Prolonge le panneau bleu jusqu'au bord gauche de l'écran (pleine largeur) */
.landing-home-content::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 100%;
	width: 100vw;
	background: var(--color-bleu);
}
/* Ergot triangulaire pointant vers l'image */
.landing-home-content::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	z-index: 0;
	transform: translateY(-50%);
	border: 2.4rem solid transparent;
	border-left-color: var(--color-bleu);
}
/* Visuel qui déborde jusqu'au bord droit de l'écran */
.landing-home-media{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 40%;
	z-index: 1;
	background-size: cover;
	background-position: center;
}
@media (max-width: 991px){
	.landing-home-media{
		position: static;
		width: 100%;
		height: 22rem;
	}
	.landing-home-content{
		min-height: 0;
	}
	.landing-home-content::after{
		display: none;
	}
}
@media (prefers-reduced-motion: reduce){
	.landing-home .row::after{
		opacity: 1;
		animation: none;
	}
}

/*------------------------------------*\
    SECTION TXT
\*------------------------------------*/
.section-txt h2{
	position: relative;
}
.section-txt h2::after{
	content: "";
	position: absolute;
	bottom: -3rem;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	width: 10rem;
	height: 10px;
	background-color: var(--color-vert);
	margin-top: 1rem;
}

/*------------------------------------*\
    SECTION TXT IMG
\*------------------------------------*/
.section-txt-img h2{
	position: relative;
}
.section-txt-img h2::after{
	content: "";
	position: absolute;
	bottom: -3rem;
	left: 0;
	display: inline-block;
	width: 10rem;
	height: 10px;
	background-color: var(--color-vert);
}
.section-txt-img__btns{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
	margin-top: 3rem;
}
.section-txt-img__btns .btn{
	margin: 0;
}
.section-txt-img__media{
	overflow: hidden;
}
.section-txt-img__img{
	display: block;
	width: 100%;
	height: auto;
}
.section-txt-img__bg{
	overflow: hidden;
	height: 48rem;
}
.section-txt-img__bg-img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.section-txt-img.has-cadre .section-txt-img__cadre{
	background-color: var(--color-blanc);
	border-radius: 1.5rem;
	box-shadow: 0 1.2rem 3rem rgba(11, 14, 34, 0.1);
	padding: 3rem 2.4rem;
}
.section-txt-img.has-bg.has-cadre .container{
	position: relative;
	z-index: 1;
	margin-top: -14rem;
}
.section-txt-img.has-bg:not(.has-cadre) .container{
	margin-top: 6rem;
}
.section-txt-img.has-cadre.has-bg{
	margin-top: 0!important;
}
@media (min-width: 992px){
	.section-txt-img__content.order-0{
		padding-right: 3rem;
	}
	.section-txt-img__content.order-2{
		padding-left: 3rem;
	}
	.section-txt-img:not(.has-cadre) .order-2 .section-txt-img__media{
		width: calc(100% + 6rem);
	}
	.section-txt-img:not(.has-cadre) .order-0 .section-txt-img__media{
		width: calc(100% + 6rem);
		margin-left: -6rem;
	}
	.section-txt-img.has-cadre .section-txt-img__cadre{
		padding: 5rem 4.5rem;
	}
	.section-txt-img.has-cadre .section-txt-img__content.order-0{
		padding-right: 4rem;
	}
	.section-txt-img.has-cadre .section-txt-img__content.order-2{
		padding-left: 4rem;
	}
}
@media (max-width: 991px){
	.section-txt-img:not(.has-cadre) .container{
		overflow: hidden;
	}
	.section-txt-img .order-0,
	.section-txt-img .order-2{
		-ms-flex-order: 0;
		order: 0;
	}
	.section-txt-img__content{
		margin-bottom: 3rem;
	}
	.section-txt-img.has-cadre .row > [class*="col-"]:not(:last-child){
		margin-bottom: 2.4rem;
	}
	.section-txt-img.has-cadre .section-txt-img__content{
		margin-bottom: 0;
	}
	.section-txt-img.has-bg .section-txt-img__bg{
		height: 28rem;
	}
	.section-txt-img.has-bg.has-cadre .container{
		margin-top: -6rem;
	}
	.section-txt-img.has-bg:not(.has-cadre) .container{
		margin-top: 3rem;
	}
}

/*------------------------------------*\
    SECTION COLS IMG TXT
\*------------------------------------*/
.section-cols-img-txt{
	position: relative;
}
.section-vignette-picto-txt.has-bg{
	padding-bottom: 60rem;
}
.section-cols-img-txt h2::after{
		content: "";
		position: absolute;
		bottom: -3rem;
		display: inline-block;
		width: 10rem;
		height: 10px;
		background-color: var(--color-vert);
		margin-top: 1rem;
}
.section-cols-img-txt h2::after{
	left: 0;
	transform: none;
}
.section-cols-img-txt .container{
	position: relative;
	z-index: 1;
}
.cols-img-txt-cards{
	position: relative;
	z-index: 1;
}
.cols-img-txt-card{
	overflow: hidden;
	background-color: var(--color-blanc);
	border-radius: 1.5rem;
	box-shadow: 0 1.2rem 3rem rgba(11, 14, 34, 0.1);
	text-align: center;
}
.cols-img-txt-card__media{
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
.cols-img-txt-card__img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}
.cols-img-txt-card__body{
	padding: 2.4rem 2rem 3rem;
}
.cols-img-txt-card__title{
	color: var(--color-vert);
	margin-bottom: 0;
}
.cols-img-txt-card__title::after{
	content: "";
	display: block;
	width: 4.4rem;
	height: 6px;
	margin: 1.2rem auto 1.6rem;
	background-color: var(--color-bleu);
}
.cols-img-txt-bg{
	overflow: hidden;
}
.section-cols-img-txt:not(.section-vignette-picto-txt) .cols-img-txt-bg{
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-top: -6rem;
}
.section-vignette-picto-txt .cols-img-txt-bg{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	height: 65rem;
	pointer-events: none;
}
.cols-img-txt-bg__img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
@media (max-width: 991px){
	.section-vignette-picto-txt.has-bg{
		padding-bottom: 12rem;
	}
	.section-vignette-picto-txt .cols-img-txt-bg{
		height: 22rem;
	}
	.cols-img-txt-card{
		margin-bottom: 2rem;
	}
}

/*------------------------------------*\
    SECTION VIGNETTE PICTO TXT
\*------------------------------------*/
.section-vignette-picto-txt h2{
	display: inline-block;
}
.section-vignette-picto-txt h2::after{
	left: auto;
	left: 50%;
	transform: translateX(-50%);
}
.vignette-picto-txt-card{
	position: relative;
	padding: 2.4rem 2.4rem 4.5rem;
	text-align: left;
	color: inherit;
	text-decoration: none;
}
a.vignette-picto-txt-card{
	overflow: visible;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}
a.vignette-picto-txt-card:hover,
a.vignette-picto-txt-card:focus-visible{
	text-decoration: none;
	color: inherit;
	transform: translateY(-0.6rem);
	box-shadow: 0 1.8rem 3.6rem rgba(11, 14, 34, 0.16);
	outline: none;
}
a.vignette-picto-txt-card .vignette-picto-txt-card__plus{
	display: inline-block;
	transition: transform 0.35s ease;
}
a.vignette-picto-txt-card:hover .vignette-picto-txt-card__plus,
a.vignette-picto-txt-card:focus-visible .vignette-picto-txt-card__plus{
	transform: rotate(90deg);
}
@media (prefers-reduced-motion: reduce){
	a.vignette-picto-txt-card,
	a.vignette-picto-txt-card .vignette-picto-txt-card__plus{
		transition: none;
	}
	a.vignette-picto-txt-card:hover,
	a.vignette-picto-txt-card:focus-visible,
	a.vignette-picto-txt-card:hover .vignette-picto-txt-card__plus,
	a.vignette-picto-txt-card:focus-visible .vignette-picto-txt-card__plus{
		transform: none;
	}
}
.vignette-picto-txt-card__head{
	display: flex;
	align-items: center;
	gap: 1.6rem;
	margin-bottom: 1.6rem;
}
.vignette-picto-txt-card__picto{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	/*background-color: var(--color-vert-clair);*/
}
.vignette-picto-txt-card__img{
	object-fit: contain;
	border-radius: 0;
}
.vignette-picto-txt-card__title{
	margin: 0;
}
.vignette-picto-txt-card__txt p:last-child{
	margin-bottom: 0;
}
.vignette-picto-txt-card__plus{
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	line-height: 1;
}

/*------------------------------------*\
    SECTION CHIFFRES
\*------------------------------------*/
.section-chiffres h2{
	display: inline-block;
}
.section-chiffres h2::after{
	content: "";
	position: absolute;
	bottom: -3rem;
	left: 0;
	display: inline-block;
	width: 10rem;
	height: 10px;
	background-color: var(--color-vert);
}
.section-chiffres-item{
	text-align: center;
}
.section-chiffres-item__picto{
	margin-bottom: 1.5rem;
}
.section-chiffres-item__picto img{
	display: block;
	width: auto;
	max-width: 8rem;
	height: 6.4rem;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 0;
}
.section-chiffres-item__chiffre{
	margin-bottom: 0.4rem;
}
.section-chiffres-item__txt{
	max-width: 18rem;
	margin: 0 auto;
}
@media (max-width: 991px){
	.section-chiffres-item__chiffre{
		font-size: var(--font-l);
		line-height: var(--lineh-l);
	}
}

/*------------------------------------*\
    ACTU A LA UNE
\*------------------------------------*/
.actu-a-la-une h2{
	display: inline-block;
}
.actu-card{
	padding: 3rem 2.8rem 3rem;
	text-align: left;
}
.actu-card__title a:hover{
	text-decoration: none;
}
.actu-card__date{
	display: block;
}
.actu-card__date::after{
	content: "";
	display: block;
	width: 4.4rem;
	height: 4px;
	margin-top: 1.5rem;
	background-color: var(--color-bleu);
}
.actu-card__txt{
	margin-bottom: 2rem;
}
.actu-card__link{
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: auto;
}
.actu-card__link svg{
	flex-shrink: 0;
}
.actu-card__link:hover{
	text-decoration: none;
}

/*------------------------------------*\
    SECTION VIGNETTE PRODUIT
\*------------------------------------*/
.vignette-produit-card{
	position: relative;
	padding: 3.5rem 3rem 4rem;
	border-radius: 1.5rem;
	box-shadow: 0 1.2rem 3rem rgba(11, 14, 34, 0.08);
	text-align: center;
}
.vignette-produit-card.bg-vert-clair{
	border: 1px solid var(--color-vert);
}
.vignette-produit-card.bg-rouge-clair{
	border: 1px solid var(--color-rouge);
}
.vignette-produit-card__media{
	position: relative;
	margin-bottom: 2rem;
}
.vignette-produit-card__icon{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: 5.6rem;
	height: 5.6rem;
	border-radius: 50%;
	background-color: var(--color-blanc);
	color: var(--color-vert);
	overflow: hidden;
}
.vignette-produit-card.bg-rouge-clair .vignette-produit-card__icon{
	color: var(--color-rouge);
	background-color: var(--color-rouge-clair);
	border: 5px solid var(--color-rouge);
}
.vignette-produit-card.bg-vert-clair .vignette-produit-card__icon{
	color: var(--color-vert);
	background-color: var(--color-vert-clair);
	border: 5px solid var(--color-vert);
}
.vignette-produit-card__icon svg{
	display: block;
	width: 100%;
	height: 100%;
}
.vignette-produit-card__figure{
	margin: 0;
}
.vignette-produit-card__img{
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 22rem;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 0;
}
.vignette-produit-card__caption{
	margin-top: 1.2rem;
}
.vignette-produit-card__txt p:last-child{
	margin-bottom: 0;
}
@media (max-width: 991px){
	.vignette-produit-card{
		padding: 2.5rem 2rem 3rem;
		margin-bottom: 2rem;
	}
}

/*------------------------------------*\
    SEPARATEUR
\*------------------------------------*/
.sep{
	border-top: 1px solid var(--color-noir);
}

/*------------------------------------*\
    FOOTER
\*------------------------------------*/
.footer-right{
	display: flex;
	align-items: center;
	gap: 15px;
}
.footer-main{
	color: var(--color-bleu);
}
.footer-logo img{
	max-width: 200px;
	height: auto;
}
.footer-desc,
.footer-infos{
	color: var(--color-bleu);
}
.footer-desc p:last-child,
.footer-infos p:last-child{
	margin-bottom: 0;
}
.footer-infos a,
.footer-desc a{
	color: var(--color-bleu);
	font-size: inherit;
	font-weight: 400;
}
.footer-infos a:hover,
.footer-desc a:hover{
	color: var(--color-vert);
	text-decoration: underline;
}
.footer-bottom{
	padding: 1.6rem 0;
}
.footer-bottom,
.footer-bottom a{
	color: var(--color-blanc);
	font-size: var(--font-xs);
	font-weight: 400;
}
.footer-bottom a:hover{
	color: var(--color-blanc);
	text-decoration: underline;
}
.footer-menu-legal ul{
	display: flex;
	flex-wrap: wrap;
	gap: 2.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-menu-legal ul li{
	list-style: none;
	margin: 0;
}
@media only screen and (max-width: 991px){
	.footer-menu-legal ul{
		justify-content: center;
	}
}
@media only screen and (max-width:767px){
	.footer-cta .row{
		text-align: center;
	}
	.newsletter-btn{
		max-width: 100%;
	}
}
/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (max-width:480px){
}

@media only screen and (max-width:768px){
	.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;
	}
	.pb100-mobil{
		padding-bottom: 5rem;
	}
    .pt100-mobil{
        padding-top: 5rem;
    }
	.mb50-mobil{
		margin-bottom: 2.5rem;
	}
	.mt50-mobil{
		margin-top: 2.5rem;
	} 
	.mb100-mobil{
		margin-bottom: 5rem;
	}
	.mt100-mobil{
		margin-top: 5rem;
	}
	.mb30-mobil{
		margin-bottom: 1.5rem;
	}
	.mb15-mobil{
		margin-bottom: 0.75rem;
	}
}
@media only screen and (max-width:992px){
	.plr0-mobil{
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.plr1-mobil{
		padding-left: 5%!important;
		padding-right: 5%!important;
	}
	.plr5-mobil{
		padding-left: 10%!important;
		padding-right: 10%!important;
	}
}
@media only screen and (min-width:320px){
	section{
		scroll-margin-top: 5em;
	}
	.scroll-margin{
		scroll-margin-top: 10em;
	}
}
@media only screen and (min-width:769px){
	.d-flex-center{
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.wp-caption,
.alignright,
.alignleft,
.alignnone{
	margin: 3rem 0;
}
.wp-caption .wp-caption-text,
.gallery-caption{
	font-size: var(--font-s);
	line-height: var(--lineh-s);
	margin: 0;
	padding: 15px 0;
}
blockquote{
	/*float: left;*/
	margin: 1em 1em 1em 0;
	/*max-width: 50%;*/
}
/*------------------------------------*\
    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;
	}
}

/*------------------------------------*\
    SECTION CARTE ECOPAE
\*------------------------------------*/
.section-carte-ecopae h2{
	position: relative;
}
.section-carte-ecopae h2::after{
	content: "";
	position: absolute;
	bottom: -3rem;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	width: 10rem;
	height: 10px;
	background-color: var(--color-vert);
}
.section-carte-ecopae__frame{
	display: block;
	width: 100%;
	height: 700px;
	border: 0;
	background-color: var(--color-gris);
}

@media (max-width: 768px){
	.section-carte-ecopae__frame{
		height: 560px;
	}
}

/*------------------------------------*\
    SECTION FAQ
\*------------------------------------*/
.section-faq__title{
	margin-bottom: 3rem;
}
.section-faq__list{
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.section-faq__item{
	background-color: var(--color-blanc);
	border-radius: 1.2rem;
	box-shadow: 0 0.8rem 2.4rem rgba(11, 14, 34, 0.1);
	transition: box-shadow 0.4s ease;
}
.section-faq__item[open],
.section-faq.js-ready .section-faq__item.is-open{
	box-shadow: 0 1.2rem 3.2rem rgba(11, 14, 34, 0.12);
}
.section-faq.js-ready .section-faq__item[open]::details-content{
	display: block;
}
.section-faq.js-ready .section-faq__panel{
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.section-faq.js-ready .section-faq__item.is-open .section-faq__panel{
	grid-template-rows: 1fr;
}
.section-faq.js-ready .section-faq__panel-inner{
	overflow: hidden;
	min-height: 0;
	opacity: 0;
	transform: translateY(-0.4rem);
	transition: opacity 0.32s ease, transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.section-faq.js-ready .section-faq__item.is-open .section-faq__panel-inner{
	opacity: 1;
	transform: none;
}
.section-faq__summary{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 2rem 2.4rem;
	cursor: pointer;
	list-style: none;
}
.section-faq__summary::-webkit-details-marker,
.section-faq__summary::marker{
	display: none;
	content: none;
}
.section-faq__summary:focus{
	outline: none;
}
.section-faq__summary:focus-visible{
	outline: 2px solid var(--color-vert);
	outline-offset: 0.2rem;
	border-radius: 1.2rem;
}
.section-faq__question{
	flex: 1 1 auto;
	font-weight: 500;
}
.section-faq__icon{
	position: relative;
	flex-shrink: 0;
	width: 2.4rem;
	height: 2.4rem;
}
.section-faq__icon::before,
.section-faq__icon::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: var(--color-vert);
	border-radius: 1px;
}
.section-faq__icon::before{
	width: 2.4rem;
	height: 0.3rem;
	transform: translate(-50%, -50%);
}
.section-faq__icon::after{
	width: 0.3rem;
	height: 2.4rem;
	transform: translate(-50%, -50%);
	transition: opacity 0.32s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.section-faq:not(.js-ready) .section-faq__item[open] .section-faq__icon::after,
.section-faq.js-ready .section-faq__item.is-open .section-faq__icon::after{
	opacity: 0;
	transform: translate(-50%, -50%) scaleY(0);
}
.section-faq__answer{
	padding: 0 2.4rem 2.4rem;
}
.section-faq__answer > *:last-child{
	margin-bottom: 0;
}
@media (prefers-reduced-motion: reduce){
	.section-faq__item,
	.section-faq.js-ready .section-faq__panel,
	.section-faq.js-ready .section-faq__panel-inner,
	.section-faq__icon::after{
		transition: none;
	}
	.section-faq.js-ready .section-faq__panel-inner{
		transform: none;
	}
}
@media (max-width: 768px){
	.section-faq__summary{
		gap: 1.6rem;
		padding: 1.6rem 1.8rem;
	}
	.section-faq__answer{
		padding: 0 1.8rem 1.8rem;
	}
}

/*------------------------------------*\
    SECTION IMG FULL
\*------------------------------------*/
.section-img-full{
	width: 100%;
}
.section-img-full__media{
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 6;
	overflow: hidden;
	background-color: var(--color-gris);
}
.section-img-full__img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

/*------------------------------------*\
    DOCUMENTS (shortcode [documents])
\*------------------------------------*/

.wd-documents{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.wd-documents__item{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.5rem 2rem;
	background-color: var(--color-gris);
	border-radius: 1.5rem;
}
.wd-documents__title{
	font-weight: 600;
}
.wd-documents__link{
	flex-shrink: 0;
}
.wd-documents__empty{
	color: var(--color-gris-alt);
	font-style: italic;
}
.wd-documents__none{
	color: var(--color-gris-alt);
}

@media (max-width: 600px){
	.wd-documents__item{
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}
}
