/*
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:#35603c;
	--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;
}

/*
================================================================================
RICH TEXT / TYPOGRAPHY
Styles for user-generated content areas (descriptions, intros, etc.)
================================================================================
*/

/* Base rich text container */
.rich-text{
	line-height:1.6;
}

.rich-text p,
.rich-text ul,
.rich-text ol,
.rich-text blockquote{
	margin-bottom:0.5em;
}

.rich-text p:last-child,
.rich-text ul:last-child,
.rich-text ol:last-child,
.rich-text blockquote:last-child{
	margin-bottom:0;
}

.rich-text ul,
.rich-text ol{
	padding-left:1.5em;
}

.rich-text li{
	margin-bottom:0.2em;
}

.rich-text li:last-child{
	margin-bottom:0;
}

.rich-text hr{
	border:none;
	border-top:1px solid currentColor;
	opacity:0.2;
	margin:1em 0;
}

.rich-text strong,
.rich-text b{
	font-weight:600;
}

/* Centered rich text - limited width for readability */
.rich-text--centered{
	text-align:center;
	max-width:60ch;
	margin-left:auto;
	margin-right:auto;
}

/*
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;
}

/* Override WooCommerce height:auto on fitted images */
.woocommerce .imagefit,
.woocommerce-page .imagefit,
.woocommerce .shop-cat-card__img,
.woocommerce-page .shop-cat-card__img{
	height:100%;
	max-width:none;
}
/*
@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;
	}
	.articles-grid__item--product,
	.articles-grid__item--post{
		aspect-ratio:auto;
	}
}

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

@media (max-width:720px) {
	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item{
		aspect-ratio:3 / 4;
		flex-basis: 280px;
		flex-shrink: 0;
	}

	/* Produits en carousel : plus compact, pas d'aspect-ratio fixe */
	.articles-grid__list:not(.rwd-no-slider) .articles-grid__item--product{
		aspect-ratio:auto;
		flex-basis:200px;
	}

	/* 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){
		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;
	}

	/* Produits et articles en grille : garder auto */
	.articles-grid__list.rwd-no-slider .articles-grid__item--product,
	.articles-grid__list.rwd-no-slider .articles-grid__item--post{
		aspect-ratio:auto;
	}
}

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

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

	.articles-grid__item--product,
	.articles-grid__item--post{
		aspect-ratio:auto;
	}
}

@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;
	object-position:center;
	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;
	line-height:1.6;
	max-width:65ch;
}

.bloc-titre__text p{
	margin-bottom:0.4em;
}

.bloc-titre__text p:last-child{
	margin-bottom:0;
}

.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);
}

.calendar-list__select{
	display:none;
	width:100%;
	padding:var(--space-small) var(--space-10);
	font-size:var(--font-size-h4);
	margin-bottom:var(--space-small);
	border:1px solid var(--color-orange);
	border-radius:var(--global-radius);
	background:var(--color-soft);
	color:var(--color-dark);
}

@media (max-width:800px) {
	.calendar-list__months{display:none;}
	.calendar-list__select{display:block;}
}

.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__list{
	grid-template-columns: repeat(5, 1fr);
	align-content:start;
}

.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(4, 1fr);
	}
}

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

@media (max-width:900px) {

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

@media (max-width:700px) {
	.search-grid .articles-grid__list{
		grid-template-columns: repeat(2, 1fr);
	}
	.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);
}

/* Grid 6 columns for related products */
.is6.articles-grid__list{
	grid-template-columns:repeat(6, 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);
}

.shop-sidebar{
	display:flex;
	flex-direction:column;
	gap:var(--space-small);
}

/* Sidebar header : carte catégorie (non sticky) */
.shop-sidebar__header{
	flex-shrink:0;
}

.shop-cat-card{
	position:relative;
	border-radius:var(--global-radius);
	overflow:hidden;
	aspect-ratio:3/4;
	background:var(--color-vert-tres-fonce);
}

.shop-cat-card__img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
}

.shop-cat-card__content{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:var(--space-normal);
	background:linear-gradient(to top, rgb(7 28 12 / 95%) 0%, rgb(19 41 25 / 70%) 50%, transparent 100%);
	color:var(--color-soft);
}

.shop-cat-card__title{
	font-size:var(--font-size-h3);
	font-weight:400;
	line-height:1.2;
	margin-bottom:var(--space-6);
}

.shop-cat-card__desc{
	font-size:var(--font-size-13);
	line-height:1.5;
	opacity:0.9;
}

.shop-cat-card__desc p{
	margin-bottom:0.3em;
}

.shop-cat-card__desc p:last-child{
	margin-bottom:0;
}

/* Sidebar filters : sticky sur desktop */
.shop-sidebar__filters{
	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__filters .widget{
	margin-top:var(--space-small);
	padding-top:var(--space-small);
	border-top:1px solid var(--border-color);
}

.shop-sidebar__filters .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;
}

/* Multi-select dropdown */
.multiselect-dropdown{
	position:relative;
	width:100%;
}

.multiselect-dropdown__toggle{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	padding:10px 12px;
	font-size:var(--font-size-r);
	font-family:inherit;
	text-align:left;
	background:var(--color-white);
	border:1px solid #ddd;
	border-radius:var(--global-radius);
	cursor:pointer;
	transition:border-color 0.2s;
}

.multiselect-dropdown__toggle:hover,
.multiselect-dropdown.is-open .multiselect-dropdown__toggle{
	border-color:var(--color-vert);
}

.multiselect-dropdown__label{
	flex:1;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.multiselect-dropdown__arrow{
	flex-shrink:0;
	display:flex;
	align-items:center;
	margin-left:8px;
	transition:transform 0.2s;
}

.multiselect-dropdown.is-open .multiselect-dropdown__arrow{
	transform:rotate(180deg);
}

.multiselect-dropdown__panel{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	right:0;
	margin-top:4px;
	padding:8px 0;
	background:var(--color-white);
	border:1px solid #ddd;
	border-radius:var(--global-radius);
	box-shadow:0 4px 12px rgba(0,0,0,0.1);
	z-index:100;
	max-height:240px;
	overflow-y:auto;
}

.multiselect-dropdown.is-open .multiselect-dropdown__panel{
	display:block;
	background:var(--color-white);
}

.multiselect-dropdown__item{
	display:flex;
	align-items:center;
	gap:10px;
	padding:8px 12px;
	cursor:pointer;
	transition:background-color 0.15s;
}

.multiselect-dropdown__item:hover{
	background:var(--color-softgrey);
}

.multiselect-dropdown__item.is-checked{
	background:rgba(var(--color-vert-rgb), 0.08);
}

.multiselect-dropdown__checkbox{
	width:18px;
	height:18px;
	margin:0;
	cursor:pointer;
	accent-color:var(--color-vert);
}

.multiselect-dropdown__text{
	flex:1;
	font-size:var(--font-size-r);
}

/* Loading state for multi-select */
.shop-toolbar.is-loading .multiselect-dropdown__toggle{
	opacity:0.6;
	pointer-events: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 toolbar spinner */
.shop-toolbar__spinner{
	display:none;
	width:14px;
	height:14px;
	margin-left:var(--space-6);
	border:2px solid var(--color-softgrey);
	border-top-color:var(--color-vert);
	border-radius:50%;
	animation:spin 0.8s linear infinite;
	vertical-align:middle;
}

.shop-toolbar.is-loading .is-loading-trigger .shop-toolbar__spinner{
	display:inline-block;
}

@keyframes spin{
	to{transform:rotate(360deg);}
}

/* Shop toolbar loading state */
.shop-toolbar.is-loading .shop-toolbar__select{
	opacity:0.6;
	pointer-events:none;
}

/* Shop products wrapper loading state */
.shop-products-ajax-wrapper{
	transition:opacity 0.3s ease;
}

.shop-products-ajax-wrapper.is-loading{
	opacity:0.5;
	pointer-events:none;
}

/* Shop toolbar reset button */
.shop-toolbar__reset{
	display:flex;
	align-items:center;
	gap:var(--space-6);
	width:100%;
	padding:10px 12px;
	margin-top:var(--space-small);
	font-size:var(--font-size-13);
	font-weight:500;
	color:var(--color-grey);
	background:var(--color-softgrey);
	border:none;
	border-radius:var(--global-radius);
	cursor:pointer;
	transition:background 0.2s, color 0.2s;
}

.shop-toolbar__reset:hover{
	background:var(--color-vert);
	color:#fff;
}

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

.shop-toolbar__reset[hidden]{
	display:none;
}

/* Shop toolbar secondary filters */
.shop-toolbar__secondary-filters:empty{
	display:none;
}

.shop-toolbar__secondary-filters:not(:empty){
	margin-bottom:var(--space-small);
	padding-bottom:var(--space-small);
	border-bottom:1px solid var(--color-softgrey);
}

.shop-toolbar__section--secondary{
	margin-bottom:var(--space-small);
}

.shop-toolbar__section--secondary:last-child{
	margin-bottom:0;
}

/* Price filter */
.shop-toolbar__section--price{
	margin-bottom:var(--space-small);
	padding-bottom:var(--space-small);
	border-bottom:1px solid var(--color-softgrey);
}

.price-filter{
	display:flex;
	align-items:center;
	gap:10px;
}

.price-filter__field{
	flex:1;
	position:relative;
}

.price-filter__label{
	position:absolute;
	left:14px;
	top:50%;
	transform:translateY(-50%);
	font-size:var(--font-size-r);
	color:var(--color-grey);
	pointer-events:none;
	transition:all 0.2s ease;
}

.price-filter__input{
	width:100%;
	padding:12px 14px 12px 50px;
	font-size:var(--font-size-r);
	border:1px solid #ddd;
	border-radius:var(--global-radius);
	background:var(--color-white);
	-moz-appearance:textfield;
}

.price-filter__input::-webkit-outer-spin-button,
.price-filter__input::-webkit-inner-spin-button{
	-webkit-appearance:none;
	margin:0;
}

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

.price-filter__input::placeholder{
	color:var(--color-grey);
	opacity:1;
}

.price-filter__separator{
	color:var(--color-grey);
	font-size:var(--font-size-r);
	flex-shrink:0;
}

/* Loading state for price filter */
.shop-toolbar.is-loading .price-filter__input{
	opacity:0.6;
	pointer-events:none;
}

.shop-toolbar__section--nav{
	margin-top:var(--space-medium);
	padding-top:var(--space-medium);
	border-top:1px solid var(--color-softgrey);
	border-bottom:none;
	margin-bottom:0;
	padding-bottom:0;
}

/* Shop pagination for AJAX */
.shop-pagination{
	margin-top:var(--space-30);
	padding-top:var(--space-30);
	border-top:1px solid var(--border-color);
}

.shop-pagination ul{
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-6);
	justify-content:center;
	list-style:none;
	padding:0;
	margin:0;
}

.shop-pagination li{
	display:inline-block;
}

.shop-pagination .page-numbers{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:40px;
	height:40px;
	padding:0;
	font-size:var(--font-size-btn);
	font-weight:500;
	color:var(--color-secondary);
	background:#fff;
	border:1px solid var(--border-color);
	border-radius:var(--global-radius);
	text-decoration:none;
	transition:background 0.2s, border-color 0.2s, color 0.2s;
}

.shop-pagination a.page-numbers:hover{
	background:var(--color-softgrey);
	border-color:var(--color-vert);
}

.shop-pagination .page-numbers.current{
	background:var(--color-vert);
	border-color:var(--color-vert);
	color:#fff;
}

/* Hide pagination when Load More is active (keep in DOM for SEO) */
.has-load-more .shop-pagination,
.has-load-more .pagination{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
	padding:0;
	margin:-1px;
}

/* Load More button */
.shop-load-more{
	display:block;
	margin:var(--space-30) auto 0;
	padding:var(--space-small) var(--space-30);
	background:var(--color-vert);
	color:#fff;
	border:0;
	border-radius:60px;
	font-size:var(--font-size-btn);
	font-weight:500;
	font-family:inherit;
	letter-spacing:-.24px;
	cursor:pointer;
	transition:background 0.3s,opacity 0.3s;
}

.shop-load-more:hover,
.shop-load-more:focus{
	background:var(--color-secondary);
}

.shop-load-more.is-loading{
	opacity:0.6;
	cursor:wait;
}

.shop-load-more[hidden]{
	display:none;
}

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

/* No results message */
.shop-no-results{
	padding:var(--space-30);
	text-align:center;
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
}

.shop-no-results p{
	margin:0;
	color:var(--color-text);
}

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

/* Product card — image carrée + contenu en dessous */
.articles-grid__item--product{
	aspect-ratio:auto;
	flex-direction:column;
	justify-content:flex-start;
	background:var(--color-white);
	border-radius:12px;
}

.articles-grid__item--product .articles-grid__item__media{
	position:relative;
	aspect-ratio:1 / 1;
	overflow:hidden;
}

.articles-grid__item--product .articles-grid__item__media .articles-grid__item__img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.articles-grid__item--product .articles-grid__item__content{
	display:flex;
	flex-direction:column;
	gap:var(--space-6);
	padding:var(--space-small);
}

.articles-grid__item--product .articles-grid__item__link{
	background:none !important;
	padding:0;
	flex:1;
}

/* Neutraliser le gradient overlay sur les produits */
.articles-grid__item--product .link-target::before{
	background:none !important;
}

.articles-grid__item--product .articles-grid__item__title{
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
	font-size:var(--font-size-18);
	color:var(--color-fonce);
	text-shadow:none;
	padding:0;
}

/* Prix — style par défaut (badge overlay, utilisé en recherche) */
.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;
}

/* Prix — style carte produit (sous le titre) */
.articles-grid__item--product .articles-grid__item__price{
	position:static;
	background:none;
	color:var(--color-vert);
	font-weight:700;
	font-size:var(--font-size-18);
	padding:0;
	border-radius:0;
}

/* Out of stock badge */
.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;
}

/* Hover : neutraliser le gradient, garder le décalage titre */
.articles-grid__item--product:hover .articles-grid__item__link{
	background-image:none;
}

.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);
}

/* Loop add-to-cart icon button (overlaid on product image) */
.jm-loop-atc{
	position:absolute;
	z-index:2;
	bottom:var(--space-10);
	right:var(--space-10);
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border-radius:50%;
	border:none;
	background:var(--color-white);
	color:var(--color-vert);
	cursor:pointer;
	transition:background 0.2s, transform 0.2s, box-shadow 0.2s;
	box-shadow:0 2px 8px rgba(0,0,0,0.15);
	text-decoration:none;
}

.jm-loop-atc:hover{
	background:var(--color-vert);
	color:white;
	transform:scale(1.08);
	box-shadow:0 4px 12px rgba(0,0,0,0.2);
}

.jm-loop-atc.loading{
	opacity:0.6;
	pointer-events:none;
}

/* Check-mark feedback after successful add */
.jm-loop-atc.added svg{
	display:none;
}
.jm-loop-atc.added::after{
	content:'✓';
	font-size:18px;
	font-weight:700;
	line-height:1;
}

/* Variable / grouped: different bg */
.jm-loop-atc--options{
	background:var(--color-white);
	color:var(--color-fonce);
	border:1px solid rgba(0,0,0,0.1);
}

.jm-loop-atc--options:hover{
	background:var(--color-vert);
	color:white;
	border-color:var(--color-vert);
}

/* Post card (recherche) — structure alignee sur les cartes produit */
.articles-grid__item--post{
	aspect-ratio:auto;
	flex-direction:column;
	justify-content:flex-start;
	background:var(--color-white);
	border-radius:12px;
}

.articles-grid__item--post .articles-grid__item__media{
	position:relative;
	aspect-ratio:1 / 1;
	overflow:hidden;
}

.articles-grid__item--post .articles-grid__item__media .articles-grid__item__img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.articles-grid__item--post .articles-grid__item__content{
	display:flex;
	flex-direction:column;
	gap:var(--space-6);
	padding:var(--space-small);
}

.articles-grid__item--post .articles-grid__item__link{
	background:none !important;
	padding:0;
	flex:1;
}

.articles-grid__item--post .link-target::before{
	background:none !important;
}

.articles-grid__item--post .articles-grid__item__title{
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
	font-size:var(--font-size-18);
	color:var(--color-fonce);
	text-shadow:none;
	padding:0;
}

/* Titres tronques a 4 lignes en recherche uniquement */
.search-grid .articles-grid__item--post .articles-grid__item__title{
	display:-webkit-box;
	-webkit-line-clamp:4;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

/* Label categorie sous le titre (articles en recherche) */
.articles-grid__item__cat-label{
	font-size:var(--font-size-13);
	color:var(--color-vert);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.02em;
}

/* 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;
}

/* Category cards on shop page - Grid */
.shop-categories .articles-grid__list{
	grid-template-columns:repeat(4, 1fr);
}

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

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

/* Category cards on shop page - Card style */
.shop-categories .articles-grid__item--category .imagefit{
	width:100%;
	height:100%;
}
.shop-categories .articles-grid__item--category .articles-grid__item__link{
	background:linear-gradient(0, #000000d9, #0000004d 60%, transparent);
	padding:var(--space-small);
	padding-top:30%;
	color:var(--color-soft);
}

.shop-categories .articles-grid__item--category .articles-grid__item__title{
	font-size:var(--font-size-h3);
	font-weight:400;
	line-height:1.2;
	margin-bottom:var(--space-6);
	padding:0;
	text-shadow:0 1px 3px rgba(0,0,0,0.5);
}

.shop-categories .articles-grid__item--category .articles-grid__item__desc{
	font-size:var(--font-size-13);
	line-height:1.4;
	margin:0;
	color:var(--color-soft);
	opacity:0.9;
	text-shadow:0 1px 2px rgba(0,0,0,0.4);
}

/* Category cards - Keep style in carousel mode */
@media (max-width:720px){
	.shop-categories .articles-grid__item--category{
		aspect-ratio:3 / 4;
	}

	.shop-categories .articles-grid__item--category .imagefit{
		position:absolute;
		width:100%;
		height:100%;
	}

	.shop-categories .articles-grid__item--category .articles-grid__item__link{
		background:linear-gradient(0, #000000d9, #0000004d 60%, transparent);
		padding:var(--space-small);
		padding-top:30%;
	}

	.shop-categories .articles-grid__item--category .articles-grid__item__title{
		color:var(--color-soft);
		font-size:var(--font-size-btn);
		text-shadow:0 1px 3px rgba(0,0,0,0.5);
	}
}

/* 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 actions row: bouton Commander plus large */
.wc-block-checkout__actions_row{
	flex-wrap:wrap;
}

.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
	flex:1;
	min-width:60%;
}

/* 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);
}

/* Mobile: cart & checkout order summary padding + sticky checkout button */
@media (max-width:1060px){
	.wp-block-woocommerce-cart-totals-block,
	.wp-block-woocommerce-checkout-totals-block{
		padding:var(--space-small) !important;
	}

	/* Sticky "Valider la commande" button at bottom */
	.wc-block-cart__submit.wp-block-woocommerce-proceed-to-checkout-block{
		position:fixed;
		bottom:0;
		left:0;
		right:0;
		z-index:9;
		margin-bottom:0 !important;
		background:var(--color-white);
		padding:var(--space-10) var(--container-marge-large);
		padding-bottom:calc(var(--space-10) + env(safe-area-inset-bottom, 0px));
		box-shadow:0 -2px 10px rgba(0,0,0,0.1);
	}

	.wc-block-cart__submit .wc-block-cart__submit-button{
		width:100%;
	}

	/* Prevent content from being hidden behind the fixed button */
	.woocommerce-cart .wp-block-woocommerce-cart{
		padding-bottom:80px;
	}
}

/* Cart: full-width checkout button + spacing before reassurance */
.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button{
	width:100% !important;
	display:block !important;
}

.woocommerce-cart .checkout-reassurance{
	margin-top:var(--space-20);
}

/* PayPal paylater message spacing */
#ppcp-checkout-paylater-messages,
.wc-block-checkout__sidebar .ppcp-messages{
	margin-top:var(--space-small);
}

/* Checkout payment reassurance banner */
.checkout-reassurance{
	text-align:center;
	padding:var(--space-small);
	margin-top:var(--space-small);
	border:1px solid rgba(0,0,0,0.08);
	border-radius:8px;
	background:var(--color-white);
}

.checkout-reassurance__title{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	font-size:var(--font-size-13);
	font-weight:600;
	color:var(--color-fonce);
	margin-bottom:8px;
}

.checkout-reassurance__title svg{
	color:var(--color-vert);
}

.checkout-reassurance__icons{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:8px;
}

.checkout-reassurance__icon{
	display:inline-flex;
	line-height:0;
}

.checkout-reassurance__icon svg{
	border-radius:3px;
}

/* Compact variant (mini-cart) */
.checkout-reassurance--compact{
	padding:var(--space-10) var(--space-small);
	margin-top:var(--space-10);
	border:none;
	border-top:1px solid rgba(0,0,0,0.08);
	border-radius:0;
	background:transparent;
}

.checkout-reassurance--compact .checkout-reassurance__icons{
	gap:6px;
}

.checkout-reassurance--compact .checkout-reassurance__icon svg{
	width:32px;
	height:20px;
}

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

/* Cart cross-sells - styles spécifiques déplacés plus bas avec le sélecteur [data-collection] */

/* 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:55ch;
	margin:0 auto var(--space-30);
	color:var(--color-grey);
	font-size:var(--font-size-r);
	line-height:1.6;
}

.shop-categories__intro p{
	margin-bottom:0.4em;
}

.shop-categories__intro p:last-child{
	margin-bottom:0;
}

/* 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;
}

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

/* Remove padding for product_cat pages only */
.shop-archive-content .articles-grid__list{
	padding:0;
}

/* 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);
}

/* Si le main est seul (pas de side panels), prendre toute la largeur */
.shop-hero__main:only-child{
	grid-column:1 / -1;
}

.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, #000000d9, #0000005e);
	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);
	text-shadow:0 1px 3px rgba(0,0,0,0.5);
}

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

.shop-hero__main .bloc-titre__text{
	font-size:clamp(0.95em, 2.5vw, 1.17em);
	font-weight:600;
	max-width:55ch;
	line-height:1.6;
}

.shop-hero__main .bloc-titre__text p{
	margin-bottom:0.2em;
}

.shop-hero__main .bloc-titre__text p:last-child{
	margin-bottom:0;
}

.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:1440px){
	.is5.articles-grid__list{
		grid-template-columns:repeat(4, 1fr);
	}
}

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

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

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

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

	.shop-sidebar__filters{
		position:static;
	}

	.shop-cat-card{
		aspect-ratio:16/9;
	}

	/* 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 */
	.is6.articles-grid__list.rwd-no-slider,
	.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);
	}
}

@media (max-width:600px){
	/* Produits boutique : forcer 2 colonnes sur mobile */
	.is6.articles-grid__list.rwd-no-slider,
	.is5.articles-grid__list.rwd-no-slider,
	.is4.articles-grid__list.rwd-no-slider{
		grid-template-columns:repeat(2, 1fr);
		gap:var(--space-10);
	}
}

/* ============================================================================
   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;
	object-fit:contain;
	background:var(--color-white);
}

.product-hero__gallery .woocommerce-product-gallery__trigger{
	position:absolute;
	top:var(--space-small);
	right:var(--space-small);
	z-index:9;
	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;
	background:var(--color-white);
	aspect-ratio:1/1;
}

.product-hero__gallery .woocommerce-product-gallery__image{
	aspect-ratio:1/1;
	background:var(--color-white);
}

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

.product-hero__gallery .woocommerce-product-gallery__image img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
	background:var(--color-white);
}

/* 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-wiser-rating{
	margin-bottom:var(--space-small);
}

.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{
	margin-bottom:0.4em;
}

.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: show out-of-stock even if .stock is globally hidden */
.product-hero__summary .woocommerce-variation-availability{
	margin-bottom:var(--space-10);
}

.product-hero__summary .woocommerce-variation-availability .stock.out-of-stock{
	display:block !important;
	color:#c62828;
	font-size:var(--font-size-13);
	font-weight:600;
}

/* 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;
}

.product-reassurance__payment-content{
	display:flex;
	flex-direction:column;
	gap:4px;
}

.product-reassurance__icons{
	display:flex;
	gap:2px;
}

.product-reassurance__icons svg{
	color:unset;
	width:28px;
	height:18px;
}

.product-reassurance__icons svg{
	color:unset;
}

/* 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.6;
	color:var(--color-fonce);
	max-width:70ch;
}

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

.product-section__content p{
	margin-bottom:0.5em;
}

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

.woocommerce-product-details__short-description ul,
.product-section__content ul{
	list-style-position:inside;
	margin-bottom:0.5em;
}

.woocommerce-product-details__short-description ul:last-child,
.product-section__content ul:last-child{
	margin-bottom:0;
}

.woocommerce-product-details__short-description li,
.product-section__content li{
	margin-bottom:0.2em;
}

.woocommerce-product-details__short-description li:last-child,
.product-section__content li:last-child{
	margin-bottom:0;
}

.product-section__content hr{
	border:none;
	height:1px;
	background:var(--color-orange);
	margin:1.5em 0;
}

@media (min-width:900px){
	.product-section__content{
		max-width:none;
		columns:2;
		column-gap:var(--space-normal);
	}

	.product-section__content h2,
	.product-section__content h3,
	.product-section__content h4,
	.product-section__content h5,
	.product-section__content strong:first-child{
		break-after:avoid;
	}

	.product-section__content ul,
	.product-section__content ol,
	.product-section__content p{
		break-inside:avoid;
	}
}

/* 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);
}

.product-attributes__item dd a{
	color:var(--color-vert);
	text-decoration:none;
}

.product-attributes__item dd a:hover{
	text-decoration:underline;
}

/* Read-more button: hidden by default, shown on mobile via media query */
.product-section__readmore{
	display:none;
}

/* 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(6, 1fr);
	gap:var(--space-20);
	list-style:none;
	margin:0;
	padding:0;
}

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

/* ============================================================================
   WISERREVIEW REVIEWS SECTION
   ============================================================================ */

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

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

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

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

	.product-hero__summary{
		padding-top:0;
	}

	.product-gallery-caption:not(.has-caption){
		min-height:0;
	}

	/* Flex-viewport: fill grid column, prevent FlexSlider shrink */
	.product-hero__gallery .flex-viewport{
		width:100%;
		min-width:0;
	}

	/* Thumbnails carousel - smaller, constrained to image height */
	.gallery-thumbs-carousel{
		width:50px;
		min-height:0;
		align-self:stretch;
	}

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

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

	.product-hero__gallery .onsale{
		left:calc(50px + var(--space-small) + var(--space-10) + 6px);
	}

	/* No-gallery: constrain image height to save vertical space */
	.product-hero__gallery .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image,
	.product-hero__gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__image{
		aspect-ratio:3/2;
	}

	.product-hero__gallery .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image img,
	.product-hero__gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__image img{
		height:100%;
		object-fit:contain;
	}

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

	/* Description: read-more instead of accordion on mobile */
	.product-section--description .product-section__icon{
		display:none;
	}

	.product-section--description .product-section__toggle{
		pointer-events:none;
	}

	.product-section--description .product-section__content{
		display:block !important;
		position:relative;
		transition:max-height 0.4s ease;
	}

	.product-section--description .product-section__content.is-truncated{
		max-height:calc(6 * 1.6em);
		overflow:hidden;
		padding-bottom:0;
	}

	.product-section--description .product-section__content.is-truncated::after{
		content:'';
		position:absolute;
		bottom:0;
		left:0;
		right:0;
		height:3em;
		background:linear-gradient(to bottom, transparent, white);
		pointer-events:none;
	}

	.product-section__readmore{
		display:block;
		width:100%;
		padding:var(--space-10) 0;
		background:none;
		border:none;
		color:var(--color-vert);
		font-size:var(--font-size-r);
		font-weight:600;
		cursor:pointer;
		text-align:center;
	}

	/* Attributes: compact table instead of cards on mobile */
	.product-attributes{
		padding:var(--space-small);
	}

	.product-attributes__title{
		margin-bottom:var(--space-10);
	}

	.product-attributes__list{
		display:flex;
		flex-direction:column;
		gap:0;
	}

	.product-attributes__item{
		display:flex;
		justify-content:space-between;
		align-items:baseline;
		gap:var(--space-10);
		background:none;
		padding:10px 0;
		border-radius:0;
		border-bottom:1px solid var(--border-color);
	}

	.product-attributes__item:last-child{
		border-bottom:none;
		padding-bottom:0;
	}

	.product-attributes__item:first-child{
		padding-top:0;
	}

	.product-attributes__item dt{
		margin-bottom:0;
		flex-shrink:0;
	}

	.product-attributes__item dd{
		text-align:right;
	}
}

@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:repeat(3, 1fr);
	}
}

@media (max-width:480px){
	.product-single .related.products ul.products{
		grid-template-columns:repeat(2, 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);
	color:white;
	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%;
	}
}

/* Continue shopping button in mini-cart */
.jm-continue-shopping{
	background:transparent !important;
	color:var(--color-grey) !important;
	border:none !important;
	text-decoration:underline;
	cursor:pointer;
	font-size:0.9em;
	padding:8px 20px !important;
}

.jm-continue-shopping:hover{
	color:var(--color-fonce) !important;
}

/* AJAX add-to-cart loading state */
.single_add_to_cart_button.loading{
	opacity:0.6;
	pointer-events:none;
}

/* Add-to-cart error message */
.jm-add-to-cart-error{
	background:#ffebee;
	color:#c62828;
	padding:10px 14px;
	border-radius:6px;
	margin-top:var(--space-10);
	font-size:0.9em;
}

/* Variation highlight when not selected */
.variations.jm-highlight{
	outline:2px solid var(--color-vert);
	outline-offset:4px;
	border-radius:6px;
	animation:jm-pulse 0.6s ease 2;
}

@keyframes jm-pulse{
	0%,100%{ outline-color:var(--color-vert); }
	50%{ outline-color:transparent; }
}

/* ============================================================================
   STICKY ADD-TO-CART BAR
   ============================================================================ */

.jm-sticky-bar{
	position:fixed;
	z-index:1000;
	left:0;
	right:0;
	background:var(--color-white);
	box-shadow:0 -2px 10px rgba(0,0,0,0.1);
	transform:translateY(100%);
	transition:transform 0.3s ease;
	pointer-events:none;
}

.jm-sticky-bar.visible{
	transform:translateY(0);
	pointer-events:auto;
}

/* Mobile: bottom bar */
.jm-sticky-bar{
	bottom:0;
}

.jm-sticky-bar__inner{
	display:flex;
	align-items:center;
	gap:var(--space-10);
	padding-top:var(--space-10);
	padding-bottom:var(--space-10);
}

/* Product info (thumb + name + price) */
.jm-sticky-bar__product{
	display:flex;
	align-items:center;
	gap:10px;
	flex:1;
	min-width:0;
}

.jm-sticky-bar__img{
	width:44px;
	height:44px;
	border-radius:8px;
	object-fit:cover;
	flex-shrink:0;
}

.jm-sticky-bar__info{
	min-width:0;
}

.jm-sticky-bar__name{
	display:block;
	font-size:13px;
	font-weight:600;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	line-height:1.3;
}

.jm-sticky-bar__price{
	display:block;
	font-size:14px;
	font-weight:700;
	color:var(--color-vert);
	line-height:1.3;
}

.jm-sticky-bar__prefix{
	font-weight:400;
	font-size:12px;
}

/* Actions */
.jm-sticky-bar__actions{
	display:flex;
	align-items:center;
	gap:10px;
	flex-shrink:0;
}

.jm-sticky-bar button.jm-sticky-bar__atc.button{
	background:var(--color-vert);
	color:white;
	border:none;
	padding:12px 20px;
	border-radius:var(--global-radius);
	font-size:14px;
	font-weight:600;
	cursor:pointer;
	white-space:nowrap;
	transition:background 0.2s;
}

.jm-sticky-bar button.jm-sticky-bar__atc.button:hover{
	background:var(--color-fonce);
	color:white;
}

.jm-sticky-bar__stock{
	font-size:13px;
	font-weight:600;
	color:#c62828;
	white-space:nowrap;
}

.jm-sticky-bar button.jm-sticky-bar__atc.button:disabled{
	opacity:0.4;
	cursor:not-allowed;
}

.jm-sticky-bar button.jm-sticky-bar__atc.button.loading{
	opacity:0.6;
	pointer-events:none;
}

.jm-sticky-bar__cart-link{
	display:none;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	flex-shrink:0;
	border-radius:50%;
	background:rgba(0,0,0,0.06);
	color:var(--color-texte, #333);
	text-decoration:none;
	transition:background 0.2s;
}

.jm-sticky-bar__cart-link:hover{
	background:rgba(0,0,0,0.12);
	color:var(--color-texte, #333);
}

/* Inline variation selects */
.jm-sticky-bar__variations{
	display:flex;
	gap:8px;
	align-items:center;
	flex-shrink:0;
}

.jm-sticky-bar__variation-field{
	display:flex;
	align-items:center;
	gap:4px;
}

.jm-sticky-bar__variation-field label{
	font-size:12px;
	font-weight:600;
	white-space:nowrap;
}

.jm-sticky-bar__variation-field select{
	font-size:13px;
	padding:6px 10px;
	border:1px solid rgba(0,0,0,0.15);
	border-radius:8px;
	background:var(--color-white);
	max-width:140px;
}

/* Safe area for iOS bottom bar */
.jm-sticky-bar{
	padding-bottom:env(safe-area-inset-bottom, 0px);
}

/* --- Mobile/Tablet: compact bottom bar --- */
@media (max-width:1060px){
	.jm-sticky-bar__product{
		display:none;
	}

	.jm-sticky-bar__inner{
		flex-wrap:wrap;
	}

	.jm-sticky-bar__actions{
		flex:1;
		gap:8px;
	}

	.jm-sticky-bar__atc{
		flex:1;
		min-height:48px;
		font-size:16px;
	}

	.jm-sticky-bar__variations{
		flex-wrap:wrap;
		width:100%;
	}

	.jm-sticky-bar__variation-field{
		flex:1;
		min-width:0;
	}

	.jm-sticky-bar__variation-field select{
		max-width:none;
		width:100%;
	}
}

/* --- Desktop: top bar below sticky nav --- */
@media (min-width:1061px){
	.jm-sticky-bar{
		bottom:auto;
		top:var(--jm-sticky-bar-top, 60px);
		box-shadow:0 2px 10px rgba(0,0,0,0.1);
		transform:translateY(-200%);
	}

	.jm-sticky-bar.visible{
		transform:translateY(0);
	}

	/* Hide view cart link on desktop */
	.jm-sticky-bar__cart-link{
		display:none;
	}
}

/* ============================================================================
   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{
	padding-top:var(--space-30);
	padding-bottom:var(--space-50);
	max-width:900px;
	margin:0 auto;
}

.woocommerce-account:not(.logged-in) .woocommerce .col2-set{
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:var(--space-50);
}

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

.woocommerce-account:not(.logged-in) .woocommerce .col2-set .col-1,
.woocommerce-account:not(.logged-in) .woocommerce .col2-set .col-2{
	float:none !important;
	width:100% !important;
	margin:0 !important;
	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-account:not(.logged-in) .woocommerce .col2-set{
		grid-template-columns:1fr;
	}

	.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);
	}
}

/* ============================================================================
   PRODUCT RECOMMENDATIONS
   ============================================================================ */

.jm-products-reco{
	margin:var(--space-30) 0;
	padding:var(--space-30);
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
}

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

.jm-products-reco__grid{
	background:none;
	padding:0;
}

.jm-products-reco__grid.is4{
	grid-template-columns:repeat(4, 1fr);
}

@media (max-width:1000px){
	.jm-products-reco__grid.is4{
		grid-template-columns:repeat(2, 1fr);
	}
}

@media (max-width:600px){
	.jm-products-reco__grid.is4{
		display:flex;
		flex-wrap:nowrap;
		overflow-x:auto;
		gap:var(--space-small);
		padding-bottom:var(--space-small);
	}

	.jm-products-reco__grid.is4 .articles-grid__item{
		flex:0 0 260px;
		aspect-ratio:3 / 4;
	}

	.jm-products-reco__grid.is4 .articles-grid__item--product{
		flex:0 0 200px;
		aspect-ratio:auto;
	}
}

/* ---------------------------------------------------------------------------
   Mobile fixed bottom bar for .jm-products-reco.related
   --------------------------------------------------------------------------- */

/* Toggle button — hidden by default (shown in mobile MQ) */
.jm-products-reco__toggle{
	display:none;
}

@media (max-width:720px){

	/* Spacer so fixed bar doesn't cover page content */
	body.has-product-bar{
		padding-bottom:170px;
	}

	/* Fixed bottom bar */
	.jm-products-reco.related{
		position:fixed;
		bottom:0;
		left:0;
		right:0;
		z-index:999;
		margin:0;
		border-radius:16px 16px 0 0;
		padding:12px 14px 14px;
		box-shadow:0 -4px 24px rgba(0,0,0,0.18);
		transition:transform 0.3s ease;
	}

	/* Title row — flex for toggle button alignment */
	.jm-products-reco.related .jm-products-reco__title{
		font-size:13px;
		margin-bottom:8px;
		display:flex;
		align-items:center;
		justify-content:space-between;
		cursor:pointer;
	}

	/* Collapsed state — grid hidden, bar shrinks to title only */
	.jm-products-reco.related.is-collapsed .jm-products-reco__title{
		margin-bottom:0;
	}

	.jm-products-reco.related.is-collapsed .jm-products-reco__grid.is4{
		max-height:0;
		overflow:hidden;
		opacity:0;
		padding:0;
	}

	body.has-product-bar.bar-collapsed{
		padding-bottom:50px;
	}

	/* Horizontal scroll grid override */
	.jm-products-reco.related .jm-products-reco__grid.is4{
		display:flex;
		flex-wrap:nowrap;
		overflow-x:auto;
		gap:10px;
		padding-bottom:2px;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
		max-height:200px;
		opacity:1;
		transition:max-height 0.3s ease, opacity 0.2s ease;
	}

	.jm-products-reco.related .jm-products-reco__grid.is4::-webkit-scrollbar{
		display:none;
	}

	/* Card layout: compact 130px with __media + __content */
	.jm-products-reco.related .articles-grid__item--product{
		flex:0 0 130px;
		aspect-ratio:auto;
		border-radius:12px;
		background:#fff;
		overflow:hidden;
	}

	/* Image wrapper: fixed height */
	.jm-products-reco.related .articles-grid__item__media{
		aspect-ratio:auto;
		height:75px;
		border-radius:0;
	}

	.jm-products-reco.related .articles-grid__item__media .articles-grid__item__img{
		border-radius:0;
	}

	/* Content: empiler titre et prix */
	.jm-products-reco.related .articles-grid__item__content{
		flex-direction:column;
		padding:6px 8px;
		gap:2px;
	}

	/* Title: 2 lines */
	.jm-products-reco.related .articles-grid__item__title{
		font-size:11px;
		line-height:1.3;
		-webkit-line-clamp:2;
	}

	/* Price: compact in bar */
	.jm-products-reco.related .articles-grid__item__price{
		font-size:12px;
		font-weight:700;
		line-height:1.2;
	}

	/* Hide hover effects in fixed bar */
	.jm-products-reco.related .articles-grid__item--product:hover{
		transform:none;
		box-shadow:none;
	}

	/* Toggle button — chevron (visible on mobile) */
	.jm-products-reco__toggle{
		display:flex;
		align-items:center;
		justify-content:center;
		width:28px;
		height:28px;
		border-radius:50%;
		border:none;
		background:rgba(0,0,0,0.08);
		cursor:pointer;
		flex-shrink:0;
		padding:0;
		transition:transform 0.3s ease;
	}

	/* Chevron via SVG-like borders */
	.jm-products-reco__toggle::before{
		content:'';
		width:8px;
		height:8px;
		border-right:2px solid var(--color-fonce);
		border-bottom:2px solid var(--color-fonce);
		transform:rotate(45deg);
		margin-top:-3px;
	}

	/* Rotate chevron when collapsed (points up = "expand") */
	.is-collapsed .jm-products-reco__toggle::before{
		transform:rotate(-135deg);
		margin-top:3px;
	}
}

/* Widget specific */
.widget-products-reco{
	margin:0;
	padding:var(--space-small);
}

.widget-products-reco .jm-products-reco__grid.is4{
	grid-template-columns:1fr;
	gap:var(--space-small);
}

.widget-products-reco .articles-grid__item{
	aspect-ratio:4 / 3;
}

.widget-products-reco .articles-grid__item--product{
	aspect-ratio:auto;
}

/* Slider autoplay */
.jm-products-slider{
	position:relative;
}

.jm-products-slider__slide{
	display:none;
	opacity:0;
	transition:opacity 0.3s ease;
}

.jm-products-slider__slide.is-active{
	display:block;
	opacity:1;
}

.jm-products-slider__slide .articles-grid__item{
	aspect-ratio:4 / 3;
}

.jm-products-slider__slide .articles-grid__item--product{
	aspect-ratio:auto;
}

.jm-products-slider__dots{
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:var(--space-small);
}

.jm-products-slider__dot{
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--color-grey);
	border:none;
	padding:0;
	cursor:pointer;
	transition:background 0.2s ease, transform 0.2s ease;
}

.jm-products-slider__dot:hover{
	transform:scale(1.2);
}

.jm-products-slider__dot.is-active{
	background:var(--color-vert);
}

/* ==========================================================================
   WooCommerce Cross-sells Block (Cart page)
   Match custom product card style
   ========================================================================== */

/* Container */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"]{
	margin-top:var(--space-normal);
	padding-top:var(--space-normal);
	border-top:1px solid var(--color-softgrey);
}

/* Section title */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] > .wp-block-heading{
	font-size:var(--font-size-h3);
	font-weight:600;
	margin-bottom:var(--space-small) !important;
}

/* Grid */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product-template{
	display:grid !important;
	grid-template-columns:repeat(4, 1fr);
	gap:var(--space-30);
	list-style:none;
	padding:0;
	margin:0;
}

/* Product card — flex column, image carrée + contenu en dessous */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product{
	display:flex;
	flex-direction:column;
	aspect-ratio:auto;
	border-radius:var(--global-radius);
	overflow:hidden;
	transition:transform 0.3s ease, box-shadow 0.3s ease;
	background:var(--color-white);
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product:hover{
	transform:translateY(-4px);
	box-shadow:0 12px 24px rgba(0,0,0,0.15);
}

/* Image container — aspect-ratio carré */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-components-product-image{
	position:relative;
	aspect-ratio:1 / 1;
	overflow:hidden;
	margin:0 !important;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-components-product-image a{
	display:block;
	width:100%;
	height:100%;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-components-product-image img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	max-width:none !important;
	max-height:none !important;
	transition:transform 0.4s ease;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product:hover .wc-block-components-product-image img{
	transform:scale(1.05);
}

/* Title — statique sous l'image */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product .wp-block-post-title{
	position:static !important;
	margin:0 !important;
	padding:var(--space-6) var(--space-small) 0 !important;
	background:none;
	text-align:left !important;
	flex:1;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product .wp-block-post-title a{
	color:var(--color-fonce) !important;
	font-size:var(--font-size-18) !important;
	font-weight:400 !important;
	text-decoration:none;
	text-shadow:none;
	line-height:1.2;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product:hover .wp-block-post-title a{
	color:var(--color-vert) !important;
}

/* Price — statique sous le titre */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product [data-block-name="woocommerce/product-price"]{
	position:static !important;
	background:none;
	color:var(--color-vert) !important;
	font-weight:600;
	font-size:var(--font-size-13) !important;
	padding:2px var(--space-small) var(--space-6);
	border-radius:0;
	line-height:1.3;
	margin:0 !important;
	text-align:left !important;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-components-product-price{
	display:inline;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-components-product-price__value{
	font-weight:600;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] [data-block-name="woocommerce/product-price"] del{
	opacity:0.6;
	font-weight:400;
}

.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] [data-block-name="woocommerce/product-price"] ins{
	text-decoration:none;
}

/* Hide "Add to cart" button */
.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] [data-block-name="woocommerce/product-button"]{
	display:none !important;
}

/* Mobile adjustments */
@media (max-width:900px){
	.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product-template{
		grid-template-columns:repeat(2, 1fr);
	}
}

@media (max-width:600px){
	.wp-block-woocommerce-product-collection[data-collection="woocommerce/product-collection/cross-sells"] .wc-block-product:hover{
		transform:none;
		box-shadow:none;
	}
}

/* =============================================================================
   ORDER RECEIVED / THANK YOU PAGE
   ============================================================================= */

.woocommerce-order{
	padding-top:var(--space-30);
	padding-bottom:var(--space-50);
}

/* Message de confirmation */
.woocommerce-thankyou-order-received{
	font-size:var(--font-size-18);
	color:var(--color-vert);
	font-weight:600;
	padding:var(--space-30);
	background:rgba(102,150,96,0.1);
	border-radius:var(--global-radius);
	margin-bottom:var(--space-30);
	text-align:center;
}

/* Resume commande (numero, date, email, total, paiement) */
.woocommerce-order .woocommerce-order-overview{
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-small) var(--space-30);
	padding:var(--space-30);
	background:var(--color-softgrey);
	border-radius:var(--global-radius);
	margin-bottom:var(--space-50);
}

.woocommerce-order .woocommerce-order-overview li{
	flex:1 1 auto;
	min-width:120px;
	font-size:var(--font-size-13);
	color:var(--color-grey);
}

.woocommerce-order .woocommerce-order-overview li strong{
	display:block;
	font-size:var(--font-size-r);
	color:var(--color-fonce);
	margin-top:4px;
}

/* Sections */
.woocommerce-order-details,
.woocommerce-customer-details{
	margin-bottom:var(--space-50);
}

.woocommerce-order-details__title,
.woocommerce-customer-details .woocommerce-column__title{
	font-size:var(--font-size-h3);
	font-weight:600;
	color:var(--color-fonce);
	margin-bottom:var(--space-small);
}

/* Table des produits */
.woocommerce-order-details .shop_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.05);
}

.woocommerce-order-details .shop_table thead{
	background:var(--color-softgrey);
}

.woocommerce-order-details .shop_table th,
.woocommerce-order-details .shop_table td{
	padding:var(--space-small);
	text-align:left;
	border-bottom:1px solid #eee;
}

.woocommerce-order-details .shop_table th{
	font-size:var(--font-size-13);
	text-transform:uppercase;
	letter-spacing:0.03em;
	color:var(--color-grey);
	font-weight:600;
}

.woocommerce-order-details .shop_table td{
	font-size:var(--font-size-r);
	color:var(--color-fonce);
}

.woocommerce-order-details .shop_table td a{
	color:var(--color-fonce);
	text-decoration:none;
	transition:color 0.2s;
}

.woocommerce-order-details .shop_table td a:hover{
	color:var(--color-vert);
}

.woocommerce-order-details .shop_table .product-quantity{
	color:var(--color-grey);
	font-weight:normal;
}

.woocommerce-order-details .shop_table tbody tr:last-child td{
	border-bottom:none;
}

.woocommerce-order-details .shop_table tfoot th,
.woocommerce-order-details .shop_table tfoot td{
	border-bottom:1px solid #eee;
}

.woocommerce-order-details .shop_table tfoot tr:last-child th,
.woocommerce-order-details .shop_table tfoot tr:last-child td{
	border-bottom:none;
	font-weight:600;
	color:var(--color-fonce);
}

.woocommerce-order-details .shop_table tfoot .shipped_via{
	display:block;
	font-size:var(--font-size-13);
	color:var(--color-grey);
	font-weight:normal;
	margin-top:4px;
}

/* Colonnes adresses */
.woocommerce-order .woocommerce-customer-details .col2-set{
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:var(--space-30);
}

.woocommerce-order .woocommerce-customer-details .col2-set::before,
.woocommerce-order .woocommerce-customer-details .col2-set::after{
	display:none;
}

.woocommerce-order .woocommerce-customer-details .woocommerce-column{
	float:none !important;
	width:100% !important;
	background:var(--color-softgrey);
	padding:var(--space-30);
	border-radius:var(--global-radius);
}

.woocommerce-order .woocommerce-customer-details address{
	font-style:normal;
	line-height:1.7;
	color:var(--color-fonce);
	font-size:var(--font-size-r);
}

.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--email{
	margin-top:var(--space-small);
	color:var(--color-vert);
}

/* Responsive */
@media (max-width:768px){
	.woocommerce-order .woocommerce-order-overview{
		flex-direction:column;
		gap:var(--space-small);
	}

	.woocommerce-order .woocommerce-order-overview li{
		display:flex;
		justify-content:space-between;
		align-items:center;
		min-width:100%;
		padding-bottom:var(--space-small);
		border-bottom:1px solid rgba(0,0,0,0.05);
	}

	.woocommerce-order .woocommerce-order-overview li:last-child{
		padding-bottom:0;
		border-bottom:none;
	}

	.woocommerce-order .woocommerce-order-overview li strong{
		margin-top:0;
		text-align:right;
	}

	.woocommerce-order .woocommerce-customer-details .col2-set{
		grid-template-columns:1fr;
	}

	.woocommerce-order-details .shop_table,
	.woocommerce-order-details .shop_table thead,
	.woocommerce-order-details .shop_table tbody,
	.woocommerce-order-details .shop_table tfoot,
	.woocommerce-order-details .shop_table tr,
	.woocommerce-order-details .shop_table th,
	.woocommerce-order-details .shop_table td{
		display:block;
	}

	.woocommerce-order-details .shop_table thead{
		display:none;
	}

	.woocommerce-order-details .shop_table tr{
		padding:var(--space-small);
		border-bottom:1px solid #eee;
	}

	.woocommerce-order-details .shop_table tbody tr:last-child{
		border-bottom:none;
	}

	.woocommerce-order-details .shop_table td{
		padding:4px 0;
		border-bottom:none;
	}

	.woocommerce-order-details .shop_table td.product-total{
		font-weight:600;
	}

	.woocommerce-order-details .shop_table tfoot{
		display:table;
		width:100%;
	}

	.woocommerce-order-details .shop_table tfoot tr{
		display:table-row;
	}

	.woocommerce-order-details .shop_table tfoot th,
	.woocommerce-order-details .shop_table tfoot td{
		display:table-cell;
		padding:var(--space-small) 0;
		border-bottom:1px solid #eee;
	}

	.woocommerce-order-details .shop_table tfoot tr:last-child th,
	.woocommerce-order-details .shop_table tfoot tr:last-child td{
		border-bottom:none;
	}

	.woocommerce-order-details .shop_table tfoot td{
		text-align:right;
	}
}
