/* Maison Kelvin — habillage WooCommerce v2 (peau claire, 2026-08)
 * Chargée après les styles WooCommerce pour les surcharger sans !important.
 */

/* ---------- En-tête boutique / archives ---------- */
.mk-shop-head {
	background: var(--mk-ecru);
	padding-block: var(--mk-sp-7);
	text-align: center;
}
.mk-shop-head h1 { margin-bottom: var(--mk-sp-2); }
.mk-shop-head__desc {
	color: var(--mk-ink-soft);
	max-width: 640px;
	margin-inline: auto;
	font-size: var(--mk-fs-sm);
}

.mk-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--mk-sp-4);
	margin-bottom: var(--mk-sp-6);
	flex-wrap: wrap;
}

.woocommerce-result-count {
	margin: 0;
	font-size: var(--mk-fs-xs);
	letter-spacing: var(--mk-ls-label);
	text-transform: uppercase;
	color: var(--mk-ink-mute);
}

.woocommerce-ordering select,
select {
	appearance: none;
	background: transparent;
	border: 1px solid var(--mk-line);
	border-radius: 0;
	padding: 10px 34px 8px 14px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	color: var(--mk-ink);
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%231C1C1C'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	cursor: pointer;
}

/* ---------- Badge promo natif ---------- */
.onsale {
	position: absolute;
	top: 10px; left: 10px;
	z-index: 2;
	background: var(--mk-ink);
	color: #fff;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 5px 8px 3px;
	border-radius: 0;
	min-width: 0; min-height: 0;
	line-height: 1.3;
}

/* ---------- Fiche produit ---------- */
.mk-pdp { padding-top: var(--mk-sp-2); }

.mk-pdp__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: var(--mk-sp-8);
	align-items: start;
	padding-block: var(--mk-sp-5) var(--mk-sp-8);
}

@media (max-width: 900px) {
	.mk-pdp__layout { grid-template-columns: 1fr; gap: var(--mk-sp-5); }
}

/* Galerie mosaïque : toutes les images dans le flux, hero pleine largeur
 * puis grille 2 colonnes — la colonne d'achat reste sticky à côté. */
.mk-pdp-mosaic {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--mk-sp-3);
}

.mk-pdp-mosaic__item {
	margin: 0;
	background: #F4F2EF;
	overflow: hidden;
}
.mk-pdp-mosaic__item img { width: 100%; height: 100%; object-fit: cover; display: block; }

.mk-pdp-mosaic__item--hero { grid-column: 1 / -1; }
.mk-pdp-mosaic__item--hero img { aspect-ratio: 4 / 5; }
.mk-pdp-mosaic__item:not(.mk-pdp-mosaic__item--hero) img { aspect-ratio: 5 / 7; }
/* Toutes les 5 tuiles, une pleine largeur pour casser le rythme. */
.mk-pdp-mosaic__item:nth-child(6n) { grid-column: 1 / -1; }
.mk-pdp-mosaic__item:nth-child(6n) img { aspect-ratio: 4 / 3; }

/* Mobile : carrousel horizontal à défilement magnétique. */
@media (max-width: 900px) {
	.mk-pdp-mosaic {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: var(--mk-sp-2);
		margin-inline: calc(-1 * var(--mk-gutter));
		padding-inline: var(--mk-gutter);
		scrollbar-width: none;
	}
	.mk-pdp-mosaic::-webkit-scrollbar { display: none; }
	.mk-pdp-mosaic__item,
	.mk-pdp-mosaic__item--hero,
	.mk-pdp-mosaic__item:nth-child(6n) {
		flex: 0 0 86%;
		scroll-snap-align: center;
	}
	.mk-pdp-mosaic__item img,
	.mk-pdp-mosaic__item--hero img,
	.mk-pdp-mosaic__item:nth-child(6n) img { aspect-ratio: 4 / 5; }
}

/* Colonne d'achat sticky */
.mk-pdp__sticky { position: sticky; top: calc(var(--mk-header-h) + 20px); }
@media (max-width: 900px) { .mk-pdp__sticky { position: static; } }

.mk-pdp__gallery { position: static; }

.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image { background: #F4F2EF; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; }
.woocommerce-product-gallery .flex-viewport { margin-bottom: var(--mk-sp-3); }

.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--mk-sp-2);
	list-style: none;
	margin: 0; padding: 0;
}
.woocommerce-product-gallery .flex-control-thumbs img {
	cursor: pointer;
	opacity: 0.55;
	transition: opacity var(--mk-transition);
	border: 1px solid transparent;
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--mk-ink); }

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 12px; right: 12px;
	z-index: 3;
}

/* Résumé */
.mk-pdp__summary .mk-product-card__cat { margin-bottom: var(--mk-sp-2); display: inline-block; }

.mk-pdp__summary .product_title {
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-3xl);
	text-transform: none;
	letter-spacing: 0.04em;
	margin-bottom: var(--mk-sp-3);
}

.mk-pdp__summary .price {
	font-size: var(--mk-fs-xl);
	color: var(--mk-ink);
	display: flex;
	gap: 10px;
	align-items: baseline;
	margin-bottom: var(--mk-sp-4);
}
.mk-pdp__summary .price del { color: var(--mk-ink-mute); font-size: var(--mk-fs-lg); }
.mk-pdp__summary .price ins { text-decoration: none; }

.mk-pdp__summary .woocommerce-product-details__short-description {
	color: var(--mk-ink-soft);
	font-size: var(--mk-fs-base);
	margin-bottom: var(--mk-sp-4);
}

/* Tableau specs (blocs hookés) */
.mk-specs {
	border-top: 1px solid var(--mk-line);
	margin-block: var(--mk-sp-4);
}
.mk-spec {
	display: flex;
	justify-content: space-between;
	gap: var(--mk-sp-4);
	padding: 10px 0 8px;
	border-bottom: 1px solid var(--mk-line);
	font-size: var(--mk-fs-sm);
}
.mk-spec__label {
	font-size: var(--mk-fs-xs);
	font-weight: 600;
	letter-spacing: var(--mk-ls-label);
	text-transform: uppercase;
	color: var(--mk-ink-mute);
	padding-top: 3px;
}
.mk-spec__value { text-align: right; }

/* Variations */
.mk-pdp__summary table.variations { width: 100%; border: none; margin-bottom: var(--mk-sp-4); }
.mk-pdp__summary table.variations td { border: none; padding: 6px 0; vertical-align: middle; }
.mk-pdp__summary table.variations label {
	font-size: var(--mk-fs-xs);
	font-weight: 600;
	letter-spacing: var(--mk-ls-label);
	text-transform: uppercase;
	color: var(--mk-ink-soft);
	margin: 0;
}
.mk-pdp__summary table.variations select { width: 100%; }
.mk-pdp__summary .reset_variations { font-size: var(--mk-fs-xs); color: var(--mk-ink-mute); text-decoration: underline; }
.woocommerce-variation-price { margin-bottom: var(--mk-sp-3); }

/* Quantité + ajout panier */
.mk-pdp__summary form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mk-sp-3);
	align-items: stretch;
	margin-block: var(--mk-sp-4);
}
.mk-pdp__summary form.cart.variations_form { display: block; }
.mk-pdp__summary form.cart .woocommerce-variation-add-to-cart { display: flex; gap: var(--mk-sp-3); }

/* Sélecteur de quantité : une seule unité bordée [− | 1 | +], à la même
 * hauteur que le bouton d'ajout au panier qui occupe le reste de la rangée. */
.quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--mk-ink);
	height: 48px;
	flex-shrink: 0;
}

.quantity .qty {
	width: 44px;
	border: none;
	border-radius: 0;
	background: transparent;
	text-align: center;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-base);
	color: var(--mk-ink);
	padding: 2px 0 0;
	-moz-appearance: textfield;
	appearance: textfield;
}
.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity .qty:focus { outline: none; }

.mk-qty-btn {
	width: 36px;
	background: none;
	border: none;
	font-size: 16px;
	color: var(--mk-ink);
	cursor: pointer;
	line-height: 1;
	padding: 0;
	transition: background var(--mk-transition);
}
.mk-qty-btn:hover { background: var(--mk-ecru); }

.mk-pdp__summary form.cart { align-items: stretch; }
.mk-pdp__summary .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	height: 48px;
	padding-top: 0;
	padding-bottom: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Titre PDP : serif espacé comme la référence */
.mk-pdp__summary .product_title {
	letter-spacing: 0.18em;
	text-transform: none;
}

/* Badge d'économie à côté du prix */
.mk-pdp__save-badge {
	display: inline-block;
	background: var(--mk-ecru);
	color: #4A3B31;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 8px 2px;
	border-radius: 3px;
	vertical-align: middle;
	margin: 0 0 var(--mk-sp-3);
}

/* Estimation de livraison */
.mk-pdp__delivery {
	display: flex;
	align-items: center;
	gap: var(--mk-sp-2);
	font-size: var(--mk-fs-sm);
	color: var(--mk-ink-soft);
	margin: 0 0 var(--mk-sp-3);
}
.mk-pdp__delivery svg { flex-shrink: 0; opacity: 0.7; }

/* Tuiles de réassurance 2×2 */
.mk-pdp__tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--mk-sp-2);
	margin-top: var(--mk-sp-4);
}
.mk-pdp__tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	border: 1px solid rgb(28 28 28 / 0.15);
	padding: var(--mk-sp-4) var(--mk-sp-2);
}
.mk-pdp__tile svg { opacity: 0.75; margin-bottom: 2px; }
.mk-pdp__tile-title { font-size: var(--mk-fs-sm); font-weight: 500; }
.mk-pdp__tile-text { font-size: var(--mk-fs-xs); color: var(--mk-ink-mute); }

.mk-pdp__payment-note { font-size: var(--mk-fs-xs); color: var(--mk-ink-mute); margin-top: var(--mk-sp-3); }

/* Description longue + après-résumé */
.mk-pdp__after { padding-bottom: var(--mk-sp-8); }
.mk-pdp__after .woocommerce-tabs ul.tabs { display: none; }
.mk-pdp__after .woocommerce-tabs .panel { max-width: 100%; }
.mk-pdp__after .woocommerce-tabs h2 { display: none; }

.mk-pdp__after section.up-sells > h2,
.mk-pdp__after section.related > h2 {
	text-align: center;
	margin-block: var(--mk-sp-7) var(--mk-sp-6);
}

.mk-pack-contents {
	background: var(--mk-ecru);
	padding: var(--mk-sp-5);
	margin-block: var(--mk-sp-4);
}
.mk-pack-contents ul { margin: var(--mk-sp-2) 0 0; padding-left: 18px; color: var(--mk-ink-soft); font-size: var(--mk-fs-sm); }
.mk-pack-contents__save { color: var(--mk-sale); font-size: var(--mk-fs-sm); margin: var(--mk-sp-3) 0 0; }

/* ---------- Notices ---------- */
/* WooCommerce 11 rend aussi ses notices via les classes wc-blocks : on les
 * ramène dans la grammaire du thème (écru, filet encre, aucun radius). */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-error {
	background: var(--mk-ecru);
	border: none;
	border-top: 2px solid var(--mk-ink);
	border-radius: 0;
	color: var(--mk-ink);
	padding: 14px 18px 12px;
	margin-bottom: var(--mk-sp-5);
}
.wc-block-components-notice-banner.is-error { border-top-color: var(--mk-sale); }
.wc-block-components-notice-banner > svg { fill: var(--mk-ink); }
.wc-block-components-notice-banner__content { font-size: var(--mk-fs-sm); }
.wc-block-components-notice-banner__content .wc-forward,
.woocommerce-message .button.wc-forward {
	display: inline-block;
	margin-top: var(--mk-sp-2);
	float: none;
}

img.emoji, img.wp-smiley {
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: -0.1em;
	margin: 0 2px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--mk-ecru);
	border: none;
	border-top: 2px solid var(--mk-ink);
	border-radius: 0;
	color: var(--mk-ink);
	font-size: var(--mk-fs-sm);
	padding: 14px 18px 12px 44px;
	margin-bottom: var(--mk-sp-5);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--mk-ink); }
.woocommerce-error { border-top-color: var(--mk-sale); }
.woocommerce-error::before { color: var(--mk-sale); }
.woocommerce-message .button, .woocommerce-info .button { background: none; border: none; text-decoration: underline; color: var(--mk-ink); padding: 0; font-weight: 500; }

/* ---------- Panier ---------- */
.woocommerce-cart-form table.shop_table {
	width: 100%;
	border: none;
	border-collapse: collapse;
}
.woocommerce-cart-form table.shop_table th {
	font-size: var(--mk-fs-xs);
	font-weight: 600;
	letter-spacing: var(--mk-ls-label);
	text-transform: uppercase;
	color: var(--mk-ink-mute);
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid var(--mk-line);
}
.woocommerce-cart-form table.shop_table td {
	padding: 16px 12px;
	border-bottom: 1px solid var(--mk-line);
	background: transparent;
	font-size: var(--mk-fs-sm);
}
.woocommerce-cart-form img { width: 72px; background: #F4F2EF; }
.woocommerce-cart-form .product-remove a {
	font-size: 20px;
	color: var(--mk-ink-mute);
	display: inline-flex;
	width: 28px; height: 28px;
	align-items: center;
	justify-content: center;
}
.woocommerce-cart-form .coupon { display: flex; gap: var(--mk-sp-2); }
.woocommerce-cart-form .coupon .input-text {
	border: 1px solid var(--mk-line);
	border-radius: 0;
	padding: 10px 14px 8px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	background: transparent;
}

.cart-collaterals .cart_totals { width: 100%; max-width: 420px; margin-left: auto; }
.cart-collaterals .cart_totals h2 { font-size: var(--mk-fs-lg); }
.cart-collaterals table.shop_table { width: 100%; border: 1px solid var(--mk-line); border-collapse: collapse; }
.cart-collaterals table.shop_table th,
.cart-collaterals table.shop_table td { border: none; border-bottom: 1px solid var(--mk-line); padding: 12px 14px; font-size: var(--mk-fs-sm); text-align: left; }
.wc-proceed-to-checkout { padding-top: var(--mk-sp-4); }
.wc-proceed-to-checkout .checkout-button { width: 100%; }

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: var(--mk-sp-5); }
.woocommerce form .form-row { margin-bottom: var(--mk-sp-3); }
.woocommerce form .form-row label {
	font-size: var(--mk-fs-xs);
	font-weight: 600;
	letter-spacing: var(--mk-ls-label);
	text-transform: uppercase;
	color: var(--mk-ink-soft);
	margin-bottom: 4px;
	display: block;
}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row textarea {
	width: 100%;
	border: 1px solid var(--mk-line);
	border-radius: 0;
	background: #fff;
	padding: 12px 14px 10px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-base);
	color: var(--mk-ink);
	min-height: 46px;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus { outline: 1px solid var(--mk-ink); outline-offset: -1px; }

#order_review_heading { margin-top: var(--mk-sp-6); }
#order_review table.shop_table { width: 100%; border: 1px solid var(--mk-line); border-collapse: collapse; }
#order_review table.shop_table th, #order_review table.shop_table td { border: none; border-bottom: 1px solid var(--mk-line); padding: 12px 14px; font-size: var(--mk-fs-sm); text-align: left; }
#place_order { width: 100%; }

.mk-payment-soon {
	padding: var(--mk-sp-5);
	background: var(--mk-ecru);
	border: 1px dashed var(--mk-line-ecru);
	text-align: center;
	margin-bottom: var(--mk-sp-4);
}
.mk-payment-soon h3 { font-family: var(--mk-font-body); font-size: var(--mk-fs-sm); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.mk-payment-soon p { font-size: var(--mk-fs-sm); color: var(--mk-ink-soft); }
.mk-payment-cards { display: flex; gap: var(--mk-sp-2); justify-content: center; }
.mk-payment-cards span {
	border: 1px solid var(--mk-line-ecru);
	background: #fff;
	padding: 4px 8px 2px;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ---------- Mon compte ---------- */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--mk-line); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--mk-line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px 10px; font-size: var(--mk-fs-sm); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--mk-ecru); font-weight: 600; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: var(--mk-sp-6); padding-block: var(--mk-sp-6); }
@media (max-width: 760px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; } }

/* ---------- Pagination ---------- */
.woocommerce-pagination { text-align: center; margin-top: var(--mk-sp-7); }
.woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: var(--mk-sp-1);
	list-style: none;
	margin: 0; padding: 0;
	border: none;
}
.woocommerce-pagination .page-numbers li { border: none; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
	display: inline-flex;
	min-width: 38px; height: 38px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--mk-line);
	font-size: var(--mk-fs-sm);
	color: var(--mk-ink);
	padding-top: 2px;
}
.woocommerce-pagination .page-numbers span.current { background: var(--mk-ink); color: #fff; border-color: var(--mk-ink); }

/* ---------- Grilles produits natives (similaires, upsells, catalogue) ----------
 * Toute ul.products non prise en charge par mk-product-grid reçoit la même
 * grille : sans ça, les listes des hooks natifs s'empilent en colonne. */
ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--mk-sp-5) var(--mk-sp-4);
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.products::before, ul.products::after,
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none; content: none; }
ul.products li.product,
.woocommerce ul.products li.product { width: auto; float: none; margin: 0; clear: none; }
@media (max-width: 1024px) { ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { ul.products { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Descriptions importées (structure Shopify sans sa CSS) ---------- */
.mk-pdp__after .woocommerce-Tabs-panel--description,
.mk-pdp__after .woocommerce-product-details__description {
	max-width: 880px;
	margin-inline: auto;
}
.mk-pdp__after .woocommerce-Tabs-panel img {
	max-width: min(480px, 100%);
	height: auto;
	margin: var(--mk-sp-4) auto;
}
.mk-pdp__after .woocommerce-Tabs-panel h2,
.mk-pdp__after .woocommerce-Tabs-panel h3 {
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: var(--mk-sp-6) 0 var(--mk-sp-3);
}
.mk-pdp__after .woocommerce-Tabs-panel p,
.mk-pdp__after .woocommerce-Tabs-panel li { color: var(--mk-ink-soft); font-size: var(--mk-fs-base); }
.mk-pdp__after .woocommerce-Tabs-panel table { width: 100%; border-collapse: collapse; font-size: var(--mk-fs-sm); }
.mk-pdp__after .woocommerce-Tabs-panel td, .mk-pdp__after .woocommerce-Tabs-panel th { border: 1px solid var(--mk-line); padding: 9px 12px; text-align: left; }

/* ---------- Blocs « ks- » des descriptions importées ----------
 * Les 317 fiches partagent la même structure (split schéma/accordéons,
 * <details> natifs, lignes terme/valeur) : on la style une fois ici. */
.mk-pdp__after .woocommerce-Tabs-panel--description { max-width: 1300px; }

.ks-spec-wrap { padding: var(--mk-sp-6) 0; }

.ks-spec {
	display: grid;
	grid-template-columns: 32% 1fr;
	gap: var(--mk-sp-8);
	align-items: center;
	max-width: 1300px;
	margin: 0 auto;
}
@media (max-width: 900px) { .ks-spec { grid-template-columns: 1fr; gap: var(--mk-sp-5); } }

.ks-spec__left { display: flex; justify-content: center; }
.ks-spec__imgbox { width: 100%; max-width: 380px; }
.ks-spec__imgbox img { width: 100%; height: auto; margin: 0; }
.ks-spec__imgbox p { text-align: center; font-size: var(--mk-fs-xs); color: var(--mk-ink-mute); }

details.ks-acc {
	border: 1px solid rgb(28 28 28 / 0.15);
	margin-bottom: var(--mk-sp-2);
	background: var(--mk-bg);
}

details.ks-acc summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--mk-sp-4);
	padding: 14px 16px 12px;
	cursor: pointer;
	list-style: none;
}
details.ks-acc summary::-webkit-details-marker { display: none; }
details.ks-acc summary::marker { content: ''; }

details.ks-acc summary p { margin: 0; }
.ks-summary-left p, .ks-summary-left span {
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mk-ink);
	margin: 0;
}

.ks-acc__icon {
	display: inline-flex;
	font-size: 12px;
	color: var(--mk-ink-soft);
	transition: transform var(--mk-transition);
}
details.ks-acc[open] .ks-acc__icon { transform: rotate(180deg); }
details.ks-acc summary br { display: none; }

.ks-acc__body { padding: 2px 16px var(--mk-sp-4); }
.ks-acc__body > p { margin: 0; }

.ks-dl__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--mk-sp-4);
	padding: 9px 0 7px;
	border-bottom: 1px solid rgb(28 28 28 / 0.08);
	font-size: var(--mk-fs-sm);
}
.ks-dl__row:last-child { border-bottom: none; }
.ks-dl__row p { margin: 0; }
.ks-dl__term { color: var(--mk-ink-mute); }
.ks-dl__val { text-align: right; color: var(--mk-ink); }
.ks-bold { font-weight: 600; }

.ks-text-block { font-size: var(--mk-fs-sm); color: var(--mk-ink-soft); margin: 0 0 var(--mk-sp-3); }
.ks-block-title {
	display: inline-block;
	font-size: var(--mk-fs-xs);
	font-weight: 600;
	letter-spacing: var(--mk-ls-label);
	text-transform: uppercase;
	color: var(--mk-ink);
	margin-bottom: 2px;
}

/* ---------- Colonne d'achat — composants de la référence ---------- */
/* Prix + badge sur la même ligne */
.mk-pdp__summary .price { margin-bottom: var(--mk-sp-2); }
.mk-pdp__save-badge { margin: 0 0 var(--mk-sp-2); }

/* Mensualités */
.mk-pdp__installments {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: var(--mk-fs-xs);
	color: var(--mk-ink-soft);
	margin: 0 0 var(--mk-sp-4);
}
.mk-pdp__installments strong {
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.04em;
	background: #FFB3C7;
	color: #17120E;
	padding: 3px 6px 1px;
	border-radius: 3px;
}

/* Ligne livraison double */
.mk-pdp__delivery {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--mk-sp-3);
	flex-wrap: wrap;
}
.mk-pdp__delivery-left { display: flex; align-items: center; gap: var(--mk-sp-2); }
.mk-pdp__delivery-right { font-size: var(--mk-fs-xs); color: var(--mk-ink-mute); }

/* Rangée des logos de paiement officiels (assets WooCommerce / Stripe) */
.mk-pdp__paybadges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--mk-sp-2);
	margin-top: var(--mk-sp-3);
}
.mk-pdp__paybadges img {
	height: 24px;
	width: auto;
	display: block;
}

/* Réassurance : une rangée de quatre, sans bordures (comme la réf) */
.mk-pdp__tiles {
	grid-template-columns: repeat(4, 1fr);
	gap: var(--mk-sp-2);
	border-top: 1px solid rgb(28 28 28 / 0.12);
	padding-top: var(--mk-sp-4);
}
.mk-pdp__tile { border: none; padding: 0 var(--mk-sp-1); gap: 3px; }
.mk-pdp__tile-title { font-size: 11px; }
.mk-pdp__tile-text { font-size: 10px; }
@media (max-width: 480px) { .mk-pdp__tiles { grid-template-columns: repeat(2, 1fr); row-gap: var(--mk-sp-4); } }

/* Swatches de variations (générés par lueur.js) */
.mk-swatches { display: flex; flex-wrap: wrap; gap: var(--mk-sp-2); margin: 4px 0 var(--mk-sp-2); }
.mk-swatch {
	width: 44px;
	height: 55px;
	padding: 0;
	border: 1px solid var(--mk-line);
	border-radius: 2px;
	background: #F4F2EF;
	cursor: pointer;
	overflow: hidden;
}
.mk-swatch img { width: 100%; height: 100%; object-fit: cover; border-radius: 2px; display: block; }
.mk-swatch[aria-pressed="true"] { border-color: var(--mk-ink); box-shadow: inset 0 0 0 1px var(--mk-ink); }
.mk-swatch:hover { border-color: var(--mk-ink); }

/* Pastilles texte (variations sans images distinctes : tailles, modèles…) */
.mk-swatch--text {
	width: auto;
	height: auto;
	min-height: 40px;
	padding: 10px 14px 8px;
	background: transparent;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	color: var(--mk-ink);
	line-height: 1.2;
}
.mk-swatch--text[aria-pressed="true"] { background: var(--mk-ink); color: #fff; }
.mk-swatches-label { font-size: var(--mk-fs-sm); font-weight: 500; margin: 0 0 4px; }
.mk-swatches-label span { color: var(--mk-ink-soft); font-weight: 400; }
/* Swatches actifs : le tableau natif label + select devient redondant.
 * Le lien « Effacer » (reset_variations) est hors du tableau et reste. */
form.cart.mk-has-swatches table.variations { display: none; }

/* Fiche produit : pas de pile de boutons express (la référence n'affiche
 * qu'une rangée d'icônes) — l'express checkout reste au panier/commande. */
.mk-pdp #wc-stripe-express-checkout-element,
.mk-pdp .wc-stripe-express-checkout,
.mk-pdp #wc-stripe-payment-request-wrapper,
.mk-pdp #wc-stripe-express-checkout-button-separator { display: none !important; }

/* Bande éditoriale matière (pleine largeur avant la description) */
.mk-pdp-band {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	margin-block: var(--mk-sp-8);
	background: var(--mk-surface);
}
.mk-pdp-band__media { position: relative; min-height: 420px; }
.mk-pdp-band__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mk-pdp-band__media::after { content: ''; position: absolute; inset: 0; background: rgb(0 0 0 / 0.25); }
.mk-pdp-band__title {
	position: absolute;
	inset: auto var(--mk-sp-5) var(--mk-sp-5);
	z-index: 2;
	color: #fff;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-xl);
	letter-spacing: 0.08em;
	line-height: 1.4;
}
.mk-pdp-band__body { padding: var(--mk-sp-8); }
.mk-pdp-band__body p { color: var(--mk-ink-soft); font-size: var(--mk-fs-base); max-width: 480px; margin: 0; }
@media (max-width: 900px) {
	.mk-pdp-band { grid-template-columns: 1fr; }
	.mk-pdp-band__media { min-height: 300px; }
	.mk-pdp-band__body { padding: var(--mk-sp-5); }
}

/* ---------- Mobile : tables panier / totaux empilées ----------
 * La feuille woocommerce-smallscreen est volontairement retirée par le
 * thème : ce bloc la remplace avec notre grammaire visuelle. */
@media (max-width: 760px) {
	.mk-shop-head { padding-block: var(--mk-sp-6); }

	.woocommerce-cart-form table.shop_table,
	.woocommerce-cart-form table.shop_table tbody,
	.woocommerce-cart-form table.shop_table tr,
	.woocommerce-cart-form table.shop_table td { display: block; width: 100%; }
	.woocommerce-cart-form table.shop_table thead { display: none; }

	.woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
		position: relative;
		border-bottom: 1px solid var(--mk-line);
		padding: var(--mk-sp-4) 0 var(--mk-sp-4) 96px;
		min-height: 120px;
	}

	.woocommerce-cart-form table.shop_table td { border: none; padding: 2px 0; }

	.woocommerce-cart-form td.product-thumbnail {
		position: absolute;
		left: 0; top: var(--mk-sp-4);
		width: 80px;
	}
	.woocommerce-cart-form td.product-thumbnail img { width: 80px; }

	.woocommerce-cart-form td.product-remove {
		position: absolute;
		right: 0; top: var(--mk-sp-3);
		width: auto;
	}

	.woocommerce-cart-form td.product-name { font-weight: 500; padding-right: 32px; }
	.woocommerce-cart-form td.product-price { color: var(--mk-ink-soft); }

	.woocommerce-cart-form td.product-quantity { padding-top: var(--mk-sp-2); }
	.woocommerce-cart-form td.product-subtotal { font-weight: 600; padding-top: var(--mk-sp-2); }

	.woocommerce-cart-form td.actions { padding-top: var(--mk-sp-4); }
	.woocommerce-cart-form td.actions .coupon { flex-wrap: wrap; margin-bottom: var(--mk-sp-3); width: 100%; }
	.woocommerce-cart-form td.actions .coupon .input-text { flex: 1 1 140px; min-width: 140px; min-height: 46px; }
	.woocommerce-cart-form td.actions .coupon .button { flex: 1 1 100%; }

	.cart-collaterals .cart_totals { max-width: none; }

	/* Checkout : table de commande + champs pleine largeur */
	#order_review table.shop_table th,
	#order_review table.shop_table td { padding: 10px 10px; font-size: var(--mk-fs-xs); }

	/* Compte : navigation au-dessus du contenu */
	.woocommerce-account .woocommerce { padding-block: var(--mk-sp-5); }

	/* PDP : résumé aéré. Achat empilé — stepper pleine largeur au-dessus,
	 * bouton pleine largeur en dessous : plus rien ne se dispute la ligne. */
	.mk-pdp__layout { padding-block: var(--mk-sp-4) var(--mk-sp-6); }
	.mk-pdp__summary .product_title { font-size: var(--mk-fs-2xl); }

	.mk-pdp__summary form.cart,
	.mk-pdp__summary form.cart .woocommerce-variation-add-to-cart {
		flex-direction: column;
		align-items: stretch;
		gap: var(--mk-sp-3);
	}

	.quantity {
		width: 100%;
		justify-content: space-between;
	}
	.quantity .qty { flex: 1; }
	.mk-qty-btn { width: 56px; font-size: 18px; }

	.mk-pdp__summary .single_add_to_cart_button {
		width: 100%;
		min-width: 0;
		flex: none;
		height: 52px;
	}

	.woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(5, 1fr); }
}

/* ---------- Boutons Woo génériques ---------- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
	background: var(--mk-ink);
	color: #fff;
	border: 1px solid var(--mk-ink);
	border-radius: 0;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	font-weight: 500;
	letter-spacing: var(--mk-ls-btn);
	text-transform: uppercase;
	padding: 13px 26px 11px;
	line-height: 1.3;
	transition: background var(--mk-transition), color var(--mk-transition);
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
	background: transparent;
	color: var(--mk-ink);
}
.woocommerce .button:disabled,
.woocommerce button.button:disabled { opacity: 0.4; }

/* Variante .alt et boutons « element » (thème de couleur violet Woo par défaut) :
 * même encre que le reste du système, quelle que soit la spécificité native. */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce button.single_add_to_cart_button,
.wp-element-button,
.wc-block-components-button {
	background: var(--mk-ink);
	color: #fff;
	border: 1px solid var(--mk-ink);
	border-radius: 0;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	font-weight: 500;
	letter-spacing: var(--mk-ls-btn);
	text-transform: uppercase;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce button.single_add_to_cart_button:hover,
.wp-element-button:hover {
	background: transparent;
	color: var(--mk-ink);
}

/* États désactivés : Woo pose .disabled avec une spécificité supérieure
 * (sélecteur à 4 classes) — on aligne la nôtre pour garder l'encre. */
.woocommerce a.button.alt.disabled,
.woocommerce button.button.alt.disabled,
.woocommerce input.button.alt.disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce input.button.disabled,
.woocommerce a.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button.alt:disabled[disabled] {
	background: var(--mk-ink);
	color: #fff;
	border-color: var(--mk-ink);
	opacity: 0.45;
}
