@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-builtontrust-beige:#f7eee3;			/* Charte : Beige Built on Trust */
	--couleur-gris:#3c3c3b;    /* Charte : Gris anthracite */
	--couleur-vert:#86bc25;    /* Charte : Vert */
	--degrade-vert:linear-gradient(90deg, #86bc25 0%, #519c33 100%); /* Charte : Vert (dégradé) */
	--couleur-biocontrole-prune:#8f2746;   /* Charte : Prune biocontrôle */
	--degrade-biocontrole-prune:linear-gradient(90deg, #8f2746 0%, #581e4c 100%); /* Charte : Prune biocontrôle (dégradé) */
	--couleur-biostimulation-orange:#ef7723;  /* Charte : Orange Biostimulation */
	--degrade-biostimulation-orange:linear-gradient(90deg, #ee8e2c 0%, #ef7723 100%); /* Charte : Orange Biostimulation (dégradé) */
	--couleur-biostimulation-rouge:#e3272b;  /* Charte : Rouge Biostimulation (Moka) */
	--degrade-biostimulation-rouge:linear-gradient(90deg, #e3272b 0%, #781612 100%); /* Charte : Rouge Biostimulation (Moka) (dégradé) */
	--couleur-bionutrition-jaune:#f9e300;  /* Charte : Jaune Bionutrition */
	--degrade-bionutrition-jaune:linear-gradient(90deg, #f9e300 0%, #e1b30e 100%); /* Charte : Jaune Bionutrition (dégradé) */
	--couleur-seedcare-bleu:#00a3b5;  /* Charte : Bleu Seedcare */
	--degrade-seedcare-bleu:linear-gradient(90deg, #00a3b5 0%, #007383 100%); /* Charte : Bleu Seedcare (dégradé) */
	--couleur-metaspora-bleu-f:#007bc2;  /* Charte : Bleu foncé Metaspora */
	--couleur-metaspora-bleu-c:#5dacd8;  /* Charte : Bleu clair Metaspora */
	--couleur-metaspora-gris:#7d7d7c;  /* Charte : Gris Metaspora */
	--degrade-metaspora-bleu:linear-gradient(90deg, #007bc2 0%, #5dacd8 100%); /* Charte : Bleu Metaspora (dégradé) */
	--couleur-lesaffre-bleu:#0a3b8e;  /* Charte : Bleu groupe Lesaffre */
/* STRUCTURE : */
	--largScrollBar:0px;
	--margesDefaut:3rem; /*....................................... Espacement par défaut */
	--largeur:1200px; /*.......................................... Largeur de contenu maximale, adaptable sur différents supports */
}
@media(pointer:fine){
	:root{--largScrollBar:17px;}
}
@media(max-width:1260px){
	:root{--largeur:960px;}
}
@media(max-width:980px){
	:root{--largeur:540px;}
}
@media(max-width:600px){
	:root{--largeur:300px;}
}

body{
/* Variables de gammes : */
	--couleur-main:var(--couleur-vert); /* Couleur des principaux éléments colorés */
	--couleur-alt:var(--couleur-gris); /* Couleur d'autres éléments colorés */
	--gradient:var(--degrade-vert); /* Dégradé coloré */
	--txt-couleur:var(--couleur-vert); /* Couleur du texte sur fond blanc */
	--txt-contrast:var(--couleur-blanc); /* Couleur du texte sur fond coloré */
/* FORMULAIRES : champs */
	--form-input-bordColor:var(--couleur-main); /*................ 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-main); /*. Couleur des contours de boutons */
	--form-bouton-bordWidth:0px; /*............................... Épaisseur des contours de boutons */
	--form-bouton-fondColor:var(--couleur-main); /*. Couleur des boutons et autres éléments interactifs */
	--form-bouton-textColor:var(--txt-contrast); /*........................... Couleur du texte des boutons */
/* FORMULAIRES : checkboxes/radio */
	--form-check-taille:3rem; /*.................................. Taille des pastilles de checkboxes (entre autres) */
/* FORMULAIRES : autres */
	--outline:var(--couleur-alt) 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) */
}
body.contrasts{
	--couleur-gris:#000;
	--couleur-builtontrust-beige:#fff;
	--couleur-vert:#5c8118;
	--degrade-vert:linear-gradient(90deg, #5c8118 0%, #3b7723 100%);
	--couleur-biostimulation-orange:#be5a13;
	--degrade-biostimulation-orange:linear-gradient(90deg, #be5a13 0%, #a94f0f 100%);
	--couleur-seedcare-bleu:#007383;
	--degrade-seedcare-bleu:linear-gradient(90deg, #00818f 0%, #007383 100%);
	--couleur-metaspora-bleu-f:#007380;
	--couleur-metaspora-bleu-c:#3d7c9e;
	--couleur-metaspora-gris:#666;
	--degrade-metaspora-bleu:linear-gradient(90deg, #3d7c9e 0%, #007380 100%);
}
:is(body,.home-gamme-outer).gamme-biocontrole{
	--couleur-main:var(--couleur-biocontrole-prune);
	--gradient:var(--degrade-biocontrole-prune);
	--txt-couleur:var(--couleur-biocontrole-prune);
}
:is(body,.home-gamme-outer).gamme-biostimulation{
	--couleur-main:var(--couleur-biostimulation-orange);
	--gradient:var(--degrade-biostimulation-orange);
	--txt-couleur:var(--couleur-biostimulation-orange);
}
body.gamme-biostimulation_moka{
	--couleur-main:var(--couleur-biostimulation-rouge);
	--gradient:var(--degrade-biostimulation-rouge);
	--txt-couleur:var(--couleur-biostimulation-rouge);
}
:is(body,.home-gamme-outer).gamme-bionutrition{
	--couleur-main:var(--couleur-bionutrition-jaune);
	--gradient:var(--degrade-bionutrition-jaune);
	--txt-couleur:var(--couleur-gris);
	--txt-contrast:var(--couleur-gris);
}
body.gamme-seedcare{
	--couleur-main:var(--couleur-seedcare-bleu);
	--gradient:var(--degrade-seedcare-bleu);
	--txt-couleur:var(--couleur-seedcare-bleu);
}
body.gamme-metaspora{
	--couleur-main:var(--couleur-metaspora-bleu-f);
	--couleur-alt:var(--couleur-metaspora-gris);
	--gradient:var(--degrade-metaspora-bleu);
	--txt-couleur:var(--couleur-metaspora-bleu-f);
}

/* 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-gris);
	font-family:Lato, Arial, system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
	font-size:1.8rem;
	line-height:1.5;
	min-height:100vh;
	background-color:var(--couleur-blanc);
}
body:not(.ready) *{ transition:none; /* Empêche les animations bizarres sur les liens, cf. scripts/main.js */ }
@media(max-width:1260px){
	body{ font-size:1.6rem; }
}


/* Blocs et structure */
p, address, ol, ul, dl, dt, dd{
	margin-top:0;
	margin-bottom:1em;
	text-wrap:pretty;
	max-width:80ch;
}
figure{ margin:0; }
nav ul, nav ol{
	padding:0;
	margin:0;
	list-style:none;
}
:where(.is-root-container) :is(ul,ol){
	--list-liLarg:0.4em; /* épaisseur des puces */
	--list-marg:0.4em; /* 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(--txt-couleur);
	width:var(--list-liLarg);
	height:var(--list-liLarg);
}
:where(.is-root-container .has-background:not(.has-builtontrust-beige-background-color) ul)>li::before{
	background-color:currentColor;
}
:where(.is-root-container ol)>li::marker{ content:none; }
:where(.is-root-container ol)>li::before{
	content:counter(ol-count) ".";
	color:var(--txt-couleur);
	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 */
/* ⚠ Si le margin-top ou les font-size sont modifiés, penser à les changer également dans le contexte titres × colonnes ci-après */
h1,h2,h3,h4,.h1,.h2,.h3,.h4{
	line-height:1.1;
	margin:2em auto 1em 0;
	text-wrap:balance;
	position: relative;
	font-weight:700;
}
h1:not(:where(.h2,.h3,.h4,.h5,.h6)),.h1{
	font-size:clamp(3rem, 4.16vw, 5rem);
}
h2:not(:where(.h1,.h3,.h4,.h5,.h6)),.h2{
	font-size:clamp(2.4rem, 2vw, 3.2rem);
	font-weight:300;
	width:clamp(300px, calc(var(--largeur) / 2), 100%);
	max-width:100%;
	&::after{
		--shift:calc((100vw - var(--largScrollBar) - var(--largeur)) / 2);
		content:"";
		width:calc(var(--shift) + 3em);
		height:0.1em;
		background:var(--txt-couleur);
		display:block;
		margin:0.5em auto 0 calc(var(--shift) * -1);
	}
	& :is(b,strong){
		font-weight:700;
	}
	& :is(i,em){
		text-shadow:0 0 0 currentColor;
	}
	.has-background:not(.has-builtontrust-beige-background-color) &::after{ background:currentColor; }
}
h2:not(:where(.h1,.h3,.h4,.h5,.h6)).has-text-align-center,.h2.has-text-align-center{
	margin-inline:auto;
	&::after{
		width:124px;
		margin-inline:auto;
	}
}
:is(.wp-block-media-text__content:last-child,
	.wp-block-column:not(:first-child),
	.produit-formulations-infos-contenu:not(:first-child),
	.produit-formulation-telechargements
) :is(h2:not(:where(.h1,.h3,.h4,.h5,.h6)),.h2)::after{
	width:100px;
	margin-left:0;
}
h3:not(:where(.h1,.h2,.h4,.h5,.h6)),.h3{
	font-size:clamp(2.2rem, 1.5vw, 2.4rem);
	color:var(--txt-couleur);
}
h4:not(:where(.h1,.h2,.h3,.h5,.h6)),.h4{
	font-size:2rem;
}

/* Marges titres × colonnes */
.wp-block-columns:has( .wp-block-column > :is(h1,.h1):first-child){ margin-top:calc(2 *  4  * 1em); } /* calc(margin-top * font-size * unité) */
.wp-block-columns:has( .wp-block-column > :is(h2,.h2):first-child){ margin-top:clamp(calc(2 *  2.4rem), calc(2 *  2vw), calc(2 *  3.2rem)); }
.wp-block-columns:has( .wp-block-column > :is(h3,.h3):first-child){ margin-top:clamp(calc(2 *  2.2rem), calc(2 *  1.5vw), calc(2 *  2.4rem)); }
.wp-block-columns:has( .wp-block-column > :is(h4,.h4):first-child){ margin-top:calc(2 * 1.8em); }
:where(.wp-block-columns > .wp-block-column) > :is(h1,h2,h3,h4,.h1,.h2,.h3,.h4):first-child{ margin-top:0; }

/* 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(--txt-couleur);
	background-color:transparent;
}
[id]{ scroll-margin-top:calc(var(--header-scrollmargin,0px) + 1em); /* "Décolle" la cible d'une ancre lors d'un scroll */ }

/* Medias */
img, svg{
	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,
.footer-contact,
.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,
.footer-contact,
.site-footer{ z-index:1; }
.container,
.alignfull > .wp-block-group__inner-container,
.is-style-media-en-fond > .wp-block-media-text__content{
	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);
}
.nav-links > .current{
	background:var(--couleur-main);
	color:var(--txt-contrast);
}

/* 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{
	--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{
	--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)); }
@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; }





/* Images avec style "Bulle" */
:is(.is-style-bulle > .wp-block-media-text__media, .wp-block-image.is-style-bulle, .wp-block-image.is-style-bulle-simplifiee){
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
}
:is(.is-style-bulle > .wp-block-media-text__media, .wp-block-image.is-style-bulle)::after{
	content:"";
	-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M99.28 10.29c.71-1.33-3.19-9.3-5.32-10.22s-9.38 20.89-8.86 22.58c1.42 4.65 13.47-11.03 14.18-12.37m9.22 16.82c1.94-.75 10.71-10.07 8.69-13.04S88.97 27.37 88.32 29.65c-1.78 6.26 18.24-1.8 20.18-2.55"/></svg>');
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M99.28 10.29c.71-1.33-3.19-9.3-5.32-10.22s-9.38 20.89-8.86 22.58c1.42 4.65 13.47-11.03 14.18-12.37m9.22 16.82c1.94-.75 10.71-10.07 8.69-13.04S88.97 27.37 88.32 29.65c-1.78 6.26 18.24-1.8 20.18-2.55"/></svg>');
	background:var(--couleur-main);
	position:absolute;
	inset:0 auto 0 50%;
	transform:translateX(-50%);
}
:is(.is-style-bulle > .wp-block-media-text__media, .wp-block-image.is-style-bulle, .wp-block-image.is-style-bulle-simplifiee) img{
	-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	border-radius:46% 50% 50% 50%;
}
:is(.is-style-bulle > .wp-block-media-text__media, .wp-block-image.is-style-bulle, .wp-block-image.is-style-bulle-simplifiee)::after,
:is(.is-style-bulle > .wp-block-media-text__media, .wp-block-image.is-style-bulle, .wp-block-image.is-style-bulle-simplifiee) img{
	aspect-ratio:1;
	width:100%;
	max-width:480px;
	display:block;
	mask-repeat:no-repeat;
	mask-position:center;
}


/* Média & Texte avec style "Savoir-faire" */
.wp-block-media-text.is-style-savoir-faire{
	flex-wrap:nowrap;
	gap:0;
	/* Biocontrôle */
	.gamme-biocontrole &,
	&.has-biocontrole-prune-background-color{ background:none !important; --couleur-main:var(--couleur-biocontrole-prune); }
	.gamme-biocontrole &::after,
	&.has-biocontrole-prune-background-color::after{ background-image:url('bloc-savoirfaire-biocontrole.svg') }
	.gamme-biocontrole &.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-biocontrole-alt.svg') }
	&.has-biocontrole-prune-background-color.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-biocontrole-alt.svg') }
	/* Biostimulation */
	.gamme-biostimulation &,
	&.has-biostimulation-orange-background-color{ background:none !important; --couleur-main:var(--couleur-biostimulation-orange); }
	.gamme-biostimulation &::after,
	&.has-biostimulation-orange-background-color::after{ background-image:url('bloc-savoirfaire-biostimulation.svg') }
	.gamme-biostimulation &.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-biostimulation-alt.svg') }
	&.has-biostimulation-orange-background-color.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-biostimulation-alt.svg') }
	/* Biostimulation (Moka) */
	.gamme-biostimulation_moka &,
	&.has-biostimulation-rouge-background-color{ background:none !important; --couleur-main:var(--couleur-biostimulation-rouge); }
	.gamme-biostimulation_moka &::after,
	&.has-biostimulation-rouge-background-color::after{ background-image:url('bloc-savoirfaire-biostimulation_moka.svg') }
	.gamme-biostimulation_moka &.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-biostimulation_moka-alt.svg') }
	&.has-biostimulation-rouge-background-color.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-biostimulation_moka-alt.svg') }
	/* Bionutrition */
	.gamme-bionutrition &,
	&.has-bionutrition-jaune-background-color{ background:none !important; --couleur-main:var(--couleur-bionutrition-jaune); --txt-contrast:var(--couleur-gris); }
	.gamme-bionutrition &::after,
	&.has-bionutrition-jaune-background-color::after{ background-image:url('bloc-savoirfaire-bionutrition.svg') }
	.gamme-bionutrition &.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-bionutrition-alt.svg') }
	&.has-bionutrition-jaune-background-color.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-bionutrition-alt.svg') }
	/* Metaspora */
	.gamme-metaspora &,
	&.has-metaspora-bleu-c-background-color,
	&.has-metaspora-bleu-f-background-color{ background:none !important; --couleur-main:var(--couleur-metaspora-bleu-f); }
	.gamme-metaspora &::after,
	&.has-metaspora-bleu-c-background-color::after,
	&.has-metaspora-bleu-f-background-color::after{ background-image:url('bloc-savoirfaire-metaspora.svg') }
	.gamme-metaspora &.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-metaspora-alt.svg') }
	&.has-metaspora-bleu-c-background-color.has-media-on-the-right::after,
	&.has-metaspora-bleu-f-background-color.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-metaspora-alt.svg') }
	/* Seedcare */
	.gamme-seedcare &,
	&.has-seedcare-bleu-background-color{ background:none !important; --couleur-main:var(--couleur-seedcare-bleu); }
	.gamme-seedcare &::after,
	&.has-seedcare-bleu-background-color::after{ background-image:url('bloc-savoirfaire-seedcare.svg') }
	.gamme-seedcare &.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-seedcare-alt.svg') }
	&.has-seedcare-bleu-background-color.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-seedcare-alt.svg') }
	/* Groupe Lesaffre */
	.gamme-lesaffre &,
	&.has-lesaffre-bleu-background-color{ background:none !important; --couleur-main:var(--couleur-lesaffre-bleu); }
	.gamme-lesaffre &::after,
	&.has-lesaffre-bleu-background-color::after{ background-image:url('bloc-savoirfaire-lesaffre.svg') }
	.gamme-lesaffre &.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-lesaffre-alt.svg') }
	&.has-lesaffre-bleu-background-color.has-media-on-the-right::after{ background-image:url('bloc-savoirfaire-lesaffre-alt.svg') }
}
.wp-block-media-text.is-style-savoir-faire > *,
.wp-block-media-text.is-style-savoir-faire::after{
	flex:1 1 30%;
}
.wp-block-media-text.is-style-savoir-faire > :is(.wp-block-media-text__content,.wp-block-media-text__media){ align-self:unset; }
.wp-block-media-text.is-style-savoir-faire::after{
	content:"";
	background:url('bloc-savoirfaire.svg') no-repeat left center / contain;
	display:block;
	margin-left:-1px;
}
.wp-block-media-text.is-style-savoir-faire.has-media-on-the-right::after{
	order:-1;
	background:url('bloc-savoirfaire-alt.svg') no-repeat left center / contain;
	transform-origin:center center;
	transform:scaleX(-1);
	margin-left:auto;
	margin-right:-1px;
}
.wp-block-media-text.is-style-savoir-faire .wp-block-media-text__content{
	background:var(--couleur-main);
	color:var(--txt-contrast);
	padding:3em var(--cols-gap);
	flex-basis:40%;
	min-width:400px;
	overflow-x:hidden;

	& .wp-block-list > li::before{ background-color:var(--txt-contrast); }
}
.wp-block-media-text.is-style-savoir-faire .wp-block-media-text__media img{
	width:100%;
	height:100%;
}
.wp-block-media-text.is-style-savoir-faire .wp-block-media-text__content h2::after{ background:currentColor; }
@media(max-width:980px){
	.wp-block-media-text.is-style-savoir-faire::after{ content:none; }
}
@media(max-width:600px){
	.wp-block-media-text.is-style-savoir-faire .wp-block-media-text__media{ display:none; }
	.wp-block-media-text.is-style-savoir-faire .wp-block-media-text__content{ min-width:0; }
}


/* Média & Texte avec style "Media large" */
@media(min-width:981px){
	.is-style-media-large{
		--colLarg:300px;
		flex-wrap:nowrap;
	}
	:where(.is-style-media-large) .wp-block-media-text__content{ flex:0 0 calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2 + var(--colLarg)); }
	:where(.is-style-media-large) .wp-block-media-text__media{ flex:1 1 auto; }
	:where(.is-style-media-large:not(.has-media-on-the-right)) .wp-block-media-text__content{ padding-right:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2); }
	:where(.is-style-media-large.has-media-on-the-right) .wp-block-media-text__content{ padding-left:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2); }
}
@media(min-width:1261px){
	.is-style-media-large{ --colLarg:380px; }
}
@media(max-width:980px){
	.is-style-media-large{
		width:var(--largeur);
		margin-inline:auto;
	}
}


/* Média & Texte avec style "Media en fond" */
.is-style-media-en-fond{
	display:block;
	position:relative;
	background:#000;
	padding:5em 0;
	
	&:last-child{
		margin-bottom:0;
		padding-bottom:7em;
	}
}
.is-style-media-en-fond .wp-block-media-text__media,
.is-style-media-en-fond .wp-block-media-text__media :is(figure, img){
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}
.is-style-media-en-fond .wp-block-media-text__media{ opacity:0.3; }
.contrasts .is-style-media-en-fond .wp-block-media-text__media{ opacity:0.05; }
.is-style-media-en-fond .wp-block-media-text__content{
	position:relative;
	z-index:1;
	color:var(--couleur-blanc);
	--couleur-main:var(--couleur-vert);
	--couleur-alt:var(--couleur-blanc);
}






 
/*=================*\
#    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,
:is(.bouton, .wp-block-button__link, .form--file-bouton),
textarea,
select,
optgroup{
	all:unset;
	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;
	box-sizing:inherit;
}

/* 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,
:is(.bouton, .wp-block-button__link, .form--file-bouton){
	display:inline-block;
	line-height:1.2;
	padding:1em calc(1em + 0.5lh);
	background:var(--form-bouton-fondColor);
	color:var(--form-bouton-textColor);
	border:var(--form-bouton-bordWidth) solid var(--form-bouton-bordColor);
	overflow:visible;
	user-select:none;
	text-decoration:none;
	transition:0.3s ease-out;
	transition-property:color, background-color, border-color;

	/* Boutons contenant une icône et/ou du texte pour screen reader */
	&: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-alt);
		--form-bouton-fondColor:var(--couleur-alt);
		--form-bouton-textColor:var(--txt-contrast);

		:is(body,.home-gamme-outer).gamme-bionutrition &{ --txt-contrast:var(--couleur-blanc); }
	}
}

/*==== 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);
	border-radius:6px;
	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%;
}

/* RANGE */
[type="range"]{
	-webkit-appearance:none;
	appearance:none;
	width:100%;
	outline:none;
}
[type="range"]::-webkit-slider-thumb{ /* (curseur pour WebKit/Blink) */
	-webkit-appearance:none;
	appearance:none;
	margin-top:calc(var(--form-check-taille)/-3 - var(--form-input-bordWidth));
	height:var(--form-check-taille);
	width:var(--form-check-taille);
	border:none;
	border-radius:50%;
	background-color:var(--form-bouton-fondColor);
	cursor:ew-resize;
}
[type="range"]:focus::-webkit-slider-thumb{ outline:auto 5px -webkit-focus-ring-color; }
[type="range"]::-moz-range-thumb{ /* (curseur pour Firefox) */
	-webkit-appearance:none;
	appearance:none;
	margin-top:calc(var(--form-check-taille)/-3 - var(--form-input-bordWidth));
	height:var(--form-check-taille);
	width:var(--form-check-taille);
	border:none;
	border-radius:50%;
	background-color:var(--form-bouton-fondColor);
	cursor:ew-resize;
}
[type="range"]:focus::-moz-range-thumb{ outline:auto; }
[type="range"]::-webkit-slider-runnable-track {
	width:100%;
	height:calc(var(--form-check-taille)/3);
	background-color:var(--form-input-fondColor);
	border:var(--form-input-bordWidth) solid var(--form-input-bordColor);
	border-radius:var(--form-check-taille);
}
[type="range"]::-moz-range-track {
	width:100%;
	height:calc(var(--form-check-taille)/3);
	background-color:var(--form-input-fondColor);
	border:var(--form-input-bordWidth) solid var(--form-input-bordColor);
	border-radius:var(--form-check-taille);
}

/* 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:6px;
	background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="m6 9l6 6l6-6"/></svg>') 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:rgb(from var(--couleur-gris) r g b / 0.7);

	.contrasts &{color:var(--couleur-gris);}
}
.form-label{
	display:block;
	margin:0 auto -0.5lh -0.5em;
	inline-size:fit-content;
	background:var(--couleur-blanc);
	padding:0.25em 0.5em;
	font-size:1.6rem;
	color:var(--couleur-main);
	position:relative;
	z-index:1;
	border-radius:0.5lh 0 0 0;
}

/* É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;}


/* 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 : FRISE CULTURES    #
\*===========================*/
.bloc-frisecultures{
	--dimitem:180px;
	overflow-x:hidden;
	position:relative;
	margin-block:3em;
}
.bloc-frisecultures-slider-inner{
	display:flex;
	align-items:stretch;
	justify-content:flex-start;
	flex-wrap:nowrap;
	width:max-content;
	transition:transform 0.3s ease-out;
}
.bloc-frisecultures-item{
	flex:0 0 auto;
}

.bloc-frisecultures-item--step{
	background:var(--couleur-builtontrust-beige);
	font-size:1.6rem;
	font-weight:700;
}
.bloc-frisecultures-item--step-inner{
	padding-block:0.2em;
	display:block;
}
.bloc-frisecultures-item--produits{
	display:flow-root;
	font-size:1.4rem;
	line-height:1.4;
}
.bloc-frisecultures-item--step-inner,
.bloc-frisecultures-item--produits{
	border-left:2px solid var(--couleur-vert);
	padding-inline:10px;
	transform:translateX(50%);
}
.bloc-frisecultures-produit{
	max-width:calc(var(--dimitem) - 22px);
	margin-top:5rem;
}
.bloc-frisecultures-produit:first-child{
	margin-top:2rem;
}
.bloc-frisecultures-produit--logo-img{
	height:2em;
	object-fit:contain;
	object-position:left center;
}
.bloc-frisecultures-produit--resume{margin-top:1em;}


.bloc-frisecultures[data-format="large"] .bloc-frisecultures-slider-inner{
	transform:translateX(calc((var(--largeur,0px)/2) - (var(--dim)/2) + (var(--dimitem)/4) ));
}


.bloc-frisecultures:not([data-format="overflow"]) .bloc-frisecultures-nav{ display:none; }
.bloc-frisecultures-navitem-outer{
	position:absolute;
	inset:0 auto;
	width:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2);
	z-index:1;
	transform:translateX(0);
	opacity:1;
	transition:0.3s ease-out;
	transition-property:transform, opacity;
}
.bloc-frisecultures-navitem-outer:first-child:has( [data-sens="-1"]){
	left:0;
	background:linear-gradient(to right, #fff, transparent);
}
.bloc-frisecultures-navitem-outer:last-child:has( [data-sens="1"]){
	right:0;
	background:linear-gradient(to left, #fff, transparent);
}
.bloc-frisecultures-navitem{
	position:absolute;
	bottom:calc(100% - var(--shiftImg,0px));
	max-width:none;
	padding:2em 0em;
	background:none;
	border:none;
	color:var(--couleur-gris);
	filter:drop-shadow(0px 0px 1px #fff) drop-shadow(0px 0px 2px #fff) drop-shadow(0px 0px 4px #fff) drop-shadow(0px 0px 8px #fff) drop-shadow(0px 0px 16px #fff);
}
.bloc-frisecultures-navitem[data-sens="-1"]{ left:0; }
.bloc-frisecultures-navitem[data-sens="1"]{ right:0; }
.bloc-frisecultures.min .bloc-frisecultures-navitem[data-sens="-1"],
.bloc-frisecultures.max .bloc-frisecultures-navitem[data-sens="1"]{
	pointer-events:none;
	opacity:0;
}
.bloc-frisecultures.min .bloc-frisecultures-navitem-outer:first-child:has( [data-sens="-1"]){ transform:translateX(-100%); }
.bloc-frisecultures.max .bloc-frisecultures-navitem-outer:last-child:has( [data-sens="1"]){ transform:translateX(100%); }
.bloc-frisecultures-navitem .atelier-icon{
	max-width:none;
}



/*============*\
#    HEADER    #
\*============*/

/* Logo */
.site-title{
	width:240px;
	aspect-ratio:690/256;
	margin:0;
}
svg:is(.header-forme,.header-forme-mobile){
	display:none;
	fill:var(--couleur-blanc);
}

/* Réseaux sociaux */
:is(.site-header-socials--level-1-ul, .site-footer-socials--level-1-ul) .menu-label{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
}
.site-footer-socials--level-1-a,
.site-header-socials--level-1-a,
.site-header-alt--level-1-a{
	display:block;
	color:inherit;
	transition:color 0.3s ease-out;
}
.socials-navigation{ padding-inline:1em; }
.site-footer-socials--level-1-a,
.site-header-socials--level-1-a{
	padding:0.5em 0.3em;

}
:is(.site-header-socials--level-1-a, .site-footer-socials--level-1-a) .menu-icon{
	width:2.4rem;
	height:2.4rem;
	display:inline-block;
}

/* Menu secondaire */
.header-alt > *{ height:auto; }
.site-header-alt--level-1-ul{ align-items:center; }
.site-header-alt--level-1-a{
	color:inherit;
	text-decoration:none;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:0.3em;
	padding:0.3em 0.5em;
	font-size:1.4rem;
	line-height:1;
	min-width:min-content;
}
.site-header-alt--level-1-a .menu-icon{
	display:block;
	width:1.5em;
	height:1.5em;
	flex:0 0 auto;
}

/* Mention site pour pros */
.header-mention-pro{
	font-size:1.2rem;
	margin-right:auto;
	order:-2;
	align-self:flex-end;
	opacity:0.5;
	line-height:1;
	padding-block:0.5em;
	text-wrap:balance;
}
.contrasts .header-mention-pro{ opacity:1; }

/* Sélecteur de langues */
.header-langues{
	order:2;
}
.wpml-ls{
	--dim-wpml-flag:24px;
	width:calc(var(--dim-wpml-flag) + 10px);
	aspect-ratio:28/22;
	margin-inline:auto;
}
.wpml-ls-legacy-dropdown-click a,
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle{
	padding:5px;
	border:none;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-flag{
	display:block;
	width:var(--dim-wpml-flag);
	border-radius:4px;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after{ display:none; }
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu{
	border:none;
	border-radius:8px;
	overflow:hidden;
}



@media(min-width:981px){
	.site-content{ padding-top:var(--header-shift, 8.2rem); }

	.header-structure{
		--prop-forme-l:clamp(220px, 15vw, 290px);
		--prop-forme-h:50px;
		display:grid;
		grid-template-columns:clamp(360px, 25vw, 490px) 1fr;
		grid-template-rows:1fr var(--prop-forme-h);
		grid-template-areas:"logo alt"
							"logo main";
		position:fixed;
		inset:0 0 auto 0;
	}
	.site-header-logo{ grid-area:logo; }
	.header-main{ grid-area:main; }
	.header-alt{ grid-area:alt; }

	/* Logo */
	.site-header-logo{
		position:relative;
		background:linear-gradient(0deg, transparent var(--prop-forme-h), #fff var(--prop-forme-h)), linear-gradient(270deg, transparent var(--prop-forme-l), #fff var(--prop-forme-l));
	}
	svg.header-forme{
		display:block;
		width:var(--prop-forme-l);
		height:var(--prop-forme-h);
		position:absolute;
		inset:auto 0 0 auto;
		z-index:-1;
	}

	/* Menu principal */
	.menu-toggle, .menu-close{ display:none; }
	[role="menubar"]{
		display:flex;
		position:relative;
	}
	[role="menubar"] :where([class*="--level-2-ul"]){
		position:absolute;
		top:100%;
		height:0;
		padding-block:0;
		overflow-y:clip;
		interpolate-size:allow-keywords;
		transition:0.3s ease-out;
		transition-property:height,padding-block;
		z-index:1;
	}
	[role="menubar"] :where([aria-expanded="true"] + [class*="--level-2-ul"]){ height:auto; }

	.header-main{
		margin-bottom:6px;
		position:relative;
	}
	.header-main,
	.header-main::before,
	.site-header-menu--level-2-ul{
		background:rgb(from var(--couleur-gris) r g b / 0.7);
	}
	.contrasts :is(
		.header-main,
		.site-header-menu--level-2-ul
	),
	.contrasts .header-main::before{
		background:rgb(from #000 r g b / 0.9);
	}
	.header-main::before{
		content:"";
		position:absolute;
		inset:0 100% 0 calc(var(--prop-forme-l) * -1);
		z-index:-2;
	}

	.site-header-menu--level-1-ul{
		height:100%;
		font-size:1.4rem;
		margin-left:-1.2em;
		color:var(--couleur-blanc);
		max-width:100%;
		word-wrap:normal;
	}
	.site-header-menu--level-1-li{
		position:relative;
	}
	.site-header-menu--level-1-li:not(:last-child)::after{
		content:"";
		width:0;
		height:1em;
		border-right:2px solid currentColor;
		opacity:0.3;
		position:absolute;
		inset:calc(50% - 0.5em) -1px auto auto;
	}
	.site-header-menu--level-1-a{
		display:block;
		height:100%;
		align-content:center;
		text-decoration:none;
		padding-inline:1.2em;
		color:inherit;
	}
	.site-header-menu--level-1-a[href="#"]{ cursor:default; }
	:is(.current-menu-ancestor, .current-menu-item) .site-header-menu--level-1-a::after{
		content:"";
		position:absolute;
		inset:auto 1.2em 0 1.2em;
		background:var(--couleur-main);
		height:4px;
	}
	.site-header-menu--level-2-ul{
		/*background:linear-gradient(0deg, rgb(from #000 r g b / 0.9) 0%, rgb(from var(--couleur-gris) r g b / 0.7) 100%);*/
		width:100%;
		min-width:240px;
		font-size:1.6rem;
		margin-left:calc(1.2 * 1.7rem - 1em);
		border-radius:0 0 0.3em 0.3em;
	}
	.site-header-menu--level-2-li:first-child{ margin-top:0.3em; }
	.site-header-menu--level-2-li:last-child{ margin-bottom:0.5em; }
	.site-header-menu--level-2-a{
		display:block;
		text-decoration:none;
		color:inherit;
		padding:0.3em 1em;
	}

	/* Ligne secondaire */
	.header-alt{
		display:flex;
		align-items:center;
		justify-content:flex-end;
		padding-right:calc(var(--icon-dim) + 10px);
		background:var(--couleur-blanc);
	}
	.header-alt > *{ flex:0 0 auto; }
	.header-alt > .alt-navigation{ flex-shrink:1; }
	.header-alt > .header-mention-pro{ flex-shrink:3; }
}
@media(min-width:1261px){
	.site-header-menu--level-1-ul{ font-size:2rem; }
	.site-header-menu--level-2-ul{ margin-left:calc(1.2 * 2rem - 1em); }
	.site-header-alt--level-1-a{ font-size:1.6rem; }
}
@media(min-width:981px) and (max-width:1260px){
	:is(.site-header-socials--level-1-a, .site-footer-socials--level-1-a) .menu-icon{
		width:2rem;
		height:2rem;
	}
}

@media(max-width:980px){
	.site-header{ --dim-boutons:4rem; }
	.header-structure,
	.header-alt{
		display:flex;
		align-items:stretch;
		justify-content:space-between;
	}
	.header-langues{
		flex:0 0 auto;
		margin-top:calc(var(--icon-dim) + 10px);
		width:calc(var(--icon-dim) + 10px);
		align-self:flex-start;
	}
	.menu-toggle{ align-self:center; }
	.header-alt > .socials-navigation{ display:none; }
	/* Logo */
	svg.header-forme-mobile{
		display:block;
		width:100%;
		height:25px;
		z-index:-1;
		position:absolute;
		inset:calc(100% - 1px) 0 auto 0;
	}
	/* Menu mobile */
	.mobile-menu-outer{
		display:flex;
		align-items:flex-start;
		justify-content:flex-start;
		position:fixed;
		inset:0 auto 0 0;
		width:0;
		opacity:0;
		z-index:9;
		background:rgba(0,0,0,0.8);
		overflow-x:clip;
		pointer-events:none;
		transition:width 0.3s ease-out, opacity 0.3s ease-out;
		line-height:1.2;
	}
	.mobile-menu-outer.active{
		opacity:1;
		width:100%;
		pointer-events:all;
	}
	.mobile-menu{
		background:var(--couleur-vert);
		height:100%;
		margin-right:0;
		overflow-y:auto;
		width:max-content;
		max-width:calc(100% - var(--dim-boutons) - 20px);
		flex:0 0 auto;
		color:var(--couleur-blanc);
	}
	.mobile-menu :where(a){
		display:block;
		color:inherit;
		position:relative;
		text-decoration:none;
		padding:0.5lh 1lh;
	}
	.header-alt button.menu-toggle,
	.mobile-menu-outer button.menu-close{
		--icon-dim:50%;
		flex:0 0 auto;
		margin:10px;
		padding:0;
		border-radius:50%;
		width:var(--dim-boutons);
		height:var(--dim-boutons);
		border:none;
	}
	.site-header-alt--level-1-a .menu-icon{ display:none; }
	[class*="--level-1-a"]{
		font-size:1.1em;
	}
	[class*="--level-2-a"]{
		font-weight:300;
		padding-block:0.3lh;
		margin-left:1.5lh;
		border-left:2px solid rgba(255,255,255,0.5);
	}
	[class*="--level-2-ul"]{
		margin-bottom:0.5lh;
	}

	.site-header-socials--level-1-ul{
		padding-inline:calc(1lh - 0.5em);
	}
	.site-header-socials--level-1-li{
		display:inline-block;
	}
	.mobile-menu .site-header-socials--level-1-a{
		padding-inline:0.5em;
	}
	.mobile-menu .header-mention-pro{
		padding:1em 2rem;
		opacity:1;
		font-size:1.4rem;
	}
	
}
@media(max-width:600px){
	.site-title{ width:200px; }
}


/*=====================*\
#    HEADER CONTENUS    #
\*=====================*/
.entry-header{
	--h1-fs:clamp(3rem, 4.16vw, 5rem);
	--shift:1lh;
	position:relative;
	display:flow-root;
	margin-bottom:1em;
	font-size:1.6rem;
}
.entry-header + *{
	position:relative;
	z-index:1;
}
.entry-header-banner :is(img,svg){
	width:100%;
	height:calc(100% - var(--shift));
	position:absolute;
	inset:0 0 var(--shift) 0;
	z-index:-1;
}
.entry-header-content{
	max-width:750px;
	position:relative;
	z-index:1;
}
.entry-header-content h1{
	font-size:var(--h1-fs);
	margin-block:clamp(3em, 20vw, 240px) 1em;
	color:var(--couleur-builtontrust-beige);
	text-shadow:0 0 .24em rgba(0,0,0,1), 0 0 .12em rgba(0,0,0,.5), 0 0 .6em rgba(0,0,0,.25);
}

.entry-header-content a{ 
	color:inherit;
	text-decoration:none;
}
.entry-header-breadcrumb p{ margin:0; }
.entry-header-breadcrumb .last{ font-weight:700; }

.entry-header-graph{
	position:absolute;
	inset:calc(100% - var(--shift)) 0 auto 0;
	pointer-events:none;
}
.entry-header-graph svg{
	position:absolute;
	inset:0 0 auto 0;
	width:100%;
	aspect-ratio:1920/922;
	overflow:hidden;
	transform:translateY(-32%);
}
.header-habillage-svg:first-child{
	color:#000;
	opacity:.33;
	mix-blend-mode:multiply;
}
.contrasts .header-habillage-svg:first-child{ opacity:.95; }
.header-habillage-svg:last-child circle{ stroke:var(--couleur-main); }



/*==================*\
#    PAGE PRODUIT    #
\*==================*/
/* HEADER */
.produit-h1-logo,
.produit-h1-logo [fill]{
	fill:currentColor;
}
.produit-h1-logo{
	display:inline-block;
	height:2ex;
	filter:drop-shadow(0 0 .24em rgba(0,0,0,1)) drop-shadow(0 0 .12em rgba(0,0,0,.5)) drop-shadow(0 0 .6em rgba(0,0,0,.25));
	position:relative;
	z-index:-1;
}

.produit-label{
	position:relative;
	filter:drop-shadow(0 1px 3px rgba(0,0,0,0.5));
}
.produit-label :is(svg,img){
	display:block;
	position:absolute;
	inset:-140px 0 auto auto;
	width:180px;
	height:180px;
	object-fit:contain;
}
@media(max-width:980px){
	.produit-label :is(svg,img){
		position:static;
		width:100px;
		height:100px;
		margin:-1em 0 -3em auto;
	}
}

/* Liens cultures */
a.wp-block-button__link.produit-cultureliens-item{
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	gap:0.25em;
	margin:0 1em 1em 0;
	padding:0.25em 1em 0.25em 0.5em;
	border-radius:1.25em;
	border:none;
}
.produit-cultureliens-item > *{flex:0 0 auto;}
.produit-cultureliens-item--icone{
	--icon-dim:2em;
	width:var(--icon-dim);
	height:var(--icon-dim);
	line-height:1;
	color:inherit;
}

/* Vidéo */
.produit-section-video{
	display:flow-root;
	background:rgb(from var(--couleur-main) r g b / 0.1);
	padding-block:6em;
}

/* Onglets formulations */
.produit-formulations-tabs{
	position:sticky;
	top:var(--header-scrollmargin,0px);
	display:flex;
	align-items:stretch;
	justify-content:flex-start;
	filter:drop-shadow(0 0 10px rgba(0,0,0,0.3));
	background:var(--couleur-main);
	gap:1px;
	z-index:1;
}
.produit-formulation{
	scroll-margin-top:calc(var(--header-scrollmargin,0px) + var(--formulation-tabs,7rem));
	display:flow-root;
}
.produit-formulations-tab{
	flex:1 1 50%;
	position:relative;
	transition:0.3s ease-out;
	transition-property:color, background-color;
	background:var(--couleur-blanc);
	min-height:7rem;
	text-align:center;
	align-content:center;
	text-decoration:none;
	color:inherit;
	padding:0.5em;
	line-height:1;
}
.produit-formulations-tab::after{
	content:"";
	position:absolute;
	width:100px;
	max-width:100%;
	height:0px;
	clip-path:polygon(0% 0%, 100% 0%, 50% 100%);
	background:var(--couleur-main);
	inset:calc(100% - 1px) auto auto 50%;
	transform:translateX(-50%);
	transition:0.3s ease-out;
	background:var(--couleur-blanc);
	transition-property:height, background-color;
}
.produit-formulations-tab.active{
	background:var(--couleur-main);
	color:var(--txt-contrast);
}
.produit-formulations-tab.active::after{
	height:10px;
	background:var(--couleur-main);
}

/* Titre */
.produit-formulation-titre{
	text-align:center;
	align-content:center;
	font-size:clamp(3rem, 4.16vw, 5rem);
	color:var(--couleur-main);
	padding:0.6em 1em;
	font-weight:300;
}
.produit-formulation-titre b{ font-weight:700; }

/* Avantages */
.produit-formulations-avantages{
	background:var(--couleur-main);
	color:var(--txt-contrast);
	display:flow-root;
}
.produit-formulations-avantages h2::after{ background:currentColor; }
.produit-formulations-avantages-liste{
	--cols-larg:240px;
	--cols-gap:60px 90px;
	justify-content:space-between;
	padding-block:2em 3em;
	text-align:center;
}
.produit-formulations-avantage{
	max-width:var(--cols-larg);
	margin-inline:auto;
}
.produit-formulations-avantage--icon{ width:84px; }
.produit-formulations-avantage--label{ line-height:1.2; }
@media(max-width:980px){
	.produit-formulations-avantages-liste{ --cols-gap:60px; }
}

/* Infos produit */
.produit-formulations-infos{
	background:var(--couleur-builtontrust-beige);
}
.produit-formulations-infos-container,
.produit-formulations-infos-contenu{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
}
.produit-formulations-infos-gauche{
	margin-left:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / -2);
	width:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2 + 20%);
	margin-right:10%;
	flex:0 0 auto;
	position:relative;
	& img{
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
	}
}
.produit-formulations-infos-contenu{
	align-items:center;
	padding-block:3em;
}
.produit-formulations-infos-packshot{
	margin-left:var(--margesDefaut);
	flex:0 0 auto;
	width:clamp(120px, 40%, 400px);
}
@media(max-width:980px){
	.produit-formulations-infos-gauche{ display:none; }
	.produit-formulations-infos-contenu{
		flex-direction:column-reverse;
		align-items:stretch;
		justify-content:flex-start;
	}
	.produit-formulations-infos-packshot{
		margin:0 auto;
		width:300px;
	}
}

/* Usages */
.produit-formulations-usage-icone{
	background:var(--couleur-main);
	color:var(--txt-contrast);
	width:120px;
	height:120px;
	-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	mask-repeat:no-repeat;
	mask-position:center;
	border-radius:46% 50% 50% 50%;
	margin:0 auto;
	& svg{
		width:60%;
		height:60%;
		margin:20%;
	}
}
.produit-formulations-usages-liste{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	margin-inline:-2em;
	padding-bottom:6em;
}
.produit-formulations-usage{
	padding:2em;

	& h3{
		margin-top:1em;
		text-align:center;
	}

	& ul{ --list-shift:0px; }

	&:nth-child(odd){ background:rgb(from var(--couleur-main) r g b / 0.1); }
}
@media(min-width:601px) and (max-width:980px){
	.produit-formulations-usages-liste{ grid-template-columns:repeat(2,1fr); }
	.produit-formulations-usage:nth-child(4n),
	.produit-formulations-usage:nth-child(4n+1){ background:rgb(from var(--couleur-main) r g b / 0.1); }
	.produit-formulations-usage:nth-child(4n+2),
	.produit-formulations-usage:nth-child(4n+3){ background:none; }
}
@media(max-width:600px){
	.produit-formulations-usages-liste{ display:block; }
}

/* Téléchargements */
.produit-formulation-telechargements{
	color:var(--couleur-blanc);
	display:flow-root;
	--marge:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2);
	margin-left:var(--marge);
	padding:1em var(--marge) 2em 2em;

	& p{
		margin-bottom:0.5em;
		font-size:1.6rem;
	}

	& .wp-block-button__link:is(:hover,:focus-visible){
		--form-bouton-fondColor:var(--couleur-blanc);
		--form-bouton-bordColor:var(--couleur-blanc);
		--form-bouton-textColor:var(--couleur-gris);
	}
}
.produit-formulation-telechargements-main{
	background:var(--couleur-gris);
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:2em;
}
.produit-formulation-telechargements-alt{
	background:rgb(from var(--couleur-gris) r g b / 0.9);
}
.produit-formulation-telechargements-icone{ flex:0 0 100px; }
.produit-formulation-telechargements-contenuMain{ flex:1 1 auto; }
.produit-formulation-telechargements .produit-formulation-telechargements-liste{ margin-bottom:-1em; }
.produit-formulation-telechargements-liste .wp-block-button__link{ margin:0 1em 1em 0; }
@media(max-width:600px){
	.produit-formulation-telechargements-icone{ display:none; }
}

/* Contenu complémentaire */
.produit-contenusup-container{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
}
.produit-contenusup-image{
	margin-left:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / -2);
	width:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2 + 50%);
	margin-right:var(--margesDefaut);
	flex:0 0 auto;
	position:relative;
	& img{
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
	}
}
.produit-contenusup-contenu{
	padding-block:3em;
}
@media(max-width:980px){
	.produit-contenusup-image{ width:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2 + 20%); }
}
@media(max-width:600px){
	.produit-contenusup-image{ display:none; }
}

/* Mentions légales */
.produit-mentions{
	background:var(--couleur-builtontrust-beige);
	display:flow-root;
}
.produit-mentions-contenu{ padding-bottom:6em; }
@media(min-width:981px){
	.produit-mentions-contenu{
		column-count:2;
		column-gap:calc(var(--margesDefaut) * 2);
	}
	.produit-mentions-contenu > *{
		break-inside:avoid;
	}
}

/* Produits associés */
.liste-produits{
	justify-content:space-between;
	padding-bottom:6em;
}
@media(min-width:981px){
	.liste-produits{ --cols-larg:370px; }
}
.bloc-produit{
	width:var(--cols-larg);
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:flex-start;
	--dim-cultures:calc(var(--cols-larg) * 0.2);
	margin-bottom:calc((1.6em + var(--form-bouton-bordWidth)));
	font-size:1.6rem;
	height:calc((100% - 1.6em - var(--form-bouton-bordWidth)));
	position:relative;
}
.bloc-produit-header{
	flex:0 0 auto;
	min-height:90px;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	z-index:1;
	border-bottom:2px solid var(--couleur-main);
	position:relative;
	background:var(--couleur-blanc);
}
.bloc-produit-header--pack{
	width:35%;
	align-self:stretch;
	position:relative;
	margin-inline:-5% 0;

	& img{
		position:absolute;
		inset:auto 0 -25% 0;
		width:100%;
		height:auto;
	}
}
.bloc-produit-header--logo{
	width:70%;
}
.bloc-produit-logo.classique{
	width:auto;
	height:50px;
	object-fit:contain;
	object-position:left center;
}
.bloc-produit-content{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	position:relative;
	flex:1 1 auto;
	min-height:calc(var(--dim-cultures) * 6);
}
.bloc-produit-content-visuelpromo{
	flex:0 0 calc(100% - var(--dim-cultures));
	height:100%;
	position:relative;

	& img{
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
	}
}
.bloc-produit-cultures{
	background:var(--couleur-builtontrust-beige);
	flex:0 0 var(--dim-cultures);
	color:var(--couleur-main);
}
.blc-produit-cultures-icone{ padding:10%; }
.bloc-produit-resume{
	position:absolute;
	inset:auto var(--dim-cultures) 0 0;
	background:rgb(from var(--couleur-main) r g b / 0.8);
	color:var(--txt-contrast);
	padding:1.5em 1.25em 0;

	& p{ margin:0; }
}
.bloc-produit-resume .wp-block-button__link{
	transform:translate(-1.25em, calc((1.6em + var(--form-bouton-bordWidth))));
	position:relative;
	z-index:2;
}
.bloc-produit-overall{
	display:block;
	z-index:1;
	position:absolute;
	inset:0;
}

/* Success stories */
.liste-successstories{
	padding-bottom:6em;
}



/*====================*\
#    FOOTER CONTACT    #
\*====================*/
@media(min-width:981px){
	.footer-contact{ --largeur:700px; }
}
.footer-contact{
	background:var(--couleur-vert);
	color:var(--couleur-blanc);
	display:flow-root;
	position:relative;
	padding-block:25px;
	--form-bouton-bordColor:var(--couleur-blanc);
	--form-bouton-fondColor:var(--couleur-blanc);
	--form-bouton-textColor:var(--couleur-vert);
}
.footer-contact::before{
	content:"";
	background:var(--couleur-vert);
	width:100%;
	height:25px;
	display:block;
	-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 25" preserveAspectRatio="none"><path d="M150,0c58.6,0,111.6,9.3,150,24v1H0v-1C38.4,9.3,91.4,0,150,0Z"/></svg>');
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 25" preserveAspectRatio="none"><path d="M150,0c58.6,0,111.6,9.3,150,24v1H0v-1C38.4,9.3,91.4,0,150,0Z"/></svg>');
	position:absolute;
	inset:auto 0 calc(100% - 1px) 0;
}
.footer-contact-forme,
.slider-home-forme{
	position:absolute;
	width:152px;
	max-width:calc((100vw - var(--largScrollBar,0px) - var(--largeur)) / 2 - 1em);
	max-height:90%;
	aspect-ratio:152/515;
	inset:0 auto auto 0;
	z-index:1;
	pointer-events:none;
	transform:translateY(-20%);
	
	& svg{
		width:auto;
		height:100%;
		aspect-ratio:152/515;
		object-fit:contain;
		object-position:left center;
		margin:0 auto auto 0;
		display:block;
	}
}
.footer-contact-motif{
	position:absolute;
	inset:auto 0 0 auto;
	width:808px;
	max-width:80%;
	aspect-ratio:808/155;
	pointer-events:none;
}


/*============*\
#    FOOTER    #
\*============*/
.site-footer{
	background:var(--couleur-alt);
	color:var(--couleur-blanc);
}
.site-footer::before{
	content:"";
	background:var(--couleur-alt);
	width:100%;
	height:25px;
	display:block;
	-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 25" preserveAspectRatio="none"><path d="M150,1c58.6,0,111.6,9.3,150,24V0H0v25C38.4,10.3,91.4,1,150,1Z"/></svg>');
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 25" preserveAspectRatio="none"><path d="M150,1c58.6,0,111.6,9.3,150,24V0H0v25C38.4,10.3,91.4,1,150,1Z"/></svg>');
	position:absolute;
	inset:1px 0 auto 0;
	transform-origin:center top;
	transform:rotate(180deg);
	pointer-events:none;
}
.site-footer a{ color:inherit; }
.footer-logo{
	flex:0 0 240px;
	max-width:240px;
}
.footer-socials{
	margin-top:1em;
}
.footer-mediapilote{
	text-align:center;
	padding:0 1em 1em;
}
.footer-mediapilote a{
	text-decoration:none;
}
@media(max-width:980px){
	.footer-logo{ margin-inline:auto; }
	.footer-container{ text-align:center; }
	.site-footer-socials--level-1-ul{
		display:flex;
		justify-content:center;
	}
}
@media(min-width:981px){
	.footer-container{
		display:flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		padding:2em 0;
	}
}


/*====================*\
#    PAGE D'ACCUEIL    #
\*====================*/
/* Slider Home *\==================================================================================================================================*/
.slider-home{
	z-index:0;
	overflow:hidden;
	--dimInner : min(var(--largeur), calc(100% - 8em));
}
.slider-home::before{
	content:"";
	--dim : var(--largeur);
	border-radius:50%;
	background:rgba(0,0,0,0.3);
	width:80%;
	height:200%;
	position:absolute;
	z-index:0;
	inset:-60% auto auto -35%;
	transition:0.3s ease-out;
	transition-property:background-color,inset,width,height;
}
.contrasts .slider-home::before{
	background:rgba(0,0,0,0.95);
	width:100%;
	height:100%;
	border-radius:0%;
	inset:0;
}
.slider-home::after{
	content:"";
	background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 25" preserveAspectRatio="none" fill="%23fff"><path d="M150,1c58.6,0,111.6,9.3,150,24V0H0v25C38.4,10.3,91.4,1,150,1Z"/></svg>') no-repeat center bottom / 100% 100% transparent;
	width:100%;
	height:50px;
	position:absolute;
	inset:auto 0 49px 0;
	transform-origin:center bottom;
	transform:rotate(180deg);
	z-index:10;
	pointer-events:none;
}
.slider-home-slider{
	--swiffy-slider-item-gap:0em;
}
.slider-home-item-bg,
.slider-home-item-bg img{
	position:absolute;
	inset:0;
	z-index:-1;
	width:100%;
	height:100%;
}
.slider-home-item-contenu{
	height:100%;
	align-content:center;
	padding-block:calc(var(--header-shift,0px) + 6em) 6em;
	color:var(--couleur-blanc);
	z-index:8;
	width:var(--dimInner);
}
.slider-home-item-contenu h2{
	font-size:clamp(3rem, 4.16vw, 5rem);
	text-shadow:0 0 .24em rgba(0,0,0,1), 0 0 .12em rgba(0,0,0,.5), 0 0 .6em rgba(0,0,0,.25);
	margin-block:0 0.25em;
	width:min(720px, 100%);

	&::after{
		width:100px;
		margin-left:0;
		background-color:currentColor;
		box-shadow:0 0 .12em 0 rgba(0,0,0,.5), 0 0 .6em 0 rgba(0,0,0,.25);
	}
}
.slider-home-item-contenu p{
	font-size:clamp(1.8rem, 1.7vw, 2.2rem);
	max-width:520px;
	text-shadow:0 0 .24em rgba(0,0,0,1), 0 0 .12em rgba(0,0,0,.5), 0 0 .6em rgba(0,0,0,.25);
}
.slider-home-nav{
	position:absolute;
	left:calc(50% - var(--dimInner) * 0.5);
	top:0;
	height:100%;
	z-index:9;
	pointer-events:none;
	width:var(--dimInner);

	& button{ pointer-events:all; }
}
.slider-home-forme{
	top:50%;
	transform:translateY(-50%);
	max-height:80%;
}
@media(max-width:1260px){
	.slider-home-forme{ display:none; }
}
@media(max-width:980px){
	.slider-home{ --dimInner : min(var(--largeur), calc(100% - 4em)); }
	.slider-home .slider-nav-outside-expand .slider-container{ margin-inline:0; }
	.slider-home-item-contenu{ padding-block:5em; }
	.slider-nav-outside-expand .slider-nav{ margin-left:-2em; }
	.slider-nav-outside-expand .slider-nav.slider-nav-next{ margin-right:-2em; }
}

/* Expertises *\===================================================================================================================================*/
.wp-block-columns.home-expertises{ --cols-basis:6; }
.wp-block-columns.home-expertises .h3{ margin-top:1em; }
.wp-block-columns.home-expertises .wp-block-image img{ width:174px; }
@media(max-width:980px){
	.wp-block-columns.home-expertises{ --cols-basis:3; }
}

/* Gammes *\=======================================================================================================================================*/
/* Structure générale */
.bloc-gammes{
	--gammes-dimOff:150px;
	--gammes-dimCarte:290px;
	--gammes-dimSlider:calc(100vw - var(--largScrollBar,0px) - 2 * var(--gammes-dimOff) - var(--gammes-dimCarte));
	min-height:100vh;
}
@media(min-width:1261px){
	.bloc-gammes{
		--gammes-dimCarte:360px;
	}
}
.home-gamme-outer{
	position:relative;
}
@media(min-width:981px){
	.bloc-gammes{
		display:flex;
		align-items:stretch;
		justify-content:center;
	}
	.home-gamme-outer{
		flex:1 0 var(--gammes-dimOff);
		display:flex;
		align-items:center;
		justify-content:flex-start;
		padding-block:6em;
		transition:flex-basis 0.5s ease-out;
		overflow:hidden;
	}
	.home-gamme-outer.active{ flex:1 1 100%; }
	.home-gamme-outer > *{ flex:0 0 auto; }
	.home-gamme-toggle{
		position:absolute;
		inset:0;
		z-index:1;
	}
	:where(.home-gamme-outer.active) .home-gamme-toggle{ display:none; }
}
@media(max-width:980px){
	.home-gamme-outer{ padding-block:3em; }
	.home-gamme-toggle{ display:none; }
}

/* Fond */
.home-gamme-fond,
.home-gamme-fond::after,
.home-gamme-fond img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	display:block;
}
.home-gamme-fond{
	pointer-events:none;
	z-index:-1;
}
.home-gamme-fond::after{
	content:"";
	background:rgb(from var(--couleur-main) r g b / 0.9);
	transition:background-color 0.5s ease-out;
}
@media(min-width:981px){
	:where(.bloc-gammes:not(:has( .home-gamme-outer.active))) .home-gamme-fond::after{
		background:rgb(from var(--couleur-main) r g b / 0.7);
	}
}

/* Carte */
.home-gamme-card,
.home-gamme-card-off{
	color:var(--txt-contrast);
	text-align:center;
}
.home-gamme-card{
	margin:auto;
	width:var(--gammes-dimCarte);
	transition:0.5s ease-out;
	transition-property:width, transform;
	overflow:hidden;
	transform:translateX(0px);
}
.home-gamme-card-inner{
	background:var(--couleur-main);
	padding:1.5em;
	border-radius:16px;
	transition:background-color 0.5s ease-out;
}
.home-gamme-icon{
	width:min(124px, 60%);
	margin:0 auto;
}
.home-gamme-titre{
	color:inherit;
	font-size:clamp(2.4rem, 3.1vw, 4rem);
	font-weight:300;
	margin-block:0.5em;
	word-wrap:normal;

	& b{ font-weight:700; }
}
.home-gamme-baseline{
	font-size:clamp(1.8rem, 1.5vw, 2.4rem);
	font-weight:700;
	margin-block:0.5em;
}

@media(min-width:981px){
	:where(.bloc-gammes:has( .home-gamme-outer.active) .home-gamme-outer:not(.active)) .home-gamme-card{
		transform:translateX(calc(var(--gammes-dimCarte) * -1));
	}
	:where(.home-gamme-outer.active) .home-gamme-card-inner{
		background:transparent;
	}
	.home-gamme-card-off{
		writing-mode: sideways-lr;
		background:transparent;
		width:0;
		height:max-content;
		display:flex;
		flex-direction:row-reverse;
		align-items:center;
		justify-content:center;
		gap:2em;
		overflow:hidden;
		transition:0.5s ease-out;
		transition-property:transform, width;
		transform:translateX(0px);
	}
	:where(.bloc-gammes:has( .home-gamme-outer.active) .home-gamme-outer:not(.active)) .home-gamme-card-off{
		width:var(--gammes-dimOff);
		transform:translateX(calc(var(--gammes-dimCarte) * -1));
	}
	.home-gamme-card-off > *{
		flex:0 0 auto;
		width:max-content;
	}
	.home-gamme-card-off .home-gamme-icon{
		width:80px;
		height:80px;
	}
	.home-gamme-card-off .home-gamme-icon [stroke-width]{
		stroke-width:8;
	}
	.home-gamme-card-off .home-gamme-titre{
		font-size:3.2rem;
	}
}
@media(max-width:980px){
	.home-gamme-card-off{ display:none; }
}

/* Slider produits */
.gamme-slider-outer{
	--cols-larg:min(370px, calc(100vw - 2em - var(--largScrollBar,0px)));
	overflow:hidden;
}
.gamme-slider-outer,
.gamme-slider-produits{ height:100%; }
.gamme-slider-produits .slider-container{
	display:flex;
	align-items:stretch;
	justify-content:flex-start;
	padding-block:3em;
	height:auto;
	max-height:calc(100% - 6em);
}
.gamme-slider-produits-item{
	width:calc(var(--cols-larg) + var(--margesDefaut));
	flex:0 0 auto;
	/*height:100%;*/
	aspect-ratio:2/3;
}
.gamme-slider-produits-nav{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	margin:0 var(--margesDefaut) 0 auto;
	gap:1em;
}
.gamme-slider-produits-nav .slider-nav{
	position:static;
	width:66px;
	height:66px;
	-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	mask-repeat:no-repeat;
	mask-position:center;
	border-radius:46% 50% 50% 50%;
	background:var(--couleur-blanc);
	color:var(--couleur-main);
	padding:0;
	justify-content:center;
}
.gamme-slider-produits-nav .slider-nav::after{
	background-color:currentColor;
	width:2em;
	height:2em;
}
@media(min-width:981px){
	.gamme-slider-outer{
		width:0px;
		transition:width 0.5s ease-out;
	}
	:where(.home-gamme-outer.active) .gamme-slider-outer,
	.gamme-slider-produits{
		width:var(--gammes-dimSlider);
	}
}
@media(max-width:980px){
	.gamme-slider-outer,
	.gamme-slider-produits{ width:100%; }
	.gamme-slider-produits-item .bloc-produit{ margin-inline:auto; }
	.bloc-produit-content{ height:calc(var(--dim-cultures) * 6); }
}


/*=============================*\
#    BLOC "CHOIX DE CULTURE"    #====================================================================================================================
\*=============================*/
.bloc-choixcultures h2{
	margin-bottom:0.5em;
	&::after{ content:none; }
}
.choixcultures-box{
	background:var(--couleur-main);
	color:var(--txt-contrast);
	padding:3em;
	margin-bottom:3em;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:3em;
}
.choixcultures-select{
	position:relative;
	font-size:1.111em;
}
.choixculture-toggle{
	display:flex;
	align-items:center;
	justify-content:space-between;
	background:var(--couleur-blanc);
	color:var(--couleur-gris);
	padding:0.3em 0.3em 0.3em 1em;
	text-decoration:none;
	min-height:3.5em;
	gap:1.5em;
	border:2px solid var(--couleur-main);
}
.choixculture-toggle-icon{
	display:block;
	background:var(--couleur-main);
	-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 117.5 115.9"><path d="M52.5 115.4c30.5 4.9 59.6-22.8 64.5-53.3 2.7-16.9-6.1-32.4-19.7-43.7C86.2 9.2 72.8 3.1 58.6.7c-11-1.9-22.3.4-31.7 6.4C13.1 15.8 3.6 32.1.6 50.6-4.3 81.1 22 110.4 52.5 115.3"/></svg>');
	mask-repeat:no-repeat;
	mask-position:center;
	border-radius:46% 50% 50% 50%;
	width:2.5em;
	height:2.5em;
	text-align:center;
	align-content:center;
	color:var(--txt-contrast);
	transition:background-color 0.3s ease-out;
}
.choixculture-toggle-icon svg{
	display:inline-block;
}
.choixcultures-select:is(:hover,:focus-within) .choixculture-toggle-icon,
.choixculture-toggle:is(:hover,:focus) .choixculture-toggle-icon{
	background-color:var(--couleur-gris);
}
.choixculture-togglelist{
	background:var(--couleur-blanc);
	position:absolute;
	inset:100% auto auto 2px;
	height:0;
	overflow-y:clip;
	interpolate-size:allow-keywords;
	transition:0.3s ease-out;
	transition-property:height,padding-block;
	max-height:80vh;
	overflow:auto;
	z-index:1;
}
.choixculture-toggle:focus + .choixculture-togglelist,
.choixculture-togglelist:focus-within{
	height:auto;
}
.choixculture-selectitem{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	text-decoration:none;
	color:var(--couleur-gris);
	gap:1em;
	min-height:3.5em;
	padding:0.3em 1em 0.3em 0.3em;
}
.choixculture-selectitem--icon{
	width:calc(3.5em - 0.6em);
	aspect-ratio:1;
	align-self:stretch;
	& img{
		display:block;
		width:100%;
		height:100%;
	}
}
.choixculture-selectitem:not(:last-child){
	border-bottom:1px solid #ccc;
}
@media(max-width:980px){
	.choixcultures-box{
		flex-direction:column;
		gap:1em;
		align-items:stretch;
		padding:1em;
	}
}


/*================*\
#    ACTUALITÉS    #=================================================================================================================================
\*================*/
.actus-liste{
	--cols-gap:40px;
	--cols-larg:calc((100% - 2*var(--cols-gap)) / 3);
	/*margin-bottom:6em;*/
}
@media(max-width:980px){
	.actus-liste{
		--cols-gap:30px;
		--cols-larg:calc((100% - 1*var(--cols-gap)) / 2);
	}
}
@media(max-width:600px){
	.actus-liste{
		--cols-larg:100%;
	}
}
.actu-image-outer{
	background:var(--couleur-builtontrust-beige);
	position:relative;
	aspect-ratio:1;
	border-bottom:8px solid var(--couleur-main);
}
.actu-image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}
.actu-cats,
.page-actus-categories{
	display:flex;
	align-items:stretch;
	flex-wrap:wrap;
	gap:0.5em;
}
.actu-cats{
	position:absolute;
	inset:auto 0 0 0;
	justify-content:flex-end;
	flex-flow:wrap-reverse;
	padding:0.5em;
	font-size:1.4rem;
}
.page-actus-categories{
	justify-content:flex-start;
	margin-block:1em 3em;
	position:relative;
	font-size:1.6rem;
}
.actu-cat{
	flex:0 0 auto;
	color:var(--couleur-blanc);
	background:rgb(from var(--couleur-gris) r g b / 0.8);
	padding:0.5em 1em;
	border-radius:0.5em;
	text-decoration:none;
}
.contrasts .actu-cat{ background:var(--couleur-gris); }
.actu-titre{
	font-size:2rem;
	margin-block:0.7em;

	&:after{
		content:"";
		display:block;
		width:100px;
		height:2px;
		background:currentColor;
		margin-top:0.7em;
	}

	& a{ text-decoration:none; }
}
.actu-excerpt{
	font-size:1.6rem;
}

.page-actus{
	position:relative;
}
.page-actus-categories .actu-cat{
	background:#ddd;
	color:var(--couleur-gris);
}
.page-actus-categories .actu-cat.active{
	background:var(--couleur-main);
	color:var(--txt-contrast);
}

.pager{
	margin-block:6em;
}
.nav-links > *{
	border-radius:0.5em;
}


/*===========================*\
#    FORMULAIRE DE CONTACT    #======================================================================================================================
\*===========================*/
/* Onglets */
.page-contact-onglets{
	display:flex;
	align-items:baseline;
	justify-content:flex-start;
	font-size:clamp(1.8rem, 1.5vw, 2.4rem);
	font-weight:300;
	border-bottom:4px solid var(--couleur-main);
	gap:2.5em;
	margin-bottom:2em;
}
.page-contact-tab{
	padding-block:0.5em;
	text-decoration:none;
	color:inherit;
	transition:0.3s ease-out;
	transition-property:color, font-weight;
	position:relative;
	&::after{
		content:"";
		position:absolute;
		inset:auto calc(50% - 2rem) -1px;
		width:4rem;
		height:1rem;
		clip-path:polygon(50% 0%, 100% 100%, 0% 100%);
		background:var(--couleur-main);
		transform:scaleY(0);
		transform-origin: center bottom;
		transition:transform 0.3s ease-out;
	}
}
.page-contact-tab.active{
	font-weight:700;
	color:var(--couleur-main);
	&:after{
		transform:scaleY(1);
	}
}
.page-contact-toggle{
	height:0;
	overflow-y:clip;
	interpolate-size:allow-keywords;
	transition:0.3s ease-out;
	transition-property:height;
}
.page-contact-toggle.active{
	height:auto;
}

/* Coordonnées */
.page-contact-toggle{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:40px;
}
.contact-coordonnees{
	background:var(--couleur-gris);
	color:var(--couleur-blanc);
	flex:1 1 30%;
	min-width:300px;
	padding:2em 3rem;
	margin-bottom:40px;

	& a{ color:inherit; }
}
.contact-form{
	flex:1 1 70%;
	min-width:300px;
}
.contact-coordonnees ul{
	margin:0;
	padding:0;
	font-size:1.6rem;
}
.contact-coordonnees li{
	display:flex;
	align-items:baseline;
	justify-content:flex-start;
	gap:0.5em;
	padding-block:0.5em;
	position:relative;
	z-index:0;
}
.contact-coordonnees li::before{ content:none; }
.contact-coo-icon{ color:var(--couleur-builtontrust-beige); }
.contact-coordonnees li.active::after{
	content:"";
	background:var(--couleur-main);
	position:absolute;
	inset:0 -4rem 0 -1rem;
	z-index:-1;
	clip-path:polygon(0% 0%, calc(100% - 1rem) 0%, 100% 50%, calc(100% - 1rem) 100%, 0% 100%);
}
@media(max-width:980px){
	.page-contact-toggle{
		display:block;
	}
}

.captcha-image{
	border-color:var(--couleur-main);
	border-radius:6px;
	margin-bottom:1em;
}
.captcha-image svg{
	display:block;
	width:50px;
	height:50px;
	border-radius:50%;
}
.captcha-image label>input:checked+svg,
.captcha-image label>input:focus+svg{
	color:var(--txt-contrast);
	background:var(--couleur-main);
	border:none;
}

.form-produits{
	--cols-gap:40px;
	--cols-larg:240px;
}
.form-produits-item{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	width:100%;
	height:5rem;
	border-radius:1rem;
	overflow:hidden;
	box-shadow:0 3px 6px 0 rgba(0,0,0,0.15);
	margin-bottom:0.3em;
}
.form-produits-input{
	flex:0 0 4rem;
	background:#ccc;
	width:4rem;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background-color 0.3s ease-out;
}
.form-produits-input:has( input:checked){
	background-color:var(--couleur-main);
}
.form-produits-input [type="checkbox"]{
	border-radius:50%;
	border:none;
	margin:0;
	width:2.4rem;
	height:2.4rem;
	background:var(--txt-contrast);

	&::before{
		border-radius:50%;
		background:var(--couleur-main);
	}
}
.form-produits-logo{
	max-width:100%;
	flex:1 1 auto;
}
.form-produits-logo img{
	max-width:calc(100% - 2rem);
	height:4rem;
	object-fit:contain;
	object-position:left center;
	margin:0.5rem 1rem;
}
.form-produits-label{
	line-height:1;
	padding:0 0.5em;
	font-size:1.8rem;
	font-weight:700;
}
.form-produits-lien{
	display:flex;
	align-items:center;
	justify-content: flex-end;
	font-size:1.2rem;
	gap:0.3em;

	& svg{
		width:1.5em;
		height:1.5em;
	}
}
@media(max-width:980px){
	.form-produits{
		--cols-gap:30px;
		--cols-larg:240px;
		grid-template-columns:repeat(auto-fill, var(--cols-larg));
	}
	.form-produits > .form-produits-item-outer{ grid-column:unset; }
}
@media(max-width:600px){
	.form-produits{ --cols-larg:100%; }
}

.contact-US-map{
	position:sticky;
	top:var(--header-scrollmargin,0px);
	height:calc(100vh - var(--header-scrollmargin,0px));
	flex:1 1 auto;
	min-width:300px;
}
.contact-US-map-inner{
	padding-block:2em;
	height:100%;
}
.contact-US-map-inner svg{
	object-fit:contain;
	object-position:center center;
	width:100%;
	height:100%;
}
.contact-US-map g[data-regid]{
	transition:fill 0.3s ease-out;
}
.contact-US-map g[data-regid]:is(:hover,:focus-visible):not(.active){
	fill:hsl(from var(--couleur-gris) h s calc(l + 15));
}
.contact-US-map g[data-regid].active{
	fill:var(--couleur-main);
}

.contact-US-repsList{ flex:0 0 auto; }
.contact-rep-outer{
	padding:70px 10px 10px 50px;
}
@media(min-width:981px){
	.contact-rep-outer{
		height:auto;
		opacity:1;
		overflow-y:clip;
		interpolate-size:allow-keywords;
		transition:height 0.3s ease-out 0s, padding-block 0.3s ease-out 0s, opacity 0.3s ease-out 0.3s;
	}
	.contact-rep-outer.off{
		padding-block:0;
		height:0;
		opacity:0;
		transition:height 0.3s ease-out 0.3s, padding-block 0.3s ease-out 0.3s, opacity 0.3s ease-out 0s;
	}
}
.contact-rep{
	width:380px;
	border:1px solid #eee;
	background:var(--couleur-blanc);
	box-shadow:0 3px 6px rgba(0,0,0,0.16);
	padding:2rem;
}
.contact-rep-header{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	gap:0;
}
.contact-rep-portrait{
	flex:0 0 160px;
	margin:calc(-2rem - 60px) 0 0 calc(-2rem - 60px);
}
.contact-rep-nom{
	color:inherit;
	margin:0;
}
.contact-rep-fonction{
	color:var(--couleur-main);
	font-weight:300;
}
.contact-rep-datarow{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:0.3em;
	margin-bottom:0.5em;
}
.contact-rep-data--icon{
	color:var(--couleur-main);
	flex:0 0 2.4rem;
}
.contact-rep-data--data{
	font-size:1.6rem;

	& a{
		color:inherit;
		text-decoration-color:rgb(from var(--couleur-main) r g b / 0);
		transition:0.3s ease-out;
		transition-property:color, text-decoration-color;

		&:is(:hover,:focus-visible){
			color:var(--couleur-main);
		text-decoration-color:rgb(from var(--couleur-main) r g b / 1);
		}
	}

	& abbr{ text-decoration:none; }
}
.contact-rep-bio-bouton{
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	padding:0.5em 1em;
	gap:0.3em;
}

@media(min-width:981px) and (max-width:1260px){
	.contact-rep{ width:320px; }
}
@media(max-width:980px){
	.contact-US-map{ display:none; }
	.contact-rep-outer{ padding-inline:0; }
	.contact-rep{ margin-inline:auto; }
}
@media(max-width:600px){
	.contact-rep{ width:100%; }
}



figure:is(.aligncenter, .alignright, .alignleft){ display:block; }