@charset "utf-8";
/* Conserver ce commentaire pour adapter les sélecteurs de cette feuille de styles à Gutenberg - atelier-adapt-gutenberg */


/*============================================*\
#    Initialisation de la feuille de styles    #
\*============================================*/

/* VARIABLES */
:root{
/* COULEURS : */
	--couleur-blanc:#fff;			/* Blanc */
	--couleur-noir:#000;			/* Noir */
	--couleur-pale:#f8f8f6;		/* Gris pâle */
	--couleur-bleu-fonce:#00487e;	/* Bleu foncé */
	--couleur-bleu-clair:#019ee3;	/* Bleu clair */
	--couleur-orange:#f49100; 		/* Orange */
/* STRUCTURE : */
	--margesDefaut:3rem; /*....................................... Espacement par défaut */
	--largeur:1200px; /*.......................................... Largeur de contenu maximale, adaptable sur différents supports */
/* FORMULAIRES : champs */
	--form-input-bordColor:silver; /*........................... Couleur des contours de champs */
	--form-input-bordWidth:1px; /*................................ Épaisseur des contours de champs */
	--form-input-fondColor:white; /*............................ Couleur de fond des champs */
	--form-input-height:4rem; /*.................................. Hauteur des champs */
/* FORMULAIRES : boutons */
	--form-bouton-bordColor:var(--couleur-bleu-fonce); /*. Couleur des contours de boutons */
	--form-bouton-bordWidth:1px; /*............................... Épaisseur des contours de boutons */
	--form-bouton-fondColor:var(--couleur-pale); /*. Couleur des boutons et autres éléments interactifs */
	--form-bouton-textColor:var(--couleur-bleu-clair); /*........................... Couleur du texte des boutons */
/* FORMULAIRES : checkboxes/radio */
	--form-check-taille:3rem; /*.................................. Taille des pastilles de checkboxes (entre autres) */
/* FORMULAIRES : autres */
	--outline:var(--couleur-noir) auto 2px;
	--outline-offset:2px;
	accent-color:var(--form-bouton-fondColor); /*................. Couleur par défaut : checkbox, radio, range, progress */
/* ICÔNES : */
	--icon-dim:3.2rem; /*......................................... Largeur des pictos */
	--icon-couleur:currentColor; /*............................... Couleur des pictos */
	--icon-epaisseur:3px; /*...................................... Épaisseur du trait */
	--icon-coins:round; /*........................................ Aspect des coins : miter (pointus) ou round (arrondis) */
	--icon-extremites:round; /*................................... Aspect des extrémités : butt (droits), round (arrondis) ou square (droits + épaisseur) */
}
@media(max-width:1260px){
	:root{--largeur:960px;}
}
@media(max-width:980px){
	:root{--largeur:540px;}
}
@media(max-width:600px){
	:root{--largeur:300px;}
}

/* Global */
*,*::before,*::after{
	box-sizing:inherit;
	min-width:0;
	min-height:0;
}
html{
	box-sizing:border-box;
	font-size:62.5%;
	overflow-wrap:break-word;
	-webkit-text-size-adjust:100%;
	   -moz-text-size-adjust:100%;
		-ms-text-size-adjust:100%;
			text-size-adjust:100%;/*🧪Ajuste la taille du texte sur smartphone - https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust / https://caniuse.com/?search=text-size-adjust */
	-webkit-tap-highlight-color:transparent;/*[non-standard] Couleur de surlignage des liens cliqués - https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-tap-highlight-color */
	scroll-behavior:smooth;
	interpolate-size:allow-keywords;/*🧪Autorise les keywords (auto, min-content, fit-content...) dans les transitions - https://caniuse.com/?search=interpolate-size. Voir utilisation et alternative sur https://developer.chrome.com/docs/css-ui/animate-to-height-auto */
}
body{
	margin:0;
	color:var(--couleur-noir);
	font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
	font-size:1.6rem;
	line-height:1.5;
	min-height:100vh;
	background-color:var(--couleur-pale);
	overflow-x:clip;
}
body:not(.ready) *{ transition:none; /* Empêche les animations bizarres sur les liens, cf. scripts/main.js */ }


/* Blocs et structure */
p, address, ol, ul, dl, dt, dd{
	margin-top:0;
	margin-bottom:1em;
	text-wrap:pretty;
}
figure{ margin:0; }
nav ul, nav ol{
	padding:0;
	margin:0;
	list-style:none;
}
:where(.is-root-container) :is(ul,ol){
	--list-liLarg:round(0.4em,1px); /* épaisseur des puces */
	--list-marg:round(0.4em,1px); /* marge entre la puce et le texte */
	--list-shift:1em; /* décalage à gauche de la puce par rapport à l'alignement du texte */
	--list-olRatio:0.8; /* changement de taille de la numérotation */
	counter-reset:ol-count;
	list-style:none;
	padding:0;
}
:where(.is-root-container) :where(ul,ol) :is(ul, ol){ margin-bottom:0; }
:where(.is-root-container) ul{ padding-left:calc(var(--list-liLarg) + var(--list-marg) + var(--list-shift)); }
:where(.is-root-container) ol{ padding-left:calc((3ch * var(--list-olRatio)) + var(--list-marg)); }
:where(.is-root-container ul)>li{ text-indent:calc((var(--list-liLarg) + var(--list-marg)) * -1); }
:where(.is-root-container ol)>li{
	text-indent:calc(((3ch * var(--list-olRatio)) + var(--list-marg)) * -1);
	counter-increment:ol-count;
}
:where(.is-root-container) :where(ul,ol)>li::before{
	display:inline-block;
	margin:0 var(--list-marg) 0 0;
}
:where(.is-root-container ul)>li::before{
	content:"";
	background-color:var(--couleur-bleu-fonce);
	width:var(--list-liLarg);
	height:var(--list-liLarg);
}
:where(.is-root-container ol)>li::marker{ content:none; }
:where(.is-root-container ol)>li::before{
	content:counter(ol-count) ".";
	color:var(--couleur-bleu-fonce);
	font-weight:bolder;
	width:3ch;
	text-align:right;
	font-size:0.8em;
}
:where(.is-root-container) :where(ul,ol)>:where(li) *{ text-indent:0; }
blockquote{
	max-width:100%;
	margin-top:0;
	margin-bottom:1em;
}
details{ display:block; }
summary{ display:list-item; }
template, [hidden]{ display:none; }
hr{
	box-sizing:content-box;
	height:0;
	margin:1.5em 0;
	overflow:visible;
	clear:both;
	color:inherit;
	border:0;
	border-top:1px solid currentColor;
}

/* Titres */
h1:where(:not(.site-title)),h2,h3,h4,.h1,.h2,.h3,.h4{
	line-height:1.1;
	margin:2em auto 1em 0;
	text-wrap:balance;
}
h1:where(:not(.site-title,.h2,.h3,.h4,.h5,.h6)),.h1{
	font-size:clamp(3.4rem, 4.6vw, 5.5rem);
	font-weight:400;
	margin-block:max(calc(1.5em - 1.8rem * 2.5), calc(60px - 1.8rem * 2.5)) max(1.5em, 60px);
}
h1.site-title{ margin:0; font:inherit; }
h2:not(:where(.h1,.h3,.h4,.h5,.h6)),.h2{
	font-size:clamp(2.4rem,2.5vw, 3rem);
	font-weight:700;
	color:var(--couleur-bleu-fonce);
}
h3:not(:where(.h1,.h2,.h4,.h5,.h6)),.h3{
	font-size:clamp(2rem,2vw, 2.5rem);
	font-weight:400;
	color:var(--couleur-bleu-clair);
}
h4:not(:where(.h1,.h2,.h3,.h5,.h6)),.h4{ font-size:1.5em;}

/* Inline */
b, strong{ font-weight:bolder; }
abbr[title]{
	text-decoration:underline dotted;
	border-bottom:none;
	cursor:help;
}
sub, sup{
	position:relative;
	font-size:0.75em;
	line-height:0;
	vertical-align:baseline;
}
sub{ bottom:-0.25em; }
sup{ top:-0.5em; }
small,
.details{
	font-size:80%;
	opacity:0.8;
}

/* Liens et ancres */
a{
	color:var(--couleur-bleu-fonce);
	background-color:transparent;
}
[id]{ scroll-margin-top:1em; /* "Décolle" la cible d'une ancre lors d'un scroll */ }

/* Medias */
img, svg, figure{
	height:auto;
	max-width:100%;
	vertical-align:middle;
	object-fit:cover;
	object-position:center center;
	border-style:none;
}
svg:not([fill]){ fill:currentColor; }
svg:not(:root){ overflow:hidden; }
video,
iframe{
	height:auto;
	max-width:100%;
	vertical-align:middle;
	border-style:none;
}
/*img[width][height], svg[width][height],
video[width][height],
embed[width][height],
iframe[width][height]{ aspect-ratio:attr(width) / attr(height); }*/
audio,
canvas{ vertical-align:middle; }

/* Éléments "techniques" */
pre, code, kbd, samp{
	font-family:monospace;
	font-size:1em;
}
pre{
	max-width:100%;
	margin-top:0;
	margin-bottom:1em;
	overflow:auto;
	line-height:normal;
	tab-size:2;
	white-space:pre-wrap;
}
code{ max-width:100%; }

/* Tableaux */
table{
	margin-bottom:1.5em;
	vertical-align:top;
	border-collapse:collapse;
}
td{ max-width:100%; }

/* Classes utilitaires */
@media not print{
	.print-only, .printOnly, .printonly{ display:none !important; }
}
.clearfix{ display:flow-root; }
:is(.no-marges, .noMarges, .nomarges) > :first-child{ margin-top:0; }
:is(.no-marges, .noMarges, .nomarges) > :last-child{ margin-bottom:0; }

/* Icônes */
:is(.atelier-icone,.atelier-icon) svg,
svg:is(.atelier-icone,.atelier-icon){
	overflow:visible;
	object-fit:contain;
	fill:none;
	stroke-miterlimit:10;
	width:var(--icon-dim);
	height:var(--icon-dim);
	stroke:var(--icon-couleur);
	stroke-width:var(--icon-epaisseur);
	stroke-linejoin:var(--icon-coins);
	stroke-linecap:var(--icon-extremites);
	transition:stroke 0.3s ease-out;
}
/* -menu / -menu-alt */
:is(.atelier-icon-menu,.atelier-icon-menu-alt) line{
	transform-origin:center center;
	transition:0.3s ease-out;
	transition-property:opacity, transform, stroke, stroke-width;
}
.atelier-icon-menu line:where(:nth-child(1)){ transform:translateY(calc((32px - var(--icon-epaisseur)) * -0.5)); }
.atelier-icon-menu line:where(:nth-child(4)){ transform:translateY(calc((32px - var(--icon-epaisseur)) * 0.5)); }
.atelier-icon-menu-alt line:where(:nth-child(1)){ transform:translateY(calc(var(--icon-epaisseur) * -2)); }
.atelier-icon-menu-alt line:where(:nth-child(4)){ transform:translateY(calc(var(--icon-epaisseur) * 2)); }
:where([aria-expanded="true"]) :is(.atelier-icon-menu,.atelier-icon-menu-alt) line:where(:nth-child(1),:nth-child(4)){ transform:translateY(0); opacity:0; }
:where([aria-expanded="true"]) :is(.atelier-icon-menu,.atelier-icon-menu-alt) line:where(:nth-child(2)){ transform:rotate(-45deg); }
:where([aria-expanded="true"]) :is(.atelier-icon-menu,.atelier-icon-menu-alt) line:where(:nth-child(3)){ transform:rotate(45deg); }

/*===============*\
#    Structure    #==================================================================================================================================
\*===============*/
.site-header,
.site-content,
.site-footer{
	display:flow-root;
	position:relative;
}
.scrolledHeader .site-header{
	/*position:sticky;*/
	top:0;
	left:0;
	right:0;
	/*transform:translateY(-100%);
	transition:none;*/
}
/*.scrolledHeaderToTop .site-header{
	transform:translateY(0%);
	transition:transform 0.3s ease-out;
}*/
.site-header{ z-index:2; }
.site-content,
.site-footer{ z-index:1; }
.alignfull{
	width: calc(100vw - var(--largScrollBar,0px));
	margin-left:calc(-50vw + 50% + (var(--largScrollBar,0px) * 0.5));
	margin-right:calc(-50vw + 50% + (var(--largScrollBar,0px) * 0.5));
}
.container,
.alignfull > .wp-block-group__inner-container{
	width:var(--largeur);
	max-width:100%;
	margin-inline:auto;
}

/* Pager */
.nav-links{
	--icon-dim:1em;
	--gap:0.5em;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	font-size:2rem;
	gap:var(--gap);
	padding:var(--gap);
}
.nav-links > *{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	color:inherit;
	min-width:2em;
	padding:0.4em;
	height:2em;
	line-height:1;
	background-color:var(--couleur-pale);
	border-radius:50%;
}
.nav-links > .current{
	background:var(--couleur-bleu-fonce);
	color:var(--couleur-blanc);
}

/* Colonnes /*
#== Classes utilitaires ==============================================================================================================#
	• grid-section : crée des colonnes pour les viewports > 980px (par défaut)
	• grid-section12 : idem, mais les proportions sont indiquées différemment

   RESPONSIVE
	• grid-large : empile les blocs pour les viewports de largeur inférieure à 1260px au lieu de 980px
	• grid-small : empile les blocs pour les viewports de largeur inférieure à 600px au lieu de 980px

   RÉPARTITION
	• v-align-… : alignement vertical des colonnes (par défaut, étirées).
		v-align-top : alignées en haut
		v-align-center : colonnes centrées
	• h-align-… : répartition horizontale des colonnes (par défaut, espacées).
		h-align-left : alignées à gauche
		h-align-center : centrées
		h-align-right : alignées à droite

   MARGES
	• --cols-gap : espacement entre les colonnes

   COLONNES IRRÉGULIÈRES
    • --cols-prop (si .grid-section) : proportions des colonnes entre elles (par défaut 1fr 1fr)
    • --col-prop12 (si .grid-section12) : proportions des colonnes, par rapport à une grille de 12 colonnes (par défaut 6)

   GRILLE AUTOMATIQUE
	• grid-auto : crée des colonnes de largeur égale à --cols-larg et les répartit sur plusieurs lignes si besoin
	• grid-auto-fill : la largeur des colonnes peut s'agrandit de façon à remplir la fraction complète
	• --cols-larg : largeur d'une colonne (par défaut 300px), largeur minimale si .grid-auto-fill
*/
.grid-section,
.grid-section12,
.grid-auto,
.grid-auto-fill,
.is-layout-grid{
	--cols-gap:var(--margesDefaut);
	display:grid;
	gap:var(--cols-gap);
	justify-content:center;
	position:relative;
	grid-auto-flow:dense;
}
.grid-section{
	--cols-prop:1fr 1fr;
	grid-template-columns:var(--cols-prop);
}
.grid-section12{ grid-template-columns:repeat(12, 1fr); }
.grid-section12 > *{
	--col-prop12:6;
	grid-column:span var(--col-prop12);
}
.grid-auto,
.grid-auto-fill,
.is-layout-grid{
	--cols-larg:300px;
	grid-template-columns:repeat(auto-fill, var(--cols-larg));
}
.grid-auto-fill{ grid-template-columns:repeat(auto-fill, minmax(var(--cols-larg),1fr)); }
.is-layout-grid{ grid-template-columns:repeat(auto-fill, minmax(min(12rem,100%),1fr)); }
@media(max-width:1260px){
	:is(.grid-section,.grid-section12):where(.grid-large){ grid-template-columns:1fr; }
	:is(.grid-section,.grid-section12):where(.grid-large) > *{ grid-column:1; }
}
@media(max-width:980px){
	:is(.grid-section,.grid-section12):not(:where(.grid-small,.grid-large)){ grid-template-columns:1fr; }
	:is(.grid-section,.grid-section12):not(:where(.grid-small,.grid-large)) > *{ grid-column:1; }
}
@media(max-width:600px){
	:is(.grid-section,.grid-section12):where(.grid-small){ grid-template-columns:1fr; }
	:is(.grid-section,.grid-section12):where(.grid-small) > *{ grid-column:1; }
}
.v-align-top{ align-items:flex-start; }
.v-align-center{ align-items:center; }
.h-align-left{ justify-content:flex-start; }
.h-align-center{ justify-content:center; }
.h-align-right{ justify-content:flex-end; }







 
/*=================*\
#    Formulaires    #
#-------------------#
#    Classes utilitaires :
#    .form-optionnel : mention "optionnel" près d'un champ (à préférer au "*" obligatoire)
#    .switch : sur un <input type="checkbox/radio">, change l'aspect visuel
#    Structure d'une ligne classique :
#    <div class="form-ligne">
#    	<label class="form-label" for="champ_XXX">Nom du champ</label>
#    	<div class="form-champ">
#    		<input id="champ_XXX" ... />
#    	</div>
#    </div>
\*=================*/

/*==== Champs ===================================================================================*/
button,
input:where(:not([type="checkbox"]):not([type="radio"])),
::file-selector-button,
.bouton, .wp-block-button__link, .form--file-bouton,
textarea,
select,
optgroup{
	max-width:100%;
	height:auto;
	margin:0;
	overflow:visible;
	color:inherit;
	font:inherit;
	letter-spacing:inherit;
	text-transform:none;
	vertical-align:middle;
	background:none;
	appearance:none;
}

/* Empêche le zoom au double-tap */
a,
area,
button,[role="button"],
input:where(:not([type="range"])),
label,
select,
summary,
textarea,
[tabindex]{ touch-action:manipulation; }

/* Placeholder */
::placeholder,
:where(.form-labelInside) label{
	color:inherit;
	font-style:italic;
	opacity:0.8;
}

/*==== BOUTONS ====*/
/* Outline sur le faux bouton de .form-fileInput */
:where(.form-fileInput [type="file"]:focus-visible) + .form--file-bouton{
	outline:var(--outline);
	outline-offset:var(--outline-offset);
}
/* Tous les boutons */
button:where(:not(.slider-nav)),
[type="button"]:where(:not(.slider-nav)),
[type="reset"],
[type="submit"],
::file-selector-button,
.bouton, .wp-block-button__link, .form--file-bouton{
	display:inline-block;
	line-height:1.2;
	padding:0.6em calc(0.6em + 0.5lh);
	background:var(--form-bouton-fondColor);
	color:var(--form-bouton-textColor);
	border:var(--form-bouton-bordWidth) solid var(--form-bouton-bordColor);
	cursor:pointer;
	overflow:visible;
	user-select:none;
	text-decoration:none;
	transition:0.3s ease-out;
	transition-property:color, background-color, border-color;
	font-size:2rem;
	font-weight:700;
	border-radius:100vmax;

	/* Boutons contenant une icône et/ou du texte pour screen reader */
	&:where(:has(svg:only-child)){
		padding:calc(var(--icon-dim) * 0.5);
	}

	/* Survol et focus */
	:is(&):not(:disabled):is(:hover,:focus-visible),
	:where([type="file"]:not(:disabled):is(:hover,:focus-visible))::file-selector-button,
	:where(.form-fileInput [type="file"]:not(:disabled):is(:hover,:focus-visible)) + .form--file-bouton{
		--form-bouton-bordColor:var(--couleur-bleu-fonce);
		--form-bouton-fondColor:var(--couleur-bleu-fonce);
		--form-bouton-textColor:var(--couleur-blanc);
	}
}

.is-style-bouton-fleche{ flex:0 0 auto; }
.is-style-bouton-fleche .wp-block-button__link{
	--form-bouton-bordWidth:2px;
	--form-bouton-bordColor:var(--couleur-blanc);
	--form-bouton-fondColor:var(--couleur-blanc);
	--couleur:var(--couleur-orange);
	--icon-larg:1.5em;
	--icon-shift:1em;
	color:var(--couleur);
	padding:0;
	display:inline-flex;
	align-items:stretch;
	justify-content:flex-start;
	box-shadow:0 0 1em 0 rgba(0,0,0,0.1);

	&::before,
	&::after{
		content:"";
		display:block;
		width:var(--icon-larg);
		height:auto;
		align-content:center;
		background-color:var(--couleur);
		-webkit-mask-image:var(--svg); mask-image:var(--svg);
		-webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
		-webkit-mask-size:var(--icon-larg) var(--icon-larg); mask-size:var(--icon-larg) var(--icon-larg);
		-webkit-mask-position:center center; mask-position:center center;
	}
	&::before{
		--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='6' d='m19 12l12 12l-12 12'/%3E%3C/svg%3E");
		margin-inline:var(--icon-shift) calc(var(--icon-shift) * -1);
	}
	&::after{
  		--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m5 12l5 5L20 7'/%3E%3C/svg%3E");
		margin-inline:calc(var(--icon-shift) * -1) var(--icon-shift);
	}

	&:is(:hover,:focus-visible){
		--couleur:rgb(from var(--couleur-orange) calc(r * 0.86) calc(g * 0.72) b / 1);
		--form-bouton-bordColor:var(--couleur-blanc);
		--form-bouton-fondColor:var(--couleur-blanc);
	}
}
.is-style-bouton-fleche .wp-block-button__link .is-style-bouton-fleche--inner{
	display:block;
	padding:0.8em calc(0.8em + 0.5lh);
	background:var(--couleur);
	color:var(--couleur-blanc);
	border-radius:100vmax;
	transition:background-color 0.3s ease-out;
	position:relative;
	z-index:1;
	transition:left 0.3s ease-out;
	left:calc( var(--icon-larg) );
}
.is-style-bouton-fleche .wp-block-button__link:is(:hover,:focus-visible) .is-style-bouton-fleche--inner{
	left:calc( (var(--icon-larg)) * -1 );
}


/*==== CHAMPS DE TYPE TEXTE ====*/
[type="date"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
textarea,
select,
:where(.form-labelInside) label{
	vertical-align:middle;
	padding-block:calc((var(--form-input-height) - 2*var(--form-input-bordWidth) - 1lh)*0.5); /* hauteur - 2*bordure - line-height */
	padding-inline:calc(0.5em + 0.5lh);
	width:100%;
	height:var(--form-input-height);
	min-height:var(--form-input-height);
	border:var(--form-input-bordWidth) solid var(--form-input-bordColor);
	background-color:var(--form-input-fondColor);
}

/* TEXTAREA */
textarea{
	--textarea-lines:2;
	overflow:auto;
	resize:vertical;
	vertical-align:top;
	white-space:pre-wrap;
	height:calc(var(--form-input-height) + var(--textarea-lines) * 1lh); /* hauteur + (lignes-1)*line-height */
}
textarea[rows]{ --textarea-lines:attr(rows); }

/* NUMBER */
[type="number"]{ appearance:textfield; } /* Firefox : conversion en apparence textfield pour retirer les flèches mal gérées */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button{
	-moz-appearance:textfield;
	appearance:none;
	height:auto;
}

/* RECHERCHE */
[type="search"]::-webkit-search-decoration,
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-results-button,
[type="search"]::-webkit-search-results-decoration {
	appearance:none; /* macOS Chrome et Safari : retire le padding */
	display:none; /* Supprime le 'x' à droite du champ quand du texte est entré */
}

/* COULEUR */
[type="color"]{
	background:none;
	width:var(--form-check-taille);
	height:var(--form-check-taille);
	border:none;
	padding:0;
}
[type="color"]::-webkit-color-swatch-wrapper{ padding:0; }
/* NB : dupliquer le code pour -webkit et -moz- ci-après */
[type="color"]::-webkit-color-swatch{
	border:none;
	border-radius:50%;
}[type="color"]::-moz-color-swatch{
	border:none;
	border-radius:50%;
}

/* DATES */
[type="date"]::-webkit-inner-spin-button,
[type="time"]::-webkit-inner-spin-button{ appearance:none; }

/* SELECT */
select:not([multiple]){
	padding-right:calc(var(--form-input-height) + 1em);
	border-radius:0;
	background:url("icon.php?i=navB") no-repeat right calc(var(--form-input-height)*0.25) center / calc(var(--form-input-height)*0.5),
	linear-gradient(var(--form-input-fondColor), var(--form-input-fondColor)) no-repeat right top / var(--form-input-height) var(--form-input-height),
	var(--form-input-fondColor);
	height:var(--form-input-height);
}
select:where([multiple]){
	height:auto;
	max-height:none;
	overflow-y:scroll;
	padding:0;
	border:var(--form-input-bordWidth) solid var(--form-input-bordColor);
	background-color:var(--form-input-fondColor);
}
select:where([multiple]) option{
	padding:0.5em 1em;
	margin:var(--form-bouton-bordWidth);
}
:where(select[multiple]) option:checked{
	color:var(--form-bouton-textColor);
	background-color:var(--form-bouton-fondColor);
}

/* CHECKBOX / RADIO */
[type="checkbox"],
[type="radio"]{
	margin:0 0.3em 0 0;
	padding:0;
	appearance:none;
	vertical-align:middle;
	cursor:pointer;
	display:inline-block;
}
:is([type="checkbox"],[type="radio"]):not(.switch){
	width:var(--form-check-taille);
	height:var(--form-check-taille);
	border:var(--form-input-bordWidth) solid var(--form-input-bordColor);
}
[type="radio"]:not(.switch),
[type="radio"]:not(.switch)::before{ border-radius:50%; }
:is([type="checkbox"],[type="radio"]):not(.switch)::before{
	--form-check-marge:4px;
	content:"";
	background-color:var(--form-bouton-fondColor);
	display:block;
	width:calc(100% - var(--form-check-marge) * 2);
	height:calc(100% - var(--form-check-marge) * 2);
	margin:var(--form-check-marge);
	transform:scale(0);
	transition:transform .1s ease-out;
}
[type="checkbox"]:not(.switch):checked::before,
[type="radio"]:not(.switch):checked::before{ transform:scale(1); }
:is(.wpcf7-checkbox,.wpcf7-radio,.gfield_checkbox,.gfield_radio){
	display:flex;
	flex-wrap:wrap;
	gap:1em;
}
.form-list :is(.wpcf7-checkbox,.wpcf7-radio,.wpcf7-list-item,.gfield_checkbox,.gfield_radio,.gchoice){
	display:block;
	margin-bottom:1em;
}
.wpcf7-list-item label:where(:has(input):has(.wpcf7-list-item-label)),
.gchoice label:where(:has(input):has(.gform-field-label)){
	display:flex;
	flex-wrap:nowrap;
	align-items:flex-start;
}
.wpcf7-list-item label:where(:has(input):has(.wpcf7-list-item-label)) input,
.gchoice label:where(:has(input):has(.gform-field-label)) input{
	flex:0 0 auto;
}
.wpcf7-list-item label:where(:has(input):has(.wpcf7-list-item-label)) .wpcf7-list-item-label,
.gchoice label:where(:has(input):has(.gform-field-label)) .gform-field-label{
	flex:1 1 auto;
	line-height:1.2;
	padding-block:calc((var(--form-check-taille) - 1.2em)/2);
}

/* Aspect "switch" */
.switch {
	border-radius:var(--form-check-taille);
	width:calc(var(--form-check-taille)*2);
	height:var(--form-check-taille);
	line-height:var(--form-check-taille);
	font-size:calc(var(--form-check-taille) * 0.4);
	box-shadow:inset calc(var(--form-check-taille) * -1) 0 0 var(--form-bouton-bordWidth) currentColor,
	           inset 0 0 0 var(--form-bouton-bordWidth) currentColor;
	transition:box-shadow .3s ease-out;
	background-color:#fff;
}
.switch:checked {
	box-shadow:inset var(--form-check-taille) 0 0 var(--form-bouton-bordWidth) var(--form-bouton-fondColor),
	           inset 0 0 0 var(--form-bouton-bordWidth) var(--form-bouton-fondColor);
}
.switch::before,
.switch::after {
	font-weight:bold;
	color:#fff;
}
.switch::before {
	content:"✕";
	float:right;
	margin-right:calc(var(--form-check-taille) * 0.4);
}
.switch:checked::before {
	content:"✓";
	float:left;
	margin-left:calc(var(--form-check-taille) * 0.4);
}

/* FICHIERS */
::file-selector-button{
	margin-right:0.25em;
}
/* Pour utiliser cet aspect, le champ doit être dans un élément contenant la classe .form-fileInput */
.form-fileInput{
	display:inline-block;
	position:relative;
}
.form-fileInput [type="file"]{
	position:absolute;
	inset:0;
	opacity:0;
	z-index:1;
	overflow:hidden;
}

/* AUTRES CHAMPS */
progress{
	display:inline-block;
	width:100%;
	vertical-align:baseline;
}
output{ display:inline-block; }

/*==== Structure ================================================================================*/
fieldset{
	padding:0;
	border:1px solid var(--form-input-bordColor);
}
legend{
	display:table;
	max-width:100%;
	padding:0 0.5em;
	color:inherit;
	white-space:normal;
	border:0;
}
label{
	display:inline-block;
	cursor:pointer;
}
.form-ligne:where(:not(.wp-block-column)){ margin-block:var(--margesDefaut); }
.form-optionnel{
	font-size:0.8em;
	color:limegreen;
}
.form-label{
	display:block;
	margin:0 auto 0.5em 0;
	inline-size:fit-content;
}

/* Éléments inactifs */
:disabled{
	opacity:0.7;
	cursor:not-allowed;
}

/* .form-labelInside : le label contenu dans le bloc se comporte comme un placeholder et se déplace lorsque le champ est focus ou renseigné */
.form-labelInside{
	position:relative;
	padding-top:calc(var(--form-input-height) / 2);
}
.form-labelInside label{
	position:absolute;
	top:calc(var(--form-input-height) / 2);
	border-color:transparent;
	background:none;
	margin:0;
	transition:0.3s ease-out;
	transition-property:padding, opacity, font-size, font-style, top;
	pointer-events:none;
}
.form-labelInside label::after{
	content:" :";
	opacity:0;
	transition:opacity 0.3s ease-out;
}
.form-labelInside:is(:not(:has(input:placeholder-shown)),:has(input:focus)) label{
	padding:0;
	font-size:0.8em;
	opacity:1;
	font-style:normal;
	top:0;
}
.form-labelInside:is(:not(:has(input:placeholder-shown)),:has(input:focus)) label::after{opacity:1;}

/* Contact Form 7 */
.wpcf7-response-output:not(:empty){
	border:1px solid silver;
	border-left:4px solid currentColor;
	padding:1em 2em;
	margin:2em 0;
	background-color:white;
}
input.wpcf7-not-valid{color:red;}
.wpcf7-not-valid-tip{
	color:red;
	font-size:0.8em;
	display:block;
}

/* Badge Invisible reCaptcha */
.grecaptcha-badge{z-index:3;}


/* CAPTCHA */
.atelier_register_captcha_bouton{
    background:#eee;
    border:2px solid currentColor;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    gap:0.5em;
    line-height:1.2;
    padding:1em;
    width:100%;
}
.atelier_register_captcha_bouton::before{
    --couleur:#000;
    color:var(--couleur);
    content:"?";
    background:rgb(from var(--couleur) r g b / 0.1);
    border:2px solid rgb(from var(--couleur) r g b / 0.4);
    border-radius:50%;
    width:2em;
    height:2em;
    text-align:center;
    align-content:center;
    flex:0 0 auto;
    font-size:1.5em;
    font-weight:700;
}
.atelier_register_captcha_bouton.valid::before{
    --couleur:#480;
    content:"✓";
}









/* Protection des emails (effet visuel uniquement, protection réelle via php/js) */
a[data-class="atelier-emph"]:not(.done) .emphrplc{filter:blur(0.2em);}

.acf-actions a{ text-decoration:none; }

/* RGPD Youtube et ACF map */
.youtube-iframe-rgpd,
.youtube-iframe-axeptio,
.acf-map,
.osm-map{
	overflow:hidden;
	position:relative;
}
.acf-map,
.osm-map{
	width:100%;
	height:400px;
}
.youtube-iframe-rgpd::before,
.youtube-iframe-axeptio::before{
	content:"";
	display:block;
	padding-top:56.25%;
}
.youtube-iframe-rgpd > *,
.youtube-iframe-axeptio > *,
.acf-map.inactive > *{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.youtube-iframe-rgpd-vignette,
.youtube-iframe-axeptio-vignette{
	background:no-repeat center center / contain #000;
	filter:blur(10px);
}
.acf-map-rgpd-vignette,
.acf-map-axeptio-vignette{
	background:linear-gradient(120deg,#9cc0f9 0%,#e8eaed 12%,#e8eaed 88%,#b4dfc0 100%) #e8eaed;
}
.youtube-iframe-rgpd-inner,
.youtube-iframe-axeptio-inner,
.acf-map-rgpd-inner,
.acf-map-axeptio-inner{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:1em 2em;
}
.youtube-iframe-rgpd-inner,
.youtube-iframe-axeptio-inner{
	background:rgba(0,0,0,0.8);
	color:#fff;
}

.acf-map .acf-map-rgpd-inner,
.acf-map .acf-map-axeptio-inner{
	position:relative;
	background:rgba(0,0,0,0.15);
	color:#000;
}
.acf-map:not(.inactive) img,
.acf-map:not(.inactive) button{
	max-width:inherit;
	object-fit:inherit;
	background:inherit;
	padding:inherit;
	display:inherit;
	cursor:inherit;
}
.acf-map .marker{ display:none; }

.leaflet-container{
	font-size:1.2rem;
}
.leaflet-container .leaflet-marker-pane img{
	filter:drop-shadow(0px 0px 4px rgba(0,0,0,0.3));
}


/*============*\
#    FORMES    #
\*============*/
/* Triangles */
.shape-triangle{
	--shape-angle:0deg;
	height:var(--icon-dim);
	aspect-ratio:cos(30deg);
	clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
	transform-origin:center;
	transform:rotate(var(--shape-angle));
}
.shape-triangle-circ{
	--shape-angle:90deg;
	--shape-padd:calc(0.5 * var(--icon-dim) - cos(45deg) * 0.5 * var(--icon-dim));
	--shape-color:#fff;
	aspect-ratio:1;
	width:var(--icon-dim);
	border-radius:50%;
	padding:var(--shape-padd);
}
.shape-triangle-circ::before{
	content:"";
	display:block;
	background-color:var(--shape-color);
	width:calc(var(--icon-dim) - var(--shape-padd) * 2);
	height:calc(var(--icon-dim) - var(--shape-padd) * 2);
	clip-path: polygon(
		calc(50% + 50% * sin(var(--shape-angle) + (0 * 360deg) / 3))
		calc(50% + 50% * cos(var(--shape-angle) + (0 * 360deg) / 3)),
		calc(50% + 50% * sin(var(--shape-angle) + (1 * 360deg) / 3))
		calc(50% + 50% * cos(var(--shape-angle) + (1 * 360deg) / 3)),
		calc(50% + 50% * sin(var(--shape-angle) + (2 * 360deg) / 3))
		calc(50% + 50% * cos(var(--shape-angle) + (2 * 360deg) / 3))
	);
}
/* Hexagones */
.shape-hex{
	height:var(--icon-dim);
	aspect-ratio:1/cos(30deg);
	clip-path:polygon(50% -50%, 100% 50%, 50% 150%, 0% 50%);
	padding-inline:calc(1 / cos(30deg) * 0.25 * var(--icon-dim));
}
.shape-hexalt{
	width:var(--icon-dim);
	aspect-ratio:cos(30deg);
	clip-path:polygon(-50% 50%, 50% 0%, 150% 50%, 50% 100%);
	padding-block:calc(1 / cos(30deg) * 0.25 * var(--icon-dim));
}
.shape-hex.shift{ margin-inline:calc(1 / cos(30deg) * -0.25 * var(--icon-dim)); }
.shape-hexalt.shift{ margin-block:calc(1 / cos(30deg) * -0.25 * var(--icon-dim)); }
/* Étoiles */
.shape-star{
	--shape-angle:180deg;
	--shape-inner:30%;
	width:var(--icon-dim);
	height:var(--icon-dim);
	clip-path: polygon(
		calc(50% + 50% * sin(var(--shape-angle) + (0 * 360deg) / 5))
		calc(50% + 50% * cos(var(--shape-angle) + (0 * 360deg) / 5)),
		calc(50% + calc(50% - var(--shape-inner)) * sin(var(--shape-angle) + (0 * 360deg + 180deg) / 5))
		calc(50% + calc(50% - var(--shape-inner)) * cos(var(--shape-angle) + (0 * 360deg + 180deg) / 5)),
		calc(50% + 50% * sin(var(--shape-angle) + (1 * 360deg) / 5))
		calc(50% + 50% * cos(var(--shape-angle) + (1 * 360deg) / 5)),
		calc(50% + calc(50% - var(--shape-inner)) * sin(var(--shape-angle) + (1 * 360deg + 180deg) / 5))
		calc(50% + calc(50% - var(--shape-inner)) * cos(var(--shape-angle) + (1 * 360deg + 180deg) / 5)),
		calc(50% + 50% * sin(var(--shape-angle) + (2 * 360deg) / 5))
		calc(50% + 50% * cos(var(--shape-angle) + (2 * 360deg) / 5)),
		calc(50% + calc(50% - var(--shape-inner)) * sin(var(--shape-angle) + (2 * 360deg + 180deg) / 5))
		calc(50% + calc(50% - var(--shape-inner)) * cos(var(--shape-angle) + (2 * 360deg + 180deg) / 5)),
		calc(50% + 50% * sin(var(--shape-angle) + (3 * 360deg) / 5))
		calc(50% + 50% * cos(var(--shape-angle) + (3 * 360deg) / 5)),
		calc(50% + calc(50% - var(--shape-inner)) * sin(var(--shape-angle) + (3 * 360deg + 180deg) / 5))
		calc(50% + calc(50% - var(--shape-inner)) * cos(var(--shape-angle) + (3 * 360deg + 180deg) / 5)),
		calc(50% + 50% * sin(var(--shape-angle) + (4 * 360deg) / 5))
		calc(50% + 50% * cos(var(--shape-angle) + (4 * 360deg) / 5)),
		calc(50% + calc(50% - var(--shape-inner)) * sin(var(--shape-angle) + (4 * 360deg + 180deg) / 5))
		calc(50% + calc(50% - var(--shape-inner)) * cos(var(--shape-angle) + (4 * 360deg + 180deg) / 5))
	);
}
/* Graphiques circulaires */
.graph-circ{
	width:var(--icon-dim);
	height:var(--icon-dim);
	mask: conic-gradient(#000 calc(var(--progress) * 1turn), transparent calc(var(--progress) * 1turn + 0.5grad), transparent 0) intersect,
		  radial-gradient(50% 50%, transparent calc(100% - var(--icon-epaisseur)), #000 calc(100% - var(--icon-epaisseur) + 1px), #000 0 calc(100% - 1px), transparent);
}
/* Onglets */
.shape-onglet-outer{
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
	flex-wrap:wrap;
}
.shape-onglet{
	--shape-round:1em; /* Épaisseur des arrondis */
	--shape-space:2px; /* Espace entre les onglets */
	position:relative;
	margin:calc(var(--shape-round) * -1) calc(var(--shape-round) * -1 + var(--shape-space) / 2) 0;
	min-height:calc(var(--shape-round)*3);
	border:var(--shape-round) solid transparent;
	border-bottom:0;
	border-radius:calc(2*var(--shape-round)) calc(2*var(--shape-round)) 0 0;
	background-clip:border-box;
	align-content:center;
	--shape-onglet-rg:linear-gradient(transparent 0 0);
	--shape-onglet-rd:linear-gradient(transparent 0 0);
	mask:var(--shape-onglet-rg), var(--shape-onglet-rd), linear-gradient(#000 0 0) padding-box;
}
.shape-onglet.rleft{
	--shape-onglet-rg:radial-gradient(100% 100% at 0 0, transparent calc(100% - 1px), #000) 0 100% / var(--shape-round) var(--shape-round) no-repeat;
	margin-left:calc(var(--shape-space) / 2);
}
.shape-onglet.rright{
	--shape-onglet-rd:radial-gradient(100% 100% at 100% 0, transparent calc(100% - 1px), #000) 100% 100% / var(--shape-round) var(--shape-round) no-repeat;
	margin-right:calc(var(--shape-space) / 2);
}
.shape-onglet::before{
	--shape-shadow-h:0.5em; /* Hauteur de l'ombre */
	--shape-shadow-o:0.15; /* Intensité de l'ombre */
	content:"";
	position:absolute;
	inset:auto calc(var(--shape-round) * -1) 0;
	height:var(--shape-shadow-h);
	background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,var(--shape-shadow-o)));
}
.shape-onglet.active::before{opacity:0;}
/* Bulle */
.shape-bulle{
	--shape-dim:1em;
	position:relative;
	background-clip:border-box;
	border:0 solid transparent;
}
.shape-bulle:where(.posL,.posLT,.posLB){border-left-width:var(--shape-dim);}
.shape-bulle:where(.posT,.posTL,.posTR){border-top-width:var(--shape-dim);}
.shape-bulle:where(.posR,.posRT,.posRB){border-right-width:var(--shape-dim);}
.shape-bulle:where(.posB,.posBL,.posBR){border-bottom-width:var(--shape-dim);}
.shape-bulle:where(.posL){clip-path:polygon(var(--shape-dim) 0,100% 0,100% 100%,var(--shape-dim) 100%,var(--shape-dim) calc(50% + var(--shape-dim)),0 50%,var(--shape-dim) calc(50% - var(--shape-dim)));}
.shape-bulle:where(.posLT){clip-path:polygon(0 0,100% 0,100% 100%,var(--shape-dim) 100%,var(--shape-dim) var(--shape-dim));}
.shape-bulle:where(.posTL){clip-path:polygon(0 0,var(--shape-dim) var(--shape-dim),100% var(--shape-dim),100% 100%,0 100%);}
.shape-bulle:where(.posT){clip-path:polygon(0 var(--shape-dim),calc(50% - var(--shape-dim)) var(--shape-dim),50% 0,calc(50% + var(--shape-dim)) var(--shape-dim),100% var(--shape-dim),100% 100%,0 100%);}
.shape-bulle:where(.posTR){clip-path:polygon(0 var(--shape-dim),calc(100% - var(--shape-dim)) var(--shape-dim),100% 0,100% 100%,0 100%);}
.shape-bulle:where(.posRT){clip-path:polygon(0 0,100% 0,calc(100% - var(--shape-dim)) var(--shape-dim),calc(100% - var(--shape-dim)) 100%,0 100%);}
.shape-bulle:where(.posR){clip-path:polygon(0 0,calc(100% - var(--shape-dim)) 0,calc(100% - var(--shape-dim)) calc(50% - var(--shape-dim)),100% 50%,calc(100% - var(--shape-dim)) calc(50% + var(--shape-dim)),calc(100% - var(--shape-dim)) 100%,0 100%);}
.shape-bulle:where(.posRB){clip-path:polygon(0 0,calc(100% - var(--shape-dim)) 0,calc(100% - var(--shape-dim)) calc(100% - var(--shape-dim)),100% 100%,0 100%);}
.shape-bulle:where(.posBR){clip-path:polygon(0 0,100% 0,100% 100%,calc(100% - var(--shape-dim)) calc(100% - var(--shape-dim)),0 calc(100% - var(--shape-dim)));}
.shape-bulle:where(.posB){clip-path:polygon(0 0,100% 0,100% calc(100% - var(--shape-dim)),calc(50% + var(--shape-dim)) calc(100% - var(--shape-dim)),50% 100%,calc(50% - var(--shape-dim)) calc(100% - var(--shape-dim)),0 calc(100% - var(--shape-dim)));}
.shape-bulle:where(.posBL){clip-path:polygon(0 0,100% 0,100% calc(100% - var(--shape-dim)),var(--shape-dim) calc(100% - var(--shape-dim)),0 100%);}
.shape-bulle:where(.posLB){clip-path:polygon(var(--shape-dim) 0,100% 0,100% 100%,0 100%,var(--shape-dim) calc(100% - var(--shape-dim)));}




.bloc-grillelogos{
	--ratio:1;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:1em;
	& > *{
		flex:0 0 auto;
		width:calc(var(--l) * var(--ratio));
		height:calc(var(--h) * var(--ratio));
	}
}


/* Animation relative au scroll */
@supports(animation-timeline:view()){
	:is(.slideD,.slideG){
		--anim-range-end:33vh; /* Position à partir du bas de l'écran à laquelle l'animation s'arrête */
		animation-fill-mode:both;
		animation-duration:1ms;
		animation-timing-function:ease-out;
		animation-timeline:view(block);
		animation-range:entry 0% var(--anim-range-end);
	}
	.slideD{ animation-name:slideD; }
	.slideG{ animation-name:slideG; }
	@keyframes slideD{	from{ transform:translateX(-100%);	opacity:0;	}
						to{ transform:translateX(  0% );	opacity:1;	} }
	@keyframes slideG{	from{ transform:translateX( 100%);	opacity:0;	}
	  				  to{ transform:translateX(  0% );	opacity:1;	} }
}




/*============*\
#    HEADER    #===================================================================================
\*============*/
.header-container{
	display:flex;
	align-items:center;
	justify-content:space-between;
	position:relative;
	z-index:1;
}
.site-header-logo{
	flex:0 0 160px;
	margin-bottom:-50px;
	position:relative;
	z-index:2;
}
.site-header-menu--level-1-a{
	text-align:center;
	font-weight:700;
	text-decoration:none;
	display:block;
	padding-block:0.5em;
}
.site-header-menu--level-2-a{
	color:var(--couleur-noir);
	font-size:1.6rem;
	font-weight:bold;
	text-decoration:none;
	display:block;

	& .sub{
		border-top:1px solid #c7c7c7;
		color:var(--couleur-bleu-clair);
		font-style:italic;
		font-size:1.5rem;
		max-width:300px;
		padding-top:0.5em;
		margin-top:0.5em;
	}
}

@media(min-width:981px){
	.menu-toggle,
	.close-menu{ display:none; }
	.header-bouton{
		flex:0 0 auto;
		position:relative;
		z-index:0;
	}
	.main-navigation{
		flex:1 1 auto;
		z-index:1;
	}
	.site-header-menu--level-1-ul{
		display:flex;
		align-items:center;
		justify-content:space-evenly;
	}
	.site-header-menu--level-1-li{
		flex:0 1 auto;
	}
	.menu-item-has-children > .site-header-menu--level-1-a{
		display:flex;
		align-items:center;
		justify-content:flex-start;
		gap:0.3em;

		&::after{
			content:"";
			display: inline-block;
			width: 1lh;
			height: 1lh;
			--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='M36 18L24 30L12 18'/%3E%3C/svg%3E");
			background-color:var(--couleur-orange);
			-webkit-mask-image: var(--svg); mask-image: var(--svg);
			-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
			-webkit-mask-size: 100% 100%; mask-size: 100% 100%;
		}
	}
	.site-header-menu--level-2-ul--outer{
		position:absolute;
		inset:calc(100% + 50px) 0 auto 0;
		opacity:0;
		interpolate-size:allow-keywords;
		transition:0.3s ease-out;
		transition-property:opacity, transform;
		transform:translateY(-100%);
		pointer-events:none;
		z-index:-1;
	}
	:where([aria-expanded="true"]) + .site-header-menu--level-2-ul--outer{
		opacity:1;
		pointer-events:all;
		transform:translateY(0%);
	}
	.site-header-menu--level-2-ul--outer::before{
		content:"";
		position:absolute;
		inset:-100vmax -3em -2em -3em;
		background:var(--couleur-blanc);
		border-radius:0 0 3rem 3rem;
		box-shadow:0 0 3rem 0 rgba(0,0,0,0.2);
		z-index:-1;
	}
	.site-header-menu--level-2-ul{
		--cols-gap:var(--margesDefaut);
		--cols-prop:1fr 1fr;
		--cols-larg:300px;
		display:grid;
		gap:var(--cols-gap);
		justify-content:center;
		position:relative;
		grid-auto-flow:dense;
		grid-template-columns:repeat(auto-fill, minmax(var(--cols-larg),1fr));
	}
	.menu-encart{
		background:var(--couleur-bleu-clair);
		color:var(--couleur-blanc);
		margin-top:6rem;
		border-radius:2.4rem;
		padding:2.4rem 3rem;
		display:flex;
		align-items:center;
		justify-content:center;
		gap:3rem;
	}
	.menu-encart-texte{
		font-size:2.4rem;
		font-weight:700;
		text-wrap:balance;
		max-width:24em;
	}
}
@media(min-width:981px) and (max-width:1260px){
	.main-navigation,
	.header-pt{ margin-bottom:3rem; }
	.header-bouton{
		position:absolute;
		inset:100% 0 auto auto;
		transform:translateY(-50%);
	}
}
@media(max-width:981px){
	.header-bouton,
	.menu-encart{ display:none; }

	.main-navigation{
		position:fixed;
		inset:0;
		overflow-y:auto;
		z-index:9;
		background:var(--couleur-blanc);
		padding:1em 1lh;
		opacity:0;
		transform:translateX(-100%);
		pointer-events:none;
		transition:0.3s ease-out;
		transition-property:opacity, transform;

		[aria-expanded="true"] + &{
			opacity:1;
			transform:translateX(0%);
			pointer-events:all;
		}
	}
	.site-header-menu--level-1-a{
		text-align:left;
		font-size:2rem;

		.site-header-menu--level-1-li:first-child &{
			margin-right:6rem;
		}
	}
	.site-header-menu--level-2-ul{
		border-left:2px solid #c7c7c7;
		padding-left:1em;
		margin-left:0.3em;
	}
	.site-header-menu--level-2-a{
		margin-bottom:1em;

		& .sub{
			margin:0;
			padding:0;
			border:none;
		}
	}
	.menu-toggle{
		--icon-dim:2.4rem;
		margin-left:auto;
	}
	.close-menu{
		text-decoration:none;
		background:var(--couleur-bleu-clair);
		color:var(--couleur-blanc);
		display:block;
		width:3.6rem;
		height:3.6rem;
		border-radius:50%;
		position:absolute;
		right:3.6rem;
		top:0.5rem;

		& svg{
			width:60%;
			height:60%;
			margin:20%;
		}
	}
}

.header-pt{
	background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400"><path fill="red" d="M240 0h360v400H240z"/><path fill="%23060" d="M0 0h240v400H0z"/><g fill="none" stroke="%23ff0" stroke-linejoin="round"><g stroke-width="12"><circle cx="239.46" cy="200.14" r="93.92"/><ellipse cx="239.46" cy="200.14" rx="93.92" ry="16.69"/></g><ellipse cx="239.46" cy="200.14" rx="10.86" ry="87.19" transform="matrix(.5 -.866025 .866025 .5 -53.6 307.45)" stroke-width="22"/><g stroke-width="12"><ellipse cx="239.46" cy="248.96" rx="79.52" ry="16.69"/><ellipse cx="239.46" cy="151.32" rx="79.52" ry="16.69"/></g></g><path d="M285.48,210.34c0,25.41-20.6,46.02-46.02,46.02s-46.02-20.6-46.02-46.02v-63.88h92.03v63.88Z" fill="%23fff" stroke="red" stroke-width="26"/><circle cx="240.15" cy="175.04" r="9.42" fill="%23039"/><g fill="%23ff0"><circle cx="240.15" cy="146.46" r="9.42"/><circle cx="193.44" cy="146.46" r="9.42"/><circle cx="285.2" cy="146.46" r="9.42"/><circle cx="193.44" cy="192.78" r="9.42"/><circle cx="205.82" cy="241.99" r="9.42"/><circle cx="273.56" cy="241.99" r="9.42"/><circle cx="285.2" cy="192.78" r="9.42"/></g><g fill="%23039"><circle cx="240.15" cy="226.84" r="9.42"/><circle cx="240.15" cy="200.94" r="9.42"/><circle cx="219.35" cy="200.94" r="9.42"/><circle cx="260.97" cy="200.94" r="9.42"/></g></svg>') no-repeat center center / cover;
	width:1em;
	height:1em;
	display:block;
	border-radius:50%;
	flex:0 0 auto;
	order:1;
	margin-left:0.5em;
	font-size:2.4rem;
}

/*==================*\
#    HEADER PAGES    #
\*==================*/
.header-bleu{
	--blur:24px;
	position:relative;
	overflow:clip;
	border-radius:2rem;
	margin:0 max(3%, 20px) -5rem;
	padding-inline:3rem;
	display:flow-root;
	color:var(--couleur-blanc);

	&::before{
		content:"";
		position:absolute;
		inset:calc(var(--blur) * -2);
		background:url('design/fond-header.webp') no-repeat center center / cover var(--couleur-bleu-clair);
		z-index:-1;
		filter:blur(var(--blur));
	}
}

.header-bleu-breadcrumb{
	padding-left:160px;
	display:flow-root;

	& .rank-math-breadcrumb p{ margin-block:0.5em; }
	& .rank-math-breadcrumb a{
		color:inherit;
		text-decoration:none;

		&:is(:hover,:focus-visible){ text-decoration:underline; }
	}
}

.header-home{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:30px;
}
.header-home-gauche{
	flex:1 1 45%;
	margin-bottom:80px;
	& h1{
		margin-bottom:0;
		& .titre{
			margin-bottom:0.3em;
		}
		& .sous-titre{
			font-size:max(0.55em, 2.4rem);
			font-weight:900;
			margin-bottom:0.5em;
		}
	}
}
.header-home-droite{
	flex:1 1 55%;
	margin-bottom:60px;
}
@media(max-width:1260px){
	.header-home-gauche,
	.header-home-droite{ flex-basis:50%; }
}
@media(max-width:980px){
	.header-home-droite{ display:none; }
}


/*==================*\
#    BLOC ONGLETS    #
\*==================*/
.bloc-onglets-inner{
	background:linear-gradient(var(--couleur-bleu-clair), var(--couleur-bleu-fonce));
	margin:3em max(3%, 20px);
	border-radius:2rem;
	padding:60px 3rem;
	display:flow-root;
}
.bloc-onglets-intro{
	color:var(--couleur-blanc);
	text-align:center;
	font-size:1.8rem;
	max-width:1000px;
	margin:0 auto 2em;

	& h2{ color:inherit; }

	& > :first-child{ margin-top:0; }
	& > :last-child{ margin-bottom:0; }
}

.bloc-onglets{ --radius:18px; }
.bloc-onglets-contenu-onglets{
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
	gap:5px;
}
.bloc-onglets-contenu-onglets .bloc-onglets--onglet{
	border:none;
	background:var(--couleur-bleu-fonce);
	color:var(--couleur-blanc);

	&.active{
		background:var(--couleur-blanc);
		color:var(--couleur-bleu-fonce);
	}
}
.bloc-onglets-contenu-contenu{
	background:var(--couleur-blanc);
	border-radius:var(--radius);
	position:relative;
	z-index:1;
}
.bloc-onglets--contenu{ display:none; }
.bloc-onglets--contenu.active{ display:block; }
.bloc-onglets--contenu-col-outer{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	gap:50px;
	padding:50px 30px 40px;
}
.bloc-onglets--contenu-col{ flex:1 1 33%; }
.bloc-onglets--contenu-col:has( > p:only-child > img:only-child){ align-self:stretch; }
.bloc-onglets--contenu-col > p:only-child:has( > img:only-child){
	height:100%;
	margin:0;
}
.bloc-onglets--contenu-col > p:only-child > img:only-child{
	width:100%;
	height:100%;
	border-radius:var(--radius);
}
.bloc-onglets--contenu-col h3{ margin: 0.5em 0; }
@media(max-width:980px){
	.bloc-onglets-contenu-onglets{
		flex-wrap:wrap;
		margin-bottom:5px;
	}
	.bloc-onglets--contenu-col-outer{
		flex-direction:column;
	}
}
@media(min-width:981px){
	.bloc-onglets-contenu-onglets{ margin-bottom:calc(var(--radius) * -1); }
	.bloc-onglets-contenu-onglets .bloc-onglets--onglet{
		padding:0.6em calc(0.6em + 0.5lh) calc(0.6em + var(--radius));
		border-radius:1em 1em 0 0;
	}
}

/*================*\
#    ACTUALITÉS    #
\*================*/
.actualites-container{
	--cols-larg:320px;
	--radius:30px;
	margin-bottom:30px;
}
.actualite-item{
	position:relative;
	background:var(--couleur-blanc);
	border-radius:var(--radius);
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:space-between;
}
.actualite-lien{
	position:absolute;
	inset:0;
}
.actualite-image{
	width:100%;
	height:150px;
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:flex-end;
	flex:0 0 auto;

	& img{
		flex:0 0 auto;
		width:100%;
		height:150px;
		border-radius:var(--radius);
		transition:height 0.3s ease-out;

		.actualite-item:has( .actualite-lien:is(:hover,:focus-visible)) &{
			height:170px;
		}
	}
}

.actualite-contenu{
	padding:20px 30px;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:center;
	flex:1 1 auto;
}
.actualite-date{
	color:var(--couleur-bleu-clair);

	&::after{
		content:"";
		display:block;
		border-bottom:1px solid #b5b5b5;
		width:120px;
		height:0;
		margin:10px auto 10px 0;
	}
}
.actualite-titre{
	font-size:2rem;
	color:var(--couleur-bleu-fonce);
	font-weight:900;
	line-height:1.2;
}
.actualite-fauxlien{
	color:var(--couleur-noir);
	text-decoration:underline;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	margin-top:1em;

	& svg{
		color:var(--couleur-blanc);
		background:var(--couleur-orange);
		aspect-ratio:1;
		border-radius:50%;
		margin-left:0.3em;
		transition:background-color 0.3s ease-out;

		.actualite-item:has( .actualite-lien:is(:hover,:focus-visible)) &{
			background:var(--couleur-bleu-fonce);
		}
	}
}


/* Colonnes avec fond blanc */
.wp-block-column.has-background{
	padding:2em;
	border-radius:2rem;
	& > :first-child{ margin-top:0; }
	& > :last-child{ margin-bottom:0; }
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots){
	width:auto;
	border-bottom:1px solid #b4b6b7;
	margin:8rem 0;
}

/* Puces fléchées */
ul.is-style-liste-a-fleches > li::before{
	--list-liLarg:round(0.667em,1px);
	background:none;
	border-right:3px solid var(--couleur-orange);
	border-bottom:3px solid var(--couleur-orange);
	transform-origin:center center;
	transform:translate(-0.3em) rotate(-45deg);
}


/*============*\
#    FOOTER    #
\*============*/
.footer-container{
	margin-block:90px 60px;
	display:flex;
	align-items:stretch;
	justify-content:flex-start;
	gap:var(--margesDefaut);
}
.footer-container > *{
	background:var(--couleur-bleu-fonce);
	color:var(--couleur-blanc);
	border-radius:2rem;
	padding:2em 2.5em;
	position:relative;

	& a{ color:inherit; }
}
#colophon .footer-gauche{ flex-basis:33.33%; }
#colophon .footer-droite{ flex-basis:66.67%; }
.footer-droite{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	gap:var(--margesDefaut);
}
.footer-droite > svg{
	display:block;
	margin-top:-2em;
	width:150px;
}
.footer-container nav li{
	margin-block:0.5em;
	line-height:1.2;
}
.footer-container nav a{
	text-decoration:none;
	&:is(:hover,:focus-visible){
		text-decoration:underline;
	}
}
.footer-agences p{
	margin-bottom:0;
	line-height:1.2;
}
.footer-agences a{ font-weight:bold; }
.footer-socials-lien{
	font-size:5rem;
	display:inline-block;
	width:1em;
	height:1em;
	text-decoration:none;
	border:1px solid currentColor;
	border-radius:50%;
	padding:1rem;

	& svg{
		width:3rem;
		display:block;
	}
}
.footer-socials-autres{ font-size:1.4rem; }
@media(max-width:980px){
	.footer-droite > svg{
		margin-left:-1em;
		width:120px;
	}
}
@media(max-width:980px){
	.site-footer > .footer-container{
		flex-direction:column;
	}
}
@media(max-width:600px){
	.footer-droite{
		flex-direction:column;
	}
}



/*===================*\
#    BLOC CHIFFRES    #
\*===================*/
.bloc-chiffres{
	--cols-larg:175px;
}
.bloc-chiffres-item{
	background:var(--couleur-blanc);
	padding:20px;
	border-radius:20px;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	flex-direction:column;
	gap:0.5rem;
	&::after{
		content:"";
		width:80px;
		border-top:1px solid #b4b6b7;
	}
}
.bloc-chiffres-icone{ width:80px; }
.bloc-chiffres-texte{
	font-weight:500;
	color:var(--couleur-bleu-clair);
	text-wrap:balance;
	line-height:1.2;
}
.bloc-chiffres-chiffre{
	order:1;
	font-size:2.8rem;
	color:var(--couleur-bleu-fonce);
	font-weight:700;

	& .animChiffres{
		font-size:1.42em;
		line-height:1;
	}
}



/*==============*\
#    BLOC FAQ    #
\*==============*/
.bloc-faq{
	--icon-dim:55px;
	max-width:940px;
	margin-inline:auto;
}
.faq-item{
	margin-bottom:10px;
}
.faq-question{
	background:var(--couleur-blanc);
	display:flex;
	align-items:center;
	justify-content:flex-start;
	border-radius:calc(var(--icon-dim) / 2 + 2px);
	border:2px solid var(--couleur-blanc);
	text-decoration:none;
	gap:2.4rem;
	color:var(--couleur-noir);
}
.faq-question-icon{
	font-size:var(--icon-dim);
	width:1em;
	height:1em;
	flex:0 0 auto;
	transition:background-color 0.3s ease-out;
	background:var(--couleur-orange);
	position:relative;
	border-radius:50%;

	&::before, &::after{
		content:"";
		width:round(0.4em, 1px);
		height:round(0.04em, 1px);
		background:var(--couleur-blanc);
		position:absolute;
		inset:round(calc(50% - 0.02em),1px) auto auto round(calc(50% - 0.2em),1px);
		transform-origin:center center;
		border-radius:1em;
		transition:0.3s ease-out;
		transition-property:transform, opacity;
	}
	&::after{
		transform:rotate(90deg);
		opacity:1;
	}

	:where(.faq-item.active) &{
		background-color:hsl(from var(--couleur-orange) h calc(s*1.5) calc(l*0.6) / 1);
	}
	:where(.faq-item.active) &::after{ opacity:0; }
}
.faq-reponse{
	height:0;
	padding-block:0;
	padding-left:calc(var(--icon-dim) + 2.4rem);
	opacity:0;
	overflow-y:clip;
	pointer-events:none;
	interpolate-size:allow-keywords;
	transition:0.3s ease-out;
	transition-property:opacity, height, padding-block;

	:where(.faq-item.active) &{
		height:auto;
		padding-block:0.5em;
		opacity:1;
	}
}



/*=======================*\
#    BLOC Calculatrice    #
\*=======================*/

.wp-block-columns:has( .bloc-calc){
	& .wp-block-column:not(:has( .bloc-calc)){ flex:1 1 calc(100% - 500px - 2em); }
	& .wp-block-column:has( .bloc-calc){ flex:1 1 500px; }

	@media(max-width:1260px){
		& .wp-block-column:not(:has( .bloc-calc)),
		& .wp-block-column:has( .bloc-calc){ flex:1 1 50%; }
	}
	@media(max-width:980px){
		flex-wrap:wrap !important;
		flex-direction:column;
		& .wp-block-column:not(:has( .bloc-calc)),
		& .wp-block-column:has( .bloc-calc){ flex:0 0 auto; }
	}
}

.bloc-calc{
	--marges:4rem;
	background:var(--couleur-blanc);
	border:1px solid #b4b6b7;
	border-radius:35px;
	padding-inline:var(--marges);
}
.bloc-calc-intro{
	& :is(h2,.h2){ margin-bottom:0; }
	& .h3{ margin-top:0; }
}
.bloc-calc-slider--outer{ margin-block:var(--margesDefaut); }
.bloc-calc-slider--label{
	color:var(--couleur-bleu-clair);
	font-size:2rem;
	font-weight:500;
	display:block;
}
.bloc-calc-slider--ligne{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:calc(var(--marges) / 2);
}
.bloc-calc-slider--slider{
	--form-check-taille:2.4rem;
	flex:1 1 auto;
	-webkit-appearance:none;
	appearance:none;
	width:100%;
	outline:none;

	&::-webkit-slider-thumb{
		-webkit-appearance:none;
		appearance:none;
		margin:calc(-0.5em + 2px) 0;
		border-radius:50%;
		font-size:var(--form-check-taille);
		height:1em;
		width:1em;
		background-color:var(--couleur-orange);
		cursor:ew-resize;
	}
	&::-moz-range-thumb{
		-webkit-appearance:none;
		appearance:none;
		margin:calc(-0.5em + 2px) 0;
		border-radius:50%;
		font-size:var(--form-check-taille);
		height:1em;
		width:1em;
		background-color:var(--couleur-orange);
		cursor:ew-resize;
	}
	
	&::-webkit-slider-runnable-track{
		width:100%;
		height:4px;
		background: linear-gradient(
			to right, 
			var(--couleur-bleu-fonce) var(--progress, 0%), 
			#b4b6b7 var(--progress, 100%)
		);
		border-radius:2px;
	}
	&::-moz-range-track{
		width:100%;
		height:4px;
		background: linear-gradient(
			to right, 
			var(--couleur-bleu-fonce) var(--progress, 0%), 
			#b4b6b7 var(--progress, 100%)
		);
		border-radius:2px;
	}
}
.bloc-calc-slider--output{
	flex:0 0 8ch;
	font-size:3rem;
	color:var(--couleur-bleu-fonce);
	font-weight:800;
	line-height:1;
}
.bloc-calc-slider--output-alt{
	font-size:1.8rem;
	color:var(--couleur-noir);
	font-weight:500;
	display:block;
}
.bloc-calc-bestrate{
	text-align:center;
	margin-block:var(--margesDefaut);
	--form-bouton-bordColor:var(--couleur-orange);
	--form-bouton-textColor:var(--couleur-bleu-fonce);
}
.bloc-calc-footer{
	background-color:var(--couleur-orange);
	color:var(--couleur-blanc);
	margin:var(--margesDefaut) calc(var(--marges) * -1 - 1px) -1px;
	border-radius:35px;
	padding:var(--margesDefaut) var(--marges);
	text-align:center;
}
.bloc-calc-mensualites{
	line-height:1;
	font-size:2.4rem;
	font-weight:500;
}
.bloc-calc-mensualites--montant{
	font-size:1.25em;
	font-weight:800;

	& .nombre{
		font-size:1.667em;
	}
}
.bloc-calc-cta{
	--form-bouton-textColor:var(--couleur-blanc);
	--form-bouton-fondColor:var(--couleur-bleu-fonce);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.5em;
	font-size:2.8rem;
	margin-top:1rem;

	& svg{
		width:3.4rem;
		height:3.4rem;
	}
	&:is(:hover,:focus-visible){
		background-color:var(--couleur-noir);
		border-color:var(--couleur-noir);
	}
}
@media(max-width:600px){
	.bloc-calc{
		--marges:2rem;
		margin-inline:calc(var(--marges) * -1);
	}
	.bloc-calc-slider--output,
	.bloc-calc-mensualites{ font-size:2rem; }
	.bloc-calc-cta{ font-size:2.4rem; }
}

/* Popup */
.bloc-calc dialog{
	position:fixed;
	width:1200px;
	max-width:calc(100vw - var(--largScrollBar,0px) - 60px);
	max-height:calc(100vh - 60px);
	overflow:auto;
	z-index:9;
	padding:var(--margesDefaut) calc(var(--margesDefaut) * 2);
	background:var(--couleur-blanc);
	border:1px solid #707070;
	--form-input-fondColor:#d3d3d3;

	&::backdrop{
		background:rgba(0,0,0,0.8);
	}
	& .bloc-calc-intro :is(h2,.h2){ margin-top:0; }
	& .gform_required_legend,
	& .gform-footer{ display:none !important; }
	& .bloc-calc-sliders-outer{
		display:flex;
		align-items:flex-start;
		flex-wrap:wrap;
		gap:var(--margesDefaut);
	}
	& .bloc-calc-slider--outer{
		flex:0 0 max(300px, calc((100% - var(--margesDefaut) * 2) / 3));
		margin:0;
	}
	& .bloc-calc-slider--ligne{ display:block; }
	& .bloc-calc-slider--output{
		display:flex;
		align-items:baseline;
		justify-content:flex-start;
		gap:0.3em;
	}
	& .bloc-calc-bestrate{
		margin:0.5em 0 0.5em auto;
		& button{
			border:none;
			background:rgb(from var(--couleur-bleu-clair) r g b / 0.2);
			font-size:1.6rem;
			&:is(:hover,:focus-visible){ background-color:var(--couleur-bleu-fonce); }
		}
	}
	& .bloc-calc-footer{
		background:none;
		padding:0;
		margin:0;
		color:var(--couleur-bleu-clair);
	}
	& .ginput_container_consent{
		display:flex;
		align-items:baseline;
		justify-content:flex-start;
		gap:0.3em;
		& [type="checkbox"]{
			flex:0 0 auto;
			transform:translateY(0.5em);
		}
	}
	& .gfield--type-submit [type="submit"]{
		align-self:center !important;
		margin-left:auto;
		background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23fff" d="M18 4.25A2.25 2.25 0 0 0 15.75 2h-7.5A2.25 2.25 0 0 0 6 4.25v15.5A2.25 2.25 0 0 0 8.25 22h2.837l.456-1.5H8.25a.75.75 0 0 1-.75-.75V4.25a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 .75.75v6.827a6.6 6.6 0 0 1 1.5-.058zm3 9.006A5.48 5.48 0 0 0 17.501 12a5.5 5.5 0 0 0-4.812 8.169l-.666 2.186a.5.5 0 0 0 .624.625l2.187-.666A5.501 5.501 0 0 0 21 13.256M15.5 17a.5.5 0 1 1 0-1h4.002a.5.5 0 1 1 0 1zm2.001 2h-2a.5.5 0 1 1 0-1h2a.5.5 0 1 1 0 1"></path></svg>');
		background-repeat:no-repeat;
		background-size:1.5em 1.5em;
		background-position:0.5em center;
		background-color:var(--couleur-bleu-fonce);
		color:var(--couleur-blanc);
		padding-left:calc(1em + 1.5em);
		&:is(:hover,:focus-visible){ background-color:var(--couleur-noir); }
	}
	& .bloc-calc-lien-formtotal{ text-align:right; }
	& .bloc-calc-lien-formtotal a{ color:var(--couleur-noir); }


	&:has( .gform_confirmation_message) :is(.bloc-calc-lien-formtotal, .bloc-calc-intro, .bloc-calc-sliders-outer, .bloc-calc-footer){ display:none; }
}


/*===================================*\
#    FORMULAIRE DE DEMANDE DE PRÊT    #============================================================
\*===================================*/
body{ /* Spécificité (+0,+0,+1) */
	.gform_required_legend{
		font-size:0.8em;
		opacity:0.8;
	}
	.gform_wrapper.gravity-theme .gf_progressbar_title{ color:var(--couleur-noir); }
	.gform_wrapper.gravity-theme .gf_progressbar_blue{ background:var(--couleur-blanc); }
	.gform_page_fields{
		background:var(--couleur-blanc);
		border-radius:10px;
		padding:var(--margesDefaut);
	}
	.gform_wrapper.gravity-theme .gfield_checkbox label,
	.gform_wrapper.gravity-theme .gfield_radio label{ font-size:1em; }
	.gform_body :is([type="checkbox"], [type="radio"]){
		width:2em;
		height:2em !important;
	}
	.gform_wrapper.gravity-theme .gform_previous_button.button,
	.gform_wrapper.gravity-theme .gform_save_link.button{
		color:var(--form-bouton-textColor);
		background:var(--form-bouton-fondColor);
	}
	.gsection_title{ margin-top:0; }
	.gform_wrapper.gravity-theme .gfield.gfield--width-half.alignbottom,
	.gform_wrapper.gravity-theme .gfield.gfield--width-half:has( .afterinput){ align-self:flex-end; }
	.afterinput{
		min-height:var(--form-input-height);
		align-content:center;
		display:block;
	}
	.ginput_container :is([type="checkbox"],[type="radio"]):not(.switch)::before{ content:none; }
}
@media(min-width:981px){
	.cts-recap{
		display:flex;
		align-items:flex-start;
		justify-content:space-between;
		gap:var(--margesDefaut);
		position:relative;
	}
	.cts-recap-gauche{
		position:sticky;
		top:var(--margesDefaut);
		background:rgba(0,0,0,0.08);
		border-radius:var(--margesDefaut);
		padding:var(--margesDefaut);

		& h2{ margin-top:0; }
	}
	.cts-recap-droite h2{ margin-top:var(--margesDefaut); }
}


/*==========================*\
#    FORMULAIRE DE RAPPEL    #=====================================================================
\*==========================*/
.aside-rappel{
	--icon-dim:7rem;
	--form-input-fondColor:rgb(from var(--couleur-blanc) r g b / 0.2);
	--form-input-bordWidth:0;
	--form-input-bordColor:transparent;
	position:fixed;
	right:var(--margesDefaut);
	bottom:var(--margesDefaut);
	z-index:9;
	pointer-events:none;
}
.aside-rappel-toggle{
	display:block;
	width:var(--icon-dim);
	height:var(--icon-dim);
	background:var(--couleur-orange);
	border-radius:50%;
	color:var(--couleur-blanc);
	padding:calc(var(--icon-dim) * 0.2);
	transition:background-color 0.3s ease-out;
	margin-left:auto;
	pointer-events:all;

	&:is(:hover,:focus-visible){ background-color:var(--couleur-noir); }
}
.aside-rappel-form{
	max-height:calc(100vh - var(--icon-dim) - var(--margesDefaut) * 2);
	display:flow-root;
	overflow-y:auto;
	background:var(--couleur-orange);
	border:none;
	border-radius:15px;
	padding:var(--margesDefaut);
	margin-right:var(--icon-dim);
	color:var(--couleur-blanc);
	width:320px;
	max-width:calc(100vw - var(--largScrollBar,0px) - var(--margesDefaut) * 2 - var(--icon-dim));
	position:relative;
	clip-path:inset(100% 0 0 0);
	pointer-events:none;
	opacity:0;
	transition:0.3s ease-out;
	transition-property:clip-path, opacity;

	.active > &{
		clip-path:inset(0% 0 0 0);
		opacity:1;
		pointer-events:all;
	}
	.gform_title{
		margin-block:0 0.5em;
		color:inherit;
		text-align:center;
	}
	.gform_heading p,
	.gform_wrapper.gravity-theme .gfield_required{ display:none; }
	.gform_wrapper.gravity-theme .gfield_label{ margin-bottom:0; }
	.gform_wrapper.gravity-theme input[type=color],
	.gform_wrapper.gravity-theme input[type=date],
	.gform_wrapper.gravity-theme input[type=datetime-local],
	.gform_wrapper.gravity-theme input[type=datetime],
	.gform_wrapper.gravity-theme input[type=email],
	.gform_wrapper.gravity-theme input[type=month],
	.gform_wrapper.gravity-theme input[type=number],
	.gform_wrapper.gravity-theme input[type=password],
	.gform_wrapper.gravity-theme input[type=search],
	.gform_wrapper.gravity-theme input[type=tel],
	.gform_wrapper.gravity-theme input[type=text],
	.gform_wrapper.gravity-theme input[type=time],
	.gform_wrapper.gravity-theme input[type=url],
	.gform_wrapper.gravity-theme input[type=week],
	.gform_wrapper.gravity-theme select,
	.gform_wrapper.gravity-theme textarea{ color:var(--couleur-noir); }
	.gform_wrapper.gravity-theme .gform_fields{ grid-row-gap:0.5em; }
	.gform_wrapper.gravity-theme .gform_footer{
		margin-bottom:0;
		padding-bottom:0;
		text-align:center;
	}
	.gform_wrapper.gravity-theme .gform_footer input[type="submit"]{
		--form-bouton-textColor:var(--couleur-blanc);
		--form-bouton-fondColor:transparent;
		--form-bouton-bordColor:currentColor;
		margin:0 auto;
	}
	.gform_wrapper.gravity-theme .gfield_description.gfield_validation_message{
		border:none;
		background:none;
		padding:0;
		margin-top:0;
	}
	.gfield--type-consent.rgpd > legend{ display:none; }
	.gfield--type-consent.rgpd .ginput_container_consent{
		display:flex;
		align-items:flex-start;
		justify-content:flex-start;
		& [type="checkbox"]{
			flex:0 0 auto;
		}
	}
	
}
@media(max-width:600px){
	.aside-rappel{
		--margesDefaut:2rem;
	}
	.aside-rappel-form{
		margin:0 auto var(--margesDefaut) auto;
		max-width:calc(100vw - var(--largScrollBar,0px) - var(--margesDefaut) * 2);
		max-height:calc(100vh - var(--icon-dim) - var(--margesDefaut) * 3);
	}
}


