/* ==========================================================================
   MOMKIN — Panier, commande, compte client, rétractation en ligne (v2.9)
   Chargée uniquement sur ces pages (inc/momkin-checkout.php).
   Tokens --mk-* : style.css § 1. Aucune animation décorative : le parcours
   d'achat reste rapide et sobre.
   ========================================================================== */

/* --- 1. Fil d'étapes ------------------------------------------------------ */
.mk-steps {
	margin: 0 0 var(--mk-sp-6);
}

.mk-steps__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mk-sp-2) var(--mk-sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.mk-steps__item {
	display: flex;
	align-items: center;
	gap: var(--mk-sp-2);
	margin: 0;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	font-weight: 600;
	color: var(--mk-text-soft);
}

.mk-steps__item a {
	display: inline-flex;
	align-items: center;
	gap: var(--mk-sp-2);
	min-height: 2.75rem;
	color: inherit;
	text-decoration: none;
}

.mk-steps__item a:hover .mk-steps__label {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mk-steps__n {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	border: 1.5px solid var(--mk-border-strong);
	background-color: var(--mk-chalk);
	font-size: var(--mk-fs-xs);
	line-height: 1;
}

.mk-steps__item.is-current {
	color: var(--mk-heading);
}

.mk-steps__item.is-current .mk-steps__n {
	border-color: var(--mk-terra);
	background-color: var(--mk-terra);
	color: var(--mk-on-accent);
}

.mk-steps__item.is-done {
	color: var(--mk-success);
}

.mk-steps__item.is-done .mk-steps__n {
	border-color: currentColor;
	background-color: var(--mk-success-bg);
}

.mk-steps__item + .mk-steps__item::before {
	content: "";
	width: 1.5rem;
	height: 1px;
	margin-right: var(--mk-sp-2);
	background-color: var(--mk-border-strong);
}

@media (max-width: 640px) {
	.mk-steps__list {
		flex-wrap: nowrap;
		gap: var(--mk-sp-2);
	}
	.mk-steps__item + .mk-steps__item::before {
		width: 1rem;
	}
	/* Sur mobile, seule l'étape en cours garde son libellé visible
	   (les autres restent lisibles par les lecteurs d'écran). */
	.mk-steps__item:not(.is-current) .mk-steps__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

/* --- 2. Panier : lignes produits ------------------------------------------ */
.woocommerce-cart .woocommerce-cart-form table.cart {
	border: 0;
	border-collapse: collapse;
}

.woocommerce-cart table.cart thead th {
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-xs);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mk-text-soft);
	border-bottom: 1px solid var(--mk-border);
}

.woocommerce-cart table.cart tr.cart_item > td {
	padding-block: var(--mk-sp-5);
	border-bottom: 1px solid var(--mk-divider);
	vertical-align: middle;
}

/* Couverture entière, jamais recadrée, dans un écrin sable de largeur fixe */
.woocommerce-cart table.cart td.product-thumbnail {
	width: 7rem;
	vertical-align: top;
}

.woocommerce-cart .mk-cover-link {
	display: block;
	width: 5.5rem;
	padding: 0.5rem;
	border-radius: var(--mk-r-md);
	background-color: var(--mk-sand);
	line-height: 0;
}

.woocommerce-cart .mk-cover-link img.mk-cover {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: auto !important;
	contain-intrinsic-size: none !important;
	object-fit: contain;
	border-radius: var(--mk-r-book);
	box-shadow: var(--mk-shadow-sm);
}

.woocommerce-cart table.cart td.product-name > a {
	font-family: var(--mk-font-title);
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
	font-weight: 600;
	line-height: var(--mk-lh-title);
	color: var(--mk-heading);
	text-decoration: none;
}

.woocommerce-cart table.cart td.product-name > a:hover {
	color: var(--mk-link-hover);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.woocommerce-cart table.cart .product-subtotal,
.woocommerce-cart table.cart .product-price {
	font-weight: 600;
	color: var(--mk-text);
	font-variant-numeric: tabular-nums;
}

/* Quantité : le sélecteur Blocksy est conservé tel quel, seule la couleur change */
.woocommerce-cart .quantity {
	border-color: var(--mk-border-strong);
}

/* Supprimer : cible de 44 px, couleur discrète puis alerte au survol */
.woocommerce-cart table.cart a.remove {
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--mk-r-md);
	color: var(--mk-text-soft) !important;
	background: none;
}

.woocommerce-cart table.cart a.remove:hover,
.woocommerce-cart table.cart a.remove:focus-visible {
	color: var(--mk-error) !important;
	background-color: var(--mk-error-bg);
}

/* Code promo : compact, secondaire */
.woocommerce-cart td.actions {
	padding-top: var(--mk-sp-5);
	border: 0;
}

.woocommerce-cart td.actions .coupon {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--mk-sp-2);
	max-width: 30rem;
}

.woocommerce-cart td.actions .coupon .input-text {
	flex: 1 1 10rem;
	height: auto;
	width: auto;
	min-height: 2.75rem;
	padding: 0.625rem 0.875rem;
	border: 1px solid var(--mk-border-strong);
	border-radius: var(--mk-r-md);
	background-color: var(--mk-chalk);
	color: var(--mk-text);
	font-size: var(--mk-fs-body);
}

.woocommerce-cart td.actions .coupon .button,
.woocommerce-cart td.actions button[name="update_cart"] {
	flex: 0 0 auto;
	width: auto;
	min-height: 2.75rem;
	background-color: transparent;
	color: var(--mk-heading);
	box-shadow: inset 0 0 0 1.5px var(--mk-heading);
}

.woocommerce-cart td.actions .coupon .button:hover {
	background-color: var(--mk-heading);
	color: var(--mk-paper);
}

.woocommerce-cart td.actions button[name="update_cart"]:disabled {
	opacity: 0.55;
	box-shadow: inset 0 0 0 1px var(--mk-border-strong);
}

/* Ordinateur : les produits restent en haut et accompagnent le défilement
   pendant la lecture du récapitulatif (souvent plus long : modes de livraison). */
@media (min-width: 1000px) {
	.woocommerce-cart .ct-woocommerce-cart-form {
		align-items: start;
	}
	.woocommerce-cart .ct-woocommerce-cart-form > .woocommerce-cart-form {
		position: sticky;
		top: calc(var(--mk-header-h) + 1.5rem);
		align-self: start;
	}
	.woocommerce-cart .ct-woocommerce-cart-form > .cart_totals {
		align-self: start;
	}
	.admin-bar.woocommerce-cart .ct-woocommerce-cart-form > .woocommerce-cart-form {
		top: calc(var(--mk-header-h) + 1.5rem + 32px);
	}
}

/* --- 3. Panier : récapitulatif ------------------------------------------- */
.woocommerce-cart .cart_totals {
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-r-lg);
	background-color: var(--mk-chalk);
	box-shadow: var(--mk-shadow-sm);
}

.woocommerce-cart .cart_totals > h2 {
	margin: 0 0 var(--mk-sp-4);
	font-family: var(--mk-font-title);
	font-size: var(--mk-fs-h4);
	font-weight: 600;
	color: var(--mk-heading);
}

.woocommerce-cart .cart_totals table.shop_table {
	border: 0;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding-block: var(--mk-sp-3);
	border-color: var(--mk-divider);
	font-size: var(--mk-fs-sm);
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	padding-top: var(--mk-sp-4);
	border-top: 1px solid var(--mk-border-strong);
	font-size: var(--mk-fs-body);
	color: var(--mk-heading);
}

.woocommerce-cart .cart_totals .order-total .amount {
	font-family: var(--mk-font-title);
	font-size: 1.5rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .shipping-calculator-button {
	font-size: var(--mk-fs-xs);
	color: var(--mk-text-soft);
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: var(--mk-sp-4) 0 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3.25rem;
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
	background-color: var(--mk-terra);
	color: var(--mk-on-accent);
	border-radius: var(--mk-r-md);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--mk-terra-deep);
}

.mk-continue {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin-top: var(--mk-sp-2);
	font-size: var(--mk-fs-sm);
	font-weight: 600;
	color: var(--mk-link);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mk-facts {
	display: grid;
	gap: var(--mk-sp-2);
	margin: var(--mk-sp-4) 0 0;
	padding: var(--mk-sp-4) 0 0;
	list-style: none;
	border-top: 1px solid var(--mk-divider);
	font-size: var(--mk-fs-xs);
	line-height: 1.55;
	color: var(--mk-text-soft);
}

.mk-facts li {
	margin: 0;
}

.mk-facts__label {
	display: inline-block;
	min-width: 4.75rem;
	font-weight: 600;
	color: var(--mk-heading);
}

.mk-facts a {
	color: var(--mk-link);
}

/* Barre mobile « Total + Commander » */
.mk-cartbar {
	position: fixed;
	inset: auto 0 0 0;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--mk-sp-4);
	padding: 0.75rem var(--mk-gutter) calc(0.75rem + env(safe-area-inset-bottom, 0px));
	background-color: var(--mk-chalk);
	border-top: 1px solid var(--mk-border);
	box-shadow: 0 -8px 24px rgba(14, 44, 54, 0.12);
}

.mk-cartbar[hidden] {
	display: none;
}

.mk-cartbar__total {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-size: var(--mk-fs-xs);
	line-height: 1.2;
	color: var(--mk-text-soft);
}

.mk-cartbar__total strong {
	font-family: var(--mk-font-title);
	font-size: 1.25rem;
	color: var(--mk-heading);
}

.woocommerce .mk-cartbar .mk-cartbar__btn {
	min-height: 3rem;
	padding-inline: 1.5rem;
	display: inline-flex;
	align-items: center;
}

html.mk-has-cartbar body.woocommerce-cart {
	padding-bottom: 5rem;
}

@media (min-width: 1000px) {
	.mk-cartbar {
		display: none !important;
	}
	html.mk-has-cartbar body.woocommerce-cart {
		padding-bottom: 0;
	}
}

/* Modes de livraison dans les récapitulatifs (colonne étroite) :
   nom sur une ligne, prix à droite, mention « Offert dès 59 € » dessous. */
.woocommerce-cart .cart_totals ul#shipping_method label,
.woocommerce-checkout #order_review ul#shipping_method label {
	flex-wrap: wrap;
	row-gap: 0.25rem;
	padding: 0.625rem 0.875rem;
	font-size: var(--mk-fs-sm);
	line-height: 1.35;
}

.woocommerce-cart .cart_totals ul#shipping_method label::after,
.woocommerce-checkout #order_review ul#shipping_method label::after {
	order: 3;
	flex-basis: 100%;
	margin-left: calc(1.5rem + 0.75rem);
	padding: 0;
	background: none;
	font-size: var(--mk-fs-xs);
}

.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-checkout #order_review ul#shipping_method {
	gap: 0.5rem;
}

/* --- 4. Panier vide ------------------------------------------------------- */
.woocommerce:has(.mk-empty) > .wc-empty-cart-message,
.woocommerce:has(.mk-empty) .return-to-shop {
	display: none;
}

.mk-empty {
	max-width: 46rem;
	margin: 0 auto;
	padding: clamp(2rem, 1.5rem + 2vw, 3rem) clamp(1.25rem, 1rem + 2vw, 3rem);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-r-xl);
	background-color: var(--mk-chalk);
	text-align: center;
}

.mk-empty__kicker {
	margin: 0 0 var(--mk-sp-2);
	font-family: var(--mk-font-title);
	font-style: italic;
	color: var(--mk-terra-deep);
}

.mk-empty__title {
	margin: 0 0 var(--mk-sp-3);
	font-family: var(--mk-font-title);
	font-size: var(--mk-fs-h2);
	font-weight: 600;
	line-height: var(--mk-lh-tight);
	color: var(--mk-heading);
	text-wrap: balance;
}

.mk-empty__text {
	max-width: 34rem;
	margin: 0 auto var(--mk-sp-6);
	color: var(--mk-text-soft);
}

.mk-empty__books {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--mk-sp-4);
	margin: 0 0 var(--mk-sp-6);
	padding: 0;
	list-style: none;
}

.mk-empty__books li {
	margin: 0;
}

.mk-empty__books a {
	display: flex;
	flex-direction: column;
	gap: var(--mk-sp-2);
	padding: var(--mk-sp-3);
	border-radius: var(--mk-r-lg);
	background-color: var(--mk-sand);
	color: var(--mk-heading);
	font-size: var(--mk-fs-sm);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.mk-empty__books a:hover span {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mk-empty__books img {
	width: 100%;
	height: auto;
	border-radius: var(--mk-r-book);
	box-shadow: var(--mk-shadow-book);
}

.mk-empty__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--mk-sp-3) var(--mk-sp-5);
	margin: 0;
}

.woocommerce .mk-empty__actions .button {
	text-decoration: none;
	min-height: 3rem;
	padding-inline: 1.75rem;
	display: inline-flex;
	align-items: center;
}

.mk-empty .mk-link {
	font-weight: 600;
	color: var(--mk-link);
	text-underline-offset: 0.2em;
}

@media (max-width: 640px) {
	.mk-empty__books {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* --- 5. Commande ----------------------------------------------------------- */
.woocommerce-checkout .ct-customer-details {
	counter-reset: mk-section;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	margin-bottom: var(--mk-sp-5);
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-r-lg);
	background-color: var(--mk-chalk);
}

.woocommerce-checkout .woocommerce-shipping-fields:not(:has(#ship-to-different-address-checkbox:checked)) {
	padding-block: var(--mk-sp-4);
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .mk-pay-title {
	display: flex;
	align-items: center;
	gap: var(--mk-sp-3);
	margin: 0 0 var(--mk-sp-5);
	font-family: var(--mk-font-title);
	font-size: var(--mk-fs-h4);
	font-weight: 600;
	color: var(--mk-heading);
}

.woocommerce-checkout .woocommerce-billing-fields > h3::before,
.woocommerce-checkout #order_review_heading::before,
.woocommerce-checkout .mk-pay-title::before {
	counter-increment: mk-section;
	content: counter(mk-section);
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 1.875rem;
	height: 1.875rem;
	border-radius: 50%;
	background-color: var(--mk-ink);
	color: var(--mk-text-on-ink);
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	font-weight: 600;
}

.woocommerce-checkout .ct-order-review {
	counter-reset: mk-section 1;
}

.woocommerce-checkout #ship-to-different-address {
	margin: 0;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-body);
	font-weight: 600;
}

.woocommerce-checkout #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: var(--mk-sp-3);
	min-height: 2.75rem;
	cursor: pointer;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"],
.woocommerce-checkout #terms,
.woocommerce-checkout input#createaccount {
	width: 1.25rem;
	height: 1.25rem;
	accent-color: var(--mk-ink);
}

/* Champs : une colonne sur mobile, libellés lisibles, erreurs visibles */
.woocommerce-checkout form .form-row {
	margin-bottom: var(--mk-sp-4);
}

.woocommerce-checkout form .form-row .required {
	color: var(--mk-error);
	text-decoration: none;
}

.woocommerce-checkout form .form-row.woocommerce-invalid label {
	color: var(--mk-error);
}

.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
	scroll-margin-top: calc(var(--mk-header-h) + 1rem);
}

@media (max-width: 640px) {
	.woocommerce-checkout form .form-row-first,
	.woocommerce-checkout form .form-row-last {
		float: none;
		width: 100%;
	}
}

/* Paiement rapide et sécurisé (Apple Pay, Google Pay, PayPal)
   En-tête : inc/momkin-checkout.php. Boutons : extensions Stripe et PayPal
   (iframes : leur forme et leur hauteur se règlent dans les extensions). */
.mk-express-intro {
	display: flex;
	align-items: flex-start;
	gap: var(--mk-sp-3);
	padding: var(--mk-sp-5) var(--mk-sp-5) var(--mk-sp-4);
	border: 1px solid var(--mk-border);
	border-bottom: 0;
	border-radius: var(--mk-r-lg) var(--mk-r-lg) 0 0;
	background-color: var(--mk-chalk);
}

.mk-express-intro__icon {
	flex: none;
	margin-top: 0.1rem;
	color: var(--mk-success);
}

.mk-express-intro__title {
	margin: 0 0 0.15rem;
	font-family: var(--mk-font-title);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--mk-heading);
}

.mk-express-intro__text {
	margin: 0;
	font-size: var(--mk-fs-sm);
	line-height: 1.5;
	color: var(--mk-text-soft);
}

/* L'en-tête précède toujours les boutons, quel que soit l'ordre d'affichage des extensions */
.woocommerce-checkout .ct-customer-details:has(.mk-express-intro) {
	display: flex;
	flex-direction: column;
}

.woocommerce-checkout .ct-customer-details:has(.mk-express-intro) > .mk-express-intro {
	order: -2;
}

.woocommerce-checkout .ct-customer-details:has(.mk-express-intro) > .wc-stripe-banner-checkout {
	order: -1;
}

/* Sans paiement express disponible sur l'appareil : l'en-tête disparaît */
.ct-customer-details:not(:has(.wc-stripe-banner-checkout.active)) .mk-express-intro {
	display: none;
}

.woocommerce-checkout .wc-stripe-banner-checkout {
	margin: 0 0 var(--mk-sp-5);
}

.woocommerce-checkout .wc-stripe-banner-checkout fieldset {
	margin: 0;
	padding: 0 var(--mk-sp-5) var(--mk-sp-5);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-r-lg);
	background-color: var(--mk-chalk);
}

.woocommerce-checkout .ct-customer-details:has(.mk-express-intro) .wc-stripe-banner-checkout fieldset {
	border-top: 0;
	border-radius: 0 0 var(--mk-r-lg) var(--mk-r-lg);
}

/* Le titre de l'extension est remplacé visuellement par l'en-tête (il reste lu par les lecteurs d'écran) */
.woocommerce-checkout .ct-customer-details:has(.mk-express-intro) .wc-stripe-banner-checkout legend.banner-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.woocommerce-checkout .wc-stripe-banner-checkout legend.banner-title {
	padding: 0 var(--mk-sp-2);
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	font-weight: 600;
	color: var(--mk-heading);
}

/* Rangées régulières : Apple Pay et Google Pay côte à côte (ou un seul sur
   toute la largeur s'il est seul disponible), PayPal sur sa propre ligne. */
.woocommerce-checkout ul.wc_stripe_checkout_banner_gateways {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.625rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.woocommerce-checkout ul.wc_stripe_checkout_banner_gateways > li {
	flex: 1 1 11rem;
	min-width: 0;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
}

.woocommerce-checkout ul.wc_stripe_checkout_banner_gateways > li.banner_payment_method_ppcp {
	flex-basis: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	align-items: flex-start;
}

.woocommerce-checkout li.banner_payment_method_ppcp > .paypal-buttons {
	flex: 1 1 11rem;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
}

/* Séparateur « ou » */
.woocommerce-checkout .wc-stripe-banner-checkout .banner-divider {
	margin: var(--mk-sp-4) 0 0;
	font-size: var(--mk-fs-xs);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mk-text-soft);
}

@media (max-width: 480px) {
	.mk-express-intro {
		padding: var(--mk-sp-4) var(--mk-sp-4) var(--mk-sp-3);
	}
	.woocommerce-checkout .wc-stripe-banner-checkout fieldset {
		padding: 0 var(--mk-sp-4) var(--mk-sp-4);
	}
	.woocommerce-checkout ul.wc_stripe_checkout_banner_gateways > li,
	.woocommerce-checkout li.banner_payment_method_ppcp > .paypal-buttons {
		flex-basis: 100%;
	}
}

/* Récapitulatif « Votre commande » : Blocksy fournit déjà l'encadré, les
   couvertures et les quantités ; on ne règle que la lisibilité des totaux. */
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	border-color: var(--mk-divider);
}

.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
	border-top: 1px solid var(--mk-border-strong);
	font-size: var(--mk-fs-body);
	color: var(--mk-heading);
}

.woocommerce-checkout #order_review .order-total .amount {
	font-family: var(--mk-font-title);
	font-size: 1.5rem;
	font-weight: 600;
}

/* Moyens de paiement : liste compacte, pour que le bouton de paiement
   arrive vite à l'écran une fois le moyen choisi (Apple Pay, Google Pay…) */
.woocommerce-checkout #payment {
	background: none;
	border-radius: 0;
}

.woocommerce-checkout #payment ul.wc_payment_methods {
	padding: 0.5rem !important;
	border-radius: var(--mk-r-lg);
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method {
	margin: 0 0 0.5rem !important;
	padding: 0.375rem 1rem !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method:last-child {
	margin-bottom: 0 !important;
}

.woocommerce-checkout #payment .wc_payment_method > label {
	min-height: 2.75rem;
	margin: 0 !important;
	padding: 0 !important;
	font-size: var(--mk-fs-body);
	cursor: pointer;
}

.woocommerce-checkout #payment .wc_payment_method .payment_box {
	margin: 0.25rem 0 0.625rem !important;
	padding: 0.625rem 0.875rem !important;
	font-size: var(--mk-fs-sm);
}

.woocommerce-checkout #payment .wc_payment_method .payment_box p {
	margin: 0;
}

/* Case CGV : texte et astérisque sur la même ligne */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox {
	position: relative;
	display: block !important;
	padding-left: 2rem;
	cursor: pointer;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox input#terms {
	position: absolute;
	top: 0.15em;
	left: 0;
	margin: 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .required {
	margin-left: 0.15em;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
	margin: 0 0 var(--mk-sp-3);
}

.woocommerce-checkout #payment .wc_payment_method > input[type="radio"] {
	width: 1.125rem;
	height: 1.125rem;
	accent-color: var(--mk-ink);
}

.woocommerce-checkout #payment .place-order {
	padding: var(--mk-sp-4) 0 0;
}

.woocommerce-checkout #payment #place_order {
	width: 100%;
	min-height: 3.5rem;
	font-size: 1.125rem;
}

.woocommerce-checkout #payment #place_order:focus-visible {
	outline: 3px solid var(--mk-lagoon);
	outline-offset: 3px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,
.mk-terms-note {
	font-size: var(--mk-fs-xs);
	line-height: 1.55;
	color: var(--mk-text-soft);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row.validate-required label {
	font-size: var(--mk-fs-sm);
	font-weight: 600;
	color: var(--mk-text);
}

.mk-terms-note {
	margin: var(--mk-sp-2) 0 0;
}

.mk-terms-note a,
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-link {
	color: var(--mk-link);
}

/* Le récapitulatif n'est pas collant : avec les modes de livraison et de
   paiement, il dépasse la hauteur de l'écran. */

/* --- 6. Compte client ----------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: var(--mk-sp-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.5rem 1rem;
	text-decoration: none;
}

.woocommerce-account .woocommerce-orders-table .button,
.woocommerce-account .woocommerce-MyAccount-content .button {
	min-height: 2.75rem;
	display: inline-flex;
	align-items: center;
}

.woocommerce-account .woocommerce-orders-table .button.momkin-renoncer,
.momkin-retract-link__btn {
	background-color: transparent !important;
	color: var(--mk-heading) !important;
	box-shadow: inset 0 0 0 1.5px var(--mk-heading);
}

.woocommerce-account .woocommerce-orders-table .button.momkin-renoncer:hover,
.momkin-retract-link__btn:hover {
	background-color: var(--mk-heading) !important;
	color: var(--mk-paper) !important;
}

.momkin-retract-link {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mk-sp-3);
	margin: var(--mk-sp-5) 0;
	font-size: var(--mk-fs-sm);
	color: var(--mk-text-soft);
}

.woocommerce-account form.login,
.woocommerce-account form.register {
	padding: clamp(1.25rem, 1rem + 1vw, 2rem);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-r-lg);
	background-color: var(--mk-chalk);
}

/* --- 7. Confirmation de commande ------------------------------------------ */
.woocommerce-order .woocommerce-thankyou-order-received {
	padding: var(--mk-sp-5);
	border-left: 4px solid var(--mk-success);
	border-radius: var(--mk-r-md);
	background-color: var(--mk-success-bg);
	font-family: var(--mk-font-title);
	font-size: var(--mk-fs-h4);
	color: var(--mk-heading);
}

.woocommerce-order ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: var(--mk-sp-3);
	margin: var(--mk-sp-5) 0;
	padding: 0;
}

.woocommerce-order ul.order_details li {
	margin: 0;
	padding: var(--mk-sp-4);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-r-md);
	background-color: var(--mk-chalk);
	float: none;
}

/* --- 8. Rétractation en ligne ([momkin_retractation]) --------------------- */
.momkin-retract-intro {
	max-width: 46rem;
	margin: 0 auto var(--mk-sp-6);
}

.momkin-retract-intro__kicker {
	margin: 0 0 var(--mk-sp-2);
	font-family: var(--mk-font-title);
	font-style: italic;
	color: var(--mk-terra-deep);
}

.momkin-retract-intro__title {
	margin: 0 0 var(--mk-sp-4);
	font-family: var(--mk-font-title);
	font-size: var(--mk-fs-h1);
	font-weight: 600;
	line-height: var(--mk-lh-tight);
	color: var(--mk-heading);
}

.momkin-retract-intro p {
	max-width: var(--mk-measure);
}

.momkin-retract-intro__small {
	font-size: var(--mk-fs-sm);
	color: var(--mk-text-soft);
}

.momkin-retract-intro a,
.momkin-retract a {
	color: var(--mk-link);
}

.momkin-retract {
	max-width: 46rem;
	margin: 0 auto;
	padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-r-xl);
	background-color: var(--mk-chalk);
	box-shadow: var(--mk-shadow-sm);
	scroll-margin-top: calc(var(--mk-header-h) + 1rem);
}

.momkin-retract__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--mk-sp-5);
}

.momkin-retract__field {
	display: grid;
	gap: var(--mk-sp-2);
	margin: 0 0 var(--mk-sp-5);
}

.momkin-retract__field label,
.momkin-retract__scope legend {
	font-weight: 600;
	color: var(--mk-heading);
}

.momkin-retract__field abbr,
.momkin-retract__scope abbr {
	color: var(--mk-error);
	text-decoration: none;
}

.momkin-retract__opt,
.momkin-retract__help {
	font-size: var(--mk-fs-xs);
	font-weight: 400;
	color: var(--mk-text-soft);
}

.momkin-retract input[type="text"],
.momkin-retract input[type="email"],
.momkin-retract textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--mk-border-strong);
	border-radius: var(--mk-r-md);
	background-color: var(--mk-chalk);
	color: var(--mk-text);
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-body);
}

.momkin-retract input:focus-visible,
.momkin-retract textarea:focus-visible {
	outline: none;
	border-color: var(--mk-lagoon);
	box-shadow: 0 0 0 3px rgba(31, 122, 140, 0.22);
}

.momkin-retract [aria-invalid="true"] {
	border-color: var(--mk-error);
}

.momkin-retract__error {
	display: block;
	margin: 0;
	font-size: var(--mk-fs-sm);
	font-weight: 600;
	color: var(--mk-error);
}

.momkin-retract__alert {
	margin: 0 0 var(--mk-sp-5);
	padding: var(--mk-sp-4);
	border-left: 4px solid var(--mk-error);
	border-radius: var(--mk-r-md);
	background-color: var(--mk-error-bg);
	color: var(--mk-text);
}

.momkin-retract__alert p {
	margin: 0;
}

.momkin-retract__scope {
	margin: 0 0 var(--mk-sp-5);
	padding: 0;
	border: 0;
}

.momkin-retract__scope legend {
	margin-bottom: var(--mk-sp-3);
}

.momkin-retract__pill {
	display: inline-flex;
	align-items: center;
	gap: var(--mk-sp-2);
	min-height: 2.75rem;
	margin: 0 var(--mk-sp-3) var(--mk-sp-3) 0;
	padding: 0.5rem 1rem;
	border: 1.5px solid var(--mk-border-strong);
	border-radius: var(--mk-r-pill);
	cursor: pointer;
}

.momkin-retract__pill:has(input:checked) {
	border-color: var(--mk-heading);
	background-color: var(--mk-sand);
	font-weight: 600;
}

.momkin-retract__pill input {
	accent-color: var(--mk-ink);
}

.momkin-retract__articles {
	margin-top: var(--mk-sp-3);
}

.momkin-retract__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.momkin-retract__privacy {
	font-size: var(--mk-fs-xs);
	color: var(--mk-text-soft);
}

.momkin-retract__submit {
	margin: var(--mk-sp-5) 0 0;
}

.momkin-retract__button {
	width: 100%;
	min-height: 3.5rem;
	padding: 0.875rem 2rem;
	border: 0;
	border-radius: var(--mk-r-md);
	background-color: var(--mk-terra);
	color: var(--mk-on-accent);
	font-family: var(--mk-font-body);
	font-size: 1.125rem;
	font-weight: 600;
	cursor: pointer;
}

.momkin-retract__button:hover {
	background-color: var(--mk-terra-deep);
}

.momkin-retract__button:focus-visible {
	outline: 3px solid var(--mk-lagoon);
	outline-offset: 3px;
}

.momkin-retract--done {
	border-left: 4px solid var(--mk-success);
}

.momkin-retract__done-title {
	margin: 0 0 var(--mk-sp-3);
	font-family: var(--mk-font-title);
	font-size: var(--mk-fs-h3);
	font-weight: 600;
	color: var(--mk-heading);
}

.momkin-retract__recap {
	margin: var(--mk-sp-4) 0;
	padding: var(--mk-sp-4);
	border-radius: var(--mk-r-md);
	background-color: var(--mk-sand);
	color: var(--mk-text);
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-sm);
	line-height: 1.6;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.momkin-retract__note {
	font-size: var(--mk-fs-sm);
	color: var(--mk-text-soft);
}

@media (max-width: 640px) {
	.momkin-retract__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --- 9. Accessibilité, impression ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.mk-cartbar,
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.momkin-retract__button {
		transition: none !important;
	}
}

@media print {
	.mk-steps,
	.mk-cartbar,
	.mk-continue,
	.momkin-retract__submit {
		display: none !important;
	}
	.momkin-retract,
	.woocommerce-checkout #order_review {
		box-shadow: none;
	}
}
