/**
 * Stickers Premium - WooCommerce
 * 1. Sección producto (home) — layout light: una columna (imagen arriba, detalles abajo).
 * 2. Cart y Checkout.
 */

/* ========== SECCIÓN PRODUCTO — LIGHT ========== */
.product-section--light {
	background: #f5f6f8;
	padding: clamp(2.5rem, 8vw, 4.5rem) clamp(1rem, 5vw, 2rem);
	overflow-x: hidden;
}
.product-section__inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: 0;
	padding-right: 0;
}
/* Evitar overflow en móvil: contenedores WooCommerce dentro del bloque */
.product-section__inner,
.product-section__wrap,
.stickers-product-block--light,
.stickers-product-block--light .product,
.stickers-product-block--light .summary,
.stickers-product-block--light form.cart,
.stickers-product-block--light .single_variation_wrap,
.stickers-product-block--light .woocommerce-variation-add-to-cart,
.stickers-product-block--light .stickers-add-to-cart-wrap {
	min-width: 0;
}
.product-section--light .product-section__title {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-primary);
	text-align: center;
	margin: 0 0 clamp(1.5rem, 5vw, 2.5rem);
	line-height: 1.25;
}
.product-section__wrap {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.product-section--light .product-section__placeholder {
	text-align: center;
	color: var(--color-muted);
	padding: 2rem;
	background: var(--color-white);
	border-radius: 12px;
	border: 1px solid var(--color-border);
}

/* Card producto: una columna, ancho completo sin salirse en móvil */
.stickers-product-block--light {
	background: var(--color-white);
	border-radius: 16px;
	overflow: hidden;
	overflow-x: clip;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
	border: 1px solid var(--color-border);
	padding: 1.5rem;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
@media (min-width: 600px) {
	.stickers-product-block--light {
		padding: 2rem;
	}
}

.stickers-product-block--light .woocommerce-tabs,
.stickers-product-block--light .related,
.stickers-product-block--light .upsells,
.stickers-product-block--light .cross-sells,
.stickers-product-block--light .product_meta {
	display: none !important;
}
.stickers-product-block--light .product {
	display: block;
	max-width: 100%;
	min-width: 0;
}
.stickers-product-block--light .woocommerce-product-gallery {
	display: block !important;
	margin: 0 0 1.5rem;
}
.stickers-product-block--light .summary {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	float: none;
	padding: 0;
	background: transparent;
	text-align: left;
	box-sizing: border-box;
}
.stickers-product-block--light form.cart {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.stickers-product-block--light .single_variation_wrap,
.stickers-product-block--light .woocommerce-variation-add-to-cart {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
/* En móvil: bloque para que botón y badges no queden en fila con la cantidad */
@media (max-width: 599px) {
	.stickers-product-block--light .woocommerce-variation-add-to-cart {
		display: block !important;
	}
	.stickers-product-block--light .woocommerce-variation-add-to-cart > * {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
}

/* Imagen: ancho completo, altura fija */
.stickers-product-block--light .woocommerce-product-gallery {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	overflow: hidden;
}
.stickers-product-block--light .woocommerce-product-gallery__wrapper,
.stickers-product-block--light .woocommerce-product-gallery__image {
	margin: 0;
}
.stickers-product-block--light .woocommerce-product-gallery__image img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	object-position: center;
	display: block;
}
.stickers-product-block--light .flex-control-nav,
.stickers-product-block--light .flex-direction-nav {
	display: none !important;
}

.stickers-product-block--light .product_title {
	font-family: var(--font-heading);
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-primary);
	margin: 0 0 0.75rem;
	line-height: 1.2;
}

.stickers-product-block--light .woocommerce-product-details__short-description,
.stickers-product-block--light .woocommerce-product-details__short-description p {
	color: var(--color-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}
.stickers-product-block--light .woocommerce-product-details__short-description ul {
	list-style: none;
	margin: 0.25rem 0 0;
	padding: 0;
}
.stickers-product-block--light .woocommerce-product-details__short-description li {
	position: relative;
	padding-left: 1.2rem;
	margin-bottom: 0.25rem;
	color: var(--color-muted);
}
.stickers-product-block--light .woocommerce-product-details__short-description li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--color-accent);
}

/* Fila 3 beneficios (checkmarks acento) */
.stickers-product-block--light .stickers-feature-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin-bottom: 1.25rem;
}
.stickers-product-block--light .stickers-feature-row__item {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-primary);
}
.stickers-product-block--light .stickers-feature-row__icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: var(--color-accent);
}

.stickers-product-block--light .price {
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--color-primary);
	margin-bottom: 1.25rem;
	line-height: 1.2;
}
.stickers-product-block--light .price del {
	opacity: 0.6;
	color: var(--color-muted);
	margin-right: 0.5rem;
}
.stickers-product-block--light .price ins {
	text-decoration: none;
}

/* Variaciones: label + pills (light) */
.stickers-product-block--light .variations {
	width: 100%;
	margin-bottom: 1.25rem;
	border: none;
}
.stickers-product-block--light .variations tbody,
.stickers-product-block--light .variations tr {
	display: block;
}
.stickers-product-block--light .variations .label {
	padding: 0 0 0.5rem;
}
.stickers-product-block--light .variations .label label {
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-muted);
}
.stickers-product-block--light .variations .value {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}
.stickers-product-block--light .variations .value select {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}
.stickers-product-block--light .variations .reset_variations {
	margin-top: 0.5rem;
	font-size: 0.8rem;
	color: var(--color-muted);
}
.stickers-product-block--light .variations .reset_variations[style*="visibility: hidden"] {
	display: none !important;
}
.stickers-product-block--light .variations .reset_variations:hover {
	color: var(--color-accent);
}

.stickers-product-block--light .stickers-measure-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.stickers-product-block--light .stickers-measure-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.5rem 1rem;
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-primary);
	background: var(--color-light);
	border: 2px solid var(--color-border);
	border-radius: 9999px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.15s;
}
.stickers-product-block--light .stickers-measure-pill:hover {
	background: #eee;
	border-color: var(--color-accent);
	color: var(--color-primary);
	transform: translateY(-1px);
}
.stickers-product-block--light .stickers-measure-pill.is-active {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-accent);
}
.stickers-product-block--light .stickers-measure-pill:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(233,69,96,0.25);
}

/* Cantidad: stepper light (fondo gris claro) */
.stickers-product-block--light .stickers-quantity-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}
.stickers-product-block--light .stickers-quantity-wrap .label {
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-muted);
}
.stickers-product-block--light .stickers-quantity-stepper {
	display: inline-flex;
	align-items: center;
	background: var(--color-light);
	border: 2px solid var(--color-border);
	border-radius: 10px;
	overflow: hidden;
}
.stickers-product-block--light .stickers-quantity-stepper button {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: var(--color-primary);
	font-size: 1.25rem;
	cursor: pointer;
	transition: background 0.2s;
}
.stickers-product-block--light .stickers-quantity-stepper button:hover {
	background: #e9ecef;
}
.stickers-product-block--light .stickers-quantity-stepper .qty {
	width: 48px;
	height: 44px;
	padding: 0;
	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-primary);
	background: transparent;
	border: none;
	border-left: 2px solid var(--color-border);
	border-right: 2px solid var(--color-border);
	-moz-appearance: textfield;
}
.stickers-product-block--light .stickers-quantity-stepper .qty::-webkit-outer-spin-button,
.stickers-product-block--light .stickers-quantity-stepper .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.stickers-product-block--light .quantity {
	margin-bottom: 0;
}

/* Contenedor botón + trust badges: bloque para que no se corten en móvil */
.stickers-product-block--light .stickers-add-to-cart-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin-top: 0.5rem;
	overflow: hidden;
}

/* Botón: acento */
.stickers-product-block--light .single_add_to_cart_button,
.woocommerce .stickers-product-block--light button.single_add_to_cart_button,
.stickers-product-block--light .woocommerce div.product form.cart .button {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 48px;
	margin-bottom: 1.5rem;
	padding: 1rem 1rem;
	font-family: var(--font-body) !important;
	font-size: clamp(0.8125rem, 2.5vw, 1rem) !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: var(--color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;
	box-sizing: border-box;
}
@media (min-width: 600px) {
	.stickers-product-block--light .single_add_to_cart_button,
	.woocommerce .stickers-product-block--light button.single_add_to_cart_button {
		padding: 1rem 1.5rem;
	}
}
.stickers-product-block--light .single_add_to_cart_button:hover,
.woocommerce .stickers-product-block--light button.single_add_to_cart_button:hover {
	background: var(--color-accent-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(233,69,96,0.35);
}
.stickers-product-block--light .single_add_to_cart_button:disabled,
.woocommerce .stickers-product-block--light button.single_add_to_cart_button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
	background: var(--color-muted) !important;
}
.stickers-product-block--light .single_add_to_cart_button .cart-icon,
.stickers-product-block--light .woocommerce div.product form.cart .button .cart-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

/* Mismo botón por selector WooCommerce (margin y estilo) */
.product-section--light .woocommerce div.product form.cart .button {
	margin-bottom: 1.5rem;
}

/* Trust badges: mismo ancho que lo de arriba (pills, cantidad), espacio respecto al botón */
.stickers-product-block--light .stickers-trust-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	margin-top: 1.5rem;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.stickers-product-block--light .stickers-trust-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	padding: 0.75rem 0.5rem;
	background: var(--color-light);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	text-align: center;
}
.stickers-product-block--light .stickers-trust-badge__icon {
	width: 22px;
	height: 22px;
	color: var(--color-accent);
	flex-shrink: 0;
}
.stickers-product-block--light .stickers-trust-badge__text {
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-primary);
	line-height: 1.2;
}

/* ========== SHOP / ARCHIVO TIENDA ========== */
.woocommerce-page-wrap {
	padding: var(--section-padding) 0;
}
/* Contenedor: siempre con padding para que no se pegue a los bordes */
.woocommerce-page-wrap.container {
	padding-left: var(--space-lg);
	padding-right: var(--space-lg);
	box-sizing: border-box;
}
/* Fondo gris claro en shop (por si body no tiene clase archive) */
.woocommerce-page-wrap:has(ul.products) {
	background: #f5f6f8;
	min-height: 60vh;
}
body.woocommerce-shop .woocommerce-page-wrap,
body.post-type-archive-product .woocommerce-page-wrap {
	background: #f5f6f8;
	min-height: 60vh;
}
.woocommerce-page-wrap .woocommerce {
	margin: 0;
	padding: 0;
	max-width: 100%;
}

/* Cabecera tienda: título + resultado + ordenar */
.woocommerce .woocommerce-products-header {
	text-align: center;
	margin-bottom: clamp(1.5rem, 5vw, 2.5rem);
	padding: 0 var(--space-md);
}
.woocommerce .woocommerce-products-header .woocommerce-products-header__title,
.woocommerce .page-title {
	font-family: var(--font-heading);
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-primary) !important;
	margin: 0 0 var(--space-sm);
	line-height: 1.2;
}
.woocommerce .woocommerce-result-count {
	font-size: 0.9375rem;
	color: var(--color-muted) !important;
	margin: 0;
}
.woocommerce .woocommerce-ordering {
	margin: var(--space-md) 0 0;
}
.woocommerce .woocommerce-ordering select {
	font-family: var(--font-body);
	font-size: 0.9375rem;
	padding: 0.75rem 2.75rem 0.75rem 1rem;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	background-color: var(--color-white);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 1rem;
	appearance: none;
	-webkit-appearance: none;
	color: var(--color-primary);
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce .woocommerce-ordering select:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(233,69,96,0.12);
}

/* Grid de productos: márgenes y espacio (anular columnas fijas de WooCommerce) */
/* Quitar clearfix ::before/::after de WooCommerce: con grid se convierten en celdas y dejan el primer hueco vacío */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none !important;
	display: none !important;
}
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
	list-style: none !important;
	margin: 0 0 var(--space-2xl) !important;
	padding: 0 !important;
}
.woocommerce ul.products li.product {
	width: auto !important;
	float: none !important;
}
@media (min-width: 600px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.5rem;
	}
}
@media (min-width: 900px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(4, 1fr);
		gap: 1.75rem;
	}
}

/* Tarjeta de producto: bien visible, colores unificados */
.woocommerce ul.products li.product {
	background: #ffffff !important;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	border: 1px solid var(--color-border);
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
	display: flex !important;
	flex-direction: column;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}
.woocommerce ul.products li.product a {
	text-decoration: none !important;
	color: var(--color-primary) !important;
	display: block;
}
.woocommerce ul.products li.product a:hover {
	color: var(--color-accent) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
	overflow: hidden;
	background: #fff;
}
.woocommerce ul.products li.product img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s var(--ease-out);
	display: block;
}
.woocommerce ul.products li.product:hover img {
	transform: scale(1.05);
}
/* Título: color primario unificado */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-primary) !important;
	margin: 0;
	padding: 1rem 1.25rem 0;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* Precio: solo acento coral; tachado en gris */
.woocommerce ul.products li.product .price {
	font-family: var(--font-body);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--color-accent) !important;
	margin: 0.5rem 1.25rem 1rem;
	padding: 0;
}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price .amount {
	color: inherit;
}
.woocommerce ul.products li.product .price del {
	color: var(--color-muted) !important;
	font-weight: 500;
}
.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}
.woocommerce ul.products li.product .price .amount {
	color: var(--color-accent) !important;
}
/* Botón: acento coral, mismo estilo que el resto del sitio */
.woocommerce ul.products li.product .button {
	display: block !important;
	width: calc(100% - 2.5rem);
	margin: 0 1.25rem 1.25rem !important;
	margin-top: auto !important;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	text-align: center;
	background: var(--color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--radius-md);
	font-weight: 600;
	transition: background 0.2s, transform 0.2s;
}
.woocommerce ul.products li.product .button:hover {
	background: var(--color-accent-hover) !important;
	color: #fff !important;
	transform: translateY(-2px);
}
.woocommerce ul.products li.product .added_to_cart {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.8125rem;
	color: var(--color-accent) !important;
	font-weight: 600;
}

/* Paginación */
.woocommerce nav.woocommerce-pagination {
	margin: var(--space-2xl) 0 0;
	padding: 0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: center;
}
.woocommerce nav.woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 var(--space-md);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--color-primary);
	background: var(--color-white);
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.15s;
}
.woocommerce nav.woocommerce-pagination .page-numbers:hover,
.woocommerce nav.woocommerce-pagination .page-numbers.current {
	background: var(--color-accent);
	color: var(--color-white);
	border-color: var(--color-accent);
}
.woocommerce nav.woocommerce-pagination .page-numbers:hover {
	transform: translateY(-2px);
}
.woocommerce nav.woocommerce-pagination .page-numbers.next,
.woocommerce nav.woocommerce-pagination .page-numbers.prev {
	padding: 0 var(--space-lg);
}

/* Mensaje "no hay productos" */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-no-products-found {
	text-align: center;
	padding: var(--space-2xl);
	background: var(--color-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	font-family: var(--font-body);
	color: var(--color-muted);
}

/* ========== PÁGINA DE PRODUCTO — Solo estilos (layout WooCommerce) ========== */
/* En la página de producto no hay un div .woocommerce; la clase está en el body. Usamos body.single-product div.product. */

body.single-product div.product .product_title {
	font-family: var(--font-heading);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-primary);
}
body.single-product div.product .price {
	font-family: var(--font-body);
	font-weight: 600;
	color: var(--color-primary);
}
body.single-product div.product .price del {
	color: var(--color-muted);
}
body.single-product div.product .price ins {
	text-decoration: none;
}
body.single-product div.product .woocommerce-product-details__short-description,
body.single-product div.product .woocommerce-product-details__short-description p {
	font-family: var(--font-body);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--color-muted);
}

/* Variaciones: etiqueta + pills (select oculto, lo inyecta el JS) */
body.single-product div.product .variations .label label {
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-muted);
}
body.single-product div.product .variations .value select {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
body.single-product div.product .stickers-measure-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}
body.single-product div.product .stickers-measure-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.5rem 1rem;
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-primary);
	background: var(--color-light);
	border: 2px solid var(--color-border);
	border-radius: 9999px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
body.single-product div.product .stickers-measure-pill:hover {
	background: #eee;
	border-color: var(--color-accent);
	color: var(--color-primary);
}
body.single-product div.product .stickers-measure-pill.is-active {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-accent);
}
body.single-product div.product .reset_variations {
	font-size: 0.8rem;
	color: var(--color-muted);
	margin-top: 0.5rem;
	display: inline-block;
}
/* Cuando WooCommerce oculta "Limpiar" con visibility:hidden sigue ocupando espacio; quitamos el hueco */
body.single-product div.product .reset_variations[style*="visibility: hidden"] {
	display: none !important;
}
body.single-product div.product .reset_variations:hover {
	color: var(--color-accent);
}

/* Fila 3 beneficios (Alta calidad, Envío rápido, Resistente al agua) */
body.single-product div.product .stickers-feature-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin-bottom: 1rem;
}
body.single-product div.product .stickers-feature-row__item {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-primary);
}
body.single-product div.product .stickers-feature-row__icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: var(--color-accent);
}

/* Cantidad: stepper (- 1 +) */
body.single-product div.product .stickers-quantity-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
body.single-product div.product .stickers-quantity-wrap .label {
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-muted);
}
body.single-product div.product .stickers-quantity-stepper {
	display: inline-flex;
	align-items: center;
	background: var(--color-light);
	border: 2px solid var(--color-border);
	border-radius: 10px;
	overflow: hidden;
}
body.single-product div.product .stickers-quantity-stepper button {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: var(--color-primary);
	font-size: 1.25rem;
	cursor: pointer;
	transition: background 0.2s;
}
body.single-product div.product .stickers-quantity-stepper button:hover {
	background: #e9ecef;
}
body.single-product div.product .stickers-quantity-stepper .qty {
	width: 48px;
	height: 44px;
	padding: 0;
	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-primary);
	background: transparent;
	border: none;
	border-left: 2px solid var(--color-border);
	border-right: 2px solid var(--color-border);
	-moz-appearance: textfield;
}
body.single-product div.product .stickers-quantity-stepper .qty::-webkit-outer-spin-button,
body.single-product div.product .stickers-quantity-stepper .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Contenedor botón + trust badges */
body.single-product div.product .stickers-add-to-cart-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin-top: 0.5rem;
}
body.single-product div.product .stickers-add-to-cart-wrap .single_add_to_cart_button {
	width: 100%;
	min-height: 48px;
	padding: 1rem 1.25rem;
	margin-bottom: 1.25rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	box-sizing: border-box;
}
body.single-product div.product .stickers-add-to-cart-wrap .single_add_to_cart_button .cart-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
body.single-product div.product .stickers-trust-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	margin-top: 1rem;
	width: 100%;
	box-sizing: border-box;
}
body.single-product div.product .stickers-trust-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	padding: 0.75rem 0.5rem;
	background: var(--color-light);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	text-align: center;
}
body.single-product div.product .stickers-trust-badge__icon {
	width: 22px;
	height: 22px;
	color: var(--color-accent);
	flex-shrink: 0;
}
body.single-product div.product .stickers-trust-badge__text {
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-primary);
	line-height: 1.2;
}

/* Botón (cuando no está dentro del wrap, por si acaso) */
body.single-product div.product .single_add_to_cart_button {
	font-family: var(--font-body);
	font-weight: 600;
	background: var(--color-accent);
	color: #fff;
	border: none;
	border-radius: var(--radius-md);
	transition: background 0.2s;
}
body.single-product div.product .single_add_to_cart_button:hover:not(:disabled) {
	background: var(--color-accent-hover);
}
body.single-product div.product .single_add_to_cart_button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Meta (SKU, categoría): enlaces en coral */
body.single-product div.product .product_meta {
	font-family: var(--font-body);
	font-size: 0.875rem;
	color: var(--color-muted);
}
body.single-product div.product .product_meta a {
	color: var(--color-accent);
}
body.single-product div.product .product_meta a:hover {
	color: var(--color-accent-hover);
}

/* Pestañas Descripción / Información adicional / Valoraciones */
body.single-product .woocommerce-tabs {
	margin-top: 2rem;
	border-top: 1px solid var(--color-border);
	padding-top: 0;
}
body.single-product .woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-bottom: 2px solid var(--color-border);
	background: var(--color-light);
}
body.single-product .woocommerce-tabs ul.tabs li {
	margin: 0;
}
body.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.875rem 1.25rem;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--color-muted);
	text-decoration: none;
	background: transparent;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}
body.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--color-primary);
}
body.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--color-accent);
	background: var(--color-white);
	border-bottom-color: var(--color-accent);
}
body.single-product .woocommerce-Tabs-panel {
	font-family: var(--font-body);
	padding: 1.5rem 0 0;
	line-height: 1.6;
	color: var(--color-primary);
}
body.single-product .woocommerce-Tabs-panel h2 {
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 1rem;
}
body.single-product .woocommerce-Tabs-panel p {
	margin: 0 0 1rem;
}
body.single-product .woocommerce-Tabs-panel table.woocommerce-product-attributes {
	font-family: var(--font-body);
}
body.single-product .woocommerce-Tabs-panel table.woocommerce-product-attributes th {
	font-weight: 600;
	color: var(--color-muted);
	padding: 0.5rem 1rem 0.5rem 0;
}
body.single-product .woocommerce-Tabs-panel table.woocommerce-product-attributes td {
	padding: 0.5rem 0;
}
@media (max-width: 767px) {
	body.single-product .woocommerce-tabs ul.tabs {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		flex-wrap: nowrap;
		max-width: 100%;
	}
	body.single-product .woocommerce-tabs ul.tabs li a {
		white-space: nowrap;
	}
}

/* Productos relacionados */
body.single-product .related.products > h2 {
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--color-primary);
}
body.single-product .related.products .price {
	color: var(--color-accent);
}
body.single-product .related.products .button {
	font-family: var(--font-body);
	font-weight: 600;
	background: var(--color-accent);
	color: #fff;
	border: none;
	border-radius: var(--radius-md);
}
body.single-product .related.products .button:hover {
	background: var(--color-accent-hover);
}

/* ========== PÁGINA CARRITO — Diseño (estilo tema, responsive) ========== */
body.woocommerce-cart .woocommerce-page-wrap {
	background: var(--color-light);
	padding-top: clamp(1.5rem, 5vw, 2.5rem);
	padding-bottom: clamp(2rem, 6vw, 3.5rem);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
body.woocommerce-cart .woocommerce-page-wrap .woocommerce {
	margin-bottom: var(--space-2xl);
	max-width: 100%;
	min-width: 0;
	width: 100%;
}
body.woocommerce-cart .woocommerce-page-wrap .page-title {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-primary);
	margin: 0 0 var(--space-xl);
}
body.woocommerce-cart .woocommerce .cart-wrapper {
	display: block;
}
body.woocommerce-cart .woocommerce form.cart {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	border: 1px solid var(--color-border);
	margin-bottom: var(--space-xl);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
body.woocommerce-cart .woocommerce table.cart.shop_table {
	width: 100%;
	border: none;
	margin: 0;
	font-family: var(--font-body);
}
body.woocommerce-cart .woocommerce table.cart.shop_table thead {
	background: var(--color-light);
	border-bottom: 2px solid var(--color-border);
}
body.woocommerce-cart .woocommerce table.cart.shop_table thead th {
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-muted);
	padding: 1rem 1.25rem;
	border: none;
}
body.woocommerce-cart .woocommerce table.cart.shop_table tbody tr {
	border-bottom: 1px solid var(--color-border);
	transition: background 0.2s;
}
body.woocommerce-cart .woocommerce table.cart.shop_table tbody tr:last-child {
	border-bottom: none;
}
body.woocommerce-cart .woocommerce table.cart.shop_table tbody tr:hover {
	background: rgba(248, 249, 250, 0.8);
}
body.woocommerce-cart .woocommerce table.cart.shop_table td {
	padding: 1rem 1.25rem;
	border: none;
	vertical-align: middle;
}
body.woocommerce-cart .woocommerce table.cart.shop_table td.product-name {
	min-width: 0;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
body.woocommerce-cart .woocommerce table.cart.shop_table .product-thumbnail img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border);
}
body.woocommerce-cart .woocommerce table.cart.shop_table .product-name a {
	font-family: var(--font-body);
	font-weight: 600;
	color: var(--color-primary);
}
body.woocommerce-cart .woocommerce table.cart.shop_table .product-name a:hover {
	color: var(--color-accent);
}
body.woocommerce-cart .woocommerce table.cart.shop_table .product-price,
body.woocommerce-cart .woocommerce table.cart.shop_table .product-subtotal {
	font-weight: 600;
	color: var(--color-accent);
}
body.woocommerce-cart .woocommerce table.cart.shop_table .quantity .qty {
	width: 70px;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	text-align: center;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: 1rem;
}
body.woocommerce-cart .woocommerce table.cart.shop_table .product-remove a {
	color: var(--color-muted);
	font-size: 1.5rem;
	line-height: 1;
	transition: color 0.2s;
}
body.woocommerce-cart .woocommerce table.cart.shop_table .product-remove a:hover {
	color: var(--color-accent);
}
body.woocommerce-cart .woocommerce .cart_totals {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	border: 1px solid var(--color-border);
	padding: clamp(1.25rem, 4vw, 2rem);
	margin-top: var(--space-xl);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: visible;
	box-sizing: border-box;
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table {
	table-layout: auto;
	width: 100%;
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {
	min-width: 0;
}
body.woocommerce-cart .woocommerce .cart_totals h2 {
	font-family: var(--font-heading);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--color-border);
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table {
	border: none;
	margin: 0 0 1.5rem;
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table th,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {
	padding: 0.75rem 0;
	border: none;
	border-bottom: 1px solid var(--color-border);
	font-family: var(--font-body);
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table tr:last-child th,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table tr:last-child td {
	border-bottom: none;
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table th {
	font-weight: 500;
	color: var(--color-muted);
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {
	font-weight: 600;
	color: var(--color-primary);
	text-align: right;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
body.woocommerce-cart .woocommerce .cart_totals .order-total th,
body.woocommerce-cart .woocommerce .cart_totals .order-total td {
	padding-top: 1rem;
	font-size: 1.125rem;
	color: var(--color-accent);
	border-top: 2px solid var(--color-border);
}
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
	padding: 0;
	margin: 0;
}
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	min-height: 52px;
	padding: 1rem 1.5rem;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 1rem;
	text-align: center;
	background: var(--color-accent);
	color: var(--color-white);
	border: none;
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
	box-sizing: border-box;
	white-space: normal;
	word-wrap: break-word;
}
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--color-accent-hover);
	color: var(--color-white);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(233, 69, 96, 0.35);
}
body.woocommerce-cart .woocommerce .cart_totals .cart-subtotal th,
body.woocommerce-cart .woocommerce .cart_totals .cart-subtotal td {
	border-bottom: 1px solid var(--color-border);
}
body.woocommerce-cart .woocommerce button[name="update_cart"] {
	background: transparent;
	color: var(--color-primary);
	border: 2px solid var(--color-border);
	margin-top: 0.5rem;
}
body.woocommerce-cart .woocommerce button[name="update_cart"]:hover {
	border-color: var(--color-accent);
	color: var(--color-accent);
}
body.woocommerce-cart .woocommerce .cart-empty {
	font-family: var(--font-body);
	color: var(--color-muted);
	margin-bottom: var(--space-lg);
}
body.woocommerce-cart .woocommerce .return-to-shop a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 1.5rem;
	font-family: var(--font-body);
	font-weight: 600;
	background: var(--color-accent);
	color: var(--color-white);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: background 0.2s, transform 0.2s;
}
body.woocommerce-cart .woocommerce .return-to-shop a:hover {
	background: var(--color-accent-hover);
	color: var(--color-white);
	transform: translateY(-2px);
}
body.woocommerce-cart .woocommerce .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	align-items: center;
	margin-bottom: var(--space-lg);
}
body.woocommerce-cart .woocommerce .coupon .input-text {
	flex: 1;
	min-width: 180px;
	min-height: 48px;
	padding: 0 1rem;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: 1rem;
}
body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"] {
	background: transparent;
	color: var(--color-primary);
	border: 2px solid var(--color-border);
	min-height: 48px;
	padding: 0 1.25rem;
}
body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"]:hover {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

/* Cart: una sola columna solo en móvil (tabla arriba, totales abajo) */
@media (max-width: 768px) {
	body.woocommerce-cart .woocommerce-page-wrap .woocommerce {
		display: block;
	}
	body.woocommerce-cart .woocommerce .cart-collaterals {
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		clear: both;
		margin: 0;
		padding: 0;
	}
	body.woocommerce-cart .woocommerce form.cart {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	body.woocommerce-cart .woocommerce table.cart.shop_table {
		min-width: 320px;
	}
	body.woocommerce-cart .woocommerce .cart_totals {
		width: 100%;
		max-width: 100%;
	}
}

/* Cart: 2 columnas (tabla izquierda, totales derecha) desde tablet en adelante, sin solapamiento */
@media (min-width: 769px) {
	body.woocommerce-cart .woocommerce-page-wrap .woocommerce {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--space-xl);
		align-items: flex-start;
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
	}
	/* Todo lo que va arriba (título, avisos, etc.) ocupa toda la fila y queda encima */
	body.woocommerce-cart .woocommerce-page-wrap .woocommerce > *:not(form):not(.woocommerce-cart-form):not(.cart-collaterals) {
		flex-basis: 100%;
		width: 100%;
		order: 0;
	}
	/* Fila de contenido: formulario a la izquierda */
	body.woocommerce-cart .woocommerce form.cart,
	body.woocommerce-cart .woocommerce form.woocommerce-cart-form {
		flex: 1 1 400px;
		min-width: 0;
		margin-bottom: 0;
		overflow: visible;
		order: 1;
	}
	/* Totales a la derecha, en la misma fila que el formulario (abajo del título), sin solaparse */
	body.woocommerce-cart .woocommerce .cart-collaterals {
		flex: 0 0 320px;
		width: 320px;
		max-width: 100%;
		float: none !important;
		margin: 0;
		padding: 0;
		order: 2;
		position: relative;
	}
	body.woocommerce-cart .woocommerce .cart_totals {
		margin-top: 0;
		position: sticky;
		top: 100px;
	}
}

/* Cart: responsive móvil */
@media (max-width: 768px) {
	body.woocommerce-cart .woocommerce-page-wrap.container {
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}
	body.woocommerce-cart .woocommerce form.cart {
		border-radius: var(--radius-md);
		margin-bottom: var(--space-lg);
		padding-left: 0;
		padding-right: 0;
	}
	/* Celda de acciones (cupón + actualizar): ancho completo, sin reducir el espacio del cupón */
	body.woocommerce-cart .woocommerce form.cart table.cart td.actions {
		width: 100%;
		box-sizing: border-box;
	}
	body.woocommerce-cart .woocommerce table.cart.shop_table .product-thumbnail img {
		width: 60px;
		height: 60px;
	}
	body.woocommerce-cart .woocommerce .cart_totals {
		padding: 1.25rem;
		margin-top: var(--space-lg);
	}
	/* Cupón a ancho completo en móvil (sobrescribe WooCommerce) */
	body.woocommerce-cart .woocommerce form.cart table.cart td.actions .coupon,
	body.woocommerce-cart .woocommerce .coupon {
		width: 100% !important;
		max-width: 100% !important;
		flex-direction: column;
		align-items: stretch;
		box-sizing: border-box;
		float: none !important;
	}
	body.woocommerce-cart .woocommerce .coupon .input-text {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		box-sizing: border-box;
	}
	body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"] {
		width: 100% !important;
	}
}
@media (max-width: 599px) {
	body.woocommerce-cart .woocommerce-page-wrap.container {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
	body.woocommerce-cart .woocommerce table.cart.shop_table thead th {
		padding: 0.75rem 0.5rem;
		font-size: 0.6875rem;
	}
	body.woocommerce-cart .woocommerce table.cart.shop_table td {
		padding: 0.75rem 0.5rem;
	}
	body.woocommerce-cart .woocommerce table.cart.shop_table .product-thumbnail img {
		width: 50px;
		height: 50px;
	}
	body.woocommerce-cart .woocommerce .cart_totals h2 {
		font-size: 1.125rem;
	}
	body.woocommerce-cart .woocommerce form.cart table.cart td.actions .coupon,
	body.woocommerce-cart .woocommerce .coupon {
		width: 100% !important;
		max-width: 100% !important;
		flex-direction: column;
		align-items: stretch;
		float: none !important;
	}
	body.woocommerce-cart .woocommerce .coupon .input-text {
		min-width: 0;
		width: 100% !important;
		box-sizing: border-box;
	}
	body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"] {
		width: 100% !important;
	}
}

/* ========== CART, CHECKOUT ========== */
.woocommerce .woocommerce-page-wrap h1,
.woocommerce .woocommerce-page-wrap h2 {
	font-family: var(--font-heading);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: 0.85rem 1rem;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: 1rem;
	transition: border-color 0.2s, box-shadow 0.2s;
	background-color: var(--color-white);
	color: var(--color-primary);
}
.woocommerce form .form-row select {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	padding-right: 2.75rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 1rem;
	outline: none !important;
	border-color: var(--color-border);
	box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none !important;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(233,69,96,0.15);
}
.woocommerce form .form-row select:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e94560' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* ========== SELECT2 / SELECTWOO — desplegables país/región (estilo aesthetic, sin borde negro) ========== */
.select2-container--default .select2-selection--single,
.select2-container .select2-selection--single {
	height: auto !important;
	min-height: 48px;
	padding: 0.6rem 2.5rem 0.6rem 1rem !important;
	border: 2px solid var(--color-border) !important;
	border-radius: var(--radius-md) !important;
	background-color: var(--color-white) !important;
	outline: none !important;
	box-shadow: none !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container .select2-selection--single .select2-selection__rendered {
	color: var(--color-primary);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.4;
	padding-left: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
	right: 0.75rem !important;
	background: none !important;
	border: none !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container .select2-selection--single .select2-selection__arrow b {
	border: none !important;
	width: 1rem;
	height: 1rem;
	margin: 0 !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--color-accent) !important;
	box-shadow: 0 0 0 3px rgba(233,69,96,0.12) !important;
}
.select2-container--default.select2-container--focus .select2-selection--single .select2-selection__arrow b,
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e94560' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}
/* Panel desplegable (lista abierta) */
.select2-container--default .select2-dropdown,
.select2-dropdown {
	border: 2px solid var(--color-border) !important;
	border-radius: var(--radius-md) !important;
	box-shadow: var(--shadow-lg) !important;
	background: var(--color-white) !important;
	outline: none !important;
	margin-top: 4px !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field,
.select2-search--dropdown .select2-search__field {
	border: 2px solid var(--color-border) !important;
	border-radius: var(--radius-sm) !important;
	padding: 0.6rem 1rem !important;
	font-family: var(--font-body);
	font-size: 0.9375rem;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
	border-color: var(--color-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(233,69,96,0.12);
}
.select2-results__option {
	padding: 0.65rem 1rem !important;
	font-family: var(--font-body);
	font-size: 0.9375rem;
	color: var(--color-primary);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected=true] {
	background-color: var(--color-accent) !important;
	color: var(--color-white) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: rgba(233,69,96,0.9) !important;
}
.select2-results__options {
	max-height: 280px;
}
.select2-container--default .select2-results > .select2-results__options {
	max-height: 280px;
}
/* Quitar cualquier borde/outline negro del contenedor */
.select2-container *,
.select2-container--default * {
	outline: none !important;
}
.select2-container--default .select2-selection--single {
	transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	padding: 1rem 2rem !important;
	border-radius: var(--radius-md) !important;
	transition: transform 0.2s, box-shadow 0.2s !important;
}
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--color-accent) !important;
	color: #fff !important;
	border: none !important;
}
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--color-accent-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(233,69,96,0.35);
}
.woocommerce-message,
.woocommerce-info {
	border-left-color: var(--color-accent);
	border-radius: var(--radius-md);
}
.woocommerce-error {
	border-left-color: #dc3545;
	border-radius: var(--radius-md);
}

/* ========== PÁGINA CHECKOUT — Diseño aesthetic y responsive ========== */
body.woocommerce-checkout .woocommerce-page-wrap {
	background: var(--color-light);
	padding-top: clamp(1.5rem, 5vw, 2.5rem);
	padding-bottom: clamp(2.5rem, 8vw, 4rem);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
body.woocommerce-checkout .woocommerce-page-wrap .woocommerce {
	margin-bottom: var(--space-2xl);
	max-width: 100%;
	min-width: 0;
	width: 100%;
}
body.woocommerce-checkout .woocommerce-page-wrap .page-title {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-primary);
	margin: 0 0 var(--space-xl);
}

/* Formulario checkout: 1ª fila = cupón, 2ª y 3ª = dos columnas; derecha siempre arriba (título + caja) */
body.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(380px, 400px);
	/* Fila del título "Tu pedido" mínima; fila de la caja se ajusta al contenido para que no quede a la mitad */
	grid-template-rows: auto min-content minmax(min-content, 1fr);
	grid-template-areas:
		"checkout-top checkout-top"
		"checkout-left checkout-right"
		"checkout-left checkout-right2";
	gap: var(--space-2xl);
	align-items: start;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
/* Cupón, login, etc.: siempre arriba, ancho completo */
body.woocommerce-checkout form.checkout > *:not(#customer_details):not(#order_review_heading):not(#order_review) {
	grid-area: checkout-top;
}

/* Columna izquierda: datos de facturación y envío (empieza en la 2ª fila, como la derecha) */
body.woocommerce-checkout #customer_details {
	grid-area: checkout-left;
	min-width: 0;
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	border: 1px solid var(--color-border);
	padding: clamp(1.25rem, 4vw, 2rem);
	margin-bottom: var(--space-xl);
	float: none;
	width: 100%;
	box-sizing: border-box;
}
body.woocommerce-checkout #customer_details .col-2 {
	margin-bottom: 0;
}
body.woocommerce-checkout #customer_details h3 {
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--color-border);
}
body.woocommerce-checkout #customer_details .form-row {
	margin-bottom: var(--space-md);
}
body.woocommerce-checkout #customer_details .form-row label {
	display: block;
	font-weight: 500;
	color: var(--color-primary);
	margin-bottom: 0.35rem;
	font-size: 0.9375rem;
}
body.woocommerce-checkout #customer_details .form-row input.input-text,
body.woocommerce-checkout #customer_details .form-row select,
body.woocommerce-checkout #customer_details .form-row textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.75rem 1rem;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: 1rem;
	background: var(--color-white);
	transition: border-color 0.2s, box-shadow 0.2s;
	box-sizing: border-box;
}
body.woocommerce-checkout #customer_details .form-row input.input-text:focus,
body.woocommerce-checkout #customer_details .form-row select:focus,
body.woocommerce-checkout #customer_details .form-row textarea:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(233,69,96,0.12);
}
body.woocommerce-checkout #customer_details .form-row select {
	min-height: 48px;
	cursor: pointer;
}

/* Columna derecha: título y resumen pegados (poco espacio entre "Tu pedido" y la caja) */
body.woocommerce-checkout #order_review_heading {
	grid-area: checkout-right;
	font-family: var(--font-heading);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 0.5rem;
	padding-bottom: 0;
	border: none;
}
body.woocommerce-checkout #order_review {
	grid-area: checkout-right2;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	background: var(--color-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	border: 1px solid var(--color-border);
	padding: 1rem 1.25rem;
	box-sizing: border-box;
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 0;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
	border: none;
	margin: 0 0 0.75rem;
	font-family: var(--font-body);
	font-size: 0.9375rem;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	font-weight: 600;
	color: var(--color-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.6875rem;
	padding: 0 0 0.75rem;
	border: none;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
	padding: 0.5rem 0;
	border: none;
	color: var(--color-primary);
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name {
	font-weight: 500;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	padding: 0.5rem 0;
	border: none;
	border-top: 1px solid var(--color-border);
	font-size: 0.9375rem;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
	padding-top: 0.75rem;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-accent);
	border-top-width: 2px;
}
/* Avisos dentro del resumen (ej. "no hay métodos de pago"): poco espacio */
/* Avisos en el resumen: espacio a la izquierda para el icono (evitar que se superponga al texto) */
body.woocommerce-checkout #order_review .woocommerce-info,
body.woocommerce-checkout #order_review .woocommerce-error,
body.woocommerce-checkout #order_review .woocommerce-message {
	margin: 0 0 0.75rem;
	padding: 0.75rem 1rem 0.75rem 2.75rem;
	text-align: left;
}

/* Métodos de pago */
body.woocommerce-checkout #payment {
	background: rgba(248,249,250,0.8);
	border-radius: var(--radius-md);
	padding: 1rem;
	margin-top: 0;
	margin-bottom: 0;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
body.woocommerce-checkout #payment .payment_methods {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	border: none;
	min-width: 0;
	max-width: 100%;
}
body.woocommerce-checkout #payment .payment_methods li {
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--color-border);
	margin: 0;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}
body.woocommerce-checkout #payment .payment_methods li:last-of-type {
	border-bottom: none;
}
body.woocommerce-checkout #payment .payment_methods label {
	cursor: pointer;
	font-weight: 500;
	color: var(--color-primary);
}
/* Caja de instrucciones: ancho = 100% menos margen izquierdo para no desbordar */
body.woocommerce-checkout #payment .payment_methods .payment_box {
	background: var(--color-white);
	border-radius: var(--radius-sm);
	padding: 0.75rem 1rem;
	margin: 0.35rem 0 0 1.5rem;
	width: calc(100% - 1.5rem) !important;
	max-width: calc(100% - 1.5rem) !important;
	min-width: 0;
	box-sizing: border-box;
	border: 1px solid var(--color-border);
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: break-word;
	overflow: hidden;
}

body.woocommerce-checkout #payment .payment_methods .payment_box p,
body.woocommerce-checkout #payment .payment_methods .payment_box div {
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: break-word;
}
body.woocommerce-checkout #payment .form-row.place-order {
	margin-top: 0.75rem;
	margin-bottom: 0;
	padding-top: 0.75rem;
	border-top: 2px solid var(--color-border);
}
body.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 52px;
	padding: 1rem 1.5rem;
	font-size: 1.0625rem;
	font-weight: 600;
	border-radius: var(--radius-md);
	background: var(--color-accent) !important;
	color: var(--color-white) !important;
	border: none !important;
	transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
	cursor: pointer;
}
body.woocommerce-checkout #place_order:hover {
	background: var(--color-accent-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(233,69,96,0.35);
}
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: 0.8125rem;
	color: var(--color-muted);
	line-height: 1.5;
	margin-bottom: 0.5rem;
	max-width: 100%;
}
body.woocommerce-checkout #payment .form-row.place-order {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: stretch;
}
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.9375rem;
}
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input {
	margin-top: 0.25rem;
	accent-color: var(--color-accent);
}
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
	margin-bottom: var(--space-lg);
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	padding: 1rem 1.25rem;
	border-radius: var(--radius-md);
	margin: 0;
}
body.woocommerce-checkout .woocommerce-form-login,
body.woocommerce-checkout .woocommerce-form-coupon {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	padding: var(--space-lg);
	margin-bottom: var(--space-lg);
	box-shadow: var(--shadow-sm);
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

/* ========== PÁGINA "PEDIDO RECIBIDO" / MUCHAS GRACIAS (thankyou) ========== */
body.woocommerce-checkout .woocommerce-order {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding: var(--space-2xl) var(--space-xl);
	background: var(--color-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-md);
}

body.woocommerce-checkout .woocommerce-thankyou-order-received-text {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 600;
	color: var(--color-primary);
	text-align: center;
	margin: 0 0 var(--space-xl);
	line-height: 1.3;
}

body.woocommerce-checkout .woocommerce-notice--success.woocommerce-thankyou-order-received {
	background: rgba(233, 69, 96, 0.08);
	border: none;
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-md);
	padding: 1rem 1.25rem;
	margin: 0 0 var(--space-xl);
	color: var(--color-primary);
	font-family: var(--font-body);
	font-size: 1.125rem;
}

body.woocommerce-checkout .woocommerce-order .woocommerce-order-overview {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-md) var(--space-xl);
	list-style: none;
	margin: 0 0 var(--space-2xl);
	padding: var(--space-lg) 0;
	border-top: 2px solid var(--color-border);
	border-bottom: 2px solid var(--color-border);
	font-family: var(--font-body);
}

/* Quitar espacio del ::before que añade WooCommerce a la lista de resumen del pedido */
body.woocommerce-checkout .woocommerce-order .woocommerce-order-overview::before {
	display: none !important;
	content: none !important;
}

body.woocommerce-checkout .woocommerce-order .woocommerce-order-overview li {
	margin: 0;
	padding: 0.5rem 0;
	border: none;
}

body.woocommerce-checkout .woocommerce-order .woocommerce-order-overview strong {
	color: var(--color-primary);
	font-weight: 600;
}

body.woocommerce-checkout .woocommerce-order .woocommerce-order-overview .total {
	grid-column: 1 / -1;
	font-size: 1.125rem;
	padding-top: var(--space-md);
	border-top: 1px solid var(--color-border);
	margin-top: var(--space-xs);
}

body.woocommerce-checkout .woocommerce-order .woocommerce-order-overview .total strong {
	color: var(--color-accent);
	font-size: 1.25rem;
}

body.woocommerce-checkout .woocommerce-order .woocommerce-thankyou-order-failed,
body.woocommerce-checkout .woocommerce-order .woocommerce-thankyou-order-failed-actions {
	margin-bottom: var(--space-md);
}

body.woocommerce-checkout .woocommerce-order .woocommerce-thankyou-order-failed-actions .button {
	display: inline-block;
	margin-right: var(--space-md);
	margin-bottom: var(--space-sm);
	padding: 0.6rem 1.25rem;
	background: var(--color-accent);
	color: var(--color-white) !important;
	border-radius: var(--radius-md);
	text-decoration: none;
	font-weight: 500;
}

body.woocommerce-checkout .woocommerce-order .woocommerce-thankyou-order-failed-actions .button:hover {
	background: var(--color-accent-hover);
}

/* En la página "pedido recibido" ocultar el título de página (ej. "Tienda") para que solo se vea el mensaje de gracias */
body.woocommerce-checkout .woocommerce-page-wrap:has(.woocommerce-order) .page-title {
	display: none;
}

@media (max-width: 480px) {
	body.woocommerce-checkout .woocommerce-order .woocommerce-order-overview {
		grid-template-columns: 1fr;
	}
	body.woocommerce-checkout .woocommerce-order {
		padding: var(--space-xl) var(--space-md);
	}
}

/* ========== RESPONSIVE — TODAS LAS VISTAS ========== */

/* Contenedor y padding en móvil */
@media (max-width: 599px) {
	.woocommerce-page-wrap {
		padding: clamp(1.5rem, 5vw, 3rem) 0;
	}
	.woocommerce-page-wrap.container {
		padding-left: clamp(1rem, 4vw, var(--space-lg));
		padding-right: clamp(1rem, 4vw, var(--space-lg));
	}
}

/* ——— PÁGINA DE PRODUCTO: evitar scroll horizontal en móvil ——— */
@media (max-width: 767px) {
	body.single-product .woocommerce-page-wrap {
		overflow-x: hidden;
		max-width: 100%;
	}
	body.single-product .woocommerce-page-wrap .woocommerce,
	body.single-product div.product,
	body.single-product div.product .summary,
	body.single-product div.product form.cart,
	body.single-product div.product .stickers-add-to-cart-wrap,
	body.single-product div.product .stickers-trust-badges {
		min-width: 0;
		max-width: 100%;
	}
	body.single-product .woocommerce-tabs {
		overflow: hidden;
		min-width: 0;
	}
	body.single-product .woocommerce-tabs ul.tabs {
		min-width: 0;
	}
	body.single-product div.product .stickers-trust-badge {
		min-width: 0;
	}
}

/* ——— SHOP: móvil y tablets ——— */
@media (max-width: 599px) {
	.woocommerce .woocommerce-products-header {
		padding: 0;
		margin-bottom: 1.25rem;
	}
	.woocommerce .woocommerce-result-count {
		font-size: 0.875rem;
	}
	.woocommerce .woocommerce-ordering select {
		width: 100%;
		max-width: 100%;
		min-height: 44px;
	}
	.woocommerce ul.products {
		gap: var(--space-md);
		margin-bottom: var(--space-xl);
	}
	.woocommerce ul.products li.product img {
		height: clamp(160px, 45vw, 220px);
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding: var(--space-sm) var(--space-md) 0;
		font-size: clamp(0.875rem, 2.5vw, 1rem);
	}
	.woocommerce ul.products li.product .price {
		margin: var(--space-xs) var(--space-md) var(--space-sm);
		font-size: clamp(0.9375rem, 2.5vw, 1.0625rem);
	}
	.woocommerce ul.products li.product .button {
		width: calc(100% - var(--space-md) * 2);
		margin-left: var(--space-md);
		margin-right: var(--space-md);
		margin-bottom: var(--space-md);
		min-height: 44px;
		padding: 0.75rem var(--space-md);
		font-size: clamp(0.8125rem, 2.5vw, 0.875rem);
	}
}
@media (max-width: 380px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
		gap: var(--space-lg);
	}
	.woocommerce ul.products li.product img {
		height: 200px;
	}
}

/* ——— CART: tabla con scroll horizontal en móvil (complementa reglas de PÁGINA CARRITO) ——— */
@media (max-width: 768px) {
	.woocommerce-cart .woocommerce table.shop_table.cart {
		min-width: 300px;
	}
	.woocommerce-cart .cart_totals .shop_table td,
	.woocommerce-cart .cart_totals .shop_table th {
		padding: var(--space-sm) 0;
	}
	.woocommerce .cart_totals {
		width: 100%;
		max-width: 100%;
		margin-top: var(--space-xl);
		box-sizing: border-box;
	}
}
@media (max-width: 599px) {
	.woocommerce-cart .woocommerce .quantity .qty {
		min-width: 48px;
	}
	.woocommerce-cart .woocommerce a.button,
	.woocommerce-cart .woocommerce button.button {
		display: block;
		width: 100%;
		text-align: center;
		min-height: 48px;
	}
}

/* ——— CHECKOUT: responsive (tablet y móvil) ——— */
@media (max-width: 900px) {
	body.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto auto;
		grid-template-areas:
			"checkout-top"
			"checkout-left"
			"checkout-right"
			"checkout-right2";
		gap: var(--space-lg);
	}
	body.woocommerce-checkout #order_review_heading {
		margin-top: var(--space-lg);
		padding-top: var(--space-xl);
		border-top: 2px solid var(--color-border);
	}
	body.woocommerce-checkout #order_review {
		position: static;
		width: 100%;
	}
}
@media (max-width: 768px) {
	body.woocommerce-checkout .woocommerce-page-wrap.container {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	body.woocommerce-checkout #customer_details .col-1,
	body.woocommerce-checkout #customer_details .col-2 {
		padding: 1.25rem;
		margin-bottom: var(--space-lg);
	}
	body.woocommerce-checkout #order_review {
		padding: 1.25rem;
	}
	body.woocommerce-checkout #customer_details .form-row input.input-text,
	body.woocommerce-checkout #customer_details .form-row select,
	body.woocommerce-checkout #customer_details .form-row textarea {
		min-height: 48px;
	}
	.woocommerce form .form-row {
		margin-bottom: var(--space-md);
	}
}
@media (max-width: 599px) {
	body.woocommerce-checkout .woocommerce-page-wrap.container {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
	body.woocommerce-checkout #customer_details .col-1,
	body.woocommerce-checkout #customer_details .col-2 {
		padding: 1rem;
	}
	body.woocommerce-checkout #payment {
		padding: 1rem;
	}
	body.woocommerce-checkout #payment .payment_methods .payment_box {
		margin-left: 0;
		width: 100% !important;
		max-width: 100% !important;
	}
	body.woocommerce-checkout #place_order {
		width: 100%;
		min-height: 52px;
		padding: 1rem;
		font-size: 1rem;
	}
}

/* ——— PAGINACIÓN: touch targets en móvil ——— */
@media (max-width: 599px) {
	.woocommerce nav.woocommerce-pagination .page-numbers {
		min-width: 44px;
		height: 44px;
		padding: 0 var(--space-sm);
		font-size: 0.875rem;
	}
	.woocommerce nav.woocommerce-pagination .page-numbers.next,
	.woocommerce nav.woocommerce-pagination .page-numbers.prev {
		padding: 0 var(--space-md);
	}
}

/* ——— BLOQUE PRODUCTO (HOME): pills y espaciados en móvil ——— */
@media (max-width: 480px) {
	.stickers-product-block--light .stickers-measure-pills {
		gap: 0.375rem;
	}
	.stickers-product-block--light .stickers-measure-pill {
		min-height: 40px;
		padding: 0.4rem 0.75rem;
		font-size: 0.8125rem;
	}
	.stickers-product-block--light .stickers-quantity-stepper button,
	.stickers-product-block--light .stickers-quantity-stepper .qty {
		width: 40px;
		height: 40px;
		min-height: 40px;
	}
	.stickers-product-block--light .stickers-trust-badge__text {
		font-size: 0.5625rem;
	}
}

/* ========== MI CUENTA (MY ACCOUNT) ========== */
.woocommerce-account .site-main {
	overflow: visible;
}

.woocommerce-account .woocommerce-page-wrap {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(1.5rem, 4vw, var(--space-2xl)) var(--space-md);
	padding-top: var(--space-2xl);
	overflow: visible;
}

.woocommerce-account .woocommerce-page-wrap .woocommerce {
	overflow: visible;
}

.woocommerce-account .myaccount-layout {
	display: grid;
	grid-template-columns: minmax(260px, 280px) minmax(0, 1fr);
	gap: var(--space-2xl);
	align-items: start;
	overflow: visible;
	width: 100%;
}

/* Navegación lateral: ancho mínimo para que no se colapse (evita el corte) */
.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky;
	top: calc(72px + var(--space-md));
	min-width: 260px;
	width: 100%;
	max-width: 280px;
	background: var(--color-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-sm);
	padding: var(--space-xl) var(--space-md) var(--space-md);
	overflow: visible;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	overflow: visible;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--color-border);
	overflow: visible;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

/* Enlaces sin border-radius para evitar recorte del texto; padding horizontal generoso */
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	box-sizing: border-box;
	padding: 0.75rem 1.25rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	line-height: 1.4;
	font-family: var(--font-body);
	font-weight: 500;
	color: var(--color-primary);
	text-decoration: none;
	border-radius: 0;
	overflow: visible;
	transition: background var(--transition-fast), color var(--transition-fast);
}

/* Evitar que pseudoelementos (iconos de tema/plugin) tapen el texto */
.woocommerce-account .woocommerce-MyAccount-navigation a::before,
.woocommerce-account .woocommerce-MyAccount-navigation a::after {
	display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:first-child a {
	padding-top: 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--color-light);
	color: var(--color-accent);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--color-accent);
	color: var(--color-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover {
	background: var(--color-accent-hover);
	color: var(--color-white);
}

/* ——— Prioridad máxima: evitar que el menú se corte (clases del tema + !important) ——— */
body.woocommerce-account .site-main,
body.woocommerce-account .woocommerce-page-wrap,
body.woocommerce-account .woocommerce-page-wrap .woocommerce,
body.woocommerce-account .myaccount-layout {
	overflow: visible !important;
}

body.woocommerce-account main .stickers-account-nav {
	overflow: visible !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
	padding-top: 2rem !important;
}

body.woocommerce-account main .stickers-account-nav ul,
body.woocommerce-account main .stickers-account-nav li {
	overflow: visible !important;
}

body.woocommerce-account main .stickers-account-nav-link {
	overflow: visible !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
	padding-top: 0.75rem !important;
	padding-bottom: 0.75rem !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	display: block !important;
}

body.woocommerce-account main .stickers-account-nav li:first-child .stickers-account-nav-link {
	padding-top: 1rem !important;
}

/* Contenido principal: min-width 0 para que el grid no lo desborde; overflow visible para que no se corte */
.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-sm);
	padding: var(--space-xl);
	min-width: 0;
	overflow: visible;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content > *:first-child {
	margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > *:last-child {
	margin-bottom: 0;
}

/* Dashboard: saludo y descripción */
.woocommerce-account .woocommerce-MyAccount-content p {
	font-family: var(--font-body);
	color: var(--color-primary);
	line-height: 1.6;
	margin-bottom: var(--space-md);
}

.woocommerce-account .woocommerce-MyAccount-content p a {
	color: var(--color-accent);
	text-decoration: none;
	font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-content p a:hover {
	text-decoration: underline;
	color: var(--color-accent-hover);
}

/* Tabla de pedidos */
.woocommerce-account .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-body);
	margin-bottom: var(--space-xl);
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td {
	padding: var(--space-md) var(--space-lg);
	text-align: left;
	border-bottom: 1px solid var(--color-border);
	vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table thead th {
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--color-primary);
	background: var(--color-light);
	border-bottom: 2px solid var(--color-border);
}

.woocommerce-account .woocommerce-orders-table tbody tr:hover {
	background: rgba(233, 69, 96, 0.04);
}

.woocommerce-account .woocommerce-orders-table a:not(.button) {
	color: var(--color-accent);
	text-decoration: none;
	font-weight: 500;
}

.woocommerce-account .woocommerce-orders-table a:not(.button):hover {
	text-decoration: underline;
	color: var(--color-accent-hover);
}

.woocommerce-account .woocommerce-orders-table .button {
	display: inline-block;
	padding: 0.5rem var(--space-md);
	font-size: 0.875rem;
	font-family: var(--font-body);
	font-weight: 500;
	background: var(--color-accent);
	color: var(--color-white) !important;
	border: none;
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: background var(--transition-fast);
}

.woocommerce-account .woocommerce-orders-table .button:hover {
	background: var(--color-accent-hover);
	color: var(--color-white) !important;
}

/* Paginación pedidos */
.woocommerce-account .woocommerce-pagination {
	display: flex;
	gap: var(--space-md);
	flex-wrap: wrap;
	margin-top: var(--space-lg);
}

.woocommerce-account .woocommerce-pagination .woocommerce-button {
	display: inline-block;
	padding: 0.5rem var(--space-lg);
	font-family: var(--font-body);
	font-weight: 500;
	background: var(--color-light);
	color: var(--color-primary);
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: background var(--transition-fast), border-color var(--transition-fast);
}

.woocommerce-account .woocommerce-pagination .woocommerce-button:hover {
	background: var(--color-accent);
	color: var(--color-white);
	border-color: var(--color-accent);
}

/* Formularios (editar cuenta, direcciones) */
.woocommerce-account .woocommerce-MyAccount-content .edit-account,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .addresses .address {
	font-family: var(--font-body);
}

.woocommerce-account .woocommerce-MyAccount-content .form-row {
	margin-bottom: var(--space-lg);
}

.woocommerce-account .woocommerce-MyAccount-content label {
	display: block;
	font-weight: 500;
	color: var(--color-primary);
	margin-bottom: var(--space-sm);
}

.woocommerce-account .woocommerce-MyAccount-content .input-text,
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"] {
	width: 100%;
	max-width: 400px;
	padding: 0.6rem var(--space-md);
	font-family: var(--font-body);
	font-size: 1rem;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-white);
	color: var(--color-primary);
	transition: border-color var(--transition-fast);
}

.woocommerce-account .woocommerce-MyAccount-content .input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content input:focus {
	outline: none;
	border-color: var(--color-accent);
}

.woocommerce-account .woocommerce-MyAccount-content .button {
	display: inline-block;
	padding: 0.65rem var(--space-xl);
	font-family: var(--font-body);
	font-weight: 600;
	background: var(--color-accent);
	color: var(--color-white) !important;
	border: none;
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: background var(--transition-fast);
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover {
	background: var(--color-accent-hover);
	color: var(--color-white) !important;
}

/* Direcciones: columnas y enlaces */
.woocommerce-account .woocommerce-MyAccount-content .addresses .woocommerce-Address {
	margin-bottom: var(--space-2xl);
	padding-bottom: var(--space-2xl);
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-account .woocommerce-MyAccount-content .addresses .woocommerce-Address:last-of-type {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .addresses .woocommerce-Address-title {
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 var(--space-md);
}

.woocommerce-account .woocommerce-MyAccount-content .addresses .address address {
	font-style: normal;
	color: var(--color-muted);
	line-height: 1.6;
	margin-bottom: var(--space-md);
}

/* Avisos en Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	padding: 0.75rem 1rem 0.75rem 2.75rem;
	margin-bottom: var(--space-md);
	border-radius: var(--radius-md);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
	background: rgba(233, 69, 96, 0.08);
	border-left: 4px solid var(--color-accent);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
	background: var(--color-light);
	border-left: 4px solid var(--color-muted);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	background: rgba(233, 69, 96, 0.08);
	border-left: 4px solid var(--color-accent);
}

/* Título de sección (ej. Pedidos, Direcciones) */
.woocommerce-account .woocommerce-MyAccount-content h2 {
	font-family: var(--font-heading);
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 var(--space-lg);
	padding-bottom: var(--space-md);
	border-bottom: 2px solid var(--color-border);
}

/* Detalle de pedido (view-order) */
.woocommerce-account .woocommerce-MyAccount-content .order_details {
	margin-bottom: var(--space-xl);
}

.woocommerce-account .woocommerce-MyAccount-content .order_details th,
.woocommerce-account .woocommerce-MyAccount-content .order_details td {
	padding: var(--space-sm) var(--space-md);
	border-bottom: 1px solid var(--color-border);
}

/* Login / registro en Mi cuenta (cuando no está logueado) */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	max-width: 420px;
	padding: var(--space-xl);
	background: var(--color-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
}

.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row {
	margin-bottom: var(--space-md);
}

.woocommerce-account .woocommerce-form-login .button,
.woocommerce-account .woocommerce-form-register .button {
	width: 100%;
	padding: 0.75rem;
	margin-top: var(--space-sm);
}

/* Responsive: Mi cuenta */
@media (max-width: 768px) {
	.woocommerce-account .myaccount-layout {
		grid-template-columns: 1fr;
		gap: var(--space-xl);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
		min-width: 0;
		max-width: none;
		width: 100%;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: var(--space-xs);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		border-bottom: 0;
		flex: 1 1 auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
		padding: 0.5rem 1rem;
		font-size: 0.875rem;
		text-align: center;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: var(--space-lg);
	}

	/* Tabla pedidos: cards en móvil */
	.woocommerce-account .woocommerce-orders-table thead {
		display: none;
	}

	.woocommerce-account .woocommerce-orders-table tr {
		display: block;
		margin-bottom: var(--space-lg);
		padding: var(--space-md);
		background: var(--color-light);
		border-radius: var(--radius-md);
		border: 1px solid var(--color-border);
	}

	.woocommerce-account .woocommerce-orders-table td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: var(--space-sm) 0;
		border-bottom: 1px solid var(--color-border);
	}

	.woocommerce-account .woocommerce-orders-table td:last-child {
		border-bottom: 0;
		padding-top: var(--space-md);
	}

	.woocommerce-account .woocommerce-orders-table td::before {
		content: attr(data-title);
		font-weight: 600;
		color: var(--color-primary);
		margin-right: var(--space-md);
		flex-shrink: 0;
	}

	.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 599px) {
	.woocommerce-account .woocommerce-page-wrap {
		padding-left: var(--space-sm);
		padding-right: var(--space-sm);
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: var(--space-md);
	}
}
