/*
Stadium style
Tokens (couleurs, gaps, radii) et @font-face sont définis dans tokens.css.
*/

/******************/
/*******LIENS******/
/******************/
a:link {
	color: var(--vert1);
}
a:visited {
	color: var(--vert1);
}
a:active,
a:hover {
	color: var(--tc);
}
a:where(:not([role='button'])):focus-visible {
	outline: 2px solid var(--focus-outline-color);
	outline-offset: var(--g2);
}

/* Focus visible global sur les champs de formulaire — le reset (style.css)
 * pose `-webkit-appearance: none` sur inputs texte/button/submit/reset/search/
 * password, ce qui supprime le focus ring natif. Sans cette règle, WCAG 2.4.7
 * (Focus Visible) est violé sur tout formulaire hors Gravity Forms. */
input:focus-visible,
textarea:focus-visible,
button:focus-visible,
select:focus-visible {
	outline: 2px solid var(--focus-outline-color);
	outline-offset: var(--g2);
}

/* Règles historiques Gravity Forms conservées pour compat — leurs sélecteurs
 * fins battent la règle globale ci-dessus si un traitement spécifique est requis. */
.gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type="hidden"])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus-visible,
.gform-theme--framework textarea:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus-visible,
.gform-theme--foundation #field_submit .button:focus-visible {
	outline: 2px solid var(--focus-outline-color);
	outline-offset: var(--g2);
}

/*global*/
body{
	font-family: var(--default-font);
	font-weight: 400;
	font-size: 16px;
	color: var(--blk);
	overflow-x: clip;
}
h1, h2, h3, h4, h5, h6{
	display: block;
}

/******************/
/****STRUCTURE*****/
/******************/
.widzmain,
.woocommerce-notices-wrapper{
	width: 1228px;
	margin-right: auto;
	margin-left: auto;
}
.alignfull {
	width: calc(100vw - 2 * var(--g20));
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: calc(-50vw + var(--g20)) !important;
	margin-right: calc(-50vw + var(--g20)) !important;
	height: auto;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	.alignfull {
		width: calc(100vw - 2 * var(--g30));
		margin-left: calc(-50vw + var(--g30)) !important;
		margin-right: calc(-50vw + var(--g30)) !important;
	}
	.alignfull.has-background {
		width: 100vw;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		padding-left: var(--g20) !important;
		padding-right: var(--g20) !important;
	}
}

/******************/
/****SKIP-LINKS****/
/******************/
#skip-links {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 200;
	background: var(--wh);
	border-bottom: 2px solid var(--vert1);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	padding: 12px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	box-sizing: border-box;
	transform: translateY(-100%);
	transition: transform 0.3s ease;
}
@media screen and (max-width: 680px){
	body.admin-bar #skip-links:focus-within {
		top: 46px;
	}
}

#skip-links:focus-within {
	transform: translateY(0);
	z-index: 100000; /* like native .screen-reader-shortcut */
}

.skip-link {
	display: inline-block;
	padding: 8px 16px;
	background: var(--gris1);
	color: var(--wh);
	text-decoration: none;
	border-radius: var(--r5);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	transition: all 0.3s ease;
}

.skip-link:focus-visible,
.skip-link:hover {
	outline-offset: var(--g2);
}

@media (max-width: 600px) {
	#skip-links {
		padding: 8px 12px;
		gap: 8px;
	}

	.skip-link {
		padding: 6px 12px;
		font-size: 12px;
	}
}
/******************/
/******HEADER******/
/******************/
#header{
	display: block;
	background: var(--wh);
	position: relative;
	z-index: 100;
}

/* Utilitaire RGAA : texte visible uniquement par les lecteurs d'écran. */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Panneau de recherche déployable depuis l'icône loupe du nav.
   Toggle géré par assets/js/search.js : `hidden` ↔ `.is-open`.
   Animation propre car on retire `hidden` AVANT d'ajouter `.is-open`
   (côté JS), donc la transition part bien de l'état collapsed. */
.searchform {
	position: absolute;
	top: 100%;
	inset-inline: 0;
	background: var(--wh);
	padding: var(--g24) var(--g40) var(--g40);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	border-top: 1px solid var(--gris1);
	transform: translateY(-100%);
	opacity: 0;
	transition: transform .25s ease, opacity .25s ease;
	z-index: 10;
}
.searchform.is-open {
	transform: translateY(0);
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.searchform {
		transition: none;
	}
}
.searchform__form {
	display: flex;
	align-items: center;
	gap: var(--g12);
	max-width: 800px;
	margin: 0 auto;
}
.searchform__field {
	flex: 1;
	min-width: 0;
	position: relative;
}
.searchform__input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	font: inherit;
	font-size: 16px;
	color: var(--vert1);
	background: var(--gris1);
	border: 1px solid transparent;
	border-radius: var(--r5);
	transition: border-color .15s ease, background-color .15s ease;
}
.searchform__input::placeholder {
	color: var(--vert1);
	opacity: 0.5;
}
.searchform__input.is-invalid {
	border-color: var(--tc);
	background: var(--wh);
}
.searchform__hint {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	color: var(--vert1);
	opacity: 0.7;
	transition: color .15s ease, opacity .15s ease;
}
.searchform__hint.is-error {
	color: var(--tc);
	opacity: 1;
	font-weight: 500;
}
/* .searchform__submit hérite des styles `.hentry_bt_princ` plus bas
   (chaînes de sélecteurs partagées). On ne pose ici que cursor + flex-shrink. */
.searchform__submit {
	cursor: pointer;
	flex-shrink: 0;
	font: inherit;
}

/* Bouton de fermeture rond, distinct du submit. */
.searchform__close {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--vert2);
	background: transparent;
	color: var(--vert1);
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 50%;
	flex-shrink: 0;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
.searchform__close:hover,
.searchform__close:focus-visible {
	background: var(--vert3);
	border-color: var(--vert1);
}

/* Indicateur d'état actif sur l'icône loupe du nav quand le panneau est ouvert. */
#navshop_list_item_search[aria-expanded="true"] {
	opacity: 0.6;
}

/* Overlay assombrissant le reste du site quand la recherche est ouverte.
   Injecté via JS (search.js) à la fin du body, donc dans le stacking context
   racine. z-index 80 < searchform (90) < header (100) → le panneau et la nav
   restent au-dessus. Clic sur l'overlay : fermeture (géré par le handler
   "clic extérieur" existant dans search.js). */
.search-overlay {
	position: fixed;
	inset: 0;
	background: rgba(154, 154, 154, 0.70);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
	z-index: 80;
}
.search-overlay.is-open,
/* Affichage au hover d'un item de menu avec sous-menu. `:has()` est lu de
   droite à gauche — on cible le `.search-overlay` quand la `body` contient
   un descendant survolé qui a un sous-menu. Support : tous navigateurs ≥ 2023. */
body:has(#navtop ul li.menu-item-has-children:hover) .search-overlay,
body:has(#navtop ul li.menu-item-has-children.is-expanded) .search-overlay {
	opacity: 1;
	pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
	.search-overlay {
		transition: none;
	}
}

@media (max-width: 600px) {
	.searchform {
		padding: var(--g20) var(--g20);
	}
}
#header_content{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--g30);
	padding: 20px 0 0;
	z-index: 100;
}
#navtop_wrapper{
	flex: 1;
	display: flex;
	flex-wrap:  wrap;
	justify-content: space-between;
}

/*logo*/
#logo{
	display: block;
	width:  180px;
	position: relative;
}
#logo img{
	display:  block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2;
}
/*navtop*/
#navtop{
	display: block;
	padding-top: 28px;
	font-size: 14px;
}
#navtop ul{
	display: flex;
	flex-wrap: wrap;
	gap: var(--g20) var(--g29);
}
#navtop ul li{
	padding-bottom: 32px;
	position: relative;
}
#navtop ul li a{
	display: block;
	position: relative;
	line-height: 17px;
	color: var(--vert1);
	text-decoration: none;
	text-transform: uppercase;
	transition: all 0.3s;
}
#navtop ul li a:hover{
	color: var(--tc);
	transition: all 0.3s;
}

#navtop ul li.menu-item-has-children{
	padding-right: 19px;
}
#navtop ul li.menu-item-has-children > a:after{
	content: '';
	display: block;
	width: 10px;
	height: 6px;
	mask: url('../img/pic_arrow_bott.svg') no-repeat center;
	-webkit-mask: url('../img/pic_arrow_bott.svg') no-repeat center;
	mask-size: 100% auto;
	-webkit-mask-size: 100% auto;
	background-color: var(--vert1);
	margin: auto 0;
	position: absolute;
	top: 7px;
	right: -16px;
	z-index: 2;
	transition: all 0.3s;
}
#navtop ul li.menu-item-has-children > a:hover:after{
	background-color: var(--tc);
	transition: all 0.3s;
}
#navtop ul li.current-menu-item > a{
	text-decoration: underline;
}
#navtop ul ul{
	display: none;
	box-sizing: border-box;
	width: 412px;
	padding: 19px 23px 52px 49px;
	background: var(--wh);
	border-bottom-right-radius: var(--r20);
	border-bottom-left-radius: var(--r20);
	position: absolute;
	top: 100%;
	left: -49px;
	z-index: 95;
}
#navtop ul li.menu-item-has-children:hover ul,
#navtop ul li.menu-item-has-children.is-expanded ul{
	display: block;
}
#navtop ul ul li{
	display: block;
	padding: 0;
}
#navtop ul ul li:not(:last-child){
	margin-bottom: 19px;
}
#navtop ul ul li a{
	display: block;
	line-height: 18px;
	text-transform: none;
}
#navtop ul ul li.current-menu-item > a{
	color: var(--tc);
	text-decoration: none;
}
#navtop ul ul li.current-menu-item:before{
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	background: var(--tc);
	border-radius: var(--r180);
	position: absolute;
	top: 7px;
	left: -15px;
	z-index: 3;
}

/*navshop*/
#navshop{
	display: block;
	width: fit-content;
	padding-top: 23px;
}
#navshop ul{
	display: flex;
	flex-wrap: wrap;
	gap: var(--g20);
}
#navshop ul li{
	display: block;
	width: fit-content;
}
#navshop ul li a{
	display: block;
	width: 21px;
	height: 24px;
	font-size: 0;
}
#navshop_list_item_account{
	background: url('../img/pic_ill_head_account.svg') no-repeat center bottom;
}
#navshop_list_item_cart{
	background: url('../img/pic_ill_head_cart.svg') no-repeat center bottom;
}
#navshop ul li button{
	display: block;
	width: 21px;
	height: 24px;
	padding: 0;
	border: none;
	background-color: transparent;
	font-size: 0;
	cursor: pointer;
}
#navshop_list_item_search{
	background: url('../img/pic_ill_head_search.svg') no-repeat center bottom;
}

/******************/
/******BLOCKS******/
/******************/

:root :where(.is-layout-constrained) > * {
	margin-block-start: 12px;
}
.wp-block-media-text > .wp-block-media-text__content {
	padding-left: calc(100% / 12 + 2 * var(--col-gap)); /* Add padding-right to create space between media and text */
	padding-right: 0; /* Remove default padding-left on media-text block */
}
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
	padding-left: 0; /* Remove default padding-left on media-text block */
	padding-right: calc(100% / 12 + 2 * var(--col-gap)); /* Add padding-right to create space between media and text */
}
.wp-block-media-text > .wp-block-media-text__content {
	align-self: start;
}

/* Bouton avec flèche (block style "fleche" pour core/button, voir inc/block-styles.php). */
.wp-block-post-navigation-link a {
	display: inline-block;
	border: 1px solid var(--vert2);
	border-radius: var(--r5);
	font-family: var(--title-font);
	font-size: 25px;
	text-decoration: none;
}
.post-navigation-link-next {
	margin-left: auto !important;
}
.wp-block-button.is-style-fleche .wp-block-button__link,
.post-navigation-link-previous a, .post-navigation-link-next a {
	position: relative;
	padding: 22px 140px 22px 77px !important;
	line-height: 28px;
}
.post-navigation-link-previous a {
	padding: 22px 77px 22px 140px !important;
}
.wp-block-button.is-style-fleche .wp-block-button__link::before,
.post-navigation-link-previous a::before, .post-navigation-link-next a::before {
	content: none;
}
.wp-block-button.is-style-fleche .wp-block-button__link::after,
.post-navigation-link-previous a::after, .post-navigation-link-next a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 80px;
	width: 38px;
	height: 38px;
	transform: translateY(-50%);
	background: url("../img/picto-right-arrow.svg") no-repeat center / contain;
	pointer-events: none;
}
.post-navigation-link-previous a::after {
	left: 80px;
	right: initial;
	transform: translateY(-50%) rotate(180deg);
}
.post-navigation-link-previous a:hover, .post-navigation-link-next a:hover {
	border-color: var(--tc);
}

/* Cartes cliquables */
.wp-block-theme-clickable-card.is-style-product-category-card {
	display: flex;
}
.wp-block-theme-clickable-card.is-style-product-category-card:hover p:not(.unhoverable),
.wp-block-theme-clickable-card.is-style-product-category-card:hover h2:not(.unhoverable),
.wp-block-theme-clickable-card.is-style-product-category-card:hover h3:not(.unhoverable),
.wp-block-theme-clickable-card.is-style-product-category-card:hover h4:not(.unhoverable) {
	text-decoration: underline;
}

/* Image flottante (block style "float-image" pour core/media-text, voir inc/block-styles.php).
   Bandeaux type "Un impact positif" : l'image déborde verticalement du panneau coloré
   et s'inset depuis le bord intérieur. L'éditeur règle la couleur de fond + border-radius
   via les contrôles natifs de la sidebar Gutenberg. */
.wp-block-media-text.is-style-float-image {
	overflow: visible;
	align-items: center;
}
@media screen and (min-width: 768px) {
	.wp-block-media-text.is-style-float-image > .wp-block-media-text__media {
		padding-left: var(--g40);
		margin-top: -24px;
		margin-bottom: -24px;
	}
}
.wp-block-media-text.is-style-float-image.has-media-on-the-right > .wp-block-media-text__media {
	padding-left: 0;
	padding-right: var(--g40);
}
.wp-block-media-text.is-style-float-image > .wp-block-media-text__media img {
	border-radius: var(--r5);
	margin-block: calc(-1 * var(--g29));
	width: 100%;
	height: auto;
	object-fit: cover;
}
.wp-block-media-text.is-style-float-image.has-media-on-the-right > .wp-block-media-text__content {
	padding: var(--g40);
}
@media (max-width: 600px) {
	.wp-block-media-text.is-style-float-image.is-stacked-on-mobile > .wp-block-media-text__media,
	.wp-block-media-text.is-style-float-image.is-stacked-on-mobile.has-media-on-the-right > .wp-block-media-text__media {
		padding: 0;
	}
	.wp-block-media-text.is-style-float-image.is-stacked-on-mobile > .wp-block-media-text__media img {
		margin-block: 0;
	}
	.wp-block-media-text.is-style-float-image.is-stacked-on-mobile > .wp-block-media-text__content,
	.wp-block-media-text.is-style-float-image.is-stacked-on-mobile.has-media-on-the-right > .wp-block-media-text__content {
		padding: 0;
	}
}

/* Texte flottant (block style "floating-text" pour core/cover, voir inc/block-styles.php).
   La boîte de contenu interne (background/border réglés via Gutenberg) est positionnée
   absolument pour faire exactement la hauteur du cover + 60px (30 au-dessus + 30 en dessous
   de l'image de fond). Le texte est re-centré verticalement via flex car le inner-container
   sort du flux flex du cover. */
.wp-block-cover.is-style-floating-text {
	overflow: visible;
}
.wp-block-cover.is-style-floating-text > .wp-block-cover__inner-container {
	position: absolute;
	inset-block: -30px;
	inset-inline: 0;
	box-sizing: border-box;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.wp-block-cover.is-style-floating-text > .wp-block-cover__inner-container > * {
	height: 100%;
}
/* Stylé d'alignement vertical du contenu dans les blocs groupe */
.wp-block-group.is-style-vertical-center {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0;
	width: 100%;
}

/****************/
/******FORM******/
/****************/
.gform-theme--foundation #field_submit {
	justify-content: end;
}
:root .gform-theme--foundation {
	--gf-form-gap-y: 16px; /* Override */
}
.gform-theme--framework .gform-field-label:where(:not([class*="gform-field-label--type-"])) {
	font-family: var(--title-font);
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 10%;
	text-transform: uppercase;
}
/* Override the default "black" background behind "Parcourir…" */
.gform-theme--framework input[type="file"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::file-selector-button {
	--gf-local-bg-color: color-mix(in srgb, var(--gris1) 96%, black) !important;
}

/******************/
/******FOOTER******/
/******************/
/*reassurance*/
#reassurance_strap{
	display: block;
	border-top: 1px solid var(--vert3);
	margin: 60px 20px 42px;
}
#reassurance_strap_contant{
	display: block;
	padding: 35px 0 0;
}
#reassurance_strap_contant ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 20px;
}
.reassurance_strap_item{
	display: block;
	width: auto;
	max-width: 200px;
}
.reassurance_strap_item_content{
	display: block;
	width: 100%;
	padding: 0 0 19px;
	font-size: 14px;
	text-align: center;
	position: relative;
}
.reassurance_strap_item_content:after{
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	background: var(--vert1);
	border-radius: var(--r180);
	margin: auto auto 0;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
}
.reassurance_strap_item_title{
	display: block;
	line-height: 22px;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 10%;
	text-transform: uppercase;
}
.reassurance_strap_item_text{
	line-height: 22px;
}

/*footer*/
#footer{
	display: block;
	background: var(--gris1);
	border-radius: var(--r5);
}
#footer_content{
	display: block;
	padding: 30px 0;
}
.footer_content{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer_content_cols{
	width: 260px;
}
#footer_logo{
	display: block;
	width: 100%;
	margin: 0 0 20px;
}
#footer_logo img{
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}
.footer_content_cols .page_hentry h2{
	margin-bottom: 4px;
}
.footer_content_cols .page_hentry p{
	line-height: 25px;
}
.footer_content_cols .page_hentry p:last-child{
	margin-bottom: 0;
}

.footer_content_nav_block{
	display: block;
	width: fit-content;
}
.footer_content_nav_list{
	display: flex;
	flex-wrap: wrap;
	gap: var(--g24);
}
.footer_content_nav{
	display: block;
	box-sizing: border-box;
	width: 260px;
	padding: 30px 40px;
	background: var(--wh);
	border-radius: var(--r5);
	font-size: 15px;
	color: var(--vert1);
	font-weight: 400;
}
.footer_content_nav h3{
	display: block;
	line-height: 22px;
	margin-bottom: 14px;
	font-size: 14px;
	color: var(--vert1);
	font-weight: 400;
	text-transform: uppercase;
}
.footer_content_nav ul li{
	display: block;
}
.footer_content_nav ul li:not(:last-child){
	margin-bottom: 7px;
}
.footer_content_nav ul li a{
	display: block;
	line-height: 21px;
	color: var(--vert1);
	text-decoration: none;
	transition: all 0.3s;
}
.footer_content_nav ul li a:hover{
	color: var(--tc);
}
.footer_content_nav ul li.chorus > a{
	padding-bottom: 44px;
	position: relative;
}
.footer_content_nav ul li.chorus > a::after{
	content: '';
	display: block;
	width: 90px;
	height: 30px;
	mask: url('../img/pic_chorus.svg') no-repeat center;
	-webkit-mask: url('../img/pic_chorus.svg') no-repeat center;
	mask-size: 100% auto;
	-webkit-mask-size: 100% auto;
	background-color: var(--vert1);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	transition: all 0.3s;
}
.footer_content_nav ul li.chorus > a:hover::after{
	background-color: var(--tc);
	transition: all 0.3s;
}
.footer_nav{
	display: block;
	padding: 10px 0;
	text-align: center;
}
.footer_nav li{
	display: inline-block;
	line-height: 24px;
	font-size: 14px;
}
.footer_nav li a{
	display: inline-block;
	color: var(--vert1);
	text-decoration: none;
}
.footer_nav li a:hover{
	text-decoration: underline;
}
.footer_nav li:not(:last-child) a:after{
	content: '';
	display: inline-block;
	width: 2px;
	height: 2px;
	background: var(--vert1);
	border-radius: var(--r180);
	margin: auto 2px 0 6px;
}

/******************/
/*******PAGES******/
/******************/
/*breadcrumb*/
#breadcrumb_content{
	display: block;
	line-height: 17px;
	padding: 20px 0 16px;
	font-size: 0;
}
.breadcrumb_item{
	display: inline;
	font-size: 14px;
	color: var(--vert1);
}
.breadcrumb_item:last-of-type{
	color: var(--vert1);
	font-weight: 700;
}
.breadcrumb_item:not(:last-of-type):after{
	content: '';
	display: inline-block;
	height : 4px;
	width : 4px;
	background:  var(--vert1);
	border-radius: var(--r180);
	margin: auto 10px 2px 7px;
}
.breadcrumb_item a{
	color: var(--vert1);
	text-decoration: none;
	transition: all 0.3s;
}
.breadcrumb_item a:hover{
	color: var(--tc);
	transition: all 0.3s;
}
/*Titres*/
h1 {
	line-height: 45px;
	margin-bottom: 33px;
	font-size: 50px;
	font-family: var(--title-font);
	color: var(--vert1);
	font-weight: 400;
}
h2 {
	line-height: 40px;
	margin-bottom: 28px;
	font-size: 40px;
	font-family: var(--title-font);
	color: var(--vert1);
	font-weight: 400;
}
h3{
	line-height: 22px;
	margin-bottom: 5px;
	font-size: 16px;
	color: var(--vert1);
	font-weight: 400;
	text-transform: uppercase;
}
h3.bis,
h3.is-style-bis{
	font-size: 25px;
	margin-bottom: 16px;
	text-transform: none;
	font-family: var(--title-font);
}
h4{
	color: var(--vert1);
	font-size: 14px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 10%;
	text-transform: uppercase;
}
/*Hentry*/
.page_title{
	display: block;
	line-height: 45px;
	margin-bottom: 33px;
	font-size: 38px;
	font-family: var(--title-font);
	color: var(--vert1);
	font-weight: 400;
}
.post_content{
	padding: 44px 0 76px;
}
.page_hentry p{
	line-height: 1.6;
}
.page_hentry p + p {
	margin-top: var(--g12);
}
.page_hentry p + h2, .wp-block-buttons + h2 {
	margin-top: var(--g60);
}
.page_hentry p + h3, .wp-block-buttons + h3,
.page_hentry p + h4, .wp-block-buttons + h4,
.page_hentry p + .wp-block-buttons {
	margin-top: var(--g29);
}

.page_hentry ul{
	/*padding: 0;*/ /* casse les styles par défaut des forms Woo */
	margin: 0 0 22px;
}
.page_hentry ul:not(.wc-block-product-template) li{
	line-height: 22px;
	padding: 0 0 0 14px;
	margin: 0;
	position: relative;
}
.page_hentry ul:not(.wc-block-product-template, .woocommerce-error) li:before{
	content: '';
	width: 4px;
	height: 4px;
	background: var(--blk);
	border-radius: var(--r180);
	position: absolute;
	top: 11px;
	left: 1px;
}
.page_hentry ul:not(.wc-block-product-template) li.has-blanc-color:before{
	background-color: var(--wh);
}
.page_hentry ol{
	padding: 0 0 0 20px;
	margin: 0 0 22px 10px;
	list-style-type : decimal;
}
.page_hentry ol li{
	line-height: 22px;
	padding: 0;
	margin: 0;
}
.page_hentry ol li::marker{
	color: var(--tc);
}
.page_hentry ol ul{
	padding: 0;
	margin: 0 0 22px;
}
.page_hentry ol ul li{
	line-height: 22px;
	padding: 0 0 0 14px;
	margin: 0;
	position: relative;
}
.page_hentry b,
.page_hentry strong{
	font-weight: 700;
}
.page_hentry em{
	font-style: italic;
}
.page_hentry img{
	width: auto;
	max-width: 100%;
	height: auto;
}
.page_hentry .wp-block-media-text__media img {
	width: 100%;
}

/*bt*/
.hentry_bt_princ,
.hentry_bt_wh_green,
.hentry_bt_wh_tc{
	display: inline-block;
}
.hentry_bt_princ a,
.hentry_bt_princ button,
.hentry_bt_wh_green a,
.hentry_bt_wh_green button,
.hentry_bt_wh_tc a,
.hentry_bt_wh_tc button,
.wp-block-button__link,
.gform-theme--foundation #field_submit .button,
.searchform__submit{
	display: block;
	line-height: 20px;
	padding: 9px 22px 9px 42px;
	background: transparent;
	border-radius: var(--r180);
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
	position: relative;
	transition: all 0.3s;
	cursor: pointer;
}
/* Override default woo buttons */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce a.woocommerce-Button,
.hentry_bt_princ .woocommerce-button {
	background: transparent !important;
	padding: 9px 22px 9px 42px !important;
	border: 1px solid var(--vert1) !important;
	border-radius: var(--r180) !important;
	color: var(--vert1) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
}
.wp-block-button .wp-block-button__link {
	padding: 9px 22px 9px 42px !important; /* Override for default Gut button */
}
.hentry_bt_princ a,
.hentry_bt_princ button,
.gform-theme--foundation #field_submit .button,
.searchform__submit{
	border: 1px solid var(--vert1);
	color: var(--vert1);
}
.hentry_bt_wh_green a,
.hentry_bt_wh_green button,
.hentry_bt_wh_tc a,
.hentry_bt_wh_tc button,
.wp-block-button__link.has-blanc-color{
	border: 1px solid var(--wh);
	color: var(--wh);
}
.hentry_bt_princ a::before,
.hentry_bt_princ button::before,
.hentry_bt_wh_green a::before,
.hentry_bt_wh_green button::before,
.hentry_bt_wh_tc a::before,
.hentry_bt_wh_tc button::before,
.wp-block-button__link::before,
.woocommerce button.button::before,
.woocommerce a.button::before,
.gform-theme--foundation #field_submit .button::before,
.searchform__submit::before{
	content: '';
	display: block;
	width: 7px;
	height: 7px;
	background: var(--wh);
	border-radius: var(--r180);
	margin: auto 0;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 22px;
	transition: all 0.3s;
}
.hentry_bt_princ a::before,
.hentry_bt_princ button::before,
.wp-block-button__link::before,
.gform-theme--foundation #field_submit .button::before,
.woocommerce button.button::before,
.woocommerce a.button::before,
.searchform__submit::before{
	background: var(--tc);
}
.hentry_bt_wh_green a::before,
.hentry_bt_wh_green button::before,
.wp-block-button.is-style-outline-alt .wp-block-button__link.has-blanc-color::before{
	background: var(--tc);
}
.hentry_bt_wh_tc a::before,
.hentry_bt_wh_tc button::before,
.wp-block-button__link.has-blanc-color::before{
	background: var(--wh);
}
.hentry_bt_princ a:hover,
.hentry_bt_princ button:hover,
.hentry_bt_wh_green a:hover,
.hentry_bt_wh_green button:hover,
.wp-block-button__link:hover,
.wp-block-button.is-style-outline-alt .wp-block-button__link.has-blanc-color:hover,
.gform-theme--foundation #field_submit .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.searchform__submit:hover,
.searchform__submit:focus-visible{
	border-width: 1px;
	border-style: solid;
	border-color: var(--tc) !important;
	color: var(--tc) !important;
	transition: all 0.3s;
}
.hentry_bt_wh_tc a:hover,
.hentry_bt_wh_tc button:hover,
.wp-block-button__link.has-blanc-color:hover{
	border-width: 1px;
	border-style: solid;
	border-color: var(--vert1) !important;
	color: var(--vert1) !important;
	transition: all 0.3s;
}
.wp-block-button.is-style-outline-alt .wp-block-button__link.has-blanc-color:hover {
	color: var(--tc) !important; /* Override for default Gut button */
}
.wp-block-button.is-style-outline .wp-block-button__link.has-blanc-color:hover {
	color: var(--vert1) !important; /* Override for default Gut button */
}
.hentry_bt_wh_tc a:hover::before,
.hentry_bt_wh_tc button:hover::before,
.wp-block-button__link.has-blanc-color:hover::before{
	background: var(--vert1);
	transition: all 0.3s;
}


.is-content-justification-center {
	text-align: center;
}


/* WooCommerce Gutenberg Blocks*/
.wc-block-product h3 {
	font-family: var(--title-font);
	font-size: 18px;
	font-weight: 500;
	line-height: 22px;
	text-transform: none;
}
.wc-block-product img.size-woocommerce_thumbnail,
.wc-block-product img.woocommerce-placeholder {
	width: 100%;
}
.wc-block-product .taxonomy-product_tag {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
}
.wc-block-product .taxonomy-product_tag > a {
	display: inline-block;
	padding: 5px 7px;
	font-size: 8px;
	line-height: 1.4;
	border: 1px solid var(--vert1);
	text-transform: uppercase;
	text-decoration: none;
	pointer-events: none;
}
/* Carte produit (Product Collection) : on bascule le groupe interne en flex
   column pour que `margin-top: auto` sur le prix le pousse en bas. Le badge
   "Prix public" qui suit le prix descend avec lui. */
.wc-block-product > .wp-block-group.is-layout-constrained {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
/* Annule la règle native Gutenberg
   `.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull))
    { margin-left: auto !important; margin-right: auto !important; max-width: ... }`
   qui centre horizontalement tous les enfants du groupe constrained. Avec le flex
   column + align-items: flex-start, on veut un alignement à gauche naturel. */
.wc-block-product > .wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.wc-block-components-product-image)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none;
}
.wc-block-product .wp-block-woocommerce-product-price {
	margin-top: auto;
}


/*404*/
#page_404{
	display: flex;
	flex-wrap: wrap;
	padding: 94px 0 94px;
}
#page_404_ill_block{
	width: 36.5%;
	margin: 0 9.8% 0 0;
}
#page_404_ill_block object{
	width: 100%;
	max-width: 511px;
	height: auto;
	margin: auto;
}
#page_404_ill_main{
	flex: 1;
	padding-top: 53px;
}

/******************/
/*****REPETEUR*****/
/******************/
.page_hentry_wiz_repeat{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 40px 3%;
}
.page_hentry_repeat_block_type1{
	width: 100%;
}
.page_hentry_repeat_block_type2{
	width: 48.5%;
}
.page_hentry_repeat_block_type3{
	width: 31.33%;
}
.page_hentry_repeat_block_type4{
	width: 22.75%;
}

/******************/
/*****HOMEPAGE*****/
/******************/



