/* ==========================================================================
   El Maletero — WooCommerce
   Catalogo, ficha, bolsa, pago y cuenta.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Barra de herramientas del catalogo
   -------------------------------------------------------------------------- */

.em-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1rem;
	margin-bottom: var(--em-space-md);
	border-block: 1px solid var(--em-line);
}

.em-shop-toolbar__left,
.em-shop-toolbar__right { display: flex; align-items: center; gap: 1rem; }

.em-shop-toolbar__count { margin: 0; }
.em-shop-toolbar .woocommerce-ordering select {
	padding: 0.5rem 2.25rem 0.5rem 0.75rem;
	border-color: transparent;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.woocommerce-result-count { margin: 0; }

/* --------------------------------------------------------------------------
   Rejilla de productos
   -------------------------------------------------------------------------- */

.woocommerce ul.products,
ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.75rem, 3vw, 3.25rem) clamp(0.75rem, 2vw, 1.75rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.woocommerce ul.products,
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1280px) {
	.woocommerce ul.products.columns-4,
	ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* --------------------------------------------------------------------------
   Tarjeta de producto
   -------------------------------------------------------------------------- */

.em-card {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
}

.em-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--em-radius);
	background: rgba(var(--em-ink-rgb), 0.035);
}

.em-card__frame {
	position: relative;
	display: block;
	aspect-ratio: var(--em-card-ratio);
	overflow: hidden;
}

.em-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition:
		transform 1.15s var(--em-ease-out),
		opacity 0.65s var(--em-ease);
}

.em-card__img--alt { opacity: 0; transform: scale(1.03); }

@media (hover: hover) {
	.em-card:hover .em-card__img--main { opacity: 0; transform: scale(1.03); }
	.em-card:hover .em-card__img--alt { opacity: 1; transform: scale(1); }
	.em-card:not(:has(.em-card__img--alt)):hover .em-card__img--main { opacity: 1; transform: scale(1.05); }
}

.em-card__badges {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	display: grid;
	gap: 0.35rem;
	justify-items: start;
	z-index: 2;
}

.em-badge {
	padding: 0.35rem 0.7rem;
	background: var(--em-primary);
	color: var(--em-canvas);
	border-radius: var(--em-radius);
	font-family: var(--em-font-label);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.em-badge:nth-child(2) { background: var(--em-sand); color: var(--em-primary); }

/* Acciones flotantes */
.em-card__actions {
	position: absolute;
	top: 0.85rem;
	right: 0.85rem;
	display: grid;
	gap: 0.4rem;
	z-index: 3;
	opacity: 0;
	transform: translateX(10px);
	transition: opacity 0.4s var(--em-ease), transform 0.4s var(--em-ease);
}

.em-card:hover .em-card__actions,
.em-card:focus-within .em-card__actions { opacity: 1; transform: none; }

.em-card__act {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	background: rgba(var(--em-canvas-rgb), 0.9);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-radius: 999px;
	color: var(--em-ink);
	transition: background-color 0.3s var(--em-ease), color 0.3s var(--em-ease), transform 0.3s var(--em-ease);
}

.em-card__act:hover {
	background: var(--em-primary);
	color: var(--em-canvas);
	transform: scale(1.06);
}

@media (hover: none) {
	.em-card__actions { display: none; }
}

/* Cuerpo */
.em-card__body { padding-top: 1rem; }

.em-card__cat { margin: 0 0 0.45rem; font-size: 10px; }

.em-card__title {
	margin: 0 0 0.5rem;
	font-family: var(--em-font-body);
	font-size: var(--em-fs-sm);
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0;
}

.em-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.em-card__price {
	font-family: var(--em-font-label);
	font-size: var(--em-fs-xs);
	letter-spacing: 0.04em;
}

.em-card__price del { opacity: 0.4; margin-right: 0.4em; }
.em-card__price ins { text-decoration: none; color: var(--em-primary); font-weight: 600; }

.em-card__swatches { display: flex; align-items: center; gap: 4px; }

.em-card__swatch {
	width: 11px;
	height: 11px;
	border: 1px solid var(--em-line);
	border-radius: 50%;
	background: linear-gradient(135deg, var(--em-sand), var(--em-primary));
}

.em-card__swatch-more {
	font-family: var(--em-font-label);
	font-size: 9px;
	color: var(--em-muted);
}

.em-btn--card {
	width: 100%;
	margin-top: 0.9rem;
	padding: 0.85rem 1rem;
	background: transparent;
	color: var(--em-ink);
	border-color: var(--em-line);
}

.em-btn--card::before { background: var(--em-primary); }
.em-btn--card:hover { color: var(--em-canvas); border-color: var(--em-primary); }

@media (hover: hover) and (min-width: 1024px) {
	.em-btn--card {
		opacity: 0;
		transform: translateY(6px);
		transition: opacity 0.4s var(--em-ease), transform 0.4s var(--em-ease), color 0.4s var(--em-ease), border-color 0.4s var(--em-ease);
	}
	.em-card:hover .em-btn--card,
	.em-card:focus-within .em-btn--card { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   Ficha de producto
   -------------------------------------------------------------------------- */

.em-single-crumbs { padding-top: 1.25rem; }

.em-product__layout {
	display: grid;
	gap: var(--em-space-md);
	padding-block: var(--em-space-sm) var(--em-space-lg);
}

@media (min-width: 1024px) {
	.em-product__layout {
		grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr);
		gap: clamp(2rem, 5vw, 5rem);
	}

	.em-product__sticky {
		position: sticky;
		top: calc(var(--em-header-h) + 32px);
	}
}

.em-product__summary .em-single__eyebrow { margin: 0 0 0.85rem; }

.em-product .product_title {
	margin: 0 0 1rem;
	font-size: var(--em-fs-h2);
	font-weight: 300;
	line-height: 1.02;
}

.em-product .price {
	display: block;
	margin-bottom: 1.5rem;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-lead);
	letter-spacing: 0.02em;
	color: var(--em-primary);
}

.em-product .price del { opacity: 0.4; font-size: 0.8em; margin-right: 0.5em; }
.em-product .price ins { text-decoration: none; }

.em-product .woocommerce-product-details__short-description {
	margin-bottom: 1.75rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--em-line);
	color: var(--em-muted);
	font-size: var(--em-fs-sm);
}

/* Galeria */
.woocommerce-product-gallery { position: relative; }

/* Solo apilamos las imagenes cuando FlexSlider NO esta activo.
   Con el slider activo, .woocommerce-product-gallery recibe la clase .flexslider
   y el wrapper pasa a ser la pista de diapositivas: un display:grid la romperia. */
.woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__wrapper {
	display: grid;
	gap: 8px;
}

.woocommerce-product-gallery__image img {
	width: 100%;
	border-radius: var(--em-radius);
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	background: rgba(var(--em-canvas-rgb), 0.9);
	border-radius: 999px;
	font-size: 0;
}

.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 15px;
	height: 15px;
	border: 1.2px solid var(--em-ink);
	border-radius: 50%;
}

.woocommerce-product-gallery__trigger::after {
	content: "";
	position: absolute;
	right: 11px;
	bottom: 11px;
	width: 7px;
	height: 1.2px;
	background: var(--em-ink);
	transform: rotate(45deg);
}

.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	margin-top: 8px;
	padding: 0;
	list-style: none;
}

.flex-control-thumbs img {
	width: 100%;
	cursor: pointer;
	opacity: 0.45;
	transition: opacity 0.3s var(--em-ease);
	border-radius: var(--em-radius);
}

.flex-control-thumbs img:hover,
.flex-control-thumbs img.flex-active { opacity: 1; }

/* Formulario de compra */
.em-product form.cart {
	display: grid;
	gap: 1rem;
	margin-bottom: 1.75rem;
}

.em-product form.cart .quantity { display: inline-flex; }

.em-product form.cart .qty {
	width: 76px;
	text-align: center;
	font-family: var(--em-font-label);
}

.em-product .single_add_to_cart_button,
.em-product .button.alt {
	width: 100%;
	padding: 1.15rem 2rem;
	background: var(--em-primary);
	color: var(--em-canvas);
	border: 1px solid var(--em-primary);
	border-radius: var(--em-radius);
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.45s var(--em-ease), color 0.45s var(--em-ease);
}

.em-product .single_add_to_cart_button:hover { background: var(--em-secondary); border-color: var(--em-secondary); }
.em-product .single_add_to_cart_button:disabled { opacity: 0.4; cursor: not-allowed; }

/* Variaciones */
.variations { width: 100%; border-collapse: collapse; }
.variations th,
.variations td { padding: 0.35rem 0; text-align: left; vertical-align: middle; }

.variations th.label label {
	margin: 0;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--em-muted);
}

.reset_variations {
	display: inline-block;
	margin-top: 0.5rem;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 3px;
	opacity: 0.6;
}

.woocommerce-variation-price { margin-bottom: 1rem; }

/* Confianza */
.em-trust {
	display: grid;
	gap: 0.75rem;
	padding: 1.35rem 0;
	border-block: 1px solid var(--em-line);
	margin-bottom: 1.5rem;
}

.em-trust__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--em-fs-xs);
	color: var(--em-muted);
}

.em-trust__item .em-icon { color: var(--em-primary); flex: 0 0 auto; }

/* Meta */
.em-single__meta { display: grid; gap: 0.5rem; font-size: var(--em-fs-xs); }
.em-single__meta > div { display: flex; gap: 0.75rem; }
.em-single__meta dt { flex: 0 0 110px; margin: 0; }
.em-single__meta dd { margin: 0; color: var(--em-muted); }

/* Pestanas */
.em-product__details { padding-block: var(--em-space-lg); border-top: 1px solid var(--em-line); }

.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin: 0 0 var(--em-space-md);
	padding: 0 0 1rem;
	border-bottom: 1px solid var(--em-line);
	list-style: none;
}

.woocommerce-tabs ul.tabs li a {
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.5;
	transition: opacity 0.3s var(--em-ease);
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover { opacity: 1; }

.woocommerce-Tabs-panel { max-width: 74ch; font-size: var(--em-fs-base); }
.woocommerce-Tabs-panel h2 { margin-bottom: 1rem; font-size: var(--em-fs-h4); }

/* Relacionados / upsells */
.related > h2,
.upsells > h2,
.cross-sells > h2 {
	margin-bottom: var(--em-space-md);
	font-size: var(--em-fs-h3);
	font-weight: 300;
}

.related, .upsells, .cross-sells { margin-top: var(--em-space-lg); }

/* Barra fija de compra en movil */
.em-sticky-atc {
	position: fixed;
	left: 0;
	right: 0;
	bottom: calc(var(--em-dock-h) + var(--em-safe-b) + 8px);
	z-index: calc(var(--em-z-dock) - 1);
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 520px;
	margin-inline: auto;
	padding: 0.7rem 0.7rem 0.7rem 1.15rem;
	background: rgba(var(--em-canvas-rgb), 0.9);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border: 1px solid var(--em-line);
	border-radius: 20px;
	box-shadow: var(--em-shadow);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.45s var(--em-ease), transform 0.45s var(--em-ease);
}

.em-sticky-atc.is-on { opacity: 1; transform: none; }

.em-sticky-atc__info { flex: 1; display: grid; min-width: 0; }

.em-sticky-atc__name {
	font-size: var(--em-fs-xs);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.em-sticky-atc__price { font-family: var(--em-font-label); font-size: var(--em-fs-micro); color: var(--em-primary); }
.em-sticky-atc .em-btn { flex: 0 0 auto; padding: 0.85rem 1.35rem; }

@media (min-width: 1024px) {
	.em-sticky-atc { display: none; }
}

/* --------------------------------------------------------------------------
   Vista rapida
   -------------------------------------------------------------------------- */

.em-qv { display: grid; }

@media (min-width: 800px) {
	.em-qv { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

.em-qv__media { position: relative; background: rgba(var(--em-ink-rgb), 0.04); }

.em-qv__slides { position: relative; aspect-ratio: var(--em-card-ratio); }

.em-qv__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.55s var(--em-ease);
}

.em-qv__slide.is-active { opacity: 1; }
.em-qv__slide img { width: 100%; height: 100%; object-fit: cover; }

.em-qv__dots {
	position: absolute;
	left: 50%;
	bottom: 1rem;
	transform: translateX(-50%);
	display: flex;
	gap: 6px;
}

.em-qv__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(var(--em-canvas-rgb), 0.55);
	transition: background-color 0.3s var(--em-ease), transform 0.3s var(--em-ease);
}

.em-qv__dot.is-active { background: var(--em-canvas); transform: scale(1.25); }

.em-qv__info { padding: clamp(1.5rem, 4vw, 3rem); }
.em-qv__title { margin: 0.75rem 0 0.75rem; font-size: var(--em-fs-h3); }
.em-qv__price { margin-bottom: 1.25rem; font-family: var(--em-font-label); color: var(--em-primary); }
.em-qv__excerpt { margin-bottom: 1.5rem; font-size: var(--em-fs-sm); color: var(--em-muted); }
.em-qv__buy { display: flex; gap: 0.6rem; align-items: stretch; }
.em-qv__buy .em-qty { flex: 0 0 auto; }
.em-qv__more { margin-top: 1.25rem; font-family: var(--em-font-label); font-size: var(--em-fs-micro); letter-spacing: 0.16em; text-transform: uppercase; }

/* --------------------------------------------------------------------------
   Panel de la bolsa
   -------------------------------------------------------------------------- */

.em-freeship { margin-bottom: 1.5rem; }
.em-freeship__text { margin: 0 0 0.6rem; font-family: var(--em-font-label); font-size: var(--em-fs-micro); letter-spacing: 0.1em; text-transform: uppercase; color: var(--em-muted); }
.em-freeship__bar { display: block; height: 2px; background: var(--em-line); overflow: hidden; }
.em-freeship__fill { display: block; height: 100%; background: var(--em-primary); transition: width 0.7s var(--em-ease); }

.em-cart-lines { display: grid; gap: 1.25rem; }

.em-cart-line {
	display: flex;
	gap: 1rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--em-line);
	animation: em-line-in 0.5s var(--em-ease-out) both;
}

@keyframes em-line-in {
	from { opacity: 0; transform: translateY(10px); }
}

.em-cart-line.is-removing { opacity: 0.35; pointer-events: none; }

.em-cart-line__media { flex: 0 0 86px; }
.em-cart-line__media img { width: 100%; aspect-ratio: var(--em-card-ratio); object-fit: cover; border-radius: var(--em-radius); }

.em-cart-line__info { flex: 1; display: grid; gap: 0.45rem; align-content: start; min-width: 0; }
.em-cart-line__name { margin: 0; font-size: var(--em-fs-sm); line-height: 1.35; }
.em-cart-line__meta { margin: 0; font-family: var(--em-font-label); font-size: 10px; letter-spacing: 0.08em; color: var(--em-muted); }
.em-cart-line__meta p { margin: 0; }

.em-cart-line__row { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 0.25rem; }
.em-cart-line__price { font-family: var(--em-font-label); font-size: var(--em-fs-xs); }

.em-cart-line__remove {
	justify-self: start;
	font-family: var(--em-font-label);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--em-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.3s var(--em-ease);
}

.em-cart-line__remove:hover { color: var(--em-ink); }

.em-cart-foot { margin-top: 1.75rem; }
.em-cart-foot__row { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 0.75rem; border-bottom: 1px solid var(--em-line); }
.em-cart-foot__total { font-family: var(--em-font-display); font-size: var(--em-fs-h4); }
.em-cart-foot__note { margin: 0.75rem 0 1.25rem; font-size: var(--em-fs-xs); color: var(--em-muted); }
.em-cart-foot .em-btn + .em-btn { margin-top: 0.6rem; }

.em-cart-empty { text-align: center; padding-block: var(--em-space-lg); }
.em-cart-empty .em-icon { margin-inline: auto; opacity: 0.2; }
.em-cart-empty__title { margin: 1.25rem 0 0.5rem; font-size: var(--em-fs-h4); }
.em-cart-empty__text { margin-bottom: 1.75rem; font-size: var(--em-fs-sm); color: var(--em-muted); }

/* --------------------------------------------------------------------------
   Pagina de la bolsa y pago
   -------------------------------------------------------------------------- */

.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 0;
	font-size: var(--em-fs-sm);
}

.woocommerce table.shop_table th {
	padding: 1rem 0.75rem;
	border-bottom: 1px solid var(--em-line);
	text-align: left;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--em-muted);
}

.woocommerce table.shop_table td {
	padding: 1.25rem 0.75rem;
	border-bottom: 1px solid var(--em-line-soft);
	vertical-align: middle;
}

.woocommerce table.shop_table img { width: 72px; border-radius: var(--em-radius); }

.woocommerce .cart_item .product-remove a {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--em-line);
	border-radius: 50%;
	font-size: 15px;
	line-height: 1;
	color: var(--em-muted);
	transition: all 0.3s var(--em-ease);
}

.woocommerce .cart_item .product-remove a:hover { background: var(--em-primary); border-color: var(--em-primary); color: var(--em-canvas); }

.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals { margin-top: var(--em-space-md); }

.cart_totals h2,
.woocommerce-checkout h3,
#order_review_heading {
	margin-bottom: 1.25rem;
	font-size: var(--em-fs-h4);
	font-weight: 300;
}

.woocommerce .button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2rem;
	background: transparent;
	color: var(--em-ink);
	border: 1px solid var(--em-line);
	border-radius: var(--em-radius);
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.4s var(--em-ease);
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce button.button:hover {
	background: var(--em-primary);
	border-color: var(--em-primary);
	color: var(--em-canvas);
}

.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce button.button.alt,
.woocommerce #place_order {
	background: var(--em-primary);
	border-color: var(--em-primary);
	color: var(--em-canvas);
}

.woocommerce .button.alt:hover,
.woocommerce #place_order:hover { background: var(--em-secondary); border-color: var(--em-secondary); }

.woocommerce-checkout .col2-set { display: grid; gap: var(--em-space-md); }

@media (min-width: 900px) {
	.woocommerce-checkout .col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
		gap: clamp(2rem, 5vw, 4.5rem);
		align-items: start;
	}

	.woocommerce-checkout form.checkout .col2-set { grid-column: 1; grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review { grid-column: 2; }

	.woocommerce-checkout #order_review {
		position: sticky;
		top: calc(var(--em-header-h) + 24px);
		padding: var(--em-space-md);
		background: rgba(var(--em-sand-rgb), 0.2);
		border-radius: var(--em-radius);
	}
}

.woocommerce form .form-row { display: grid; margin: 0 0 1rem; }
.woocommerce form .form-row label { margin-bottom: 0.45rem; }
.woocommerce form .form-row-first,
.woocommerce form .form-row-last { width: 100%; float: none; }

@media (min-width: 600px) {
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { display: inline-grid; width: calc(50% - 0.5rem); }
	.woocommerce form .form-row-first { margin-right: 1rem; }
}

.select2-container--default .select2-selection--single {
	height: auto;
	padding: 0.7rem 0.4rem;
	border: 1px solid var(--em-line);
	border-radius: var(--em-radius);
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td { border-bottom: 1px solid var(--em-line-soft); }
.woocommerce-checkout-review-order-table .order-total td { font-family: var(--em-font-display); font-size: var(--em-fs-h4); }

.wc_payment_methods { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.wc_payment_method label { display: inline; font-family: var(--em-font-body); font-size: var(--em-fs-sm); letter-spacing: 0; text-transform: none; color: var(--em-ink); }
.payment_box { margin-top: 0.75rem; padding: 1rem; background: rgba(var(--em-ink-rgb), 0.03); font-size: var(--em-fs-xs); }
.payment_box p { margin: 0; }

/* --------------------------------------------------------------------------
   Mi cuenta
   -------------------------------------------------------------------------- */

.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 0.15rem; }

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--em-line-soft);
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0.6;
	transition: opacity 0.3s var(--em-ease);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { opacity: 1; }

@media (min-width: 900px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		float: none;
		width: auto;
	}

	.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }

	.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--em-space-lg); align-items: start; }
}

/* --------------------------------------------------------------------------
   Avisos
   -------------------------------------------------------------------------- */

.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.em-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--em-line);
	border-left: 2px solid var(--em-primary);
	border-radius: var(--em-radius);
	background: rgba(var(--em-sand-rgb), 0.22);
	font-size: var(--em-fs-sm);
	list-style: none;
}

.woocommerce-error { border-left-color: #8B2E2E; background: rgba(139, 46, 46, 0.06); }
.woocommerce-message .button,
.woocommerce-info .button { margin-left: auto; padding: 0.6rem 1.1rem; }

/* --------------------------------------------------------------------------
   Filtros
   -------------------------------------------------------------------------- */

.em-filters .widget + .widget { margin-top: 1.75rem; padding-top: 1.75rem; border-top: 1px solid var(--em-line); }
.em-filters .widget ul li { display: flex; align-items: center; gap: 0.5rem; }
.em-filters .widget ul li .count { margin-left: auto; font-family: var(--em-font-label); font-size: 10px; color: var(--em-muted); }

/* --------------------------------------------------------------------------
   Ocultos de Woo que el tema reemplaza
   -------------------------------------------------------------------------- */

.woocommerce .products .star-rating,
.woocommerce ul.products li.product .onsale { display: none; }

.woocommerce-store-notice { display: none !important; }
