@charset "UTF-8";
/* Conserver ce commentaire pour adapter les sélecteurs de cette feuille de styles à Gutenberg - atelier-adapt-gutenberg */

:root{
	--has-background-padding-V:1.2em;
	--has-background-padding-H:2.2em;
	--has-background-padding:var(--has-background-padding-V) var(--has-background-padding-H);
}



/* Mise en forme */
.is-small-text{ font-size:0.8em; }
.is-regular-text,
.has-regular-font-size,
.has-normal-font-size{ font-size:1em; }
.is-large-text,
.has-larger-font-size{ font-size:2em; }
.is-larger-text,
.has-huge-font-size{ font-size:3em; }
.has-drop-cap:not(:focus):first-letter{
	float: left;
	font-size: 8.4em;
	line-height: 0.68;
	margin: 0.05em 0.1em 0 0;
	text-transform: uppercase;
	font-style: normal;
}
p.has-drop-cap.has-background{ overflow: hidden; }
p.has-background{ padding: var(--has-background-padding); }
:where(p.has-text-color:not(.has-link-color)) a { color: inherit; }
.has-text-align-left,
.alignleft{ text-align: left; }
.has-text-align-center,
.aligncenter{ text-align: center; }
.has-text-align-right,
.alignright{ text-align: right; }
#end-resizable-editor-section{ display:none; }
.alignleft,
.aligncenter,
.alignright{ clear:both; }
.alignwide{
	width:calc(100% + 20rem);
	max-width:calc(100vw - 4rem);
	min-width:100%;
	margin-left:50%;
	transform:translateX(-50%);
}
.alignfull{
	width:100vw;
	max-width:100vw;
	margin-left:calc(-50vw + 50%);
	margin-right:calc(-50vw + 50%);
}
@supports(margin:var(--largScrollBar,0px)) {
	.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));
	}
}
.items-justified-left{ justify-content: flex-start; }
.items-justified-center{ justify-content: center; }
.items-justified-right{ justify-content: flex-end; }
.items-justified-space-between{ justify-content: space-between; }
html :where(.has-border-color),
html :where([style*="border-width"]){ border-style: solid; }
html :where(img[class*="wp-image-"]){
	height: auto;
	max-width: 100%;
}



/* Tableau */
.wp-block-table {
	margin: 0 0 1em;
	overflow-x: auto;
}
.wp-block-table table {
	border-collapse: collapse;
	min-width: 100%;
}
.wp-block-table table.has-fixed-layout {
	table-layout: fixed;
	min-width: 100%;
}
.wp-block-table table.has-fixed-layout :is(td,th){ word-break: break-word; }
.wp-block-table :is(td,th){
	--marges:0.5;
	border:1px solid currentColor;
	padding:calc(var(--marges)*1em) calc(var(--marges)*1em + var(--marges)*1ex);
	min-width:24ch;
}
/*.wp-block-table:is(.aligncenter,.alignleft,.alignright) {
	display: table;
	width: auto;
}
.wp-block-table:is(.aligncenter,.alignleft,.alignright) :is(td,th) { word-break: break-word; }*/
.wp-block-table.is-style-stripes {
	border-spacing: 0;
	border-collapse: inherit;
	background-color: transparent;
	border-bottom: 1px solid rgba(0,0,0,0.05);
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: rgba(0,0,0,0.05); }
.wp-block-table.is-style-stripes :is(td,th) { border-color: transparent; }
/*.wp-block-table .has-border-color :is(> *,td,th,tr) { border-color: inherit; }
.wp-block-table table[style*="border-style"] :is(> *,td,th,tr) { border-style: inherit; }
.wp-block-table table[style*="border-width"] :is(> *,td,th,tr) {
	border-width: inherit;
	border-style: inherit;
}*/



/* Bouton */
.wp-block-button__link.aligncenter { text-align: center; }
.wp-block-button__link.alignright { text-align: right; }
.wp-block-buttons > .wp-block-button.has-custom-width { max-width: none; }
.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link { width: 100%; }
.wp-block-buttons > .wp-block-button.has-custom-font-size .wp-block-button__link { font-size: inherit; }
.wp-block-buttons > .wp-block-button.wp-block-button__width-25 { width: calc(25% - var(--wp--style--block-gap, 0.5em) * 0.75); }
.wp-block-buttons > .wp-block-button.wp-block-button__width-50 { width: calc(50% - var(--wp--style--block-gap, 0.5em) * 0.5); }
.wp-block-buttons > .wp-block-button.wp-block-button__width-75 { width: calc(75% - var(--wp--style--block-gap, 0.5em) * 0.25); }
.wp-block-buttons > .wp-block-button.wp-block-button__width-100 {
	width: 100%;
	flex-basis: 100%;
}
.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 { width: 25%; }
.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-50 { width: 50%; }
.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-75 { width: 75%; }
:is(.wp-block-button__link,.wp-block-button).is-style-squared { border-radius: 0; }
:is(.wp-block-button__link,.wp-block-button).no-border-radius { border-radius: 0 !important; }
.is-style-outline > :where(.wp-block-button__link),
:where(.wp-block-button__link).is-style-outline {
	border: 2px solid;
	padding: 0.667em 1.333em;
}
.is-style-outline > .wp-block-button__link:not(.has-text-color),
.wp-block-button__link.is-style-outline:not(.has-text-color) { color: currentColor; }
.is-style-outline > .wp-block-button__link:not(.has-background),
.wp-block-button__link.is-style-outline:not(.has-background) { background-color: transparent; }
.wp-block-buttons.is-vertical { flex-direction: column; }
.wp-block-buttons.is-vertical > .wp-block-button:last-child { margin-bottom: 0; }
.wp-block-buttons > .wp-block-button {
	display: inline-block;
	margin: 0;
}
.wp-block-buttons.is-content-justification-left { justify-content: flex-start; }
.wp-block-buttons.is-content-justification-left.is-vertical { align-items: flex-start; }
.wp-block-buttons.is-content-justification-center { justify-content: center; }
.wp-block-buttons.is-content-justification-center.is-vertical { align-items: center; }
.wp-block-buttons.is-content-justification-right { justify-content: flex-end; }
.wp-block-buttons.is-content-justification-right.is-vertical { align-items: flex-end; }
.wp-block-buttons.is-content-justification-space-between { justify-content: space-between; }
.wp-block-buttons.aligncenter { text-align: center; }
.wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, .is-content-justification-center) .wp-block-button.aligncenter {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.wp-block-button.aligncenter { text-align: center; }





/* Titres */
:is(h1,h2,h3,h4,h5,h6):where(.has-background) { padding: var(--has-background-padding); }


/* Listes */
:is(ol,ul).has-background{ padding: var(--has-background-padding); }
ol.has-background{ padding-left: calc(var(--has-background-padding-H) + (3ch * var(--list-olRatio)) + var(--list-marg)); }
ul.has-background{ padding-left: calc(var(--has-background-padding-H) + var(--list-liLarg) + var(--list-marg) + var(--list-shift)); }


/* Séparateur */
.wp-block-separator {
	border:none;
	height:2px;
}


/* Espacement */
.wp-block-spacer{ clear: both; }


/* Image */
.wp-block-image {
	margin-bottom:1em;
	position: relative;
}
.wp-block-image:where(.alignfull,.alignwide) img {
	height: auto;
	width: 100%;
}
:where(.wp-block-image.is-style-rounded) img{ border-radius:100vmax; }
:where(.wp-block-image) figure { margin: 0; }


/*======================================*\
#    COLONNES, GALERIES & MEDIA/TEXTE    #===========================================================================================================
\*======================================*/
/* ENSEMBLE DE COLONNES (parents) */
.wp-block-columns,
.wp-block-gallery,
.wp-block-media-text{
	--cols-gap:var(--margesDefaut);
	--col-larg:calc(100% / var(--cols-basis));
	display:flex;
	flex-wrap:wrap;
	align-items: flex-start;
	justify-content:flex-start;
	gap:var(--cols-gap);
	margin-block:var(--cols-gap);
}
/* Nombre de colonnes par défaut / automatique */
.wp-block-columns{--cols-basis:4;} /* Nombre de colonnes par défaut (colonnes et galerie) */
.wp-block-columns:has(>.wp-block-column:where(:first-child:nth-last-child(1))){ --cols-basis:1; } /* 1 colonne */
.wp-block-columns:has(>.wp-block-column:where(:first-child:nth-last-child(2))){ --cols-basis:2; } /* 2 colonnes */
.wp-block-columns:has(>.wp-block-column:where(:first-child:nth-last-child(3))){ --cols-basis:3; } /* 3 colonnes */
.wp-block-columns:has(>.wp-block-column:where(:first-child:nth-last-child(4))){ --cols-basis:4; } /* 4 colonnes */
.wp-block-columns:has(>.wp-block-column:where(:first-child:nth-last-child(5))){ --cols-basis:5; } /* 5 colonnes */
.wp-block-columns:has(>.wp-block-column:where(:first-child:nth-last-child(6))){ --cols-basis:3; } /* 6 colonnes : 2×3 colonnes */
/* UNE COLONNE (enfants) */
.wp-block-column,
:where(.wp-block-gallery) .wp-block-image,
.wp-block-media-text > *{
	--cols-num:var(--cols-basis);
	flex:0 1 auto;
	flex-basis:calc(var(--col-larg) - (var(--cols-gap)*(var(--cols-num) - 1) / var(--cols-num)));
	padding:0;
	max-width:100%;
}
/* Marges si fond coloré */
:where(.wp-block-columns.has-background),
:where(.wp-block-column.has-background){ padding: var(--has-background-padding); }
/* Responsive design */
.is-root-container,
.wp-block-columns,
.wp-block-column{ container-type:inline-size; }
@container(min-width:960px){ /* Gestion des colonnes à largeur en pixels si le container est large */
	.wp-block-columns:has(> [data-colpx]) > :not([data-colpx]){ flex-grow:1; }
	.wp-block-columns:has(> [data-colpx]):not(:has(> :not([data-colpx]))){ flex-wrap:nowrap; }
	.wp-block-columns:has(> [data-colpx]):not(:has(> :not([data-colpx]))) > .wp-block-column[data-colpx]{ min-width:calc((960px - var(--cols-gap)*3)/4); }
	.wp-block-columns:has(> [data-colpx]):has(> :not([data-colpx])) > .wp-block-column[data-colpx]:not(:only-child){
		max-width:calc(50% - (var(--cols-gap)*(var(--cols-num) - 1) / var(--cols-num)));
		flex-basis:var(--col-larg);
	}
}
@container(max-width:959px){ /* Passage en 2 colonnes égales sur colonnes moyennes */
	.wp-block-columns:not(:has(.wp-block-column:where(:first-child:nth-last-child(1)))){ --cols-basis:2; }
	.wp-block-columns:not(:has(.wp-block-column:where(:first-child:nth-last-child(1)))) > .wp-block-column{
		flex-basis:calc((100% / var(--cols-basis)) - (var(--cols-gap)*(var(--cols-num) - 1) / var(--cols-num)));
		flex-grow:0;
	}
}
@container(max-width:539px){ /* Passage en 1 colonne sur colonnes étroites */
	.wp-block-columns:not(:has(.wp-block-column:where(:first-child:nth-last-child(1)))){ --cols-basis:1; }
	.wp-block-columns:not(:has(.wp-block-column:where(:first-child:nth-last-child(1)))) > .wp-block-column{ flex-basis:100%; }
}
/* GÉNÉRALITÉS (parents + enfants) */
/* Alignement vertical */
.wp-block-columns:where(.are-vertically-aligned-top),
.wp-block-media-text:where(.is-vertically-aligned-top){align-items: flex-start;}
.wp-block-columns:where(.are-vertically-aligned-center),
.wp-block-media-text:where(.is-vertically-aligned-center){align-items: center;}
.wp-block-columns:where(.are-vertically-aligned-bottom),
.wp-block-media-text:where(.is-vertically-aligned-bottom){align-items: flex-end;}
.wp-block-column:where(.is-vertically-aligned-top){ align-self: flex-start; }
.wp-block-column:where(.is-vertically-aligned-center){ align-self: center; }
.wp-block-column:where(.is-vertically-aligned-bottom){ align-self: flex-end; }
/* Retrait des marges au début et à la fin des colonnes */
:is(.wp-block-columns, .wp-block-gallery, .wp-block-media-text):first-child{margin-top:0;}
:is(.wp-block-column, :where(.wp-block-gallery) .wp-block-image, .wp-block-media-text > *) > :last-child{margin-bottom:0;}


/* MEDIA & TEXTE */
.wp-block-media-text{--cols-basis:2;}
@container(min-width:540px){
	:where(.wp-block-media-text).is-image-fill :where(.wp-block-media-text__media) {
		min-height: 250px;
		background-size: cover;
		align-self:stretch;
	}
	:where(.wp-block-media-text).is-image-fill :where(.wp-block-media-text__media) a {
		display: block;
		height: 100%;
	}
	:where(.wp-block-media-text).is-image-fill :where(.wp-block-media-text__media) img {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}
}
@container(max-width:539px){
	.wp-block-media-text{ --cols-basis:1; }
}


/* GALLERIE */
.wp-block-gallery{
	--cols-gap:10px;
	--cols-basis:6;
}
/* Nombre de colonnes automatique */
:where(.wp-block-gallery):has(>.wp-block-image:where(:first-of-type:nth-last-of-type(1))){ --cols-basis:4; } /* 1 colonne  : 4 colonnes */
:where(.wp-block-gallery):has(>.wp-block-image:where(:first-of-type:nth-last-of-type(2))){ --cols-basis:4; } /* 2 colonnes : 4 colonnes */
:where(.wp-block-gallery):has(>.wp-block-image:where(:first-of-type:nth-last-of-type(3))){ --cols-basis:4; } /* 3 colonnes : 4 colonnes */
:where(.wp-block-gallery):has(>.wp-block-image:where(:first-of-type:nth-last-of-type(4))){ --cols-basis:4; } /* 4 colonnes */
:where(.wp-block-gallery):has(>.wp-block-image:where(:first-of-type:nth-last-of-type(5))){ --cols-basis:5; } /* 5 colonnes */
:where(.wp-block-gallery):has(>.wp-block-image:where(:first-of-type:nth-last-of-type(6))){ --cols-basis:6; } /* 6 colonnes */
:where(.wp-block-gallery).aligncenter{ justify-content:center; }
:where(.wp-block-gallery).alignright{ justify-content:flex-end; }
:where(.wp-block-gallery) > figcaption {
	flex-grow:1;
	flex-basis:100%;
	text-align:center;
	order:-1;
}
:where(.wp-block-gallery) .wp-block-image{
	position:relative;
	margin:0;
}
:where(.wp-block-gallery.is-cropped) .wp-block-image{
	aspect-ratio:1;
	align-self:stretch;
}
:where(.wp-block-gallery) .wp-block-image a,
:where(.wp-block-gallery) .wp-block-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
:where(.wp-block-gallery) .wp-block-image figcaption{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	color:#fff;
	background-color:rgba(0,0,0,0.8);
	padding:0.5em 1em;
}
@container(max-width:959px){ /* Passage en 3 colonnes égales sur colonnes moyennes */
	.wp-block-gallery{ --cols-basis:3; }
}
@container(max-width:539px){ /* Passage en 2 colonnes sur colonnes étroites */
	.wp-block-gallery{ --cols-basis:2; }
}


/*========================*\
#    Galeries : Masonry    #=========================================================================================================================
\*========================*/
@media(min-width:601px){
	.wp-block-gallery:where(.is-style-masonry:not(.wp-block)){
		--cols-larg:250px;
		display:grid;
		grid-template-columns: repeat(auto-fit, minmax(var(--cols-larg),1fr));
		grid-auto-flow:dense;
		gap:0;
	}
	.wp-block-gallery:where(.is-style-masonry:not(.wp-block)) > figcaption{ grid-column:1/-1; }
	.wp-block-gallery:where(.is-style-masonry:not(.wp-block)) > .wp-block-image{
		grid-row:span 1;
		grid-column:span 1;
		aspect-ratio:1;
		padding:calc(var(--cols-gap) / 2);
		margin:0;
	}
	.wp-block-gallery:where(.is-style-masonry:not(.wp-block)) > .wp-block-image:has(img[data-orient="V"]){
		grid-row:span 2;
		grid-column:span 1;
		aspect-ratio:0.5;
	}
	.wp-block-gallery:where(.is-style-masonry:not(.wp-block)) > .wp-block-image:has(img[data-orient="H"]){
		grid-row:span 1;
		grid-column:span 2;
		aspect-ratio:2;
	}
	.wp-block-gallery:where(.is-style-masonry:not(.wp-block)) .wp-block-image figcaption{
		inset:auto calc(var(--cols-gap) / 2) calc(var(--cols-gap) / 2) calc(var(--cols-gap) / 2);
		width:auto;
	}
}


/*=====================*\
#    Réseaux sociaux    #============================================================================================================================
\*=====================*/
.atelier-socials,
.atelier-social-lien{
	display:flex;
	align-items:center;
	justify-content:center;
}
.atelier-socials{
	flex-wrap:wrap;
	margin:1em auto;
	gap:0.5em;
	font-size:5rem;
}
.atelier-social-lien{
	width:1em;
	height:1em;
	border-radius:50%;
	color:var(--couleur-blanc);
	background-color:var(--couleur-couleur-principale);
	transition:background-color 0.3s ease-out;
}
.atelier-social-lien:is(:hover,:focus){ background-color:var(--couleur-couleur-secondaire); }


/*=============================*\
#    ACF : Logos partenaires    #====================================================================================================================
\*=============================*/
.bloc-grillelogos{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:1em;
}
.bloc-grillelogos :is(a,img){
	display:block;
	width:100%;
	height:100%;
}
.bloc-grillelogos a{
	text-decoration:none;
	color:inherit;
}
.bloc-grillelogos img{
	object-fit:contain;
}


/*================================================================================*\
#    Messages front (404, protection mdp, absence de résultat de recherche... )    #=================================================================
\*================================================================================*/
.front-message{
	background:rgba(128,128,128,0.14);
	border:1px solid rgba(128,128,128,0.4);
	box-shadow:0px 3px 7px rgba(0,0,0,0.15);
	padding:1em calc(1em + 1ex);
	width:100%;
	max-width:540px;
	margin:3em auto;
	position:relative;
	backdrop-filter:blur(10px);
}
.champs-box{
	--form-input-height:3em;
	display:flex;
	align-items:stretch;
	justify-content:center;
}
.champs-box :is(input,button){
	--icon-dim:calc(var(--form-input-height) * 0.5);
	padding-block:0;
	align-content:center;
	font-size:inherit;
	width:auto;
	height:var(--form-input-height);
	line-height:1;
}
@media(max-width:600px){
	.champs-box{ flex-direction:column; }
}

/* Page 404 */
.e404-message-outer{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}
.e404-message-outer::before{
	content:"404";
	position:absolute;
	font-size:30em;
	font-weight:900;
	opacity:0.1;
	line-height:1;
}


/* Bloc groupe "Rangée" */
@media(min-width:601px){
	.wp-block-group-is-layout-flex{
		display:flex;
		align-items:stretch;
		justify-content:flex-start;
		gap:var(--margesDefaut);
	
		&:not(.is-nowrap){
			flex-wrap:wrap;
		}
	}
}
