/* ============================================================
   Z DERMA — Surfaces WooCommerce
   Boutique, fiche produit, panier, commande, mon compte.
   ============================================================ */

/* ---------- Fil d'Ariane ---------- */
.zd-crumbs{
	display:flex; align-items:center; gap:9px;
	padding-block:clamp(18px,2vw,30px);
	font-size:14px; color:var(--zd-grey);
}
.zd-crumbs a{ color:var(--zd-grey); }
.zd-crumbs a:hover{ color:var(--zd-orange-text); }
.zd-crumbs span{ color:var(--zd-line); }
.zd-crumbs strong{ color:var(--zd-black); font-weight:600; }

/* ---------- En-tête d'archive ---------- */
/* Maquette : titre à gauche, chapeau à droite, grand disque orange en décor. */
.zd-archive__head{
	position:relative;
	display:grid; grid-template-columns:1.05fr 1fr;
	gap:clamp(20px,4vw,70px);
	align-items:center;
	padding-block:clamp(6px,1.6vw,26px);
	margin-bottom:clamp(22px,3vw,40px);
}
.zd-archive__glow{
	position:absolute; right:-3%; top:50%;
	transform:translateY(-50%);
	width:min(32vw,400px); aspect-ratio:1/1;
	border-radius:50%;
	background:var(--zd-orange);
	z-index:0;
}
.zd-archive__head > h1,
.zd-archive__head > p{ position:relative; z-index:1; }
.zd-archive__head .zd-title{ margin-bottom:0; }
@media (max-width:900px){
	.zd-archive__head{ grid-template-columns:1fr; overflow:hidden; }
	.zd-archive__glow{ width:44vw; right:0; opacity:.5; }
}

/* Barre d'outils : filtres à gauche, compte + tri à droite (comme la maquette) */
.zd-archive__toolbar{
	display:flex; align-items:center; justify-content:space-between;
	gap:18px; flex-wrap:wrap;
	padding-bottom:16px; margin-bottom:clamp(18px,2.4vw,30px);
	border-bottom:1px solid var(--zd-line);
}
.zd-chips{
	display:flex; flex-wrap:wrap; gap:9px;
	margin-bottom:0;
}
.zd-chip-link{
	padding:10px 20px;
	border:1.5px solid var(--zd-line);
	border-radius:999px;
	font-weight:500; font-size:14.5px;
	transition:all var(--zd-transition);
}
.zd-chip-link:hover{ border-color:var(--zd-black); }
.zd-chip-link.is-active{ background:var(--zd-black); border-color:var(--zd-black); color:#fff; }

.zd-archive__bar{
	display:flex; align-items:center; gap:16px; flex-wrap:wrap;
	margin:0;
}
.zd-archive__count{
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:13px; letter-spacing:.14em; text-transform:uppercase;
	color:var(--zd-grey);
	white-space:nowrap;
}
.woocommerce-ordering{ margin:0; }
.woocommerce-ordering select{
	padding:11px 18px; border-radius:999px;
	border:1.5px solid var(--zd-line);
	font-family:var(--zd-font-body); font-size:14.5px;
	background:#fff;
}

/* ---------- Grille produits ---------- */
ul.products{
	display:grid!important;
	/* Maquette boutique : 4 soins sur une ligne, le coffret en dessous. */
	grid-template-columns:repeat(4,1fr);
	gap:clamp(14px,1.7vw,24px);
	margin:0 0 clamp(30px,4vw,56px)!important;
	padding:0!important;
	list-style:none;
}
ul.products::before,ul.products::after{ display:none!important; }
ul.products li.product{ width:auto!important; margin:0!important; float:none!important; }

/* ---------- Carte produit ---------- */
.zd-pc{
	border:1.5px solid var(--zd-line);
	border-radius:var(--zd-radius-lg);
	background:#fff;
	overflow:hidden;
	display:flex; flex-direction:column;
	transition:border-color var(--zd-transition), transform var(--zd-transition);
}
.zd-pc:hover{ border-color:var(--zd-black); transform:translateY(-4px); }

.zd-pc__media{
	position:relative;
	display:grid; place-items:center;
	background:var(--zd-peach);
	/* Maquette : visuel en 4/3, produit à ~60 % (beaucoup d'air autour). */
	aspect-ratio:4/3;
	overflow:hidden;
}
.zd-pc__media img{
	width:60%!important; height:60%!important;
	object-fit:contain;
	margin:0!important;
	background:none!important;
	border-radius:0!important;
}
/* Petite étiquette technique en haut à gauche (ex. « 200 ml »). */
.zd-pc__spec{
	position:absolute; top:14px; left:14px;
	background:rgba(17,17,17,.06); color:var(--zd-grey);
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
	padding:5px 11px; border-radius:999px;
}
.zd-pc__badge{
	position:absolute; top:14px; right:14px;
	background:var(--zd-orange); color:#fff;
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
	padding:5px 11px; border-radius:999px;
}
.zd-pc__badge--sale{ background:var(--zd-green); }

/* Carte « héros » (produit mis en avant) : fond orange, disque blanc. */
.zd-pc--hero{
	background:var(--zd-orange);
	border-color:var(--zd-orange);
	color:#fff;
}
.zd-pc--hero:hover{ border-color:var(--zd-black); }
.zd-pc--hero .zd-pc__media{ background:transparent; }
.zd-pc--hero .zd-pc__media::before{
	content:""; position:absolute;
	width:74%; aspect-ratio:1/1; border-radius:50%;
	background:#fff;
}
.zd-pc--hero .zd-pc__media img{ position:relative; z-index:1; width:68%!important; height:68%!important; }
.zd-pc--hero .zd-pc__spec{ background:rgba(255,255,255,.22); color:#fff; }
.zd-pc--hero .zd-pc__badge{ background:var(--zd-black); }
.zd-pc--hero .zd-pc__cat{ color:rgba(255,255,255,.85); }
.zd-pc--hero .zd-pc__desc{ color:rgba(255,255,255,.9); }
.zd-pc--hero .zd-price{ color:#fff; }
.zd-pc--hero .zd-btn--outline{ --_fg:#fff; border-color:#fff; }
.zd-pc--hero .zd-btn--outline:hover{ --_bg:#fff; --_fg:var(--zd-black); }

.zd-pc__body{ padding:18px; display:flex; flex-direction:column; flex:1 1 auto; }
.zd-pc__cat{
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
	color:var(--zd-orange-text); margin-bottom:8px;
}
.zd-pc__name{
	font-family:var(--zd-font-display);
	font-size:19px; font-weight:600; letter-spacing:0; line-height:1.15;
	margin-bottom:8px;
}
.zd-pc__name a:hover{ color:var(--zd-orange-text); }
.zd-pc__desc{
	font-size:14px; color:var(--zd-grey);
	flex:1 1 auto; margin-bottom:16px;
}
.zd-pc__foot{
	display:flex; align-items:center; justify-content:space-between;
	gap:12px; flex-wrap:wrap;
}

/* Carte coffret : pleine largeur, sur fond noir */
.zd-pc--bundle{
	grid-column:1 / -1;
	flex-direction:row;
	background:var(--zd-black);
	border-color:var(--zd-black);
	color:#fff;
}
.zd-pc--bundle:hover{ border-color:var(--zd-orange); }
.zd-pc--bundle .zd-pc__media{
	background:var(--zd-black);
	width:38%; flex:none;
	aspect-ratio:4/3;
}
/* Maquette : le coffret est posé sur un disque orange. */
.zd-pc--bundle .zd-pc__media::before{
	content:""; position:absolute;
	width:72%; aspect-ratio:1/1; border-radius:50%;
	background:var(--zd-orange);
}
.zd-pc--bundle .zd-pc__media img{
	position:relative; z-index:1;
	width:56%!important; height:56%!important;
}
.zd-pc--bundle .zd-pc__body{ padding:clamp(20px,2.6vw,38px); justify-content:center; }
.zd-pc--bundle .zd-pc__cat{ color:var(--zd-orange-light); }
.zd-pc--bundle .zd-pc__name{ font-size:clamp(24px,2.6vw,36px); }
.zd-pc--bundle .zd-pc__desc{ color:rgba(255,255,255,.8); flex:0 1 auto; }
.zd-pc--bundle .zd-price{ color:#fff; }
.zd-pc--bundle .zd-price del{ color:rgba(255,255,255,.55); }

/* ---------- Fiche produit ---------- */
.zd-single{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:clamp(24px,4vw,66px);
	align-items:start;
	padding-bottom:clamp(28px,3.4vw,52px);
}
.zd-single__gallery{ position:relative; }
.zd-single__gallery .woocommerce-product-gallery{ width:100%!important; float:none!important; }
/* Galerie : grande tuile orange carrée (maquette) */
.zd-single__gallery .woocommerce-product-gallery__trigger{ display:none!important; }
.zd-single__gallery .woocommerce-product-gallery__image{
	background:var(--zd-orange);
	border-radius:var(--zd-radius-lg);
	aspect-ratio:1/1;
	display:grid; place-items:center;
	overflow:hidden;
	max-width:440px;
	margin-inline:auto;
}
.zd-single__gallery .woocommerce-product-gallery__image img{
	background:none; border-radius:0; padding:0;
	width:74%!important; height:74%!important;
	object-fit:contain;
	margin:0;
}
/* Titre : « Sérum » + « Vitamine C » en italique orange */
.zd-single .product_title em{
	font-style:italic; font-weight:300; color:var(--zd-orange);
}
.zd-single__gallery .flex-control-thumbs{
	display:flex; gap:10px; margin-top:12px; padding:0; list-style:none;
	justify-content:center;
}
.zd-single__gallery .flex-control-thumbs li{ width:74px; }
.zd-single__gallery .flex-control-thumbs img{ padding:6%; border-radius:12px; cursor:pointer; }

.zd-single__badges{
	display:flex; align-items:center; gap:14px; flex-wrap:wrap;
	margin-bottom:12px;
}
.zd-single__badges .zd-eyebrow{ margin-bottom:0; }
.zd-single__step{
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
	background:var(--zd-green-pale); color:var(--zd-green);
	padding:5px 12px; border-radius:999px;
}
.zd-single .product_title{
	font-size:clamp(32px,4vw,56px);
	line-height:1.02; margin-bottom:12px;
}
.zd-single__meta{ color:var(--zd-grey); font-size:15.5px; margin-bottom:14px; }
.zd-single__price{
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:clamp(30px,3.4vw,42px); line-height:1;
	margin-bottom:18px;
}
.zd-single__price del{ color:var(--zd-grey); font-size:.62em; margin-right:10px; font-weight:600; }
.zd-single__price ins{ text-decoration:none; color:var(--zd-orange-text); }
.zd-single__short{ color:var(--zd-grey); margin-bottom:18px; max-width:56ch; }

.zd-single__features{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.zd-single__features li{
	background:var(--zd-peach);
	color:var(--zd-orange-text);
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
	padding:6px 13px; border-radius:999px;
}

.zd-single__buy{ margin-bottom:20px; }
.zd-single__buy form.cart{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:0; }
.zd-single__buy .quantity input{
	width:76px; padding:14px; text-align:center;
	border:2px solid var(--zd-black); border-radius:999px;
	font-family:var(--zd-font-body); font-size:15px;
}
.zd-single__buy .single_add_to_cart_button{
	border-radius:999px!important;
	background:var(--zd-black)!important; color:#fff!important;
	font-weight:600!important; font-size:16px!important;
	padding:16px 38px!important; border:0!important;
	transition:background var(--zd-transition);
}
.zd-single__buy .single_add_to_cart_button:hover{ background:var(--zd-orange)!important; }

.zd-single__trust{
	display:flex; flex-wrap:wrap; gap:10px 24px;
	padding-top:18px; border-top:1px solid var(--zd-line);
	font-size:13.5px; color:var(--zd-grey);
}
.zd-single__trust li{ display:flex; align-items:center; gap:8px; }
.zd-single__trust li::before{
	content:""; width:13px; height:13px; border-radius:50%;
	background:var(--zd-green-pale); border:2px solid var(--zd-green); flex:none;
}

/* Encart « Toute la routine + un petit cadeau » sous le bouton (maquette) */
.zd-single__teaser{
	display:flex; align-items:center; gap:16px; flex-wrap:wrap;
	border:1.5px solid var(--zd-green);
	background:var(--zd-green-pale);
	border-radius:var(--zd-radius);
	padding:14px 18px;
	margin-top:22px;
}
.zd-single__teaser-art{
	width:54px; height:54px; flex:none;
	background:#fff; border-radius:10px;
	display:grid; place-items:center; overflow:hidden;
}
.zd-single__teaser-art img{ width:78%; height:78%; object-fit:contain; }
.zd-single__teaser-copy{ flex:1 1 190px; }
.zd-single__teaser-copy strong{
	font-family:var(--zd-font-display); font-size:15.5px;
	display:block; margin-bottom:3px;
}
.zd-single__teaser-copy p{ font-size:13px; color:var(--zd-grey); margin:0; }

/* Bandeau orange « Complétez la routine » (maquette) */
.zd-single__bundle{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:clamp(20px,3vw,40px);
	align-items:center;
	background:var(--zd-orange);
	color:var(--zd-black);
	border-radius:var(--zd-radius-lg);
	padding:clamp(24px,3vw,50px);
	margin-block:clamp(28px,3.4vw,56px);
}
.zd-single__bundle .zd-eyebrow{ color:#4a2a10; }
.zd-single__bundle .zd-eyebrow::before{ background:#4a2a10; }
.zd-single__bundle .zd-title{
	font-size:clamp(28px,3.4vw,50px);
	margin-bottom:12px;
}
.zd-single__bundle .zd-title em{ color:#4a2a10; }
.zd-single__bundle-copy p{
	color:rgba(17,17,17,.78); max-width:52ch; margin-bottom:22px;
}
.zd-single__bundle-art{ display:grid; place-items:center; }
.zd-single__bundle-art img{ width:min(300px,82%); height:auto; }
@media (max-width:900px){
	.zd-single__bundle{ grid-template-columns:1fr; }
	.zd-single__bundle-art{ order:-1; }
}

/* ---------- Onglets ---------- */
.woocommerce-tabs{ margin-bottom:clamp(30px,4vw,60px); }
.woocommerce-tabs ul.tabs{
	display:flex; gap:clamp(14px,2vw,30px); flex-wrap:wrap;
	border-bottom:1px solid var(--zd-line);
	padding:0!important; margin:0 0 24px!important;
}
.woocommerce-tabs ul.tabs li{
	background:none!important; border:0!important;
	padding:0!important; margin:0!important; border-radius:0!important;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{ display:none!important; }
.woocommerce-tabs ul.tabs li a{
	font-family:var(--zd-font-display); font-weight:600; font-size:16.5px;
	padding:12px 0!important; display:block; color:var(--zd-grey);
}
.woocommerce-tabs ul.tabs li.active a{ color:var(--zd-black); box-shadow:inset 0 -3px 0 var(--zd-orange); }
.woocommerce-tabs .panel{
	border:0!important; padding:0!important; margin:0!important;
	box-shadow:none!important; background:none!important;
	max-width:80ch;
}
.woocommerce-tabs .panel h2{ font-size:20px; margin-bottom:12px; }
.woocommerce-tabs .shop_attributes th{ font-weight:600; text-align:left; padding:9px 0; width:180px; }
.woocommerce-tabs .shop_attributes td{ padding:9px 0; color:var(--zd-grey); }

/* ---------- Produits liés ---------- */
.zd-single__related h2{ margin-bottom:clamp(18px,2.4vw,30px); }

/* Masque les éléments hors design (comparateur, favoris, SKU, badge Woo) */
.zd-pc .compare.button,
.zd-pc .wcboost-products-compare-button,
.zd-pc .add_to_wishlist,
.zd-pc .wcboost-wishlist-button,
.zd-pc .onsale,
.single-product .compare.button,
.single-product .wcboost-products-compare-button,
.single-product .add_to_wishlist,
.single-product .product_meta,
.single-product .woocommerce-product-rating{ display:none!important; }

/* Utopia Fast Checkout : son bloc « Commande Rapide » est injecté DANS <form.cart>,
   ce qui pousse le bouton « Ajouter au panier » hors de l'écran à toutes les
   largeurs (débordement +117px en mobile). Il n'apparaît pas dans la maquette :
   on le masque. >>> Retirer cette règle pour le réafficher. <<< */
.single-product #utopia-fast-checkout,
.single-product .fast-checkout-message{ display:none!important; }

/* ---------- Messages ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
	border:0!important; border-left:4px solid var(--zd-orange)!important;
	background:var(--zd-peach)!important; color:var(--zd-black)!important;
	border-radius:var(--zd-radius)!important;
	padding:16px 20px!important; margin-bottom:20px!important;
	display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.woocommerce-message .button,.woocommerce-info .button{
	border-radius:999px!important; background:var(--zd-black)!important;
	color:#fff!important; margin-left:auto; padding:11px 22px!important;
}

/* ---------- Panier / Commande ---------- */
.woocommerce-cart-form,.woocommerce-checkout{ margin-bottom:clamp(30px,4vw,60px); }
.woocommerce table.shop_table{
	border:1.5px solid var(--zd-line)!important;
	border-radius:var(--zd-radius-lg)!important;
	border-collapse:separate!important;
	border-spacing:0!important;
	overflow:hidden;
}
.woocommerce table.shop_table th{
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
	background:var(--zd-grey-soft)!important; color:var(--zd-grey);
	padding:14px 16px!important;
}
.woocommerce table.shop_table td{
	padding:16px!important; border-color:var(--zd-line)!important;
	vertical-align:middle;
}
.woocommerce table.shop_table img{ width:70px; border-radius:12px; background:var(--zd-peach); }
.woocommerce table.shop_table .product-name a{ font-weight:600; }

.cart_totals,.woocommerce-checkout-review-order{
	border:1.5px solid var(--zd-line)!important;
	border-radius:var(--zd-radius-lg)!important;
	padding:24px!important;
}
.cart_totals h2{ font-family:var(--zd-font-display); font-size:22px; margin-bottom:16px; }

.wc-proceed-to-checkout a.checkout-button,
#place_order,
.woocommerce-form-login button,
.woocommerce-form-register button,
.woocommerce-Button,
button[name="update_cart"]{
	border-radius:999px!important;
	background:var(--zd-orange)!important; color:#fff!important;
	font-weight:600!important; font-size:16px!important;
	padding:16px 32px!important; border:0!important;
	transition:background var(--zd-transition);
}
.wc-proceed-to-checkout a.checkout-button:hover,
#place_order:hover{ background:var(--zd-orange-dark)!important; }
button[name="update_cart"]{ font-size:14px!important; padding:12px 22px!important; background:var(--zd-black)!important; }

/* Champs de formulaire */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
	padding:13px 16px!important;
	border:1.5px solid var(--zd-line)!important;
	border-radius:var(--zd-radius)!important;
	font-family:var(--zd-font-body)!important;
	font-size:15px!important;
	background:#fff;
	min-height:48px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{ border-color:var(--zd-orange)!important; }
.woocommerce form .form-row label{ font-weight:600; font-size:14.5px; margin-bottom:6px; }
#order_review{ border:0!important; padding:0!important; }

/* ---------- Mon compte ---------- */
.woocommerce-account .woocommerce{
	display:grid; grid-template-columns:250px 1fr;
	gap:clamp(20px,3vw,50px); align-items:start;
	padding-block:clamp(20px,3vw,44px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ display:grid; gap:4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a{
	display:block; padding:12px 16px; border-radius:var(--zd-radius);
	font-weight:500;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
	background:var(--zd-peach); color:var(--zd-orange-text);
}
.woocommerce-account .woocommerce-MyAccount-content{ width:100%!important; float:none!important; }
.woocommerce-account:not(.logged-in) .woocommerce{ display:block; max-width:560px; }
.woocommerce-form-login,.woocommerce-form-register{
	border:1.5px solid var(--zd-line)!important;
	border-radius:var(--zd-radius-lg)!important;
	padding:clamp(20px,2.6vw,34px)!important;
}

/* ---------- Pagination ---------- */
.woocommerce-pagination ul{ display:flex; gap:8px; justify-content:center; border:0!important; }
.woocommerce-pagination ul li{ border:0!important; overflow:visible!important; }
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{
	border-radius:50%!important; width:46px; height:46px;
	display:grid; place-items:center;
	border:1.5px solid var(--zd-line)!important;
	color:var(--zd-black);
}
.woocommerce-pagination ul li span.current{ background:var(--zd-black); color:#fff; border-color:var(--zd-black)!important; }

/* ---------- Responsive ---------- */
@media (max-width:1180px){
	ul.products{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:980px){
	ul.products{ grid-template-columns:repeat(2,1fr); }
	.zd-single{ grid-template-columns:1fr; }
	.zd-pc--bundle{ flex-direction:column; }
	.zd-pc--bundle .zd-pc__media{ width:100%; aspect-ratio:16/9; }
	.woocommerce-account .woocommerce{ grid-template-columns:1fr; }
}
@media (max-width:560px){
	ul.products{ grid-template-columns:1fr; }
	.zd-single__buy .single_add_to_cart_button{ flex:1 1 100%; }
}

/* ============================================================
   PANIER — maquette : tableau pleine largeur + encadré « Total panier »
   ============================================================ */
.zd-page__body--woo{ max-width:none; }

.zd-cart__head{
	display:flex; align-items:baseline; gap:12px;
	padding-block:clamp(18px,2.6vw,36px) clamp(10px,1.6vw,20px);
}
.zd-cart__head .zd-title{ margin:0; }
.zd-cart__count{
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:13px; letter-spacing:.14em; text-transform:uppercase;
	color:var(--zd-grey);
}

/* Grille : tableau + ventes croisées à gauche, « Total panier » à droite.
   WooCommerce flotte .cart_totals (float:right + width:48%) : on l'annule.
   `dense` permet à l'encadré de remonter en colonne 2 malgré l'ordre du DOM. */
.woocommerce-cart .woocommerce{
	display:grid;
	grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
	gap:clamp(20px,3vw,44px);
	align-items:start;
	grid-auto-flow:row dense;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .zd-cart__head{ grid-column:1 / -1; }
.woocommerce-cart .woocommerce-cart-form{ grid-column:1; }
.woocommerce-cart .cart-collaterals{ display:contents; }
.woocommerce-cart .cross-sells{
	grid-column:1; float:none!important; width:auto!important;
}
.woocommerce-cart .cart_totals{
	grid-column:2; float:none!important; width:auto!important;
}

/* Tableau */
.woocommerce-cart table.cart{ width:100%; border:0!important; }
.woocommerce-cart table.cart thead th{
	background:none!important;
	border-bottom:1px solid var(--zd-line)!important;
	font-size:12px; padding:12px 10px!important;
}
.woocommerce-cart table.cart td{
	border-top:1px solid var(--zd-line)!important;
	border-bottom:0!important;
	padding:18px 10px!important;
}
.woocommerce-cart table.cart .product-thumbnail img{
	width:76px; height:auto;
	border-radius:var(--zd-radius);
	background:var(--zd-peach); padding:6%;
}
.woocommerce-cart table.cart .product-name a{ font-weight:600; font-size:16px; }
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal{
	font-family:var(--zd-font-cond); font-weight:700; font-size:18px;
}
.woocommerce-cart table.cart .product-remove{ width:1%; }
.woocommerce-cart table.cart .product-remove a.remove{
	font-size:0!important; color:var(--zd-grey)!important;
	width:auto!important; height:auto!important; line-height:1!important;
}
.woocommerce-cart table.cart .product-remove a.remove::after{
	content:"Retirer"; font-size:13px; font-family:var(--zd-font-body);
	text-decoration:underline; text-underline-offset:3px;
}
.woocommerce-cart table.cart .product-remove a.remove:hover::after{ color:var(--zd-orange-text); }
.woocommerce-cart table.cart .quantity input.qty{
	width:64px!important; padding:9px!important; text-align:center;
	border:1.5px solid var(--zd-line)!important; border-radius:999px!important;
}

/* Badge « + petit cadeau offert inclus » sur la ligne du coffret */
.zd-cart__gift{
	display:inline-block; margin-top:7px;
	background:var(--zd-green-pale); color:var(--zd-green-deep);
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
	padding:4px 10px; border-radius:999px;
}

/* Code promo + actions */
.woocommerce-cart table.cart td.actions{ border-top:1px solid var(--zd-line)!important; padding-top:20px!important; }
.woocommerce-cart .coupon{ display:flex; gap:10px; align-items:center; }
.woocommerce-cart .coupon input#coupon_code{
	padding:12px 18px!important;
	border:1.5px solid var(--zd-line)!important;
	border-radius:999px!important;
	min-width:200px;
}
.woocommerce-cart .coupon button{
	border-radius:999px!important; background:var(--zd-black)!important;
	color:#fff!important; padding:12px 24px!important; font-weight:600!important;
}
.woocommerce-cart td.actions > button[name="update_cart"]{
	float:right; border-radius:999px!important;
	background:transparent!important; color:var(--zd-grey)!important;
	border:1.5px solid var(--zd-line)!important;
	padding:12px 22px!important; font-weight:600!important; font-size:14px!important;
}

/* Pied du tableau */
.zd-cart__foot{
	display:flex; align-items:center; justify-content:space-between;
	gap:16px; flex-wrap:wrap; margin-top:18px;
}
.zd-cart__secure{
	font-size:13.5px; color:var(--zd-grey);
	display:inline-flex; align-items:center; gap:8px;
}
.zd-cart__secure::before{
	content:""; width:13px; height:13px; border-radius:3px;
	background:var(--zd-green-pale); border:2px solid var(--zd-green);
}

/* Encadré « Total panier » */
.woocommerce-cart .cart_totals{
	border-radius:var(--zd-radius-lg)!important;
	padding:clamp(18px,2.2vw,28px)!important;
}
.woocommerce-cart .cart_totals h2{
	font-family:var(--zd-font-display); font-size:22px; margin-bottom:16px;
}
.woocommerce-cart .cart_totals table{ border:0!important; }
.woocommerce-cart .cart_totals table th{
	background:none!important; text-transform:none; letter-spacing:0;
	font-family:var(--zd-font-body); font-weight:500; font-size:14.5px;
	color:var(--zd-grey); padding:9px 0!important;
}
.woocommerce-cart .cart_totals table td{
	padding:9px 0!important; text-align:right; font-weight:600;
}
.woocommerce-cart .cart_totals .order-total th{ color:var(--zd-black); font-weight:700; }
.woocommerce-cart .cart_totals .order-total td{
	font-family:var(--zd-font-cond); font-weight:700; font-size:26px;
}
.woocommerce-cart .zd-cart-gift td{ color:var(--zd-green); font-weight:700; }
.woocommerce-cart .wc-proceed-to-checkout{ padding:14px 0 0!important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
	width:100%; display:flex; align-items:center; justify-content:center; gap:8px;
	border-radius:999px!important; background:var(--zd-black)!important;
	color:#fff!important; padding:17px 28px!important; font-size:16px!important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{ content:"→"; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ background:var(--zd-orange)!important; }

/* Ventes croisées « Pour compléter la routine » */
.woocommerce-cart .cross-sells h2{
	font-family:var(--zd-font-display); font-size:clamp(20px,2.2vw,28px);
	margin-bottom:16px;
}
.woocommerce-cart .cross-sells ul.products{
	grid-template-columns:repeat(2,1fr); margin-bottom:0!important;
}

@media (max-width:980px){
	.woocommerce-cart .woocommerce{ grid-template-columns:1fr; }
	.woocommerce-cart .cart_totals{ grid-column:1; grid-row:auto; }
	.woocommerce-cart .cross-sells{ grid-column:1; grid-row:auto; }
	.woocommerce-cart td.actions > button[name="update_cart"]{ float:none; margin-top:12px; }
}

/* ============================================================
   « TOUT SAVOIR » — accordéon + carte noire « L'essentiel »
   ============================================================ */
.zd-know{ margin-block:clamp(30px,4vw,64px); }
.zd-know > .zd-title{ margin-bottom:clamp(18px,2.4vw,32px); }
.zd-know__grid{
	display:grid; grid-template-columns:1.35fr .65fr;
	gap:clamp(20px,3vw,48px);
	align-items:start;
}
.zd-acc{ border-bottom:1px solid var(--zd-line); }
.zd-acc summary{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:18px 0; cursor:pointer; list-style:none;
	font-family:var(--zd-font-display); font-weight:600; font-size:17px;
}
.zd-acc summary::-webkit-details-marker{ display:none; }
.zd-acc__chev{
	width:9px; height:9px; flex:none; margin-right:4px;
	border-right:2px solid var(--zd-black); border-bottom:2px solid var(--zd-black);
	transform:rotate(45deg) translateY(-2px);
	transition:transform var(--zd-transition);
}
.zd-acc[open] .zd-acc__chev{ transform:rotate(-135deg) translateY(-2px); }
.zd-acc__panel{ padding:0 0 22px; color:var(--zd-grey); max-width:64ch; }
.zd-acc__panel h2{ display:none; }
.zd-acc__panel p{ margin-bottom:12px; }
.zd-acc__panel table{ width:100%; }
.zd-acc__panel th{ text-align:left; font-weight:600; padding:8px 0; width:190px; color:var(--zd-black); }
.zd-acc__panel td{ padding:8px 0; }

.zd-essentials{
	background:var(--zd-black); color:#fff;
	border-radius:var(--zd-radius-lg);
	padding:clamp(20px,2.4vw,30px);
}
.zd-essentials h3{
	font-family:var(--zd-font-display); font-size:20px;
	margin-bottom:16px; color:var(--zd-orange-light);
}
.zd-essentials dl{ display:grid; gap:0; margin:0; }
.zd-essentials dl > div{
	display:flex; align-items:baseline; justify-content:space-between; gap:16px;
	padding:11px 0; border-bottom:1px solid rgba(255,255,255,.14);
}
.zd-essentials dl > div:last-child{ border-bottom:0; }
.zd-essentials dt{ color:rgba(255,255,255,.62); font-size:14px; }
.zd-essentials dd{ margin:0; font-weight:600; font-size:14.5px; text-align:right; }
@media (max-width:900px){
	.zd-know__grid{ grid-template-columns:1fr; }
}

/* Mon compte — encart « Commander à nouveau » (maquette) */
.zd-reorder{
	display:flex; align-items:center; gap:18px; flex-wrap:wrap;
	background:var(--zd-peach);
	border-radius:var(--zd-radius-lg);
	padding:clamp(16px,2vw,26px);
	margin-bottom:clamp(20px,2.6vw,34px);
}
.zd-reorder__art{
	width:76px; height:76px; flex:none;
	background:#fff; border-radius:var(--zd-radius);
	display:grid; place-items:center; overflow:hidden;
}
.zd-reorder__art img{ width:74%; height:74%; object-fit:contain; }
.zd-reorder__copy{ flex:1 1 240px; }
.zd-reorder__copy h2{
	font-family:var(--zd-font-display); font-size:clamp(18px,2vw,24px);
	margin-bottom:5px;
}
.zd-reorder__copy p{ font-size:14px; color:var(--zd-grey); margin:0; }

/* « Dans le coffret » — liste du contenu (maquette coffret) */
.zd-contents{
	border:1.5px solid var(--zd-line);
	border-radius:var(--zd-radius);
	padding:16px 18px;
	margin-bottom:22px;
}
.zd-contents__title{
	font-family:var(--zd-font-cond); font-weight:700;
	font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
	color:var(--zd-orange-text); display:block; margin-bottom:12px;
}
.zd-contents ul{ display:grid; gap:9px; margin:0; }
.zd-contents li{
	display:flex; align-items:baseline; justify-content:space-between; gap:14px;
	font-size:14.5px;
}
.zd-contents li span{ color:var(--zd-black); }
.zd-contents li em{ font-style:normal; color:var(--zd-grey); white-space:nowrap; }
.zd-contents li.is-gift{ color:var(--zd-green); font-weight:600; }
.zd-contents li.is-gift span{ color:var(--zd-green); }
.zd-contents li.is-gift em{ color:var(--zd-green); font-weight:700; }

/* Coffret — « Ce qu'il y a dans la boîte. » (maquette) */
.zd-box{ background:var(--zd-green-pale); padding:clamp(28px,3.6vw,56px) clamp(18px,3vw,44px); border-radius:var(--zd-radius-lg); margin-block:clamp(28px,3.4vw,56px); }
.zd-box__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:clamp(20px,2.6vw,36px); }
.zd-box__head .zd-title{ margin:0; }
.zd-box__head p{ color:var(--zd-grey); font-size:15px; max-width:34ch; margin:0; }
.zd-box__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(10px,1.3vw,18px); }
.zd-box__tile{ background:#fff; border-radius:var(--zd-radius); padding:14px; display:flex; flex-direction:column; }
.zd-box__media{ background:var(--zd-grey-soft); border-radius:var(--zd-radius); aspect-ratio:1/1; display:grid; place-items:center; overflow:hidden; margin-bottom:12px; }
.zd-box__media img{ width:66%; height:66%; object-fit:contain; }
.zd-box__step{ font-family:var(--zd-font-cond); font-weight:700; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--zd-orange-text); margin-bottom:5px; }
.zd-box__tile strong{ font-family:var(--zd-font-display); font-size:15px; line-height:1.15; margin-bottom:6px; }
.zd-box__tile p{ font-size:12.5px; color:var(--zd-grey); margin:0; }
.zd-box__tile.is-hero{ background:var(--zd-orange); color:#fff; }
.zd-box__tile.is-hero .zd-box__media{ background:transparent; }
.zd-box__tile.is-hero .zd-box__step{ color:rgba(255,255,255,.85); }
.zd-box__tile.is-hero p{ color:rgba(255,255,255,.9); }
.zd-box__tile--gift{ background:var(--zd-black); color:#fff; }
.zd-box__media--gift{ background:transparent; color:var(--zd-orange); }
.zd-box__tile--gift .zd-box__step{ color:var(--zd-green-light); }
.zd-box__tile--gift p{ color:rgba(255,255,255,.8); }
@media (max-width:1100px){ .zd-box__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .zd-box__grid{ grid-template-columns:repeat(2,1fr); } }
