/* Main Components & Variables */
:root {
	--color-primary: #1a1a1a;
	--color-secondary: #666;
	--color-accent: #c6a87c;
	--color-whatsapp: #25D366;
	--app-bar-height: 60px;
	--header-height: 80px;
	--header-height-mobile: 60px;
}

body {
	font-family: 'Inter', Helvetica, Arial, sans-serif;
	color: var(--color-primary);
	line-height: 1.6;
	background: #fff;
	margin: 0;
}

/* --- Layout Wrappers --- */
.container {
	max-width: 1600px;
	/* Expanded for modern wide screens */
	margin: 0 auto;
	padding: 0 20px;
}

.container-fluid {
	width: 100%;
	padding: 0 40px;
}

@media (width <=768px) {
	.container-fluid {
		padding: 0 20px;
	}
}

main.site-main {
	min-height: 50vh;
	padding: 40px 0;
}

/* Reduce padding on archive pages for better first impression */
.woocommerce-shop main.site-main,
.tax-product_cat main.site-main,
.tax-product_tag main.site-main,
.post-type-archive-product main.site-main {
	padding: 20px 0 40px 0;
}

/* --- Header (Lumina V2) --- */
.site-header {
	height: auto;
	background: #fff;
	border-bottom: 1px solid #f0f0f0;
	position: sticky;
	top: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
}

.header-top-row {
	background: #fff;
	padding: 10px 0;
	border-bottom: 1px solid #f0f0f0;
}

.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.site-branding {
	flex-shrink: 0;
}

.site-logo img {
	height: 40px;
	width: auto;
}

.site-title a {
	text-decoration: none;
	color: #000;
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: -0.5px;
}

/* Desktop Search */
.header-search-desktop {
	flex: 1;
	/* Removed max-width constraint to fill available space like Amazon */
	display: none;
}

@media (width >=992px) {
	.header-search-desktop {
		display: block;
	}
}

.search-form-header {
	width: 100%;
}

.search-group {
	display: flex;
	border: 1px solid #e0e0e0;
	/* Thinner boutique border */
	border-radius: 4px;
	overflow: visible;
	/* Allow dropdown results to show */
	background: #fff;
	transition: all 0.2s ease;
	align-items: center;
}

.search-group:focus-within {
	border-color: #c6a87c;
	/* Gold accent */
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	/* Soft shadow */
}

.search-group .search-field {
	flex: 1;
	border: none;
	padding: 10px 15px;
	font-size: 0.95rem;
	/* Slightly smaller, more elegant */
	outline: none;
	height: 44px;
	background: transparent;
	color: #333;
	font-weight: 300;
}

.search-group .search-submit {
	background: transparent;
	/* Boutique style: transparent */
	color: #333;
	/* Dark icon */
	border: none;
	width: 44px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s;
}

.search-group .search-submit:hover {
	color: #c6a87c;
}

/* Ajax Results Dropdown */
.search-results-ajax {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-top: none;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
	z-index: 9999;
	margin-top: 2px;
	border-radius: 0 0 6px 6px;
	max-height: 500px;
	overflow-y: auto;
	box-sizing: border-box;
}

.ajax-search-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ajax-search-list li a {
	display: flex;
	align-items: center;
	padding: 10px 15px;
	border-bottom: 1px solid #f9f9f9;
	text-decoration: none;
	transition: background 0.2s;
}

.ajax-search-list li a:hover {
	background: #fcfcfc;
}

.ajax-search-list img {
	width: 40px;
	height: 40px;
	object-fit: contain;
	margin-right: 15px;
	border-radius: 2px;
}

.ajax-search-list .info {
	display: flex;
	flex-direction: column;
}

.ajax-search-list .title {
	font-size: 0.85rem;
	font-weight: 500;
	color: #000;
}

.ajax-search-list .price {
	font-size: 0.75rem;
	color: #666;
}

/* Mobile Search Row */
.header-search-mobile-row {
	display: flex;
	padding: 10px 20px;
	background: #fff;
	border-bottom: 1px solid #f0f0f0;
}

@media (width >=992px) {
	.header-search-mobile-row {
		display: none;
	}
}

/* Tools */
.header-tools {
	display: flex;
	align-items: center;
	gap: 15px;
}

.header-account {
	display: flex;
	align-items: center;
	text-decoration: none;
	line-height: 1.2;
	color: #000;
}

.account-icon {
	display: block;
	margin-right: 0;
}

.account-text-group {
	display: none;
	flex-direction: column;
}

@media (width >=992px) {
	.account-icon {
		display: none;
	}

	.account-text-group {
		display: flex;
	}
}

.account-line-1 {
	font-size: 0.75rem;
	color: #666;
}

.account-line-2 {
	font-size: 0.9rem;
	font-weight: 700;
	color: #000;
}

.header-cart {
	display: flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
	color: #000;
}

.header-cart-icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.cart-text {
	display: none;
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
}

@media (width >=992px) {
	.cart-text {
		display: block;
	}
}

.menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

@media (width <=768px) {
	.header-inner {
		gap: 10px;
		padding: 0;
	}

	.site-logo img {
		height: 30px;
	}

	.menu-toggle {
		display: block;
	}

	.header-search-mobile-row .search-group {
		border-width: 1px;
	}
}

/* Categories Strip */
.header-categories-strip {
	background: #1a1a1a;
	color: #fff;
	height: 40px;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.categories-navigation {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
	display: flex;
	align-items: center;
	height: 100%;
	scrollbar-width: none;
}

.categories-navigation::-webkit-scrollbar {
	display: none;
}

.categories-label-desktop {
	font-weight: 700;
	margin-right: 20px;
	text-transform: uppercase;
	font-size: 0.85rem;
	display: none;
	cursor: pointer;
}

@media (width >=992px) {
	.categories-label-desktop {
		display: inline-block;
	}
}

.categories-navigation ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 20px;
}

.categories-navigation ul li {
	display: inline-block;
}

.categories-navigation ul li a {
	color: #fff;
	text-decoration: none;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 500;
	white-space: nowrap;
	padding: 10px 0;
	display: block;
}

/* Icons styling */
.header-icon-btn {
	background: none;
	border: none;
	cursor: pointer;
	padding: 5px;
	color: #000;
}


/* --- WooCommerce: Category Grid (Responsive & Robust) --- */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 15px !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media (width >=768px) {
	.woocommerce ul.products {
		/* Responsive: Fits as many as possible (min 250px), usually 4 on desktop */
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
		gap: 30px !important;
	}
}

.woocommerce ul.products li.product {
	text-align: left;
	margin: 0 !important;
	width: 100% !important;
	padding: 0 !important;
	border: none !important;
}

/* Loop Sizes (Missing Style) */
.lumina-loop-sizes {
	font-size: 0.75rem;
	color: #666;
	margin-top: 5px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Clean Product Card */
.woocommerce ul.products li.product .product-thumbnail-wrap {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
	width: 100%;
	aspect-ratio: 1/1;
	/* Keep square ratio for consistency */
	background: transparent;
}

.woocommerce ul.products li.product .product-thumbnail-wrap img {
	height: 100%;
	width: 100%;
	object-fit: contain;
	object-position: bottom center;
	/* Pega el zapato a la parte de abajo */
}



.woocommerce ul.products li.product a img {
	margin: 0 !important;
	transition: opacity 0.6s ease, transform 0.6s ease;
	aspect-ratio: 3/4;
	object-fit: cover;
	width: 100%;
	display: block;
}

.woocommerce ul.products li.product img.hover-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	object-fit: cover;
	z-index: 2;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.woocommerce ul.products li.product:hover img.hover-img {
	opacity: 1;
}

.woocommerce ul.products li.product:hover a img:not(.hover-img) {
	transform: scale(1.03);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.85rem !important;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 4px !important;
	color: #000;
}

/* Etiqueta de variante (p.ej. color) cuando mostramos cards por variación */
.woocommerce ul.products li.product .lumina-variant-meta {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #666;
	margin: 2px 0 6px;
}

.woocommerce ul.products li.product .price {
	font-size: 0.85rem !important;
	color: #444;
	font-weight: 400;
	display: block;
}

/* Hide WooCommerce Noise */
.woocommerce-result-count,
.woocommerce-ordering {
	display: none !important;
}

/* Only show loop buttons on hover (or hide completely for Zara style) */
.woocommerce ul.products li.product .button {
	display: none !important;
}


/* Force visibility of single product elements */
.lumina-single-product,
.product-summary,
.entry-summary {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.woocommerce-product-gallery {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-height: 400px;
}

.single-product .product-summary .cart {
	display: flex !important;
	visibility: visible !important;
}

/* --- Single Product Layout Restoration --- */
.lumina-single-product {
	margin-top: 20px;
}

.product-main-view {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

@media (width >=992px) {
	.product-main-view {
		flex-direction: row;
		align-items: flex-start;
	}

	.product-gallery {
		flex: 1.2;
		position: sticky;
		top: 100px;

		/* Evita que fotos antiguas/irregulares "empujen" la columna de resumen */
		max-width: 680px;
		width: 100%;
	}

	.product-summary {
		flex: 0.8;
		padding-left: 60px;
	}
}

.product-summary h1.product_title {
	font-size: 2rem;
	font-weight: 400;
	margin-bottom: 15px;
	line-height: 1.2;
}

.product-summary .price {
	font-size: 1.2rem;
	color: #000;
	margin-bottom: 25px;
	display: block;
}

.product-summary .woocommerce-product-details__short-description {
	margin-bottom: 30px;
	color: #555;
	font-size: 0.95rem;
}

.single-product form.cart {
	display: flex;
	flex-flow: column nowrap;
	/* botón debajo, estilo Shopify */
	gap: 12px;
	margin-bottom: 30px;
}

/* No mostrar selector de cantidad en ficha */
.single-product form.cart .quantity {
	display: none !important;
}

.single-product .variations_button {
	display: flex;
	flex-direction: column;
	gap: 12px;
}



.single_add_to_cart_button {
	background: #000;
	color: #fff;
	border: none;
	padding: 15px 40px;
	text-transform: uppercase;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background 0.3s;
	width: 100%;
}

.single_add_to_cart_button:hover {
	background: #333;
}

/* Variations (Sizes/Colors) */
.variations {
	width: 100%;
	margin-bottom: 20px;
	border-collapse: collapse;
}

.variations td {
	padding: 10px 0;
	vertical-align: middle;
}

.variations label {
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.8rem;
	margin-right: 15px;
}

.variations select {
	border: 1px solid #ddd;
	padding: 10px;
	width: 100%;
	max-width: 300px;
	outline: none;
}

/* --- Variation Swatches --- */
/* Default variations table visible for fallback */
.variations_form .variations {
	/* display: none !important; - REMOVED for safety */
}

.lumina-swatches-container {
	margin-bottom: 30px;
}

.lumina-attribute-row {
	margin-bottom: 20px;
}

.lumina-attr-label {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 10px;
	letter-spacing: 0.05em;
	color: #000;
}

.lumina-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.swatch-item {
	cursor: pointer;
	border: 1px solid #e2e2e2;
	padding: 8px 16px;
	font-size: 0.85rem;
	text-transform: uppercase;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	min-width: 45px;
	text-align: center;
	background: #fff;
	user-select: none;
}

.swatch-item:hover {
	border-color: #000;
}

.swatch-item.selected {
	border-color: #000;
	background: #000;
	color: #fff;
}

.swatch-item.disabled {
	opacity: 0.4;
	pointer-events: none;
	text-decoration: line-through;
	background-color: #f9f9f9;
	color: #ccc;
	border-color: #eee;
	display: inline-block !important;
	/* Force show so loop can be seen */
}

/* Color Swatches Specific */
.swatch-item.is-color {
	width: 30px;
	height: 30px;
	min-width: 0;
	padding: 0;
	border-radius: 50%;
	border-width: 2px;
}

.swatch-item.is-color.selected {
	border-color: #000;
	box-shadow: inset 0 0 0 2px #fff;
}

/* Specific Color Mappings (Can be extended) */
.swatch-color-black {
	background-color: #000 !important;
}

.swatch-color-white {
	background-color: #fff !important;
	border: 1px solid #eee !important;
}

.swatch-color-blue {
	background-color: #1a73e8 !important;
}

.swatch-color-red {
	background-color: #d93025 !important;
}

.swatch-color-green {
	background-color: #1e8e3e !important;
}


/* --- Mobile Sticky Add to Cart --- */
@media (width <=768px) {

	.single-product section.related,
	.single-product section.upsells {
		padding-bottom: 100px;
	}

	.single-product .sticky-atc-bar {
		position: fixed;
		bottom: var(--app-bar-height);
		left: 0;
		width: 100%;
		background: #fff;
		padding: 10px 20px;
		box-shadow: 0 -5px 15px rgb(0 0 0 / 5%);
		display: flex;
		align-items: center;
		gap: 15px;
		z-index: 999;
		transform: translateY(100%);
		transition: transform 0.3s ease;
	}

	.single-product .sticky-atc-bar.visible {
		transform: translateY(0);
	}

	.sticky-atc-info {
		flex: 1;
		overflow: hidden;
	}

	.sticky-atc-title {
		font-size: 0.75rem;
		font-weight: 600;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		display: block;
	}

	.sticky-atc-price {
		font-size: 0.8rem;
		color: var(--color-accent);
	}

	.sticky-atc-btn {
		background: #000;
		color: #fff;
		border: none;
		padding: 10px 20px;
		text-transform: uppercase;
		font-size: 0.75rem;
		font-weight: 600;
		cursor: pointer;
	}
}

/* --- Restored Sections --- */
.lumina-loop-sizes {
	font-size: 0.75rem;
	color: #888;
	margin-top: 5px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* --- Cart & Checkout Pages --- */
.woocommerce-cart-form,
.woocommerce-checkout {
	max-width: 1000px;
	margin: 0 auto;
}

.wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	background-color: #000;
	color: #fff;
	text-align: center;
	padding: 15px;
	text-transform: uppercase;
	text-decoration: none;
	margin-top: 20px;
}

/* Mobile App Bar Removed */

/* Search Overlay */
.search-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgb(255 255 255 / 98%);
	z-index: 20000;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s;
}

.search-overlay.active {
	opacity: 1 !important;
	visibility: visible !important;
	display: flex !important;
}

.search-field {
	width: 600px;
	max-width: 90%;
	border: none;
	border-bottom: 2px solid #000;
	font-size: 2rem;
	background: transparent;
	outline: none;
	text-align: center;
}

/* Banners */
.home-hero-banner {
	width: 100%;
	min-height: 80vh;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.banner-content {
	position: relative;
	z-index: 2;
	text-align: center;
	color: #fff;
	max-width: 800px;
	margin: 0 auto;
	padding: 20px;
}

/* LCP Optimized Banner Image */
.banner-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	filter: brightness(0.85);
	/* Slightly darkened for text readability */
}

.banner-subtitle {
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: 0.9rem;
	margin-bottom: 10px;
}

.banner-title {
	font-size: 4rem;
	margin: 0;
	line-height: 1.1;
}

.banner-description {
	margin: 20px auto;
	max-width: 600px;
	font-size: 1.1rem;
	opacity: 0.9;
}

.categories-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	margin-top: 30px;
}

.category-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 4px;
	overflow: hidden;
	transition: transform 0.2s;
}

.category-card:hover {
	transform: translateY(-5px);
}

.category-image img {
	width: 100%;
	height: auto;
	display: block;
}

.lumina-product-card {
	border: 1px solid #eee;
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.2s;
	background: #fff;
}

.lumina-product-card:hover {
	box-shadow: 0 4px 12px rgb(0 0 0 / 10%);
}

.category-banner {
	width: 100%;
	height: 300px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
}

.category-banner-content {
	background: #fff;
	padding: 15px 30px;
}

.category-title {
	margin: 0;
	text-transform: uppercase;
	font-size: 1.5rem;
}

/* Off-canvas menu is mobile-first; keep it hidden on desktop where the main nav is visible */
@media (width >=768px) {
	#off-canvas-menu {
		display: none !important;
	}
}

/* Utility: attribute display */
.lumina-attribute-display {
	margin-bottom: 10px;
	color: #666;
	font-size: 0.9rem;
}

/* --- Cookie Settings Modal --- */
.cookie-settings-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 70%);
	z-index: 20000;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cookie-settings-modal[style*="display: none"] {
	display: none !important;
}

.cookie-settings-content {
	background: #fff;
	padding: 30px;
	width: 90%;
	max-width: 500px;
	border-radius: 4px;
	box-shadow: 0 5px 20px rgb(0 0 0 / 20%);
}

.cookie-settings-content h3 {
	margin-top: 0;
}

.switch-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: 0.9rem;
}

.modal-actions {
	margin-top: 20px;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

/* --- Off-canvas menu & filters (drawer) --- */
.off-canvas-overlay {
	position: fixed;
	inset: 0;
	background: rgb(0 0 0 / 45%);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	z-index: 9996;
}

.off-canvas-overlay.active {
	opacity: 1;
	pointer-events: auto;
}

.off-canvas-menu,
.off-canvas-filters {
	position: fixed;
	top: 0;
	right: 0;
	height: 100%;
	width: min(420px, 92vw);
	background: #fff;
	transform: translateX(105%);
	transition: transform .25s ease;
	z-index: 9997;
	display: flex;
	flex-direction: column;
	box-shadow: -10px 0 30px rgb(0 0 0 / 12%);
	pointer-events: none;
}

.off-canvas-menu.active,
.off-canvas-filters.active {
	transform: translateX(0);
	pointer-events: auto;
}

.off-canvas-menu .off-canvas-header,
.off-canvas-filters .off-canvas-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid rgb(0 0 0 / 8%);
}

.off-canvas-menu .off-canvas-content,
.off-canvas-filters .off-canvas-content {
	overflow: auto;
	flex: 1;
	padding: 12px 16px;
}

/* --- Filtros (server-side) --- */
.lumina-filters {
	padding: 10px 0;
}

.lumina-filters__title {
	margin: 0 0 12px;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.lumina-filters__row {
	display: grid;
	gap: 8px;
	margin-bottom: 14px;
}

.lumina-filters__label {
	font-size: .9rem;
	opacity: .85;
}

.lumina-filters select,
.lumina-filters input[type="number"] {
	width: 100%;
	border: 1px solid rgb(0 0 0 / 15%);
	padding: 12px;
	border-radius: 6px;
	background: #fff;
}

.lumina-filters__price {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.lumina-filters__actions {
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.lumina-filters__reset {
	text-align: center;
	font-size: .9rem;
	text-decoration: underline;
	opacity: .8;
}


/* --- Restoration: Single Product Tabs --- */
.woocommerce-tabs {
	margin-top: 60px;
	border-top: 1px solid #eee;
	padding-top: 40px;
	clear: both;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
	justify-content: center;
	gap: 40px;
	border-bottom: 1px solid #eee;
}

.woocommerce-tabs ul.tabs li {
	padding-bottom: 10px;
	cursor: pointer;
}

.woocommerce-tabs ul.tabs li a {
	text-decoration: none;
	color: #999;
	text-transform: uppercase;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	transition: color 0.3s;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li:hover a {
	color: #000;
	border-bottom: 2px solid #000;
}

.woocommerce-tabs .panel {
	display: none;
	animation: fade-in 0.5s;
	max-width: 800px;
	margin: 0 auto;
	color: #555;
	line-height: 1.8;
}

.woocommerce-tabs .panel.active {
	display: block;
}

@keyframes fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Removed duplicate .woocommerce-product-gallery */

.woocommerce-product-gallery__image {
	margin-bottom: 10px;
	cursor: default;
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	display: block;
}

.flex-control-nav {
	display: flex;
	list-style: none;
	padding: 0;
	gap: 10px;
	margin-top: 10px;
}

.flex-control-nav li {
	width: 80px;
	cursor: pointer;
}

.flex-control-nav li img {
	width: 100%;
	opacity: 0.6;
	transition: opacity 0.3s;
}

.flex-control-nav li img.flex-active {
	opacity: 1;
	border: 1px solid #000;
}

/* --- Contact Page "Lumina" --- */
.contact-page {
	padding: 60px 0;
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: center;
}

@media (width >=992px) {
	.contact-grid {
		grid-template-columns: 1fr 1fr;
		gap: 80px;
	}
}

.team-image-wrapper {
	width: 100%;
	aspect-ratio: 3/4;
	overflow: hidden;
	background: #f5f5f5;
}

.team-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contact-title {
	font-size: 2.5rem;
	font-weight: 500;
	margin-bottom: 10px;
	color: var(--color-primary);
}

.contact-subtitle {
	font-size: 1.1rem;
	color: var(--color-secondary);
	margin-bottom: 40px;
}

.contact-methods {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 40px;
}

.contact-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 18px 30px;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 5px;
	transition: transform 0.2s, opacity 0.2s;
}

.contact-btn:hover {
	transform: translateY(-2px);
	opacity: 0.9;
}

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

.btn-call {
	background-color: var(--color-accent);
	color: #fff;
}

.contact-info {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}

@media (width >=600px) {
	.contact-info {
		grid-template-columns: 1fr 1fr;
	}
}

.info-block h3 {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-secondary);
	margin-bottom: 10px;
}

.info-block p,
.info-block address {
	font-size: 1rem;
	font-style: normal;
	color: var(--color-primary);
}

.info-block a {
	color: var(--color-primary);
	text-decoration: none;
	border-bottom: 1px solid var(--color-accent);
}

/* -------------------------
	Trust messages (product)
-------------------------- */
.lumina-trust {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgb(0 0 0 / 8%);
	display: grid;
	gap: 8px;
}

.lumina-trust .trust-item {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 14px;
	line-height: 1.2;
}

.lumina-trust .trust-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: currentcolor;
	opacity: .7;
}

/* -------------------------
	Mini-cart drawer
-------------------------- */
.mini-cart-overlay {
	position: fixed;
	inset: 0;
	background: rgb(0 0 0 / 45%);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	z-index: 9998;
}

.mini-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	height: 100%;
	width: min(420px, 92vw);
	background: #fff;
	transform: translateX(105%);
	transition: transform .25s ease;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	box-shadow: -10px 0 30px rgb(0 0 0 / 12%);
}

.mini-cart-drawer.active {
	transform: translateX(0);
}

.mini-cart-overlay.active {
	opacity: 1;
	pointer-events: auto;
}

.mini-cart-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid rgb(0 0 0 / 8%);
}

.mini-cart-title {
	font-weight: 700;
}

.mini-cart-close {
	border: 0;
	background: transparent;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.mini-cart-body {
	padding: 12px 16px;
	overflow: auto;
	flex: 1;
}

.mini-cart-shipping-box {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgb(0 0 0 / 8%);
	font-size: 13px;
}

.mini-cart-shipping-box .shipping-line {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 6px;
}

.mini-cart-shipping-box .shipping-method {
	opacity: .7;
}

.mini-cart-shipping-box .mini-cart-trust {
	margin-top: 10px;
	display: grid;
	gap: 8px;
}

.mini-cart-footer {
	padding: 12px 16px;
	border-top: 1px solid rgb(0 0 0 / 8%);
	display: grid;
	gap: 10px;
}

.mini-cart-footer .button {
	text-align: center;
	width: 100%;
}

/* Counters */
.app-cart-count,
.header-cart-count {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 18px;
	height: 18px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	padding: 0 6px;
	background: #111;
	color: #fff;
}

.header-cart .cart-icon {
	position: relative;
	display: inline-flex;
}

/* No mostrar bubble si no hay items */
.app-cart-count:empty,
.header-cart-count:empty {
	display: none;
}

/* App bar button item */
.mobile-app-bar .app-btn {
	border: 0;
	background: transparent;
	color: inherit;
}

.mobile-app-bar .is-active {
	opacity: 1;
}

/* Trust Badges */
.lumina-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #eee;
}

.trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85rem;
	color: #666;
}

.trust-dot {
	width: 6px;
	height: 6px;
	background: #000;
	border-radius: 50%;
}

/* Duplicate Search CSS Removed */

/* Swatch Items (Dynamic) */
.lumina-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 10px 0;
}

.swatch-item {
	border: 1px solid #ddd;
	background: #fff;
	padding: 6px 15px;
	font-size: 0.85rem;
	cursor: pointer;
	transition: all 0.2s;
	position: relative;
}

.swatch-item:hover {
	border-color: #000;
}

.swatch-item.selected {
	background: #000;
	color: #fff;
	border-color: #000;
}

.swatch-item.is-color {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	padding: 0;
	text-indent: -9999px;
}

.swatch-item.disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

.swatch-item.disabled::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: #999;
	transform: rotate(-15deg);
}

/* Hide stock label as per user request */
.product-summary .stock,
.summary .stock {
	display: none !important;
}

/* Category images full view */
.product-thumbnail-wrap img {
	object-fit: contain !important;
	height: auto !important;
	aspect-ratio: auto !important;
}

/* Mini-Cart Footer Buttons */
.mini-cart-footer .button {
	margin-bottom: 10px;
}

.mini-cart-footer .mini-cart-view {
	background: transparent;
	border: 1px solid #000;
	color: #000;
}

.mini-cart-checkout {
	background: #000;
	color: #fff;
	border: 1px solid #000;
}

.mini-cart-view:hover {
	background: #f5f5f5;
}

/* Mini-Cart Complete Summary */
.mini-cart-totals-table {
	padding: 15px;
	background: #f9f9f9;
	border-radius: 4px;
	display: grid;
	gap: 8px;
	margin-bottom: 20px;
}

.mini-cart-totals-table .total-row {
	display: flex;
	justify-content: space-between;
	font-size: 0.9rem;
	color: #555;
}

.mini-cart-totals-table .final-total {
	border-top: 1px solid #ddd;
	padding-top: 10px;
	margin-top: 5px;
	font-size: 1.1rem;
	color: #000;
}

/* Accessibility: Skip Link Focus */
.skip-link:focus {
	clip: auto !important;
	clip-path: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	top: 10px;
	left: 10px;
	z-index: 10000;
	background: #fff;
	padding: 15px;
	border: 2px solid #000;
	font-weight: bold;
}

/* Accessibility: Touch Targets (min 44px) */
.menu-close,
.search-close,
.mini-cart-close,
.app-item {
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Accessibility: Better Contrast in Footer */
.site-footer {
	color: #333;
}

.info-block p,
.info-block address {
	color: #222;
}

.footer-legal-menu a {
	color: #444;
}

.footer-legal-menu a:hover {
	color: #000;
}

/* ===== CATEGORY PAGE IMPROVEMENTS ===== */

/* Compact header - No wasted space */
.woocommerce-products-header {
	margin-bottom: 0;
	padding: 15px 0;
	background: #fafafa;
	border-bottom: 1px solid #e8e8e8;
}

.woocommerce-products-header__title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0 40px;
}

@media (max-width: 768px) {
	.woocommerce-products-header__title {
		font-size: 1.2rem;
		padding: 0 20px;
	}
}

/* Toolbar with filter button - Compact */
.archive-toolbar {
	margin: 0;
	padding: 12px 40px;
	background: #fff;
	border-bottom: 1px solid #f0f0f0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media (max-width: 768px) {
	.archive-toolbar {
		padding: 12px 20px;
	}
}

.archive-filter-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: all 0.2s ease;
}

.archive-filter-toggle:hover {
	background: #000;
	color: #fff;
	border-color: #000;
}

.archive-filter-toggle svg {
	width: 16px;
	height: 16px;
}

/* Products grid - Start immediately after toolbar */
.products {
	margin-top: 25px !important;
	padding: 0 40px;
}

@media (max-width: 768px) {
	.products {
		padding: 0 20px;
	}
}

/* Subcategory grid improvements */
.subcategory-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: 12px;
	margin: 20px 40px;
	padding: 20px;
	background: #fff;
	border: 1px solid #f0f0f0;
	border-radius: 6px;
}

@media (max-width: 768px) {
	.subcategory-grid {
		margin: 15px 20px;
		padding: 15px;
		grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
	}
}

.subcategory-item {
	text-align: center;
	border: 1px solid #f0f0f0;
	padding: 12px 8px;
	border-radius: 6px;
	transition: all 0.2s;
	background: #fafafa;
	cursor: pointer;
}

.subcategory-item:hover {
	border-color: #000;
	background: #fff;
	transform: translateY(-3px);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
}

.subcategory-item img {
	width: 40px;
	height: 40px;
	object-fit: contain;
	margin: 0 auto 8px;
	display: block;
}

.subcategory-item h5 {
	font-size: 0.75rem;
	margin: 0;
	font-weight: 500;
	color: #333;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/* Enhanced Search Experience */
.search-overlay.active {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 15vh;
}

.search-container {
	width: 100%;
	max-width: 600px;
	text-align: center;
}

.search-field {
	width: 100%;
	font-size: 1.5rem;
	border: none;
	border-bottom: 2px solid #333;
	padding: 10px 0;
	background: transparent;
	transition: border-color 0.3s;
}

.search-field:focus {
	outline: none;
	border-color: #000;
}

.search-hint {
	margin-top: 15px;
	font-size: 0.9rem;
	color: #666;
	font-style: italic;
}

@media (min-width: 769px) {
	.search-overlay.active {
		align-items: center;
		padding-top: 0;
	}

	.search-field {
		font-size: 2.5rem;
		text-align: center;
	}
}

/* --- Mini-Cart Refinements (Step 484) --- */

/* 1. Hide duplicate default buttons */
.widget_shopping_cart_content .woocommerce-mini-cart__buttons {
	display: none !important;
}

/* 2. Resize Product Images & Layout */
.woocommerce-mini-cart-item img {
	width: 70px !important;
	height: 70px !important;
	object-fit: contain !important;
	/* Contain guarantees seeing the whole product */
	background: #fff;
	border-radius: 4px;
	margin-right: 15px;
	flex-shrink: 0;
}

.woocommerce-mini-cart-item {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #f9f9f9;
}

.woocommerce-mini-cart-item a:not(.remove) {
	font-weight: 500;
	font-size: 0.9rem;
	color: #1a1a1a;
	text-decoration: none;
	line-height: 1.3;
}

/* 3. Total/Subtotal Breakdown Clarity */
.woocommerce-mini-cart__total {
	font-size: 1.1rem;
	font-weight: 700;
	border-top: 1px solid #eee;
	padding-top: 20px;
	margin-top: 10px;
	margin-bottom: 20px !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fafafa;
	padding: 15px;
	border-radius: 4px;
}

.woocommerce-mini-cart__total strong {
	font-weight: 500;
	color: #666;
	text-transform: uppercase;
	font-size: 0.85rem;
}

.woocommerce-mini-cart__total .amount {
	font-weight: 700;
	font-size: 1.2rem;
	color: #000;
}

/* 4. Footer Buttons Styling */
.mini-cart-footer {
	padding: 20px 16px;
	border-top: none;
	/* Removed border as totals have background */
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: #fff;
	margin-top: auto;
}

.mini-cart-footer .button {
	width: 100%;
	padding: 16px;
	text-align: center;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	cursor: pointer;
	border-radius: 0;
	margin: 0 !important;
	display: inline-block;
}

/* "Seguir comprando" (Secondary) */
.mini-cart-view,
.mini-cart-view:visited {
	background: #fff !important;
	color: #000 !important;
	border: 1px solid #e0e0e0 !important;
}

.mini-cart-view:hover {
	border-color: #000 !important;
	background: #f9f9f9 !important;
}

/* "Tramitar compra" (Primary) */
.mini-cart-checkout,
.mini-cart-checkout:visited {
	background: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
}

/* Layout Tradicional Escritorio (Sidebar + Contenido) */
/* Layout Full Width (Desktop) */
/* =========================================
   FIX FINAL LAYOUT & MI CUENTA (V2)
   ========================================= */

/* 1. ARREGLO BARRA BLANCA HOME (Matar herencia sidebar) */
body,
html {
	overflow-x: hidden;
	/* Evita scroll horizontal */
	width: 100%;
}

.content-area,
.site-main,
.container {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 15px;
	padding-right: 15px;
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	/* Rompe el grid antiguo de 280px */
}

/* Contenedor centralizado limitado para que no se desparrame en pantallas 4K */
.container {
	max-width: 1400px !important;
	margin: 0 auto !important;
}

/* 2. DISEÑO "MI CUENTA" (Estilo Amazon Panel) */
.woocommerce-account .woocommerce {
	display: flex;
	gap: 40px;
	margin-top: 30px;
	align-items: flex-start;
}

/* Menú Lateral (Navegación) */
.woocommerce-MyAccount-navigation {
	width: 280px;
	flex-shrink: 0;
	background: #f8f9fa;
	border-radius: 8px;
	padding: 20px;
}

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

.woocommerce-MyAccount-navigation li {
	margin-bottom: 5px;
	border-bottom: 1px solid #eee;
}

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

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 15px;
	color: #333;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.2s;
	border-radius: 4px;
}

.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
	background: #000;
	/* Tu color corporativo */
	color: #fff;
}

/* Contenido Principal (Derecha) */
.woocommerce-MyAccount-content {
	flex: 1;
	background: #fff;
	padding: 30px;
	border: 1px solid #eee;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

/* Mensajes de bienvenida */
.woocommerce-MyAccount-content p {
	font-size: 1rem;
	line-height: 1.6;
	color: #555;
}

/* Formularios dentro de Mi Cuenta */
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields {
	background: transparent;
	border: none;
	padding: 0;
}

/* RESPONSIVE MI CUENTA (Móvil) */
@media (max-width: 992px) {
	.woocommerce-account .woocommerce {
		flex-direction: column;
	}

	.woocommerce-MyAccount-navigation {
		width: 100%;
		margin-bottom: 20px;
	}

	.woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		gap: 10px;
		padding-bottom: 10px;
		/* Espacio para scrollbar */
	}

	.woocommerce-MyAccount-navigation li {
		border: none;
		flex-shrink: 0;
	}

	.woocommerce-MyAccount-navigation li a {
		background: #eee;
		white-space: nowrap;
	}
}

/* 3. LIMPIEZA VISUAL GENERAL */
/* Quitar margen excesivo top */
.page-header {
	margin-top: 20px;
	margin-bottom: 30px;
}

/* Arreglar inputs descolocados */
.woocommerce-form-row {
	margin-bottom: 20px;
}

.woocommerce-Input {
	width: 100%;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

/* Layout Full Width (Desktop) */
@media (min-width: 992px) {

	.woocommerce-shop .content-area,
	.archive .content-area {
		display: block !important;
		width: 100% !important;
		grid-template-columns: none !important;
	}

	.shop-toolbar-actions {
		display: flex;
		justify-content: space-between;
		margin-bottom: 20px;
		padding: 10px 0;
		border-bottom: 1px solid #eee;
	}

	/* Grid Productos */
	ul.products {
		display: grid !important;
		grid-template-columns: repeat(4, 1fr);
		gap: 30px;
	}
}

@media (max-width: 992px) {
	ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Drawer Styles Base */
.lumina-drawer {
	position: fixed;
	top: 0;
	height: 100vh;
	width: 300px;
	background: #fff;
	z-index: 10000;
	transition: transform 0.3s;
	padding: 20px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.drawer-left {
	left: 0;
	transform: translateX(-100%);
}

.drawer-right {
	right: 0;
	transform: translateX(100%);
}

.lumina-drawer.active {
	transform: translateX(0);
}

#lumina-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	display: none;
}

#lumina-overlay.active {
	display: block;
}

/* --- CORRECCIÓN FINAL LAYOUT --- */
/* Forzar eliminación de sidebar fantasma */
.woocommerce-shop .content-area,
.archive .content-area {
	display: block !important;
	grid-template-columns: none !important;
	width: 100%;
}

/* Grid de Productos Limpio */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 30px;
}

@media (max-width: 1200px) {
	ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 768px) {
	ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* --- ESTILOS MINI CART DRAWER --- */
.widget_shopping_cart_content {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.woocommerce-mini-cart {
	flex: 1;
	overflow-y: auto;
}

.woocommerce-mini-cart__total,
.woocommerce-mini-cart__buttons {
	padding: 15px 0;
	border-top: 1px solid #eee;
}

/* --- ESTILOS ORDER RECEIVED (Resumen Compra) --- */
.woocommerce-order-received .woocommerce-order {
	max-width: 800px;
	margin: 0 auto;
	background: #fff;
	padding: 40px;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.05);
	border-radius: 8px;
}

.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	margin-top: 30px;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 15px;
	border-bottom: 1px solid #eee;
	text-align: left;
}

/* --- BUSCADOR INSTANTÁNEO --- */
.search-form {
	position: relative;
	/* Contexto para el absoluto */
}

.search-results-ajax {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-top: none;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
	z-index: 9999;
	max-height: 400px;
	overflow-y: auto;
	display: none;
	/* Oculto por defecto */
	border-radius: 0 0 8px 8px;
}

.search-results-ajax.active {
	display: block;
}

.search-results-ajax ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.search-results-ajax li {
	border-bottom: 1px solid #f5f5f5;
}

.search-results-ajax a {
	display: flex;
	align-items: center;
	padding: 12px;
	text-decoration: none;
	color: #333;
	gap: 15px;
	transition: background 0.2s;
}

.search-results-ajax a:hover {
	background: #f9f9f9;
}

.search-results-ajax img {
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 4px;
}

.search-info {
	display: flex;
	flex-direction: column;
}

.search-title {
	font-weight: 600;
	font-size: 0.95rem;
}

.search-price {
	font-size: 0.9rem;
	color: #666;
}

/* Estado de carga */
.search-loading,
.no-results {
	padding: 20px;
	text-align: center;
	color: #888;
	font-size: 0.9rem;
}

/* =========================================
   AMAZON SUB-CATEGORY BAR
   ========================================= */
.amazon-subnav-container {
	width: 100%;
	background: #fdfdfd;
	border-bottom: 1px solid #eee;
	margin-bottom: 20px;
	padding: 0;
}

.amazon-subnav {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 15px 0;
	/* Opción scroll si hay muchas */
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
	/* Firefox */
}

.amazon-subnav::-webkit-scrollbar {
	display: none;
}

/* Chrome/Safari */

.amazon-subnav li {
	font-size: 0.95rem;
	color: #333;
}

.amazon-subnav li a {
	text-decoration: none;
	color: #333;
	font-weight: 500;
	position: relative;
	transition: color 0.2s;
	padding-bottom: 2px;
}

.amazon-subnav li a:hover {
	color: #e47911;
	/* Amazon Orange hover equiv */
	border-bottom: 2px solid #e47911;
}

@media (max-width: 768px) {

	.amazon-subnav {
		gap: 20px;
		flex-wrap: nowrap;
		/* Horizontal scroll en móvil */
		padding: 10px 0;
	}
}

/* =========================================
   HOME: BANNER V1 RESTORE
   ========================================= */
.home-hero-banner {
	position: relative;
	height: 85vh;
	min-height: 600px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	overflow: hidden;
	margin-bottom: 60px;
}

.banner-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 1;
}

.banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 30%);
	z-index: 2;
}

.banner-content {
	position: relative;
	z-index: 3;
	max-width: 800px;
}

.banner-subtitle {
	display: block;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
	opacity: 0.9;
}

.banner-title {
	font-size: 3.5rem;
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.banner-description {
	font-size: 1.1rem;
	margin-bottom: 40px;
	opacity: 0.9;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.banner-actions .btn-primary {
	background: #fff;
	color: #000;
	padding: 15px 40px;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	transition: all 0.3s ease;
	border: 2px solid #fff;
}

.banner-actions .btn-primary:hover {
	background: transparent;
	color: #fff;
}

/* Animations */
.fadeInUp {
	animation: fadeInUp 1s ease forwards;
}

.fadeInDown {
	animation: fadeInDown 1s ease forwards;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 768px) {
	.home-hero-banner {
		height: 70vh;
		min-height: 500px;
	}

	.banner-title {
		font-size: 2.5rem;
	}
}

/* =========================================
   HOME: CATEGORIES GRID (V1 Restore)
   ========================================= */
.home-categories-grid {
	padding-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}

.section-title {
	font-size: 2rem;
	font-weight: 400;
	margin-bottom: 50px;
	letter-spacing: -0.02em;
}

.text-center {
	text-align: center;
}

.categories-grid-v1 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
}

.category-card-v1 {
	position: relative;
	display: block;
	text-decoration: none;
	color: #000;
	overflow: hidden;
}

.cat-img-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 3/4;
	/* Vertical portrait style */
	overflow: hidden;
	background: #f4f4f4;
}

.cat-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.category-card-v1:hover .cat-img-wrap img {
	transform: scale(1.05);
	/* Slight zoom */
}

.cat-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 10%);
	transition: background 0.3s;
}

.category-card-v1:hover .cat-overlay {
	background: rgb(0 0 0 / 0%);
}

.cat-info {
	padding: 20px 0;
	text-align: left;
}

.cat-info h3 {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 500;
	margin-bottom: 5px;
}

.view-link {
	font-size: 0.85rem;
	text-transform: uppercase;
	color: #666;
	letter-spacing: 0.05em;
	font-weight: 600;
	transition: color 0.3s;
}

.category-card-v1:hover .view-link {
	color: #000;
}

@media (max-width: 992px) {
	.categories-grid-v1 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.categories-grid-v1 {
		grid-template-columns: 1fr;
		/* Una columna en móvil */
		gap: 20px;
	}
}

/* =========================================
   17. PRICE STYLING IMPROVEMENTS
   ========================================= */
.price ins {
	text-decoration: none;
	/* Quitamos subrayado */
	font-weight: 700;
	font-size: 1.2em;
	/* Un pelin más grande */
	display: inline-block;
}

.price del {
	opacity: 0.6;
	font-size: 0.9em;
}

/* ==========================================================================
   4A. FALLBACK: "Selectores Invisibles" & FIXES (Merged)
   ========================================================================== */
/* Si el JS falla o tarda, aseguramos que el usuario pueda comprar mostrando el select nativo */
.variations_form select {
	opacity: 1;
	width: 100%;
	height: auto;
	position: static;
	z-index: 1;
	display: block !important;
	margin-bottom: 10px;
	padding: 8px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

/* Cuando JS carga y crea .lumina-swatches-container, ocultamos la tabla y el select nativo */
.lumina-swatches-container+.variations table {
	display: none;
}

.lumina-swatches-container~select,
.lumina-swatches+select {
	opacity: 0;
	width: 1px;
	height: 1px;
	position: absolute;
	z-index: -1;
	overflow: hidden;
}

/* ==========================================================================
   5. UX IMPROVEMENTS: TRASH ICON FOR REMOVE
   ========================================================================== */
/* Checkout & Cart Table Remove */
.woocommerce a.remove,
.mini_cart_item a.remove {
	color: transparent !important;
	/* Hide the '×' */
	background: none !important;
	border: none !important;
	width: 24px !important;
	height: 24px !important;
	display: inline-block !important;
	position: relative;
	font-size: 0 !important;
	/* Hide text */
	opacity: 0.6;
	transition: opacity 0.3s;
}

.woocommerce a.remove:hover,
.mini_cart_item a.remove:hover {
	color: transparent !important;
	background: none !important;
	opacity: 1;
}

/* Trash Icon SVG (Local File) */
.woocommerce a.remove::before,
.mini_cart_item a.remove::before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background-image: url('../images/trash.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Adjust position in Mini Cart (Drawer) */
.widget_shopping_cart_content .mini_cart_item a.remove {
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	width: 30px !important;
	/* Larger hit area */
	height: 30px !important;
	z-index: 10;
}

/* Ensure padding on item so icon doesn't overlap image/text */
.widget_shopping_cart_content .mini_cart_item {
	padding-left: 35px !important;
	/* Space for icon on left */
	position: relative;
}

/* Checkout Table Specifics */
.woocommerce-cart-form__cart-item .product-remove {
	width: 40px;
	text-align: center;
}

/* --- Amazon Style Subcategories --- */
.lumina-amazon-subcats {
	background: #fcfcfc;
	border-bottom: 1px solid #e0e0e0;
	padding: 10px 0;
	margin-bottom: 20px;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.lumina-amazon-subcats ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 15px;
}

.lumina-amazon-subcats ul li {
	display: inline-block;
}

.lumina-amazon-subcats ul li a {
	text-decoration: none;
	color: #333;
	font-size: 0.85rem;
	font-weight: 500;
	padding: 6px 14px;
	border: 1px solid #ddd;
	border-radius: 20px;
	background: #fff;
	transition: all 0.2s ease;
	display: block;
}

.lumina-amazon-subcats ul li a:hover {
	border-color: #000;
	background: #f5f5f5;
	color: #000;
}

/* Hide scrollbar */
.lumina-amazon-subcats::-webkit-scrollbar {
	display: none;
}

/* =========================================
   7. PRODUCT SWATCHES (JS Injected)
   ========================================= */
.lumina-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 5px 0 15px 0;
}

.lumina-swatch {
	border: 1px solid #e5e5e5;
	padding: 8px 16px;
	cursor: pointer;
	font-size: 14px;
	border-radius: 0;
	transition: all 0.2s ease;
	background: #fff;
	color: #333;
	min-width: 40px;
	text-align: center;
}

.lumina-swatch:hover {
	border-color: #000;
}

.lumina-swatch.selected {
	border-color: #000;
	background: #000;
	color: #fff;
	font-weight: 500;
}

.lumina-swatch.disabled {
	opacity: 0.4;
	cursor: not-allowed;
	background: #f9f9f9;
	color: #aaa;
	border-color: #eee;
}
/* Filter Trigger Button (Premium Style) */
.shop-toolbar-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.btn-drawer {
    background: transparent;
    border: 1px solid #e1e1e1;
    padding: 8px 16px;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #333;
}

.btn-drawer:hover {
    border-color: #000;
    color: #000;
}

.btn-drawer .icon {
    font-size: 1.1rem;
    line-height: 1;
}

/* Filter Drawer Specifics */
.lumina-filter-drawer {
    /* Reuse side-cart structure but ensure it is properly hidden initially */
    z-index: 10000; /* Above cart if needed */
}

