/*
Theme Name: Momount
Theme URI: https://momount.com
Author: Momount
Description: Thème bloc WooCommerce rapide et épuré, inspiré de l'ergonomie des boutiques modernes (sections, cartes produit, fiche produit collante, tiroir panier). Couleurs, polices et sections modifiables dans l'éditeur de site.
Version: 1.0.3
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: momount
Tags: e-commerce, block-themes, full-site-editing, one-column, wide-blocks
WC requires at least: 9.0
*/

/* ------------------------------------------------------------------
   Bases
------------------------------------------------------------------ */
:root {
	--mm-radius-btn: var(--wp--custom--radius--button, 14px);
	--mm-radius-card: var(--wp--custom--radius--card, 8px);
	--mm-ease: var(--wp--custom--transition, 0.25s ease);
	--mm-accent: var(--wp--preset--color--accent);
	--mm-ink: var(--wp--preset--color--contrast);
	--mm-muted: var(--wp--preset--color--muted);
	--mm-line: var(--wp--preset--color--border);
	--mm-soft: var(--wp--preset--color--base-2);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
img { height: auto; }
:where(a) { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--mm-accent); outline-offset: 3px; }
.mm-main { padding-bottom: var(--wp--preset--spacing--60); }
.mm-main--home { padding-bottom: 0; }
.mm-main > .alignfull:first-child { margin-top: 0; }
.mm-center { text-align: center; }
.mm-placeholder { opacity: 0.5; font-size: 0.875rem; letter-spacing: 0.1em; text-transform: uppercase; }

/* Sur-titre orange espacé */
.is-style-eyebrow {
	display: inline-block;
	margin: 0 0 1rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--mm-accent);
}

/* Boutons */
.wp-element-button, .wp-block-button__link { transition: background-color var(--mm-ease), color var(--mm-ease), transform var(--mm-ease), border-color var(--mm-ease); }
.wp-block-button__link:hover { transform: translateY(-2px); }
.is-style-caps .wp-block-button__link {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 800;
	font-size: 0.92rem;
	padding: 1.15rem 2.5rem;
}
.is-style-ghost-light .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.55);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 800;
	font-size: 0.92rem;
	padding: calc(1.15rem - 1px) 2.5rem;
}
.is-style-ghost-light .wp-block-button__link:hover { background: #fff; color: var(--mm-ink); border-color: #fff; }
.is-style-outline .wp-block-button__link { border: 1px solid currentColor; background: transparent; color: var(--mm-ink); }

/* Liste à coches */
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 1.75rem; margin: 0.45rem 0; }
.is-style-checks li::before {
	content: "";
	position: absolute; left: 0; top: 0.35em;
	width: 1.05rem; height: 1.05rem; border-radius: 50%;
	background: var(--mm-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 70% no-repeat;
}

/* Sections */
.mm-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.mm-section--soft { background: var(--mm-soft); }
.mm-section__head { margin-bottom: var(--wp--preset--spacing--50); }
.mm-section__head h2 { margin: 0; }
.mm-link-arrow a { font-weight: 700; text-decoration: none; }
.mm-link-arrow a:hover { color: var(--mm-accent); }
.mm-lead { font-size: var(--wp--preset--font-size--large); color: var(--mm-muted); line-height: 1.55; }

/* ------------------------------------------------------------------
   En-tête
------------------------------------------------------------------ */
.mm-announcement {
	background: var(--mm-ink);
	color: #fff;
	padding-top: 0.6rem;
	padding-bottom: 0.6rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.mm-announcement p { margin: 0; }
.mm-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .mm-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.mm-header {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color var(--mm-ease), box-shadow var(--mm-ease);
}
.is-scrolled .mm-header { border-bottom-color: var(--mm-line); box-shadow: 0 6px 24px -18px rgba(0, 0, 0, 0.35); }
.mm-header__bar { min-height: var(--wp--custom--header-height, 72px); gap: 1.5rem; }
.mm-header__brand { gap: 0.75rem; flex-shrink: 0; }
.mm-header__brand .wp-block-site-title a { text-decoration: none; color: var(--mm-ink); }
.mm-header__brand .wp-block-site-logo + .wp-block-site-title { display: none; } /* logo présent : on masque le nom */
.mm-nav { flex: 1; }
.mm-nav .wp-block-navigation-item__content { text-decoration: none; padding: 0.5rem 0.25rem; position: relative; }
.mm-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0.25rem; right: 0.25rem; bottom: 0.2rem; height: 2px;
	background: var(--mm-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--mm-ease);
}
.mm-nav .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
.mm-header__icons { gap: 0.35rem; }
.mm-header__icons .wp-block-search__button,
.mm-header__icons .wc-block-customer-account a,
.mm-header__icons .wc-block-mini-cart__button {
	background: transparent; color: var(--mm-ink); border: 0; padding: 0.55rem; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center; transition: background-color var(--mm-ease);
}
.mm-header__icons .wp-block-search__button:hover,
.mm-header__icons .wc-block-customer-account a:hover,
.mm-header__icons .wc-block-mini-cart__button:hover { background: var(--mm-soft); }
.mm-header__icons .wc-block-mini-cart__badge { background: var(--mm-accent) !important; color: #fff !important; font-weight: 700; }
.mm-header__icons .wp-block-search__input { border-radius: var(--mm-radius-btn); border: 1px solid var(--mm-line); }

/* Tiroir panier (mini-cart) */
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { font-family: inherit; }
.wc-block-mini-cart__title { font-weight: 800; letter-spacing: -0.02em; }
.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link) { border-radius: var(--mm-radius-btn) !important; }
.wc-block-mini-cart__footer-checkout { background: var(--mm-accent) !important; color: #fff !important; font-weight: 700; }

/* ------------------------------------------------------------------
   Héros
------------------------------------------------------------------ */
.mm-hero.wp-block-cover { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.mm-hero .wp-block-cover__image-background { opacity: 0.85; }
.mm-hero__content { max-width: 1400px; }
.mm-hero__title { color: #fff; font-weight: 900; letter-spacing: -0.04em; line-height: 0.98; max-width: 880px; margin: 0 0 1.75rem; }
.mm-hero__sub { color: #e8e8e8; max-width: 560px; font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.55; margin: 0 0 2.5rem; }
.mm-hero .wp-block-buttons { gap: 1rem; }

/* ------------------------------------------------------------------
   Cartes de catégories
------------------------------------------------------------------ */
.mm-cats { gap: 1.25rem !important; }
.mm-cat-card.wp-block-cover {
	aspect-ratio: 4 / 5; min-height: 0; border-radius: var(--mm-radius-card); overflow: hidden;
	padding: 1.5rem 1.25rem; transition: transform 0.3s ease; background: var(--mm-ink);
}
.mm-cat-card:hover { transform: translateY(-6px); }
.mm-cat-card .wp-block-cover__image-background { transition: transform 0.6s ease; }
.mm-cat-card:hover .wp-block-cover__image-background { transform: scale(1.08); }
.mm-cat-card__title { font-size: 1.2rem; margin: 0 0 0.35rem; letter-spacing: -0.01em; }
.mm-cat-card__title a { color: #fff; text-decoration: none; }
.mm-cat-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 3; } /* toute la carte cliquable */
.mm-cat-card__cta { margin: 0; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--mm-accent); }

/* ------------------------------------------------------------------
   Cartes produit (grilles)
------------------------------------------------------------------ */
.mm-products .wc-block-product-template { gap: 2rem 1.25rem; }
.mm-products .wc-block-product { position: relative; text-align: left; display: flex; flex-direction: column; }
.mm-products .wc-block-components-product-image {
	border-radius: var(--mm-radius-card); overflow: hidden; background: var(--mm-soft); margin-bottom: 0.9rem;
}
.mm-products .wc-block-components-product-image img { transition: transform 0.6s ease, opacity 0.35s ease; }
.mm-products .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.04); }
.mm-card__title { font-size: 0.95rem !important; font-weight: 600; letter-spacing: -0.01em; line-height: 1.35; margin: 0 0 0.3rem !important; }
.mm-card__title a { text-decoration: none; color: var(--mm-ink); }
.mm-card__title a:hover { color: var(--mm-accent); }
.mm-card__price { font-size: 0.95rem !important; margin: 0 0 0.75rem !important; }
.mm-card__price del { color: var(--mm-muted); font-weight: 400; margin-right: 0.35rem; }
.mm-card__price ins { text-decoration: none; color: var(--mm-accent); }
.mm-products .wc-block-components-product-sale-badge {
	border-radius: var(--wp--custom--radius--pill, 100px); border: 0; background: var(--mm-accent); color: #fff;
	font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em; padding: 0.3rem 0.7rem; margin: 0.75rem; text-transform: none;
}
.mm-card__button { margin-top: auto; }
.mm-card__button .wp-block-button__link,
.mm-card__button .wc-block-components-product-button__button {
	width: 100%; border-radius: var(--mm-radius-btn); background: var(--mm-ink); color: #fff;
	font-size: 0.85rem; font-weight: 700; padding: 0.8rem 1rem;
}
.mm-card__button .wc-block-components-product-button__button:hover { background: var(--mm-accent); }
@media (hover: hover) and (min-width: 782px) {
	/* Sur ordinateur, le bouton apparaît au survol comme sur Horizon */
	.mm-products .mm-card__button { opacity: 0; transform: translateY(6px); transition: opacity var(--mm-ease), transform var(--mm-ease); }
	.mm-products .wc-block-product:hover .mm-card__button,
	.mm-products .wc-block-product:focus-within .mm-card__button { opacity: 1; transform: none; }
}

/* ------------------------------------------------------------------
   Pages collection
------------------------------------------------------------------ */
.mm-breadcrumbs { font-size: 0.8rem; color: var(--mm-muted); margin-top: 1.25rem; }
.mm-breadcrumbs a { color: var(--mm-muted); text-decoration: none; }
.mm-collection__head { margin-top: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--30); }
.mm-collection__head .wp-block-query-title { margin: 0 0 0.5rem; }
.mm-collection__head .wp-block-term-description { color: var(--mm-muted); max-width: 60ch; }
.mm-collection__toolbar { border-top: 1px solid var(--mm-line); border-bottom: 1px solid var(--mm-line); padding: 0.75rem 0; margin-bottom: var(--wp--preset--spacing--40); font-size: 0.875rem; }
.mm-collection__toolbar select { border: 1px solid var(--mm-line); border-radius: var(--mm-radius-btn); padding: 0.45rem 0.8rem; background: #fff; font: inherit; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); gap: 0.5rem; font-weight: 600; }
.wp-block-query-pagination-numbers .page-numbers { display: inline-flex; min-width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; border-radius: 50%; text-decoration: none; }
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--mm-ink); color: #fff; }

/* ------------------------------------------------------------------
   Fiche produit
------------------------------------------------------------------ */
.mm-product { gap: clamp(1.5rem, 4vw, 4rem) !important; margin-top: 1.25rem; align-items: flex-start !important; }
.mm-product__media .woocommerce-product-gallery { border-radius: var(--mm-radius-card); overflow: hidden; }
.mm-product__media .woocommerce-product-gallery__image img { border-radius: var(--mm-radius-card); }
.mm-product__media .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 0.6rem; margin-top: 0.6rem !important; }
.mm-product__media .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.mm-product__media .flex-control-thumbs img { border-radius: 6px; opacity: 0.55; transition: opacity var(--mm-ease); }
.mm-product__media .flex-control-thumbs img.flex-active,
.mm-product__media .flex-control-thumbs img:hover { opacity: 1; }
@media (min-width: 782px) {
	.mm-product__info { position: sticky; top: calc(var(--wp--custom--header-height, 72px) + 1.5rem); }
	.admin-bar .mm-product__info { top: calc(var(--wp--custom--header-height, 72px) + 1.5rem + 32px); }
}
.mm-product__title { font-size: clamp(1.75rem, 3vw, 2.4rem) !important; font-weight: 800 !important; letter-spacing: -0.03em; margin: 0 0 0.5rem; }
.mm-product__price { font-size: 1.5rem !important; margin: 0.5rem 0 1rem; }
.mm-product__price del { color: var(--mm-muted); font-weight: 400; font-size: 0.75em; margin-right: 0.5rem; }
.mm-product__price ins { text-decoration: none; color: var(--mm-accent); }
.mm-product__excerpt { color: #333; line-height: 1.65; }
.mm-product__buy { margin-top: 1.25rem; }
/* Variantes en pastilles */
.mm-product__buy .wc-block-product-filter-chips__items { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mm-product__buy .wc-block-product-filter-chips__item {
	border: 1px solid var(--mm-line); border-radius: var(--mm-radius-btn); background: #fff; color: var(--mm-ink);
	padding: 0.65rem 1.1rem; font-weight: 600; font-size: 0.875rem; min-width: 3.25rem; transition: border-color var(--mm-ease), background-color var(--mm-ease), color var(--mm-ease);
}
.mm-product__buy .wc-block-product-filter-chips__item:hover { border-color: var(--mm-ink); }
.mm-product__buy .wc-block-product-filter-chips__item[aria-checked="true"],
.mm-product__buy .wc-block-product-filter-chips__item.is-selected { background: var(--mm-ink); color: #fff; border-color: var(--mm-ink); }
.mm-product__buy .wc-block-product-filter-chips__item[aria-disabled="true"] { opacity: 0.4; text-decoration: line-through; }
.mm-product__buy .wc-block-add-to-cart-with-options-variation-selector-attribute-name { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
/* Quantité + bouton d'achat */
.mm-product__buy .wc-block-components-quantity-selector,
.mm-product__buy .quantity { border: 1px solid var(--mm-line); border-radius: var(--mm-radius-btn); overflow: hidden; }
.mm-product__buy .wp-block-woocommerce-product-button { flex: 1; }
.mm-product__buy .wc-block-components-product-button__button,
.mm-product__buy .single_add_to_cart_button {
	width: 100%; min-height: 3.4rem; border-radius: var(--mm-radius-btn) !important; background: var(--mm-accent) !important; color: #fff !important;
	font-weight: 800; font-size: 1rem; letter-spacing: 0.02em; transition: background-color var(--mm-ease), transform var(--mm-ease);
}
.mm-product__buy .wc-block-components-product-button__button:hover,
.mm-product__buy .single_add_to_cart_button:hover { background: var(--mm-ink) !important; transform: translateY(-1px); }
.mm-product-trust { font-size: 0.9rem; margin-top: 1.25rem; padding: 1rem 1.25rem; background: var(--mm-soft); border-radius: var(--mm-radius-card); }
.mm-product__meta { font-size: 0.8rem; color: var(--mm-muted); gap: 0.25rem 1.25rem; margin-top: 1rem; }
.mm-product__details { margin-top: var(--wp--preset--spacing--60); }
.mm-product__details .wc-tabs { border-bottom: 1px solid var(--mm-line); display: flex; gap: 1.5rem; padding: 0; }
.mm-product__details .wc-tabs li { list-style: none; }
.mm-product__details .wc-tabs li a { display: block; padding: 0.9rem 0; text-decoration: none; font-weight: 700; color: var(--mm-muted); border-bottom: 2px solid transparent; }
.mm-product__details .wc-tabs li.active a { color: var(--mm-ink); border-bottom-color: var(--mm-accent); }
.mm-product__details .woocommerce-Tabs-panel { max-width: 80ch; padding-top: 1.5rem; line-height: 1.7; }
.mm-related { margin-top: var(--wp--preset--spacing--70); }
.mm-related__title { font-size: var(--wp--preset--font-size--x-large) !important; margin-bottom: var(--wp--preset--spacing--40); }

/* Barre d'achat collante (mobile, ajoutée par theme.js) */
.mm-sticky-buy {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; align-items: center; gap: 0.75rem;
	padding: 0.75rem clamp(1rem, 4vw, 2rem) calc(0.75rem + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(12px); border-top: 1px solid var(--mm-line);
	transform: translateY(110%); transition: transform var(--mm-ease);
}
.mm-sticky-buy.is-visible { transform: none; }
.mm-sticky-buy__name { flex: 1; min-width: 0; font-weight: 700; font-size: 0.875rem; line-height: 1.25; }
.mm-sticky-buy__name small { display: block; font-weight: 600; color: var(--mm-accent); font-size: 0.85rem; }
.mm-sticky-buy__name span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mm-sticky-buy button {
	border: 0; border-radius: var(--mm-radius-btn); background: var(--mm-accent); color: #fff;
	font: inherit; font-weight: 800; padding: 0.85rem 1.25rem; cursor: pointer;
}
@media (min-width: 782px) { .mm-sticky-buy { display: none; } }

/* ------------------------------------------------------------------
   Histoire / chiffres
------------------------------------------------------------------ */
.mm-story { gap: clamp(2rem, 5vw, 5rem) !important; }
.mm-story__media.wp-block-cover { border-radius: var(--mm-radius-card); overflow: hidden; }
.mm-stats { margin-top: 2rem; border-top: 1px solid var(--mm-line); padding-top: 1.5rem; gap: 1rem; }
.mm-stat__value { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 900; letter-spacing: -0.03em; margin: 0; line-height: 1.1; }
.mm-stat__label { margin: 0.2rem 0 0; color: var(--mm-muted); font-size: 0.85rem; }

/* ------------------------------------------------------------------
   Confiance
------------------------------------------------------------------ */
.mm-trust { background: #f5f5f5; padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); margin-top: 0; }
.mm-trust__grid { gap: 2rem !important; }
@media (min-width: 782px) { .mm-trust__grid { grid-template-columns: repeat(4, 1fr) !important; } }
.mm-trust__item { text-align: center; padding: 0 1rem; }
.mm-trust__icon {
	display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%;
	background: var(--mm-ink); color: var(--mm-accent); margin: 0 auto 1.25rem;
}
.mm-trust__icon svg { width: 26px; height: 26px; }
.mm-trust__title { font-size: 1.05rem !important; font-weight: 800; margin: 0 0 0.4rem; letter-spacing: -0.01em; }
.mm-trust__text { font-size: 0.88rem; color: var(--mm-muted); margin: 0; line-height: 1.5; }

/* ------------------------------------------------------------------
   FAQ
------------------------------------------------------------------ */
.mm-faq { border-bottom: 1px solid var(--mm-line); padding: 0.25rem 0; }
.mm-faq summary {
	cursor: pointer; list-style: none; font-weight: 700; font-size: 1.05rem; padding: 1.1rem 2rem 1.1rem 0; position: relative;
}
.mm-faq summary::-webkit-details-marker { display: none; }
.mm-faq summary::after {
	content: ""; position: absolute; right: 0.25rem; top: 50%; width: 0.7rem; height: 0.7rem; margin-top: -0.5rem;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform var(--mm-ease);
}
.mm-faq[open] summary::after { transform: rotate(-135deg); margin-top: -0.15rem; }
.mm-faq p { color: #444; margin: 0 0 1.25rem; }

/* ------------------------------------------------------------------
   Appel à l'action final + pied de page
------------------------------------------------------------------ */
.mm-final-cta { background: var(--mm-ink); color: #fff; text-align: center; padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.mm-final-cta h2 { color: #fff; font-weight: 900; letter-spacing: -0.04em; }
.mm-final-cta__sub { color: #cfcfcf; font-size: var(--wp--preset--font-size--large); }
.mm-final-cta .is-style-eyebrow { display: block; text-align: center; }

.mm-footer { background: var(--wp--preset--color--contrast-2); color: #cfcfcf; padding-top: var(--wp--preset--spacing--60); padding-bottom: 1.5rem; font-size: 0.9rem; }
.mm-footer .wp-block-site-title a { color: #fff; text-decoration: none; }
.mm-footer h6 { color: #fff; margin-bottom: 1rem; }
.mm-footer__about { max-width: 36ch; color: #a8a8a8; }
.mm-footer__links { list-style: none; padding: 0; margin: 0; }
.mm-footer__links li { margin: 0 0 0.55rem; }
.mm-footer__links a { color: #cfcfcf; text-decoration: none; }
.mm-footer__links a:hover { color: var(--mm-accent); }
.mm-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); margin-top: var(--wp--preset--spacing--50); padding-top: 1.25rem; font-size: 0.8rem; color: #8a8a8a; }
.mm-footer__bottom p { margin: 0; }

/* ------------------------------------------------------------------
   Panier, commande, formulaires
------------------------------------------------------------------ */
.mm-main--cart .wp-block-post-title { margin-top: var(--wp--preset--spacing--40); }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: var(--mm-radius-btn) !important; background: var(--mm-accent) !important; color: #fff !important; font-weight: 800 !important; min-height: 3.4rem;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--mm-ink) !important; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select { border-radius: var(--wp--custom--radius--input, 4px) !important; }
.mm-checkout-header { border-bottom: 1px solid var(--mm-line); }
.mm-main--checkout { padding-top: var(--wp--preset--spacing--40); }

/* ------------------------------------------------------------------
   Mobile
------------------------------------------------------------------ */
@media (max-width: 781px) {
	.mm-header__bar { gap: 0.75rem; }
	.mm-nav { flex: 0; order: -1; }
	.mm-hero__title { font-size: clamp(2.6rem, 11vw, 3.4rem) !important; }
	.mm-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.mm-hero .wp-block-button__link { width: 100%; text-align: center; }
	.mm-cats { grid-template-columns: repeat(2, 1fr) !important; gap: 0.75rem !important; }
	.mm-cat-card.wp-block-cover { padding: 1rem; }
	.mm-cat-card__title { font-size: 1rem; }
	.mm-products .wc-block-product-template { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem 0.75rem; }
	.mm-trust__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 2rem 1rem !important; }
	.mm-trust__icon { width: 48px; height: 48px; margin-bottom: 1rem; }
	.mm-product__info { position: static; }
	.single-product .mm-main { padding-bottom: 6rem; }
	.mm-footer__cols { gap: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ------------------------------------------------------------------
   Retouches après captures (v1.0.1)
------------------------------------------------------------------ */
.wp-site-blocks > main, .wp-site-blocks > .mm-main { margin-block-start: 0; }
.mm-product__media .wp-block-woocommerce-product-image-gallery,
.mm-product__media .woocommerce-product-gallery { width: 100% !important; max-width: none !important; float: none !important; }
.mm-product__media .woocommerce-product-gallery__image img { width: 100%; }
.mm-product__media span.onsale,
.single-product .wp-block-woocommerce-product-image-gallery span.onsale {
	position: absolute; top: 1rem; left: 1rem; z-index: 2; min-width: 0; min-height: 0; margin: 0;
	border-radius: var(--wp--custom--radius--pill, 100px) !important; background: var(--mm-accent) !important; color: #fff !important;
	font-size: 0.78rem !important; font-weight: 700; line-height: 1 !important; padding: 0.45rem 0.85rem !important;
}
.mm-product__media { position: relative; }
.mm-products .wc-block-components-product-button { align-items: stretch; }
.mm-products .wc-block-components-product-button__button { width: 100%; }
@media (max-width: 781px) {
	.mm-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(10,10,10,0.25) 0%, rgba(10,10,10,0.55) 45%, rgba(10,10,10,0.9) 100%) !important; opacity: 1 !important; }
	.mm-hero.wp-block-cover { align-items: flex-end; }
}
