/* ==========================================================================
   Magic Music: estilos del tema
   Azul del logo para el marco y la lectura, magenta del logo para comprar
   y para las ofertas. Producto sobre blanco, formas suaves, letra redonda.
   El sistema completo (tokens, componentes, reglas) está en DESIGN.md.
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. Fuentes autoalojadas (variables):
   Outfit para titulares, modelos, precios y botones (geométrica y redonda
   como las letras del logo); Figtree para leer.
   --------------------------------------------------------------------------- */
@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/outfit-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/outfit-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url("../fonts/figtree-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url("../fonts/figtree-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------------------------------------------------------------------------
   2. Tokens
   --------------------------------------------------------------------------- */
:root {
	/* Del Personalizador (se escriben en línea; estos son los del logo). */
	--mm-azul: #162779;
	--mm-magenta: #ff007a;

	/* Derivados: nunca se escriben a mano. */
	--mm-azul-hover: color-mix(in srgb, var(--mm-azul) 80%, #000);
	--mm-azul-vivo: color-mix(in srgb, var(--mm-azul) 62%, #5b7cff);
	--mm-azul-suave: color-mix(in srgb, var(--mm-azul) 6%, #fff);
	--mm-azul-suave-2: color-mix(in srgb, var(--mm-azul) 12%, #fff);
	--mm-azul-borde: color-mix(in srgb, var(--mm-azul) 22%, #fff);
	--mm-noche: color-mix(in srgb, var(--mm-azul) 56%, #050716);
	--mm-noche-2: color-mix(in srgb, var(--mm-azul) 76%, #050716);
	/* El magenta del logo con texto blanco no llega a AA: el de interfaz es más hondo. */
	--mm-magenta-ui: color-mix(in srgb, var(--mm-magenta) 86%, #000);
	--mm-magenta-hover: color-mix(in srgb, var(--mm-magenta) 72%, #000);
	--mm-magenta-suave: color-mix(in srgb, var(--mm-magenta) 7%, #fff);
	--mm-magenta-suave-2: color-mix(in srgb, var(--mm-magenta) 15%, #fff);

	/* Nombres que usa el resto de la hoja. */
	--mm-marca: var(--mm-azul);
	--mm-marca-hover: var(--mm-azul-hover);
	--mm-marca-vivo: var(--mm-azul-vivo);
	--mm-marca-suave: var(--mm-azul-suave);
	--mm-marca-suave-2: var(--mm-azul-suave-2);
	--mm-marca-borde: var(--mm-azul-borde);
	--mm-oferta: var(--mm-magenta-ui);
	--mm-oferta-suave: var(--mm-magenta-suave);
	--mm-tinta: var(--mm-noche);
	--mm-tinta-2: var(--mm-noche-2);
	--mm-tinta-3: color-mix(in srgb, var(--mm-azul) 70%, #fff);

	/* Neutros fríos, con un hilo del azul del logo. */
	--mm-texto: #11163a;
	--mm-texto-2: #4b5175;
	--mm-texto-3: #6e7393;
	--mm-fondo: #ffffff;
	--mm-fondo-2: #f4f5fa;
	--mm-fondo-3: #e9ebf5;
	--mm-borde: #e3e5ef;
	--mm-borde-fuerte: #c8ccdd;

	/* Estados. */
	--mm-exito: #0d7a43;
	--mm-exito-fondo: #e6f6ed;
	--mm-aviso: #8f5600;
	--mm-aviso-fondo: #fff4e0;
	--mm-error: #c41d3a;
	--mm-error-fondo: #fdecef;
	--mm-wa: #25d366;
	--mm-wa-texto: #0b7a3b;

	/* Forma: lo que se toca es píldora; las superficies, 20 px. */
	--mm-radio-sm: 8px;
	--mm-radio: 12px;
	--mm-radio-lg: 20px;
	--mm-radio-xl: 28px;
	--mm-pill: 999px;
	--mm-sombra-1: 0 1px 2px rgb(17 22 58 / 5%), 0 1px 3px rgb(17 22 58 / 6%);
	--mm-sombra-2: 0 14px 34px -14px rgb(17 22 58 / 24%), 0 2px 6px rgb(17 22 58 / 5%);
	--mm-sombra-3: 0 30px 70px -18px rgb(17 22 58 / 32%), 0 4px 14px rgb(17 22 58 / 7%);

	/* Letra. */
	--mm-fuente: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--mm-fuente-titulo: "Outfit", "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--mm-fs-xs: 0.75rem;
	--mm-fs-sm: 0.8125rem;
	--mm-fs-md: 0.875rem;
	--mm-fs-base: 1rem;
	--mm-fs-lg: 1.125rem;
	--mm-fs-xl: 1.375rem;
	--mm-fs-2xl: clamp(1.5rem, 1.15rem + 1.3vw, 2.125rem);
	--mm-fs-3xl: clamp(1.875rem, 1.3rem + 2.2vw, 3rem);
	--mm-fs-hero: clamp(2.25rem, 1.3rem + 3.4vw, 4.25rem);

	/* Espacio y medidas. */
	--mm-ancho: 1440px;
	--mm-margen: clamp(16px, 3.2vw, 40px);
	--mm-sec: clamp(44px, 5.5vw, 84px);
	--mm-cab-fija: 0px;
	--mm-curva: cubic-bezier(0.2, 0.8, 0.2, 1);
	--mm-curva-salida: cubic-bezier(0.4, 0, 1, 1);

	/* Las variables de WooCommerce, con los colores del tema. */
	--wc-primary: var(--mm-magenta-ui);
	--wc-primary-text: #fff;
	--wc-secondary: var(--mm-fondo-2);
	--wc-secondary-text: var(--mm-texto);
	--wc-highlight: var(--mm-oferta);
	--wc-green: var(--mm-exito);
	--wc-red: var(--mm-error);
	--wc-destructive: var(--mm-error);
	--wc-subtext: var(--mm-texto-2);
	--wc-form-border-color: var(--mm-borde-fuerte);
	--wc-form-border-radius: var(--mm-radio);
	--wc-form-border-width: 1.5px;
	--wc-card-border-radius: var(--mm-radio-lg);
}

/* ---------------------------------------------------------------------------
   3. Base
   --------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	overflow-x: clip;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--mm-cab-fija) + 16px);
}

body {
	margin: 0;
	background: var(--mm-fondo);
	color: var(--mm-texto);
	font-family: var(--mm-fuente);
	font-size: var(--mm-fs-base);
	line-height: 1.6;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: middle;
}

a {
	color: var(--mm-marca);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--mm-marca-hover);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.5em;
	color: var(--mm-texto);
	font-weight: 650;
	font-family: var(--mm-fuente-titulo);
	line-height: 1.15;
	letter-spacing: -0.012em;
	text-wrap: balance;
}

p {
	margin: 0 0 1em;
	text-wrap: pretty;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
}

:focus-visible {
	outline: 2px solid var(--mm-marca-vivo);
	outline-offset: 2px;
}

::selection {
	background: var(--mm-marca-suave-2);
	color: var(--mm-texto);
}

.screen-reader-text,
.mm-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mm-saltar {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 1000;
	padding: 10px 16px;
	background: var(--mm-tinta);
	color: #fff;
	border-radius: var(--mm-radio);
	transform: translateY(-160%);
	transition: transform 0.2s var(--mm-curva);
}

.mm-saltar:focus {
	transform: none;
	color: #fff;
}

.mm-icon {
	width: 1.25em;
	height: 1.25em;
	flex: none;
	display: inline-block;
	vertical-align: middle;
}

.mm-contenedor {
	width: 100%;
	max-width: var(--mm-ancho);
	margin-inline: auto;
	padding-inline: var(--mm-margen);
}

.mm-main {
	display: block;
	min-height: 40vh;
	outline: 0;
}

[hidden] {
	display: none !important;
}

.mm-solo-movil {
	display: none;
}

@media (max-width: 1023px) {
	.mm-solo-movil {
		display: inline-grid;
	}
}

/* ---------------------------------------------------------------------------
   4. Botones: píldoras. El relleno magenta es comprar (uno por pantalla);
   el azul relleno es la acción secundaria fuerte; el resto, borde.
   --------------------------------------------------------------------------- */
.mm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 24px;
	border: 1.5px solid transparent;
	border-radius: var(--mm-pill);
	font-family: var(--mm-fuente-titulo);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.18s var(--mm-curva), border-color 0.18s var(--mm-curva), color 0.18s var(--mm-curva), transform 0.12s var(--mm-curva);
	-webkit-tap-highlight-color: transparent;
}

.mm-btn:active {
	transform: scale(0.98);
}

.mm-btn .mm-icon {
	width: 18px;
	height: 18px;
}

.mm-btn-sm {
	min-height: 38px;
	padding: 8px 14px;
	font-size: var(--mm-fs-sm);
}

.mm-btn-primario {
	background: var(--mm-magenta-ui);
	color: #fff;
	box-shadow: 0 8px 20px -10px color-mix(in srgb, var(--mm-magenta) 70%, transparent);
}

.mm-btn-primario:hover {
	background: var(--mm-magenta-hover);
	color: #fff;
}

.mm-btn-azul {
	background: var(--mm-azul);
	color: #fff;
}

.mm-btn-azul:hover {
	background: var(--mm-azul-hover);
	color: #fff;
}

.mm-btn-borde {
	background: #fff;
	border-color: var(--mm-borde-fuerte);
	color: var(--mm-texto);
}

.mm-btn-borde:hover {
	border-color: var(--mm-azul);
	background: var(--mm-azul-suave);
	color: var(--mm-azul);
}

.mm-btn-claro {
	background: #fff;
	color: var(--mm-tinta);
}

.mm-btn-claro:hover {
	background: var(--mm-marca-suave);
	color: var(--mm-marca);
}

.mm-btn-borde-claro {
	border-color: rgb(255 255 255 / 45%);
	color: #fff;
}

.mm-btn-borde-claro:hover {
	border-color: #fff;
	background: rgb(255 255 255 / 10%);
	color: #fff;
}

.mm-btn-wa {
	background: var(--mm-wa);
	color: #06331a;
}

.mm-btn-wa:hover {
	background: #1fbd5a;
	color: #06331a;
}

.mm-btn-wa-borde {
	background: #fff;
	border-color: color-mix(in srgb, var(--mm-wa) 55%, #fff);
	color: var(--mm-wa-texto);
}

.mm-btn-wa-borde:hover {
	background: color-mix(in srgb, var(--mm-wa) 8%, #fff);
	border-color: var(--mm-wa);
	color: var(--mm-wa-texto);
}

.mm-btn-wa-borde .mm-icon,
.mm-btn-wa .mm-icon {
	color: inherit;
}

.mm-enlace-flecha {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--mm-marca);
	font-size: var(--mm-fs-md);
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.mm-enlace-flecha .mm-icon {
	width: 16px;
	height: 16px;
	transition: transform 0.2s var(--mm-curva);
}

.mm-enlace-flecha:hover .mm-icon-arrow {
	transform: translateX(3px);
}

.mm-icon-btn {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--mm-pill);
	background: transparent;
	color: var(--mm-texto);
	-webkit-tap-highlight-color: transparent;
}

.mm-icon-btn:hover {
	background: var(--mm-fondo-2);
}

.mm-icon-btn .mm-icon {
	width: 24px;
	height: 24px;
}

.mm-sobretitulo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-sm);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--mm-magenta-ui);
}

/* ---------------------------------------------------------------------------
   5. Formularios
   --------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1.5px solid var(--mm-borde-fuerte);
	border-radius: var(--mm-radio);
	background: #fff;
	color: var(--mm-texto);
	font-size: 16px; /* iOS no hace zoom con 16 px. */
	line-height: 1.4;
	transition: border-color 0.15s, box-shadow 0.15s;
	-webkit-appearance: none;
	appearance: none;
}

textarea {
	min-height: 120px;
	resize: vertical;
}

select {
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23545c72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
}

input:hover,
select:hover,
textarea:hover {
	border-color: var(--mm-texto-3);
}

input:focus,
select:focus,
textarea:focus,
.mm-main .form-row :is(input, select, textarea):focus {
	outline: 0;
	border-color: var(--mm-marca);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mm-marca) 18%, transparent);
}

input[type="checkbox"],
input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: var(--mm-marca);
	vertical-align: -3px;
}

label {
	font-size: var(--mm-fs-md);
	font-weight: 550;
}

::placeholder {
	color: var(--mm-texto-3);
	opacity: 1;
}

/* ---------------------------------------------------------------------------
   6. Cabecera
   --------------------------------------------------------------------------- */
.mm-cabecera {
	position: relative;
	z-index: 60;
	background: #fff;
}

.mm-cabecera-fija .mm-cabecera {
	position: sticky;
	top: 0;
}

/* Al bajar, la barra superior se va y queda logo + buscador + menú. */
.mm-cabecera.is-compacta .mm-barra {
	display: none;
}

.mm-cabecera.is-compacta {
	box-shadow: 0 10px 30px -18px rgb(17 22 58 / 40%);
}

/* Al bajar, la fila de navegación también se recoge: queda logo + buscador + carrito. */
.mm-cabecera.is-compacta .mm-nav {
	display: none;
}

.admin-bar.mm-cabecera-fija .mm-cabecera {
	top: var(--wp-admin--admin-bar--height, 32px);
}

/* Barra superior */
.mm-barra {
	background: var(--mm-noche);
	color: rgb(255 255 255 / 88%);
	font-size: var(--mm-fs-sm);
}

.mm-barra-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 40px;
}

.mm-barra-mensajes {
	display: flex;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
	overflow: hidden;
}

.mm-barra-mensajes li {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.mm-barra-mensajes .mm-icon {
	width: 16px;
	height: 16px;
	color: color-mix(in srgb, var(--mm-magenta) 70%, #fff);
}

.mm-barra-tienda {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgb(255 255 255 / 88%);
	text-decoration: none;
	white-space: nowrap;
}

a.mm-barra-tienda:hover {
	color: #fff;
	text-decoration: underline;
}

.mm-barra-tienda .mm-icon {
	width: 16px;
	height: 16px;
	color: color-mix(in srgb, var(--mm-magenta) 70%, #fff);
}

.mm-barra-der {
	display: flex;
	align-items: center;
	gap: 20px;
	flex: none;
}

.mm-barra-lista {
	display: flex;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-barra-lista a {
	color: rgb(255 255 255 / 86%);
	text-decoration: none;
}

.mm-barra-lista a:hover {
	color: #fff;
	text-decoration: underline;
}

/* Fila principal */
.mm-principal-in {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	grid-template-areas: "logo busca ayuda acciones";
	align-items: center;
	gap: 28px;
	min-height: 80px;
	padding-block: 12px;
	transition: min-height 0.25s var(--mm-curva);
}

.mm-cabecera.is-compacta .mm-principal-in {
	min-height: 68px;
	padding-block: 8px;
}

.mm-abrir-menu {
	display: none;
	grid-area: menu;
}

.mm-logo {
	grid-area: logo;
	display: block;
	line-height: 0;
}

.mm-logo .mm-logo-img {
	display: block;
	width: auto;
	height: 44px;
	transition: height 0.25s var(--mm-curva);
}

.mm-cabecera.is-compacta .mm-logo .mm-logo-img {
	height: 38px;
}

/* Buscador */
.mm-busca {
	position: relative;
	display: flex;
	align-items: center;
	grid-area: busca;
	width: 100%;
	max-width: 760px;
	justify-self: center;
	background: var(--mm-fondo-2);
	border: 1.5px solid var(--mm-borde);
	border-radius: var(--mm-pill);
	transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s;
}

.mm-busca:hover {
	border-color: var(--mm-borde-fuerte);
}

.mm-busca:focus-within {
	background: #fff;
	border-color: var(--mm-azul);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--mm-azul) 12%, transparent);
}

.mm-busca-icono {
	display: grid;
	place-items: center;
	padding-left: 18px;
	color: var(--mm-texto-3);
}

.mm-busca-icono .mm-icon {
	width: 20px;
	height: 20px;
}

.mm-busca .mm-busca-campo {
	flex: 1;
	min-width: 0;
	min-height: 48px;
	padding: 10px 12px;
	border: 0;
	background: transparent;
	box-shadow: none;
	font-size: 16px;
}

.mm-busca .mm-busca-campo:focus {
	box-shadow: none;
}

.mm-busca-campo::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.mm-busca-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 4px;
	padding: 0 22px;
	min-height: 42px;
	border: 0;
	border-radius: var(--mm-pill);
	background: var(--mm-azul);
	color: #fff;
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-md);
	font-weight: 600;
	transition: background-color 0.15s, transform 0.12s var(--mm-curva);
}

.mm-busca-btn:hover {
	background: var(--mm-azul-hover);
}

.mm-busca-btn:active {
	transform: scale(0.97);
}

.mm-busca-btn .mm-icon {
	display: none;
	width: 20px;
	height: 20px;
}

/* Resultados en vivo */
.mm-busca-res {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 80;
	max-height: min(70vh, 640px);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	box-shadow: var(--mm-sombra-3);
	padding: 8px;
	animation: mm-aparecer 0.18s var(--mm-curva);
}

.mm-busca-grupo {
	margin: 0;
	padding: 6px 0;
	list-style: none;
}

.mm-busca-grupo + .mm-busca-grupo {
	border-top: 1px solid var(--mm-borde);
}

.mm-busca-etiqueta {
	padding: 6px 12px 4px;
	font-size: var(--mm-fs-xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mm-texto-3);
}

.mm-busca-item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 8px 12px;
	border-radius: var(--mm-radio);
	color: var(--mm-texto);
	text-decoration: none;
}

.mm-busca-item:hover,
.mm-busca-item.is-activo {
	background: var(--mm-marca-suave);
	color: var(--mm-texto);
}

.mm-busca-item img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	border-radius: var(--mm-radio-sm);
	background: #fff;
	border: 1px solid var(--mm-borde);
}

.mm-busca-item-texto {
	min-width: 0;
	font-size: var(--mm-fs-md);
	line-height: 1.35;
}

.mm-busca-item-texto .mm-modelo {
	display: block;
}

.mm-busca-item-texto .mm-desc {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--mm-texto-2);
}

.mm-busca-item-meta {
	display: block;
	font-size: var(--mm-fs-xs);
	color: var(--mm-texto-3);
}

.mm-busca-item-precio {
	font-size: var(--mm-fs-md);
	font-weight: 700;
	white-space: nowrap;
	text-align: right;
}

.mm-busca-item-precio del {
	display: block;
	font-size: var(--mm-fs-xs);
	font-weight: 400;
	color: var(--mm-texto-3);
}

.mm-busca-item-precio ins {
	text-decoration: none;
	color: var(--mm-oferta);
}

.mm-busca-cat {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 12px;
	border-radius: var(--mm-radio);
	color: var(--mm-texto);
	font-size: var(--mm-fs-md);
	text-decoration: none;
}

.mm-busca-cat:hover,
.mm-busca-cat.is-activo {
	background: var(--mm-marca-suave);
	color: var(--mm-marca);
}

.mm-busca-cat span {
	color: var(--mm-texto-3);
}

.mm-busca-todos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 6px;
	padding: 12px;
	border-radius: var(--mm-radio);
	background: var(--mm-fondo-2);
	color: var(--mm-marca);
	font-size: var(--mm-fs-md);
	font-weight: 650;
	text-decoration: none;
}

.mm-busca-todos:hover,
.mm-busca-todos.is-activo {
	background: var(--mm-marca-suave-2);
}

.mm-busca-msj {
	padding: 18px 14px;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
	text-align: center;
}

/* Ayuda por WhatsApp */
.mm-ayuda {
	grid-area: ayuda;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--mm-texto);
	text-decoration: none;
	white-space: nowrap;
}

.mm-ayuda-icono {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--mm-wa) 14%, #fff);
	color: var(--mm-wa-texto);
}

.mm-ayuda-icono .mm-icon {
	width: 22px;
	height: 22px;
}

.mm-ayuda-texto {
	display: grid;
	line-height: 1.2;
}

.mm-ayuda-texto small,
.mm-accion-texto small {
	font-size: var(--mm-fs-xs);
	color: var(--mm-texto-2);
}

.mm-ayuda-texto strong {
	font-size: var(--mm-fs-base);
	font-weight: 650;
	font-family: var(--mm-fuente-titulo);
	letter-spacing: 0.01em;
}

.mm-ayuda:hover {
	color: var(--mm-texto);
}

.mm-ayuda:hover .mm-ayuda-icono {
	background: var(--mm-wa);
	color: #06331a;
}

/* Cuenta, favoritos, carrito */
.mm-acciones {
	grid-area: acciones;
	display: flex;
	align-items: center;
	gap: 6px;
}

.mm-accion {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 6px 12px;
	border-radius: var(--mm-pill);
	color: var(--mm-texto);
	text-decoration: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
}

.mm-accion:hover {
	background: var(--mm-fondo-2);
	color: var(--mm-texto);
}

.mm-accion > .mm-icon,
.mm-carrito-in > .mm-icon {
	width: 26px;
	height: 26px;
}

.mm-accion-texto {
	display: grid;
	line-height: 1.2;
}

.mm-accion-texto strong {
	font-size: var(--mm-fs-md);
	font-weight: 650;
}

.mm-carrito-in {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}

.mm-accion-carrito {
	padding: 6px 18px 6px 14px;
	background: var(--mm-azul);
	color: #fff;
}

.mm-accion-carrito:hover {
	background: var(--mm-marca-hover);
	color: #fff;
}

.mm-accion-carrito .mm-accion-texto small {
	color: rgb(255 255 255 / 78%);
}

.mm-contador {
	position: absolute;
	top: -6px;
	left: 16px;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border: 2px solid #fff;
	border-radius: var(--mm-pill);
	background: var(--mm-magenta-ui);
	color: #fff;
	font-size: 11px;
	font-weight: 650;
	line-height: 1;
}

.mm-accion-favs .mm-contador {
	top: 2px;
	left: 26px;
}

.mm-contador.is-latido {
	animation: mm-latido 0.45s var(--mm-curva);
}

/* Fila de navegación: blanca, con el botón de categorías en azul. */
.mm-nav {
	background: #fff;
	border-top: 1px solid var(--mm-borde);
	border-bottom: 1px solid var(--mm-borde);
	color: var(--mm-texto);
}

.mm-nav-in {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 56px;
}

.mm-nav-menu {
	display: flex;
	align-items: stretch;
	align-self: stretch;
	min-width: 0;
	flex: 1;
}

.mm-nav-lista {
	display: flex;
	align-items: stretch;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-nav-menu .mm-nav-lista > li {
	position: relative;
	display: flex;
	align-items: center;
}

.mm-nav-menu .mm-nav-lista > li > a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 40px;
	padding: 0 14px;
	border-radius: var(--mm-pill);
	color: var(--mm-texto);
	font-family: var(--mm-fuente-titulo);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s, color 0.15s;
}

.mm-nav-menu .mm-nav-lista > li > a:hover,
.mm-nav-menu .mm-nav-lista > li:focus-within > a {
	background: var(--mm-fondo-2);
	color: var(--mm-azul);
}

.mm-nav-menu .mm-nav-lista > li.current-menu-item > a {
	color: var(--mm-azul);
	font-weight: 600;
}

.mm-nav-menu .mm-nav-lista > li > a .mm-icon {
	width: 16px;
	height: 16px;
	opacity: 0.7;
}

/* Un elemento del menú con la clase «mm-destacado» sale como pastilla magenta. */
.mm-nav-menu .mm-nav-lista > li.mm-destacado > a {
	margin-inline: 4px;
	background: var(--mm-magenta-suave);
	color: var(--mm-magenta-ui);
	font-weight: 600;
}

.mm-nav-menu .mm-nav-lista > li.mm-destacado > a:hover {
	background: var(--mm-magenta-ui);
	color: #fff;
}

.mm-nav-menu .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 70;
	min-width: 240px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	box-shadow: var(--mm-sombra-3);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.16s var(--mm-curva), transform 0.16s var(--mm-curva), visibility 0.16s;
}

/* Puente invisible para no perder el hover al bajar al submenú. */
.mm-nav-menu .sub-menu::before {
	content: "";
	position: absolute;
	inset: -8px 0 auto;
	height: 8px;
}

.mm-nav-menu li:hover > .sub-menu,
.mm-nav-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.mm-nav-menu .sub-menu a {
	display: block;
	padding: 9px 12px;
	border-radius: var(--mm-radio);
	color: var(--mm-texto);
	font-size: var(--mm-fs-md);
	text-decoration: none;
}

.mm-nav-menu .sub-menu a:hover {
	background: var(--mm-azul-suave);
	color: var(--mm-azul);
}

.mm-nav-asesor {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	padding: 0 4px 0 14px;
	color: var(--mm-azul);
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-md);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.mm-nav-asesor:hover {
	color: var(--mm-magenta-ui);
}

.mm-nav-asesor .mm-icon {
	width: 18px;
	height: 18px;
	color: var(--mm-magenta-ui);
}

/* Departamentos (mega menú) */
.mm-depto {
	display: flex;
}

.mm-depto-btn {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 0 18px 0 16px;
	border: 0;
	border-radius: var(--mm-pill);
	background: var(--mm-azul);
	color: #fff;
	font-family: var(--mm-fuente-titulo);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	transition: background-color 0.15s, transform 0.12s var(--mm-curva);
}

.mm-depto-btn:hover,
.mm-depto.is-abierto .mm-depto-btn {
	background: var(--mm-azul-hover);
}

.mm-depto-btn:active {
	transform: scale(0.98);
}

.mm-depto-btn .mm-icon {
	width: 20px;
	height: 20px;
}

.mm-depto-btn .mm-depto-flecha {
	width: 16px;
	height: 16px;
	margin-left: 2px;
	transition: transform 0.2s var(--mm-curva);
}

.mm-depto.is-abierto .mm-depto-flecha {
	transform: rotate(180deg);
}

.mm-depto-panel {
	position: absolute;
	top: calc(100% + 1px);
	left: var(--mm-margen);
	right: var(--mm-margen);
	z-index: 75;
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	min-height: 480px;
	max-height: calc(100vh - var(--mm-cab-fija) - 24px);
	background: #fff;
	color: var(--mm-texto);
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	box-shadow: var(--mm-sombra-3);
	overflow: hidden;
	animation: mm-aparecer 0.18s var(--mm-curva);
}

.mm-depto-lista {
	position: static;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: var(--mm-fondo-2);
	border-right: 1px solid var(--mm-borde);
	overflow-y: auto;
}

.mm-depto-enlace {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px;
	border-radius: var(--mm-radio);
	color: var(--mm-texto);
	font-size: var(--mm-fs-md);
	font-weight: 550;
	text-decoration: none;
}

.mm-depto-enlace span {
	flex: 1;
}

.mm-depto-enlace .mm-icon {
	width: 16px;
	height: 16px;
	color: var(--mm-texto-3);
}

.mm-depto-enlace .mm-depto-img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.mm-depto-item.is-activo > .mm-depto-enlace {
	background: #fff;
	box-shadow: var(--mm-sombra-1);
	color: var(--mm-azul);
	font-weight: 650;
}

.mm-depto-item.is-activo > .mm-depto-enlace .mm-icon {
	color: var(--mm-marca);
}

.mm-depto-sub {
	display: none;
	position: absolute;
	top: 0;
	left: 290px;
	right: 0;
	bottom: 0;
	padding: 28px 34px;
	overflow-y: auto;
}

.mm-depto-item.is-activo > .mm-depto-sub {
	display: block;
}

.mm-depto-sub-cab {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--mm-borde);
}

.mm-depto-sub-titulo {
	margin: 0;
	font-size: var(--mm-fs-xl);
	font-weight: 650;
	font-family: var(--mm-fuente-titulo);
}

.mm-depto-cols {
	columns: 3 200px;
	column-gap: 32px;
}

.mm-depto-col {
	break-inside: avoid;
	margin-bottom: 20px;
}

.mm-depto-col-titulo {
	display: block;
	margin-bottom: 6px;
	color: var(--mm-texto);
	font-size: var(--mm-fs-md);
	font-weight: 700;
	text-decoration: none;
}

.mm-depto-col-titulo:hover {
	color: var(--mm-marca);
}

.mm-depto-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-depto-col li a {
	display: block;
	padding: 3px 0;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
	text-decoration: none;
}

.mm-depto-col li a:hover {
	color: var(--mm-marca);
	text-decoration: underline;
}

/* Cabecera en el pago: solo logo, compra segura y volver */
.mm-pago-cab {
	display: none;
}

.mm-pago-limpio .mm-barra,
.mm-pago-limpio .mm-nav,
.mm-pago-limpio .mm-busca,
.mm-pago-limpio .mm-ayuda,
.mm-pago-limpio .mm-acciones,
.mm-pago-limpio .mm-abrir-menu,
.mm-pago-limpio .mm-boletin {
	display: none;
}

.mm-pago-limpio .mm-principal-in {
	grid-template-columns: auto 1fr;
	grid-template-areas: "logo pago";
	border-bottom: 1px solid var(--mm-borde);
}

.mm-pago-limpio .mm-pago-cab {
	grid-area: pago;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
}

.mm-pago-seguro {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mm-exito);
	font-size: var(--mm-fs-md);
	font-weight: 650;
}

/* ---------------------------------------------------------------------------
   7. Cajones (menú del teléfono, filtros, carrito)
   --------------------------------------------------------------------------- */
.mm-cajon {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
}

.mm-cajon-der {
	justify-content: flex-end;
}

.mm-cajon-velo {
	position: absolute;
	inset: 0;
	background: rgb(10 15 44 / 50%);
	opacity: 0;
	transition: opacity 0.28s var(--mm-curva);
}

.mm-cajon-caja {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(420px, 92vw);
	height: 100%;
	background: #fff;
	box-shadow: var(--mm-sombra-3);
	transform: translateX(-102%);
	transition: transform 0.32s var(--mm-curva);
}

.mm-cajon-der .mm-cajon-caja {
	transform: translateX(102%);
}

.mm-cajon.is-abierto .mm-cajon-velo {
	opacity: 1;
}

.mm-cajon.is-abierto .mm-cajon-caja {
	transform: none;
}

.mm-cajon-cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 12px 12px 20px;
	border-bottom: 1px solid var(--mm-borde);
}

.mm-cajon-titulo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: var(--mm-fs-lg);
	font-weight: 650;
	font-family: var(--mm-fuente-titulo);
}

.mm-cajon-cuerpo {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.mm-cajon-pie {
	padding: 14px 20px calc(14px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--mm-borde);
	background: var(--mm-fondo-2);
}

.mm-logo-cajon.mm-logo .mm-logo-img {
	height: 40px;
}

body.mm-sin-scroll {
	overflow: hidden;
}

/* Menú del teléfono */
.mm-movil-pestanas {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 0 12px;
	border-bottom: 1px solid var(--mm-borde);
}

.mm-movil-pestanas button {
	padding: 14px 8px;
	border: 0;
	border-bottom: 3px solid transparent;
	background: none;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
	font-weight: 650;
}

.mm-movil-pestanas button.is-activa {
	border-bottom-color: var(--mm-marca);
	color: var(--mm-marca);
}

.mm-movil-arbol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-movil-nivel-0 > li {
	border-bottom: 1px solid var(--mm-borde);
}

.mm-movil-fila {
	display: flex;
	align-items: center;
}

.mm-movil-fila a {
	flex: 1;
	padding: 14px 20px;
	color: var(--mm-texto);
	font-size: var(--mm-fs-base);
	font-weight: 600;
	text-decoration: none;
}

.mm-movil-nivel-1 .mm-movil-fila a {
	padding: 11px 20px 11px 32px;
	font-size: var(--mm-fs-md);
	font-weight: 550;
}

.mm-movil-nivel-2 .mm-movil-fila a {
	padding: 9px 20px 9px 44px;
	font-size: var(--mm-fs-md);
	font-weight: 400;
	color: var(--mm-texto-2);
}

.mm-movil-abrir {
	display: grid;
	place-items: center;
	width: 52px;
	height: 48px;
	border: 0;
	border-left: 1px solid var(--mm-borde);
	background: none;
	color: var(--mm-texto-2);
}

.mm-movil-abrir .mm-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.2s var(--mm-curva);
}

.mm-movil-abrir[aria-expanded="true"] .mm-icon {
	transform: rotate(180deg);
}

.mm-movil-sub {
	background: var(--mm-fondo-2);
}

.mm-movil-menu .mm-nav-lista {
	flex-direction: column;
	gap: 0;
}

.mm-movil-menu .mm-nav-lista a {
	display: flex;
	padding: 14px 20px;
	border-bottom: 1px solid var(--mm-borde);
	color: var(--mm-texto);
	font-weight: 600;
	text-decoration: none;
}

.mm-movil-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--mm-fondo-2);
}

.mm-movil-menu .sub-menu a {
	padding-left: 32px;
	font-weight: 500;
}

.mm-movil-menu .mm-icon-down {
	display: none;
}

.mm-movil-menu-ayuda a {
	font-weight: 500 !important;
	color: var(--mm-texto-2) !important;
}

.mm-movil-cuenta,
.mm-movil-wa {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	color: var(--mm-texto);
	font-weight: 600;
	text-decoration: none;
}

.mm-movil-wa {
	color: var(--mm-wa-texto);
}

/* ---------------------------------------------------------------------------
   8. Moneda (WooCommerce Multi Currency)
   --------------------------------------------------------------------------- */
/* El panel flotante del plugin sobra cuando el tema pinta el selector. */
.mm-con-moneda .wmc-sidebar {
	display: none !important;
}

.mm-moneda {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mm-moneda-etiqueta {
	font-size: var(--mm-fs-xs);
	opacity: 0.75;
	white-space: nowrap;
}

.mm-moneda :is(.woocommerce-multi-currency, .woo-multi-currency),
.mm-moneda .wmc-currency-wrapper {
	align-items: center;
	display: flex !important;
	gap: 2px;
	margin: 0 !important;
	padding: 2px !important;
	background: transparent !important;
	border-radius: var(--mm-pill);
}

.mm-moneda-cabecera :is(.woocommerce-multi-currency, .woo-multi-currency) {
	background: rgb(255 255 255 / 10%) !important;
}

.mm-moneda .wmc-currency {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.mm-moneda .wmc-currency a {
	display: block;
	padding: 3px 12px !important;
	border-radius: var(--mm-pill);
	color: inherit !important;
	font-size: var(--mm-fs-xs) !important;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	background: transparent !important;
}

.mm-moneda-cabecera .wmc-currency a {
	color: rgb(255 255 255 / 80%) !important;
}

.mm-moneda .wmc-currency.wmc-active a,
.mm-moneda .wmc-currency a.wmc-active,
.mm-moneda .wmc-currency.is-mm-actual a {
	background: #fff !important;
	color: var(--mm-tinta) !important;
}

.mm-moneda-menu,
.mm-moneda-pago {
	justify-content: space-between;
	padding: 10px 0;
	color: var(--mm-texto);
}

.mm-moneda-menu :is(.woocommerce-multi-currency, .woo-multi-currency),
.mm-moneda-pago :is(.woocommerce-multi-currency, .woo-multi-currency) {
	background: var(--mm-fondo-3) !important;
}

.mm-moneda-menu .wmc-currency.wmc-active a,
.mm-moneda-pago .wmc-currency.wmc-active a,
.mm-moneda-menu .wmc-currency.is-mm-actual a,
.mm-moneda-pago .wmc-currency.is-mm-actual a {
	background: var(--mm-marca) !important;
	color: #fff !important;
}

.mm-moneda-pago {
	margin-bottom: 20px;
	padding: 12px 16px;
	border: 1px solid var(--mm-marca-borde);
	border-radius: var(--mm-radio);
	background: var(--mm-marca-suave);
	font-size: var(--mm-fs-md);
}

.mm-moneda-pago p {
	margin: 0;
}

.mm-moneda-movil {
	position: relative;
	display: none;
}

.mm-moneda-movil-btn {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	min-height: 44px;
	padding: 0 6px;
	border: 0;
	background: none;
	font-size: var(--mm-fs-sm);
	font-weight: 650;
}

.mm-moneda-movil-btn .mm-icon {
	width: 14px;
	height: 14px;
}

.mm-moneda-movil-panel {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 90;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio);
	box-shadow: var(--mm-sombra-3);
	white-space: nowrap;
}

.mm-moneda-movil-panel p {
	margin: 0 0 8px;
	font-size: var(--mm-fs-xs);
	color: var(--mm-texto-2);
}

.mm-moneda-movil-panel :is(.woocommerce-multi-currency, .woo-multi-currency) {
	display: flex !important;
	gap: 4px;
}

.mm-moneda-movil-panel .wmc-currency a {
	display: block;
	padding: 8px 14px !important;
	border: 1px solid var(--mm-borde) !important;
	border-radius: var(--mm-radio-sm);
	color: var(--mm-texto) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.mm-moneda-movil-panel .wmc-currency.wmc-active a,
.mm-moneda-movil-panel .wmc-currency.is-mm-actual a {
	border-color: var(--mm-marca) !important;
	background: var(--mm-marca-suave) !important;
	color: var(--mm-marca) !important;
}

/* ---------------------------------------------------------------------------
   9. Portada
   --------------------------------------------------------------------------- */

/* Portada principal: un marco redondeado dentro del contenedor. Las
   diapositivas armadas (texto + producto) y los banners 1920 × 600 comparten
   la misma proporción, así el marco no salta al cambiar. */
.mm-hero {
	padding-top: 20px;
}

.mm-hero-marco {
	position: relative;
	overflow: hidden;
	border-radius: var(--mm-radio-xl);
	background: var(--mm-fondo-2);
	isolation: isolate;
}

.mm-hero-pista {
	position: relative;
	display: grid;
}

.mm-hero-slide {
	grid-area: 1 / 1;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.6s var(--mm-curva), visibility 0.6s;
}

.mm-hero-slide.is-activa {
	visibility: visible;
	opacity: 1;
	z-index: 1;
}

.mm-hero-banner {
	position: relative;
	overflow: hidden;
	background: var(--mm-noche);
}

.mm-hero-banner .mm-hero-enlace {
	display: block;
	height: 100%;
}

.mm-hero-banner-fondo {
	position: absolute;
	inset: -40px;
	background-position: center;
	background-size: cover;
	filter: blur(28px) saturate(1.15);
	opacity: 0.85;
}

.mm-hero-banner picture {
	position: relative;
	display: grid;
	place-items: center;
	height: 100%;
}

/* Entero siempre: el marco tiene la proporción del banner en pantallas
   grandes y, si no, el fondo desenfocado rellena lo que sobra. */
.mm-hero-img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1920 / 600;
	object-fit: contain;
}

.mm-hero-banner picture:has(source) .mm-hero-img {
	object-fit: cover;
}

/* Diapositiva armada */
.mm-armada {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	height: 100%;
	/* La altura de un banner de 1920 × 600 a lo ancho del contenedor. */
	min-height: max(380px, calc((min(100vw, var(--mm-ancho)) - 2 * var(--mm-margen)) / 3.2));
	padding: clamp(28px, 2.8vw, 40px) clamp(28px, 5vw, 76px);
	overflow: hidden;
}

/* Fondos: la luz magenta detrás del producto viene del cuadrado del logo. */
.mm-fondo-claro {
	background:
		radial-gradient(60% 80% at 78% 50%, color-mix(in srgb, var(--mm-magenta) 10%, transparent), transparent 70%),
		linear-gradient(120deg, #f6f7fc 0%, color-mix(in srgb, var(--mm-azul) 9%, #fff) 100%);
}

.mm-fondo-rosa {
	background:
		radial-gradient(55% 75% at 76% 52%, rgb(255 255 255 / 75%), transparent 72%),
		linear-gradient(120deg, color-mix(in srgb, var(--mm-magenta) 9%, #fff) 0%, color-mix(in srgb, var(--mm-magenta) 18%, #fff) 100%);
}

.mm-fondo-azul {
	background:
		radial-gradient(55% 80% at 78% 50%, color-mix(in srgb, var(--mm-magenta) 30%, transparent), transparent 70%),
		linear-gradient(120deg, var(--mm-noche) 0%, var(--mm-azul) 100%);
	color: #fff;
}

.mm-armada-texto {
	position: relative;
	z-index: 1;
	max-width: 560px;
}

.mm-armada-titulo {
	margin: 0 0 14px;
	color: var(--mm-texto);
	font-size: min(var(--mm-fs-hero), 3.75rem);
	font-weight: 650;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.mm-armada-bajada {
	max-width: 46ch;
	margin: 0 0 24px;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-lg);
	line-height: 1.55;
}

.mm-fondo-azul .mm-armada-titulo {
	color: #fff;
}

.mm-fondo-azul .mm-armada-bajada {
	color: rgb(255 255 255 / 80%);
}

.mm-fondo-azul .mm-sobretitulo {
	color: color-mix(in srgb, var(--mm-magenta) 55%, #fff);
}

.mm-armada .mm-btn {
	min-height: 52px;
	padding-inline: 26px;
}

.mm-armada .mm-btn .mm-icon {
	transition: transform 0.2s var(--mm-curva);
}

.mm-armada .mm-btn:hover .mm-icon {
	transform: translateX(3px);
}

.mm-armada-foto {
	position: relative;
	display: grid;
	place-items: center;
	height: 100%;
	min-height: 0;
}

/* Las fotos de la tienda vienen con fondo blanco: «multiply» lo funde con el
   fondo claro o rosa. Sobre azul se necesita PNG sin fondo. */
.mm-armada-foto img {
	width: auto;
	max-width: 100%;
	max-height: clamp(240px, 23vw, 340px);
	object-fit: contain;
	mix-blend-mode: multiply;
	transform: translateY(8px) scale(0.97);
	opacity: 0;
	transition: transform 0.9s var(--mm-curva) 0.1s, opacity 0.6s var(--mm-curva) 0.1s;
}

.mm-fondo-azul .mm-armada-foto img {
	mix-blend-mode: normal;
	filter: drop-shadow(0 30px 40px rgb(0 0 0 / 35%));
}

.mm-hero-slide.is-activa .mm-armada-foto img {
	transform: none;
	opacity: 1;
}

/* Sin diapositivas: tres productos escalonados. */
.mm-armada-trio {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: end;
	gap: 8px;
}

.mm-armada-trio img {
	max-height: 280px;
	opacity: 1;
	transform: none;
}

.mm-armada-trio .mm-trio-2 {
	max-height: 340px;
}

/* Controles: una sola píldora abajo a la derecha. */
.mm-hero-controles {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 4px;
	border-radius: var(--mm-pill);
	background: rgb(255 255 255 / 82%);
	box-shadow: var(--mm-sombra-1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.mm-hero-flecha,
.mm-hero-pausa {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--mm-texto);
	transition: background-color 0.15s;
}

.mm-hero-flecha:hover,
.mm-hero-pausa:hover {
	background: var(--mm-fondo-3);
}

.mm-hero-flecha .mm-icon {
	width: 18px;
	height: 18px;
}

.mm-hero-puntos {
	display: flex;
	align-items: center;
	gap: 2px;
	padding-inline: 4px;
}

.mm-hero-punto {
	display: grid;
	place-items: center;
	width: 22px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
}

.mm-hero-punto span {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: var(--mm-pill);
	background: var(--mm-borde-fuerte);
	transition: width 0.25s var(--mm-curva), background-color 0.25s;
}

.mm-hero-punto.is-activo span {
	width: 22px;
	background: var(--mm-magenta-ui);
}

.mm-hero-pausa-ico {
	width: 10px;
	height: 12px;
	border-inline: 3px solid currentColor;
}

.mm-hero-pausa[aria-pressed="true"] .mm-hero-pausa-ico {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent currentColor;
	margin-left: 3px;
}

/* Ventajas: una fila fina bajo la portada. */
.mm-ventajas {
	padding-block: 20px 4px;
}

.mm-ventajas-lista {
	display: grid;
	grid-template-columns: repeat(var(--mm-n, 4), minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-ventaja {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 14px 16px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	background: #fff;
}

.mm-ventaja-icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--mm-magenta-suave);
	color: var(--mm-magenta-ui);
}

.mm-ventaja-icono .mm-icon {
	width: 21px;
	height: 21px;
}

.mm-ventaja-texto {
	display: grid;
	min-width: 0;
	line-height: 1.3;
}

.mm-ventaja-texto strong {
	font-family: var(--mm-fuente-titulo);
	font-size: 0.9375rem;
	font-weight: 600;
}

.mm-ventaja-texto span {
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
}

/* Secciones */
.mm-sec {
	padding-block: var(--mm-sec) 0;
}

.mm-main > .mm-sec:last-child,
.mm-portada-contenido {
	padding-bottom: var(--mm-sec);
}

.mm-sec-cab {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 24px;
}

.mm-sec-titulo {
	margin: 0;
	font-size: var(--mm-fs-2xl);
	font-weight: 650;
	letter-spacing: -0.025em;
}

.mm-sec-sub {
	max-width: 60ch;
	margin: 6px 0 0;
	color: var(--mm-texto-2);
}

.mm-sec-cab-acciones {
	display: flex;
	flex: none;
	align-items: center;
	gap: 16px;
}

.mm-flechas {
	display: flex;
	gap: 8px;
}

.mm-flecha {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid var(--mm-borde);
	border-radius: 50%;
	background: #fff;
	color: var(--mm-texto);
	transition: background-color 0.15s, border-color 0.15s, color 0.15s, transform 0.12s var(--mm-curva);
}

.mm-flecha:hover:not(:disabled) {
	border-color: var(--mm-azul);
	background: var(--mm-azul);
	color: #fff;
}

.mm-flecha:active:not(:disabled) {
	transform: scale(0.94);
}

.mm-flecha:disabled {
	opacity: 0.4;
	cursor: default;
}

.mm-flecha .mm-icon {
	width: 18px;
	height: 18px;
}

/* Categorías: fichas con la foto de un producto sobre gris azulado. */
.mm-cats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-cat {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 14px 16px 16px;
	border-radius: var(--mm-radio-lg);
	background: var(--mm-fondo-2);
	color: var(--mm-texto);
	text-decoration: none;
	transition: background-color 0.2s var(--mm-curva), transform 0.2s var(--mm-curva);
}

.mm-cat-foto {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	margin-bottom: 12px;
}

.mm-cat-foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform 0.35s var(--mm-curva);
}

.mm-cat-foto .mm-icon {
	width: 40px;
	height: 40px;
	color: var(--mm-texto-3);
}

.mm-cat-nombre {
	font-family: var(--mm-fuente-titulo);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.mm-cat-n {
	margin-top: 2px;
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-sm);
}

.mm-cat:hover {
	background: var(--mm-azul-suave-2);
	color: var(--mm-texto);
}

.mm-cat:hover .mm-cat-foto img {
	transform: scale(1.06) translateY(-2px);
}

/* Carruseles de productos */
.mm-carrusel {
	position: relative;
}

.mm-main .mm-carrusel ul.products.mm-carrusel-pista {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 16px) / 5);
	grid-template-columns: none;
	gap: 16px;
	margin: 0;
	padding: 4px 2px 18px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 2px;
	scrollbar-width: none;
}

.mm-main .mm-carrusel ul.products.mm-carrusel-pista::-webkit-scrollbar {
	display: none;
}

.mm-main .mm-carrusel-4 ul.products.mm-carrusel-pista {
	grid-auto-columns: calc((100% - 3 * 16px) / 4);
}

.mm-main .mm-carrusel ul.products li.product {
	scroll-snap-align: start;
}

/* Ofertas: el bloque va sobre un fondo rosado muy suave. */
.mm-sec-ofertas {
	margin-top: var(--mm-sec);
	padding-block: var(--mm-sec);
	background: linear-gradient(180deg, var(--mm-magenta-suave) 0%, #fff 100%);
}

.mm-sec-ofertas + .mm-sec {
	padding-top: 0;
}

/* Ambientes: rejilla con la primera foto al doble. */
.mm-ambientes {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-auto-rows: clamp(180px, 17vw, 250px);
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-ambiente:first-child {
	grid-row: span 2;
}

.mm-ambientes-2 {
	grid-template-columns: 1.4fr 1fr;
}

.mm-ambientes-2 .mm-ambiente:first-child,
.mm-ambientes-3 .mm-ambiente:first-child {
	grid-row: span 2;
}

.mm-ambientes-3 {
	grid-template-columns: 1.6fr 1fr;
}

.mm-ambientes-2 .mm-ambiente:last-child {
	grid-row: span 2;
}

.mm-ambientes-4 .mm-ambiente:last-child {
	grid-column: span 2;
}

.mm-ambiente a {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: var(--mm-radio-lg);
	background: var(--mm-noche);
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}

.mm-ambiente-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--mm-curva);
}

/* Velo azul noche abajo para que el texto se lea sobre cualquier foto. */
.mm-ambiente a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(180deg, transparent 35%, color-mix(in srgb, var(--mm-noche) 88%, transparent) 100%);
}

.mm-ambiente-texto {
	position: absolute;
	left: 22px;
	right: 70px;
	bottom: 20px;
	z-index: 1;
	display: grid;
	gap: 2px;
}

.mm-ambiente-texto strong {
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-xl);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.015em;
}

.mm-ambiente:first-child .mm-ambiente-texto strong {
	font-size: var(--mm-fs-3xl);
}

.mm-ambiente-texto span {
	color: rgb(255 255 255 / 82%);
	font-size: var(--mm-fs-md);
}

.mm-ambiente-flecha {
	position: absolute;
	right: 18px;
	bottom: 18px;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgb(255 255 255 / 16%);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background-color 0.2s, color 0.2s, transform 0.2s var(--mm-curva);
}

.mm-ambiente-flecha .mm-icon {
	width: 18px;
	height: 18px;
}

.mm-ambiente a:hover .mm-ambiente-img {
	transform: scale(1.05);
}

.mm-ambiente a:hover .mm-ambiente-flecha {
	background: var(--mm-magenta-ui);
	transform: translateX(2px);
}

/* Banners */
.mm-banners {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-banners-1 {
	grid-template-columns: 1fr;
}

.mm-banners-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mm-banner a,
.mm-banner > img {
	display: block;
	overflow: hidden;
	border-radius: var(--mm-radio-lg);
}

.mm-banner img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.4s var(--mm-curva);
}

.mm-banner a:hover img {
	transform: scale(1.03);
}

/* Marcas: fichas blancas con el logo entero. Los logos de la tienda son de
   todas las formas (anchos, cuadrados, con fondo propio o transparentes):
   se encajan, nunca se recortan. */
.mm-marcas.is-cinta {
	display: flex;
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.mm-marcas-lista {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0;
	padding: 6px 0;
	list-style: none;
}

.mm-marcas.is-cinta .mm-marcas-lista {
	flex: none;
	flex-wrap: nowrap;
	padding-right: 14px;
	animation: mm-cinta 60s linear infinite;
}

.mm-marcas.is-cinta:hover .mm-marcas-lista,
.mm-marcas.is-cinta:focus-within .mm-marcas-lista,
.mm-marcas.is-pausada .mm-marcas-lista {
	animation-play-state: paused;
}

.mm-marca {
	--mm-marca-w: 176px;
	--mm-marca-h: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--mm-marca-w);
	height: var(--mm-marca-h);
	padding: 14px 20px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	background: #fff;
	transition: transform 0.25s var(--mm-curva), border-color 0.25s, box-shadow 0.25s var(--mm-curva);
}

.mm-marca:hover {
	transform: translateY(-3px);
	border-color: var(--mm-azul-borde);
	box-shadow: var(--mm-sombra-2);
}

/* El img mide lo que el logo: así el redondeo cae en los logos con fondo propio. */
.mm-marca .mm-marca-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: calc(var(--mm-marca-w) - 42px);
	max-height: calc(var(--mm-marca-h) - 30px);
	object-fit: contain;
	border-radius: 6px;
}

@keyframes mm-cinta {
	to {
		transform: translateX(-100%);
	}
}

/* Vitrinas: panel azul a la izquierda, productos a la derecha. */
.mm-vitrina-in {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 20px;
	align-items: stretch;
}

.mm-vitrina.is-par .mm-vitrina-panel {
	background:
		radial-gradient(80% 60% at 100% 0%, color-mix(in srgb, var(--mm-magenta) 40%, transparent), transparent 70%),
		var(--mm-noche);
}

.mm-vitrina-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 100%;
	overflow: hidden;
	padding: 28px;
	border-radius: var(--mm-radio-lg);
	background:
		radial-gradient(80% 60% at 100% 0%, color-mix(in srgb, var(--mm-magenta) 28%, transparent), transparent 70%),
		var(--mm-azul);
	color: #fff;
	isolation: isolate;
}

.mm-vitrina-img {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.55;
}

.mm-vitrina.con-foto .mm-vitrina-panel::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, transparent 20%, color-mix(in srgb, var(--mm-noche) 92%, transparent) 85%);
}

.mm-vitrina-titulo {
	margin: 0 0 8px;
	color: #fff;
	font-size: var(--mm-fs-2xl);
	font-weight: 650;
	letter-spacing: -0.02em;
}

.mm-vitrina-panel p {
	margin: 0 0 20px;
	color: rgb(255 255 255 / 82%);
	font-size: var(--mm-fs-md);
}

.mm-vitrina-panel .mm-btn {
	align-self: flex-start;
}

.mm-vitrina-cuerpo {
	position: relative;
	min-width: 0;
}

.mm-vitrina-flechas {
	position: absolute;
	top: -58px;
	right: 0;
}

/* Nosotros + tienda en Trujillo */
.mm-nosotros {
	margin-top: var(--mm-sec);
}

.mm-nosotros-in {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(28px, 4vw, 64px);
	overflow: hidden;
	padding: clamp(32px, 5vw, 72px);
	border-radius: var(--mm-radio-xl);
	background:
		radial-gradient(50% 70% at 0% 0%, color-mix(in srgb, var(--mm-magenta) 22%, transparent), transparent 70%),
		linear-gradient(135deg, var(--mm-noche) 0%, var(--mm-azul) 100%);
	color: #fff;
	isolation: isolate;
}

.mm-nosotros-titulo {
	max-width: 18ch;
	margin: 0 0 14px;
	color: #fff;
	font-size: var(--mm-fs-3xl);
	font-weight: 650;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.mm-nosotros-bajada {
	max-width: 52ch;
	margin: 0 0 28px;
	color: rgb(255 255 255 / 80%);
	font-size: var(--mm-fs-lg);
}

.mm-cifras {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 28px;
	padding: 22px 0 0;
	border-top: 1px solid rgb(255 255 255 / 16%);
}

.mm-cifra {
	display: flex;
	flex-direction: column-reverse;
	gap: 2px;
	margin: 0;
}

.mm-cifra dd {
	margin: 0;
	color: #fff;
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-2xl);
	font-weight: 650;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.mm-cifra dt {
	color: rgb(255 255 255 / 70%);
	font-size: var(--mm-fs-sm);
}

.mm-enlace-claro {
	color: #fff;
}

.mm-enlace-claro:hover {
	color: color-mix(in srgb, var(--mm-magenta) 45%, #fff);
}

.mm-tienda-tarjeta {
	overflow: hidden;
	border-radius: var(--mm-radio-lg);
	background: #fff;
	color: var(--mm-texto);
	box-shadow: 0 30px 60px -24px rgb(0 0 0 / 45%);
}

.mm-tienda-foto img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.mm-tienda-cuerpo {
	padding: 26px 28px 28px;
}

.mm-tienda-titulo {
	margin: 0 0 14px;
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-xl);
	font-weight: 650;
	letter-spacing: -0.015em;
}

.mm-tienda-datos {
	display: grid;
	gap: 10px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
}

.mm-tienda-datos li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.mm-tienda-datos .mm-icon {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--mm-magenta-ui);
}

.mm-tienda-datos a {
	color: var(--mm-texto);
	font-weight: 600;
	text-decoration: none;
}

.mm-tienda-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mm-tienda-acciones .mm-btn {
	flex: 1 1 auto;
}

/* Blog */
.mm-blog-rejilla {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.mm-entrada-tarjeta {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--mm-radio-lg);
	background: var(--mm-fondo-2);
	transition: background-color 0.2s var(--mm-curva);
}

.mm-entrada-tarjeta:hover {
	background: var(--mm-azul-suave-2);
}

.mm-entrada-foto {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	margin: 8px 8px 0;
	border-radius: 14px;
	background: var(--mm-fondo-3);
}

.mm-entrada-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--mm-curva);
}

.mm-entrada-tarjeta:hover .mm-entrada-foto img {
	transform: scale(1.04);
}

.mm-entrada-sin-foto {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--mm-texto-3);
}

.mm-entrada-sin-foto .mm-icon {
	width: 40px;
	height: 40px;
}

.mm-entrada-cuerpo {
	padding: 18px 20px 22px;
}

.mm-entrada-meta {
	margin: 0 0 6px;
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-sm);
}

.mm-entrada-titulo {
	margin: 0 0 8px;
	font-size: var(--mm-fs-xl);
	font-weight: 600;
	letter-spacing: -0.015em;
}

.mm-entrada-titulo a {
	color: var(--mm-texto);
	text-decoration: none;
}

.mm-entrada-titulo a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.mm-entrada-tarjeta {
	position: relative;
}

.mm-entrada-titulo a:hover {
	color: var(--mm-azul);
}

.mm-entrada-extracto {
	margin: 0;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
}

/* Portada: cortes propios. */
@media (max-width: 1280px) {
	.mm-cats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.mm-ventaja-texto span {
		display: none;
	}
}

@media (max-width: 1023px) {
	.mm-ventajas-lista {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: calc(var(--mm-margen) * -1);
		padding-inline: var(--mm-margen);
	}

	.mm-ventajas-lista::-webkit-scrollbar {
		display: none;
	}

	.mm-ventaja {
		flex: none;
		scroll-snap-align: start;
	}

	.mm-vitrina-in {
		grid-template-columns: 1fr;
	}

	.mm-vitrina-panel {
		min-height: 0;
		padding: 24px;
	}

	.mm-vitrina-flechas {
		display: none;
	}

	.mm-nosotros-in {
		grid-template-columns: 1fr;
	}

	.mm-ambientes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: clamp(160px, 34vw, 240px);
	}

	.mm-ambiente:first-child {
		grid-column: span 2;
		grid-row: span 1;
	}

	.mm-ambientes-2 .mm-ambiente:last-child,
	.mm-ambientes-3 .mm-ambiente:first-child {
		grid-row: span 1;
	}

	.mm-ambientes-4 .mm-ambiente:last-child {
		grid-column: span 2;
	}

	.mm-hero-controles {
		right: 12px;
		bottom: 12px;
	}
}

@media (max-width: 767px) {
	.mm-hero {
		padding-top: 12px;
	}

	.mm-hero .mm-contenedor {
		padding-inline: 12px;
	}

	.mm-hero-marco {
		border-radius: var(--mm-radio-lg);
	}

	/* El banner no decide la altura en el teléfono: la ponen las diapositivas
	   armadas (o, si todo son banners, la proporción 1920 × 600). Con versión
	   de teléfono, esa imagen sí manda. */
	.mm-hero-banner {
		min-height: calc((100vw - 24px) / 3.2);
	}

	.mm-hero-banner picture:not(:has(source)) {
		position: absolute;
		inset: 0;
	}

	.mm-hero-banner picture:has(source) .mm-hero-img {
		height: auto;
		aspect-ratio: auto;
	}

	/* Todas las diapositivas miden lo que la más alta: la foto ocupa el
	   espacio que sobra y se centra en él, sin hueco abajo. */
	.mm-armada {
		grid-template-columns: 1fr;
		grid-template-rows: auto minmax(190px, 1fr);
		align-content: stretch;
		gap: 8px;
		min-height: 0;
		padding: 28px 22px 64px;
	}

	.mm-armada-foto {
		height: auto;
		min-height: 190px;
	}

	.mm-armada-titulo {
		font-size: clamp(2rem, 1.4rem + 3vw, 2.5rem);
	}

	.mm-armada-bajada {
		margin-bottom: 20px;
		font-size: var(--mm-fs-base);
	}

	.mm-armada-foto img {
		max-height: 220px;
	}

	.mm-armada-trio img {
		max-height: 150px;
	}

	.mm-armada-trio .mm-trio-2 {
		max-height: 180px;
	}

	.mm-hero-flecha {
		display: none;
	}

	.mm-cats {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 40%;
		grid-template-columns: none;
		grid-template-rows: repeat(2, auto);
		gap: 10px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: calc(var(--mm-margen) * -1);
		padding-inline: var(--mm-margen);
		scroll-padding-inline: var(--mm-margen);
	}

	.mm-cats::-webkit-scrollbar {
		display: none;
	}

	.mm-cats li {
		scroll-snap-align: start;
	}

	.mm-cat {
		padding: 10px 12px 12px;
	}

	.mm-cat-nombre {
		font-size: var(--mm-fs-md);
	}

	.mm-sec-cab {
		align-items: center;
		margin-bottom: 16px;
	}

	.mm-sec-cab-acciones .mm-flechas {
		display: none;
	}

	.mm-ambiente-texto {
		left: 16px;
		right: 56px;
		bottom: 14px;
	}

	.mm-ambiente-texto span {
		display: none;
	}

	.mm-ambiente:first-child .mm-ambiente-texto strong {
		font-size: var(--mm-fs-2xl);
	}

	.mm-ambiente-texto strong {
		font-size: var(--mm-fs-lg);
	}

	.mm-ambiente-flecha {
		right: 12px;
		bottom: 12px;
		width: 34px;
		height: 34px;
	}

	.mm-banners {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.mm-banners-1 {
		grid-template-columns: 1fr;
	}

	.mm-marca {
		--mm-marca-w: 136px;
		--mm-marca-h: 76px;
		padding: 12px 16px;
	}

	.mm-cifras {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 12px;
	}

	.mm-cifra dd {
		font-size: var(--mm-fs-xl);
	}

	.mm-nosotros .mm-contenedor {
		padding-inline: 12px;
	}

	.mm-nosotros-in {
		padding: 30px 20px 20px;
		border-radius: var(--mm-radio-lg);
	}

	.mm-tienda-cuerpo {
		padding: 22px 20px 20px;
	}

	.mm-sec-blog .mm-blog-rejilla {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: calc(var(--mm-margen) * -1);
		padding-inline: var(--mm-margen);
		gap: 12px;
	}

	.mm-sec-blog .mm-blog-rejilla > * {
		flex: 0 0 82%;
		scroll-snap-align: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mm-hero-slide,
	.mm-armada-foto img {
		transition: none;
	}

	.mm-marcas.is-cinta .mm-marcas-lista {
		animation: none;
	}

	.mm-marcas.is-cinta {
		overflow-x: auto;
	}
}

/* ---------------------------------------------------------------------------
   10. Tarjeta de producto
   --------------------------------------------------------------------------- */
.mm-main ul.products[class] {
	display: grid;
	grid-template-columns: repeat(var(--mm-cols, 4), minmax(0, 1fr));
	gap: 28px 18px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

.mm-main ul.products[class]::before,
.mm-main ul.products[class]::after {
	display: none;
}

.mm-main ul.products.columns-3 {
	--mm-cols: 3;
}

.mm-main ul.products.columns-5 {
	--mm-cols: 5;
}

/* Tarjeta sin caja: la foto vive en una «vitrina» gris azulada redondeada
   (las fotos con fondo blanco se funden con multiply) y el texto va debajo. */
.mm-main ul.products[class] li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--mm-radio-lg);
	background: transparent;
	text-align: left;
}

.mm-tarjeta-media {
	position: relative;
	overflow: hidden;
	border-radius: var(--mm-radio-lg);
	background: var(--mm-fondo-2);
	transition: background-color 0.25s var(--mm-curva);
}

.mm-main ul.products[class] li.product:hover .mm-tarjeta-media {
	background: var(--mm-azul-suave-2);
}

.mm-main ul.products li.product .mm-tarjeta-foto {
	display: block;
	aspect-ratio: 1;
	padding: 12%;
	background: transparent;
}

.mm-main ul.products[class] li.product .mm-tarjeta-foto img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform 0.45s var(--mm-curva);
}

.mm-main ul.products li.product:hover .mm-tarjeta-foto img {
	transform: scale(1.06);
}

.mm-etiquetas {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	pointer-events: none;
}

.mm-main .mm-etiqueta,
.mm-main .mm-etiquetas .onsale {
	position: static;
	display: inline-flex;
	align-items: center;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 4px 10px;
	border-radius: var(--mm-pill);
	background: var(--mm-texto);
	color: #fff;
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-xs);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.02em;
	font-variant-numeric: tabular-nums;
}

.mm-main .mm-etiqueta-oferta {
	background: var(--mm-oferta);
}

.mm-main .mm-etiqueta-nuevo {
	background: #fff;
	color: var(--mm-azul);
	box-shadow: inset 0 0 0 1px var(--mm-azul-borde);
}

.mm-main .mm-etiqueta-agotado {
	background: var(--mm-texto-2);
}

.mm-fav {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgb(255 255 255 / 90%);
	color: var(--mm-texto-2);
	box-shadow: var(--mm-sombra-1);
	transition: color 0.15s, transform 0.15s var(--mm-curva), opacity 0.2s;
	-webkit-tap-highlight-color: transparent;
}

.mm-fav .mm-icon {
	width: 20px;
	height: 20px;
}

.mm-fav:hover {
	color: var(--mm-oferta);
	transform: scale(1.06);
}

.mm-fav[aria-pressed="true"] {
	color: var(--mm-oferta);
}

.mm-fav[aria-pressed="true"] .mm-icon {
	fill: currentColor;
}

.mm-fav.is-latido .mm-icon {
	animation: mm-latido 0.45s var(--mm-curva);
}

@media (hover: hover) {
	.mm-main ul.products li.product .mm-fav:not([aria-pressed="true"]) {
		opacity: 0;
	}

	.mm-main ul.products li.product:hover .mm-fav,
	.mm-main ul.products li.product .mm-fav:focus-visible {
		opacity: 1;
	}
}

.mm-tarjeta-cuerpo {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 4px;
	padding: 14px 4px 0;
}

.mm-tarjeta-marca {
	font-size: var(--mm-fs-xs);
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mm-texto-3);
}

.mm-main ul.products[class] li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 0;
	font-size: var(--mm-fs-md);
	font-weight: 400;
	font-family: var(--mm-fuente);
	line-height: 1.35;
	letter-spacing: 0;
}

.mm-main ul.products li.product .woocommerce-loop-product__title a {
	color: var(--mm-texto);
	text-decoration: none;
}

.mm-main ul.products li.product .woocommerce-loop-product__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.mm-modelo {
	font-weight: 650;
	font-family: var(--mm-fuente-titulo);
	letter-spacing: 0.005em;
	word-break: break-word;
}

.mm-main ul.products li.product .mm-modelo {
	display: block;
	margin-bottom: 2px;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.2;
}

.mm-main ul.products li.product .mm-desc {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--mm-texto-2);
}

.mm-titulo-marca {
	color: var(--mm-texto-3);
}

.mm-main ul.products li.product .star-rating {
	margin: 2px 0 0;
	font-size: 0.75rem;
}

.mm-main ul.products[class] li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin: auto 0 0;
	padding-top: 8px;
	color: var(--mm-texto);
	font-size: 1.3125rem;
	font-weight: 600;
	font-family: var(--mm-fuente-titulo);
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.mm-main ul.products li.product .price del {
	order: 2;
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-md);
	font-weight: 400;
	font-family: var(--mm-fuente);
	opacity: 1;
}

.mm-main ul.products li.product .price ins {
	order: 1;
	color: var(--mm-oferta);
	text-decoration: none;
	font-weight: inherit;
}

/* Botón de la tarjeta: queda por encima del enlace que cubre la tarjeta. */
.mm-main ul.products[class] li.product .button {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	margin: 12px 0 0;
	padding: 8px 14px;
	border: 1.5px solid var(--mm-azul-borde);
	border-radius: var(--mm-pill);
	background: #fff;
	color: var(--mm-azul);
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-md);
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s, transform 0.12s var(--mm-curva);
}

.mm-main ul.products[class] li.product .button:hover,
.mm-main ul.products[class] li.product:hover .button.add_to_cart_button {
	border-color: var(--mm-magenta-ui);
	background: var(--mm-magenta-ui);
	color: #fff;
}

.mm-main ul.products[class] li.product .button:active {
	transform: scale(0.97);
}

.mm-main ul.products li.product .button .mm-icon {
	width: 18px;
	height: 18px;
}

.mm-main ul.products li.product .button.loading {
	opacity: 0.7;
	pointer-events: none;
}

.mm-main ul.products li.product .button.loading::after {
	position: static;
	margin-left: 4px;
	font-size: 0.9em;
}

.mm-main ul.products li.product .button.added {
	background: var(--mm-exito-fondo);
	border-color: var(--mm-exito);
	color: var(--mm-exito);
}

.mm-main ul.products li.product .button.added::after {
	margin-left: 4px;
}

.mm-main ul.products li.product .added_to_cart {
	position: relative;
	z-index: 2;
	display: block;
	padding-top: 6px;
	font-size: var(--mm-fs-sm);
	font-weight: 650;
	text-align: center;
}

.mm-main ul.products li.product.outofstock .mm-tarjeta-foto img {
	opacity: 0.55;
	filter: grayscale(0.4);
}

/* Vista en lista (tienda) */
.mm-tienda.is-lista .mm-main ul.products[class],
.mm-tienda.is-lista ul.products[class] {
	grid-template-columns: minmax(0, 1fr);
}

.mm-tienda.is-lista ul.products[class] li.product {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	align-items: stretch;
}

.mm-tienda.is-lista ul.products li.product .mm-tarjeta-media {
	border-radius: var(--mm-radio-lg);
}

.mm-tienda.is-lista ul.products li.product .mm-tarjeta-cuerpo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 220px;
	grid-template-areas: "marca precio" "titulo precio" "titulo boton";
	align-content: center;
	column-gap: 24px;
	padding: 16px 20px;
}

.mm-tienda.is-lista ul.products li.product .mm-tarjeta-marca {
	grid-area: marca;
}

.mm-tienda.is-lista ul.products li.product .woocommerce-loop-product__title {
	grid-area: titulo;
}

.mm-tienda.is-lista ul.products li.product .mm-desc {
	-webkit-line-clamp: 3;
}

.mm-tienda.is-lista ul.products[class] li.product .price {
	grid-area: precio;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

.mm-tienda.is-lista ul.products[class] li.product .button {
	grid-area: boton;
	align-self: end;
}

/* ---------------------------------------------------------------------------
   11. Boletín y pie
   --------------------------------------------------------------------------- */
.mm-boletin {
	border-top: 1px solid var(--mm-borde);
	background: var(--mm-marca-suave);
}

.mm-boletin-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	flex-wrap: wrap;
	padding-block: 32px;
}

.mm-boletin-texto {
	display: flex;
	align-items: center;
	gap: 18px;
}

.mm-boletin-icono {
	display: grid;
	place-items: center;
	flex: none;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--mm-marca);
	color: #fff;
}

.mm-boletin-icono .mm-icon {
	width: 26px;
	height: 26px;
}

.mm-boletin h2 {
	margin: 0 0 4px;
	font-size: var(--mm-fs-xl);
}

.mm-boletin p {
	margin: 0;
	color: var(--mm-texto-2);
}

.mm-boletin-form {
	flex: 1 1 360px;
	max-width: 520px;
	display: flex;
	justify-content: flex-end;
}

.mm-boletin-form form {
	width: 100%;
}

.mm-pie {
	background: var(--mm-tinta);
	color: rgb(255 255 255 / 76%);
	font-size: var(--mm-fs-md);
}

.mm-pie a {
	color: rgb(255 255 255 / 86%);
	text-decoration: none;
}

.mm-pie a:hover {
	color: #fff;
	text-decoration: underline;
}

.mm-pie-in {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 40px;
	padding-block: 56px 44px;
}

.mm-logo-pie.mm-logo .mm-logo-img {
	height: 44px;
}

.mm-pie-texto {
	max-width: 40ch;
	margin: 18px 0 20px;
}

.mm-pie-titulo {
	margin: 0 0 16px;
	color: #fff;
	font-size: var(--mm-fs-base);
	font-weight: 700;
	letter-spacing: 0.01em;
}

.mm-pie-lista {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-pie-datos a,
.mm-pie-datos span {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
}

.mm-pie-datos .mm-icon {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: #9fb6ff;
}

.mm-redes {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-redes a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgb(255 255 255 / 9%);
	transition: background-color 0.15s;
}

.mm-redes a:hover {
	background: var(--mm-marca);
}

.mm-redes .mm-icon {
	width: 18px;
	height: 18px;
}

.mm-reclamaciones {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
	padding: 10px 16px 10px 12px;
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: var(--mm-radio);
	background: rgb(255 255 255 / 5%);
}

.mm-pie .mm-reclamaciones:hover {
	background: rgb(255 255 255 / 10%);
	text-decoration: none;
}

.mm-reclamaciones .mm-icon {
	width: 30px;
	height: 30px;
	color: #fff;
}

.mm-reclamaciones span {
	display: grid;
	line-height: 1.25;
}

.mm-reclamaciones strong {
	color: #fff;
}

.mm-reclamaciones small {
	font-size: var(--mm-fs-xs);
	color: rgb(255 255 255 / 65%);
}

.mm-pie-bajo {
	border-top: 1px solid rgb(255 255 255 / 12%);
}

.mm-pie-bajo-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	flex-wrap: wrap;
	padding-block: 18px;
}

.mm-legal {
	margin: 0;
	font-size: var(--mm-fs-sm);
	color: rgb(255 255 255 / 62%);
}

.mm-pagos {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-pago {
	display: grid;
	place-items: center;
	min-width: 52px;
	height: 32px;
	padding: 0 8px;
	border-radius: 5px;
	background: #fff;
	color: #1a1f71;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.mm-pago-visa span {
	font-style: italic;
	font-size: 14px;
	letter-spacing: 0.02em;
	color: #1a1f71;
}

.mm-pago-mastercard span {
	position: relative;
	display: block;
	width: 34px;
	height: 20px;
	font-size: 0;
	background:
		radial-gradient(circle at 12px 10px, #eb001b 9.5px, transparent 10px),
		radial-gradient(circle at 22px 10px, #f79e1b 9.5px, transparent 10px);
}

.mm-pago-amex {
	background: #1f72cd;
	color: #fff;
}

.mm-pago-diners {
	color: #004a97;
}

.mm-pago-yape {
	background: #742284;
	color: #fff;
}

.mm-pago-plin {
	background: #00c3b3;
	color: #fff;
}

.mm-pago-transferencia,
.mm-pago-efectivo {
	color: var(--mm-texto-2);
	font-weight: 700;
}

/* WhatsApp flotante, volver arriba y avisos */
.mm-wa-flotante {
	position: fixed;
	right: 20px;
	bottom: calc(20px + env(safe-area-inset-bottom));
	z-index: 150;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	padding: 0 18px 0 14px;
	border-radius: var(--mm-pill);
	background: var(--mm-wa);
	color: #06331a;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 10px 30px -8px rgb(37 211 102 / 60%), var(--mm-sombra-2);
	transition: transform 0.2s var(--mm-curva), bottom 0.3s var(--mm-curva);
}

.mm-wa-flotante:hover {
	color: #06331a;
	transform: translateY(-2px);
}

.mm-wa-flotante .mm-icon {
	width: 28px;
	height: 28px;
}

.mm-con-barra-compra .mm-wa-flotante,
.mm-con-barra-compra .mm-arriba {
	bottom: calc(96px + env(safe-area-inset-bottom));
}

.mm-arriba {
	position: fixed;
	right: 24px;
	bottom: calc(88px + env(safe-area-inset-bottom));
	z-index: 140;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--mm-borde);
	border-radius: 50%;
	background: #fff;
	color: var(--mm-texto);
	box-shadow: var(--mm-sombra-2);
}

.mm-con-barra-compra .mm-arriba {
	bottom: calc(160px + env(safe-area-inset-bottom));
}

.mm-aviso {
	position: fixed;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom));
	z-index: 300;
	padding: 12px 18px;
	border-radius: var(--mm-radio);
	background: var(--mm-tinta);
	color: #fff;
	font-size: var(--mm-fs-md);
	font-weight: 600;
	box-shadow: var(--mm-sombra-3);
	transform: translate(-50%, 140%);
	opacity: 0;
	transition: transform 0.3s var(--mm-curva), opacity 0.3s;
	pointer-events: none;
}

.mm-aviso.is-visible {
	transform: translate(-50%, 0);
	opacity: 1;
}

/* ---------------------------------------------------------------------------
   12. Páginas de WooCommerce: base común
   --------------------------------------------------------------------------- */
.mm-wc {
	padding-block: 20px var(--mm-sec);
}

.mm-migas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	margin: 0 0 18px;
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-sm);
}

.mm-main .woocommerce-breadcrumb.mm-migas {
	margin: 0 0 18px;
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-sm);
}

.mm-migas a {
	color: var(--mm-texto-2);
	text-decoration: none;
}

.mm-main .mm-migas a:hover {
	color: var(--mm-marca);
	text-decoration: underline;
}

.mm-migas-sep {
	margin-inline: 8px;
	color: var(--mm-borde-fuerte);
}

/* Botones de WooCommerce con la forma del tema */
:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) :is(a, button, input).button,
.mm-main #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 11px 22px;
	border: 1.5px solid var(--mm-borde-fuerte);
	border-radius: var(--mm-pill);
	background: #fff;
	color: var(--mm-texto);
	font-family: var(--mm-fuente-titulo);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s, transform 0.12s var(--mm-curva);
}

:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) :is(a, button, input).button:hover,
.mm-main #respond input#submit:hover {
	border-color: var(--mm-marca);
	background: #fff;
	color: var(--mm-marca);
}

:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) :is(a, button, input).button.alt,
:is(.woocommerce, .woocommerce-page, .mm-main) .woocommerce-form-login__submit.button,
:is(.woocommerce, .woocommerce-page, .mm-main) .woocommerce-form-register__submit.button,
:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) .checkout-button.button,
:is(.woocommerce, .woocommerce-page, .mm-main) #place_order.button {
	border-color: var(--mm-azul);
	background: var(--mm-azul);
	color: #fff;
}

:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) :is(a, button, input).button.alt:hover,
:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) .checkout-button.button:hover,
:is(.woocommerce, .woocommerce-page, .mm-main) #place_order.button:hover {
	border-color: var(--mm-azul-hover);
	background: var(--mm-azul-hover);
	color: #fff;
}

/* Comprar es magenta: añadir al carrito, ir a pagar y realizar el pedido. */
:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) a.checkout-button.button,
:is(.woocommerce, .woocommerce-page, .mm-main) #place_order.button,
.mm-main div.product div.summary form.cart .single_add_to_cart_button,
.mm-cajon .woocommerce-mini-cart__buttons a.button.checkout {
	border-color: var(--mm-magenta-ui);
	background: var(--mm-magenta-ui);
	color: #fff;
	box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--mm-magenta) 75%, transparent);
}

:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) a.checkout-button.button:hover,
:is(.woocommerce, .woocommerce-page, .mm-main) #place_order.button:hover,
.mm-main div.product div.summary form.cart .single_add_to_cart_button:hover,
.mm-cajon .woocommerce-mini-cart__buttons a.button.checkout:hover {
	border-color: var(--mm-magenta-hover);
	background: var(--mm-magenta-hover);
	color: #fff;
}

:is(.woocommerce, .woocommerce-page, .mm-main, .mm-cajon) :is(a, button, input).button:active {
	transform: scale(0.98);
}

:is(.woocommerce, .woocommerce-page) :is(a, button, input).button:disabled,
:is(.woocommerce, .woocommerce-page) :is(a, button, input).button.disabled {
	opacity: 0.5;
	padding: 11px 20px;
}

/* Avisos */
.woocommerce-notices-wrapper:empty {
	display: none;
}

.mm-main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
.mm-cajon :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 0 0 20px;
	padding: 14px 18px 14px 50px;
	border: 1px solid;
	border-radius: var(--mm-radio);
	font-size: var(--mm-fs-md);
	list-style: none;
}

.mm-main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
}

.mm-main .woocommerce-error {
	flex-direction: column;
	align-items: flex-start;
}

.mm-main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::after {
	display: none;
}

.mm-main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button {
	order: 2;
	min-height: 36px;
	margin-left: auto;
	padding: 6px 14px;
	font-size: var(--mm-fs-sm);
}

.mm-main .woocommerce-message {
	border-color: color-mix(in srgb, var(--mm-exito) 30%, #fff);
	background: var(--mm-exito-fondo);
	color: var(--mm-texto);
}

.mm-main .woocommerce-message::before {
	color: var(--mm-exito);
}

.mm-main .woocommerce-info {
	border-color: var(--mm-marca-borde);
	background: var(--mm-marca-suave);
	color: var(--mm-texto);
}

.mm-main .woocommerce-info::before {
	color: var(--mm-marca);
}

.mm-main .woocommerce-error {
	border-color: color-mix(in srgb, var(--mm-error) 30%, #fff);
	background: var(--mm-error-fondo);
	color: var(--mm-texto);
}

.mm-main .woocommerce-error::before {
	color: var(--mm-error);
	top: 24px;
}

/* Estrellas */
.mm-main .star-rating {
	color: #f2a400;
}

.mm-main .star-rating::before {
	color: var(--mm-borde-fuerte);
	opacity: 1;
}

/* Precios */
.mm-main .woocommerce-Price-amount {
	font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------------------------
   13. Tienda y categorías
   --------------------------------------------------------------------------- */
.mm-tienda-cab {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 20px;
}

.mm-tienda-cab-logo {
	display: grid;
	place-items: center;
	flex: none;
	width: 150px;
	height: 90px;
	padding: 12px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	background: #fff;
}

.mm-tienda-cab-logo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 64px;
	object-fit: contain;
	border-radius: 6px;
}

.mm-main .mm-tienda-cab .page-title {
	margin: 0;
	font-size: var(--mm-fs-3xl);
	font-weight: 700;
}

.mm-tienda-cab .term-description,
.mm-tienda-cab .page-description {
	max-width: 80ch;
	margin-top: 8px;
	color: var(--mm-texto-2);
}

.mm-tienda-cab .term-description p:last-child {
	margin: 0;
}

.mm-subcats {
	display: flex;
	gap: 10px;
	margin: 0 0 24px;
	padding: 2px 0 8px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: thin;
}

.mm-subcat {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 6px 16px 6px 8px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-pill);
	background: #fff;
	color: var(--mm-texto);
	font-size: var(--mm-fs-md);
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	transition: border-color 0.15s, background-color 0.15s;
}

.mm-subcat:hover {
	border-color: var(--mm-marca);
	background: var(--mm-marca-suave);
	color: var(--mm-marca);
}

.mm-subcat img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	border-radius: 50%;
	background: var(--mm-fondo-2);
}

.mm-subcat:not(:has(img)) {
	padding-left: 16px;
}

.mm-tienda {
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

/* Filtros: columna en ordenador, cajón en el teléfono. */
.mm-tienda-filtros.mm-cajon-escritorio {
	position: sticky;
	top: calc(var(--mm-cab-fija) + 16px);
	inset: auto;
	z-index: 1;
	display: block;
	max-height: calc(100vh - var(--mm-cab-fija) - 32px);
	overflow-y: auto;
	scrollbar-width: thin;
}

.mm-cajon-escritorio .mm-cajon-velo {
	display: none;
}

.mm-cajon-escritorio .mm-cajon-caja {
	width: auto;
	height: auto;
	background: transparent;
	box-shadow: none;
	transform: none;
	transition: none;
}

.mm-filtros-cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.mm-filtros-titulo {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: var(--mm-fs-lg);
	font-weight: 650;
	font-family: var(--mm-fuente-titulo);
}

.mm-filtro {
	padding: 14px 0;
	border-bottom: 1px solid var(--mm-borde);
}

.mm-filtro-titulo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	font-size: var(--mm-fs-md);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.mm-filtro-titulo::-webkit-details-marker {
	display: none;
}

.mm-filtro-titulo .mm-icon {
	width: 16px;
	height: 16px;
	color: var(--mm-texto-3);
	transition: transform 0.2s var(--mm-curva);
}

.mm-filtro:not([open]) .mm-filtro-titulo .mm-icon {
	transform: rotate(-90deg);
}

.mm-filtro-lista {
	display: grid;
	gap: 1px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.mm-filtro-lista a,
.mm-filtro-lista li > span:first-child {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 8px;
	border-radius: var(--mm-radio-sm);
	color: var(--mm-texto);
	font-size: var(--mm-fs-md);
	text-decoration: none;
}

.mm-filtro-lista a:hover {
	background: var(--mm-fondo-2);
	color: var(--mm-marca);
}

.mm-filtro-lista a > span:not(.mm-check):not(.mm-filtro-n) {
	flex: 1;
}

.mm-filtro-lista .is-actual {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 7px 8px;
	font-size: var(--mm-fs-md);
	font-weight: 700;
	color: var(--mm-marca);
}

.mm-filtro-lista .is-actual > span:first-child {
	padding: 0;
	color: inherit;
}

.mm-filtro-lista .es-hija a {
	padding-left: 18px;
}

.mm-filtro-volver a {
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
}

.mm-filtro-volver .mm-icon {
	width: 14px;
	height: 14px;
}

.mm-filtro-n {
	margin-left: auto;
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-xs);
	font-variant-numeric: tabular-nums;
}

.mm-check {
	display: grid;
	place-items: center;
	flex: none;
	width: 20px;
	height: 20px;
	border: 1.5px solid var(--mm-borde-fuerte);
	border-radius: 5px;
	background: #fff;
	color: transparent;
}

.mm-check .mm-icon {
	width: 14px;
	height: 14px;
	stroke-width: 3;
}

.is-elegida .mm-check {
	border-color: var(--mm-marca);
	background: var(--mm-marca);
	color: #fff;
}

.is-elegida a {
	font-weight: 650;
}

.mm-filtro-marcas.is-larga:not(.is-abierta) li:nth-child(n + 9) {
	display: none;
}

.mm-filtro-mas {
	margin-top: 6px;
	padding: 4px 8px;
	border: 0;
	background: none;
	color: var(--mm-marca);
	font-size: var(--mm-fs-sm);
	font-weight: 650;
}

.mm-filtro-precio {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 12px;
}

.mm-filtro-precio label {
	display: grid;
	gap: 4px;
	font-size: var(--mm-fs-xs);
	color: var(--mm-texto-2);
}

.mm-campo-moneda {
	position: relative;
	display: block;
}

.mm-campo-moneda i {
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	color: var(--mm-texto-3);
	font-style: normal;
	font-size: var(--mm-fs-sm);
}

.mm-campo-moneda input {
	min-height: 40px;
	padding: 6px 8px 6px 30px;
	font-size: 16px;
	-moz-appearance: textfield;
}

.mm-campo-moneda input::-webkit-inner-spin-button,
.mm-campo-moneda input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.mm-filtro-precio .mm-btn {
	grid-column: 1 / -1;
}

.mm-filtro.widget ul {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

/* Barra de herramientas */
.mm-herramientas {
	display: flex;
	align-items: center;
	gap: 12px 16px;
	flex-wrap: wrap;
	margin-bottom: 16px;
	padding: 8px 8px 8px 16px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio);
	background: var(--mm-fondo-2);
}

.mm-main .mm-herramientas .woocommerce-result-count {
	float: none;
	margin: 0;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
}

.mm-herramientas-der {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.mm-main .mm-herramientas .woocommerce-ordering {
	float: none;
	margin: 0;
}

.mm-herramientas .woocommerce-ordering select {
	min-height: 40px;
	padding-block: 6px;
	font-size: var(--mm-fs-md);
	background-color: #fff;
}

.mm-vista {
	display: flex;
	padding: 3px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio);
	background: #fff;
}

.mm-vista button {
	display: grid;
	place-items: center;
	width: 36px;
	height: 34px;
	border: 0;
	border-radius: var(--mm-radio-sm);
	background: none;
	color: var(--mm-texto-3);
}

.mm-vista button[aria-pressed="true"] {
	background: var(--mm-marca-suave-2);
	color: var(--mm-marca);
}

.mm-vista .mm-icon {
	width: 18px;
	height: 18px;
}

.mm-abrir-filtros {
	display: none;
}

.mm-activos {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: -4px 0 18px;
	font-size: var(--mm-fs-sm);
	color: var(--mm-texto-2);
}

.mm-activo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 8px 5px 12px;
	border-radius: var(--mm-pill);
	background: var(--mm-marca-suave-2);
	color: var(--mm-marca);
	font-weight: 650;
	text-decoration: none;
}

.mm-activo .mm-icon {
	width: 14px;
	height: 14px;
}

.mm-activo:hover {
	background: var(--mm-marca);
	color: #fff;
}

.mm-activos-limpiar {
	color: var(--mm-texto-2);
	font-weight: 600;
}

/* Paginación */
.mm-main nav.woocommerce-pagination,
.mm-main .navigation.pagination {
	display: flex;
	justify-content: center;
	margin-top: 8px;
	text-align: center;
}

.mm-main nav.woocommerce-pagination ul.page-numbers,
.mm-main .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
}

.mm-main nav.woocommerce-pagination ul li {
	float: none;
	border: 0;
	overflow: visible;
}

.mm-main nav.woocommerce-pagination ul li :is(a, span),
.mm-main .nav-links .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio);
	background: #fff;
	color: var(--mm-texto);
	font-size: var(--mm-fs-md);
	font-weight: 650;
	line-height: 1;
	text-decoration: none;
}

.mm-main nav.woocommerce-pagination ul li a:hover,
.mm-main .nav-links a.page-numbers:hover {
	border-color: var(--mm-marca);
	background: #fff;
	color: var(--mm-marca);
}

.mm-main nav.woocommerce-pagination ul li span.current,
.mm-main .nav-links .page-numbers.current {
	border-color: var(--mm-marca);
	background: var(--mm-marca);
	color: #fff;
}

.mm-main nav.woocommerce-pagination .mm-icon {
	width: 18px;
	height: 18px;
}

/* Sin resultados */
.mm-vacio {
	max-width: 620px;
	margin: 24px auto;
	padding: 40px 24px;
	border: 1px dashed var(--mm-borde-fuerte);
	border-radius: var(--mm-radio-lg);
	text-align: center;
}

.mm-vacio > .mm-icon {
	width: 44px;
	height: 44px;
	margin-bottom: 12px;
	color: var(--mm-marca);
}

.mm-vacio h2 {
	font-size: var(--mm-fs-xl);
}

.mm-vacio p {
	color: var(--mm-texto-2);
}

.mm-vacio-acciones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 18px;
}

/* Marcas A–Z */
/* La página de marcas usa todo el ancho, no el de lectura. */
.mm-contenido-texto:has(.mm-marcas-az) {
	max-width: none;
}

.mm-marcas-az {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-marca-az {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	height: 100%;
	padding: 16px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	background: #fff;
	color: var(--mm-texto);
	text-align: center;
	text-decoration: none;
	transition: border-color 0.2s, box-shadow 0.2s var(--mm-curva);
}

.mm-marca-az:hover {
	border-color: var(--mm-marca-borde);
	box-shadow: var(--mm-sombra-2);
	color: var(--mm-texto);
}

.mm-marca-az-logo {
	display: grid;
	place-items: center;
	width: 100%;
	height: 72px;
}

.mm-marca-az-logo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 64px;
	object-fit: contain;
	border-radius: 6px;
}

.mm-marca-az-sin {
	font-size: var(--mm-fs-xl);
	font-weight: 700;
	font-family: var(--mm-fuente-titulo);
	color: var(--mm-marca);
}

.mm-marca-az-nombre {
	font-weight: 650;
}

.mm-marca-az-n {
	font-size: var(--mm-fs-xs);
	color: var(--mm-texto-3);
}

/* ---------------------------------------------------------------------------
   14. Ficha de producto
   --------------------------------------------------------------------------- */
.mm-ficha-top {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
	column-gap: clamp(24px, 4vw, 56px);
	align-items: start;
	margin-bottom: 16px;
}

.mm-ficha-top > .mm-etiquetas {
	grid-column: 1;
	grid-row: 1;
	position: relative;
	top: auto;
	left: auto;
	z-index: 5;
	align-self: start;
	justify-self: start;
	margin: 16px;
}

.mm-main div.product .mm-ficha-top > div.images {
	grid-column: 1;
	grid-row: 1;
	float: none;
	width: auto;
	margin: 0 0 32px;
}

.mm-main div.product .mm-ficha-top > div.summary {
	grid-column: 2;
	grid-row: 1;
	float: none;
	width: auto;
	margin: 0 0 32px;
	position: sticky;
	top: calc(var(--mm-cab-fija) + 16px);
}

/* Galería */

/*
 * WooCommerce pinta la galería con opacidad 0 hasta que arranca su
 * deslizador (JS en el pie). Con eso la foto principal —el LCP de la ficha
 * en el teléfono— esperaba al JavaScript. Aquí se ve desde el primer
 * pintado: solo la primera foto y, si hay más, el hueco de las miniaturas
 * reservado, para que al arrancar el deslizador no salte nada.
 */
.mm-main .woocommerce-product-gallery {
	opacity: 1 !important;
}

.mm-main div.product div.images.woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:nth-child(n + 2) {
	display: none;
}

.mm-main .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-viewport))::after {
	content: "";
	display: block;
	margin-top: 12px;
	aspect-ratio: 6 / 1;
}

.mm-main div.product div.images .woocommerce-product-gallery__wrapper {
	margin: 0;
}

/* La galería es la misma «vitrina» gris azulada de las tarjetas: las fotos
   con fondo blanco se funden con multiply. */
.mm-main div.product div.images .flex-viewport,
.mm-main div.product div.images > .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border: 0;
	border-radius: var(--mm-radio-xl);
	background: var(--mm-fondo-2);
}

/* Cada foto en un cuadrado fijo: la foto no decide la altura (ni antes ni
   después de que arranque el deslizador). */
.mm-main div.product div.images .woocommerce-product-gallery__image a {
	position: relative;
	display: block;
	aspect-ratio: 1;
}

.mm-main div.product div.images .woocommerce-product-gallery__image a img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: clamp(20px, 6%, 56px);
	object-fit: contain;
	mix-blend-mode: multiply;
}

/* El deslizador aísla cada diapositiva (transform): el fondo va en ella
   para que el multiply de la foto tenga con qué mezclarse. */
.mm-main div.product div.images .woocommerce-product-gallery__image {
	background: var(--mm-fondo-2);
}

.mm-main div.product div.images .zoomImg {
	background: var(--mm-fondo-2);
	mix-blend-mode: multiply;
}

.mm-main div.product div.images .woocommerce-product-gallery__trigger {
	top: 14px;
	right: 14px;
	z-index: 9;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: var(--mm-sombra-1);
	font-size: 0;
	text-indent: 0;
}

.mm-main div.product div.images .woocommerce-product-gallery__trigger::before {
	width: 12px;
	height: 12px;
	border-color: var(--mm-texto);
	top: 12px;
	left: 12px;
}

.mm-main div.product div.images .woocommerce-product-gallery__trigger::after {
	background: var(--mm-texto);
	top: 25px;
	left: 26px;
}

.mm-main div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
}

.mm-main div.product div.images .flex-control-thumbs li {
	float: none;
	width: auto;
	margin: 0;
}

.mm-main div.product div.images .flex-control-thumbs li {
	overflow: hidden;
	border-radius: var(--mm-radio);
	background: var(--mm-fondo-2);
}

.mm-main div.product div.images .flex-control-thumbs li img {
	aspect-ratio: 1;
	padding: 8px;
	object-fit: contain;
	border: 2px solid transparent;
	border-radius: var(--mm-radio);
	background: transparent;
	mix-blend-mode: multiply;
	opacity: 1;
	transition: border-color 0.15s;
}

.mm-main div.product div.images .flex-control-thumbs li img:hover {
	border-color: var(--mm-borde-fuerte);
}

.mm-main div.product div.images .flex-control-thumbs li img.flex-active {
	border-color: var(--mm-azul);
}

.mm-main div.product .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-main div.product .flex-direction-nav a {
	position: absolute;
	top: calc(50% - 22px);
	z-index: 8;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--mm-borde);
	border-radius: 50%;
	background: rgb(255 255 255 / 92%);
	font-size: 0;
	color: var(--mm-texto);
	text-decoration: none;
	opacity: 0;
	transition: opacity 0.2s;
}

.mm-main div.product div.images:hover .flex-direction-nav a {
	opacity: 1;
}

.mm-main div.product .flex-direction-nav a::before {
	content: "";
	width: 10px;
	height: 10px;
	border: solid currentColor;
	border-width: 2px 2px 0 0;
}

.mm-main div.product .flex-direction-nav .flex-prev {
	left: 12px;
}

.mm-main div.product .flex-direction-nav .flex-prev::before {
	transform: translateX(2px) rotate(-135deg);
}

.mm-main div.product .flex-direction-nav .flex-next {
	right: 12px;
}

.mm-main div.product .flex-direction-nav .flex-next::before {
	transform: translateX(-2px) rotate(45deg);
}

.mm-main div.product .flex-direction-nav .flex-disabled {
	display: none;
}

/* Resumen */
.mm-ficha-marca {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.mm-ficha-marca-logo {
	display: block;
	width: auto;
	max-width: 160px;
	max-height: 52px;
	object-fit: contain;
	border-radius: 6px;
}

.mm-ficha-marca-nombre {
	font-size: var(--mm-fs-md);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mm-marca);
}

.mm-ficha-marca-ver {
	font-size: var(--mm-fs-sm);
	font-weight: 650;
	text-decoration: none;
}

.mm-main .mm-ficha-titulo {
	margin: 0 0 10px;
	font-size: var(--mm-fs-xl);
	font-weight: 450;
	font-family: var(--mm-fuente);
	line-height: 1.35;
	letter-spacing: 0;
	color: var(--mm-texto-2);
}

.mm-ficha-titulo .mm-modelo {
	display: block;
	margin-bottom: 4px;
	color: var(--mm-texto);
	font-size: var(--mm-fs-3xl);
	line-height: 1.02;
	letter-spacing: -0.02em;
}

.mm-ficha-titulo .mm-desc {
	display: block;
}

.mm-ficha-codigo {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-bottom: 18px;
	font-size: var(--mm-fs-sm);
	color: var(--mm-texto-2);
}

.mm-ficha-sku {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.mm-ficha-sku strong {
	color: var(--mm-texto);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.mm-copiar {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: var(--mm-radio-sm);
	background: none;
	color: var(--mm-texto-3);
}

.mm-copiar:hover {
	background: var(--mm-fondo-2);
	color: var(--mm-marca);
}

.mm-copiar .mm-icon {
	width: 16px;
	height: 16px;
}

.mm-ficha-votos {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mm-texto-2);
	text-decoration: none;
}

.mm-ficha-votos .star-rating {
	margin: 0;
}

.mm-main div.product div.summary p.price,
.mm-main div.product div.summary span.price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 14px;
	margin: 0;
	padding-top: 18px;
	border-top: 1px solid var(--mm-borde);
	color: var(--mm-texto);
	font-size: clamp(2rem, 1.6rem + 1.4vw, 2.6rem);
	font-weight: 700;
	font-family: var(--mm-fuente-titulo);
	line-height: 1;
	letter-spacing: -0.02em;
}

.mm-main div.product div.summary p.price ins {
	order: 1;
	color: var(--mm-oferta);
	text-decoration: none;
	font-weight: inherit;
}

.mm-main div.product div.summary p.price del {
	order: 2;
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-lg);
	font-weight: 400;
	font-family: var(--mm-fuente);
	letter-spacing: 0;
	opacity: 1;
}

.mm-ficha-ahorro {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 10px 0 0;
	color: var(--mm-oferta);
	font-size: var(--mm-fs-md);
}

.mm-ficha-ahorro-pct {
	padding: 2px 8px;
	border-radius: var(--mm-radio-sm);
	background: var(--mm-oferta-suave);
	font-weight: 650;
}

.mm-otra-moneda {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: 8px 0 0;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
}

.mm-otra-moneda-item {
	font-weight: 650;
	color: var(--mm-texto);
}

.mm-otra-moneda small {
	color: var(--mm-texto-3);
	font-size: var(--mm-fs-xs);
}

.mm-main div.product div.summary .woocommerce-product-details__short-description {
	margin: 20px 0 0;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-base);
}

.mm-corta.is-recortada {
	max-height: 11.5em;
	overflow: hidden;
	mask-image: linear-gradient(180deg, #000 55%, transparent);
	-webkit-mask-image: linear-gradient(180deg, #000 55%, transparent);
}

.mm-ver-mas {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 6px 0 0;
	padding: 6px 0;
	border: 0;
	background: none;
	color: var(--mm-azul);
	font-family: var(--mm-fuente-titulo);
	font-size: var(--mm-fs-md);
	font-weight: 600;
}

.mm-ver-mas:hover {
	color: var(--mm-magenta-ui);
}

.mm-ver-mas .mm-icon {
	width: 16px;
	height: 16px;
	transition: transform 0.2s var(--mm-curva);
}

.mm-ver-mas[aria-expanded="true"] .mm-icon {
	transform: rotate(180deg);
}

.mm-main div.product div.summary .woocommerce-product-details__short-description iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: var(--mm-radio);
}

.mm-main div.product div.summary .stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 22px 0 0;
	padding: 6px 12px 6px 10px;
	border-radius: var(--mm-pill);
	background: var(--mm-exito-fondo);
	color: var(--mm-exito);
	font-size: var(--mm-fs-sm);
	font-weight: 700;
}

.mm-main div.product div.summary .stock::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 22%, transparent);
}

.mm-main div.product div.summary .stock.out-of-stock {
	background: var(--mm-error-fondo);
	color: var(--mm-error);
}

.mm-main div.product div.summary .stock.available-on-backorder {
	background: var(--mm-aviso-fondo);
	color: var(--mm-aviso);
}

.mm-main div.product div.summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin: 16px 0 10px;
}

.mm-main div.product div.summary form.cart::before,
.mm-main div.product div.summary form.cart::after {
	display: none;
}

.mm-main div.product div.summary form.cart.variations_form,
.mm-main div.product div.summary form.cart.grouped_form {
	display: block;
}

.mm-main div.product div.summary form.cart .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 56px;
	margin: 0;
	font-size: var(--mm-fs-base);
	font-weight: 600;
	float: none;
}

.mm-main div.product div.summary form.cart .single_add_to_cart_button.loading {
	opacity: 0.75;
}

.mm-main div.product div.summary form.cart .single_add_to_cart_button.loading::after {
	position: static;
	margin-left: 8px;
}

.mm-main div.product div.summary form.cart .quantity {
	float: none;
	margin: 0;
}

.mm-main div.product div.summary form.cart .variations {
	margin-bottom: 12px;
}

.mm-main div.product div.summary form.cart .variations td,
.mm-main div.product div.summary form.cart .variations th {
	padding: 6px 0;
	vertical-align: middle;
}

.mm-main div.product div.summary form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mm-fav-texto {
	position: static;
	width: auto;
	height: auto;
	min-height: 56px;
	gap: 6px;
	padding: 0 16px;
	border: 1.5px solid var(--mm-borde-fuerte);
	border-radius: var(--mm-radio);
	box-shadow: none;
	background: #fff;
	color: var(--mm-texto-2);
	display: inline-flex;
	align-items: center;
	font-size: var(--mm-fs-md);
	font-weight: 650;
}

.mm-fav-texto:hover {
	border-color: var(--mm-oferta);
	transform: none;
}

/* Cantidad − / + */
.mm-main .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1.5px solid var(--mm-borde-fuerte);
	border-radius: var(--mm-radio);
	background: #fff;
	overflow: hidden;
}

.mm-main .quantity .qty,
.mm-cajon .quantity .qty {
	width: 52px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	text-align: center;
	font-size: var(--mm-fs-base);
	font-weight: 700;
	-moz-appearance: textfield;
}

.mm-main .quantity .qty:focus {
	box-shadow: none;
}

.mm-main .quantity .qty::-webkit-inner-spin-button,
.mm-main .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.mm-qty-btn {
	display: grid;
	place-items: center;
	width: 40px;
	padding: 0;
	border: 0;
	background: var(--mm-fondo-2);
	color: var(--mm-texto);
}

.mm-qty-btn:hover {
	background: var(--mm-fondo-3);
	color: var(--mm-marca);
}

.mm-qty-btn .mm-icon {
	width: 16px;
	height: 16px;
}

.mm-main div.product div.summary form.cart .quantity .qty {
	min-height: 52px;
}

.mm-ficha-wa {
	width: 100%;
	min-height: 52px;
	margin-bottom: 6px;
}

.mm-ficha-ventajas {
	display: grid;
	gap: 2px;
	margin: 18px 0 0;
	padding: 6px 16px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	list-style: none;
	background: var(--mm-fondo-2);
}

.mm-ficha-ventajas li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
}

.mm-ficha-ventajas li + li {
	border-top: 1px solid var(--mm-borde);
}

.mm-ficha-ventajas .mm-icon {
	width: 24px;
	height: 24px;
	color: var(--mm-marca);
}

.mm-ficha-ventajas span {
	display: grid;
	line-height: 1.3;
}

.mm-ficha-ventajas strong {
	font-size: var(--mm-fs-md);
	font-weight: 700;
}

.mm-ficha-ventajas small {
	font-size: var(--mm-fs-sm);
	color: var(--mm-texto-2);
}

.mm-main div.product div.summary .product_meta {
	display: grid;
	gap: 4px;
	margin-top: 18px;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
}

.mm-main div.product div.summary .product_meta .sku_wrapper {
	display: none;
}

.mm-main div.product div.summary .product_meta a {
	color: var(--mm-texto-2);
}

.mm-compartir {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
}

.mm-compartir span {
	margin-right: 6px;
}

.mm-compartir a,
.mm-compartir button {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid var(--mm-borde);
	border-radius: 50%;
	background: #fff;
	color: var(--mm-texto-2);
}

.mm-compartir a:hover,
.mm-compartir button:hover {
	border-color: var(--mm-marca);
	color: var(--mm-marca);
}

.mm-compartir .mm-icon {
	width: 16px;
	height: 16px;
}

/* Pestañas: subrayado simple, sin las «orejas» de WooCommerce */
.mm-main div.product .woocommerce-tabs {
	margin-top: 16px;
}

.mm-main div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 4px;
	margin: 0 0 28px;
	padding: 0;
	border-bottom: 1px solid var(--mm-borde);
	overflow-x: auto;
	scrollbar-width: none;
}

.mm-main div.product .woocommerce-tabs ul.tabs::before,
.mm-main div.product .woocommerce-tabs ul.tabs li::before,
.mm-main div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.mm-main div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.mm-main div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 14px 18px;
	border-bottom: 3px solid transparent;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-base);
	font-weight: 650;
	white-space: nowrap;
}

.mm-main div.product .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--mm-marca);
	color: var(--mm-texto);
}

.mm-main div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--mm-marca);
}

.mm-main div.product .woocommerce-tabs .panel {
	max-width: 980px;
	margin: 0 0 32px;
}

/* Contenido (descripción, páginas, entradas) */
.mm-contenido-texto,
.mm-main .woocommerce-Tabs-panel--description {
	font-size: var(--mm-fs-base);
	line-height: 1.7;
}

.mm-contenido-texto {
	max-width: 860px;
}

.mm-contenido h2,
.mm-main .woocommerce-Tabs-panel h2 {
	margin-top: 1.6em;
	font-size: var(--mm-fs-2xl);
	font-weight: 600;
	letter-spacing: -0.02em;
}

.mm-contenido h3,
.mm-main .woocommerce-Tabs-panel h3 {
	margin-top: 1.4em;
	font-size: var(--mm-fs-xl);
	font-weight: 600;
}

/* Las descripciones importadas traen <strong> dentro de los títulos. */
.mm-contenido :is(h1, h2, h3, h4) :is(strong, b),
.mm-main .woocommerce-Tabs-panel :is(h1, h2, h3, h4) :is(strong, b),
.mm-main .woocommerce-product-details__short-description :is(h1, h2, h3, h4) :is(strong, b) {
	font-weight: inherit;
}

.mm-contenido :is(ul, ol) {
	padding-left: 1.3em;
}

.mm-contenido li + li {
	margin-top: 0.3em;
}

.mm-contenido img {
	border-radius: var(--mm-radio);
}

.mm-contenido blockquote {
	margin: 1.5em 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--mm-marca);
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-lg);
}

/* Tablas de ficha técnica (las descripciones del importador traen tablas). */
.mm-contenido table,
.mm-main .woocommerce-Tabs-panel table,
.mm-main table.shop_attributes {
	width: 100%;
	margin: 1em 0 1.5em;
	border: 1px solid var(--mm-borde);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--mm-radio);
	overflow: hidden;
	font-size: var(--mm-fs-md);
}

.mm-contenido table :is(td, th),
.mm-main .woocommerce-Tabs-panel table :is(td, th),
.mm-main table.shop_attributes :is(td, th) {
	padding: 10px 16px;
	border: 0;
	border-bottom: 1px solid var(--mm-borde);
	text-align: left;
	vertical-align: top;
	line-height: 1.5;
}

.mm-main .woocommerce-Tabs-panel table tr:last-child :is(td, th),
.mm-main table.shop_attributes tr:last-child :is(td, th) {
	border-bottom: 0;
}

.mm-main .woocommerce-Tabs-panel table thead td,
.mm-main .woocommerce-Tabs-panel table th,
.mm-contenido table thead :is(td, th) {
	background: var(--mm-tinta);
	color: #fff;
	font-weight: 700;
}

.mm-main .woocommerce-Tabs-panel table tbody tr:nth-child(even) td,
.mm-main table.shop_attributes tr:nth-child(even) :is(td, th) {
	background: var(--mm-fondo-2);
}

.mm-main .woocommerce-Tabs-panel table tr:not(:has(> :nth-child(3))) > td:first-child,
.mm-main table.shop_attributes th {
	width: 38%;
	color: var(--mm-texto-2);
	font-weight: 600;
}

.mm-main .woocommerce-Tabs-panel table tr:has(> :nth-child(4)) > td:nth-child(odd) {
	color: var(--mm-texto-2);
	font-weight: 600;
}

/* Tablas de más de 4 columnas: se deslizan dentro de la pestaña. */
.mm-main .woocommerce-Tabs-panel table:has(td:nth-child(5)),
.mm-contenido table:has(td:nth-child(5)) {
	display: block;
	overflow-x: auto;
}

.mm-main .woocommerce-Tabs-panel {
	overflow-wrap: anywhere;
}

.mm-main table.shop_attributes th {
	background: transparent;
	color: var(--mm-texto-2);
}

.mm-main table.shop_attributes td p {
	margin: 0;
	padding: 0;
	font-style: normal;
}

/* Valoraciones */
.mm-main #reviews #comments ol.commentlist li .comment-text {
	border-color: var(--mm-borde);
	border-radius: var(--mm-radio);
}

.mm-main #review_form #respond {
	padding: 20px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	background: var(--mm-fondo-2);
}

/* Carruseles bajo la ficha */
.mm-ficha-sec {
	padding-block: 32px 0;
	border-top: 1px solid var(--mm-borde);
}

/* Barra fija de compra */
.mm-barra-compra {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 120;
	padding-bottom: env(safe-area-inset-bottom);
	border-top: 1px solid var(--mm-borde);
	background: #fff;
	box-shadow: 0 -10px 30px -16px rgb(10 15 44 / 35%);
	transform: translateY(110%);
	transition: transform 0.3s var(--mm-curva);
}

.mm-barra-compra.is-visible {
	transform: none;
}

.mm-barra-compra-in {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 72px;
}

.mm-barra-compra-in .mm-barra-compra-img {
	width: 52px;
	height: 52px;
	object-fit: contain;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-sm);
}

.mm-barra-compra-texto {
	display: grid;
	min-width: 0;
	line-height: 1.2;
	margin-right: auto;
}

.mm-barra-compra-texto strong {
	overflow: hidden;
	font-size: var(--mm-fs-base);
	font-weight: 650;
	font-family: var(--mm-fuente-titulo);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mm-barra-compra-precio {
	font-size: var(--mm-fs-md);
	font-weight: 700;
}

.mm-barra-compra-precio del {
	color: var(--mm-texto-3);
	font-weight: 400;
}

.mm-barra-compra-precio ins {
	color: var(--mm-oferta);
	text-decoration: none;
}

/* ---------------------------------------------------------------------------
   15. Carrito lateral (mini carrito)
   --------------------------------------------------------------------------- */
.mm-cajon-aviso {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	background: var(--mm-exito-fondo);
	color: var(--mm-exito);
	font-size: var(--mm-fs-md);
	font-weight: 650;
}

.mm-cajon-aviso .mm-icon {
	width: 18px;
	height: 18px;
}

.mm-cajon .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.mm-cajon .woocommerce-mini-cart {
	flex: 1;
	margin: 0;
	padding: 4px 20px;
	list-style: none;
}

.mm-cajon .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 14px;
	padding: 16px 32px 16px 0;
	border-bottom: 1px solid var(--mm-borde);
	font-size: var(--mm-fs-md);
	line-height: 1.35;
}

.mm-cajon .woocommerce-mini-cart-item > a:not(.remove) {
	display: contents;
	color: var(--mm-texto);
	font-weight: 600;
	text-decoration: none;
}

/* Más específico que «.woocommerce ul.product_list_widget li img» (32 px, flotando). */
.mm-cajon .woocommerce-mini-cart li.woocommerce-mini-cart-item img {
	grid-row: 1 / span 2;
	width: 72px;
	height: 72px;
	object-fit: contain;
	float: none;
	margin: 0;
	padding: 6px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio);
	background: #fff;
}

.mm-cajon .woocommerce-mini-cart-item .quantity {
	display: block;
	grid-column: 2;
	margin-top: 6px;
	border: 0;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
}

.mm-cajon .woocommerce-mini-cart-item .quantity .amount {
	color: var(--mm-texto);
	font-weight: 700;
}

.mm-cajon .woocommerce-mini-cart-item .variation {
	grid-column: 2;
	margin: 4px 0 0;
	font-size: var(--mm-fs-xs);
	color: var(--mm-texto-2);
}

.mm-cajon .woocommerce-mini-cart-item a.remove {
	position: absolute;
	top: 14px;
	right: 0;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: var(--mm-texto-3) !important;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}

.mm-cajon .woocommerce-mini-cart-item a.remove:hover {
	background: var(--mm-error-fondo);
	color: var(--mm-error) !important;
}

.mm-cajon .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0;
	padding: 16px 20px 6px;
	border-top: 1px solid var(--mm-borde);
	font-size: var(--mm-fs-base);
}

.mm-cajon .woocommerce-mini-cart__total .amount {
	font-size: var(--mm-fs-xl);
	font-weight: 700;
	font-family: var(--mm-fuente-titulo);
}

.mm-cajon .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0;
	padding: 10px 20px 20px;
}

.mm-cajon .woocommerce-mini-cart__buttons .button {
	width: 100%;
	margin: 0;
}

.mm-cajon .woocommerce-mini-cart__buttons .button.checkout {
	order: -1;
	min-height: 52px;
	font-size: var(--mm-fs-base);
}

.mm-cajon .woocommerce-mini-cart__empty-message {
	display: none;
}

.mm-mini-vacio {
	display: grid;
	justify-items: center;
	gap: 8px;
	padding: 56px 24px;
	text-align: center;
	color: var(--mm-texto-2);
}

.mm-mini-vacio > .mm-icon {
	width: 48px;
	height: 48px;
	color: var(--mm-borde-fuerte);
}

.mm-cajon-ayuda {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--mm-wa-texto);
	font-size: var(--mm-fs-md);
	font-weight: 650;
	text-decoration: none;
}

.mm-cajon .blockUI.blockOverlay {
	background: rgb(255 255 255 / 70%) !important;
}

/* ---------------------------------------------------------------------------
   16. Carrito, pago y cuenta
   --------------------------------------------------------------------------- */
.mm-pagina {
	padding-block: 20px var(--mm-sec);
}

.mm-pagina-cab {
	margin-bottom: 28px;
}

.mm-pagina-titulo {
	margin: 0;
	font-size: var(--mm-fs-3xl);
	font-weight: 700;
}

.mm-pagina-desc {
	margin-top: 8px;
	color: var(--mm-texto-2);
}

.mm-pasos {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	counter-reset: none;
	font-size: var(--mm-fs-md);
	color: var(--mm-texto-3);
}

.mm-pasos li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
}

.mm-pasos li + li::before {
	content: "";
	width: clamp(16px, 5vw, 56px);
	height: 2px;
	margin-right: 4px;
	background: var(--mm-borde);
}

.mm-paso-n {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--mm-fondo-3);
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
	font-weight: 650;
}

.mm-paso-n .mm-icon {
	width: 16px;
	height: 16px;
	stroke-width: 3;
}

.mm-pasos .is-actual {
	color: var(--mm-texto);
}

.mm-pasos .is-actual .mm-paso-n {
	background: var(--mm-marca);
	color: #fff;
}

.mm-pasos .is-hecho {
	color: var(--mm-exito);
}

.mm-pasos .is-hecho .mm-paso-n {
	background: var(--mm-exito);
	color: #fff;
}

.mm-pasos .is-hecho + li::before {
	background: var(--mm-exito);
}

/* Carrito */
.woocommerce-cart .mm-contenido > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	gap: 0 40px;
	align-items: start;
}

.woocommerce-cart .mm-contenido > .woocommerce > * {
	grid-column: 1 / -1;
}

.woocommerce-cart .mm-contenido > .woocommerce > .woocommerce-cart-form {
	grid-column: 1;
}

.mm-main .woocommerce-cart .mm-contenido > .woocommerce > .cart-collaterals,
.woocommerce-cart .mm-contenido > .woocommerce > .cart-collaterals {
	grid-column: 2;
	grid-row: span 2;
	position: sticky;
	top: calc(var(--mm-cab-fija) + 16px);
}

.mm-main table.shop_table {
	margin: 0 0 24px;
	border: 1px solid var(--mm-borde);
	border-collapse: separate;
	border-radius: var(--mm-radio-lg);
	background: #fff;
	overflow: hidden;
}

.mm-main table.shop_table :is(th, td) {
	padding: 14px 16px;
	border-top: 1px solid var(--mm-borde);
}

.mm-main table.shop_table thead th {
	border-top: 0;
	background: var(--mm-fondo-2);
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.mm-main table.cart td.product-thumbnail {
	width: 104px;
}

.mm-main table.cart td.product-thumbnail img {
	width: 80px;
	height: 80px;
	object-fit: contain;
	padding: 4px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-sm);
	background: #fff;
}

.mm-main table.cart .product-name a {
	color: var(--mm-texto);
	font-weight: 600;
	text-decoration: none;
}

.mm-main table.cart .product-name a:hover {
	color: var(--mm-marca);
}

.mm-main table.cart a.remove {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	color: var(--mm-texto-3) !important;
	font-size: 22px;
	font-weight: 400;
}

.mm-main table.cart a.remove:hover {
	background: var(--mm-error-fondo);
	color: var(--mm-error) !important;
}

.mm-main table.cart td.actions {
	background: var(--mm-fondo-2);
}

.mm-main table.cart td.actions .coupon .input-text {
	width: 180px;
	min-height: 46px;
	margin-right: 8px;
	padding: 10px 14px;
	border: 1.5px solid var(--mm-borde-fuerte);
	border-radius: var(--mm-radio);
}

.mm-main .cart-collaterals .cart_totals {
	float: none;
	width: auto;
	padding: 22px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	background: var(--mm-fondo-2);
}

.mm-main .cart-collaterals .cart_totals h2 {
	font-size: var(--mm-fs-xl);
}

.mm-main .cart-collaterals .cart_totals table.shop_table {
	border: 0;
	background: transparent;
}

.mm-main .cart-collaterals .cart_totals table.shop_table :is(th, td) {
	padding: 12px 0;
	background: transparent;
}

.mm-main .cart-collaterals .cart_totals .order-total .amount {
	font-size: var(--mm-fs-xl);
	font-weight: 700;
	font-family: var(--mm-fuente-titulo);
}

.mm-main .wc-proceed-to-checkout {
	padding: 0;
}

.mm-main .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	min-height: 56px;
	margin-bottom: 12px;
	font-size: var(--mm-fs-base);
}

.mm-seguir {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-md);
	font-weight: 600;
	text-decoration: none;
}

.mm-seguir .mm-icon {
	width: 16px;
	height: 16px;
}

.mm-pago-confianza {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--mm-borde);
	list-style: none;
	color: var(--mm-texto-2);
	font-size: var(--mm-fs-sm);
}

.mm-pago-confianza li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mm-pago-confianza .mm-icon {
	width: 18px;
	height: 18px;
	color: var(--mm-exito);
}

/* Pago: datos a la izquierda, resumen a la derecha */
.mm-main form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
	grid-template-rows: auto 1fr;
	column-gap: 40px;
	align-items: start;
}

.mm-main form.checkout > * {
	grid-column: 1;
}

.mm-main form.checkout > #customer_details {
	grid-row: 1 / span 2;
}

.mm-main form.checkout > #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	padding: 20px 22px 0;
	border: 1px solid var(--mm-borde);
	border-bottom: 0;
	border-radius: var(--mm-radio-lg) var(--mm-radio-lg) 0 0;
	background: var(--mm-fondo-2);
	font-size: var(--mm-fs-xl);
}

.mm-main form.checkout > #order_review {
	grid-column: 2;
	grid-row: 2;
	padding: 8px 22px 22px;
	border: 1px solid var(--mm-borde);
	border-top: 0;
	border-radius: 0 0 var(--mm-radio-lg) var(--mm-radio-lg);
	background: var(--mm-fondo-2);
	position: sticky;
	top: calc(var(--mm-cab-fija) + 16px);
}

.mm-main form.checkout > .woocommerce-NoticeGroup {
	grid-column: 1 / -1;
	grid-row: 1;
}

.mm-main form.checkout:has(> .woocommerce-NoticeGroup) {
	grid-template-rows: auto auto 1fr;
}

.mm-main form.checkout:has(> .woocommerce-NoticeGroup) > #customer_details {
	grid-row: 2 / span 2;
}

.mm-main form.checkout:has(> .woocommerce-NoticeGroup) > #order_review_heading {
	grid-row: 2;
}

.mm-main form.checkout:has(> .woocommerce-NoticeGroup) > #order_review {
	grid-row: 3;
}

.mm-main #customer_details.col2-set .col-1,
.mm-main #customer_details.col2-set .col-2 {
	float: none;
	width: auto;
}

.mm-main #customer_details h3 {
	font-size: var(--mm-fs-xl);
}

.mm-main .woocommerce-checkout #order_review table.shop_table {
	border: 0;
	background: transparent;
	border-radius: 0;
}

.mm-main #order_review table.shop_table :is(th, td) {
	padding: 12px 0;
	background: transparent;
}

.mm-main #order_review .order-total .amount {
	font-size: var(--mm-fs-xl);
	font-weight: 700;
	font-family: var(--mm-fuente-titulo);
}

.mm-main #payment {
	border-radius: var(--mm-radio);
	background: #fff;
	border: 1px solid var(--mm-borde);
}

.mm-main #payment ul.payment_methods {
	padding: 14px 16px;
	border-bottom: 1px solid var(--mm-borde);
}

.mm-main #payment div.payment_box {
	border-radius: var(--mm-radio-sm);
	background: var(--mm-fondo-2);
	color: var(--mm-texto-2);
}

.mm-main #payment div.payment_box::before {
	border-bottom-color: var(--mm-fondo-2);
}

.mm-main #payment #place_order {
	width: 100%;
	min-height: 56px;
	font-size: var(--mm-fs-base);
	float: none;
}

.mm-main form .form-row {
	margin: 0 0 14px;
	padding: 0;
}

.mm-main form .form-row :is(.input-text, select) {
	min-height: 46px;
	padding: 10px 14px;
	line-height: 1.4;
}

.mm-main form .form-row label {
	margin-bottom: 4px;
	line-height: 1.4;
}

.mm-main form .form-row .required {
	color: var(--mm-error);
	text-decoration: none;
}

.mm-main form .form-row.woocommerce-invalid :is(input.input-text, select) {
	border-color: var(--mm-error);
}

.mm-main .select2-container--default .select2-selection--single {
	height: 46px;
	border: 1.5px solid var(--mm-borde-fuerte);
	border-radius: var(--mm-radio);
}

.mm-main .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 38px 0 14px;
	line-height: 43px;
	color: var(--mm-texto);
}

.mm-main .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 9px;
	right: 8px;
}

.select2-dropdown {
	border-color: var(--mm-borde-fuerte) !important;
	border-radius: var(--mm-radio) !important;
	overflow: hidden;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--mm-marca) !important;
}

/* Pedido recibido */
.mm-main .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 28px;
	padding: 0;
}

.mm-main ul.order_details li {
	flex: 1 1 160px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio);
	background: var(--mm-fondo-2);
}

.mm-main .woocommerce-thankyou-order-received {
	padding: 18px 20px;
	border-radius: var(--mm-radio-lg);
	background: var(--mm-exito-fondo);
	color: var(--mm-exito);
	font-size: var(--mm-fs-lg);
	font-weight: 700;
}

/* Mi cuenta */
.woocommerce-account .mm-contenido > .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.woocommerce-account .mm-main .woocommerce-MyAccount-navigation,
.woocommerce-account .mm-main .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.mm-main .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 8px;
	list-style: none;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
	background: var(--mm-fondo-2);
}

.mm-main .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 14px;
	border-radius: var(--mm-radio-sm);
	color: var(--mm-texto);
	font-weight: 550;
	text-decoration: none;
}

.mm-main .woocommerce-MyAccount-navigation a:hover {
	background: #fff;
	color: var(--mm-marca);
}

.mm-main .woocommerce-MyAccount-navigation .is-active a {
	background: var(--mm-marca);
	color: #fff;
}

.mm-main #customer_login.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.mm-main #customer_login.col2-set::before,
.mm-main #customer_login.col2-set::after {
	display: none;
}

.mm-main #customer_login .u-column1,
.mm-main #customer_login .u-column2 {
	float: none;
	width: auto;
}

.mm-contenido > .woocommerce > form.login,
.mm-main form.lost_reset_password {
	max-width: 560px;
}

.mm-main form.login,
.mm-main form.register,
.mm-main form.lost_reset_password {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio-lg);
}

/* Favoritos */
.mm-favoritos-vacio {
	max-width: 520px;
	margin: 24px auto;
	padding: 40px 24px;
	border: 1px dashed var(--mm-borde-fuerte);
	border-radius: var(--mm-radio-lg);
	color: var(--mm-texto-2);
	text-align: center;
}

/* 404 */
.mm-404 {
	max-width: 720px;
	text-align: center;
}

.mm-404-codigo {
	margin: 0;
	font-size: clamp(5rem, 4rem + 6vw, 9rem);
	font-weight: 800;
	font-family: var(--mm-fuente-titulo);
	line-height: 1;
	color: var(--mm-marca-suave-2);
	-webkit-text-stroke: 2px var(--mm-marca);
}

.mm-404 .mm-busca {
	margin: 24px auto;
}

.mm-404-acciones {
	display: flex;
	justify-content: center;
	gap: 10px;
}

/* Blog */
.mm-blog.con-lateral {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 40px;
}

.mm-blog .mm-blog-rejilla {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.mm-entrada-portada {
	margin: 0 0 28px;
	overflow: hidden;
	border-radius: var(--mm-radio-lg);
}

.mm-entrada-portada img {
	width: 100%;
	display: block;
}

.mm-buscar-blog {
	display: flex;
	gap: 8px;
	max-width: 480px;
	margin: 16px auto 0;
}

.post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 32px;
}

.post-navigation a {
	display: grid;
	padding: 16px;
	border: 1px solid var(--mm-borde);
	border-radius: var(--mm-radio);
	color: var(--mm-texto);
	text-decoration: none;
}

.post-navigation small {
	color: var(--mm-texto-3);
}

/* Editor de bloques y Elementor dentro de páginas */
.mm-contenido .alignwide {
	max-width: none;
}

.mm-ancho-completo-contenido > .alignfull,
.mm-contenido .alignfull {
	margin-inline: calc(50% - 50vw);
	max-width: 100vw;
}

/* ---------------------------------------------------------------------------
   17. Animaciones
   --------------------------------------------------------------------------- */
@keyframes mm-aparecer {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
}

@keyframes mm-latido {
	40% {
		transform: scale(1.3);
	}
}

@keyframes mm-cinta {
	to {
		transform: translateX(-100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.mm-marcas.is-cinta {
		overflow-x: auto;
	}
}

/* Barra superior en el teléfono: solo los mensajes (la dirección está en el pie y en la portada). */
@media (max-width: 767px) {
	.mm-barra-tienda {
		display: none;
	}

	.mm-marcas-az {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.mm-marca-az {
		padding: 14px 10px;
	}
}

/* ---------------------------------------------------------------------------
   18. Responsivo (ordenador primero; cortes 1280 · 1024 · 768 · 480)
   --------------------------------------------------------------------------- */
/* Barra superior en pantallas medianas: menos mensajes (en el teléfono rotan). */
@media (min-width: 1024px) and (max-width: 1280px) {
	.mm-barra-mensajes li:nth-child(n + 3) {
		display: none;
	}
}

@media (min-width: 1024px) and (max-width: 1100px) {
	.mm-barra-mensajes li:nth-child(n + 2) {
		display: none;
	}
}

@media (max-width: 1280px) {
	.mm-ayuda-texto {
		display: none;
	}

	.mm-principal-in {
		gap: 20px;
	}

	.mm-main .mm-carrusel ul.products.mm-carrusel-pista {
		grid-auto-columns: calc((100% - 3 * 16px) / 4);
	}

	.mm-main .mm-carrusel-4 ul.products.mm-carrusel-pista {
		grid-auto-columns: calc((100% - 2 * 16px) / 3);
	}

	.mm-nav-asesor {
		display: none;
	}

	.mm-pie-in {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mm-pie-marca {
		grid-column: 1 / -1;
	}
}

@media (max-width: 1100px) {
	.mm-accion-texto,
	.mm-accion-carrito .mm-accion-texto {
		display: none;
	}

	.mm-accion-carrito {
		padding: 6px 12px;
	}

	.mm-tienda {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 24px;
	}

	.mm-main ul.products[class] {
		--mm-cols: 3;
	}

}

@media (max-width: 1023px) {
	:root {
		--mm-sec: clamp(36px, 7vw, 56px);
	}

	.mm-barra-der .mm-barra-nav,
	.mm-barra-der .mm-moneda {
		display: none;
	}

	.mm-barra-in {
		justify-content: center;
		min-height: 34px;
	}

	.mm-barra-mensajes {
		display: grid;
		justify-items: center;
	}

	.mm-barra-mensajes li {
		grid-area: 1 / 1;
		opacity: 0;
		transform: translateY(6px);
		transition: opacity 0.4s, transform 0.4s var(--mm-curva);
	}

	.mm-barra-mensajes li.is-visible {
		opacity: 1;
		transform: none;
	}

	.mm-principal-in {
		grid-template-columns: auto auto minmax(0, 1fr) auto;
		grid-template-areas:
			"menu logo . acciones"
			"busca busca busca busca";
		gap: 6px 8px;
		min-height: 0;
		padding-block: 8px 12px;
	}

	.mm-cabecera.is-compacta .mm-principal-in {
		min-height: 0;
		padding-block: 6px 8px;
	}

	.mm-abrir-menu {
		display: inline-grid;
		margin-left: -10px;
	}

	.mm-logo .mm-logo-img,
	.mm-cabecera.is-compacta .mm-logo .mm-logo-img {
		height: 40px;
	}

	.mm-ayuda {
		display: none;
	}

	.mm-busca {
		max-width: none;
	}

	.mm-busca .mm-busca-campo {
		min-height: 44px;
	}

	.mm-busca-btn {
		min-height: 38px;
		padding: 0 12px;
	}

	.mm-busca-btn-texto {
		display: none;
	}

	.mm-busca-btn .mm-icon {
		display: block;
	}

	.mm-busca-icono {
		display: none;
	}

	.mm-busca .mm-busca-campo {
		padding-left: 18px;
	}

	.mm-acciones {
		gap: 0;
		margin-right: -6px;
	}

	.mm-accion {
		padding: 6px 8px;
	}

	.mm-accion-cuenta {
		display: none;
	}

	.mm-accion-carrito {
		background: transparent;
		color: var(--mm-texto);
		padding: 6px 8px;
	}

	.mm-accion-carrito:hover {
		background: var(--mm-fondo-2);
		color: var(--mm-texto);
	}

	.mm-contador {
		left: 18px;
	}

	.mm-accion-favs .mm-contador {
		left: 22px;
	}

	.mm-moneda-movil {
		display: block;
	}

	.mm-nav {
		display: none;
	}

	.mm-tienda {
		grid-template-columns: minmax(0, 1fr);
	}

	.mm-tienda-filtros.mm-cajon-escritorio {
		position: fixed;
		inset: 0;
		z-index: 200;
		display: flex;
		max-height: none;
		overflow: visible;
	}

	.mm-tienda-filtros.mm-cajon-escritorio:not(.is-abierto):not(.is-cerrando) {
		display: none;
	}

	.mm-cajon-escritorio .mm-cajon-velo {
		display: block;
	}

	.mm-cajon-escritorio .mm-cajon-caja {
		width: min(380px, 90vw);
		height: 100%;
		padding: 16px 20px 24px;
		overflow-y: auto;
		background: #fff;
		box-shadow: var(--mm-sombra-3);
		transform: translateX(-102%);
		transition: transform 0.32s var(--mm-curva);
	}

	.mm-cajon-escritorio.is-abierto .mm-cajon-caja {
		transform: none;
	}

	.mm-abrir-filtros {
		display: inline-flex;
	}

	.mm-herramientas {
		padding: 8px;
	}

	.mm-main .mm-herramientas .woocommerce-result-count {
		display: none;
	}

	.mm-ficha-top {
		grid-template-columns: minmax(0, 1fr);
	}

	.mm-main div.product .mm-ficha-top > div.summary {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}

	.mm-main div.product .mm-ficha-top > div.images {
		margin-bottom: 20px;
	}

	.woocommerce-cart .mm-contenido > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-cart .mm-contenido > .woocommerce > .cart-collaterals {
		grid-column: 1;
		position: static;
	}

	.mm-main form.checkout,
	.mm-main form.checkout:has(> .woocommerce-NoticeGroup) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
	}

	.mm-main form.checkout > #order_review_heading,
	.mm-main form.checkout > #order_review {
		grid-column: 1;
		grid-row: auto !important;
		position: static;
	}

	.mm-main form.checkout > #customer_details {
		grid-row: auto !important;
		margin-bottom: 24px;
	}

	.woocommerce-account .mm-contenido > .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
	}

	.mm-main .woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		gap: 4px;
	}

	.mm-main .woocommerce-MyAccount-navigation a {
		white-space: nowrap;
	}

	.mm-blog.con-lateral {
		grid-template-columns: minmax(0, 1fr);
	}

	.mm-blog-rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mm-wa-flotante-texto {
		display: none;
	}

	.mm-wa-flotante {
		width: 56px;
		padding: 0;
		justify-content: center;
	}
}

@media (max-width: 767px) {

	.mm-main ul.products[class] {
		--mm-cols: 2;
		gap: 22px 10px;
	}

	.mm-main .mm-carrusel ul.products.mm-carrusel-pista,
	.mm-main .mm-carrusel-4 ul.products.mm-carrusel-pista {
		grid-auto-columns: 46%;
		gap: 10px;
		margin-inline: calc(var(--mm-margen) * -1);
		padding-inline: var(--mm-margen);
		scroll-padding-inline: var(--mm-margen);
	}

	.mm-main ul.products li.product .mm-tarjeta-foto {
		padding: 10%;
	}

	.mm-tarjeta-cuerpo {
		padding: 10px 2px 0;
		gap: 3px;
	}

	.mm-main ul.products li.product .mm-modelo {
		font-size: var(--mm-fs-base);
	}

	.mm-main ul.products[class] li.product .woocommerce-loop-product__title {
		font-size: var(--mm-fs-sm);
	}

	.mm-main ul.products[class] li.product .price {
		font-size: var(--mm-fs-lg);
	}

	.mm-main ul.products li.product .price del {
		font-size: var(--mm-fs-xs);
	}

	.mm-main ul.products[class] li.product .button {
		min-height: 40px;
		padding: 6px 8px;
	}

	.mm-main ul.products li.product .button .mm-boton-texto {
		font-size: var(--mm-fs-xs);
	}

	.mm-etiquetas {
		top: 8px;
		left: 8px;
	}

	.mm-tarjeta-media .mm-fav {
		top: 4px;
		right: 4px;
		width: 36px;
		height: 36px;
	}

	.mm-fav-texto {
		width: 56px;
		padding: 0;
		justify-content: center;
	}

	.mm-fav-texto span {
		display: none;
	}

	.mm-main div.product div.summary form.cart .single_add_to_cart_button {
		flex-basis: 0;
		min-width: 0;
		padding-inline: 12px;
	}

	.mm-sec-cab {
		align-items: flex-start;
		margin-bottom: 16px;
	}

	.mm-sec-cab-acciones .mm-flechas {
		display: none;
	}

	.mm-boletin-in {
		padding-block: 24px;
	}

	.mm-boletin-form {
		justify-content: stretch;
	}

	.mm-boletin-form .mm-btn {
		width: 100%;
	}

	.mm-pie-in {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 20px;
		padding-block: 40px 32px;
	}

	.mm-pie-contacto {
		grid-column: 1 / -1;
	}

	.mm-pie-bajo-in {
		flex-direction: column;
		align-items: flex-start;
	}

	.mm-blog-rejilla {
		grid-template-columns: minmax(0, 1fr);
	}

	.mm-tienda-cab {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.mm-tienda-cab-logo {
		width: 120px;
		height: 70px;
	}

	.mm-herramientas-der {
		flex: 1;
		justify-content: flex-end;
	}

	.mm-herramientas .woocommerce-ordering select {
		max-width: 170px;
	}

	.mm-vista {
		display: none;
	}

	.mm-tienda.is-lista ul.products[class] {
		--mm-cols: 2;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mm-tienda.is-lista ul.products[class] li.product {
		display: flex;
	}

	.mm-tienda.is-lista ul.products li.product .mm-tarjeta-cuerpo {
		display: flex;
		border-left: 0;
		padding: 2px 12px 12px;
	}

	.mm-ficha-titulo .mm-modelo {
		font-size: var(--mm-fs-2xl);
	}

	.mm-main .mm-ficha-titulo {
		font-size: var(--mm-fs-base);
	}

	.mm-main div.product div.images .flex-control-thumbs {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 6px;
	}

	.mm-main .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-viewport))::after {
		aspect-ratio: 5 / 1;
	}

	.mm-main div.product div.images .flex-direction-nav a {
		opacity: 1;
		width: 36px;
		height: 36px;
	}

	.mm-main div.product .woocommerce-tabs ul.tabs li a {
		padding: 12px 12px;
		font-size: var(--mm-fs-md);
	}

	.mm-main .woocommerce-Tabs-panel table tr:not(:has(> :nth-child(3))) > td:first-child,
	.mm-main table.shop_attributes th {
		width: 44%;
	}

	.mm-main .woocommerce-Tabs-panel table:has(tr > :nth-child(4)),
	.mm-main .woocommerce-Tabs-panel table:has(tr > :nth-child(4)) > :is(tbody, thead) {
		display: block;
	}

	.mm-main .woocommerce-Tabs-panel table tr:has(> :nth-child(4)) {
		display: grid;
		grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
	}

	.mm-main .woocommerce-Tabs-panel table tr:has(> :nth-child(4)) > td {
		border-bottom: 1px solid var(--mm-borde);
	}

	.mm-contenido table :is(td, th),
	.mm-main .woocommerce-Tabs-panel table :is(td, th),
	.mm-main table.shop_attributes :is(td, th) {
		padding: 8px 10px;
		font-size: var(--mm-fs-sm);
	}

	.mm-barra-compra-in {
		gap: 10px;
		min-height: 64px;
	}

	.mm-barra-compra .mm-btn span {
		display: none;
	}

	.mm-barra-compra .mm-btn {
		min-width: 56px;
		padding: 10px 16px;
	}

	.mm-barra-compra-in .mm-barra-compra-img {
		width: 44px;
		height: 44px;
	}

	.mm-main #customer_login.col2-set {
		grid-template-columns: minmax(0, 1fr);
	}

	.mm-pasos {
		font-size: var(--mm-fs-sm);
	}

	.mm-pasos li span:last-child {
		display: none;
	}

	.mm-pasos li.is-actual span:last-child {
		display: inline;
	}

	.mm-pago-limpio .mm-pago-cab {
		gap: 12px;
	}

	.mm-pago-volver {
		display: none;
	}

	.mm-main table.cart img {
		width: 64px;
		height: 64px;
	}

	.mm-main table.cart td.actions .coupon .input-text {
		width: 100%;
		margin: 0 0 8px;
	}

	.post-navigation .nav-links {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 480px) {
	.mm-barra {
		font-size: var(--mm-fs-xs);
	}

	.mm-logo .mm-logo-img,
	.mm-cabecera.is-compacta .mm-logo .mm-logo-img {
		height: 34px;
	}

	.mm-accion-favs {
		display: none;
	}

	.mm-main .mm-carrusel ul.products.mm-carrusel-pista,
	.mm-main .mm-carrusel-4 ul.products.mm-carrusel-pista {
		grid-auto-columns: 62%;
	}

	.mm-pie-in {
		grid-template-columns: minmax(0, 1fr);
	}

}

@media (hover: none) {
}

@media print {
	.mm-cabecera,
	.mm-pie,
	.mm-boletin,
	.mm-wa-flotante,
	.mm-barra-compra,
	.mm-cajon {
		display: none !important;
	}
}
