/**
 * Tienda (Fase 3): catálogo, tarjeta de producto, ficha, carrito,
 * checkout, Mi cuenta, avisos y estados de carga de WooCommerce.
 *
 * Se carga SOLO en pantallas de WooCommerce (is_woocommerce, is_cart,
 * is_checkout, is_account_page; ver inc/enqueue.php), después de las
 * hojas propias de WooCommerce, que el tema mantiene activas: por eso
 * varias reglas repiten el prefijo .woocommerce o encadenan clases para
 * ganarle en especificidad a las del plugin (grilla con float,
 * botones .alt, avisos con ícono).
 *
 * Mobile-first: base = móvil; 768px tablet; 1024px escritorio.
 * Todos los valores vienen de variables.css.
 *
 * @package Induscore
 */

/* =========================================================
   AVISO DE CATÁLOGO DE MUESTRA (Fase 4A)
   Franja discreta bajo el header (template-parts/tienda/aviso-muestra.php);
   se activa en Personalizar > Tienda: catálogo.
   ========================================================= */
.aviso-muestra {
	background-color: var(--color-gris-claro);
	border-bottom: var(--linea-divisoria);
	color: var(--color-azul-oscuro);
}

.aviso-muestra__texto {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--e-8);
	margin: 0 auto;
	padding-top: var(--e-8);
	padding-bottom: var(--e-8);
	/* Explícito: los <p> heredan el gris secundario de base.css. */
	color: var(--color-azul-oscuro);
	font-size: var(--fs-sm);
	line-height: var(--interlineado-medio);
	text-align: center;
}

.aviso-muestra__icono {
	flex-shrink: 0;
	width: var(--e-16);
	height: var(--e-16);
	color: var(--color-naranjo-texto);
}

/* =========================================================
   MIGAS DE PAN
   ========================================================= */
.migas {
	margin-bottom: var(--e-20);
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

.migas__lista {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-4) var(--e-8);
}

.migas__item {
	display: inline-flex;
	align-items: center;
	gap: var(--e-8);
}

.migas__item + .migas__item::before {
	content: '/';
	color: var(--color-gris-borde);
}

.migas a {
	color: var(--color-texto-secundario);
	text-decoration: underline;
	text-underline-offset: var(--e-2);
}

@media (hover: hover) {
	.migas a:hover {
		color: var(--color-naranjo-texto);
	}
}

.migas a:focus-visible {
	color: var(--color-naranjo-texto);
}

.migas [aria-current="page"] {
	color: var(--color-azul-oscuro);
	font-weight: var(--peso-semi);
}

/* =========================================================
   CABECERA DEL CATÁLOGO (portada, unidades, resultados)
   ========================================================= */
.catalogo-cabecera {
	padding-top: var(--e-32);
	padding-bottom: var(--e-40);
	background-color: var(--color-gris-claro);
	border-bottom: var(--linea-divisoria);
}

@media (min-width: 1024px) {
	.catalogo-cabecera {
		padding-top: var(--e-40);
		padding-bottom: var(--e-56);
	}
}

.catalogo-cabecera__titulo {
	margin-bottom: var(--e-24);
	max-width: var(--ancho-contenido-3xl);
}

.catalogo-cabecera__fila {
	display: flex;
	flex-direction: column;
	gap: var(--e-20);
}

@media (min-width: 768px) {
	.catalogo-cabecera__fila {
		flex-direction: row;
		align-items: center;
		gap: var(--e-32);
	}
}

.catalogo-cabecera .catalogo-cabecera__logo {
	width: auto;
	max-width: var(--e-220);
	height: var(--e-90);
	object-fit: contain;
	padding: var(--e-12) var(--e-16);
	background-color: var(--color-blanco);
	border: var(--linea-divisoria);
	mix-blend-mode: multiply;
}

.catalogo-cabecera__marcador {
	width: var(--e-90);
	height: var(--e-90);
}

.catalogo-cabecera__textos {
	flex: 1;
	min-width: 0;
}

.catalogo-cabecera__textos .catalogo-cabecera__titulo {
	margin-bottom: var(--e-8);
}

.catalogo-cabecera__descripcion {
	max-width: var(--ancho-contenido-3xl);
}

.catalogo-cabecera__descripcion p:last-child {
	margin-bottom: 0;
}

.catalogo-cabecera--listado .catalogo-buscador {
	margin-top: var(--e-24);
}

/* Buscador grande: campo + botón; en móvil el botón baja a su propia
   fila a todo el ancho. */
.catalogo-buscador {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-8);
	max-width: var(--ancho-contenido-3xl);
}

@media (min-width: 768px) {
	.catalogo-buscador {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0;
	}
}

.catalogo-buscador__icono {
	position: absolute;
	top: var(--e-16);
	left: var(--e-16);
	width: var(--tamano-icono-header);
	height: var(--tamano-icono-header);
	color: var(--color-texto-secundario);
	pointer-events: none;
}

.catalogo-buscador__campo {
	width: 100%;
	min-height: var(--e-56);
	padding: var(--e-14) var(--e-16) var(--e-14) var(--e-48);
	border: 1px solid var(--color-azul-oscuro);
	border-radius: var(--radio-base);
	background-color: var(--color-blanco);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-lg);
}

.catalogo-buscador__campo::placeholder {
	color: var(--color-texto-secundario);
}

.catalogo-buscador__campo:focus {
	outline: none;
	border-color: var(--color-naranjo);
	box-shadow: inset 0 0 0 1px var(--color-naranjo);
}

.catalogo-buscador__enviar {
	min-height: var(--e-56);
}

/* Accesos rápidos a las 4 unidades. Las imágenes de la tienda usan dos
   clases: WooCommerce aplica ".woocommerce-page img { height: auto }"
   y a una sola clase le ganaría (el logo se vería a tamaño natural). */
.accesos-unidades {
	margin-top: var(--e-32);
}

.accesos-unidades__lista {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--e-12);
}

@media (min-width: 1024px) {
	.accesos-unidades__lista {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--e-16);
	}
}

.acceso-unidad {
	display: flex;
	flex-direction: column;
	gap: var(--e-6);
	height: 100%;
	padding: var(--e-16);
	background-color: var(--color-blanco);
	border: var(--linea-divisoria);
	border-top: 3px solid var(--color-gris-borde);
	color: var(--color-azul-oscuro);
	transition: border-color var(--transicion-base), transform var(--transicion-base);
}

@media (hover: hover) {
	.acceso-unidad:hover {
		color: var(--color-azul-oscuro);
		border-top-color: var(--color-naranjo);
		transform: translateY(calc(-1 * var(--e-2)));
	}
}

.acceso-unidad:focus-visible {
	border-top-color: var(--color-naranjo);
}

.acceso-unidad .acceso-unidad__logo {
	width: 100%;
	max-width: var(--e-220);
	height: var(--e-44);
	object-fit: contain;
	object-position: left center;
	mix-blend-mode: multiply;
}

.acceso-unidad__marcador {
	width: var(--e-44);
	height: var(--e-44);
}

.acceso-unidad__nombre {
	font-weight: var(--peso-semi);
}

.acceso-unidad__cantidad {
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

/* =========================================================
   PORTADA: SECCIÓN POR UNIDAD
   ========================================================= */
.catalogo-avisos:empty {
	display: none;
}

.catalogo-unidad {
	padding-top: var(--e-48);
	padding-bottom: var(--e-48);
	border-bottom: var(--linea-divisoria);
	scroll-margin-top: var(--alto-header-fijo);
}

.catalogo-unidad:nth-of-type(even) {
	background-color: var(--color-gris-claro);
}

@media (min-width: 1024px) {
	.catalogo-unidad {
		padding-top: var(--e-64);
		padding-bottom: var(--e-64);
	}
}

.catalogo-unidad__cabecera {
	display: flex;
	flex-direction: column;
	gap: var(--e-16);
	margin-bottom: var(--e-24);
}

@media (min-width: 768px) {
	.catalogo-unidad__cabecera {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}

/* flex-wrap: en teléfonos angostos el nombre baja bajo el logo en vez
   de salirse de la pantalla. */
.catalogo-unidad__marca {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-12) var(--e-20);
	min-width: 0;
}

.catalogo-unidad__marca > div {
	min-width: 0;
}

.catalogo-unidad .catalogo-unidad__logo {
	max-width: 100%;
}

.catalogo-unidad .catalogo-unidad__logo {
	width: auto;
	max-width: var(--e-220);
	height: var(--e-64);
	object-fit: contain;
	mix-blend-mode: multiply;
}

.catalogo-unidad__marcador {
	width: var(--e-64);
	height: var(--e-64);
	flex-shrink: 0;
}

.catalogo-unidad__titulo {
	margin-bottom: var(--e-4);
}

.catalogo-unidad__descriptor {
	margin: 0;
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
	text-transform: uppercase;
	letter-spacing: var(--letras-abiertas-md);
}

.catalogo-unidad__ver {
	display: inline-flex;
	align-items: center;
	gap: var(--e-6);
	min-height: var(--e-44);
	color: var(--color-naranjo-texto);
	font-weight: var(--peso-semi);
	white-space: nowrap;
}

@media (hover: hover) {
	.catalogo-unidad__ver:hover {
		color: var(--color-azul-oscuro);
	}
}

.catalogo-unidad__ver:focus-visible {
	color: var(--color-azul-oscuro);
}

/* Mosaico de subcategorías. */
.mosaico-subcategorias {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--e-8);
	margin-bottom: var(--e-32);
}

@media (min-width: 768px) {
	.mosaico-subcategorias {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.mosaico-subcategorias {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.mosaico-subcategorias__item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--e-4);
	height: 100%;
	min-height: var(--e-64);
	padding: var(--e-12) var(--e-14);
	background-color: var(--color-blanco);
	border: var(--linea-divisoria);
	color: var(--color-azul-oscuro);
	transition: border-color var(--transicion-base);
}

@media (hover: hover) {
	.mosaico-subcategorias__item:hover {
		color: var(--color-azul-oscuro);
		border-color: var(--color-naranjo);
	}
}

.mosaico-subcategorias__item:focus-visible {
	border-color: var(--color-naranjo);
}

.mosaico-subcategorias__nombre {
	font-size: var(--fs-base);
	font-weight: var(--peso-semi);
	overflow-wrap: anywhere;
}

.mosaico-subcategorias__cantidad {
	font-size: var(--fs-xs);
	color: var(--color-texto-secundario);
}

/* Acciones de la cabecera de cada unidad: "Ver catálogo completo" y, en
   modo vitrina, el botón "Solicitar cotización". */
.catalogo-unidad__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-8) var(--e-20);
}

/* =========================================================
   MODO VITRINA (Fase 4C; inc/vitrina.php)
   Descripción de la unidad, mosaico de subcategorías con botón de
   cotización y botón de la cabecera del catálogo de una unidad.
   ========================================================= */
.catalogo-unidad__descripcion {
	max-width: var(--ancho-contenido-3xl);
	margin-bottom: var(--e-24);
	color: var(--color-texto-secundario);
}

.catalogo-unidad__descripcion p:last-child {
	margin-bottom: 0;
}

.mosaico-subcategorias__tarjeta {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--e-8);
	height: 100%;
	padding: var(--e-14) var(--e-16);
	background-color: var(--color-blanco);
	border: var(--linea-divisoria);
	transition: border-color var(--transicion-base);
}

.mosaico-subcategorias__tarjeta:focus-within {
	border-color: var(--color-naranjo);
}

@media (hover: hover) {
	.mosaico-subcategorias__tarjeta:hover {
		border-color: var(--color-naranjo);
	}
}

.mosaico-subcategorias__enlace {
	display: flex;
	align-items: center;
	min-height: var(--e-44);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-base);
	font-weight: var(--peso-semi);
	line-height: var(--interlineado-medio);
	overflow-wrap: anywhere;
}

/* En bloque (no flex): en tarjetas angostas el texto se parte en dos
   líneas y la flecha sigue pegada a la última palabra. */
.mosaico-subcategorias__cotizar {
	display: block;
	min-height: var(--e-44);
	padding-top: var(--e-12);
	padding-bottom: var(--e-12);
	line-height: var(--interlineado-medio);
	color: var(--color-naranjo-texto);
	font-size: var(--fs-sm);
	font-weight: var(--peso-semi);
}

@media (hover: hover) {
	.mosaico-subcategorias__enlace:hover,
	.mosaico-subcategorias__cotizar:hover {
		color: var(--color-naranjo-texto);
		text-decoration: underline;
	}
}

.mosaico-subcategorias__enlace:focus-visible,
.mosaico-subcategorias__cotizar:focus-visible {
	text-decoration: underline;
}

.catalogo-cabecera__cotizar {
	margin-top: var(--e-24);
}

.catalogo-listado__subtitulo {
	margin-bottom: var(--e-20);
	font-size: var(--fs-4xl);
}

/* Unidad sin subcategorías: "Explora otras unidades" sin el margen extra. */
.catalogo-listado--vitrina .explorar-unidades:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

/* Bloque final "¿No encuentras lo que buscas?". */
.catalogo-cierre {
	padding-top: var(--e-48);
	padding-bottom: var(--e-48);
	background-color: var(--color-azul-oscuro);
}

.catalogo-cierre__interior {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--e-24);
}

@media (min-width: 768px) {
	.catalogo-cierre__interior {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.catalogo-cierre__titulo {
	margin-bottom: var(--e-8);
	color: var(--color-blanco);
}

.catalogo-cierre__texto {
	margin: 0;
	color: var(--overlay-blanco-75);
}

/* =========================================================
   GRILLA DE PRODUCTOS
   Anula el layout con float de WooCommerce (anchos en %, clearfix con
   ::before/::after, que en una grilla serían celdas vacías).
   ========================================================= */
.woocommerce ul.products.productos-grilla {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-20);
	margin: 0;
	padding: 0;
}

.woocommerce ul.products.productos-grilla::before,
.woocommerce ul.products.productos-grilla::after {
	display: none;
}

@media (min-width: 768px) {
	.woocommerce ul.products.productos-grilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--e-24);
	}
}

/* Listado con filtros: 3 columnas en escritorio. */
@media (min-width: 1024px) {
	.woocommerce ul.products.productos-grilla {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	/* Portada y relacionados: a todo el ancho, 4 columnas. */
	.woocommerce ul.products.productos-grilla--portada,
	.woocommerce .related ul.products.productos-grilla,
	.woocommerce .cross-sells ul.products.productos-grilla {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* =========================================================
   TARJETA DE PRODUCTO
   ========================================================= */
.woocommerce ul.products.productos-grilla li.product.producto-tarjeta {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	background-color: var(--color-blanco);
	border: var(--linea-divisoria);
	text-align: left;
	transition: transform var(--transicion-base), box-shadow var(--transicion-base);
}

@media (hover: hover) {
	.woocommerce ul.products.productos-grilla li.product.producto-tarjeta:hover {
		transform: translateY(calc(-1 * var(--e-4)));
		box-shadow: 0 var(--e-12) var(--e-24) var(--overlay-azul-oscuro-12);
	}
}

.woocommerce ul.products.productos-grilla li.product.producto-tarjeta:focus-within {
	box-shadow: 0 var(--e-12) var(--e-24) var(--overlay-azul-oscuro-12);
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products.productos-grilla li.product.producto-tarjeta {
		transition: none;
	}

	.woocommerce ul.products.productos-grilla li.product.producto-tarjeta:hover {
		transform: none;
	}
}

.producto-tarjeta__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-bottom: var(--linea-divisoria);
}

.woocommerce ul.products li.product .producto-tarjeta__imagen {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.producto-tarjeta__marcador {
	width: 100%;
	height: 100%;
}

.producto-tarjeta__stock {
	position: absolute;
	top: var(--e-12);
	left: var(--e-12);
}

.producto-tarjeta__cuerpo {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: var(--e-16) var(--e-20) var(--e-20);
}

.producto-tarjeta__unidad {
	margin: 0 0 var(--e-4);
	font-size: var(--fs-xs);
	font-weight: var(--peso-negrita);
	text-transform: uppercase;
	letter-spacing: var(--letras-abiertas-lg);
	color: var(--color-naranjo-texto);
}

.woocommerce ul.products li.product .producto-tarjeta__titulo {
	margin: 0 0 var(--e-4);
	padding: 0;
	font-size: var(--fs-lg);
	font-weight: var(--peso-semi);
	line-height: var(--interlineado-medio);
}

.producto-tarjeta__titulo a {
	color: var(--color-azul-oscuro);
}

@media (hover: hover) {
	.producto-tarjeta__titulo a:hover {
		color: var(--color-naranjo-texto);
	}
}

.producto-tarjeta__titulo a:focus-visible {
	color: var(--color-naranjo-texto);
}

.producto-tarjeta__sku {
	margin: 0 0 var(--e-12);
	font-size: var(--fs-xs);
	color: var(--color-texto-secundario);
}

.producto-tarjeta__atributos {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-6);
	margin-bottom: var(--e-16);
}

.producto-tarjeta__atributos li {
	padding: var(--e-2) var(--e-8);
	background-color: var(--color-gris-claro);
	font-size: var(--fs-xs);
	color: var(--color-azul-oscuro);
}

.producto-tarjeta__pie {
	display: flex;
	flex-direction: column;
	gap: var(--e-12);
	margin-top: auto;
}

.woocommerce ul.products li.product .producto-tarjeta__precio {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--e-6);
	margin: 0;
	font-size: var(--fs-xl);
	font-weight: var(--peso-negrita);
	color: var(--color-azul-oscuro);
}

.producto-tarjeta__precio-iva {
	font-size: var(--fs-xs);
	font-weight: var(--peso-normal);
	color: var(--color-texto-secundario);
}

.producto-tarjeta__acciones {
	display: flex;
}

.producto-tarjeta__boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--e-8);
	width: 100%;
}

.producto-tarjeta__boton-check {
	width: var(--e-16);
	height: var(--e-16);
}

/* WooCommerce agrega un enlace "Ver carrito" junto al botón tras
   agregar por AJAX; en la tarjeta basta el botón "Agregado" y el
   contador del header. */
.producto-tarjeta .added_to_cart {
	display: none;
}

/* Insignia de stock (tarjeta y ficha). */
.insignia-stock {
	display: inline-flex;
	align-items: center;
	gap: var(--e-6);
	padding: var(--e-2) var(--e-8);
	font-size: var(--fs-xs);
	font-weight: var(--peso-semi);
}

.insignia-stock::before {
	content: '';
	width: var(--e-6);
	height: var(--e-6);
	background-color: currentColor;
}

.insignia-stock--si {
	background-color: var(--color-exito-fondo);
	color: var(--color-exito);
}

.insignia-stock--no {
	background-color: var(--color-error-fondo);
	color: var(--color-error);
}

/* =========================================================
   MARCADOR DE PRODUCTO SIN IMAGEN
   ========================================================= */
.producto-marcador {
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(135deg, var(--color-blanco) 0%, var(--color-tarjeta-degradado-medio) 60%, var(--color-tarjeta-degradado-final) 100%);
	color: var(--color-azul-medio);
}

.producto-marcador svg {
	width: 38%;
	max-width: var(--e-88);
	height: auto;
	aspect-ratio: 1;
}

/* =========================================================
   CHIPS (subcategorías del listado, carrito vacío)
   ========================================================= */
.chips-subcategorias {
	margin-top: var(--e-24);
}

.chips-subcategorias__lista {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-8);
}

.chip {
	display: inline-flex;
	align-items: center;
	gap: var(--e-8);
	min-height: var(--e-40);
	padding: var(--e-8) var(--e-14);
	background-color: var(--color-blanco);
	border: 1px solid var(--color-gris-borde);
	font-size: var(--fs-sm);
	font-weight: var(--peso-semi);
	color: var(--color-azul-oscuro);
	transition: border-color var(--transicion-base), background-color var(--transicion-base);
}

@media (hover: hover) {
	.chip:hover {
		color: var(--color-azul-oscuro);
		border-color: var(--color-azul-oscuro);
	}
}

.chip:focus-visible {
	border-color: var(--color-azul-oscuro);
}

.chip--activo,
.chip--activo:hover {
	background-color: var(--color-azul-oscuro);
	border-color: var(--color-azul-oscuro);
	color: var(--color-blanco);
}

.chip__cantidad {
	font-size: var(--fs-xs);
	font-weight: var(--peso-normal);
	opacity: 0.8;
}

.chip--icono svg {
	width: var(--tamano-icono-header);
	height: var(--tamano-icono-header);
	color: var(--color-naranjo-texto);
}

/* =========================================================
   LISTADO: filtros + resultados
   ========================================================= */
.catalogo-listado {
	padding-top: var(--e-32);
	padding-bottom: var(--e-56);
}

.catalogo-listado__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-32);
}

@media (min-width: 1024px) {
	.catalogo-listado__grid {
		grid-template-columns: var(--ancho-filtros) minmax(0, 1fr);
		align-items: start;
	}
}

.filtros {
	background-color: var(--color-blanco);
}

.filtros__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--e-16);
}

.filtros__titulo {
	margin: 0;
	font-size: var(--fs-xl);
}

.filtros__cerrar {
	display: none;
	align-items: center;
	justify-content: center;
	width: var(--e-44);
	height: var(--e-44);
	color: var(--color-azul-oscuro);
}

.filtros__cerrar svg {
	width: var(--tamano-icono-header);
	height: var(--tamano-icono-header);
}

.filtros__grupo {
	padding: var(--e-16) 0;
	border-top: var(--linea-divisoria);
}

.filtros__grupo-titulo {
	margin: 0 0 var(--e-8);
	font-size: var(--fs-sm);
	font-weight: var(--peso-negrita);
	text-transform: uppercase;
	letter-spacing: var(--letras-abiertas-lg);
}

.filtros__opcion {
	display: flex;
	align-items: center;
	gap: var(--e-10);
	min-height: var(--e-44);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-base);
}

@media (min-width: 1024px) {
	.filtros__opcion {
		min-height: var(--e-32);
	}
}

@media (hover: hover) {
	.filtros__opcion:hover {
		color: var(--color-naranjo-texto);
	}
}

.filtros__opcion:focus-visible {
	color: var(--color-naranjo-texto);
}

.filtros__casilla {
	position: relative;
	flex-shrink: 0;
	width: var(--e-18);
	height: var(--e-18);
	border: 1px solid var(--color-azul-oscuro);
	background-color: var(--color-blanco);
}

.filtros__opcion--activa .filtros__casilla {
	background-color: var(--color-azul-oscuro);
}

/* Visto dibujado con bordes (sin imágenes). */
.filtros__opcion--activa .filtros__casilla::after {
	content: '';
	position: absolute;
	left: var(--e-5);
	top: var(--e-2);
	width: var(--e-5);
	height: var(--e-10);
	border: solid var(--color-blanco);
	border-width: 0 var(--e-2) var(--e-2) 0;
	transform: rotate(45deg);
}

.filtros__opcion--activa {
	font-weight: var(--peso-semi);
}

.filtros__nombre {
	flex: 1;
}

.filtros__cantidad {
	font-size: var(--fs-xs);
	color: var(--color-texto-secundario);
}

.filtros__vacio {
	font-size: var(--fs-sm);
}

.filtros__limpiar {
	display: inline-flex;
	align-items: center;
	min-height: var(--e-44);
	margin-top: var(--e-8);
	color: var(--color-naranjo-texto);
	font-weight: var(--peso-semi);
	text-decoration: underline;
	text-underline-offset: var(--e-2);
}

/* Móvil y tablet con JS: panel lateral que abre "Filtrar". Sin JS los
   filtros quedan en el flujo, arriba de los resultados. */
@media (max-width: 1023px) {
	html.js .filtros {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: var(--z-panel);
		width: min(var(--ancho-contenido-sm), 88vw);
		padding: var(--e-20) var(--e-20) calc(var(--e-20) + env(safe-area-inset-bottom));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-shadow: var(--e-8) 0 var(--e-32) var(--overlay-azul-oscuro-35);
		transform: translateX(-100%);
		visibility: hidden;
		transition: transform 0.3s ease, visibility 0.3s ease;
	}

	html.js .filtros.esta-abierto {
		transform: none;
		visibility: visible;
	}

	html.js .filtros__cerrar {
		display: inline-flex;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.js .filtros {
		transition: none;
	}
}

/* Fondo oscuro detrás de cualquier panel lateral abierto (filtros). */
body.panel-abierto {
	overflow: hidden;
}

body.panel-abierto::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: calc(var(--z-panel) - 1);
	background-color: var(--overlay-azul-oscuro-55);
}

/* Barra de resultados: Filtrar (móvil/tablet) · cantidad · orden. */
.barra-resultados {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--e-12) var(--e-16);
	margin-bottom: var(--e-24);
	padding-bottom: var(--e-16);
	border-bottom: var(--linea-divisoria);
}

.barra-resultados__filtrar {
	display: none;
	align-items: center;
	gap: var(--e-8);
	min-height: var(--e-44);
	padding: var(--e-8) var(--e-16);
	border: 1px solid var(--color-azul-oscuro);
	color: var(--color-azul-oscuro);
	font-weight: var(--peso-semi);
}

.barra-resultados__filtrar svg {
	width: var(--tamano-icono-header);
	height: var(--tamano-icono-header);
}

@media (max-width: 1023px) {
	html.js .barra-resultados__filtrar {
		display: inline-flex;
	}
}

.barra-resultados__contador {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--e-20);
	height: var(--e-20);
	padding: 0 var(--e-4);
	background-color: var(--color-naranjo);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-xs);
	font-weight: var(--peso-negrita);
}

.woocommerce .barra-resultados .woocommerce-result-count {
	float: none;
	margin: 0;
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

.woocommerce .barra-resultados .woocommerce-ordering {
	float: none;
	margin: 0 0 0 auto;
}

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select {
	min-height: var(--e-44);
	padding: var(--e-8) var(--e-40) var(--e-8) var(--e-12);
	border: 1px solid var(--color-gris-borde);
	border-radius: var(--radio-base);
	background-color: var(--color-blanco);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-sm);
}

.woocommerce .woocommerce-ordering select:focus {
	outline: none;
	border-color: var(--color-naranjo);
}

/* Paginación. */
.woocommerce nav.woocommerce-pagination {
	margin-top: var(--e-40);
	text-align: left;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--e-6);
	border: none;
	margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	float: none;
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--e-44);
	min-height: var(--e-44);
	padding: var(--e-8) var(--e-12);
	border: 1px solid var(--color-gris-borde);
	color: var(--color-azul-oscuro);
	font-weight: var(--peso-semi);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible {
	background-color: var(--color-gris-claro);
	color: var(--color-azul-oscuro);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background-color: var(--color-azul-oscuro);
	border-color: var(--color-azul-oscuro);
	color: var(--color-blanco);
}

/* Sin resultados. */
.catalogo-vacio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--e-12);
	padding: var(--e-40) var(--e-24);
	background-color: var(--color-gris-claro);
}

.catalogo-vacio__icono {
	width: var(--e-48);
	height: var(--e-48);
	color: var(--color-azul-medio);
}

.catalogo-vacio__titulo {
	margin: 0;
	font-size: var(--fs-3xl);
}

.catalogo-vacio__texto {
	margin: 0 0 var(--e-8);
}

/* "Explora otras unidades". */
.explorar-unidades {
	margin-top: var(--e-56);
	padding-top: var(--e-40);
	border-top: var(--linea-divisoria);
}

.explorar-unidades__titulo {
	font-size: var(--fs-4xl);
	margin-bottom: var(--e-24);
}

.explorar-unidades__lista {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-16);
}

@media (min-width: 768px) {
	.explorar-unidades__lista {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.explorar-unidades__item {
	display: flex;
	flex-direction: column;
	gap: var(--e-8);
	height: 100%;
	padding: var(--e-20);
	border: var(--linea-divisoria);
	border-top: 3px solid var(--color-gris-borde);
	color: var(--color-azul-oscuro);
	transition: border-color var(--transicion-base);
}

@media (hover: hover) {
	.explorar-unidades__item:hover {
		color: var(--color-azul-oscuro);
		border-top-color: var(--color-naranjo);
	}
}

.explorar-unidades__item:focus-visible {
	border-top-color: var(--color-naranjo);
}

.explorar-unidades .explorar-unidades__logo {
	width: auto;
	max-width: var(--e-220);
	height: var(--e-48);
	object-fit: contain;
	object-position: left center;
	mix-blend-mode: multiply;
}

.explorar-unidades__marcador {
	width: var(--e-48);
	height: var(--e-48);
}

.explorar-unidades__nombre {
	font-weight: var(--peso-semi);
}

.explorar-unidades__descriptor {
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

/* =========================================================
   SELECTOR DE CANTIDAD (− / +)
   ========================================================= */
.woocommerce .quantity.cantidad {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--color-azul-oscuro);
	background-color: var(--color-blanco);
}

.cantidad__boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--e-44);
	min-height: var(--e-44);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-2xl);
	line-height: 1;
	transition: background-color var(--transicion-base);
}

@media (hover: hover) {
	.cantidad__boton:hover {
		background-color: var(--color-gris-claro);
	}
}

.cantidad__boton:focus-visible {
	background-color: var(--color-gris-claro);
}

.cantidad__boton:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.woocommerce .quantity.cantidad .qty {
	width: var(--e-56);
	min-height: var(--e-44);
	padding: 0;
	border: none;
	border-left: var(--linea-divisoria);
	border-right: var(--linea-divisoria);
	border-radius: var(--radio-base);
	background: transparent;
	color: var(--color-azul-oscuro);
	font-size: var(--fs-lg);
	font-weight: var(--peso-semi);
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.woocommerce .quantity.cantidad .qty::-webkit-outer-spin-button,
.woocommerce .quantity.cantidad .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce .quantity.cantidad .qty:focus {
	outline: none;
	box-shadow: inset 0 0 0 var(--e-2) var(--color-naranjo);
}

/* =========================================================
   FICHA DE PRODUCTO
   ========================================================= */
.woocommerce div.product.ficha {
	padding-top: var(--e-24);
	padding-bottom: var(--e-56);
}

.ficha__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-32);
}

@media (min-width: 1024px) {
	.ficha__grid {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		gap: var(--e-56);
		align-items: start;
	}
}

/* La galería nativa de WooCommerce flota al 48%: aquí ocupa su columna. */
.woocommerce div.product.ficha div.images {
	float: none;
	width: 100%;
	margin: 0;
}

.ficha__marcador {
	width: 100%;
	aspect-ratio: 1;
	border: var(--linea-divisoria);
}

.woocommerce div.product.ficha .ficha__info {
	float: none;
	width: 100%;
	margin: 0;
}

.ficha__unidad {
	margin: 0 0 var(--e-8);
	font-size: var(--fs-sm);
	font-weight: var(--peso-negrita);
	text-transform: uppercase;
	letter-spacing: var(--letras-abiertas-lg);
}

.ficha__unidad a {
	color: var(--color-naranjo-texto);
}

@media (hover: hover) {
	.ficha__unidad a:hover {
		color: var(--color-azul-oscuro);
	}
}

.ficha__unidad a:focus-visible {
	color: var(--color-azul-oscuro);
}

.woocommerce div.product .ficha__titulo {
	margin-bottom: var(--e-12);
	font-size: clamp(var(--fs-4xl), 3vw, var(--fs-7xl));
}

.ficha__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-8) var(--e-16);
	margin-bottom: var(--e-20);
}

.ficha__sku {
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

.woocommerce div.product .ficha__precio {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--e-8);
	margin-bottom: var(--e-20);
	font-size: var(--fs-6xl);
	font-weight: var(--peso-negrita);
	color: var(--color-azul-oscuro);
}

.ficha__precio-iva {
	font-size: var(--fs-sm);
	font-weight: var(--peso-normal);
	color: var(--color-texto-secundario);
}

.ficha__resumen {
	margin-bottom: var(--e-20);
}

/* Tabla de atributos (ficha y pestaña Especificaciones). */
.woocommerce table.woocommerce-product-attributes {
	width: 100%;
	margin: 0 0 var(--e-24);
	border: var(--linea-divisoria);
	border-collapse: collapse;
}

.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td {
	padding: var(--e-10) var(--e-14);
	border-top: var(--linea-divisoria);
	font-size: var(--fs-sm);
	text-align: left;
	vertical-align: top;
}

.woocommerce table.woocommerce-product-attributes th {
	width: 40%;
	background-color: var(--color-gris-claro);
	font-weight: var(--peso-semi);
	color: var(--color-azul-oscuro);
}

.woocommerce table.woocommerce-product-attributes td p {
	margin: 0;
	padding: 0;
	font-style: normal;
}

/* Formulario de compra: cantidad + botón. */
.woocommerce div.product form.cart.ficha__formulario {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-12);
	margin-bottom: var(--e-20);
}

.woocommerce div.product form.cart.ficha__formulario div.quantity {
	float: none;
	margin: 0;
}

.woocommerce div.product form.cart .ficha__agregar {
	flex: 1;
	min-width: var(--e-220);
	min-height: var(--e-48);
}

/* Bloque de volumen / corte a medida. */
.ficha__volumen {
	display: flex;
	flex-direction: column;
	gap: var(--e-4);
	margin-bottom: var(--e-20);
	padding: var(--e-16) var(--e-20);
	background-color: var(--naranjo-suave);
	border-left: 3px solid var(--color-naranjo);
}

.ficha__volumen-titulo {
	margin: 0;
	font-weight: var(--peso-semi);
	color: var(--color-azul-oscuro);
}

.ficha__volumen-enlace {
	display: inline-flex;
	align-items: center;
	gap: var(--e-6);
	min-height: var(--e-32);
	color: var(--color-naranjo-texto);
	font-weight: var(--peso-semi);
}

@media (hover: hover) {
	.ficha__volumen-enlace:hover {
		color: var(--color-azul-oscuro);
	}
}

.ficha__volumen-enlace:focus-visible {
	color: var(--color-azul-oscuro);
}

/* Fila de confianza (ficha, carrito, checkout). */
.fila-confianza {
	display: flex;
	flex-direction: column;
	gap: var(--e-8);
	padding-top: var(--e-16);
	border-top: var(--linea-divisoria);
}

@media (min-width: 768px) {
	.ficha__info .fila-confianza {
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--e-8) var(--e-20);
	}
}

.fila-confianza__item {
	display: flex;
	align-items: center;
	gap: var(--e-8);
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

.fila-confianza__icono {
	flex-shrink: 0;
	width: var(--e-18);
	height: var(--e-18);
	color: var(--color-exito);
}

/* Relacionados. */
.woocommerce .ficha .related {
	margin-top: var(--e-56);
	padding-top: var(--e-40);
	border-top: var(--linea-divisoria);
}

.woocommerce .ficha .related > h2 {
	font-size: var(--fs-4xl);
	margin-bottom: var(--e-24);
}

/* Barra fija de compra: solo móvil/tablet, en productos comprables. */
.ficha__barra-compra {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--z-barra-compra);
	display: flex;
	align-items: center;
	gap: var(--e-12);
	min-height: var(--alto-barra-compra);
	padding: var(--e-12) var(--e-16) calc(var(--e-12) + env(safe-area-inset-bottom));
	background-color: var(--color-blanco);
	border-top: var(--linea-divisoria);
	box-shadow: 0 calc(-1 * var(--e-4)) var(--e-20) var(--overlay-azul-oscuro-12);
}

.ficha__barra-datos {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
}

.ficha__barra-nombre {
	overflow: hidden;
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
	white-space: nowrap;
	text-overflow: ellipsis;
}

.ficha__barra-precio {
	font-weight: var(--peso-negrita);
	color: var(--color-azul-oscuro);
}

.ficha__barra-boton {
	flex-shrink: 0;
	padding-left: var(--e-20);
	padding-right: var(--e-20);
}

body.tiene-barra-compra .pie-pagina {
	padding-bottom: calc(var(--alto-barra-compra) + env(safe-area-inset-bottom));
}

@media (min-width: 1024px) {
	.ficha__barra-compra {
		display: none;
	}

	body.tiene-barra-compra .pie-pagina {
		padding-bottom: 0;
	}
}

/* =========================================================
   PESTAÑAS (ficha de producto y Mi cuenta)
   ========================================================= */
.ficha .pestanas {
	margin-top: var(--e-56);
}

.pestanas__lista {
	display: flex;
	gap: var(--e-4);
	overflow-x: auto;
	border-bottom: var(--linea-divisoria);
	scrollbar-width: none;
}

.pestanas__pestana {
	flex-shrink: 0;
	min-height: var(--e-44);
	padding: var(--e-10) var(--e-16);
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
	color: var(--color-texto-secundario);
	font-weight: var(--peso-semi);
	font-size: var(--fs-base);
	white-space: nowrap;
}

@media (hover: hover) {
	.pestanas__pestana:hover {
		color: var(--color-azul-oscuro);
	}
}

.pestanas__pestana:focus-visible {
	color: var(--color-azul-oscuro);
	outline: var(--e-2) solid var(--color-naranjo);
	outline-offset: calc(-1 * var(--e-2));
}

.pestanas__pestana[aria-selected="true"] {
	border-bottom-color: var(--color-naranjo);
	color: var(--color-azul-oscuro);
}

.pestanas__panel {
	padding-top: var(--e-24);
}

.pestanas__panel[hidden] {
	display: none;
}

.pestanas__panel:focus-visible {
	outline: var(--e-2) solid var(--color-naranjo);
	outline-offset: var(--e-4);
}

/* =========================================================
   PASOS DE LA COMPRA
   ========================================================= */
.pasos-compra {
	margin-bottom: var(--e-32);
}

.pasos-compra__lista {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--e-8);
}

/* Móvil: número arriba y nombre abajo, centrados; desde 768px en fila. */
.pasos-compra__paso {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--e-4);
	min-width: 0;
	padding: var(--e-8) var(--e-4);
	text-align: center;
	border: 1px solid var(--color-gris-borde);
	border-top-width: 3px;
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

@media (min-width: 768px) {
	.pasos-compra__paso {
		flex-direction: row;
		gap: var(--e-8);
		padding: var(--e-10) var(--e-12);
		text-align: left;
	}
}

.pasos-compra__nombre {
	overflow-wrap: anywhere;
}

.pasos-compra__numero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--e-24);
	height: var(--e-24);
	border: 1px solid currentColor;
	font-weight: var(--peso-negrita);
	font-size: var(--fs-xs);
}

.pasos-compra__paso--actual {
	border-color: var(--color-naranjo);
	color: var(--color-azul-oscuro);
	font-weight: var(--peso-semi);
}

.pasos-compra__paso--actual .pasos-compra__numero {
	background-color: var(--color-naranjo);
	border-color: var(--color-naranjo);
}

.pasos-compra__paso--hecho {
	border-top-color: var(--color-azul-oscuro);
	color: var(--color-azul-oscuro);
}

/* =========================================================
   CARRITO
   ========================================================= */
.carrito {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-32);
}

@media (min-width: 1024px) {
	.carrito {
		grid-template-columns: minmax(0, 1fr) var(--ancho-resumen-compra);
		align-items: start;
		gap: var(--e-40);
	}
}

.carrito__items {
	border-top: var(--linea-divisoria);
}

/* Móvil: miniatura + datos + eliminar arriba; cantidad y subtotal en
   su propia fila (en 320px no caben junto a la miniatura). */
.carrito__item {
	display: grid;
	grid-template-columns: var(--e-64) minmax(0, 1fr) auto;
	grid-template-areas:
		'miniatura datos eliminar'
		'cantidad cantidad subtotal';
	gap: var(--e-12) var(--e-16);
	align-items: center;
	padding: var(--e-20) 0;
	border-bottom: var(--linea-divisoria);
}

@media (min-width: 768px) {
	.carrito__item {
		grid-template-columns: var(--e-88) minmax(0, 1fr) auto auto auto;
		grid-template-areas: 'miniatura datos cantidad subtotal eliminar';
		gap: var(--e-20);
	}
}

.carrito__miniatura {
	grid-area: miniatura;
	align-self: start;
}

.carrito .carrito__miniatura img,
.carrito__marcador {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border: var(--linea-divisoria);
}

.carrito__datos {
	grid-area: datos;
	display: flex;
	flex-direction: column;
	gap: var(--e-2);
	min-width: 0;
}

.carrito__unidad {
	font-size: var(--fs-xs);
	font-weight: var(--peso-negrita);
	text-transform: uppercase;
	letter-spacing: var(--letras-abiertas-lg);
	color: var(--color-naranjo-texto);
}

.carrito__nombre {
	font-weight: var(--peso-semi);
	overflow-wrap: anywhere;
}

.carrito__nombre a {
	color: var(--color-azul-oscuro);
}

.carrito__sku,
.carrito__precio-unitario {
	font-size: var(--fs-sm);
	color: var(--color-texto-secundario);
}

.carrito__cantidad {
	grid-area: cantidad;
}

.carrito__subtotal {
	grid-area: subtotal;
	justify-self: end;
	font-weight: var(--peso-negrita);
	color: var(--color-azul-oscuro);
	white-space: nowrap;
}

.carrito__eliminar {
	grid-area: eliminar;
	justify-self: end;
	align-self: start;
}

@media (min-width: 768px) {
	.carrito__eliminar {
		align-self: center;
	}
}

.woocommerce .carrito__eliminar a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--e-44);
	height: var(--e-44);
	border-radius: var(--radio-base);
	color: var(--color-texto-secundario) !important; /* WooCommerce fuerza color rojo con !important. */
	background: transparent;
}

.woocommerce .carrito__eliminar a.remove:hover,
.woocommerce .carrito__eliminar a.remove:focus-visible {
	color: var(--color-error) !important; /* ídem. */
	background-color: var(--color-error-fondo);
}

.carrito__eliminar svg {
	width: var(--tamano-icono-header);
	height: var(--tamano-icono-header);
}

.carrito__acciones {
	padding-top: var(--e-16);
}

/* Con JS la cantidad se actualiza sola: el botón queda solo como
   respaldo sin JavaScript. */
html.js .woocommerce .carrito__acciones button.carrito__actualizar[name] {
	position: absolute;
	width: 1px;
	height: 1px;
	min-height: 0;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Resumen del pedido (fijo al hacer scroll en escritorio). */
.carrito-resumen {
	padding: var(--e-24);
	background-color: var(--color-gris-claro);
}

@media (min-width: 1024px) {
	.carrito__resumen {
		position: sticky;
		top: calc(var(--alto-header-fijo) + var(--e-24));
	}
}

.woocommerce .cart-collaterals .cart_totals.carrito-resumen {
	float: none;
	width: auto;
}

.carrito-resumen__titulo {
	margin-bottom: var(--e-16);
	font-size: var(--fs-2xl);
}

.woocommerce table.carrito-resumen__tabla {
	width: 100%;
	margin: 0 0 var(--e-20);
	border: none;
	border-collapse: collapse;
}

.woocommerce table.carrito-resumen__tabla th,
.woocommerce table.carrito-resumen__tabla td {
	padding: var(--e-10) 0;
	border-top: var(--linea-divisoria);
	font-size: var(--fs-sm);
	font-weight: var(--peso-normal);
	text-align: left;
	vertical-align: top;
	color: var(--color-azul-oscuro);
}

.woocommerce table.carrito-resumen__tabla td {
	text-align: right;
}

.carrito-resumen__despacho td {
	color: var(--color-texto-secundario);
}

.woocommerce table.carrito-resumen__tabla .carrito-resumen__total th,
.woocommerce table.carrito-resumen__tabla .carrito-resumen__total td {
	padding-top: var(--e-14);
	font-size: var(--fs-xl);
	font-weight: var(--peso-negrita);
}

.carrito-resumen__iva {
	display: block;
	font-size: var(--fs-xs);
	font-weight: var(--peso-normal);
	color: var(--color-texto-secundario);
}

.carrito-cupon {
	margin-bottom: var(--e-20);
}

.carrito-cupon__etiqueta {
	display: block;
	margin-bottom: var(--e-6);
	font-size: var(--fs-sm);
	font-weight: var(--peso-semi);
}

.carrito-cupon__fila {
	display: flex;
	gap: var(--e-8);
}

.carrito-cupon__campo {
	flex: 1;
	min-width: 0;
	min-height: var(--e-44);
	padding: var(--e-8) var(--e-12);
	border: 1px solid var(--color-gris-borde);
	border-radius: var(--radio-base);
	background-color: var(--color-blanco);
	color: var(--color-azul-oscuro);
}

.carrito-cupon__campo:focus {
	outline: none;
	border-color: var(--color-naranjo);
}

.carrito-cupon__mensaje:not(:empty) {
	margin-top: var(--e-8);
	font-size: var(--fs-sm);
	color: var(--color-error);
}

.carrito-cupon__mensaje ul,
.carrito-cupon__mensaje li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce .wc-proceed-to-checkout {
	padding: 0 0 var(--e-20);
}

.woocommerce .wc-proceed-to-checkout .carrito-resumen__continuar {
	display: block;
	width: 100%;
	margin: 0;
	padding: var(--e-16) var(--e-24);
	font-size: var(--fs-md);
}

/* Carrito vacío. */
.carrito-vacio {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--e-12);
	max-width: var(--ancho-contenido-3xl);
	margin: 0 auto;
	padding: var(--e-40) 0;
	text-align: center;
}

.carrito-vacio__icono {
	width: var(--e-64);
	height: var(--e-64);
	color: var(--color-azul-medio);
}

.carrito-vacio__titulo {
	margin: 0;
	font-size: var(--fs-5xl);
}

.carrito-vacio__texto {
	margin: 0;
}

.carrito-vacio__unidades {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--e-8);
	margin: var(--e-12) 0;
}

.carrito-vacio .return-to-shop {
	margin: 0;
}

/* Sugeridos (cross-sells) bajo el carrito. */
.woocommerce .cross-sells {
	margin-top: var(--e-48);
}

/* =========================================================
   FORMULARIOS DE WOOCOMMERCE (checkout, Mi cuenta)
   Sin radios, borde gris, foco con borde naranjo, error en rojo.
   ========================================================= */
.woocommerce form .form-row {
	margin: 0 0 var(--e-16);
	padding: 0;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: var(--e-6);
	font-size: var(--fs-sm);
	font-weight: var(--peso-semi);
	line-height: var(--interlineado-medio);
	color: var(--color-azul-oscuro);
}

.woocommerce form .form-row label.checkbox,
.woocommerce form .form-row .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: var(--e-8);
	font-weight: var(--peso-normal);
}

.woocommerce form .form-row .required {
	color: var(--color-error);
	text-decoration: none;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row .input-text {
	width: 100%;
	min-height: var(--e-48);
	padding: var(--e-12) var(--e-14);
	border: 1px solid var(--color-gris-borde);
	border-radius: var(--radio-base);
	background-color: var(--color-blanco);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-md);
	line-height: var(--interlineado-base);
	transition: border-color var(--transicion-base), box-shadow var(--transicion-base);
}

.woocommerce form .form-row textarea {
	min-height: var(--e-110);
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--color-naranjo);
	box-shadow: inset 0 0 0 1px var(--color-naranjo);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid textarea.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid .select2-container .select2-selection {
	border-color: var(--color-error);
	box-shadow: inset 0 0 0 1px var(--color-error);
}

.woocommerce form .form-row.woocommerce-invalid label {
	color: var(--color-error);
}

.woocommerce form .form-row.woocommerce-validated .input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--color-exito);
}

/* Selects de país y región (selectWoo de WooCommerce). */
.woocommerce .select2-container .select2-selection--single {
	height: var(--e-48);
	border: 1px solid var(--color-gris-borde);
	border-radius: var(--radio-base);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 var(--e-40) 0 var(--e-14);
	line-height: var(--e-48);
	color: var(--color-azul-oscuro);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
	height: var(--e-48);
}

.woocommerce .select2-container--focus .select2-selection--single,
.woocommerce .select2-container--open .select2-selection--single {
	border-color: var(--color-naranjo);
}

/* Botón para mostrar u ocultar la contraseña (lo agrega WooCommerce). */
.woocommerce form .password-input {
	position: relative;
	display: block;
}

.woocommerce form .password-input .input-text {
	padding-right: var(--e-48);
}

/* WooCommerce lo centra con top:50% + translateY(-50%); aquí ocupa todo
   el alto del campo (48px de área táctil), sin transform. */
.woocommerce form .show-password-input {
	position: absolute;
	top: 0;
	right: 0;
	transform: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--e-48);
	height: var(--e-48);
	padding: 0;
	background: transparent;
	color: var(--color-texto-secundario);
	cursor: pointer;
}

/* Ícono de ojo dibujado con máscara (currentColor) en ::before; se
   anula el ícono de la fuente de WooCommerce (::after). */
.woocommerce form .show-password-input::after {
	content: none;
}

.woocommerce form .show-password-input::before {
	content: '';
	display: block;
	width: var(--tamano-icono-header);
	height: var(--tamano-icono-header);
	background-color: currentColor;
	background-image: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce form .show-password-input.display-password::before {
	background-image: none;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E");
}

@media (hover: hover) {
	.woocommerce form .show-password-input:hover {
		color: var(--color-azul-oscuro);
	}
}

.woocommerce form .show-password-input:focus-visible {
	color: var(--color-azul-oscuro);
	outline: var(--e-2) solid var(--color-naranjo);
	outline-offset: calc(-1 * var(--e-4));
}

/* Botones "alt" de WooCommerce (Realizar pedido, etc.) con el estilo del
   botón principal del tema. */
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order {
	width: 100%;
	min-height: var(--e-48);
	padding: var(--e-14) var(--e-24);
	background-color: var(--color-naranjo);
	border-radius: var(--radio-base);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-lg);
	font-weight: var(--peso-semi);
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce button.button.alt:focus-visible,
.woocommerce #payment #place_order:hover,
.woocommerce #payment #place_order:focus-visible {
	background-color: var(--color-naranjo-hover);
	color: var(--color-azul-oscuro);
}

/* =========================================================
   FINALIZAR COMPRA
   ========================================================= */
.checkout-formulario {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-32);
}

@media (min-width: 1024px) {
	.checkout-formulario {
		grid-template-columns: minmax(0, 1fr) var(--ancho-resumen-compra);
		align-items: start;
		gap: var(--e-40);
	}

	.checkout-formulario__resumen {
		position: sticky;
		top: calc(var(--alto-header-fijo) + var(--e-24));
	}
}

.checkout-bloque {
	margin: 0 0 var(--e-24);
	padding: var(--e-20);
	border: var(--linea-divisoria);
	min-width: 0;
}

@media (min-width: 768px) {
	.checkout-bloque {
		padding: var(--e-24) var(--e-28);
	}
}

.checkout-bloque__titulo {
	float: left;
	width: 100%;
	margin: 0 0 var(--e-16);
	padding: 0;
	font-size: var(--fs-xl);
	font-weight: var(--peso-semi);
	color: var(--color-azul-oscuro);
}

/* Campos a 2 columnas desde tablet (first/last de WooCommerce). */
.checkout-bloque__campos {
	clear: both;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: var(--e-16);
}

@media (min-width: 768px) {
	.checkout-bloque__campos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.checkout-bloque__campos .form-row-wide,
	.checkout-bloque__campos .notes,
	.checkout-bloque__campos .address-field:not(.form-row-first):not(.form-row-last) {
		grid-column: 1 / -1;
	}
}

.woocommerce form .checkout-bloque__campos .form-row-first,
.woocommerce form .checkout-bloque__campos .form-row-last {
	float: none;
	width: auto;
}

.checkout-bloque__opcion {
	margin: 0;
	font-size: var(--fs-base);
}

.checkout-bloque--otra-direccion .shipping_address {
	padding-top: var(--e-16);
}

.checkout-formulario__resumen {
	padding: var(--e-24);
	background-color: var(--color-gris-claro);
}

.checkout-formulario__resumen-titulo {
	margin-bottom: var(--e-16);
	font-size: var(--fs-2xl);
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table {
	margin: 0 0 var(--e-20);
	border: none;
	border-radius: var(--radio-base);
}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td {
	padding: var(--e-10) 0;
	border-top: var(--linea-divisoria);
	font-size: var(--fs-sm);
	color: var(--color-azul-oscuro);
}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table td:last-child,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th:last-child {
	text-align: right;
}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total td {
	font-size: var(--fs-xl);
	font-weight: var(--peso-negrita);
}

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: var(--radio-base);
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 0 var(--e-16);
	border-bottom: var(--linea-divisoria);
}

.woocommerce-checkout #payment div.form-row {
	padding: var(--e-16) 0 0;
}

.woocommerce-checkout #payment div.payment_box {
	background-color: var(--color-blanco);
	border-radius: var(--radio-base);
	color: var(--color-azul-oscuro);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--color-blanco);
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
	font-size: var(--fs-xs);
}

/* Formularios desplegables de cupón e inicio de sesión del checkout. */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	border: none;
	border-radius: var(--radio-base);
	margin: 0;
	padding: 0;
}

/* =========================================================
   AVISOS DE WOOCOMMERCE (con botón de cierre, ver tienda.js)
   ========================================================= */
.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-8) var(--e-16);
	margin: 0 0 var(--e-24);
	padding: var(--e-16) var(--e-56) var(--e-16) var(--e-20);
	border: none;
	border-left: 3px solid var(--color-azul-oscuro);
	border-radius: var(--radio-base);
	background-color: var(--color-gris-claro);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-base);
	list-style: none;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce-page .woocommerce-message::before,
.woocommerce-page .woocommerce-info::before,
.woocommerce-page .woocommerce-error::before {
	content: none;
}

.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message {
	border-left-color: var(--color-exito);
	background-color: var(--color-exito-fondo);
}

.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
	flex-direction: column;
	align-items: flex-start;
	border-left-color: var(--color-error);
	background-color: var(--color-error-fondo);
}

.woocommerce .woocommerce-error li,
.woocommerce-page .woocommerce-error li {
	margin: 0;
	padding: 0;
}

/* Enlace/botón "Ver carrito" dentro del aviso: enlace simple subrayado. */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
	order: 2;
	float: none;
	margin: 0;
	padding: 0;
	background: none;
	color: var(--color-azul-oscuro);
	font-weight: var(--peso-semi);
	text-decoration: underline;
	text-underline-offset: var(--e-2);
}

.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-message .button:focus-visible {
	background: none;
	color: var(--color-naranjo-texto);
}

.aviso__cerrar {
	position: absolute;
	top: var(--e-4);
	right: var(--e-4);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--e-44);
	height: var(--e-44);
	color: var(--color-azul-oscuro);
}

.aviso__cerrar svg {
	width: var(--e-18);
	height: var(--e-18);
}

@media (hover: hover) {
	.aviso__cerrar:hover {
		background-color: var(--overlay-azul-oscuro-12);
	}
}

.aviso__cerrar:focus-visible {
	outline: var(--e-2) solid var(--color-azul-oscuro);
	outline-offset: calc(-1 * var(--e-4));
}

/* =========================================================
   ESTADOS DE CARGA (botones AJAX y bloqueos de WooCommerce)
   ========================================================= */
.boton.loading,
.woocommerce a.button.loading,
.woocommerce button.button.loading {
	position: relative;
	color: transparent !important; /* oculta el texto sin mover el botón; WooCommerce fija el color con !important en algunos estados. */
	pointer-events: none;
	opacity: 1;
}

.boton.loading::after,
.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--e-18);
	height: var(--e-18);
	margin: calc(-1 * var(--e-10)) 0 0 calc(-1 * var(--e-10));
	border: var(--e-2) solid var(--color-azul-oscuro);
	border-right-color: transparent;
	border-radius: 50%;
	font-family: inherit;
	animation: induscore-girar 0.7s linear infinite;
}

.boton:disabled,
.boton[aria-disabled="true"] {
	opacity: 0.6;
	cursor: not-allowed;
}

@keyframes induscore-girar {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.boton.loading::after,
	.woocommerce a.button.loading::after,
	.woocommerce button.button.loading::after {
		animation: none;
		border-right-color: var(--color-azul-oscuro);
		opacity: 0.6;
	}
}

/* "Agregado" en la tarjeta tras agregar al carrito por AJAX. */
.producto-tarjeta__boton.esta-agregado {
	background-color: var(--color-exito-fondo);
	color: var(--color-exito);
}

.producto-tarjeta__boton.esta-agregado::before {
	display: none;
}

/* Capa de bloqueo (blockUI) de WooCommerce mientras actualiza. */
.woocommerce .blockUI.blockOverlay {
	background-color: var(--overlay-blanco-70) !important; /* blockUI escribe el fondo en línea. */
	opacity: 1 !important; /* ídem. */
}

/* =========================================================
   MI CUENTA
   ========================================================= */
.acceso {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-32);
}

@media (min-width: 1024px) {
	.acceso {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: var(--e-48);
		align-items: start;
	}
}

.acceso__beneficios {
	padding: var(--e-32) var(--e-24);
	background-color: var(--color-azul-oscuro);
	color: var(--color-blanco);
}

@media (min-width: 768px) {
	.acceso__beneficios {
		padding: var(--e-40);
	}
}

.acceso__beneficios-titulo {
	margin-bottom: var(--e-24);
	color: var(--color-blanco);
	font-size: var(--fs-4xl);
}

.acceso__lista {
	display: flex;
	flex-direction: column;
	gap: var(--e-20);
}

.acceso__beneficio {
	display: flex;
	align-items: flex-start;
	gap: var(--e-12);
}

.acceso__beneficio-icono {
	flex-shrink: 0;
	width: var(--e-24);
	height: var(--e-24);
	padding: var(--e-4);
	background-color: var(--color-naranjo);
	color: var(--color-azul-oscuro);
}

.acceso__beneficio-titulo {
	display: block;
	margin-bottom: var(--e-2);
	color: var(--color-blanco);
}

.acceso__beneficio-texto {
	display: block;
	font-size: var(--fs-sm);
	color: var(--overlay-blanco-75);
}

.acceso__formularios {
	min-width: 0;
}

.acceso__panel {
	padding-top: var(--e-24);
}

/* Con pestañas (JS), el título de cada panel sobra: lo dice la pestaña. */
html.js .acceso .pestanas__lista ~ .acceso__panel .acceso__titulo {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.acceso__titulo {
	font-size: var(--fs-3xl);
}

.acceso__recordar {
	display: flex;
	align-items: center;
}

.acceso .woocommerce-form-login__submit,
.acceso .woocommerce-form-register__submit {
	width: 100%;
	min-height: var(--e-48);
}

.acceso .lost_password a {
	color: var(--color-naranjo-texto);
	text-decoration: underline;
	text-underline-offset: var(--e-2);
}

/* Registro: tipo de cliente y datos de empresa. */
.registro-tipo {
	margin: 0 0 var(--e-16);
	padding: 0;
	border: none;
}

.registro-tipo__titulo {
	margin-bottom: var(--e-8);
	padding: 0;
	font-size: var(--fs-sm);
	font-weight: var(--peso-semi);
	color: var(--color-azul-oscuro);
}

.registro-tipo__opciones {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--e-8);
}

.registro-tipo__opcion {
	display: flex;
	align-items: center;
	gap: var(--e-10);
	min-height: var(--e-48);
	padding: var(--e-8) var(--e-14);
	border: 1px solid var(--color-gris-borde);
	cursor: pointer;
}

.registro-tipo__opcion:has(input:checked) {
	border-color: var(--color-azul-oscuro);
	box-shadow: inset 0 0 0 1px var(--color-azul-oscuro);
	font-weight: var(--peso-semi);
}

.registro-tipo__opcion input {
	width: var(--e-18);
	height: var(--e-18);
	margin: 0;
	accent-color: var(--color-azul-oscuro);
}

.registro-tipo__opcion:focus-within {
	outline: var(--e-2) solid var(--color-naranjo);
	outline-offset: var(--e-2);
}

.registro-empresa[hidden] {
	display: none;
}

.registro-empresa__ayuda {
	display: block;
	margin-top: var(--e-4);
	font-size: var(--fs-xs);
	color: var(--color-texto-secundario);
}

/* Con sesión: menú lateral + contenido. Cada hijo va a su columna de
   forma explícita: WooCommerce imprime antes un contenedor de avisos
   que, sin esto, ocuparía la primera celda de la grilla. */
@media (min-width: 1024px) {
	.woocommerce-account .woocommerce:has(> .cuenta-menu) {
		display: grid;
		grid-template-columns: var(--ancho-filtros) minmax(0, 1fr);
		gap: 0 var(--e-48);
		align-items: start;
	}

	.woocommerce-account .woocommerce:has(> .cuenta-menu) > * {
		grid-column: 1 / -1;
	}

	.woocommerce-account .woocommerce:has(> .cuenta-menu) > .cuenta-menu {
		grid-column: 1;
		grid-row: 2;
	}

	.woocommerce-account .woocommerce:has(> .cuenta-menu) > .woocommerce-MyAccount-content {
		grid-column: 2;
		grid-row: 2;
	}
}

.woocommerce-account .woocommerce-MyAccount-navigation.cuenta-menu,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.cuenta-menu {
	margin-bottom: var(--e-32);
}

@media (min-width: 1024px) {
	.cuenta-menu {
		position: sticky;
		top: calc(var(--alto-header-fijo) + var(--e-24));
		margin-bottom: 0;
	}
}

/* Móvil/tablet: fila horizontal desplazable. */
.cuenta-menu__lista {
	display: flex;
	gap: var(--e-4);
	overflow-x: auto;
	padding-bottom: var(--e-4);
	border-bottom: var(--linea-divisoria);
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

@media (min-width: 1024px) {
	.cuenta-menu__lista {
		flex-direction: column;
		gap: 0;
		overflow: visible;
		padding: 0;
		border: var(--linea-divisoria);
	}
}

.cuenta-menu__item {
	flex-shrink: 0;
}

.cuenta-menu__enlace {
	display: flex;
	align-items: center;
	gap: var(--e-10);
	min-height: var(--e-44);
	padding: var(--e-10) var(--e-14);
	border-bottom: 3px solid transparent;
	color: var(--color-azul-oscuro);
	font-size: var(--fs-sm);
	font-weight: var(--peso-semi);
	white-space: nowrap;
}

@media (min-width: 1024px) {
	.cuenta-menu__enlace {
		border-bottom: var(--linea-divisoria);
		border-left: 3px solid transparent;
		padding: var(--e-14) var(--e-16);
	}

	.cuenta-menu__item:last-child .cuenta-menu__enlace {
		border-bottom: none;
	}
}

.cuenta-menu__enlace svg {
	flex-shrink: 0;
	width: var(--e-18);
	height: var(--e-18);
}

@media (hover: hover) {
	.cuenta-menu__enlace:hover {
		background-color: var(--color-gris-claro);
		color: var(--color-azul-oscuro);
	}
}

.cuenta-menu__enlace:focus-visible {
	background-color: var(--color-gris-claro);
}

.cuenta-menu__enlace[aria-current="page"] {
	border-bottom-color: var(--color-naranjo);
	background-color: var(--color-gris-claro);
}

@media (min-width: 1024px) {
	.cuenta-menu__enlace[aria-current="page"] {
		border-bottom-color: var(--color-gris-borde);
		border-left-color: var(--color-naranjo);
	}
}

/* Contenido de Mi cuenta: tablas de pedidos, direcciones y formularios. */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	font-size: var(--fs-lg);
}

.woocommerce-account table.shop_table {
	width: 100%;
	border: var(--linea-divisoria);
	border-radius: var(--radio-base);
	border-collapse: collapse;
}

.woocommerce-account table.shop_table th {
	background-color: var(--color-gris-claro);
	font-size: var(--fs-sm);
	font-weight: var(--peso-semi);
	color: var(--color-azul-oscuro);
}

.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
	padding: var(--e-12) var(--e-14);
	border-top: var(--linea-divisoria);
}

.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--e-24);
}

@media (min-width: 768px) {
	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
	display: none;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	padding: var(--e-20);
	border: var(--linea-divisoria);
}

.woocommerce-account .woocommerce-Address address {
	font-style: normal;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: var(--e-24) 0;
	padding: var(--e-20);
	border: var(--linea-divisoria);
}
