/*
INIT
*/

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBold.woff2') format('woff2'),
        url('fonts/Poppins-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.woff2') format('woff2'),
        url('fonts/Poppins-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root{
	--color-vert:#669660;
	--color-orange:var(--color-vert);
	/* --color-orange:#FF5C1C; */
	--color-secondary:#000;
	--color-bc:#121212;
	--color-soft:#FAF6F3;
	--color-white:#FFF;
	--color-softgrey:#f6f4ef;
	--color-grey:#939393;
	--color-fonce:#2E2B2B;

	--space-small:clamp(1rem, 0.6667rem + 0.6667vw, 1.25rem);/*20px*/
	--space-normal:clamp(1.25rem, -0.4167rem + 3.3333vw, 2.5rem);/*40px*/
	--space-xl:clamp(2.5rem, -0.8333rem + 6.6667vw, 5rem);/*80px*/
	--space-big:clamp(5rem, 1.6667rem + 6.6667vw, 7.5rem);/*120px*/
	--space-6:6px;
	--space-10:10px;
	--space-25:clamp(1.25rem, 0.8333rem + 0.8333vw, 1.5625rem);/*25px*/
	--space-30:clamp(1.25rem, 0.4167rem + 1.6667vw, 1.875rem);/*30px*/
	--space-50:clamp(1.75rem, -0.0833rem + 3.6667vw, 3.125rem);/*50px*/
	--space-60:clamp(1.875rem, -0.625rem + 5vw, 3.75rem);/*60px*/
	--container-marge-large:clamp(1.25rem, -2.3214rem + 9.5238vw, 6.25rem);/*100px*/

	--font-size-h2:clamp(1.75rem, 1.277rem + 1.0811vw, 2.25rem);/*clamp(1.75rem, 0.9223rem + 1.8919vw, 2.625rem);*//*42px*/
	--font-size-alt:clamp(1.5625rem, -0.7578rem + 3.4375vw, 2.25rem);/*clamp(1.5625rem, -2.6875rem + 5.6667vw, 2.625rem);*//*42px*/
	--font-size-h3:clamp(1.3125rem, 1.2534rem + 0.1351vw, 1.375rem);/*22px*/
	--font-size-h4:20px;
	--font-size-btn:16px;
	--font-size-r:14px;
	--font-size-13:13px;
	--font-size-18:18px;
	--font-size-48:clamp(1.6rem, 1.0188rem + 1.55vw, 2.375rem);/*clamp(2rem, 1.0541rem + 2.1622vw, 3rem);*//*48px;*/

	--font-family:"Poppins", sans-serif;
	--font-strong:600;
	--line-15:1.53;
	--global-radius:30px;

	/* https://clamp.font-size.app/ */
}

*,*::before,*::after{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

a{
	color:inherit;
	text-decoration:initial;
}

body{
	font-family: var(--font-family);
}

.padd{
	padding-left:var(--container-marge-large);
	padding-right:var(--container-marge-large);
}

.mt1{
	margin-top:var(--space-10);
}

.mt2{
	margin-top:var(--space-small);
}

.mt6{
	margin-top:var(--space-60);
}

.will-center{
	text-align:center;
}

.link-wrap{
	position:relative;
}

.link-target::before{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	content:'';
}

.link-wrap a:not(.link-target){
	z-index:2;
}

/*
HEADER
*/
.livraison{
	background:var(--color-secondary);
	color:var(--color-soft);
	padding:var(--space-small);
	font-size:var(--font-size-13);
	letter-spacing:-.195px;
	line-height:var(--line-15);
	text-align:center;
}

.header-site__main{
	padding:var(--space-25) var(--container-marge-large);
	display:flex;
	gap:var(--space-small);
	justify-content:space-between;
	align-items:center;
}

.header-site__logo{
	height:auto;
	width:316px;
}

@media (max-width:500px) {
	.header-site__logo{
		width:auto;
	}

	.header-site__logo img{
		width: 140px;
		height: 50px;
		object-fit: cover;
		object-position: left;
	}
}

@media (min-width:1390px){
	.last-header-section{
		flex-basis:316px;
		display:flex;
		justify-content: end;
	}
}

.user-icon{
	background:url('../img/account_circle.svg');
	display:block;
	width:30px;
	height:30px;
	text-indent:30px;
	line-height:30px;
	overflow:clip;
	background-position:contain;
	background-repeat:no-repeat;
}

.jm-breadcrumbs{
	color:var(--color-bc);
	font-size:var(--font-size-r);
	letter-spacing: -.015em;
	margin-bottom:var(--space-normal);
	margin-top:var(--space-small);
}

/*
SEARCH
*/
.searchform{
	background:var(--color-softgrey);
	width:490px;
	border-radius:60px;
	height:60px;
	position:relative;
}

.searchform__label{
	color:var(--color-grey);
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	left:40px;
}

.searchform__input{
	position:absolute;
	top:0;
	left:40px;
	right:60px;
	height:60px;
	border:0;
	background:transparent;
	z-index:1;
	color:var(--color-secondary);
	font-size:1rem;
}

.searchform__input:not(:placeholder-shown){
	background:var(--color-softgrey);
	font-size: var(--font-size-r);
	font-family: var(--font-family);
}

.searchform__input:focus{
	outline:none;
}

.searchform__submit{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_416_273' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_416_273)'%3E%3Cpath d='M19.5423 20.5769L13.2615 14.2961C12.7615 14.7089 12.1865 15.032 11.5365 15.2653C10.8865 15.4987 10.2141 15.6153 9.51922 15.6153C7.81005 15.6153 6.36354 15.0236 5.17967 13.84C3.9958 12.6564 3.40387 11.2103 3.40387 9.50157C3.40387 7.79284 3.99565 6.34616 5.17922 5.16154C6.36279 3.97694 7.80894 3.38464 9.51767 3.38464C11.2264 3.38464 12.6731 3.97658 13.8577 5.16044C15.0423 6.34431 15.6346 7.79083 15.6346 9.49999C15.6346 10.2141 15.5147 10.8961 15.275 11.5461C15.0352 12.1961 14.7153 12.7615 14.3153 13.2423L20.5961 19.5231L19.5423 20.5769ZM9.51922 14.1154C10.8077 14.1154 11.899 13.6683 12.7933 12.774C13.6875 11.8798 14.1346 10.7885 14.1346 9.49999C14.1346 8.21153 13.6875 7.12018 12.7933 6.22594C11.899 5.33171 10.8077 4.88459 9.51922 4.88459C8.23075 4.88459 7.1394 5.33171 6.24517 6.22594C5.35095 7.12018 4.90384 8.21153 4.90384 9.49999C4.90384 10.7885 5.35095 11.8798 6.24517 12.774C7.1394 13.6683 8.23075 14.1154 9.51922 14.1154Z' fill='%231C1B1F'/%3E%3C/g%3E%3C/svg%3E");
	width:24px;
	height:24px;
	text-indent: 24px;
	overflow:hidden;
	background-size:contain;
	background-color:transparent;
	background-repeat:no-repeat;
	position:absolute;
	right:20px;
	top:50%;
	border:0;
	transform:translateY(-50%);
	cursor:pointer;
}

/*
BTNS
*/
.btn{
	display:block;
	font-size:var(--font-size-btn);
	letter-spacing:-.24px;
	font-weight:500;
	transition: all .5s;
	border:0;
	cursor:pointer;
}

.btn button{
	display:inline;
	border:0;
	font-size:inherit;
	background:transparent;
	font-family:inherit;
	color:inherit;
}

.btn--no{
	color:var(--color-orange);
}

.btn--inline{
	display:inline-block;
}

.btn--orange{
	background-color:var(--color-orange);
	color:var(--color-soft);
	padding:var(--space-small) var(--space-30);
	border-radius:60px;
}

.btn--orange:hover,
.btn--orange:focus{
	background:var(--color-vert);
}

.btn--contour{
	color:var(--color-secondary);
	padding:var(--space-small) var(--space-30);
	border-radius:60px;
	border:1px solid var(--color-secondary);
}

.btn--contour:hover,
.btn--contour:focus{
	color:var(--color-soft);
	background-color:var(--color-secondary);
}

/*
MENUS
*/
.header-site__menu__wrapper{
	padding:var(--space-10) var(--container-marge-large);
	position:sticky;
	top:-1px;
	background:var(--color-white);
	z-index:10;
	transition: all .5s;
}
@media (min-width:1061px) {
	.admin-bar .header-site__menu__wrapper.is-sticky{
		padding-top:calc(var(--space-25) + 32px)
	}

	.header-site__menu__wrapper.is-sticky{
		box-shadow:0 0 10px -4px var(--color-fonce);
	}
}

.header-site__menu{
	list-style:none;
	display:flex;
	justify-content:center;
	gap:var(--space-10);
	align-items:center;
}

@media (min-width:1061px) {
	.header-site__menu .sub-menu,
	.header-site__menu .sub-menu .sub-menu{
		display:none;
	}

	.toggle-submenu{
		display:none;
	}

	.header-site__menu .menu-item-has-children{
		position:relative;
	}

	.header-site__menu .menu-item-has-children:hover > .sub-menu,
	.header-site__menu .menu-item-has-children:focus-within > .sub-menu {
		display: block;
		position: absolute;
		top: 100%;
		list-style: none;
		left:0;
	}

	.header-site__menu > li > .sub-menu > li.menu-item-has-children > a::after{
		content: '';
		width: 6px;
		height: 6px;
		border-top: 2px solid var(--color-grey);
		border-right: 2px solid var(--color-grey);
		position: absolute;
		right: -7px;
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
		display:inline-block;
	}

	.header-site__menu .menu-item-has-children > .sub-menu > .menu-item-has-children:hover > .sub-menu,
	.header-site__menu .menu-item-has-children > .sub-menu > .menu-item-has-children:focus-within > .sub-menu {
		display: block;
		position:absolute;
		top:calc( -1 * var(--space-small) );
		left:100%;
		z-index:1;
	}

	.header-site__menu .sub-menu{
		white-space:nowrap;
		padding-top:var(--space-30);
		background:white;
		padding:var(--space-small);
		box-shadow:0 6px 10px -6px var(--color-bc);
		border-radius:0 0 4px 4px;
		font-size:var(--font-size-r)
	}
	
	.header-site__menu > li > a{
		padding:8px 1rem;
		border-radius:.375rem;
		display:block;
	}

	.header-site__menu > li.current-menu-parent > a,
	.header-site__menu > li.current-menu-item > a,
	.header-site__menu > li.current-menu-ancestor > a,
	.header-site__menu > li > a:hover,
	.header-site__menu > li > a:focus{
		background:var(--color-orange);
		color:var(--color-soft);
	}
}

.header-site__menu a{
	transition: all .5s;
}

.header-site__menu .sub-menu .current-menu-parent > a,
.header-site__menu .sub-menu .current-menu-item > a,
.header-site__menu .sub-menu .current-menu-ancestor > a,
.header-site__menu .sub-menu a:hover,
.header-site__menu .sub-menu a:focus,
.header-site__menu .sub-menu li:focus-within > a,
.header-site__menu .sub-menu li:hover > a{
	color:var(--color-orange);
}

.open-menu,
.open-search{
	display:none;
}

@media (max-width:1060px) {
	.header-site__menu__wrapper{
		position:fixed;
		height:100vh;
		width:100vw;
		transform:translateY(-100vh);
		overflow:auto;
		background:var(--color-white);
		transition: all .5s;
		z-index:5;
		padding-top:160px;
	}

	.admin-bar .header-site__menu__wrapper{
		padding-top:192px;
	}

	.menu-is-open{
		overflow: clip;
	}

	.menu-is-open .header-site__menu__wrapper{
		transform:translateY(0);
	}

	.header-site__main{
		flex-wrap:wrap;
		z-index: 10;
		background:var(--color-white);
		position:sticky;
		top:0;
		transition: all .5s;
	}

	.open-search{
		display:block;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_416_273' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_416_273)'%3E%3Cpath d='M19.5423 20.5769L13.2615 14.2961C12.7615 14.7089 12.1865 15.032 11.5365 15.2653C10.8865 15.4987 10.2141 15.6153 9.51922 15.6153C7.81005 15.6153 6.36354 15.0236 5.17967 13.84C3.9958 12.6564 3.40387 11.2103 3.40387 9.50157C3.40387 7.79284 3.99565 6.34616 5.17922 5.16154C6.36279 3.97694 7.80894 3.38464 9.51767 3.38464C11.2264 3.38464 12.6731 3.97658 13.8577 5.16044C15.0423 6.34431 15.6346 7.79083 15.6346 9.49999C15.6346 10.2141 15.5147 10.8961 15.275 11.5461C15.0352 12.1961 14.7153 12.7615 14.3153 13.2423L20.5961 19.5231L19.5423 20.5769ZM9.51922 14.1154C10.8077 14.1154 11.899 13.6683 12.7933 12.774C13.6875 11.8798 14.1346 10.7885 14.1346 9.49999C14.1346 8.21153 13.6875 7.12018 12.7933 6.22594C11.899 5.33171 10.8077 4.88459 9.51922 4.88459C8.23075 4.88459 7.1394 5.33171 6.24517 6.22594C5.35095 7.12018 4.90384 8.21153 4.90384 9.49999C4.90384 10.7885 5.35095 11.8798 6.24517 12.774C7.1394 13.6683 8.23075 14.1154 9.51922 14.1154Z' fill='%231C1B1F'/%3E%3C/g%3E%3C/svg%3E");
		width:30px;
		height:30px;
		text-indent: 30px;
		overflow:hidden;
		background-size:contain;
		background-color:transparent;
		background-repeat:no-repeat;
		border:none;
		cursor:pointer;
		opacity:0;
		transition: all .5s;
	}

	.hidden-searchform:not(.visible-searchform) .open-search{
		opacity:1;
	}

	.searchform{
		overflow:hidden;
		transition: all .5s;
	}

	.hidden-searchform:not(.visible-searchform) .searchform{
		height:0;
	}

	.hidden-searchform:not(.visible-searchform) .header-site__main{
		row-gap:0;
	}

	.admin-bar .header-site__main{
		top:32px;
	}

	.header-site__menu{
		flex-direction:column;
		align-items:stretch;
	}

	.header-site__menu > li > a{
		font-size:var(--font-size-h3);
		display:block;
	}

	.header-site__menu > li > .sub-menu{
		display:none;
		position:relative;
		columns:3;
		list-style:none;
		background:var(--color-soft);
		padding:var(--space-30);
		margin-top:var(--space-10);
	}

	.header-site__menu > li > .sub-menu > li > .sub-menu{
		display:none;
		list-style:none;
		background:var(--color-white);
		margin-top:0;
		padding:var(--space-10);
	}

	.header-site__menu .sub-menu.sub-menu-visible{
		display:block !important;
	}

	.header-site__menu .menu-item-has-children{
		position:relative;
	}

	.toggle-submenu {
		display:block;
		position: absolute;
		right: 0;
		top: 0;
		height: 32px;
		width: 32px;
		border: 0;
		background:url('../img/arrow-details.svg');
		background-repeat:no-repeat;
		background-position:50%;
		background-size:contain;
		background-color:transparent;
		transform:rotate(90deg);
		transition: all .5s;
	}

	.sub-menu .toggle-submenu{
		width:20px;
		height:20px;
		top:12px;
	}

	.toggle-submenu[aria-expanded="true"]{
		transform:rotate(180deg);
	}

	.header-site__menu .sub-menu > li > a{
		padding:var(--space-10) 0;
		display:block;
	}

	.searchform{
		order: 3;
		width: 100%;
		border-radius:0;
		height:40px;
	}

	.searchform__input{
		height:40px;
	}

	.last-header-section{
		display:flex;
		gap:var(--space-30);
	}

	.open-menu{
        display:block;
        border:none;
        background:transparent;
        cursor:pointer;
    }
    
    .open-menu span{
        font-size:1rem;
        text-transform:uppercase;
        font-weight:bold;
        color:var(--color-secondary);
        transition:all .2s;
        display:inline-block;
    }
    
    .menu-btn_w{
        display:inline-flex;
        flex-direction:column;
        height:20px;
        width:32px;
        justify-content:space-between;
        vertical-align: bottom;
    }
    
    .menu-btn_i{
        border-top:2px solid var(--color-secondary);
        width:100%;
        transition:all .2s;
        transform-origin:50% 50%;
    }

    .menu-is-open .menu-btn_2{
		transform:scale(0);
		opacity:0;
	}

	.menu-is-open .menu-btn_1{
		transform:rotate(42deg) translate(7px, 6px);
	}
	.menu-is-open .menu-btn_3{
		transform:rotate(-42deg) translate(7px,-6px);
	}
}

@media (max-width:782px) {
	.admin-bar .header-site__menu__wrapper.is-sticky{
		padding-top:204px;
	}
	.admin-bar .header-site__main{
		top:46px;
	}
}

@media (max-width:800px) {
	.header-site__menu > li > .sub-menu{
		columns:2;
	}
}

@media (max-width:500px) {
	.header-site__menu > li > .sub-menu{
		columns:1;
	}
}

/*
FRONT PAGE SLIDER
*/
.home-slider__wrapper{
	margin-top:var(--space-25);
}

.home-slider{
	display:grid;
	grid-template-areas: "a b" "a c";
	gap:var(--space-small);
	grid-template-rows:1fr 1fr;
	grid-template-columns:2fr 1fr;
	aspect-ratio: 3 / 1;
}

@media (max-width:1150px){
	.home-slider{
		grid-template-rows:1fr 1fr;
		aspect-ratio: 3 / 2;
	}
}

@media (max-width:760px){
	.home-slider{
		aspect-ratio: auto;
		grid-template-areas: "a" "b" "c";
		grid-template-rows:auto;
		grid-template-columns:1fr;
	}

	.home-slider__item{
		aspect-ratio:1 / 1;
	}
}

.home-slider__item{
	position:relative;
	display:flex;
	flex-direction: column;
	justify-content: end;
	overflow:hidden;
	border-radius:var(--global-radius);
	padding:var(--space-small)
}

.home-slider__item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(0, #000000b0, transparent);
    display: block;
    z-index: 1;
}

.home-slider__item--0{grid-area:a}
.home-slider__item--1{grid-area:b}
.home-slider__item--2{grid-area:c}

.home-slider__img,
.imagefit{
	object-fit: cover;
	display:block;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:0;
	width:100%;
	height:100%;
	transition: all 1s;
}
/*
@media (min-width:721px) {
	a:hover ~ .imagefit,
	a:focus ~ .imagefit,
	a:hover ~ .home-slider__img,
	a:focus ~ .home-slider__img{transform:scale(1.1)}
}*/

.home-slider__link{
	z-index:1;
	color:var(--color-soft);
}

.home-slider__title{
	font-size:var(--font-size-alt);
	font-weight:400;
	letter-spacing:-.63px;
	line-height:1.2;
}

/*
CALENDRIER HOME
*/

.front-calendrier-lunaire .calendrier-lunaire{
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
	display:flex;
	flex-direction:column;
	justify-content: center;
	align-items:center;
	padding:var(--space-25) var(--space-50);
	margin:var(--space-25) auto;
	position:relative;
}

.front-calendrier-lunaire .calendrier-lunaire::before{
	position: absolute;
	top:0;
	left:var(--space-30);
	transform:translateY(-50%);
	content:'';
	background:url('../img/icon-calendar.svg') no-repeat;
	width:38px;
	height:38px;
	display:block;
	background-size:contain;
}

.calendrier-lunaire__text{
	margin-bottom:var(--space-25);
	letter-spacing:-.33px;
	font-size:var(--font-size-h3)
}

/*
Liste d'articles
*/
.articles-grid__title{
	letter-spacing: -0.72px;
	font-size:var(--font-size-48);
	font-weight:400;
	line-height: 1.2;
    padding-bottom: var(--wp--preset--spacing--30);
    padding-top: var(--space-xl);
}

.articles-grid__list{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	grid-template-rows:auto;
	gap:var(--space-30);
	background:var(--color-softgrey);
	padding-top:var(--space-30);
	padding-bottom:var(--space-30);
}

.articles-grid__item{
	display:flex;
	flex-direction:column;
	justify-content:end;
	position:relative;
	aspect-ratio: 4 / 3;
	border-radius:var(--global-radius);
	overflow:hidden;
	transition:transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover: lift + shadow */
.articles-grid__item:hover{
	transform:translateY(-4px);
	box-shadow:0 12px 24px rgba(0,0,0,0.15);
}

/* Image zoom on hover */
.articles-grid__item .imagefit{
	transition:transform 0.4s ease;
}

.articles-grid__item:hover .imagefit{
	transform:scale(1.05);
}

/* Title slide up on hover */
.articles-grid__item__title{
	transition:transform 0.3s ease;
}

.articles-grid__item:hover .articles-grid__item__title{
	transform:translateY(-3px);
}

/* Gradient intensify on hover */
.articles-grid__item__link{
	transition:background-image 0.3s ease, padding 0.3s ease;
}

.articles-grid__item:hover .articles-grid__item__link{
	background-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.9) 100%);
}

/* Focus visible for accessibility */
.articles-grid__item:focus-within{
	outline:2px solid var(--color-vert);
	outline-offset:3px;
}

.articles-grid__item__link{
	z-index:1;
	padding-top: 20px;
    background-image: linear-gradient(180deg, transparent 0%, #00000069 50%);
}

.articles-grid__item__title{
	letter-spacing: -0.63px;
	line-height:1.2;
	font-size:var(--font-size-alt);
	font-weight:400;
	color:var(--color-soft);
	padding:var(--space-6) var(--space-small);
}

@media (max-width:1040px) {
	.articles-grid__item{
		aspect-ratio:2 / 3;
	}
}

@media (max-width:860px) {
	.articles-grid__item{
		aspect-ratio:3 / 4;
	}
}

@media (max-width:720px) {
	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item{
		aspect-ratio:auto;
		justify-content:start;
		flex-basis: 320px;
		flex-shrink: 0;
	}

	/* Désactiver hover lift/shadow qui crop les coins en carousel */
	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item:hover{
		transform:none;
		box-shadow:none;
	}

	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item__img {
		z-index: 0;
		aspect-ratio: 3 / 4;
		object-fit: cover;
		width: 100%;
		height: auto;
		border-radius:var(--global-radius);
		position:relative;
		order:-1;
	}

	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item .articles-grid__item__link{
		background:none;
		padding-top:var(--space-small);
	}

	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item__title{
		padding:0;
		color:var(--color-text);
		font-size:var(--font-size-btn);
		font-weight:600;
	}

	/* Supprimer text-shadow des produits en mode carousel */
	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item--product .articles-grid__item__title{
		text-shadow:none;
	}

	.articles-grid__list:not(.rwd-no-slider){
		display:flex;
		flex-wrap:nowrap;
		overflow:auto;
	}

	.articles-grid__list.rwd-no-slider{
		grid-template-columns: repeat(2, 1fr);
	}

	.articles-grid__list.rwd-no-slider .articles-grid__item .link-target::before{
		background: linear-gradient(0deg, #00000099, transparent);
		z-index: -1;
	}
}

@media (max-width:600px) {
	.articles-grid__list.rwd-no-slider{
		grid-template-columns: auto;
	}

	.articles-grid__item{
		aspect-ratio:1 / 1;
	}
}

@media (min-width:721px) {
	.articles-grid__item .link-target::before{
		background: linear-gradient(0deg, #00000099, transparent);
		z-index: -1;
	}

	.video-button{
		background:url('../img/youtube.svg');
		background-repeat:no-repeat;
		width:32px;
		height:20px;
		background-size:contain;
		display:inline-block;
	}
}

.is4.articles-grid__list{
	grid-template-columns:repeat(4, 1fr);
}

.articles-grid__item__img{
	z-index:0;
}

.articles-grid__item__cat{
	text-transform:uppercase;
	color:var(--color-soft);
	background:var(--color-secondary);
	border-radius:20px;
	padding:6px 12px;
	font-size:var(--font-size-13);
	position:absolute;
	top:var(--space-small);
	left:var(--space-small);
	max-width: calc(100% - var(--space-small)* 2);
}

/*
FOOTER
*/
.footer__wrapper{
	background:var(--color-fonce);
	color:var(--color-soft);
	padding-top:var(--space-xl);
	padding-bottom:var(--space-xl);
}

.footer__upper{
	display:flex;
	gap:var(--space-30);
	justify-content:space-between;
	align-items:start;
}

.footer__col{
	flex-basis:25%;
	flex-grow:1;
}

@media (max-width:960px) {
	.footer__upper{
		display:block;
		columns:2;
	}
	
	.footer__col:not(:first-child){
		margin-top:var(--space-50);
	}
}

@media (max-width:600px) {
	.footer__upper{
		columns:1;
	}
}
@media (min-width:1200px) {
	.footer__col--1{
		flex-basis:40%;
	}
}

.footer__col ul{
	list-style:none;
	display:flex;
	gap:var(--space-small);
	flex-direction:column;
}

.footer__col li a{
	text-decoration:underline;
}

.confidentialite{
	text-decoration:underline;
	margin-top:var(--space-small);
	display:block;
}

.footer__col__title{
	font-size:var(--font-size-h3);
	line-height:1.2;
	letter-spacing:-.33px;
	margin-bottom:var(--space-small);
}

.footer__col--1 .footer__col__title{
	margin-bottom:var(--space-60)
}

.footer__lower{
	text-align:center;
	margin-top:var(--space-xl)
}

.footer-calendrier-lunaire .calendrier-lunaire__text{
	font-size:var(--font-size-r)
}

.footer__upper .calendrier-lunaire__link{
	padding:0;
	background:transparent;
	color:var(--color-orange);
	font-weight:700;
}

/*
BLOC TITRE CATEGORIE
*/
.bloc-titre{
	border-radius:var(--global-radius);
	padding:var(--space-60) var(--space-big) var(--space-normal);
	color:var(--color-soft);
	position:relative;
	display:flex;
	flex-direction: column;
	gap:var(--space-small);
	align-items:start;
	overflow:hidden;
	margin-bottom:var(--space-30);
}
.bloc-titre::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background: linear-gradient(0, #000000b0, transparent);
}
.bloc-titre__img{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	object-fit:cover;
	z-index:-2;
	width:100%;
	height:100%;
}
.bloc-titre__title{
	font-size:var(--font-size-h2);
	font-weight:400;
	line-height:1.2;
	letter-spacing:-.63px;
	z-index:1;
}
.bloc-titre__text{
	font-size:var(--font-size-h3);
	z-index:1;
}
.bloc-titre__link{}

/*
PAGINATION
*/
.pagination ul{
	display:flex;
	gap:var(--space-small);
	justify-content:center;
	margin:var(--space-big);
	list-style:none;
	font-size:var(--font-size-h3);
	align-items:center;
}

.pagination .page-numbers.current{
	width:40px;
	height:40px;
	text-align:center;
	line-height:40px;
	display:inline-block;
	border:1px solid var(--color-secondary);
	color:var(--color-orange);
	border-radius:var(--global-radius);
}

/*
CALENDRIER
*/

.calendrier-content__title{
	font-size:var(--font-size-h3);
	letter-spacing:-.33px;
	font-weight:600;
	text-align:center;
	margin-bottom:var(--space-small);
}

.calendar-list__months{
	display:grid;
	grid-template-rows: auto;
	grid-template-columns: repeat(6, 1fr);
	list-style:none;
	gap:10px;
	margin-bottom:var(--space-small);
}

@media (max-width:1160px) {
	.calendar-list__months{
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width:860px) {
	.calendar-list__months{
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width:650px) {
	.calendar-list__months{
		grid-template-columns: repeat(2, 1fr);
	}
}

.calendar-list__months__month a{
	background:var(--color-orange);
	color:var(--color-soft);
	text-align:center;
	display:block;
	padding:var(--space-small) var(--space-10);
	font-size:var(--font-size-h4);
}

.calendar-list__months__month a:hover,
.calendar-list__months__month a.current,
.calendar-list__months__month a:focus{
	background-color:var(--color-vert);
}

.calendrier-content__line{
	display:flex;
	gap:var(--space-normal);
	background: var(--color-softgrey);
    border-radius: var(--global-radius);
	margin-bottom:var(--space-small);
	padding:var(--space-30);
}

.calendrier-content__j{
	flex-basis:260px;
	flex-shrink:0;
	font-size:var(--font-size-r)
}

@media (max-width:750px) {
	.calendrier-content__line{
		flex-direction:column;
	}
	.calendrier-content__j,
	.calendrier-content__je{
		flex-basis:0;
		text-align:center;
	}
}

.calendrier-content__jn{
	font-weight:600;
	font-size:var(--font-size-h4)
}

.calendrier-content__jlm img,
.calendrier-content__jl img,
.calendrier-content__jt img{
	vertical-align: middle;
	height: 30px;
    object-fit: cover;
}

.calendrier-content__jl,
.calendrier-content__je{
	line-height:30px;
	font-style:italic;
}

.calendrier-content__je{
	line-height:1.3;
	margin-top:1rem;
}

/*
POST
*/

.article-bigwrapper{
	display:flex;
	gap:var(--space-30);
}

@media (max-width:1200px) {
	.article-bigwrapper{
		flex-direction:column;
	}
	.article-bigwrapper__col2 .sidebar-content{
		columns:2;
	}
}

@media (min-width:1201px) {
	.article-bigwrapper__col2{
		justify-content: space-between;
		display: flex;
		flex-direction: column;
	}
	.article-bigwrapper__col2 .sidebar-content{
		position:sticky;
		bottom:0;
	}
	.will-push-bottom{
		margin-top:auto;
	}
}

.article-bigwrapper__col2{
	flex-basis:350px;
	flex-shrink:0;
	flex-grow:0;
	justify-content:space-between;
	z-index:3;
}

@media (min-width:720px) {
	.auto-inread .fiche{
		float:right;
		margin:0 0 var(--space-30) var(--space-30);
		width:50%;
	}
}

.auto-inread .fiche img{
	max-width:100%;
	height:auto;
	display:block;
	margin-bottom:var(--space-30);
}

.auto-inread .fiche + p{
	font-size:var(--font-size-h3);
	margin-top:0;
}

.auto-inread .aligncenter{
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	display:block;
}

@media (min-width:700px) {
	.auto-inread .alignright{
		float:right;
		margin:0 0 var(--space-30) var(--space-30);
		clear:right;
	}

	.auto-inread .alignright{
		max-width:50%;
	}
}

.auto-inread li{
	padding-left:2em;
	list-style:none;
	position:relative;
}

.auto-inread ol{
	counter-reset: olcount;
}

.auto-inread ul > li::before{
	content: '•';
	position:absolute;
	left:1em;
}

.auto-inread ol > li::before{
	counter-increment: olcount;
	content:counter(olcount);
	position:absolute;
	left:1em;
}

.auto-inread img{
	border-radius: var(--global-radius);
	max-width: 100%;
    object-fit: cover;
    height: auto;
}

.single-title-header .h1{
	font-size:var(--font-size-48);
	font-weight:400;
	letter-spacing: -.015em;
	line-height:1.2;
	margin-top:var(--space-normal)
}

@media (max-width:720px) {
	.single-title-header .h1{
		margin-bottom:var(--space-30);
	}
}

.single-title-header .h1 strong{
	font-weight:700;
}

.auto-inread * + p,
.auto-inread * + ul,
.auto-inread * + h4,
.auto-inread * + h3,
.auto-inread * + h2,
.auto-inread * + ol{
	margin-top:1em;
}

.auto-inread h2{
	font-size:var(--font-size-h2);
	font-weight:400;
}

.auto-inread h3{
	font-size:var(--font-size-h3);
	font-weight:400;
}

.auto-inread p a,
.auto-inread li a{
	color:var(--color-orange);
	text-decoration: underline;
}

.conseil,
.more-posts{
	background:var(--color-soft);
	border-radius:var(--global-radius);
	padding:var(--space-small) var(--space-50);
	margin:var(--space-30) auto;
	clear:right;
	position:relative;
}

.conseil::before,
.more-posts::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	transform:translate(25px, -50%);
	width:30px;
	height:30px;
	display:block;
	background:url('../img/attach.svg');
	background-color:transparent;
	background-repeat:no-repeat;
	background-size:contain;
	background-position:50%;
}

.more-posts::before{
	background-image:url('../img/list.svg');
}

.auto-inread .box > *{
	font-size:var(--font-size-h3);
}

.auto-inread .box p,
.auto-inread .box ul{
	margin-top:0
}

.auto-inread .box p + p,
.auto-inread .box p + ul,
.auto-inread .box ul + ul,
.auto-inread .box ul + p{
	margin-top:1em
}

.auto-inread .box h2,
.auto-inread .box h3
.auto-inread .box h4{
	margin:0;
	font-weight:700;
}

/*
PLAYER
*/
#player-youtube,
#player-dailymoition{
	aspect-ratio:2 / 1
}

/*
SHARER
*/

.post-actions{
	display:flex;
	gap:var(--space-small);
	margin-top:var(--space-small);
}

.post-actions--bottom{
	justify-content:center;
}

.sharer{
	position:relative;
	z-index:2;
	display:inline-block;
}

.sharer button{
	border:0;
	background-color:transparent;
	background-image:url('../img/share.svg');
	background-repeat:no-repeat;
	background-size:contain;
	background-position:bottom center;
	width:28px;
	height:28px;
	overflow:clip;
	text-indent:41px;
	cursor:pointer;
}

.share-open{
	display:none;
	position:absolute;
	left:50%;
	top:100%;
	width:200px;
	background:white;
	border-radius:4px;
	padding:10px;
	transform: translate(-50%,-1px);
    box-shadow: 0 0 10px -4px black;
}

.sharer:hover .share-open,
.sharer:focus-within .share-open{
	display:block;
}

.sharer .st-btn{
	display:block !important;
	margin-right:0 !important
}

.sharer .st-btn + .st-btn{
	margin-top:.5rem;
}

/*
LOVE
*/
.love{
	display: flex;
    align-items: center;
    gap: 10px;
}

.LoveCheck{
	display:none;
}

.LoveLabel::before{
	display:none !important;
}

.LoveLabel{
	width:28px;
	height:28px;
	background:url('../img/like.svg');
	background-color:transparent;
	background-repeat:no-repeat;
	background-size:contain;
	background-position:50%;
	cursor:pointer;
}

.LoveCount{
	font-size:var(--font-size-h3);
	color:var(--color-grey);
}

/*
PUBS
*/
.a-decouvrir-aussi{
	margin:var(--space-50) auto;
}

/*
SIDEBAR
*/
.sidebar-content{
	display: flex;
	flex-direction:column;
	gap:var(--space-normal)
}

.widget-widget_recent_entries,
.widget-widget_wrp_widget{
	background:var(--color-soft);
	padding:var(--space-small) var(--space-10);
	display: flex;
	flex-direction:column;
	gap:1em;
	border-radius:var(--space-small);
}

.widget-widget_recent_entries .title,
.widget-widget_wrp_widget .title{
	color:var(--color-secondary);
	font-size:var(--font-size-h2);
}

.widget-widget_recent_entries ul,
.widget-widget_wrp_widget ul{
	display: flex;
	flex-direction:column;
	gap:1em;
	font-size:var(--font-size-18);
}

.widget-widget_recent_entries li,
.widget-widget_wrp_widget li{
	list-style:none;
}

.widget-widget_recent_entries a,
.widget-widget_wrp_widget a{
	color:var(--color-orange);
}

/*
RELATED
*/

.related__list{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	grid-template-rows:auto;
	gap:var(--space-30);
	margin-bottom:var(--space-normal);
}

@media (max-width:650px) {
	.related__list{
		grid-template-columns:auto;
	}
}

.related-list__item{
	display:flex;
	flex-direction:column-reverse;
	justify-content:start;
	gap:var(--space-10);
}

.related-list__item__img{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit: cover;
    height: auto;
	border-radius:var(--global-radius);
}

.related-list__item__title{
	font-size:var(--font-size-h4);
}

.related__title{
	font-size:var(--font-size-h2);
	color:var(--color-vert);
	margin:var(--space-normal) var( --space-10) var(--space-small);
}

/*
COMMUNAUTE
*/

.communaute{
	margin:var(--space-big) auto;
}

.communaute__title{
	font-size:var(--font-size-h2);
	font-weight:400;
}

.communaute__comments__item{
	border-bottom:1px solid var(--color-fonce);
	padding:var(--space-small) 0
}

.communaute__comments__item__extrait{
	margin-top:var(--space-small);
	font-size:var(--font-size-btn);
}

.communaute__comments__item[open] .communaute__comments__item__extrait{
	display:none;
}

.communaute__comments__item__summary{
	font-size:var(--font-size-h3);
	font-weight:300;
	list-style:none;
	cursor:pointer;
	padding-right:20px;
	position:relative;
}

.communaute__comments__item__summary::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	width:20px;
	height:20px;
	background:url('../img/arrow-details.svg');
	background-repeat:no-repeat;
	background-position:50%;
	background-size:contain;
	transition: all .5s;
	transform:rotate(180deg);
}

.communaute__comments__item[open] .communaute__comments__item__summary::after{
	transform:rotate(0);
}

.communaute__comments__item__summary:hover .communaute__comments__item__title,
.communaute__comments__item__summary:focus .communaute__comments__item__title{
	color:var(--color-orange);
}

.communaute__comments__item__content{
	margin-top:var(--space-small);
}

/*
COMMENTS
*/
.comments-area__title{
	font-size:var(--font-size-h2);
	margin-top:var(--space-normal);
	margin-bottom:var(--space-small);
}

.comment-form-comment{
	position:relative;
}

.comment-form-comment label{
	position:absolute;
	top:var(--space-small);
	left:var(--space-small);
	z-index:-1;
}

.comment-form-comment textarea{
	background:transparent;
	border:1px solid var(--color-grey);
	border-radius:var(--global-radius);
	padding:var(--space-small);
	font-family: var(--font-family);
	font-size:1rem;
	width:100%;
}

.comment-form-comment textarea:not(:placeholder-shown){
	background:var(--color-white);
}

.comments-area .logged-in-as{
	font-size:var(--font-size-r);
	color:var(--color-grey);
	margin-bottom:var(--space-10);
}

.comment-form{
	max-width:600px;
}

.form-submit{
	text-align:right;
}

.commentlist{
	list-style:none;
}

.commentlist .comment{
	border-bottom:1px solid var(--color-fonce);
	padding:var(--space-small) 0;
}

.comments-area__wrapper{
	margin-bottom:var(--space-big);
}

.comment-author{
	font-size:var(--font-size-h3);
	font-weight:300;
}

.comment-content{
	margin-top:var(--space-small)
}

.commentlist .children{
	list-style:none;
	margin-left:var(--space-normal)
}

.commentlist .children .comment:last-child{
	border:0;
}

@media (min-width:650px) {
	.auto-inread .optidigital-wrapper-div {
		border-top: 1px solid var(--color-fonce);
		border-bottom: 1px solid var(--color-fonce);
	}
}
.calendrier-content__d a{
	text-decoration:underline;
	text-decoration-color:var(--color-secondary);
}

.calendrier-content__d a:hover,
.calendrier-content__d a:focus{
	text-decoration-color:var(--color-vert);
	text-decoration-thickness:3px;
}

.article-bigwrapper__col2{
	justify-content: space-between;
    display: flex;
    flex-direction: column;
}
.sidebarFixe .article-bigwrapper__col2{
	justify-content:end;
}
#last-sidebar-item{
	margin-top:0;
}

.article-bigwrapper__col2 .sidebar-content{
	position:sticky;
	bottom:0;
}
.will-push-bottom{
	margin-top:auto;
}

/*
AGENDA
*/
.articles-grid__item__date{
	font-size:var(--font-size-h3);
	text-decoration:underline;
	text-underline-offset:var(--space-10);
	margin-bottom:var(--space-10);
}
.bloc-titre__text.agenda-accueil{
	display: flex;
    justify-content: space-between;
    gap: var(--space-30);
    flex-direction: row;
    width: 100%;
}
.agenda-accueil__left{
	flex-grow:1;
	display:flex;
	flex-direction:column;
	gap:var(--space-30);
	align-items:start;
}
.agenda-accueil__select{
	background-color:transparent;
    padding: var(--space-small) var(--space-30);
	border:none;
}
@media ( max-width:1300px) {
	.bloc-titre__text.agenda-accueil{
		flex-direction:column;
		align-items:center;
	}
	.agenda-accueil__select{
		background-color: var(--color-soft);
		border:none;
		border-radius:var(--global-radius);
	}
	.agenda-accueil__left{
		align-self:start;
	}
}
@media ( min-width:1301px) {
	.search-region-form{
		background-color: var(--color-soft);
		border-radius:var(--global-radius);
	}
}
body .sd-cmp-NBjy7 .sd-cmp-3nwYC {display:flex !important;flex-direction:column-reverse !important}
body .sd-cmp-2dyYO {position:static !important}
body .sd-cmp-2r7Pd.sd-cmp-zxa9n {display:none !important}
body .sd-cmp-1bquj .sd-cmp-2jmDj {padding:0 !important}
body .dark .sd-cmp-1bquj .sd-cmp-2jmDj,body .sd-cmp-1bquj .sd-cmp-2jmDj {text-decoration:none !important;color:#ccc !important}
.entete-site{background-color: #000; color: #fff; text-align:center; padding: 16px; text-align: center; font-size:14px}.entete-site a{text-decoration:underline;}
.menu-is-open .entete-site{position:fixed;width:100%;}
.saviez-vous{overflow:hidden}
.search-grid {
    display: flex;
    flex-direction: row;
    gap: 20px;
    background: var(--color-softgrey);
    padding-top:var(--space-30);
    padding-bottom:var(--space-30);
}
.sidebar-recherches {
    flex-basis: 420px;
    flex-shrink:0;
}
.articles-grid__list {
    flex-grow: 1;
}

.search-grid .articles-grid__item__title{
	font-size:var(--font-size-h3);
}

.search-grid .articles-grid__list{
	grid-template-columns: repeat(4, 1fr);
}

.search-grid .articles-grid__list{
    background:none;
    padding:0
}
.searchable .term a {
    display: flex;
}

@media (max-width:1500px) {
	.search-grid .articles-grid__list{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width:1200px) {
	.search-grid .articles-grid__list{
		grid-template-columns: repeat(2, 1fr);
	}
}	

@media (max-width:900px) {

	.search-grid{
		flex-direction:column;
	}
	.sidebar-recherches{
		flex-basis:auto;
	}
	.search-grid .articles-grid__list{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width:700px) {
	.search-grid .articles-grid__list{
		grid-template-columns: repeat(2, 1fr);
	}
	.search-grid .articles-grid__item__title {
		font-size: var(--font-size-r);
	}
	.bloc-titre{
		padding:20px !important;
	}
}

.search-entete .bloc-titre__title{
	font-size:var(--font-size-h3);
}

.search-entete .bloc-titre__text{
	font-size:var(--font-size-btn);
}

/*
================================================================================
WOOCOMMERCE
================================================================================
*/

/* Grid 5 columns for shop page */
.is5.articles-grid__list{
	grid-template-columns:repeat(5, 1fr);
}

/* Shop archive background (full-width) */
.shop-archive-bg{
	background:var(--color-softgrey);
	padding-top:var(--space-30);
	padding-bottom:var(--space-xl);
}

/* Shop archive wrapper (sidebar + content) */
.shop-archive-wrapper{
	display:grid;
	grid-template-columns:320px 1fr;
	gap:var(--space-30);
	align-items:start;
}

.shop-sidebar{
	position:sticky;
	top:calc(60px + var(--space-30) + var(--wp-admin--admin-bar--height, 0px));
	background:white;
	border-radius:var(--global-radius);
	padding:var(--space-small);
}

.shop-sidebar .widget{
	margin-top:var(--space-small);
	padding-top:var(--space-small);
	border-top:1px solid var(--border-color);
}

.shop-sidebar .widget-title{
	font-size:var(--font-size-btn);
	font-weight:600;
	margin-bottom:var(--space-small);
	color:var(--color-secondary);
}

/* Shop toolbar (result count + sorting + category nav) */
.shop-toolbar__section{
	margin-bottom:var(--space-small);
	padding-bottom:var(--space-small);
	border-bottom:1px solid var(--color-softgrey);
}

.shop-toolbar__section:last-child{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:none;
}

.shop-toolbar__count{
	font-size:var(--font-size-13);
	color:var(--color-grey);
}

.shop-toolbar__count strong{
	color:var(--color-secondary);
	font-weight:600;
}

.shop-toolbar__label{
	display:block;
	font-size:var(--font-size-13);
	font-weight:600;
	color:var(--color-secondary);
	margin-bottom:var(--space-6);
}

.shop-toolbar__select{
	width:100%;
	padding:10px 12px;
	font-size:var(--font-size-r);
	border:1px solid #ddd;
	border-radius:var(--global-radius);
	background-color:#fff;
	cursor:pointer;
	transition:border-color 0.2s;
	-webkit-appearance:none;
	appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 12px center;
	padding-right:36px;
}

.shop-toolbar__select:hover,
.shop-toolbar__select:focus{
	border-color:var(--color-vert);
	outline:none;
}

/* Shop toolbar header (count + toggle button) */
.shop-toolbar__header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:var(--space-small);
	padding-bottom:var(--space-small);
	border-bottom:1px solid var(--color-softgrey);
}

.shop-toolbar__toggle{
	display:none;
	align-items:center;
	gap:var(--space-6);
	padding:8px 12px;
	font-size:var(--font-size-13);
	font-weight:600;
	color:var(--color-soft);
	background:var(--color-orange);
	border:none;
	border-radius:var(--global-radius);
	cursor:pointer;
	transition:background 0.2s;
}

.shop-toolbar__toggle:hover{
	background:var(--color-secondary);
}

.shop-toolbar__toggle svg{
	flex-shrink:0;
}

.shop-archive-content{
	min-width:0;
}

/* Grille produits adaptive (min 320px par carte) */
.shop-archive-content .is4.articles-grid__list{
	grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
}

/* Product card extensions */
.articles-grid__item--product{
	position:relative;
}

/* Product card: stronger gradient */
.articles-grid__item--product .articles-grid__item__link{
	background-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.85) 100%);
	padding-top:40%;
}

/* Product card: smaller title with text-shadow */
.articles-grid__item--product .articles-grid__item__title{
	display:block;
	font-size:var(--font-size-18);
	text-shadow:0 2px 4px rgba(0,0,0,0.7);
}

/* Product card: price pill top-left */
.articles-grid__item__price{
	position:absolute;
	top:var(--space-small);
	left:var(--space-small);
	z-index:2;
	background:var(--color-soft);
	color:var(--color-secondary);
	font-weight:600;
	font-size:var(--font-size-13);
	padding:4px 10px;
	border-radius:20px;
	line-height:1.3;
}

.articles-grid__item__price del{
	opacity:0.6;
	font-weight:400;
}

.articles-grid__item__price ins{
	text-decoration:none;
}

/* Out of stock badge top-right */
.articles-grid__item__outofstock{
	position:absolute;
	top:var(--space-small);
	right:var(--space-small);
	z-index:2;
	background:#e53935;
	color:var(--color-soft);
	font-size:var(--font-size-13);
	font-weight:600;
	padding:4px 10px;
	border-radius:20px;
}

.articles-grid__item--outofstock{
	opacity:0.8;
}

.articles-grid__item__actions{
	position:absolute;
	top:var(--space-small);
	right:var(--space-small);
	z-index:2;
}

.articles-grid__item__addtocart{
	background:var(--color-orange);
	color:var(--color-soft);
	border:none;
	border-radius:var(--global-radius);
	padding:var(--space-6) var(--space-small);
	font-size:var(--font-size-13);
	cursor:pointer;
	transition:background 0.2s;
}

.articles-grid__item__addtocart:hover{
	background:var(--color-secondary);
}

/* Category card */
.articles-grid__item--category{
	position:relative;
}

.articles-grid__item__count{
	position:absolute;
	top:var(--space-small);
	left:var(--space-small);
	font-size:var(--font-size-13);
	color:var(--color-soft);
	background:rgba(0,0,0,0.5);
	padding:4px 10px;
	border-radius:10px;
	z-index:2;
}

/* WooCommerce notices */
.woocommerce-notices-wrapper{
	margin-bottom:var(--space-30);
}

.woocommerce-notices-wrapper:empty{
	display:none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
	padding:var(--space-small);
	border-radius:var(--global-radius);
	margin-bottom:var(--space-small);
}

.woocommerce-message{
	background:#e8f5e9;
	border-left:4px solid #4caf50;
}

.woocommerce-info{
	background:#e3f2fd;
	border-left:4px solid #2196f3;
}

.woocommerce-error{
	background:#ffebee;
	border-left:4px solid #f44336;
}

/* WooCommerce Blocks notices */
.wc-block-components-notice-banner{
	display:flex;
	align-items:center;
	gap:var(--space-small);
	padding:var(--space-small) var(--space-medium);
	border-radius:var(--global-radius);
	margin-bottom:var(--space-small);
	border:none;
	font-size:var(--font-size-14);
}

.wc-block-components-notice-banner.is-success{
	background:var(--color-softgrey);
}

.wc-block-components-notice-banner.is-error{
	background:#ffebee;
}

.wc-block-components-notice-banner.is-info{
	background:#e3f2fd;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__content{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-small);
}

/* Hide emoji icons in notices */
.wc-block-components-notice-banner svg.wc-block-components-notice-banner__icon,
.wc-block-components-notice-banner .wc-block-components-notice-banner__icon{
	display:none;
}

.wc-block-components-notice-banner .wc-block-components-button{
	padding:var(--space-6) var(--space-small);
	background:var(--color-fonce);
	color:#fff;
	border-radius:var(--global-radius);
	font-size:var(--font-size-13);
	font-weight:500;
	text-decoration:none;
	white-space:nowrap;
}

.wc-block-components-notice-banner .wc-block-components-button:hover{
	background:var(--color-soft);
}

/* WooCommerce Blocks Cart & Checkout buttons */
.wc-block-cart__submit-button.wc-block-components-button,
.wc-block-components-checkout-place-order-button.wc-block-components-button{
	display:inline-block;
	width:auto;
	padding:var(--space-small) var(--space-30) !important;
	background:var(--color-orange) !important;
	color:var(--color-soft) !important;
	border:none !important;
	border-radius:60px !important;
	font-size:var(--font-size-btn);
	font-weight:500;
	letter-spacing:-.24px;
	text-align:center;
	text-decoration:none;
	cursor:pointer;
	transition:all .5s;
}

.wc-block-cart__submit-button.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button.wc-block-components-button:hover{
	background:var(--color-vert) !important;
	color:var(--color-soft) !important;
}

/* WooCommerce Blocks form inputs */
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-combobox .components-combobox-control input{
	border:1px solid var(--color-lightgrey);
	border-radius:var(--global-radius);
	padding:var(--space-small);
	font-size:var(--font-size-14);
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus{
	border-color:var(--color-vert);
	outline:none;
	box-shadow:0 0 0 2px rgba(102,150,96,0.15);
}

.wc-block-components-text-input label,
.wc-block-components-combobox label{
	color:var(--color-grey);
	font-size:var(--font-size-13);
}

/* Checkout return to cart link */
.wc-block-components-checkout-return-to-cart-button{
	color:var(--color-fonce);
	font-size:var(--font-size-14);
	text-decoration:none;
}

.wc-block-components-checkout-return-to-cart-button:hover{
	color:var(--color-vert);
}

/* ============================================================================
   PAGES CART & CHECKOUT - Header et layout
   ============================================================================ */

/* Header avec fond gris (comme My Account) */
.woocommerce-cart .single-title-header,
.woocommerce-checkout .single-title-header{
	background:var(--color-softgrey);
	padding:var(--space-30) var(--container-marge-large);
	margin-bottom:0;
}

.woocommerce-cart .single-title-header .h1,
.woocommerce-checkout .single-title-header .h1{
	margin:0;
	font-size:var(--font-size-h2);
}

.woocommerce-cart .jm-breadcrumbs,
.woocommerce-checkout .jm-breadcrumbs{
	background:var(--color-softgrey);
	padding-top:var(--space-small);
	padding-bottom:0;
	margin-bottom:0;
}

/* Sidebar Cart & Checkout */
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar{
	background:var(--color-softgrey);
	padding:var(--space-30);
	border-radius:var(--global-radius);
	align-self:start;
}

/* Espacement contenu cart */
.woocommerce-cart .wp-block-woocommerce-cart{
	margin-top:var(--space-30);
}

.wc-block-checkout__sidebar .wc-block-components-order-summary{
	margin-bottom:var(--space-30);
}

/* Cart totals sidebar */
.wc-block-cart__totals-title{
	font-size:var(--font-size-h4);
	font-weight:600;
	color:var(--color-fonce);
}

/* Titres sections checkout */
.wc-block-checkout__contact-fields > legend,
.wc-block-checkout__billing-fields > legend,
.wc-block-checkout__shipping-fields > legend,
.wc-block-checkout__payment-method > legend{
	font-size:var(--font-size-h4);
	font-weight:600;
	color:var(--color-fonce);
	margin-bottom:var(--space-small);
}

/* Payment options box */
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option{
	border:1px solid var(--color-lightgrey);
	border-radius:var(--global-radius);
	padding:var(--space-small);
	margin-bottom:var(--space-6);
}

.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:last-child{
	margin-bottom:0;
}

/* Bouton Place Order - style vert */
.wc-block-components-checkout-place-order-button.wc-block-components-button{
	background:var(--color-vert) !important;
}

.wc-block-components-checkout-place-order-button.wc-block-components-button:hover{
	background:var(--color-fonce) !important;
}

/* Total en gras */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
	font-size:var(--font-size-h3);
	font-weight:700;
	color:var(--color-fonce);
}

/* Cart table product info */
.wc-block-cart-items .wc-block-cart-items__row{
	border-bottom:1px solid var(--color-lightgrey);
	padding:var(--space-30) 0;
}

.wc-block-cart-items .wc-block-cart-items__row:last-child{
	border-bottom:none;
}

/* Product name in cart */
.wc-block-cart-item__product .wc-block-components-product-name{
	font-weight:600;
	color:var(--color-fonce);
	text-decoration:none;
}

.wc-block-cart-item__product .wc-block-components-product-name:hover{
	color:var(--color-vert);
}

/* Save badge */
.wc-block-components-sale-badge{
	background:var(--color-vert);
	color:white;
	font-size:var(--font-size-13);
	font-weight:600;
	padding:4px 10px;
	border-radius:20px;
}

/* Remove item link */
.wc-block-cart-item__remove-link{
	color:var(--color-grey);
	font-size:var(--font-size-13);
}

.wc-block-cart-item__remove-link:hover{
	color:var(--color-orange);
}

/* Quantity selector style */
.wc-block-components-quantity-selector{
	border:1px solid var(--color-lightgrey);
	border-radius:var(--global-radius);
	overflow:hidden;
}

.wc-block-components-quantity-selector input{
	border:none !important;
	text-align:center;
	font-weight:600;
}

.wc-block-components-quantity-selector button{
	background:var(--color-softgrey);
	border:none;
	padding:var(--space-6) var(--space-small);
	cursor:pointer;
	transition:background 0.2s;
}

.wc-block-components-quantity-selector button:hover{
	background:var(--color-lightgrey);
}

/* Cross-sells cart (Product Collection block) */
.woocommerce-cart .wp-block-woocommerce-product-collection{
	margin-top:var(--space-60);
}

.woocommerce-cart .wp-block-woocommerce-product-collection > .wp-block-heading{
	font-size:var(--font-size-h4) !important;
	margin-bottom:var(--space-30);
}

.woocommerce-cart .wc-block-product-template{
	display:grid !important;
	grid-template-columns:repeat(4, 1fr) !important;
	gap:var(--space-30) !important;
}

.woocommerce-cart .wc-block-product-template .wc-block-product{
	width:100% !important;
	margin:0 !important;
}

.woocommerce-cart .wc-block-product-template .wc-block-product img{
	width:100% !important;
	height:auto !important;
	max-height:120px !important;
	object-fit:contain !important;
}

/* Result count and ordering */
.woocommerce-result-count{
	font-size:var(--font-size-13);
	color:var(--color-grey);
}

.woocommerce-ordering{
	margin-bottom:var(--space-30);
}

.woocommerce-ordering select{
	padding:var(--space-6) var(--space-small);
	border:1px solid var(--color-lightgrey);
	border-radius:var(--global-radius);
	font-size:var(--font-size-13);
}

/* Shop sections */
.shop-categories,
.shop-featured,
.shop-selection{
	margin-bottom:var(--space-xl);
}

.shop-categories .articles-grid__title,
.shop-selection .articles-grid__title{
	text-align:center;
}

.shop-categories__intro{
	text-align:center;
	max-width:700px;
	margin:0 auto var(--space-30);
	color:var(--color-grey);
	font-size:var(--font-size-r);
}

/* Full-width background for shop grids */
.shop-categories .articles-grid__list,
.shop-selection .articles-grid__list{
	margin-left:calc(-1 * var(--container-marge-large));
	margin-right:calc(-1 * var(--container-marge-large));
	padding:var(--space-30) var(--container-marge-large);
}

/* Shop hero side panels */
.shop-hero__side__count{
	font-size:var(--font-size-13);
	opacity:0.8;
}

.shop-hero__side__desc{
	font-size:var(--font-size-r);
	margin-top:var(--space-6);
	line-height:1.4;
}

.shop-hero__side__cta{
	position:absolute;
	bottom:var(--space-small);
	right:var(--space-small);
	z-index:3;
	background:rgba(255,255,255,0.2);
	backdrop-filter:blur(4px);
	color:var(--color-soft);
	font-size:var(--font-size-13);
	padding:6px 12px;
	border-radius:20px;
	transition:background 0.2s;
}

.shop-hero__side:hover .shop-hero__side__cta{
	background:rgba(255,255,255,0.35);
}

/* Limit description width to avoid CTA overlap */
.shop-hero__side__desc{
	max-width:calc(100% - 110px);
}

/* Reset list styles in product grids */
.articles-grid__list,
.articles-grid__list li{
	list-style:none;
	margin:0;
	padding:0;
}

.articles-grid__list::before,
.articles-grid__list::after,
.articles-grid__list li::before,
.articles-grid__list li::marker{
	display:none;
	content:none;
}

/* Shop hero with featured items (like home slider) */
.shop-hero{
	display:grid;
	grid-template-areas: "main side1" "main side2";
	gap:var(--space-small);
	grid-template-rows:auto auto;
	grid-template-columns:2fr 1fr;
	margin-bottom:var(--space-30);
}

.shop-hero__main{
	grid-area:main;
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:end;
	overflow:hidden;
	border-radius:var(--global-radius);
	padding:var(--space-big);
	min-height:320px;
}

.shop-hero__main::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:linear-gradient(0, #000000b0, transparent);
	z-index:1;
}

.shop-hero__main .bloc-titre__img{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	object-fit:cover;
	z-index:0;
	width:100%;
	height:100%;
}

.shop-hero__main .bloc-titre__title,
.shop-hero__main .bloc-titre__text{
	z-index:2;
	color:var(--color-soft);
}

.shop-hero__main .bloc-titre__title{
	font-size:var(--font-size-48);
	flex-shrink:0;
}

.shop-hero__main .bloc-titre__text{
	font-size:var(--font-size-btn);
	max-width:60ch;
}

.shop-hero__side{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:end;
	overflow:hidden;
	border-radius:var(--global-radius);
	padding:var(--space-small);
	min-height:140px;
}

.shop-hero__side:nth-child(2){grid-area:side1}
.shop-hero__side:nth-child(3){grid-area:side2}

.shop-hero__side::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:linear-gradient(0, #000000b0, transparent);
	z-index:1;
}

.shop-hero__side .imagefit{
	z-index:0;
}

.shop-hero__side a{
	z-index:2;
	color:var(--color-soft);
	display:flex;
	flex-direction:column;
}

.shop-hero__side__title{
	display:block;
	font-size:var(--font-size-alt);
	font-weight:400;
	line-height:1.2;
	margin-bottom:var(--space-6);
	transition:transform 0.3s ease;
}

/* Hover/focus pour panneaux hero */
.shop-hero__side{
	transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.shop-hero__side .imagefit{
	transition:transform 0.4s ease;
}

.shop-hero__side:hover{
	transform:translateY(-4px);
	box-shadow:0 12px 24px rgba(0,0,0,0.25);
}

.shop-hero__side:hover .imagefit{
	transform:scale(1.05);
}

.shop-hero__side:hover .shop-hero__side__title{
	transform:translateY(-2px);
}

.shop-hero__side:hover::before{
	background:linear-gradient(0, #000000cc, transparent);
}

.shop-hero__side::before{
	transition:background 0.3s ease;
}

.shop-hero__side:focus-within{
	outline:2px solid var(--color-vert);
	outline-offset:3px;
}

/* Breakpoint 1220px : layout 2 rangées pour plus d'espace */
@media (max-width:1220px){
	.shop-hero{
		grid-template-areas:"main main" "side1 side2";
		grid-template-rows:auto auto;
		grid-template-columns:1fr 1fr;
	}

	.shop-hero__main{
		min-height:280px;
	}

	.shop-hero__side{
		min-height:180px;
	}

	.shop-hero__main .bloc-titre__title{
		font-size:var(--font-size-h2);
	}

	.shop-hero__side__cta{
		position:static;
		margin-top:var(--space-small);
		align-self:flex-start;
	}
}

@media (max-width:800px){
	.shop-hero{
		grid-template-areas:"main" "side1" "side2";
		grid-template-rows:auto;
		grid-template-columns:1fr;
	}

	.shop-hero__main{
		min-height:240px;
	}

	.shop-hero__side{
		min-height:160px;
	}

	.shop-hero__main .bloc-titre__title{
		font-size:var(--font-size-h3);
	}
}

@media (max-width:550px){
	.shop-hero__main{
		min-height:200px;
	}

	.shop-hero__main .bloc-titre__text{
		display:none;
	}

	.shop-hero__side{
		min-height:140px;
	}

	.shop-hero__side__title{
		font-size:var(--font-size-base);
	}

	.shop-hero__side__desc{
		display:none;
	}
}

/* Responsive WooCommerce */
@media (max-width:1320px){
	.is5.articles-grid__list{
		grid-template-columns:repeat(4, 1fr);
	}
}

@media (max-width:1040px){
	.is5.articles-grid__list{
		grid-template-columns:repeat(3, 1fr);
	}

	.shop-archive-wrapper{
		grid-template-columns:1fr;
	}

	.shop-sidebar{
		position:static;
	}

	/* Toggle filtres en mobile */
	.shop-toolbar__toggle{
		display:flex;
	}

	.shop-toolbar__filters{
		display:none;
	}

	.shop-toolbar__filters.is-open{
		display:block;
	}

	.shop-toolbar__header{
		margin-bottom:0;
		padding-bottom:0;
		border-bottom:none;
	}

	.shop-toolbar__filters.is-open .shop-toolbar__section:first-child{
		margin-top:var(--space-small);
		padding-top:var(--space-small);
		border-top:1px solid var(--color-softgrey);
	}
}

@media (max-width:720px){
	/* Grilles adaptatives avec min 320px par carte */
	.is5.articles-grid__list.rwd-no-slider,
	.is4.articles-grid__list.rwd-no-slider{
		grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
	}

	/* Grilles classiques (articles) restent en 2 colonnes */
	.is5.articles-grid__list:not(.rwd-no-slider){
		grid-template-columns:repeat(2, 1fr);
	}

	.is4.articles-grid__list:not(.rwd-no-slider){
		grid-template-columns:repeat(2, 1fr);
	}
}

/* ============================================================================
   SINGLE PRODUCT PAGE
   ============================================================================ */

/* Product hero zone */
.product-hero{
	background:var(--color-softgrey);
	overflow-x:hidden;
}

.product-hero__inner{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:var(--space-50);
	padding-top:var(--space-30);
	padding-bottom:var(--space-50);
}

/* Gallery */
.product-hero__gallery{
	position:relative;
}

.product-hero__gallery .woocommerce-product-gallery{
	margin:0;
	display:grid;
	grid-template-columns:auto 1fr;
	grid-template-rows:auto auto;
	gap:var(--space-10);
}

/* Single image gallery - no thumbnails column */
.product-hero__gallery .woocommerce-product-gallery--without-images,
.product-hero__gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)){
	display:block;
}

.product-hero__gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__image{
	border-radius:var(--global-radius);
	overflow:hidden;
}

.product-hero__gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__image img{
	width:100%;
	height:auto;
	display:block;
}

.product-hero__gallery .woocommerce-product-gallery__trigger{
	position:absolute;
	top:var(--space-small);
	right:var(--space-small);
	z-index:10;
	background:rgba(255,255,255,0.9);
	border-radius:50%;
	width:40px;
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
}

/* Main image */
.product-hero__gallery .flex-viewport{
	grid-column:2;
	grid-row:1;
	border-radius:var(--global-radius);
	overflow:hidden;
}

.product-hero__gallery .woocommerce-product-gallery__image img{
	width:100%;
	height:auto;
	display:block;
}

/* Thumbnails carousel wrapper */
.gallery-thumbs-carousel{
	grid-column:1;
	grid-row:1;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	width:90px;
	align-self:start;
}

.gallery-thumbs-carousel__viewport{
	overflow-y:auto;
	overflow-x:hidden;
	width:100%;
	scroll-behavior:smooth;
	scrollbar-width:none;
}

.gallery-thumbs-carousel__viewport::-webkit-scrollbar{
	display:none;
}

.gallery-thumbs-carousel__btn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:24px;
	padding:0;
	border:none;
	border-radius:6px;
	background:var(--color-gris-clair);
	color:var(--color-gris-fonce);
	cursor:pointer;
	transition:background 0.2s, opacity 0.2s;
	flex-shrink:0;
}

.gallery-thumbs-carousel__btn:hover{
	background:var(--color-vert-pale);
}

.gallery-thumbs-carousel__btn.is-hidden{
	opacity:0;
	pointer-events:none;
}

.gallery-thumbs-carousel__btn--prev svg{
	transform:rotate(90deg);
}

.gallery-thumbs-carousel__btn--next svg{
	transform:rotate(90deg);
}

/* Thumbnails list */
.product-hero__gallery .flex-control-thumbs{
	display:flex;
	flex-direction:column;
	gap:var(--space-10);
	margin:0;
	padding:0;
	list-style:none;
	overflow-y:auto;
	overflow-x:hidden;
	scroll-behavior:smooth;
	scrollbar-width:none;
}

.product-hero__gallery .flex-control-thumbs::-webkit-scrollbar{
	display:none;
}

.product-hero__gallery .flex-control-thumbs li{
	border-radius:10px;
	overflow:hidden;
	cursor:pointer;
	opacity:0.6;
	transition:opacity 0.2s;
	flex-shrink:0;
}

.product-hero__gallery .flex-control-thumbs li:hover,
.product-hero__gallery .flex-control-thumbs li.is-active,
.product-hero__gallery .flex-control-thumbs li .flex-active{
	opacity:1;
}

.product-hero__gallery .flex-control-thumbs img{
	width:100%;
	height:auto;
	display:block;
}

/* Sale flash */
.product-hero__gallery .onsale{
	position:absolute;
	top:var(--space-small);
	left:calc(90px + var(--space-small) + var(--space-10) + 6px);
	z-index:5;
	background:var(--color-vert);
	color:white;
	padding:6px 16px;
	border-radius:20px;
	font-size:var(--font-size-13);
	font-weight:600;
}

/* Gallery caption */
.product-gallery-caption{
	grid-column:2;
	grid-row:2;
	margin-top:0;
	min-height:1.5em;
}

.woocommerce-product-gallery:not(:has(.gallery-thumbs-carousel)) .product-gallery-caption{
	grid-column:1;
}

.product-gallery-caption__text{
	margin:0;
	font-size:var(--font-size-14);
	color:var(--color-grey);
	font-style:italic;
	text-align:center;
}

.product-gallery-caption:not(.has-caption) .product-gallery-caption__text{
	visibility:hidden;
}

/* Variation thumbnails muted state */
.product-hero__gallery .flex-control-thumbs li.thumb--muted{
	opacity:0.3;
	filter:grayscale(100%);
}

.product-hero__gallery .flex-control-thumbs li.thumb--muted:hover{
	opacity:0.5;
}

/* Summary */
.product-hero__summary{
	padding-top:var(--space-small);
}

/* Breadcrumb in summary */
.product-breadcrumb{
	font-size:var(--font-size-13);
	color:var(--color-grey);
	margin-bottom:var(--space-10);
}

.product-breadcrumb a{
	color:var(--color-grey);
	text-decoration:none;
}

.product-breadcrumb a:hover{
	color:var(--color-vert);
}

.product-hero__summary .product_title{
	font-size:var(--font-size-h2);
	margin:0 0 var(--space-small);
	line-height:1.2;
}

/* Price badge */
.product-price-badge{
	display:inline-block;
	background:var(--color-vert);
	color:white;
	padding:8px 20px;
	border-radius:25px;
	font-size:var(--font-size-h3);
	font-weight:700;
	margin-bottom:var(--space-small);
}

.product-price-badge del{
	opacity:0.7;
	font-weight:400;
	font-size:0.85em;
}

.product-price-badge ins{
	text-decoration:none;
}

.product-price-badge .woocommerce-Price-amount{
	font-size:inherit;
}

.product-price-badge__prefix{
	font-weight:400;
	font-size:0.85em;
}

.product-price-other-options{
	font-size:var(--font-size-13);
	color:var(--color-grey);
	margin-top:-10px;
	margin-bottom:var(--space-small);
}

/* Stock badge - displayed after short description */
.product-stock-badge{
	display:inline-block;
	padding:6px 14px;
	border-radius:20px;
	font-size:var(--font-size-13);
	font-weight:600;
	margin-bottom:var(--space-small);
}

.product-stock-badge--instock{
	background:#e8f5e9;
	color:#2e7d32;
}

.product-stock-badge--outofstock{
	background:#ffebee;
	color:#c62828;
}

.product-stock-badge--onbackorder{
	background:#fff3e0;
	color:#ef6c00;
}

/* Short description */
.product-hero__summary .woocommerce-product-details__short-description{
	font-size:var(--font-size-r);
	line-height:1.6;
	color:var(--color-fonce);
	margin-bottom:var(--space-small);
}

.product-hero__summary .woocommerce-product-details__short-description p:last-child{
	margin-bottom:0;
}

/* Variations form */
.product-hero__summary .variations_form{
	margin-bottom:var(--space-small);
	padding:var(--space-small);
	background:#fff;
	border-radius:var(--global-radius);
	border:1px solid rgba(0,0,0,0.08);
	display:flex;
	flex-direction:column;
	gap:var(--space-small);
}

.product-hero__summary .variations_form .single_variation_wrap{
	width:100%;
}

/* Qty + Add to cart wrapper */
.product-hero__summary .woocommerce-variation-add-to-cart{
	display:flex;
	flex-wrap:nowrap;
	gap:var(--space-10);
	align-items:center;
}

.product-hero__summary .variations{
	width:100%;
	border-collapse:collapse;
}

.product-hero__summary .variations tr{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:var(--space-10);
	align-items:center;
	margin-bottom:var(--space-10);
}

.product-hero__summary .variations tr:last-child{
	margin-bottom:0;
}

.product-hero__summary .variations .label{
	font-weight:600;
	font-size:var(--font-size-r);
	white-space:nowrap;
}

.product-hero__summary .variations .label label{
	color:var(--color-fonce);
}

.product-hero__summary .variations .value{
	display:flex;
	align-items:center;
	gap:var(--space-10);
}

.product-hero__summary .variations select{
	flex:1;
	max-width:280px;
	padding:10px 14px;
	border:1px solid #ddd;
	border-radius:8px;
	font-size:var(--font-size-r);
	background-color:#fff;
	-webkit-appearance:none;
	appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 12px center;
	padding-right:36px;
}

.product-hero__summary .variations select:focus{
	outline:none;
	border-color:var(--color-vert);
}

/* Hide reset variations link */
.product-hero__summary .reset_variations{
	display:none !important;
}

/* Variation price - hidden, updated via JS in the main price badge */
.product-hero__summary .woocommerce-variation-price{
	display:none;
}

/* Style the variation description if any */
.product-hero__summary .woocommerce-variation-description{
	font-size:var(--font-size-13);
	color:var(--color-grey);
	margin-bottom:var(--space-10);
}

/* Availability message */
.product-hero__summary .woocommerce-variation-availability{
	margin-bottom:var(--space-10);
}

/* Quantity and add to cart - on same line */
.product-hero__summary .cart{
	display:flex;
	flex-wrap:nowrap;
	gap:var(--space-10);
	align-items:center;
	margin-top:var(--space-small);
}

/* Quantity with +/- buttons */
.product-hero__summary .quantity{
	display:flex;
	align-items:center;
	border:1px solid #ddd;
	border-radius:12px;
	overflow:hidden;
	background:#fff;
}

.product-hero__summary .quantity .qty-btn{
	width:40px;
	height:44px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:transparent;
	border:none;
	font-size:18px;
	font-weight:600;
	color:var(--color-fonce);
	cursor:pointer;
	transition:background 0.15s;
	user-select:none;
}

.product-hero__summary .quantity .qty-btn:hover{
	background:var(--color-softgrey);
}

.product-hero__summary .quantity .qty-btn:active{
	background:#e5e3de;
}

.product-hero__summary .quantity .qty{
	width:50px;
	text-align:center;
	border:none;
	border-left:1px solid #ddd;
	border-right:1px solid #ddd;
	font-size:var(--font-size-r);
	font-weight:600;
	padding:12px 0;
	-moz-appearance:textfield;
	background:transparent;
}

.product-hero__summary .quantity .qty:focus{
	outline:none;
}

.product-hero__summary .quantity .qty::-webkit-inner-spin-button,
.product-hero__summary .quantity .qty::-webkit-outer-spin-button{
	-webkit-appearance:none;
	margin:0;
}

/* Add to cart button - force theme color */
.product-hero__summary .single_add_to_cart_button,
.product-hero__summary button.single_add_to_cart_button,
.product-hero__summary .button.single_add_to_cart_button{
	background:var(--color-vert) !important;
	color:white !important;
	border:none !important;
	border-radius:var(--global-radius);
	padding:14px 28px;
	font-size:var(--font-size-btn);
	font-weight:600;
	cursor:pointer;
	transition:background 0.2s, transform 0.2s;
	white-space:nowrap;
}

.product-hero__summary .single_add_to_cart_button:hover,
.product-hero__summary button.single_add_to_cart_button:hover{
	background:var(--color-fonce) !important;
	transform:translateY(-2px);
}

.product-hero__summary .single_add_to_cart_button:disabled,
.product-hero__summary button.single_add_to_cart_button:disabled{
	background:#ccc !important;
	cursor:not-allowed;
	transform:none;
}

/* Reassurance */
.product-reassurance{
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-small);
	padding:var(--space-small) 0;
	border-top:1px solid rgba(0,0,0,0.1);
	margin-top:var(--space-small);
}

.product-reassurance__item{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:var(--font-size-13);
	color:var(--color-fonce);
}

.product-reassurance__item svg{
	color:var(--color-vert);
	flex-shrink:0;
}

/* Meta (SKU, categories) */
.product-meta{
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-10);
	font-size:var(--font-size-13);
	color:var(--color-grey);
	padding-top:var(--space-small);
	border-top:1px solid rgba(0,0,0,0.1);
}

.product-meta a{
	color:var(--color-grey);
	text-decoration:none;
}

.product-meta a:hover{
	color:var(--color-vert);
}

/* ============================================================================
   PRODUCT CONTENT SECTIONS (Accordion)
   ============================================================================ */

.product-content{
	padding-top:var(--space-50);
	padding-bottom:var(--space-50);
}

.product-section{
	border-bottom:1px solid var(--border-color);
}

.product-section:first-child{
	border-top:1px solid var(--border-color);
}

.product-section__toggle{
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:var(--space-small) 0;
	background:none;
	border:none;
	cursor:pointer;
	text-align:left;
}

.product-section__title{
	margin:0;
	font-size:var(--font-size-h4);
	font-weight:600;
	color:var(--color-fonce);
}

.product-section__icon{
	width:24px;
	height:24px;
	position:relative;
	flex-shrink:0;
}

.product-section__icon::before,
.product-section__icon::after{
	content:'';
	position:absolute;
	background:var(--color-fonce);
	transition:transform 0.3s;
}

.product-section__icon::before{
	width:16px;
	height:2px;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

.product-section__icon::after{
	width:2px;
	height:16px;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

.product-section__toggle[aria-expanded="true"] .product-section__icon::after{
	transform:translate(-50%, -50%) rotate(90deg);
}

.product-section__content{
	padding-bottom:var(--space-small);
	line-height:1.7;
	color:var(--color-fonce);
}

.product-section__content[hidden]{
	display:none;
}

.product-section__content p:last-child{
	margin-bottom:0;
}

/* Attributes section (visible grid, not accordion) */
.product-attributes{
	margin-top:var(--space-30);
	padding:var(--space-30);
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
}

.product-attributes__title{
	margin:0 0 var(--space-small);
	font-size:var(--font-size-h4);
	font-weight:600;
	color:var(--color-fonce);
}

.product-attributes__list{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
	gap:var(--space-small);
	margin:0;
}

.product-attributes__item{
	background:#fff;
	padding:var(--space-small);
	border-radius:12px;
}

.product-attributes__item dt{
	font-size:var(--font-size-13);
	color:var(--color-grey);
	margin-bottom:4px;
}

.product-attributes__item dd{
	margin:0;
	font-weight:600;
	color:var(--color-fonce);
}

/* Reviews in accordion */
.product-section--reviews .comment-respond{
	margin-top:var(--space-small);
}

.product-section--reviews .comment-form-rating{
	margin-bottom:var(--space-small);
}

.product-section--reviews .stars{
	display:flex;
	gap:4px;
}

.product-section--reviews .stars a{
	font-size:20px;
	color:#ddd;
	text-decoration:none;
}

.product-section--reviews .stars a:hover,
.product-section--reviews .stars a.active{
	color:#ffc107;
}

/* ============================================================================
   PRODUCT DOCUMENTS
   ============================================================================ */

.product-documents{
	margin-top:var(--space-30);
	padding:var(--space-30);
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
}

.product-documents__title{
	margin:0 0 var(--space-small);
	font-size:var(--font-size-h4);
	font-weight:600;
	color:var(--color-fonce);
}

.product-documents__list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-small);
}

.product-documents__item{
	margin:0;
}

.product-documents__link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:14px 28px;
	background:var(--color-grey);
	border-radius:var(--global-radius);
	color:#fff;
	text-decoration:none;
	font-weight:500;
	transition:background 0.2s, color 0.2s;
}

.product-documents__link:hover{
	background:var(--color-fonce);
	color:#fff;
}

.product-documents__icon{
	flex-shrink:0;
}

.product-documents__name{
	line-height:1.3;
}

/* ============================================================================
   PRODUCT FAQ
   ============================================================================ */

.product-faq{
	margin-top:var(--space-30);
	padding:var(--space-30);
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
}

.product-faq__title{
	margin:0 0 var(--space-small);
	font-size:var(--font-size-h3);
	font-weight:600;
	color:var(--color-fonce);
}

.product-faq__list{
	display:flex;
	flex-direction:column;
	gap:var(--space-10);
}

.product-faq__item{
	background:white;
	border:1px solid var(--border-color);
	border-radius:var(--global-radius);
	overflow:hidden;
}

.product-faq__item[open]{
	border-color:var(--color-vert);
}

.product-faq__question{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:var(--space-small);
	padding:var(--space-small);
	cursor:pointer;
	list-style:none;
	font-weight:600;
	color:var(--color-fonce);
	transition:color 0.2s;
}

.product-faq__question::-webkit-details-marker{
	display:none;
}

.product-faq__question:hover{
	color:var(--color-vert);
}

.product-faq__question-text{
	flex:1;
}

.product-faq__icon{
	width:20px;
	height:20px;
	position:relative;
	flex-shrink:0;
}

.product-faq__icon::before,
.product-faq__icon::after{
	content:'';
	position:absolute;
	background:currentColor;
	transition:transform 0.3s;
}

.product-faq__icon::before{
	width:14px;
	height:2px;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

.product-faq__icon::after{
	width:2px;
	height:14px;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

.product-faq__item[open] .product-faq__icon::after{
	transform:translate(-50%, -50%) rotate(90deg);
}

/* Smooth animation wrapper */
.product-faq__item .wrapout{
	overflow:hidden;
}

.product-faq__answer{
	padding:0 var(--space-small) var(--space-small);
	line-height:1.7;
	color:var(--color-gris);
}

.product-faq__answer p:first-child{
	margin-top:0;
}

.product-faq__answer p:last-child{
	margin-bottom:0;
}

/* ============================================================================
   RELATED PRODUCTS
   ============================================================================ */

.product-single .related.products{
	background:var(--color-softgrey);
	padding:var(--space-50) var(--container-marge-large);
}

.product-single .related.products > h2{
	text-align:center;
	font-size:var(--font-size-h3);
	margin-bottom:var(--space-30);
}

.product-single .related.products ul.products{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:var(--space-30);
	list-style:none;
	margin:0;
	padding:0;
}

.product-single .related.products ul.products::before,
.product-single .related.products ul.products::after{
	display:none;
}

/* ============================================================================
   SINGLE PRODUCT RESPONSIVE
   ============================================================================ */

@media (max-width:900px){
	.product-hero__inner{
		grid-template-columns:1fr;
		gap:var(--space-30);
	}

	.product-hero__gallery{
		max-width:100%;
		overflow:hidden;
	}

	.product-hero__gallery .woocommerce-product-gallery{
		display:flex;
		flex-direction:column;
		gap:var(--space-10);
		max-width:100%;
	}

	.product-hero__gallery .flex-viewport{
		order:1;
		max-width:100%;
	}

	.product-hero__gallery .woocommerce-product-gallery__wrapper{
		max-width:100%;
	}

	/* Thumbnails carousel - horizontal on mobile */
	.gallery-thumbs-carousel{
		order:2;
		flex-direction:row;
		width:100%;
		height:auto;
	}

	.gallery-thumbs-carousel__viewport{
		flex:1;
		min-width:0;
	}

	.gallery-thumbs-carousel__btn{
		width:24px;
		height:60px;
	}

	.gallery-thumbs-carousel__btn--prev svg,
	.gallery-thumbs-carousel__btn--next svg{
		transform:none;
	}

	.product-hero__gallery .flex-control-thumbs{
		flex-direction:row;
		overflow-x:auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
	}

	.product-hero__gallery .flex-control-thumbs li{
		width:60px;
		height:60px;
	}

	.product-hero__gallery .flex-control-thumbs img{
		width:60px;
		height:60px;
		object-fit:cover;
	}

	.product-hero__gallery .onsale{
		left:var(--space-small);
	}

	.product-gallery-caption{
		order:3;
	}

	.product-single .related.products ul.products{
		grid-template-columns:repeat(2, 1fr);
	}
}

@media (max-width:600px){
	.product-reassurance{
		flex-direction:column;
		gap:var(--space-10);
	}

	.product-hero__summary .cart{
		flex-wrap:wrap;
	}

	.product-hero__summary .quantity{
		justify-content:center;
		width:100%;
	}

	.product-hero__summary .single_add_to_cart_button{
		width:100%;
	}

	.product-single .related.products ul.products{
		grid-template-columns:1fr;
	}
}

/*
HEADER ICONS (compte, panier)
*/
.header-account,
.header-cart{
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border:none;
	background:transparent;
	color:var(--color-fonce);
	cursor:pointer;
	transition:color 0.2s;
	position:relative;
}

.header-account:hover,
.header-cart:hover{
	color:var(--color-vert);
}

.header-cart__count{
	position:absolute;
	top:2px;
	right:2px;
	min-width:18px;
	height:18px;
	background:var(--color-vert);
	color:white;
	font-size:11px;
	font-weight:600;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0 4px;
}

.last-header-section{
	display:flex;
	align-items:center;
	gap:4px;
}

.last-header-section .open-menu{
	margin-left:8px;
}

/*
MINI-CART DRAWER
*/
.minicart-overlay{
	position:fixed;
	inset:0;
	background:rgba(0,0,0,0.5);
	z-index:9998;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s, visibility 0.3s;
}

.minicart-open .minicart-overlay{
	opacity:1;
	visibility:visible;
}

.minicart-drawer{
	position:fixed;
	top:0;
	right:0;
	width:100%;
	max-width:420px;
	height:100vh;
	height:100dvh;
	background:#fff;
	z-index:9999;
	display:flex;
	flex-direction:column;
	transform:translateX(100%);
	transition:transform 0.3s ease;
	box-shadow:-4px 0 20px rgba(0,0,0,0.1);
}

.minicart-open .minicart-drawer{
	transform:translateX(0);
}

.minicart-drawer__header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:var(--space-small);
	border-bottom:1px solid rgba(0,0,0,0.1);
	flex-shrink:0;
}

.minicart-drawer__title{
	font-size:var(--font-size-h4);
	font-weight:600;
	margin:0;
}

.minicart-drawer__close{
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border:none;
	background:transparent;
	color:var(--color-fonce);
	cursor:pointer;
	border-radius:50%;
	transition:background 0.2s;
}

.minicart-drawer__close:hover{
	background:var(--color-softgrey);
}

.minicart-drawer__content{
	flex:1;
	overflow-y:auto;
	padding:var(--space-small);
}

/* WooCommerce mini-cart styles */
.minicart-drawer .woocommerce-mini-cart{
	list-style:none;
	margin:0;
	padding:0;
}

.minicart-drawer .woocommerce-mini-cart-item{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:var(--space-10);
	padding:var(--space-small) 0;
	border-bottom:1px solid rgba(0,0,0,0.08);
}

.minicart-drawer .woocommerce-mini-cart-item a:not(.remove){
	display:flex;
	align-items:flex-start;
	gap:var(--space-10);
	flex:1;
	min-width:0;
	order:1;
	font-weight:600;
	font-size:var(--font-size-13);
	line-height:1.3;
}

.minicart-drawer .woocommerce-mini-cart-item a:not(.remove) img{
	flex-shrink:0;
	width:60px;
	height:60px;
	object-fit:cover;
	border-radius:6px;
}

.minicart-drawer .woocommerce-mini-cart-item .quantity{
	order:3;
	width:100%;
	padding-left:70px;
	font-size:var(--font-size-13);
	color:var(--color-grey);
	margin-top:-4px;
}

.minicart-drawer .woocommerce-mini-cart-item .remove{
	order:2;
	flex-shrink:0;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	background:var(--color-softgrey);
	color:var(--color-fonce);
	border-radius:50%;
	font-size:14px;
	line-height:1;
	text-decoration:none;
	transition:background 0.2s;
}

.minicart-drawer .woocommerce-mini-cart-item .remove:hover{
	background:#ffebee;
	color:#c62828;
}

.minicart-drawer .woocommerce-mini-cart__total{
	display:flex;
	justify-content:space-between;
	padding:var(--space-small) 0;
	font-weight:600;
	font-size:var(--font-size-18);
	border-top:2px solid var(--color-fonce);
	margin-top:var(--space-small);
}

.minicart-drawer .woocommerce-mini-cart__buttons{
	display:flex;
	flex-direction:column;
	gap:var(--space-10);
	margin-top:var(--space-small);
}

.minicart-drawer .woocommerce-mini-cart__buttons a{
	display:block;
	text-align:center;
	padding:14px 20px;
	border-radius:var(--global-radius);
	font-weight:600;
	text-decoration:none;
	transition:background 0.2s, transform 0.2s;
}

.minicart-drawer .woocommerce-mini-cart__buttons .wc-forward:not(.checkout){
	background:var(--color-softgrey);
	color:var(--color-fonce);
}

.minicart-drawer .woocommerce-mini-cart__buttons .wc-forward:not(.checkout):hover{
	background:#e5e3de;
}

.minicart-drawer .woocommerce-mini-cart__buttons .checkout{
	background:var(--color-vert);
	color:white;
}

.minicart-drawer .woocommerce-mini-cart__buttons .checkout:hover{
	background:var(--color-fonce);
	transform:translateY(-2px);
}

/* Empty cart */
.minicart-drawer .woocommerce-mini-cart__empty-message{
	text-align:center;
	padding:var(--space-normal);
	color:var(--color-grey);
}

/* Hide body scroll when drawer is open */
.minicart-open{
	overflow:hidden;
}

@media (max-width:480px){
	.minicart-drawer{
		max-width:100%;
	}
}

/* ============================================================================
   MY ACCOUNT - ESPACE CLIENT
   ============================================================================ */

/* Header titre page */
.woocommerce-account .single-title-header{
	background:var(--color-softgrey);
	padding:var(--space-30) var(--container-marge-large);
	margin-bottom:0;
}

.woocommerce-account .single-title-header .h1{
	margin:0;
	font-size:var(--font-size-h2);
}

.woocommerce-account .jm-breadcrumbs{
	background:var(--color-softgrey);
	padding-top:var(--space-small);
	padding-bottom:0;
	margin-bottom:0;
}

/* Layout principal */
.woocommerce-account.logged-in .woocommerce{
	display:grid;
	grid-template-columns:250px 1fr;
	gap:var(--space-50);
	align-items:start;
	padding-top:var(--space-30);
	padding-bottom:var(--space-50);
}

/* ============================================================================
   NAVIGATION LATERALE
   ============================================================================ */

.woocommerce-MyAccount-navigation{
	grid-column:1;
	grid-row:1;
	position:sticky;
	top:calc(var(--space-30) + 60px);
	align-self:start;
}

.woocommerce-MyAccount-content{
	grid-column:2;
	grid-row:1;
}

.woocommerce-MyAccount-navigation ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:var(--space-6);
}

.woocommerce-MyAccount-navigation li{
	margin:0;
}

.woocommerce-MyAccount-navigation li a{
	display:flex;
	align-items:center;
	gap:var(--space-small);
	padding:var(--space-6) 0;
	color:var(--color-fonce);
	text-decoration:none;
	font-weight:500;
	transition:all 0.2s;
	white-space:nowrap;
}

.woocommerce-MyAccount-navigation li a:hover{
	color:var(--color-vert);
}

.woocommerce-MyAccount-navigation li.is-active a{
	color:var(--color-vert);
}

/* Icones navigation - cercle autour de l'icone */
.woocommerce-MyAccount-navigation li a::before{
	content:'';
	width:50px;
	height:50px;
	flex-shrink:0;
	background-color:var(--color-softgrey);
	background-size:22px 22px;
	background-repeat:no-repeat;
	background-position:center;
	border-radius:50%;
	transition:background-color 0.2s;
}

.woocommerce-MyAccount-navigation li a:hover::before{
	background-color:rgba(102,150,96,0.15);
}

.woocommerce-MyAccount-navigation li.is-active a::before{
	background-color:rgba(102,150,96,0.2);
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232E2B2B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'%3E%3C/path%3E%3Cpolyline points='9 22 9 12 15 12 15 22'%3E%3C/polyline%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232E2B2B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'%3E%3C/path%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232E2B2B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232E2B2B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232E2B2B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232E2B2B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'%3E%3C/path%3E%3Cpolyline points='16 17 21 12 16 7'%3E%3C/polyline%3E%3Cline x1='21' y1='12' x2='9' y2='12'%3E%3C/line%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation li.is-active a::before{
	filter:brightness(0) saturate(100%) invert(52%) sepia(15%) saturate(878%) hue-rotate(71deg) brightness(94%) contrast(87%);
}

/* ============================================================================
   CONTENU PRINCIPAL
   ============================================================================ */

.woocommerce-MyAccount-content{
	min-width:0;
}

/* Dashboard - message de bienvenue */
.woocommerce-MyAccount-content > p:first-child{
	font-size:var(--font-size-18);
	color:var(--color-grey);
	line-height:1.6;
	padding:var(--space-30);
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
	margin-bottom:var(--space-30);
}

.woocommerce-MyAccount-content > p:first-child strong{
	color:var(--color-vert);
}

/* ============================================================================
   FORMULAIRES
   ============================================================================ */

.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields{
	max-width:700px;
}

.woocommerce-MyAccount-content .form-row{
	margin-bottom:var(--space-small);
}

.woocommerce-MyAccount-content label{
	display:block;
	margin-bottom:6px;
	font-weight:600;
	color:var(--color-fonce);
	font-size:var(--font-size-r);
}

.woocommerce-MyAccount-content label .required{
	color:var(--color-vert);
}

.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea{
	width:100%;
	padding:var(--space-small);
	border:1px solid #ddd;
	border-radius:var(--global-radius);
	font-size:var(--font-size-r);
	font-family:inherit;
	background:white;
	transition:border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus{
	outline:none;
	border-color:var(--color-vert);
	box-shadow:0 0 0 3px rgba(102,150,96,0.15);
}

/* Password field wrapper */
.woocommerce-MyAccount-content .woocommerce-form-row .password-input{
	position:relative;
}

.woocommerce-MyAccount-content .show-password-input{
	position:absolute;
	right:var(--space-small);
	top:50%;
	transform:translateY(-50%);
	background:none;
	border:none;
	cursor:pointer;
	color:var(--color-grey);
	padding:4px;
}

.woocommerce-MyAccount-content .show-password-input:hover{
	color:var(--color-vert);
}

/* Fieldset password change */
.woocommerce-MyAccount-content fieldset{
	border:1px solid #e5e5e5;
	border-radius:var(--global-radius);
	padding:var(--space-30);
	margin:var(--space-30) 0;
}

.woocommerce-MyAccount-content fieldset legend{
	font-weight:700;
	color:var(--color-fonce);
	padding:0 var(--space-10);
	font-size:var(--font-size-18);
}

/* Help text */
.woocommerce-MyAccount-content em{
	display:block;
	margin-top:6px;
	font-size:var(--font-size-13);
	color:var(--color-grey);
	font-style:normal;
}

/* Boutons */
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-MyAccount-content .button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:var(--space-small) var(--space-30);
	background:var(--color-vert);
	color:white;
	border:none;
	border-radius:var(--global-radius);
	font-size:var(--font-size-btn);
	font-weight:600;
	cursor:pointer;
	transition:all 0.2s;
	text-decoration:none;
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-MyAccount-content .button:hover{
	background:var(--color-fonce);
	transform:translateY(-2px);
}

/* Inline name fields */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last{
	display:inline-block;
	width:calc(50% - 10px);
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first{
	margin-right:20px;
}

/* ============================================================================
   ADRESSES - CARDS
   ============================================================================ */

.woocommerce-MyAccount-content .woocommerce-Addresses{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
	gap:var(--space-30);
}

/* Override WooCommerce default col2-set styles */
.woocommerce-MyAccount-content .woocommerce-Addresses.col2-set::before,
.woocommerce-MyAccount-content .woocommerce-Addresses.col2-set::after{
	display:none;
}

.woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
.woocommerce-MyAccount-content .woocommerce-Addresses .u-column2{
	float:none;
	width:100%;
}

.woocommerce-MyAccount-content .woocommerce-Addresses > p{
	grid-column:1 / -1;
	color:var(--color-grey);
	margin-bottom:var(--space-10);
}

.woocommerce-MyAccount-content .woocommerce-Address{
	background:white;
	border:1px solid #e5e5e5;
	border-radius:var(--global-radius);
	overflow:hidden;
}

.woocommerce-MyAccount-content .woocommerce-Address-title{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:var(--space-small);
	background:var(--color-softgrey);
	border-bottom:1px solid #e5e5e5;
}

.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3{
	margin:0;
	font-size:var(--font-size-18);
	color:var(--color-fonce);
}

.woocommerce-MyAccount-content .woocommerce-Address-title a{
	font-size:var(--font-size-13);
	color:var(--color-vert);
	text-decoration:none;
	font-weight:600;
}

.woocommerce-MyAccount-content .woocommerce-Address-title a:hover{
	text-decoration:underline;
}

.woocommerce-MyAccount-content .woocommerce-Address address{
	padding:var(--space-small);
	font-style:normal;
	line-height:1.7;
	color:var(--color-fonce);
}

/* Empty address state */
.woocommerce-MyAccount-content .woocommerce-Address address:empty::before,
.woocommerce-MyAccount-content .woocommerce-Address address:has(> br:only-child)::before{
	content:'Adresse non renseignée';
	color:var(--color-grey);
	font-style:italic;
}

/* ============================================================================
   ETATS VIDES
   ============================================================================ */

.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:var(--space-small);
	padding:var(--space-30);
	background:rgba(102,150,96,0.1);
	border:1px solid rgba(102,150,96,0.2);
	border-radius:var(--global-radius);
	color:var(--color-fonce);
}

.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-info::before{
	display:none;
}

.woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-MyAccount-content .woocommerce-info .button{
	margin:0;
}

/* ============================================================================
   TABLEAUX (COMMANDES, TELECHARGEMENTS)
   ============================================================================ */

.woocommerce-MyAccount-content table{
	width:100%;
	border-collapse:collapse;
	background:white;
	border-radius:var(--global-radius);
	overflow:hidden;
	box-shadow:0 1px 3px rgba(0,0,0,0.08);
}

.woocommerce-MyAccount-content table thead{
	background:var(--color-softgrey);
}

.woocommerce-MyAccount-content table th{
	padding:var(--space-small);
	text-align:left;
	font-weight:600;
	color:var(--color-fonce);
	font-size:var(--font-size-13);
	text-transform:uppercase;
	letter-spacing:0.5px;
}

.woocommerce-MyAccount-content table td{
	padding:var(--space-small);
	border-bottom:1px solid #f0f0f0;
	color:var(--color-fonce);
}

.woocommerce-MyAccount-content table tbody tr:last-child td{
	border-bottom:none;
}

.woocommerce-MyAccount-content table tbody tr:hover{
	background:rgba(102,150,96,0.03);
}

.woocommerce-MyAccount-content table .button{
	padding:8px 16px;
	font-size:var(--font-size-13);
}

/* Order status badges */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status{
	font-weight:600;
}

/* ============================================================================
   PAGE LOGIN/REGISTER (non connecte)
   ============================================================================ */

.woocommerce-account:not(.logged-in) .woocommerce{
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:var(--space-50);
	padding-top:var(--space-30);
	padding-bottom:var(--space-50);
	max-width:900px;
	margin:0 auto;
}

.woocommerce-account:not(.logged-in) .woocommerce::before{
	display:none;
}

.woocommerce-account:not(.logged-in) .woocommerce > .u-column1,
.woocommerce-account:not(.logged-in) .woocommerce > .u-column2{
	background:white;
	padding:var(--space-30);
	border:1px solid #e5e5e5;
	border-radius:var(--global-radius);
}

.woocommerce-account:not(.logged-in) .woocommerce h2{
	margin:0 0 var(--space-30);
	font-size:var(--font-size-h3);
	color:var(--color-fonce);
	padding-bottom:var(--space-small);
	border-bottom:2px solid var(--color-vert);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login,
.woocommerce-account:not(.logged-in) .woocommerce-form-register{
	margin:0;
	padding:0;
	border:none;
}

.woocommerce-account:not(.logged-in) .woocommerce label{
	display:block;
	margin-bottom:6px;
	font-weight:600;
	color:var(--color-fonce);
}

.woocommerce-account:not(.logged-in) .woocommerce input[type="text"],
.woocommerce-account:not(.logged-in) .woocommerce input[type="email"],
.woocommerce-account:not(.logged-in) .woocommerce input[type="password"]{
	width:100%;
	padding:var(--space-small);
	border:1px solid #ddd;
	border-radius:var(--global-radius);
	font-size:var(--font-size-r);
	transition:border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-account:not(.logged-in) .woocommerce input:focus{
	outline:none;
	border-color:var(--color-vert);
	box-shadow:0 0 0 3px rgba(102,150,96,0.15);
}

.woocommerce-account:not(.logged-in) .woocommerce button[type="submit"]{
	width:100%;
	margin-top:var(--space-small);
	background:var(--color-vert);
	color:white;
	border:none;
	border-radius:60px;
	padding:var(--space-small) var(--space-30);
	font-size:var(--font-size-btn);
	font-weight:500;
	cursor:pointer;
	transition:background 0.2s;
}

.woocommerce-account:not(.logged-in) .woocommerce button[type="submit"]:hover{
	background:var(--color-fonce);
}

.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme{
	display:flex;
	align-items:center;
	gap:8px;
	margin:var(--space-small) 0;
}

.woocommerce-account:not(.logged-in) .woocommerce .lost_password{
	margin-top:var(--space-small);
}

.woocommerce-account:not(.logged-in) .woocommerce .lost_password a{
	color:var(--color-grey);
	font-size:var(--font-size-13);
}

.woocommerce-account:not(.logged-in) .woocommerce .lost_password a:hover{
	color:var(--color-vert);
}

.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-privacy-policy-text{
	font-size:var(--font-size-13);
	color:var(--color-grey);
	line-height:1.5;
}

/* ============================================================================
   MY ACCOUNT RESPONSIVE
   ============================================================================ */

@media (max-width:900px){
	.woocommerce-account.logged-in .woocommerce{
		grid-template-columns:1fr;
		gap:var(--space-30);
		padding-top:var(--space-30);
	}

	.woocommerce-account:not(.logged-in) .woocommerce{
		grid-template-columns:1fr;
		gap:var(--space-30);
		padding-top:var(--space-30);
		max-width:none;
	}

	.woocommerce-account:not(.logged-in) .woocommerce > .u-column1,
	.woocommerce-account:not(.logged-in) .woocommerce > .u-column2{
		float:none;
		width:100%;
	}

	.woocommerce-MyAccount-navigation{
		grid-column:1;
		grid-row:1;
		position:static;
	}

	.woocommerce-MyAccount-content{
		grid-column:1;
		grid-row:2;
	}

	.woocommerce-MyAccount-navigation ul{
		flex-direction:row;
		flex-wrap:wrap;
		gap:var(--space-6);
	}

	.woocommerce-MyAccount-navigation li a{
		padding:var(--space-10) var(--space-small);
		font-size:var(--font-size-13);
	}

	.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
	.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last{
		display:block;
		width:100%;
		margin-right:0;
	}
}

@media (max-width:600px){
	.woocommerce-MyAccount-navigation li a span{
		display:none;
	}

	.woocommerce-MyAccount-navigation li a::before{
		margin:0;
	}

	.woocommerce-MyAccount-content table{
		font-size:var(--font-size-13);
	}

	.woocommerce-MyAccount-content table th,
	.woocommerce-MyAccount-content table td{
		padding:var(--space-10);
	}
}