/**
 * Tienda 2026 — estilos propios (el chrome vive en chrome-2026.css).
 * Medidas transcritas 1:1 de design-2026/templates/tienda/Tienda.dc.html.
 * Todo contenedor flex declara dirección y alineación: el tema viejo las pisa.
 */

.mpst-cabecera {
	padding: 64px max(56px, calc(50% - 664px)) 28px;
	display: flex; flex-direction: column; align-items: stretch; gap: 28px;
}
.mpst-intro { margin: -10px 0 0; font-size: 15px; line-height: 1.6; color: #8A8782; max-width: 560px; }

/* ---- Avisos de búsqueda y objetivo ---- */

.mpst-aviso { display: flex; flex-direction: row; align-items: center; gap: 16px; border-radius: 6px; padding: 16px 22px; flex-wrap: wrap; }
.mpst-aviso[hidden] { display: none; }
.mpst-aviso-busqueda { background: #0B0B0B; color: #FFFFFF; }
.mpst-aviso-objetivo { background: #F5F4F2; border: 1px solid #E4E2E0; color: #111111; }
.mpst-aviso-tag { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #C73D2C; }
.mpst-aviso-txt { font-size: 15px; font-weight: 700; }
.mpst-aviso-txt b { font-weight: 700; }
.mpst-aviso-txt i { font-style: normal; font-weight: 500; }
.mpst-aviso-busqueda .mpst-aviso-txt i, .mpst-aviso-via { color: #9A9A9A; }
.mpst-aviso-objetivo .mpst-aviso-txt i { color: #8A8782; }
.mpst-aviso-via { font-size: 12px; font-weight: 500; }
.mpst-aviso button {
	margin-left: auto; background: none; border-radius: 2px; height: 34px; padding: 0 14px; cursor: pointer;
	font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; width: auto;
}
.mpst-aviso-busqueda button { border: 1px solid #2A2A2A; color: #FFFFFF; }
.mpst-aviso-busqueda button:hover { border-color: #FFFFFF; }
.mpst-aviso-objetivo button { border: 1px solid #E4E2E0; color: #111111; }
.mpst-aviso-objetivo button:hover { border-color: #111111; }

/* ---- Barra de chips, conteo y orden ---- */

.mpst-barra { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; align-items: center; }
/* En escritorio el envoltorio no existe para el layout: los chips siguen siendo hijos flex de la barra. */
.mpst-chips { display: contents; }
.mpst-chip {
	display: inline-flex; align-items: center; width: auto; flex: 0 0 auto;
	height: 40px; padding: 0 18px; border-radius: 999px; cursor: pointer;
	font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
	border: 1.5px solid #E4E2E0; background: transparent; color: #111111; transition: all .15s ease;
}
.mpst-chip:hover { border-color: #111111; }
.mpst-chip-on, .mpst-chip-on:hover { border-color: #0B0B0B; background: #0B0B0B; color: #FFFFFF; }
.mpst-barra-der { margin-left: auto; display: flex; flex-direction: row; align-items: center; gap: 14px; flex: 0 0 auto; }
.mpst-conteo { font-size: 12.5px; color: #8A8782; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; }
#mpst-orden {
	height: 40px; width: auto; border: 1.5px solid #E4E2E0; border-radius: 2px; background: #FFFFFF;
	font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #111111; padding: 0 10px; cursor: pointer;
}

/* ---- Cuerpo: filtros + grilla ---- */

.mpst-cuerpo {
	padding: 0 max(56px, calc(50% - 664px)) 84px;
	display: grid; grid-template-columns: 250px 1fr; gap: 40px; align-items: start;
}
@media (max-width: 980px) { .mpst-cuerpo { grid-template-columns: 1fr; } }

.mpst-filtros { display: flex; flex-direction: column; align-items: stretch; gap: 24px; position: sticky; top: 104px; }
body.admin-bar .mpst-filtros { top: 136px; }
@media (max-width: 980px) { .mpst-filtros { position: static; } }
.mpst-filtros-titulo { font-size: 22px; font-weight: 800; letter-spacing: -0.01em; }
.mpst-bloque { display: flex; flex-direction: column; align-items: stretch; border-top: 1px solid #E4E2E0; padding-top: 18px; }
.mpst-bloque-titulo { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 8px; }
.mpst-bloque-fila { display: flex; flex-direction: row; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.mpst-bloque-fila .mpst-bloque-titulo { margin-bottom: 0; }
.mpst-precio-max { font-size: 13px; font-weight: 800; color: #C73D2C; }
#mpst-precio { width: 100%; accent-color: #C73D2C; cursor: pointer; }

.mpst-obj {
	display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 7px 0; width: 100%;
	background: none; border: none; cursor: pointer; text-align: left;
}
.mpst-radio { width: 16px; height: 16px; border-radius: 999px; border: 1.5px solid #8A8782; flex: none; }
.mpst-obj-on .mpst-radio { border: 5px solid #C73D2C; }
.mpst-obj-label { font-size: 13.5px; font-weight: 600; color: #111111; flex: 1; text-align: left; }
.mpst-obj-on .mpst-obj-label { font-weight: 700; }
.mpst-n { font-size: 12px; color: #8A8782; }

.mpst-check { display: flex; flex-direction: row; align-items: center; gap: 10px; cursor: pointer; padding: 7px 0; }
.mpst-check input { width: 16px; height: 16px; accent-color: #C73D2C; cursor: pointer; margin: 0; }
.mpst-check span:nth-child(2) { font-size: 13.5px; font-weight: 600; color: #111111; flex: 1; }

.mpst-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch; }
@media (max-width: 1180px) { .mpst-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .mpst-grid { grid-template-columns: 1fr; } }
.mpst-item { display: flex; flex-direction: column; align-items: stretch; }
.mpst-item > .mpsc-card { flex: 1; }
.mpst-item[hidden] { display: none; }

.mpst-vacio {
	grid-column: 1 / -1; border: 1px dashed #E4E2E0; border-radius: 6px; padding: 48px;
	display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
}
.mpst-vacio[hidden] { display: none; }
.mpst-vacio > span { font-size: 22px; font-weight: 800; letter-spacing: -0.01em; }
.mpst-vacio p { margin: 0; font-size: 14px; line-height: 1.6; color: #8A8782; max-width: 520px; }
.mpst-vacio > div { display: flex; flex-direction: row; gap: 12px; flex-wrap: wrap; }
.mpst-btn-chico { height: 48px; width: auto; }

/* Solo existe en móvil. */
.mpst-barra-movil { display: none; }

/* ======================================================================
 * MÓVIL (<= 900px) — design-2026/templates/tienda-mobile/TiendaMobile.dc.html
 * Mismo HTML y mismos filtros que el escritorio, con el lenguaje del mockup móvil:
 * chips de línea en fila deslizable, los objetivos del panel lateral convertidos en
 * chips cuadrados (activo en negro desde 21-09), precio + stock en una fila, grilla de 2 columnas
 * y barra fija "Ver carrito". Se conserva el orden (relevancia/precio), que el
 * mockup móvil no traía pero el escritorio sí.
 * ==================================================================== */
@media (max-width: 900px) {
	/* Página-herramienta: arranca a 32px del nav. */
	.mpst-cabecera { padding: 32px 0 0; gap: 16px; }
	.mpst-cabecera > .mpsc-heading, .mpst-cabecera > .mpst-intro, .mpst-cabecera > .mpst-aviso { margin-left: 18px; margin-right: 18px; }
	.mpst-cabecera .mpsc-heading h2 { font-size: 36px; }
	/* La intro (BPM, dosis, precio de fábrica) repite la trustbar: fuera, y la grilla sube ~100px. */
	.mpst-intro { display: none; }

	.mpst-aviso { padding: 12px 14px; gap: 6px 12px; }
	/* Con objetivo filtrado basta "Objetivo · Masa muscular" y "Ver todo ×": la frase descriptiva
	   ya la cuenta el banner del combo, y la caja gris era otra franja más. */
	.mpst-aviso-objetivo { background: transparent; border: 0; padding: 0; }
	.mpst-aviso-objetivo .mpst-aviso-txt i { display: none; }
	.mpst-aviso-txt { font-size: 13px; }
	.mps-2026 .mpst-aviso button { height: 44px; padding: 0 12px; font-size: 11px; }

	/* Chips de línea: una fila que se desliza, no tres renglones. */
	.mpst-barra { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; }
	.mpst-chips {
		display: flex; flex-direction: row; align-items: center; gap: 8px;
		overflow-x: auto; padding: 8px 18px 14px; scroll-padding-left: 18px;
		-webkit-overflow-scrolling: touch; scrollbar-width: none;
	}
	.mpst-chips::-webkit-scrollbar, #objetivos.mpst-bloque::-webkit-scrollbar { display: none; }
	/* 44px de toque, la misma altura que los chips de objetivo y los tabs de la home. */
	.mps-2026 .mpst-chip { height: 44px; padding: 0 16px; font-size: 11.5px; background: #FFFFFF; white-space: nowrap; }
	.mps-2026 .mpst-chip-on, .mps-2026 .mpst-chip-on:hover { background: #0B0B0B; }

	/* Conteo + orden = una línea de texto ("19 PRODUCTOS …… RELEVANCIA ▾"), sin filetes arriba ni abajo. */
	.mpst-barra-der {
		margin: 0; padding: 0 18px; justify-content: space-between; gap: 12px;
		border-top: 0; border-bottom: 0;
	}
	.mpst-conteo { font-size: 12px; letter-spacing: 0.06em; }
	/* El select pierde la caja (queda texto + flecha) y gana 44px de toque. */
	.mps-2026 #mpst-orden {
		-webkit-appearance: none; appearance: none; height: 44px; width: auto; max-width: 62%; margin: 0; padding: 0 16px 0 8px;
		border: 0; border-radius: 0; box-shadow: none;
		background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5'%3E%3Cpath d='M0 0h8L4 5z' fill='%23111111'/%3E%3C/svg%3E") no-repeat right center / 8px 5px;
		font-size: 12px; text-align: right; text-align-last: right;
	}

	/* ---- Filtros: de panel lateral a filas compactas ---- */
	/* minmax(0, …) y min-width: 0 a propósito: "1fr" no baja del ancho mínimo de su contenido, y la
	   fila deslizable de objetivos mide ~546px → toda la página quedaba con scroll horizontal (QA 18-09). */
	/* 72px de cierre antes de la trustbar (medida de sección). */
	.mpst-cuerpo { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 0 72px; }
	/* Filtros en 2 filas (objetivos | precio + stock) con UN solo filete al final: antes eran 4
	   filetes cortando 5 franjas en la primera pantalla. */
	.mpst-filtros, body.admin-bar .mpst-filtros {
		position: static; top: auto; gap: 0; min-width: 0;
		flex-direction: row; flex-wrap: wrap; align-items: flex-end; border-bottom: 1px solid #E4E2E0;
	}
	.mpst-filtros-titulo { display: none; }
	.mpst-bloque { border-top: 0; padding-top: 0; }

	#objetivos.mpst-bloque {
		flex: 0 0 100%; min-width: 0; flex-direction: row; align-items: center; gap: 8px;
		overflow-x: auto; padding: 8px 18px; scroll-padding-left: 18px; scrollbar-width: none;
		border-bottom: 0;
	}
	#objetivos .mpst-bloque-titulo { flex: none; margin: 0; font-size: 10.5px; letter-spacing: 0.1em; color: #8A8782; }
	.mps-2026 .mpst-obj {
		flex: none; width: auto; height: 44px; padding: 0 14px; gap: 0; justify-content: center;
		border: 1.5px solid #E4E2E0; border-radius: 2px; background: #FFFFFF;
	}
	.mpst-obj .mpst-radio, .mpst-obj .mpst-n { display: none; }
	.mpst-obj-label, .mpst-obj-on .mpst-obj-label { flex: none; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; }
	/* Controles de filtro en negro, como el chip de categoría activo: el rojo queda para los precios. */
	.mps-2026 .mpst-obj-on, .mps-2026 .mpst-obj-on:hover { border-color: #0B0B0B; background: #0B0B0B; }
	.mpst-obj-on .mpst-obj-label { color: #FFFFFF; }

	/* La lista de categorías con casillas repite lo que ya hacen los chips de arriba. */
	.mpst-bloque-cat { display: none; }

	/* Precio y "Solo en stock" comparten fila: PRECIO [slider] | ☐ Solo en stock. */
	.mpst-bloque-precio { flex: 1 1 0; min-width: 0; padding: 8px 16px 16px 18px; }
	.mpst-bloque-precio .mpst-bloque-titulo { font-size: 11px; letter-spacing: 0.1em; color: #8A8782; }
	.mpst-precio-max { color: #111111; }
	.mps-2026 #mpst-precio, .mps-2026 .mpst-check input { accent-color: #0B0B0B; }
	.mpst-bloque-stock { flex: none; padding: 8px 18px 16px 0; border-bottom: 0; }
	.mpst-bloque-stock .mpst-bloque-titulo { display: none; }
	.mpst-check { padding: 0; gap: 8px; min-height: 44px; } /* toda la fila es el área de toque */
	.mpst-check input { width: 15px; height: 15px; }
	.mpst-check span:nth-child(2) { font-size: 13px; }

	/* ---- Grilla: 2 columnas, tarjetas sin caja ---- */
	/* 32px entre filas y 16 entre columnas: sin bordes, las filas se leen por el aire, no por la caja. */
	.mpst-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; padding: 24px 18px 0; }
	.mpst-item { min-width: 0; }
	/* Las fotos ya traen fondo blanco: sin borde, radio ni sombra el producto "flota". (0,3,0) le gana
	   a .mpsc-card:hover del chrome. */
	.mps-2026 .mpst-grid .mpsc-card, .mps-2026 .mpst-grid .mpsc-card:hover { border-color: transparent; border-radius: 0; box-shadow: none; }
	.mpst-grid .mpsc-card-img { height: 168px; }
	.mpst-grid .mpsc-card-img img { padding: 8px; }
	.mpst-grid .mpsc-card-badge { top: 8px; left: 8px; font-size: 9.5px; padding: 5px 9px; }
	.mpst-grid .mpsc-card-info { padding: 12px 0 0; gap: 6px; border-top: 0; }
	.mpst-grid .mpsc-card-nombre { font-size: 13px; line-height: 1.3; overflow-wrap: anywhere; }
	.mpst-grid .mpsc-card-pie { gap: 10px; padding-top: 6px; }
	.mpst-grid .mpsc-card-precio { font-size: 15px; white-space: normal; }
	.mpst-grid .mpsc-card-btn { flex: 1 1 100%; height: 44px; padding: 0 8px; font-size: 11.5px; }

	.mpst-vacio { padding: 28px 20px; gap: 10px; }
	.mpst-vacio > span { font-size: 18px; }
	.mpst-vacio p { font-size: 13px; line-height: 1.55; }
	.mpst-vacio > div { flex-direction: column; align-items: stretch; width: 100%; }
	.mpst-btn-chico { width: 100%; height: 44px; }

	/* ---- Barra fija ---- */
	.mpst-barra-movil {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 150;
		display: flex; flex-direction: row; align-items: stretch; gap: 10px;
		background: #FFFFFF; border-top: 1px solid #E4E2E0;
		padding: 10px 18px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
	}
	.mpst-barra-movil-cta {
		flex: 1; height: 48px; display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 5px;
		background: #C73D2C; color: #FFFFFF; text-decoration: none; border-radius: 2px;
		font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
	}
	.mpst-barra-movil-cta:hover { background: #B23425; color: #FFFFFF; }
	.mpst-barra-movil-volver {
		width: 48px; height: 48px; flex: none; display: inline-flex; flex-direction: row; align-items: center; justify-content: center;
		border: 1.5px solid #111111; border-radius: 2px; background: #FFFFFF; color: #111111; text-decoration: none; font-size: 16px;
	}
	/* Solo con productos en el carrito (21-09): "Ver carrito · 0" era una barra fija que no servía y
	   comprimía la tienda. chrome-2026.js pone .mpsc-cart-on en el contador cuando hay algo.
	   Sin soporte de :has() el selector entero se ignora y la barra se ve como antes. */
	.mpst-barra-movil:not(:has(.mpsc-cart-on)) { display: none; }
	body.mps-tienda-2026:has(.mpst-barra-movil .mpsc-cart-on) .mpsc-footer { padding-bottom: 96px; }
	body.mps-tienda-2026:has(.mpst-barra-movil .mpsc-cart-on) .wpsr-fm-chat-wrapper { bottom: 78px !important; }
}

/* ============ Banner del combo del objetivo (reunión 21-09) ============
   Ocupa toda la fila de la grilla. Foto de campaña a sangre (botes a la derecha) y, sobre la zona
   oscura de la izquierda, el combo con sus presentaciones, el total real y "Agregar combo". */
.mpst-combo {
	grid-column: 1 / -1; position: relative; overflow: hidden; isolation: isolate;
	display: grid; grid-template-columns: minmax(0, 470px) minmax(0, 1fr); grid-template-rows: auto auto;
	align-items: start; align-content: center; min-height: 340px; margin-bottom: 8px;
	background: #0B0B0B; color: #FFFFFF; border-radius: 6px;
}
.mpst-combo[hidden] { display: none; }
.mps-2026 .mpst-combo-foto {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: none; margin: 0; z-index: -2;
	object-fit: cover; object-position: 85% 50%;
}
.mpst-combo-velo {
	position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1;
	background: linear-gradient(90deg, rgba(11,11,11,0.97) 0%, rgba(11,11,11,0.9) 34%, rgba(11,11,11,0.35) 58%, rgba(11,11,11,0) 72%);
}
.mpst-combo-cab, .mpst-combo-cuerpo { grid-column: 1; padding: 0 32px; }
.mpst-combo-cab { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding-top: 30px; }
/* Rojo aclarado sobre negro: #C73D2C da 3,9:1 en texto chico; #E5594A pasa AA. */
.mpst-combo-num { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: #E5594A; }
.mps-2026 .mpst-combo-cab h3 { margin: 0; font-size: 28px; line-height: 1.02; font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; color: #FFFFFF; }
.mpst-combo-cab p { margin: 0; font-size: 13px; line-height: 1.5; color: #B5B3AF; max-width: 400px; }
.mpst-combo-cuerpo { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px 26px; padding-top: 22px; padding-bottom: 32px; }
.mps-2026 .mpst-combo-prods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: stretch; }
.mps-2026 .mpst-combo-prod { list-style: none; margin: 0; padding: 8px 0; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; border-bottom: 1px solid rgba(255,255,255,0.08); }
.mps-2026 .mpst-combo-prod:last-child { border-bottom: 0; }
.mpst-combo-img { display: block; width: 44px; height: 44px; border-radius: 4px; background: #FFFFFF; overflow: hidden; }
.mps-2026 .mpst-combo-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; padding: 3px; }
.mpst-combo-info { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; flex-wrap: wrap; }
.mpst-combo-nombre { font-size: 12px; font-weight: 700; line-height: 1.25; text-transform: uppercase; color: #FFFFFF; text-decoration: none; min-width: 0; overflow-wrap: anywhere; }
.mpst-combo-nombre:hover { color: #C73D2C; }
.mpst-combo-unica { font-size: 12px; font-weight: 600; color: #B5B3AF; white-space: nowrap; }
.mps-2026 .mpst-combo-sel {
	-webkit-appearance: none; appearance: none; display: block; width: auto; max-width: 200px; min-width: 0; height: 32px; margin: 0; padding: 0 26px 0 10px;
	border: 1px solid #2A2A2A; border-radius: 2px; box-shadow: none; background-color: #161616; color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5'%3E%3Cpath d='M0 0h8L4 5z' fill='%23FFFFFF'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 10px center; background-size: 8px 5px;
	font-size: 12px; font-weight: 600; line-height: normal; text-overflow: ellipsis; cursor: pointer;
}
.mps-2026 .mpst-combo-sel:focus-visible { outline: 2px solid #C73D2C !important; outline-offset: 1px; }
.mpst-combo-pie { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.mpst-combo-total { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.mpst-combo-total > span { width: 100%; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #9A9A9A; }
.mpst-combo-total b { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; color: #FFFFFF; line-height: 1; }
.mpst-combo-total del { font-size: 14px; color: #9A9A9A; text-decoration: line-through; }
.mpst-combo-total i { font-style: normal; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #E5594A; }
.mpst-combo-total [hidden] { display: none; }
.mps-2026 .mpst-combo-btn {
	-webkit-appearance: none; appearance: none;
	display: inline-flex; flex-direction: row; align-items: center; justify-content: center; width: auto; min-width: 0; height: 50px; margin: 0; padding: 0 24px;
	background: #C73D2C; color: #FFFFFF; border: 0; border-radius: 2px; box-shadow: none; cursor: pointer;
	font-size: 12.5px; font-weight: 700; line-height: 1.1; text-transform: uppercase; letter-spacing: 0.04em; text-align: center; white-space: nowrap;
	transition: background-color .15s ease;
}
.mps-2026 .mpst-combo-btn:hover { background: #B23425; color: #FFFFFF; }
.mps-2026 .mpst-combo-btn:focus-visible { outline: 2px solid #FFFFFF !important; outline-offset: 2px; }
.mps-2026 .mpst-combo-btn[disabled] { background: #2A2A2A; cursor: progress; }
.mps-2026 .mpst-combo-btn.mps-combo-ok { background: #1E1E1E; }
.mpst-combo-aviso { flex-basis: 100%; margin: 0; font-size: 12px; line-height: 1.45; color: #FF8A7A; font-weight: 600; }
.mpst-combo-aviso[hidden] { display: none; }

@media (max-width: 900px) {
	.mpst-combo { display: block; min-height: 0; margin: 0 0 6px; }
	/* Composición (Luis, 21-09): la foto vive DENTRO de la cabecera, que traía margen lateral, así que
	   quedaba metida a los lados pero pegada arriba, y el recorte 16:9 al 80 % cortaba los botes contra
	   el borde. Ahora la cabecera no tiene margen (lo llevan sus textos), la foto va a sangre de borde a
	   borde —las esquinas las redondea la tarjeta— y el recorte 3:2 anclado a la derecha muestra el
	   combo completo (en las 4 fotos los productos ocupan del 40 % al 100 % del ancho). */
	.mpst-combo-cab { padding: 0; align-items: stretch; }
	.mps-2026 .mpst-combo-foto {
		position: relative; z-index: 0; display: block; align-self: stretch; width: 100%; max-width: none; height: auto;
		margin: 0; border-radius: 0; aspect-ratio: 3 / 2; object-position: 100% 50%;
	}
	.mpst-combo-velo { display: none; }
	.mpst-combo-cab .mpst-combo-num, .mps-2026 .mpst-combo-cab h3, .mpst-combo-cab p { padding-left: 20px; padding-right: 20px; }
	.mpst-combo-cab .mpst-combo-num { margin-top: 14px; }
	.mps-2026 .mpst-combo-cab h3 { font-size: 24px; }
	.mpst-combo-cab p { font-size: 14px; max-width: none; }
	.mpst-combo-cuerpo { flex-direction: column; align-items: stretch; gap: 16px; padding: 20px 20px 22px; }
	.mps-2026 .mpst-combo-sel { height: 40px; font-size: 16px; font-weight: 500; max-width: 100%; width: 100%; }
	.mpst-combo-info { flex-direction: column; align-items: stretch; gap: 6px; }
	.mpst-combo-pie { flex-direction: column; align-items: stretch; }
	.mps-2026 .mpst-combo-btn { width: 100%; height: 52px; }
}
