/*
Theme Name: Twenty Twenty-Four Child (Diego Sport's)
Theme URI: https://diegosports.com
Description: Tema hijo personalizado para Diego Sport's — Diseño dark premium con acentos neón verde
Author: Diego Sport's
Author URI: https://diegosports.com
Template: twentytwentyfour
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour-child
Tags: woocommerce, dark-mode, e-commerce, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ============================================================
   DIEGO SPORT'S — SISTEMA DE DISEÃO COMPLETO
   ============================================================ */

/* --- CSS CUSTOM PROPERTIES --- */
:root {
	/* Paleta Principal */
	--ds-primary: #39ff14;
	--ds-primary-rgb: 57, 255, 20;
	--ds-primary-hover: #33e012;
	--ds-bg-dark: #0a0c10;
	--ds-bg-dark-alt: #101622;
	--ds-surface: #161b22;
	--ds-surface-alt: #1c2431;
	--ds-border: #21262d;
	--ds-border-alt: #282e39;
	--ds-text-primary: #ffffff;
	--ds-text-secondary: #94a3b8;
	--ds-text-muted: #64748b;

	/* Colores de estado */
	--ds-error: #dc2626;
	--ds-success: #22c55e;
	--ds-warning: #eab308;
	--ds-info: #256af4;

	/* Tipografía */
	--ds-font: 'Lexend', -apple-system, BlinkMacSystemFont, sans-serif;

	/* Espaciado */
	--ds-container: 1280px;
	--ds-radius-sm: 0.5rem;
	--ds-radius: 0.75rem;
	--ds-radius-lg: 1rem;
	--ds-radius-xl: 1.5rem;
	--ds-radius-2xl: 1.5rem;
	--ds-radius-full: 9999px;

	/* Transiciones */
	--ds-transition: all 0.3s ease;
	--ds-transition-fast: all 0.15s ease;
}

/* --- MODO CLARO --- */
:root[data-theme="light"],
html:not(.dark) {
	--ds-bg-dark: #f5f6f8;
	--ds-bg-dark-alt: #ffffff;
	--ds-surface: #ffffff;
	--ds-surface-alt: #f8f9fa;
	--ds-border: #e2e8f0;
	--ds-border-alt: #cbd5e1;
	--ds-text-primary: #0f172a;
	--ds-text-secondary: #475569;
	--ds-text-muted: #94a3b8;
}

/* --- RESET & BASE --- */
*, *::before, *::after {
	box-sizing: border-box;
}

body {
	font-family: var(--ds-font);
	background-color: var(--ds-bg-dark);
	color: var(--ds-text-primary);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.6;
	margin: 0;
	padding: 0;
	transition: background-color 0.3s ease, color 0.3s ease;
	overflow-x: hidden;
}

/* --- SCROLLBAR CUSTOM --- */
::-webkit-scrollbar {
	width: 6px;
}
::-webkit-scrollbar-track {
	background: var(--ds-bg-dark);
}
::-webkit-scrollbar-thumb {
	background: var(--ds-primary);
	border-radius: 10px;
}
html {
	scrollbar-width: thin;
	scrollbar-color: var(--ds-primary) var(--ds-bg-dark);
}

/* --- TIPOGRAFÃA --- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--ds-font);
	color: var(--ds-text-primary);
	margin: 0;
	line-height: 1.2;
}

.ds-hero-title {
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	font-weight: 900;
	text-transform: uppercase;
	font-style: italic;
	letter-spacing: -0.03em;
	line-height: 1;
}

.ds-section-title {
	font-size: clamp(1.5rem, 3vw, 1.875rem);
	font-weight: 800;
	text-transform: uppercase;
	font-style: italic;
	letter-spacing: -0.02em;
}

.ds-section-title .accent {
	color: var(--ds-primary);
}

.ds-section-bar {
	width: 5rem;
	height: 6px;
	background: var(--ds-primary);
	border-radius: 3px;
	margin-top: 0.5rem;
}

ds-label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ds-text-muted);
}

.ds-price {
	font-size: 1.25rem;
	font-weight: 900;
	color: var(--ds-text-primary);
}

.ds-price-old {
	font-size: 0.875rem;
	color: var(--ds-text-muted);
	text-decoration: line-through;
}

/* --- UTILIDADES --- */
.ds-container {
	max-width: var(--ds-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}
@media (min-width: 640px) {
	.ds-container { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 1024px) {
	.ds-container { padding-left: 2rem; padding-right: 2rem; }
}

.ds-neon-glow {
	box-shadow: 0 0 15px rgba(var(--ds-primary-rgb), 0.3);
	transition: box-shadow 0.3s ease;
}
.ds-neon-glow:hover {
	box-shadow: 0 0 25px rgba(var(--ds-primary-rgb), 0.5);
}

.ds-neon-text {
	text-shadow: 0 0 10px rgba(var(--ds-primary-rgb), 0.5), 0 0 20px rgba(var(--ds-primary-rgb), 0.3);
}

.ds-text-primary { color: var(--ds-primary) !important; }
.ds-text-secondary { color: var(--ds-text-secondary) !important; }
.ds-text-muted { color: var(--ds-text-muted) !important; }
.ds-bg-surface { background-color: var(--ds-surface) !important; }
.ds-bg-dark { background-color: var(--ds-bg-dark) !important; }
.ds-border { border-color: var(--ds-border) !important; }

/* --- BOTONES --- */
.ds-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: var(--ds-font);
	font-weight: 700;
	border-radius: var(--ds-radius);
	padding: 0.875rem 2rem;
	border: none;
	cursor: pointer;
	transition: var(--ds-transition);
	text-decoration: none;
	line-height: 1;
}

.ds-btn-primary {
	background: var(--ds-primary);
	color: #000;
}
.ds-btn-primary:hover {
	background: var(--ds-primary-hover);
	transform: scale(1.05);
	box-shadow: 0 0 20px rgba(var(--ds-primary-rgb), 0.25);
}

.ds-btn-outline {
	background: rgba(255,255,255,0.1);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.3);
	backdrop-filter: blur(12px);
}
.ds-btn-outline:hover {
	background: rgba(255,255,255,0.2);
}

.ds-btn-sm {
	padding: 0.5rem 1.25rem;
	font-size: 0.8rem;
}

.ds-btn-full {
	width: 100%;
}

/* --- CARDS --- */
.ds-card {
	background: var(--ds-surface);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius-2xl);
	overflow: hidden;
	transition: var(--ds-transition);
}
.ds-card:hover {
	border-color: rgba(var(--ds-primary-rgb), 0.5);
	box-shadow: 0 10px 40px rgba(0,0,0,0.3);
}

.ds-card-border-left {
	border-left: 4px solid var(--ds-primary);
}

/* --- FORMULARIOS --- */
.ds-input,
.ds-select,
.ds-textarea {
	width: 100%;
	background: var(--ds-bg-dark);
	border: 1px solid var(--ds-border-alt);
	border-radius: var(--ds-radius);
	padding: 0.75rem 1rem;
	color: var(--ds-text-primary);
	font-family: var(--ds-font);
	font-size: 0.875rem;
	outline: none;
	transition: var(--ds-transition-fast);
}
.ds-input:focus,
.ds-select:focus,
.ds-textarea:focus {
	border-color: var(--ds-primary);
	box-shadow: 0 0 0 1px var(--ds-primary);
}
.ds-input::placeholder,
.ds-textarea::placeholder {
	color: var(--ds-text-muted);
}

ds-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--ds-text-secondary);
	margin-bottom: 0.375rem;
}

/* --- BADGES --- */
.ds-badge {
	display: inline-block;
	font-size: 0.625rem;
	font-weight: 800;
	padding: 0.25rem 0.5rem;
	border-radius: var(--ds-radius-full);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.ds-badge-new {
	background: var(--ds-primary);
	color: #000;
}
.ds-badge-sale {
	background: var(--ds-error);
	color: #fff;
}
.ds-badge-popular {
	background: rgba(var(--ds-primary-rgb), 0.15);
	color: var(--ds-primary);
	backdrop-filter: blur(8px);
}
.ds-badge-open {
	background: rgba(var(--ds-primary-rgb), 0.1);
	color: var(--ds-primary);
	border: 1px solid rgba(var(--ds-primary-rgb), 0.3);
}
.ds-badge-closed {
	background: rgba(220, 38, 38, 0.1);
	color: #f87171;
	border: 1px solid rgba(220, 38, 38, 0.3);
}

/* --- TOP BAR --- */
.ds-topbar {
	background: var(--ds-primary);
	color: #000;
	text-align: center;
	padding: 0.5rem 1rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

/* --- HEADER / NAVBAR --- */
.ds-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10, 12, 16, 0.8);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--ds-border);
	transition: background-color 0.3s ease;
}

/* Light mode header */
html:not(.dark) .ds-header,
:root[data-theme="light"] .ds-header {
	background: rgba(245, 246, 248, 0.85);
}

.ds-header-inner {
	max-width: var(--ds-container);
	margin: 0 auto;
	padding: 0 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 5rem;
	gap: 1.5rem;
}
@media (min-width: 768px) {
	.ds-header-inner { padding: 0 1.5rem; }
}
@media (min-width: 1024px) {
	.ds-header-inner { padding: 0 2rem; }
}

.ds-logo img {
	height: 3rem;
	width: auto;
	object-fit: contain;
}

.ds-nav {
	display: none;
	align-items: center;
	gap: 2rem;
}
@media (min-width: 768px) {
	.ds-nav { display: flex; }
}
.ds-nav a {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--ds-text-secondary);
	text-decoration: none;
	transition: color 0.2s;
	position: relative;
}
.ds-nav a:hover,
.ds-nav a.current-menu-item a {
	color: var(--ds-primary);
}
.ds-nav a.current-menu-item::after {
	content: '';
	position: absolute;
	bottom: -0.5rem;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--ds-primary);
	border-radius: 1px;
}

.ds-search {
	display: none;
	flex: 1;
	max-width: 28rem;
}
@media (min-width: 1024px) {
	.ds-search { display: block; }
}
.ds-search-input {
	width: 100%;
	background: var(--ds-surface);
	border: none;
	border-radius: var(--ds-radius-full);
	padding: 0.5rem 1rem 0.5rem 2.75rem;
	color: var(--ds-text-primary);
	font-family: var(--ds-font);
	font-size: 0.875rem;
	outline: none;
	transition: var(--ds-transition-fast);
}
.ds-search-input:focus {
	box-shadow: 0 0 0 2px var(--ds-primary);
}
.ds-search-input::placeholder {
	color: var(--ds-text-muted);
}
.ds-search-wrapper {
	position: relative;
}
.ds-search-wrapper .material-symbols-outlined {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ds-text-muted);
	font-size: 1.25rem;
}

.ds-header-actions {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}
.ds-header-actions button,
.ds-header-actions a {
	background: none;
	border: none;
	color: var(--ds-text-secondary);
	cursor: pointer;
	padding: 0.5rem;
	border-radius: var(--ds-radius);
	transition: var(--ds-transition-fast);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.ds-header-actions button:hover,
.ds-header-actions a:hover {
	color: var(--ds-primary);
}
.ds-cart-badge {
	position: absolute;
	top: 0.125rem;
	right: 0.125rem;
	background: var(--ds-primary);
	color: #000;
	font-size: 0.625rem;
	font-weight: 700;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ds-hamburger {
	display: flex;
	background: none;
	border: none;
	color: var(--ds-text-secondary);
	cursor: pointer;
	padding: 0.5rem;
}
@media (min-width: 768px) {
	.ds-hamburger { display: none; }
}

/* Dark/Light Toggle */
.ds-theme-toggle {
	background: none;
	border: none;
	color: var(--ds-text-secondary);
	cursor: pointer;
	padding: 0.5rem;
	border-radius: var(--ds-radius);
	transition: color 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ds-theme-toggle:hover {
	color: var(--ds-primary);
}

/* Mobile Menu */
.ds-mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: var(--ds-bg-dark);
	z-index: 200;
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	transform: translateX(-100%);
	transition: transform 0.3s ease;
	overflow-y: auto;
}
.ds-mobile-menu.is-open {
	transform: translateX(0);
}
.ds-mobile-menu-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--ds-border);
}
.ds-mobile-menu nav a {
	display: block;
	padding: 1rem 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--ds-text-secondary);
	text-decoration: none;
	border-bottom: 1px solid var(--ds-border);
	transition: color 0.2s;
}
.ds-mobile-menu nav a:hover {
	color: var(--ds-primary);
}
.ds-mobile-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.5);
	z-index: 199;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}
.ds-mobile-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.ds-hero {
	position: relative;
	height: 70vh;
	min-height: 500px;
	width: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.ds-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 10s ease;
}
.ds-hero:hover .ds-hero-bg {
	transform: scale(1.05);
}
.ds-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(10,12,16,0.92) 0%, rgba(10,12,16,0.4) 60%, rgba(10,12,16,0) 100%);
}
.ds-hero-content {
	position: relative;
	z-index: 2;
	max-width: var(--ds-container);
	margin: 0 auto;
	padding: 0 1rem;
	width: 100%;
}
@media (min-width: 1024px) {
	.ds-hero-content { padding: 0 2rem; }
}
.ds-hero-badge {
	display: inline-block;
	background: var(--ds-primary);
	color: #000;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.25rem 0.75rem;
	border-radius: var(--ds-radius-sm);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 1rem;
}
.ds-hero h1 {
	color: #fff;
}
.ds-hero p {
	color: #cbd5e1;
	font-size: 1.125rem;
	max-width: 30rem;
	line-height: 1.7;
	margin-bottom: 2rem;
}
@media (min-width: 768px) {
	.ds-hero p { font-size: 1.25rem; }
}
.ds-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

/* ============================================================
   TRUST BADGES
   ============================================================ */
.ds-trust-badges {
	background: var(--ds-surface);
	border-top: 1px solid var(--ds-border);
	border-bottom: 1px solid var(--ds-border);
	padding: 2rem 0;
}
.ds-trust-badges-grid {
	max-width: var(--ds-container);
	margin: 0 auto;
	padding: 0 1rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}
@media (min-width: 768px) {
	.ds-trust-badges-grid { grid-template-columns: repeat(4, 1fr); padding: 0 1.5rem; }
}
@media (min-width: 1024px) {
	.ds-trust-badges-grid { padding: 0 2rem; }
}
.ds-trust-item {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.ds-trust-item .material-symbols-outlined {
	font-size: 2.5rem;
	color: var(--ds-primary);
	flex-shrink: 0;
}
.ds-trust-item h4 {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
}
.ds-trust-item p {
	font-size: 0.75rem;
	color: var(--ds-text-muted);
	margin: 0;
}

/* ============================================================
   CATEGORÃAS GRID
   ============================================================ */
.ds-categories {
	padding: 4rem 0;
}
.ds-categories-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 640px) {
	.ds-categories-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ds-categories-grid { grid-template-columns: repeat(4, 1fr); }
}
.ds-category-card {
	position: relative;
	height: 20rem;
	overflow: hidden;
	border-radius: var(--ds-radius-xl);
	background: var(--ds-surface);
	text-decoration: none;
	display: block;
	transition: var(--ds-transition);
}
.ds-category-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.ds-category-card:hover img {
	transform: scale(1.1);
}
.ds-category-card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
}
.ds-category-card-content {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	z-index: 2;
}
.ds-category-card h3 {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 900;
	text-transform: uppercase;
	font-style: italic;
}
.ds-category-card .ds-cat-link {
	color: #cbd5e1;
	font-size: 0.875rem;
	opacity: 0;
	transition: opacity 0.3s;
}
.ds-category-card:hover .ds-cat-link {
	opacity: 1;
}
.ds-category-wholesale {
	border: 4px solid var(--ds-primary);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1.5rem;
	background: var(--ds-surface);
}
.ds-category-wholesale .material-symbols-outlined {
	font-size: 3.75rem;
	color: var(--ds-primary);
	margin-bottom: 1rem;
}
.ds-category-wholesale h3 {
	color: #fff;
}
.ds-category-wholesale p {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
	margin-top: 0.75rem;
}
.ds-category-wholesale .ds-btn {
	margin-top: 1.5rem;
}

/* ============================================================
   PRODUCT CARDS
   ============================================================ */
.ds-products-section {
	padding: 4rem 0;
}
.ds-products-section-bg {
	background: rgba(var(--ds-primary-rgb), 0.02);
}
.ds-products-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 2.5rem;
	flex-wrap: wrap;
	gap: 1rem;
}
.ds-products-link {
	color: var(--ds-primary);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 0.25rem;
	transition: opacity 0.2s;
}
.ds-products-link:hover {
	opacity: 0.8;
}
.ds-products-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}
@media (min-width: 1024px) {
	.ds-products-grid { grid-template-columns: repeat(4, 1fr); }
}
.ds-product-card {
	position: relative;
}
.ds-product-card-image {
	position: relative;
	aspect-ratio: 1/1;
	overflow: hidden;
	border-radius: var(--ds-radius-xl);
	background: var(--ds-surface);
	border: 1px solid var(--ds-border);
	margin-bottom: 1rem;
}
.ds-product-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.ds-product-card:hover .ds-product-card-image img {
	transform: scale(1.1);
}
.ds-product-card:hover .ds-product-card-image {
	box-shadow: 0 0 0 2px rgba(var(--ds-primary-rgb), 0.5);
}
.ds-product-card .ds-badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 3;
}
.ds-product-card .ds-favorite-btn {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 3;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: rgba(10,12,16,0.6);
	backdrop-filter: blur(8px);
	border: none;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: color 0.2s;
}
.ds-product-card .ds-favorite-btn:hover {
	color: var(--ds-primary);
}
.ds-product-card .ds-favorite-btn .material-symbols-outlined {
	font-size: 1.25rem;
}
.ds-product-card .ds-add-cart-btn {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 3;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--ds-primary);
	border: none;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transform: translateY(3rem);
	opacity: 0;
	transition: var(--ds-transition);
	box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.ds-product-card:hover .ds-add-cart-btn {
	transform: translateY(0);
	opacity: 1;
}
.ds-product-card .ds-add-cart-btn:hover {
	transform: scale(1.1);
}
.ds-product-card-title {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--ds-text-primary);
	text-transform: uppercase;
	letter-spacing: -0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.2s;
}
.ds-product-card:hover .ds-product-card-title {
	color: var(--ds-primary);
}
.ds-product-card-category {
	font-size: 0.75rem;
	color: var(--ds-text-muted);
	margin-bottom: 0.25rem;
}
.ds-product-card-rating {
	display: flex;
	align-items: center;
	gap: 0.125rem;
	margin-bottom: 0.75rem;
	color: #eab308;
}
.ds-product-card-rating .material-symbols-outlined {
	font-size: 0.875rem;
}
.ds-product-card-rating .ds-rating-empty {
	color: var(--ds-text-muted);
}
.ds-product-card-rating span {
	font-size: 0.625rem;
	color: var(--ds-text-muted);
	font-weight: 700;
	margin-left: 0.25rem;
}
.ds-product-card-price {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.ds-product-card-price .ds-price {
	font-size: 1.25rem;
}

/* ============================================================
   PROMO BANNER
   ============================================================ */
.ds-promo-banner {
	padding: 4rem 0;
}
.ds-promo-banner-inner {
	position: relative;
	border-radius: var(--ds-radius-2xl);
	overflow: hidden;
	background: var(--ds-surface);
	height: 24rem;
	display: flex;
	align-items: center;
}
.ds-promo-banner-bg {
	position: absolute;
	inset: 0;
	opacity: 0.4;
}
.ds-promo-banner-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ds-promo-banner-gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(var(--ds-primary-rgb), 0.85) 0%, transparent 100%);
}
.ds-promo-banner-content {
	position: relative;
	z-index: 2;
	padding: 3rem;
	max-width: 36rem;
}
@media (min-width: 768px) {
	.ds-promo-banner-content { padding: 5rem; }
}
.ds-promo-banner h2 {
	color: #fff;
	font-size: clamp(1.75rem, 4vw, 3rem);
	font-weight: 900;
	text-transform: uppercase;
	font-style: italic;
	letter-spacing: -0.03em;
	margin-bottom: 1rem;
}
.ds-promo-banner p {
	color: rgba(255,255,255,0.9);
	font-size: 1.125rem;
	margin-bottom: 2rem;
}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.ds-newsletter {
	padding: 4rem 0;
}
.ds-newsletter-inner {
	text-align: center;
	max-width: 32rem;
	margin: 0 auto;
}
.ds-newsletter h3 {
	font-size: 1.5rem;
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 0.75rem;
}
.ds-newsletter p {
	color: var(--ds-text-muted);
	margin-bottom: 1.5rem;
}
.ds-newsletter-form {
	display: flex;
	gap: 0.5rem;
}
.ds-newsletter-form input {
	flex: 1;
	background: var(--ds-surface);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	padding: 0.75rem 1rem;
	color: var(--ds-text-primary);
	font-family: var(--ds-font);
	outline: none;
}
.ds-newsletter-form input:focus {
	border-color: var(--ds-primary);
}
.ds-newsletter-form button {
	background: var(--ds-primary);
	color: #000;
	border: none;
	border-radius: var(--ds-radius);
	padding: 0.75rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--ds-transition);
}
.ds-newsletter-form button:hover {
	opacity: 0.9;
}

/* ============================================================
   FOOTER
   ============================================================ */
.ds-footer {
	background: var(--ds-surface);
	border-top: 1px solid var(--ds-border);
	padding-top: 4rem;
	padding-bottom: 2rem;
}
.ds-footer-grid {
	max-width: var(--ds-container);
	margin: 0 auto;
	padding: 0 1rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	margin-bottom: 4rem;
}
@media (min-width: 768px) {
	.ds-footer-grid { grid-template-columns: repeat(2, 1fr); padding: 0 1.5rem; }
}
@media (min-width: 1024px) {
	.ds-footer-grid { grid-template-columns: 2fr 1fr 1fr 1.5fr; padding: 0 2rem; }
}
.ds-footer-brand p {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
	line-height: 1.7;
	margin-top: 1.5rem;
}
.ds-footer-social {
	display: flex;
	gap: 0.75rem;
	margin-top: 1.5rem;
}
.ds-footer-social a {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--ds-surface-alt);
	border: 1px solid var(--ds-border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ds-text-muted);
	text-decoration: none;
	transition: var(--ds-transition);
}
.ds-footer-social a:hover {
	background: var(--ds-primary);
	color: #000;
	border-color: var(--ds-primary);
}
.ds-footer-col h4 {
	font-size: 0.9375rem;
	font-weight: 700;
	text-transform: uppercase;
	font-style: italic;
	margin-bottom: 1.5rem;
}
.ds-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.ds-footer-col ul li {
	margin-bottom: 1rem;
}
.ds-footer-col ul a {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
	text-decoration: none;
	transition: color 0.2s;
}
.ds-footer-col ul a:hover {
	color: var(--ds-primary);
}
.ds-footer-bottom {
	max-width: var(--ds-container);
	margin: 0 auto;
	padding: 2rem 1rem 0;
	border-top: 1px solid var(--ds-border);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	font-size: 0.75rem;
	color: var(--ds-text-muted);
}
@media (min-width: 768px) {
	.ds-footer-bottom { flex-direction: row; justify-content: space-between; padding: 2rem 1.5rem 0; }
}
@media (min-width: 1024px) {
	.ds-footer-bottom { padding: 2rem 2rem 0; }
}
.ds-footer-bottom a {
	color: var(--ds-text-muted);
	text-decoration: none;
	transition: color 0.2s;
}
.ds-footer-bottom a:hover {
	color: var(--ds-text-primary);
}

/* ============================================================
   PÃGINA DE CONTACTO
   ============================================================ */
.ds-contact-hero {
	position: relative;
	min-height: 350px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3rem 2rem;
	border-radius: var(--ds-radius-xl);
	overflow: hidden;
	margin-bottom: 3rem;
	background-size: cover;
	background-position: center;
}
.ds-contact-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(10,12,16,0.95) 0%, rgba(10,12,16,0.5) 100%);
}
.ds-contact-hero-content {
	position: relative;
	z-index: 2;
}
.ds-contact-hero h1 {
	color: #fff;
	font-size: clamp(2rem, 5vw, 3.75rem);
	font-weight: 800;
}
.ds-contact-hero p {
	color: #94a3b8;
	font-size: 1.125rem;
	max-width: 36rem;
}
.ds-contact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 1024px) {
	.ds-contact-grid { grid-template-columns: 2fr 1fr; }
}
.ds-contact-form-card {
	background: rgba(28, 36, 49, 0.5);
	border: 1px solid var(--ds-border-alt);
	border-radius: var(--ds-radius-xl);
	padding: 2rem;
}
.ds-contact-form h3 {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.ds-contact-form .form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 768px) {
	.ds-contact-form .form-row { grid-template-columns: 1fr 1fr; }
}
.ds-contact-form .form-group {
	margin-bottom: 1.5rem;
}
.ds-contact-sidebar-card {
	background: rgba(28, 36, 49, 0.5);
	border: 1px solid var(--ds-border-alt);
	border-radius: var(--ds-radius-xl);
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}
.ds-contact-info-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1rem;
}
.ds-contact-info-item:last-child {
	margin-bottom: 0;
}
.ds-contact-info-icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--ds-radius);
	background: var(--ds-bg-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ds-primary);
	flex-shrink: 0;
}
.ds-contact-info-item .info-label {
	font-size: 0.75rem;
	color: var(--ds-text-muted);
}
.ds-contact-info-item .info-value {
	font-weight: 500;
}
.ds-trust-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-top: 3rem;
}
@media (min-width: 768px) {
	.ds-trust-cards { grid-template-columns: repeat(3, 1fr); }
}
.ds-trust-card {
	padding: 1.5rem;
	border-left: 2px solid var(--ds-primary);
	background: rgba(var(--ds-primary-rgb), 0.03);
	border-radius: 0 var(--ds-radius-xl) var(--ds-radius-xl) 0;
}
.ds-trust-card .material-symbols-outlined {
	color: var(--ds-primary);
	margin-bottom: 0.75rem;
}
.ds-trust-card h5 {
	font-weight: 700;
	margin-bottom: 0.25rem;
}
.ds-trust-card p {
	font-size: 0.875rem;
	color: var(--ds-text-muted);
	margin: 0;
}

/* ============================================================
   PÃGINA DE SUCURSALES
   ============================================================ */
.ds-branches-hero {
	padding: 2.5rem 0;
	background: linear-gradient(to bottom, var(--ds-surface) 0%, transparent 100%);
}
.ds-branches-hero h1 {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
}
.ds-branches-hero p {
	color: var(--ds-text-muted);
	font-size: 1.125rem;
	max-width: 40rem;
	margin-top: 0.5rem;
}
.ds-branches-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	max-width: 80rem;
	margin: 0 auto;
}
@media (min-width: 1024px) {
	.ds-branches-grid { grid-template-columns: 1fr 2fr; }
}
.ds-branch-card {
	background: var(--ds-surface);
	border-left: 4px solid transparent;
	border-radius: var(--ds-radius-xl);
	padding: 1.25rem;
	transition: var(--ds-transition);
	cursor: pointer;
}
.ds-branch-card:hover,
.ds-branch-card.is-active {
	background: var(--ds-border);
	border-left-color: var(--ds-primary);
}
.ds-branch-card.is-active {
	box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}
.ds-branch-card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 0.75rem;
}
.ds-branch-card h3 {
	font-weight: 700;
	font-size: 1.125rem;
}
.ds-branch-card-address {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}
.ds-branch-card-info {
	border-top: 1px solid var(--ds-border);
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.ds-branch-card-info-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.75rem;
	color: var(--ds-text-secondary);
}
.ds-branch-card-info-item .material-symbols-outlined {
	color: var(--ds-primary);
	font-size: 1rem;
}
.ds-branches-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.ds-branch-map {
	min-height: 400px;
	border-radius: var(--ds-radius-2xl);
	overflow: hidden;
	border: 1px solid var(--ds-border);
	background: var(--ds-surface);
}
.ds-branch-map iframe {
	width: 100%;
	height: 100%;
	min-height: 500px;
	border: none;
}

/* ============================================================
   PÃGINA MAYORISTA B2B
   ============================================================ */
.ds-b2b-hero {
	position: relative;
	padding: 3rem 0;
	overflow: hidden;
}
.ds-b2b-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.4;
}
.ds-b2b-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, var(--ds-bg-dark) 20%, transparent 100%);
}
.ds-b2b-hero-content {
	position: relative;
	z-index: 2;
}
.ds-b2b-hero h1 {
	color: #fff;
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 900;
	text-transform: uppercase;
	font-style: italic;
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin-bottom: 1.5rem;
}
.ds-b2b-hero p {
	color: #cbd5e1;
	font-size: 1.125rem;
	max-width: 40rem;
	line-height: 1.7;
}
.ds-b2b-benefits {
	padding: 5rem 0;
	background: var(--ds-bg-dark);
}
.ds-b2b-benefits-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 768px) {
	.ds-b2b-benefits-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ds-b2b-benefits-grid { grid-template-columns: repeat(4, 1fr); }
}
.ds-b2b-benefit-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2rem;
	border-radius: var(--ds-radius-2xl);
	border: 1px solid rgba(255,255,255,0.05);
	background: rgba(255,255,255,0.03);
	transition: var(--ds-transition);
}
.ds-b2b-benefit-card:hover {
	border-color: rgba(var(--ds-primary-rgb), 0.5);
	background: rgba(255,255,255,0.06);
}
.ds-b2b-benefit-icon {
	width: 3rem;
	height: 3rem;
	border-radius: var(--ds-radius);
	background: rgba(var(--ds-primary-rgb), 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ds-primary);
	transition: var(--ds-transition);
}
.ds-b2b-benefit-card:hover .ds-b2b-benefit-icon {
	background: var(--ds-primary);
	color: #000;
}
.ds-b2b-benefit-icon .material-symbols-outlined {
	font-size: 1.875rem;
}
.ds-b2b-benefit-card h4 {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
}
.ds-b2b-benefit-card p {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 0;
}
.ds-b2b-requirements {
	padding: 5rem 0;
	background: var(--ds-surface);
}
.ds-b2b-requirements-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}
@media (min-width: 1024px) {
	.ds-b2b-requirements-grid { grid-template-columns: 1fr 1fr; }
}
.ds-b2b-checklist-item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 1rem;
}
.ds-b2b-check-icon {
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: rgba(var(--ds-primary-rgb), 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ds-primary);
	flex-shrink: 0;
	margin-top: 0.125rem;
}
.ds-b2b-check-icon .material-symbols-outlined {
	font-size: 0.875rem;
	font-weight: 700;
}
.ds-b2b-checklist-item h4 {
	color: #fff;
	font-weight: 700;
	margin-bottom: 0.25rem;
}
.ds-b2b-checklist-item p {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
	margin: 0;
}
.ds-b2b-form-card {
	background: var(--ds-bg-dark);
	padding: 2rem;
	border-radius: 1.5rem;
	border: 1px solid rgba(var(--ds-primary-rgb), 0.15);
	box-shadow: 0 25px 50px rgba(0,0,0,0.3);
	max-width: 28rem;
	margin: 0 auto;
}
@media (min-width: 1024px) {
	.ds-b2b-form-card { margin: 0; }
}
.ds-b2b-form-card h4 {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}
.ds-b2b-form-card .form-group {
	margin-bottom: 1rem;
}
.ds-b2b-form-card label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--ds-text-muted);
	text-transform: uppercase;
	margin-bottom: 0.25rem;
}
.ds-b2b-stats {
	padding: 3rem 0;
	border-top: 1px solid var(--ds-border);
	border-bottom: 1px solid var(--ds-border);
}
.ds-b2b-stats-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	text-align: center;
}
@media (min-width: 1024px) {
	.ds-b2b-stats-grid { grid-template-columns: repeat(4, 1fr); }
}
.ds-b2b-stat-number {
	font-size: 2.25rem;
	font-weight: 900;
	color: var(--ds-primary);
	margin-bottom: 0.25rem;
}
.ds-b2b-stat-label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--ds-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ============================================================
   CATALOGO - SIDEBAR FILTROS
   ============================================================ */
.ds-catalog-layout {
	display: flex;
	flex-direction: column;
	max-width: var(--ds-container);
	margin: 0 auto;
	padding: 0 1rem;
	gap: 2rem;
}
@media (min-width: 1024px) {
	.ds-catalog-layout { flex-direction: row; padding: 0 2rem; }
}
.ds-catalog-sidebar {
	width: 100%;
	flex-shrink: 0;
	border-right: 1px solid var(--ds-border);
	background: var(--ds-bg-dark);
	padding: 1.5rem;
}
@media (min-width: 1024px) {
	.ds-catalog-sidebar { width: 18rem; position: sticky; top: 7rem; align-self: flex-start; border-right: 1px solid var(--ds-border); }
}
.ds-catalog-sidebar h2 {
	font-size: 1.125rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}
.ds-catalog-sidebar h2 .material-symbols-outlined {
	color: var(--ds-primary);
}
.ds-filter-section {
	margin-bottom: 1.5rem;
}
.ds-filter-section h3 {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ds-text-muted);
	margin-bottom: 0.75rem;
}
.ds-filter-checkbox {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.25rem 0;
	cursor: pointer;
}
.ds-filter-checkbox input[type="checkbox"] {
	width: 1.25rem;
	height: 1.25rem;
	accent-color: var(--ds-primary);
}
.ds-filter-checkbox span {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--ds-text-secondary);
}
.ds-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.ds-filter-pill {
	padding: 0.375rem 0.75rem;
	border-radius: var(--ds-radius);
	background: var(--ds-border);
	color: var(--ds-text-secondary);
	font-size: 0.75rem;
	font-weight: 700;
	border: none;
	cursor: pointer;
	transition: var(--ds-transition-fast);
}
.ds-filter-pill:hover,
.ds-filter-pill.is-active {
	background: var(--ds-primary);
	color: #000;
}
.ds-size-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.5rem;
}
.ds-size-btn {
	height: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--ds-radius);
	border: 1px solid var(--ds-border);
	background: transparent;
	color: var(--ds-text-secondary);
	font-size: 0.75rem;
	font-weight: 500;
	cursor: pointer;
	transition: var(--ds-transition-fast);
}
.ds-size-btn:hover,
.ds-size-btn.is-active {
	border-color: var(--ds-primary);
	color: var(--ds-primary);
}
.ds-size-btn.is-active {
	background: rgba(var(--ds-primary-rgb), 0.1);
}
.ds-filter-promo {
	border-radius: var(--ds-radius-xl);
	padding: 1rem;
	background: rgba(var(--ds-primary-rgb), 0.08);
	border: 1px solid rgba(var(--ds-primary-rgb), 0.15);
}
.ds-filter-promo .promo-label {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--ds-primary);
}
.ds-filter-promo .promo-text {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--ds-text-primary);
	margin-top: 0.25rem;
}
.ds-catalog-main {
	flex: 1;
	padding: 1.5rem;
}
@media (min-width: 1024px) {
	.ds-catalog-main { padding: 2.5rem; }
}
.ds-catalog-header {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 2rem;
}
@media (min-width: 640px) {
	.ds-catalog-header { flex-direction: row; justify-content: space-between; align-items: center; }
}
.ds-catalog-header h2 {
	font-size: clamp(1.5rem, 3vw, 1.875rem);
	font-weight: 900;
	font-style: italic;
}
.ds-catalog-header h2 .accent {
	color: var(--ds-primary);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.5rem;
}
.ds-catalog-header .result-count {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
}
.ds-sort-select {
	background: var(--ds-surface);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	padding: 0.375rem 0.75rem;
	color: var(--ds-text-primary);
	font-family: var(--ds-font);
	font-size: 0.875rem;
	font-weight: 500;
	outline: none;
	cursor: pointer;
}
.ds-catalog-products-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 2rem;
}
@media (min-width: 640px) {
	.ds-catalog-products-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ds-catalog-products-grid { grid-template-columns: repeat(3, 1fr); }
}
/* ============================================================
   PAGINACIÃ“N
   ============================================================ */
.ds-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 4rem;
}
.ds-pagination a,
.ds-pagination span {
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--ds-radius);
	border: 1px solid var(--ds-border);
	background: transparent;
	color: var(--ds-text-muted);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	transition: var(--ds-transition-fast);
}
.ds-pagination a:hover {
	border-color: var(--ds-primary);
	color: var(--ds-primary);
}
.ds-pagination .current {
	background: var(--ds-primary);
	color: #000;
	border-color: var(--ds-primary);
}

/* ============================================================
   WOOCOMMERCE OVERRIDES (solo estÃ©tica)
   ============================================================ */
/* Ocultar el estilo por defecto de WC en el theme block */
.woocommerce-page .wp-block-group,
.woocommerce-page .entry-content {
	max-width: 100%;
}
/* Breadcrumbs */
.woocommerce-breadcrumb {
	padding: 1rem 0;
	font-size: 0.875rem;
	color: var(--ds-text-muted);
}
.woocommerce-breadcrumb a {
	color: var(--ds-text-muted);
	text-decoration: none;
}
.woocommerce-breadcrumb a:hover {
	color: var(--ds-primary);
}
/* Selects de WC */
.woocommerce-ordering select {
	background: var(--ds-surface);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	padding: 0.375rem 0.75rem;
	color: var(--ds-text-primary);
	font-family: var(--ds-font);
}
/* Result count */
.woocommerce-result-count {
	color: var(--ds-text-muted);
	font-size: 0.875rem;
}
/* ============================================================
   ANIMACIONES
   ============================================================ */
@keyframes ds-fade-in-up {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}
.ds-animate {
	animation: ds-fade-in-up 0.6s ease forwards;
}
.ds-animate-delay-1 { animation-delay: 0.1s; opacity: 0; }
.ds-animate-delay-2 { animation-delay: 0.2s; opacity: 0; }
.ds-animate-delay-3 { animation-delay: 0.3s; opacity: 0; }
.ds-animate-delay-4 { animation-delay: 0.4s; opacity: 0; }

/* ============================================================
   STATUS PULSE (sucursales / contacto)
   ============================================================ */
.ds-status-dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--ds-primary);
	display: inline-block;
	animation: ds-pulse 2s infinite;
}
@keyframes ds-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.4; }
}

/* ============================================================
   CHECKOUT (solo visual)
   ============================================================ */
.ds-checkout-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 1024px) {
	.ds-checkout-layout { grid-template-columns: 7fr 5fr; }
}
.ds-checkout-section {
	background: var(--ds-surface);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius-xl);
	padding: 1.5rem;
	margin-bottom: 2rem;
}
.ds-checkout-section-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}
.ds-checkout-section-header .icon-circle {
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: rgba(var(--ds-primary-rgb), 0.1);
	color: var(--ds-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ds-checkout-summary {
	position: sticky;
	top: 7rem;
}
.ds-checkout-summary .ds-card {
	padding: 1.5rem;
}
.ds-checkout-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin-top: 1.5rem;
	padding: 0 0.5rem;
}
.ds-checkout-trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.ds-checkout-trust-item .material-symbols-outlined {
	color: var(--ds-text-muted);
	margin-bottom: 0.25rem;
}
.ds-checkout-trust-item span {
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 700;
	opacity: 0.7;
}
/* Radio cards para pago/envÃ­o */
.ds-radio-card {
	display: flex;
	align-items: flex-start;
	padding: 1rem;
	border-radius: var(--ds-radius-xl);
	border: 1px solid var(--ds-border);
	cursor: pointer;
	transition: var(--ds-transition);
	margin-bottom: 0.75rem;
}
.ds-radio-card:hover {
	border-color: rgba(var(--ds-primary-rgb), 0.5);
}
.ds-radio-card.is-selected {
	border: 2px solid var(--ds-primary);
	background: rgba(var(--ds-primary-rgb), 0.05);
}
.ds-radio-card input[type="radio"] {
	margin-top: 0.25rem;
	accent-color: var(--ds-primary);
}
.ds-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	margin-bottom: 2rem;
}
.ds-breadcrumbs a {
	color: var(--ds-text-muted);
	text-decoration: none;
	transition: color 0.2s;
}
.ds-breadcrumbs a:hover {
	color: var(--ds-primary);
}
.ds-breadcrumbs .current {
	color: var(--ds-primary);
	font-weight: 700;
}
.ds-breadcrumbs .material-symbols-outlined {
	font-size: 0.875rem;
	color: var(--ds-text-muted);
}

/* ============================================================
   WOOCOMMERCE PRODUCT SINGLE
   ============================================================ */
.ds-single-product-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 768px) {
	.ds-single-product-layout { grid-template-columns: 1fr 1fr; }
}
.ds-product-gallery {
	position: sticky;
	top: 7rem;
}
.ds-product-gallery img {
	width: 100%;
	border-radius: var(--ds-radius-xl);
	border: 1px solid var(--ds-border);
}
.ds-product-info .price {
	font-size: 1.75rem;
	font-weight: 900;
}
.ds-product-info .woocommerce-product-details__short-description {
	color: var(--ds-text-secondary);
	margin: 1rem 0 1.5rem;
}
.quantity .qty {
	width: 4rem;
	text-align: center;
	background: var(--ds-surface);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	padding: 0.5rem;
	color: var(--ds-text-primary);
	font-family: var(--ds-font);
}
/* ============================================================
   RESPONSIVE AJUSTES
   ============================================================ */
@media (max-width: 767px) {
	.ds-hero { height: 60vh; min-height: 400px; }
	.ds-hero-buttons { flex-direction: column; }
	.ds-hero-buttons .ds-btn { width: 100%; justify-content: center; }
	.ds-promo-banner-inner { height: 20rem; }
	.ds-promo-banner-content { padding: 1.5rem; }
	.ds-checkout-trust { grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
}

/* === MATERIAL SYMBOLS FIX === */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: 'liga' 1;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.material-symbols-outlined.filled {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}
button .material-symbols-outlined,
a .material-symbols-outlined {
    vertical-align: middle;
}

/* ================================================================
   DIEGO SPORT'S — CORRECCIÓN VISUAL COMPLETA
   ================================================================ */

/* --- LOGO: evitar corte izquierdo --- */
.ds-navbar__logo {
    padding-left: 0.5rem !important;
    margin-left: 0 !important;
}
.ds-navbar__logo img {
    max-height: 3rem !important;
    width: auto !important;
    object-fit: contain !important;
}

/* --- HERO: imagen única fullscreen con gradiente --- */
.ds-hero {
    position: relative !important;
    min-height: 70vh !important;
    height: 70vh !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
}
.ds-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to right, rgba(10,12,16,0.92) 0%, rgba(10,12,16,0.6) 40%, rgba(10,12,16,0.1) 70%, transparent 100%) !important;
    z-index: 1 !important;
}
.ds-hero-content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 2rem 1rem 2rem 2rem !important;
}
@media (min-width: 640px) {
    .ds-hero-content { padding-left: 2rem !important; }
}
@media (min-width: 1024px) {
    .ds-hero-content { padding-left: 4rem !important; }
}

/* --- BOTONES: colores correctos según prototipo --- */
.ds-btn-primary,
a.ds-btn-primary,
button.ds-btn-primary {
    background-color: var(--ds-primary) !important;
    color: #000000 !important;
    border: none !important;
    font-weight: 700 !important;
    padding: 1rem 2rem !important;
    border-radius: 0.5rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}
.ds-btn-primary:hover,
a.ds-btn-primary:hover {
    background-color: var(--ds-primary-hover, #33e012) !important;
    color: #000000 !important;
    transform: scale(1.03) !important;
}
.ds-btn-outline,
a.ds-btn-outline {
    background: rgba(255,255,255,0.1) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    font-weight: 700 !important;
    padding: 1rem 2rem !important;
    border-radius: 0.5rem !important;
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}
.ds-btn-outline:hover,
a.ds-btn-outline:hover {
    background: rgba(255,255,255,0.2) !important;
    color: #ffffff !important;
}
.ds-btn-sm {
    padding: 0.5rem 1rem !important;
    font-size: 0.75rem !important;
    border-radius: 9999px !important;
}

/* --- HERO BADGE --- */
.ds-hero-badge {
    display: inline-block !important;
    padding: 0.25rem 0.75rem !important;
    background-color: var(--ds-primary) !important;
    color: #000000 !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    border-radius: 0.25rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    margin-bottom: 1rem !important;
}

/* --- HERO BUTTONS container --- */
.ds-hero-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    margin-top: 2rem !important;
}

/* --- HERO text color --- */
.ds-hero .ds-hero-content p {
    color: #cbd5e1 !important;
    font-size: 1.125rem !important;
    max-width: 28rem !important;
    line-height: 1.625 !important;
}

/* --- TRUST BADGES: fix icon colors --- */
.ds-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
}
.ds-trust-item .material-symbols-outlined {
    color: var(--ds-primary) !important;
    font-size: 2.25rem !important;
    flex-shrink: 0 !important;
}
.ds-trust-item strong {
    color: var(--ds-text-primary) !important;
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
}
.ds-trust-item span:not(.material-symbols-outlined) {
    color: var(--ds-text-secondary) !important;
    font-size: 0.75rem !important;
}

/* --- CATEGORÍAS: fix grid y tarjetas --- */
.ds-categories-grid {
    display: grid !important;
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 1.5rem !important;
}
@media (min-width: 640px) {
    .ds-categories-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 1024px) {
    .ds-categories-grid { grid-template-columns: repeat(4, 1fr) !important; }
}
.ds-category-card {
    position: relative !important;
    height: 20rem !important;
    overflow: hidden !important;
    border-radius: 0.75rem !important;
    background: var(--ds-surface) !important;
    display: block !important;
    text-decoration: none !important;
}
.ds-category-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}
.ds-category-card:hover img {
    transform: scale(1.1) !important;
}
.ds-category-card-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, transparent 100%) !important;
    z-index: 1 !important;
}
.ds-category-card-content {
    position: absolute !important;
    bottom: 1.5rem !important;
    left: 1.5rem !important;
    z-index: 2 !important;
}
.ds-category-card-content h3 {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    font-style: italic !important;
    line-height: 1.1 !important;
}
.ds-cat-link {
    color: #94a3b8 !important;
    font-size: 0.875rem !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}
.ds-category-card:hover .ds-cat-link {
    opacity: 1 !important;
}

/* --- CATEGORÍA MAYORISTA --- */
.ds-category-wholesale {
    border: 4px solid var(--ds-primary) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 1.5rem !important;
    background: var(--ds-bg-dark, #0a0c10) !important;
}
.ds-category-wholesale .material-symbols-outlined {
    color: var(--ds-primary) !important;
    margin-bottom: 1rem !important;
}
.ds-category-wholesale h3 {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    font-style: italic !important;
    line-height: 1.2 !important;
}
.ds-category-wholesale p {
    color: #94a3b8 !important;
    font-size: 0.875rem !important;
    margin-top: 1rem !important;
}

/* --- PROMO BANNER --- */
.ds-promo-banner-inner {
    position: relative !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    min-height: 24rem !important;
    display: flex !important;
    align-items: center !important;
    background-size: cover !important;
    background-position: center !important;
}
.ds-promo-banner-gradient {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to right, rgba(57,255,20,0.8) 0%, transparent 70%) !important;
    z-index: 1 !important;
}
.ds-promo-banner-inner h2,
.ds-promo-banner-inner p,
.ds-promo-banner-inner a {
    position: relative !important;
    z-index: 2 !important;
}
.ds-promo-banner-inner h2 {
    color: #ffffff !important;
    font-size: clamp(1.875rem, 4vw, 3rem) !important;
    font-weight: 900 !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    margin-bottom: 1rem !important;
}
.ds-promo-banner-inner p {
    color: rgba(255,255,255,0.9) !important;
    font-size: 1.125rem !important;
    margin-bottom: 2rem !important;
    max-width: 36rem !important;
}
/* Botón "Más Información" del banner - blanco con texto oscuro */
.ds-promo-banner-inner .ds-btn {
    background-color: #ffffff !important;
    color: #111111 !important;
    font-weight: 800 !important;
    padding: 1rem 2rem !important;
    border-radius: 0.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
    text-decoration: none !important;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25) !important;
    transition: all 0.3s ease !important;
}
.ds-promo-banner-inner .ds-btn:hover {
    background-color: #f1f5f9 !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
}

/* --- PRODUCTOS: cards mejoradas --- */
.ds-products-grid ul.products,
ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
@media (min-width: 1024px) {
    .ds-products-grid ul.products,
    ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}
ul.products li.product {
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0.75rem !important;
    background: var(--ds-surface) !important;
    border: 1px solid var(--ds-border) !important;
    transition: all 0.3s ease !important;
}
ul.products li.product:hover {
    border-color: rgba(57,255,20,0.3) !important;
    box-shadow: 0 0 20px rgba(57,255,20,0.1) !important;
}
ul.products li.product .woocommerce-loop-product__link {
    display: block !important;
    text-decoration: none !important;
}
ul.products li.product img {
    margin: 0 !important;
    border-radius: 0.75rem 0.75rem 0 0 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}
ul.products li.product:hover img {
    transform: scale(1.05) !important;
}
ul.products li.product .woocommerce-loop-product__title {
    color: var(--ds-text-primary) !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
    letter-spacing: -0.025em !important;
    padding: 0.75rem 1rem 0 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
ul.products li.product .price {
    color: var(--ds-text-primary) !important;
    font-weight: 900 !important;
    font-size: 1.125rem !important;
    padding: 0.25rem 1rem 1rem !important;
}
ul.products li.product .price del {
    color: var(--ds-text-muted) !important;
    font-weight: 400 !important;
    font-size: 0.875rem !important;
}
/* Add to cart button on product cards */
ul.products li.product .button,
ul.products li.product a.add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    width: calc(100% - 2rem) !important;
    margin: 0 1rem 1rem !important;
    padding: 0.625rem 1rem !important;
    background-color: var(--ds-primary) !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
    font-size: 0.8125rem !important;
    text-transform: uppercase !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    opacity: 0 !important;
    transform: translateY(0.5rem) !important;
}
ul.products li.product:hover .button,
ul.products li.product:hover a.add_to_cart_button {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
ul.products li.product .button:hover,
ul.products li.product a.add_to_cart_button:hover {
    background-color: var(--ds-primary-hover, #33e012) !important;
    color: #000000 !important;
}
/* Star rating */
ul.products li.product .star-rating {
    color: #eab308 !important;
    margin: 0.25rem 1rem 0 !important;
    font-size: 0.875rem !important;
}
ul.products li.product .star-rating::before {
    color: #eab308 !important;
}

/* --- SCROLLBAR: más sutil --- */
::-webkit-scrollbar {
    width: 6px !important;
}
::-webkit-scrollbar-track {
    background: var(--ds-bg-dark) !important;
}
::-webkit-scrollbar-thumb {
    background: rgba(57,255,20,0.4) !important;
    border-radius: 10px !important;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(57,255,20,0.7) !important;
}

/* --- SECTION TITLES --- */
.ds-section-title {
    font-size: 1.875rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-style: italic !important;
    letter-spacing: -0.025em !important;
    color: var(--ds-text-primary) !important;
}
.ds-section-bar {
    width: 5rem !important;
    height: 0.375rem !important;
    background-color: var(--ds-primary) !important;
    margin-top: 0.5rem !important;
}

/* --- PRODUCTS LINK "Ver todo" --- */
.ds-products-link {
    color: var(--ds-primary) !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.ds-products-link:hover {
    text-decoration: underline !important;
    color: var(--ds-primary) !important;
}

/* --- NEWSLETTER --- */
.ds-newsletter-form input[type="email"] {
    background: var(--ds-surface) !important;
    border: 1px solid var(--ds-border) !important;
    color: #ffffff !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.5rem !important;
    font-size: 0.875rem !important;
    outline: none !important;
}
.ds-newsletter-form input[type="email"]:focus {
    border-color: var(--ds-primary) !important;
    box-shadow: 0 0 0 2px rgba(57,255,20,0.2) !important;
}

/* ================================================================
   DIEGO SPORT'S — FIXES PUNTUALES (RONDA 2)
   ================================================================ */

/* --- BARRA ENVÍO GRATIS: texto negro y más grande --- */
.ds-topbar p {
    color: #000000 !important;
    font-size: 14px !important;
}

/* --- BOTÓN BUSCAR: verde con texto negro --- */
.ds-search-form button[type="submit"],
button.ds-search-submit,
.search-form .search-submit,
input[type="submit"].search-submit {
    background-color: var(--ds-primary) !important;
    color: #000000 !important;
    border: none !important;
    font-weight: 700 !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 9999px !important;
    font-size: 0.8125rem !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
}

/* --- LOGO: más padding izquierdo para no cortar --- */
.ds-navbar__logo {
    padding-left: 1rem !important;
    margin-left: 0 !important;
    display: flex !important;
    align-items: center !important;
}
.ds-navbar__logo img {
    max-height: 2.75rem !important;
    width: auto !important;
    object-fit: contain !important;
    height: auto !important;
}

/* --- BANNER MAYORISTA: más padding interno --- */
.ds-promo-banner-inner {
    padding: 3rem !important;
}
@media (min-width: 768px) {
    .ds-promo-banner-inner {
        padding: 3rem 4rem !important;
    }
}
@media (min-width: 1024px) {
    .ds-promo-banner-inner {
        padding: 3rem 5rem !important;
    }
}

/* --- PRODUCTOS: tarjetas uniformes --- */
ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
}
ul.products li.product img {
    width: 100% !important;
    height: 0 !important;
    padding-bottom: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1 !important;
    flex-shrink: 0 !important;
}
ul.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}
ul.products li.product .wp-element-button,
ul.products li.product .button.add_to_cart_button {
    margin-top: auto !important;
}

/* --- NAVBAR: fondo oscuro con texto blanco (estilo prototipo) --- */
/* ============================================================
   CONSOLIDADED FIXES v1 - Diego Sport's (definitivo)
   ============================================================= */
:KY[X^]YLB]KZXY\]KY\\^NۙHZ[\ܝ[BX][\]K\\\^NۙHZ[\ܝ[BHX]NHZ[\ܝ[[[X][ێۙHZ[\ܝ[BZXY\Xܛ[Z[\ܝ[ܙ\XN\YؘJMKMKMK
HZ[\ܝ[B]K][YOHYHZXY\Xܛ[Z[\ܝ[B[]H܎ٙZ[\ܝ[B[]Nݙ\[]K\[[Y[KZ][H܎YMZ[\ܝ[BZXY\X][YK]K[[ؚ[K[Y[KX܎ٙZ[\ܝ[BZXY\Xݙ\][YK]Nݙ\[[ؚ[K[Y[KXݙ\܎YMZ[\ܝ[BX[[[Y[X\Xܛ[X܎YMZ[\ܝ[܎Z[\ܝ[^X[Yێ[\Z[\ܝ[Y[ΈMZ[\ܝ[۝\^NLZ[\ܝ[۝]ZYZ[\ܝ[]\\X[ΈY[HZ[\ܝ[^][ٛܛN\\\HZ[\ܝ[\^NZ[\ܝ[YL	HZ[\ܝ[BX[[[Y[X\H܎Z[\ܝ[۝]ZYZ[\ܝ[^YXܘ][ێ[\[HZ[\ܝ[BYYXH
X^]YL
H\X\X\\^NۙHZ[\ܝ[H\X\X\\X\XX]H\^NZ[\ܝ[][ێX]NL	NYYXܛ[Y[ΈLܙ\XN\YؘJMKMKMK
NZ[^NNNHB[[ؚ[K[ۛH\^N^Z[\ܝ[BYYXH
Z[]Y͎
H[[ؚ[K[ۛH\^NۙHZ[\ܝ[HB[[ؚ[K[Y[K[ݙ\^H\^NۙN][ێ^Y[]Xܛ[ؘJNZ[^NNNB[[ؚ[K[Y[K[ݙ\^K\[[\^NB[[ؚ[K[Y[H][ێ^YYYINX^]Y͌ZYLZYLXܛ[\KYXY\NZ[^NNNN[ٛܛN[]V
LL	JN[][ێ[ٛܛHX\Nݙ\^N]]Y[ΈB[[ؚ[K[Y[K\[[[ٛܛN[]V

NB[[ؚ[K[Y[KXH\^N^[YۋZ][\Έ[\\YKX۝[[\YZYXܛ[\KY\\XJNܙ\\Y\KYXܙ\Nܙ\\Y]\Έ\KY\Y]\N܎\KY]^
N\܎[\X\[XNM۝\^NB[[ؚ[K[Y[H]\^N^^Y\X[ێ[[\B[[ؚ[K[Y[H]H\^N^[YۋZ][\Έ[\\LY[ΈMM܎\KY]^
N^YXܘ][ێۙN۝]ZYL۝\^NM\ܙ\\Y]\Έ\KY\Y]\N[][ێ[X\NB[[ؚ[K[Y[H]Nݙ\Xܛ[\KY\\XJN܎\KY\[X\JNBX]\X[\[X[][Y۝Y[Z[N	X]\X[[X][Y	Z[\ܝ[۝]ZYܛX[Z[\ܝ[۝\[NܛX[Z[\ܝ[[KZZYHZ[\ܝ[]\\X[ΈܛX[Z[\ܝ[^][ٛܛNۙHZ[\ܝ[\^N[[KXZ[\ܝ[]K\XNܘ\Z[\ܝ[ܙ]ܘ\ܛX[Z[\ܝ[\X[ێZ[\ܝ[]X]Y۝\[[Έ[X[X\YZ[\ܝ[BK[Y\K\YHX][\]K\\K^\X]X][\]K\\\^NۙHZ[\ܝ[B[Y\K\XZXY\]H\^NۙHZ[\ܝ[BK[Y\K\YH[Y\K\XZXY\K^\X][Y\K\XZXY\\^NۙHZ[\ܝ[B\XYܚY[X[X\^NܚYZ[\ܝ[ܚY][\]KX[[Έ\X]
YHZ[\ܝ[\K\[HZ[\ܝ[\\[NۙHZ[\ܝ[Y[ΈZ[\ܝ[X\[Z[\ܝ[[YۋZ][\Έ]Z[\ܝ[BYYXH
Z[]Y͎
H\XYܚY[X[XܚY][\]KX[[Έ\X]
YHZ[\ܝ[HBYYXH
Z[]YL
H\XYܚY[X[XܚY][\]KX[[Έ\X]
YHZ[\ܝ[HB[XKX\^N^Z[\ܝ[^Y\X[ێ[[Z[\ܝ[ZYL	HZ[\ܝ[X\[Z[\ܝ[Y[ΈZ[\ܝ[YL	HZ[\ܝ[]ۙHZ[\ܝ[B]\X\Xܛ[\KY\\XJNܙ\XN\Y\KYXܙ\NY[ΈB]\X\Z[\X^]Y\KY[X^]Y
NX\[]]Y[Έ\^NܚYܚY][\]KX[[Έ\X]
YN[YۋZ][\Έ[\B]\Z][H\^N^[YۋZ][\Έ[\\LY[ΈM\YKX۝[[\B]\Z][HX]\X[\[X[][Y܎\KY\[X\JN۝\^NB]\Z][H۝\^NL۝]ZY܎\KY]^
NX\[^][ٛܛN\\\NB]\Z][H۝\^NL\܎\KY]^\Xۙ\JNX\[BYYXH
X^]Y͎
H]\X\Z[\ܚY][\]KX[[Έ\X]
YNHBYYXH
X^]Y
H]\X\Z[\ܚY][\]KX[[ΈYHBX]YܚY\YܚY\^NܚYܚY][\]KX[[Έ\X]
YN\MX^]Y\KY[X^]Y
NX\[]]Y[ΈBYYXH
Z[]Y
HX]YܚY\YܚYܚY][\]KX[[Έ\X]
YNHBYYXH
Z[]Y͎
HX]YܚY\YܚYܚY][\]KX[[Έ\X]
YNHB\[X[\][ێ[]]Nݙ\ΈY[Z[ZZY\^N^[YۋZ][\Έ[\B\[X[\[Y][ێX]N[]YL	NZYL	NؚXY]ݙ\B\[X[\YܘYY[][ێX]N[]Xܛ[[X\YܘYY[
YؘJJH	KؘJHL	JNB\[X[\X۝[][ێ[]]NZ[^X^]Y\KY[X^]Y
NX\[]]Y[Έ܎ٙB\[X[\X۝[۝\^N[N۝]ZYX\[LB\[X[\X۝[۝\^NK\[NX]NNX\[BXYX\X][ێX]HZ[\ܝ[NMZ[\ܝ[YMZ[\ܝ[Xܛ[YMZ[\ܝ[܎Z[\ܝ[YZ[\ܝ[ZYZ[\ܝ[ܙ\\Y]\ΈL	HZ[\ܝ[\^N^Z[\ܝ[[YۋZ][\Έ[\Z[\ܝ[\YKX۝[[\Z[\ܝ[[ٛܛN[]VJ
HZ[\ܝ[X]NZ[\ܝ[[][ێ[X\HZ[\ܝ[\YΈL\ؘJ
HZ[\ܝ[Z[^HZ[\ܝ[ܙ\ۙHZ[\ܝ[Y[ΈZ[\ܝ[B[XKXݙ\XYX\X[ٛܛN[]VJ
HZ[\ܝ[X]NHZ[\ܝ[BYYXH
X^]Y͎
HXYX\X[ٛܛN[]VJ
HZ[\ܝ[X]NHZ[\ܝ[HB[Y\K\Y[][ۈ[\^N^Z[\ܝ[[YۋZ][\Έ[\Z[\ܝ[\YKX۝[[\Z[\ܝ[\\[HZ[\ܝ[\\[NۙHZ[\ܝ[Y[ΈZ[\ܝ[B\XYܚY[Y\K[\X[\^N^YXܘ][ێۙN܎[\]B][Y\K]ܘ\\X^]Y\KY[X^]Y
NX\[]]Y[Έ̜B/* ================================================================
/* =============================================
   DIEGO SPORTS - CONSOLIDATED FIXES v2
   Fecha: 2026-08-20
   ============================================= */

/* === 1. OCULTAR BARRA DE BÚSQUEDA SUPERIOR (div suelto sin clase) === */
body > div:first-child {
  display: none !important;
}

/* === 2. REMOVER LOGO VACÍO === */
a.ds-logo-link:empty {
  display: none !important;
}

/* === 3. FOOTER GRID (reemplaza Tailwind) === */
.ds-footer-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2.5rem !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 3rem 1rem !important;
}
@media (min-width: 640px) {
  .ds-footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (min-width: 1024px) {
  .ds-footer-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 2rem !important;
    padding: 4rem 2rem !important;
  }
}

/* === 4. FOOTER BRAND COLUMN === */
.ds-footer-brand {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}
.ds-footer-brand > div:first-child {
  height: 2.5rem !important;
  display: flex !important;
  align-items: center !important;
}
.ds-footer-brand > div:first-child img {
  max-height: 2.5rem !important;
  width: auto !important;
}

/* === 5. FOOTER SOCIAL ICONS === */
.ds-footer-social {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}
.ds-footer-social a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  border-radius: 9999px !important;
  transition: background-color 200ms ease, color 200ms ease !important;
  text-decoration: none !important;
}
.ds-footer-social a:hover {
  background-color: var(--ds-primary, #22c55e) !important;
  color: #000 !important;
}

/* === 6. FOOTER COLUMNS (nav lists) === */
.ds-footer-col ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ds-footer-col ul a {
  font-size: 0.875rem !important;
  color: var(--ds-text-muted, #94a3b8) !important;
  text-decoration: none !important;
  transition: color 200ms ease !important;
}
.ds-footer-col ul a:hover {
  color: var(--ds-primary, #22c55e) !important;
}
.ds-footer-col h3 {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-style: italic !important;
  color: #fff !important;
  margin-bottom: 1.25rem !important;
}

/* === 7. NEWSLETTER FORM === */
.ds-newsletter-form {
  display: flex !important;
  gap: 0.5rem !important;
}
.ds-newsletter-form input[type="email"] {
  flex: 1 !important;
  border-radius: 0.5rem !important;
  padding: 0.625rem 1rem !important;
  font-size: 0.875rem !important;
  color: #fff !important;
  background-color: var(--ds-surface, #1a1d24) !important;
  border: 1px solid var(--ds-border, rgba(255,255,255,0.1)) !important;
  outline: none !important;
  font-family: var(--ds-font, 'Inter', sans-serif) !important;
  transition: border-color 200ms ease !important;
}
.ds-newsletter-form input[type="email"]:focus {
  border-color: var(--ds-primary, #22c55e) !important;
}
.ds-newsletter-form input[type="email"]::placeholder {
  color: #64748b !important;
}
.ds-newsletter-form button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0.5rem !important;
  padding: 0.625rem 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  background-color: var(--ds-primary, #22c55e) !important;
  color: #000 !important;
  border: none !important;
  cursor: pointer !important;
  transition: opacity 200ms ease !important;
}
.ds-newsletter-form button:hover {
  opacity: 0.9 !important;
}

/* === 8. FOOTER BOTTOM BAR === */
.ds-footer-bottom {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 1.5rem 1rem !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1rem !important;
}
@media (min-width: 640px) {
  .ds-footer-bottom {
    flex-direction: row !important;
    justify-content: space-between !important;
  }
}
.ds-footer-bottom p {
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: var(--ds-text-muted, #94a3b8) !important;
  margin: 0 !important;
}
.ds-footer-bottom nav {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}
@media (min-width: 640px) {
  .ds-footer-bottom nav {
    gap: 1.5rem !important;
  }
}
.ds-footer-bottom nav a {
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ds-text-muted, #94a3b8) !important;
  text-decoration: none !important;
  transition: color 200ms ease !important;
}
.ds-footer-bottom nav a:hover {
  color: var(--ds-primary, #22c55e) !important;
}

/* === 9. PRODUCT GRID (asegurar que <li> funciona como grid item) === */
.ds-products-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ds-products-grid > li {
  list-style: none !important;
  margin: 0 !important;
}
@media (min-width: 768px) {
  .ds-products-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (min-width: 1200px) {
  .ds-products-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* === 10. PRODUCT CARD HOVER Y ESTILOS === */
.ds-product-card {
  background: var(--ds-surface, #13151a) !important;
  border-radius: var(--ds-radius, 12px) !important;
  overflow: hidden !important;
  border: 1px solid var(--ds-border, rgba(255,255,255,0.06)) !important;
  transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease !important;
}
.ds-product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.4) !important;
  border-color: var(--ds-primary, #22c55e) !important;
}
.ds-product-card-image {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
}
.ds-product-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 500ms ease !important;
}
.ds-product-card:hover .ds-product-card-image img {
  transform: scale(1.05) !important;
}
.ds-add-cart-btn {
  position: absolute !important;
  bottom: 12px !important;
  right: 12px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: var(--ds-primary, #22c55e) !important;
  color: #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity 300ms ease, transform 300ms ease !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(34,197,94,0.3) !important;
}
.ds-product-card:hover .ds-add-cart-btn {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.ds-favorite-btn {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,0.5) !important;
  backdrop-filter: blur(4px) !important;
  border: none !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 200ms ease, color 200ms ease !important;
  z-index: 2 !important;
}
.ds-favorite-btn:hover {
  background: #ef4444 !important;
  color: #fff !important;
}
.ds-favorite-btn .material-symbols-outlined {
  font-size: 18px !important;
}
.ds-product-card-info {
  padding: 1rem !important;
}
.ds-product-card-category {
  font-size: 0.7rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ds-text-muted, #64748b) !important;
  margin-bottom: 0.35rem !important;
}
.ds-product-card-category a {
  color: var(--ds-text-muted, #64748b) !important;
  text-decoration: none !important;
}
.ds-product-card-category a:hover {
  color: var(--ds-primary, #22c55e) !important;
}
.ds-product-card-title {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--ds-text, #e2e8f0) !important;
  margin: 0 0 0.5rem 0 !important;
  line-height: 1.3 !important;
}
.ds-product-card-title a {
  color: inherit !important;
  text-decoration: none !important;
}
.ds-product-card-title a:hover {
  color: var(--ds-primary, #22c55e) !important;
}
.ds-product-card-rating {
  margin-bottom: 0.5rem !important;
  display: flex !important;
  gap: 2px !important;
}
.ds-product-card-rating .material-symbols-outlined {
  font-size: 16px !important;
}
.ds-rating-filled {
  color: #f59e0b !important;
}
.ds-rating-empty {
  color: var(--ds-border, #334155) !important;
}
.ds-product-card-price {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--ds-primary, #22c55e) !important;
}
.ds-product-card-price .price {
  color: inherit !important;
}
.ds-product-card-price .woocommerce-Price-amount {
  color: inherit !important;
}

/* === 11. CATEGORIES GRID === */
.ds-categories-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
  padding: 0 1.5rem !important;
  max-width: var(--ds-max-width, 1280px) !important;
  margin: 0 auto !important;
}
@media (min-width: 640px) {
  .ds-categories-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.25rem !important;
  }
}
@media (min-width: 1024px) {
  .ds-categories-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
.ds-category-card {
  position: relative !important;
  border-radius: var(--ds-radius, 12px) !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  display: block !important;
  text-decoration: none !important;
}
.ds-category-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 500ms ease !important;
}
.ds-category-card:hover img {
  transform: scale(1.08) !important;
}
.ds-category-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 60%, transparent 100%) !important;
  transition: background 300ms ease !important;
}
.ds-category-card:hover .ds-category-card-overlay {
  background: linear-gradient(to top, rgba(34,197,94,0.3) 0%, rgba(0,0,0,0.1) 60%, transparent 100%) !important;
}
.ds-category-card-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 1.25rem !important;
  z-index: 1 !important;
}
.ds-category-card-content h3 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 0.25rem 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
.ds-cat-link {
  font-size: 0.8rem !important;
  color: var(--ds-primary, #22c55e) !important;
  margin: 0 !important;
  opacity: 0.8 !important;
  transition: opacity 200ms ease !important;
}
.ds-category-card:hover .ds-cat-link {
  opacity: 1 !important;
}
/* Wholesale card */
.ds-category-wholesale {
  background: linear-gradient(135deg, #0a0c10 0%, #13151a 100%) !important;
  border: 1px solid var(--ds-border, rgba(255,255,255,0.1)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 2rem 1.5rem !important;
  gap: 0.75rem !important;
}
.ds-category-wholesale .material-symbols-outlined {
  font-size: 2.5rem !important;
  color: var(--ds-primary, #22c55e) !important;
}
.ds-category-wholesale h3 {
  color: #fff !important;
  font-size: 1.1rem !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.ds-category-wholesale p {
  color: var(--ds-text-muted, #94a3b8) !important;
  font-size: 0.85rem !important;
  margin: 0 !important;
}

/* === 12. HERO SECTION === */
.ds-hero {
  position: relative !important;
  min-height: 70vh !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
.ds-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
}
.ds-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(ellipse at 20% 50%, rgba(34,197,94,0.08) 0%, transparent 70%) !important;
}
.ds-hero-content {
  position: relative !important;
  z-index: 1 !important;
  max-width: var(--ds-max-width, 1280px) !important;
  margin: 0 auto !important;
  padding: 4rem 2rem !important;
}
.ds-hero-badge {
  display: inline-block !important;
  background: rgba(34,197,94,0.15) !important;
  color: var(--ds-primary, #22c55e) !important;
  padding: 0.4rem 1rem !important;
  border-radius: 9999px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border: 1px solid rgba(34,197,94,0.3) !important;
  margin-bottom: 1.5rem !important;
}
.ds-hero h1 {
  font-size: clamp(2.5rem, 6vw, 5rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.05 !important;
  margin: 0 0 1rem 0 !important;
  text-transform: uppercase !important;
}
.ds-hero h1 span {
  background: linear-gradient(135deg, var(--ds-primary, #22c55e) 0%, #4ade80 50%, #22d3ee 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.ds-hero-desc {
  font-size: 1.1rem !important;
  color: var(--ds-text-muted, #94a3b8) !important;
  max-width: 500px !important;
  margin-bottom: 2rem !important;
  line-height: 1.6 !important;
}
.ds-hero-actions {
  display: flex !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}
.ds-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.8rem 1.8rem !important;
  border-radius: var(--ds-radius, 8px) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  transition: all 300ms ease !important;
  cursor: pointer !important;
  border: none !important;
}
.ds-btn-primary {
  background: var(--ds-primary, #22c55e) !important;
  color: #000 !important;
  box-shadow: 0 0 20px rgba(34,197,94,0.3) !important;
}
.ds-btn-primary:hover {
  box-shadow: 0 0 30px rgba(34,197,94,0.5) !important;
  transform: translateY(-2px) !important;
}
.ds-btn-secondary {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
}
.ds-btn-secondary:hover {
  border-color: var(--ds-primary, #22c55e) !important;
  color: var(--ds-primary, #22c55e) !important;
}
.ds-btn-sm {
  padding: 0.5rem 1.2rem !important;
  font-size: 0.8rem !important;
}

/* === 13. TRUST BAR === */
.ds-trust-bar {
  background: var(--ds-surface, #0f1117) !important;
  border-top: 1px solid var(--ds-border, rgba(255,255,255,0.06)) !important;
  border-bottom: 1px solid var(--ds-border, rgba(255,255,255,0.06)) !important;
  padding: 1.5rem 0 !important;
}
.ds-trust-bar-inner {
  max-width: var(--ds-max-width, 1280px) !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
}
@media (min-width: 768px) {
  .ds-trust-bar-inner {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
.ds-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.5rem !important;
}
.ds-trust-item .material-symbols-outlined {
  font-size: 1.5rem !important;
  color: var(--ds-primary, #22c55e) !important;
  flex-shrink: 0 !important;
}
.ds-trust-item h4 {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--ds-text, #e2e8f0) !important;
  margin: 0 !important;
}
.ds-trust-item p {
  font-size: 0.75rem !important;
  color: var(--ds-text-muted, #64748b) !important;
  margin: 0 !important;
}

/* === 14. SECTION HEADERS === */
.ds-section-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 2rem !important;
  max-width: var(--ds-max-width, 1280px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 1.5rem !important;
}
.ds-section-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--ds-text, #e2e8f0) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
.ds-section-line {
  width: 40px !important;
  height: 3px !important;
  background: var(--ds-primary, #22c55e) !important;
  margin-top: 0.5rem !important;
  border-radius: 2px !important;
}
.ds-section-link {
  font-size: 0.85rem !important;
  color: var(--ds-primary, #22c55e) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  transition: opacity 200ms ease !important;
}
.ds-section-link:hover {
  opacity: 0.8 !important;
}

/* === 15. PROMO BANNER === */
.ds-promo-banner {
  position: relative !important;
  overflow: hidden !important;
  margin: 3rem auto !important;
  max-width: var(--ds-max-width, 1280px) !important;
  padding: 0 1.5rem !important;
  border-radius: var(--ds-radius, 16px) !important;
}
.ds-promo-banner-inner {
  position: relative !important;
  border-radius: var(--ds-radius, 16px) !important;
  overflow: hidden !important;
  min-height: 250px !important;
  display: flex !important;
  align-items: center !important;
}
.ds-promo-banner img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.ds-promo-banner-gradient {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(10,12,16,0.9) 0%, rgba(10,12,16,0.4) 100%) !important;
}
.ds-promo-banner-content {
  position: relative !important;
  z-index: 1 !important;
  padding: 3rem !important;
  max-width: 500px !important;
}
.ds-promo-banner-content h2 {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 0.75rem 0 !important;
}
.ds-promo-banner-content p {
  color: var(--ds-text-muted, #94a3b8) !important;
  margin-bottom: 1.5rem !important;
  line-height: 1.6 !important;
}

/* === 16. ANNOUNCEMENT BAR === */
.ds-announcement-bar {
  background: var(--ds-primary, #22c55e) !important;
  color: #000 !important;
  text-align: center !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}
.ds-announcement-bar a {
  color: #000 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* === 17. HEADER === */
.ds-header {
  background: rgba(16,22,34,0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--ds-border, rgba(255,255,255,0.08)) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
.ds-header-inner {
  max-width: var(--ds-max-width, 1280px) !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
  height: 70px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}
.ds-header-inner .custom-logo-link img {
  max-height: 45px !important;
  width: auto !important;
}
.ds-nav {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
}
.ds-nav a {
  color: var(--ds-text, #e2e8f0) !important;
  text-decoration: none !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  transition: color 200ms ease !important;
  position: relative !important;
}
.ds-nav a:hover {
  color: var(--ds-primary, #22c55e) !important;
}
.ds-nav a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: var(--ds-primary, #22c55e) !important;
  transition: width 300ms ease !important;
}
.ds-nav a:hover::after {
  width: 100% !important;
}
.ds-search-bar {
  display: none !important;
}
@media (min-width: 1024px) {
  .ds-search-bar {
    display: block !important;
    position: relative !important;
  }
}
.ds-search-bar form {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
.ds-search-icon {
  position: absolute !important;
  left: 12px !important;
  font-size: 20px !important;
  color: var(--ds-text-muted, #64748b) !important;
  pointer-events: none !important;
}
.ds-search-bar input[type="search"] {
  width: 280px !important;
  background: var(--ds-surface, #13151a) !important;
  border: 1px solid var(--ds-border, rgba(255,255,255,0.1)) !important;
  border-radius: var(--ds-radius, 8px) !important;
  padding: 0.6rem 1rem 0.6rem 2.5rem !important;
  font-family: var(--ds-font, 'Inter', sans-serif) !important;
  font-size: 0.85rem !important;
  color: var(--ds-text, #e2e8f0) !important;
  outline: none !important;
  transition: border-color 200ms ease, box-shadow 200ms ease !important;
}
.ds-search-bar input[type="search"]:focus {
  border-color: var(--ds-primary, #22c55e) !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,0.15) !important;
}
.ds-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}
.ds-header-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  color: var(--ds-text, #e2e8f0) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
  text-decoration: none !important;
  position: relative !important;
}
.ds-header-btn:hover {
  background: var(--ds-surface, #13151a) !important;
  border-color: var(--ds-border, rgba(255,255,255,0.1)) !important;
  color: var(--ds-primary, #22c55e) !important;
}
.ds-cart-count {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: var(--ds-primary, #22c55e) !important;
  color: #000 !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ds-theme-toggle {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  color: var(--ds-text, #e2e8f0) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
}
.ds-theme-toggle:hover {
  background: var(--ds-surface, #13151a) !important;
  color: #f59e0b !important;
}
.ds-mobile-only {
  display: flex !important;
}
@media (min-width: 1024px) {
  .ds-mobile-only {
    display: none !important;
  }
}
.ds-mobile-menu-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  background: transparent !important;
  border: 1px solid var(--ds-border, rgba(255,255,255,0.1)) !important;
  color: var(--ds-text, #e2e8f0) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
}
.ds-mobile-menu-btn:hover {
  border-color: var(--ds-primary, #22c55e) !important;
  color: var(--ds-primary, #22c55e) !important;
}
@media (min-width: 1024px) {
  .ds-nav { display: flex !important; }
  .ds-mobile-menu-btn { display: none !important; }
}
@media (max-width: 1023px) {
  .ds-nav { display: none !important; }
  .ds-header-inner .custom-logo-link img { max-height: 35px !important; }
}

/* === 18. MOBILE MENU === */
.ds-mobile-menu-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.7) !important;
  z-index: 1999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 300ms ease, visibility 300ms ease !important;
}
.ds-mobile-menu-overlay.is-open {
  opacity: 1 !important;
  visibility: visible !important;
}
.ds-mobile-menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 300px !important;
  max-width: 85vw !important;
  background: var(--ds-bg-dark, #0a0c10) !important;
  z-index: 2000 !important;
  transform: translateX(-100%) !important;
  transition: transform 300ms ease !important;
  overflow-y: auto !important;
  padding: 1.5rem !important;
}
.ds-mobile-menu.is-open {
  transform: translateX(0) !important;
}
.ds-mobile-menu-close {
  background: transparent !important;
  border: none !important;
  color: var(--ds-text, #e2e8f0) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 1rem !important;
}
.ds-mobile-menu nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
}
.ds-mobile-menu nav a {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.75rem 1rem !important;
  color: var(--ds-text, #e2e8f0) !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  border-radius: var(--ds-radius, 8px) !important;
  transition: background 200ms ease, color 200ms ease !important;
}
.ds-mobile-menu nav a:hover {
  background: var(--ds-surface, #13151a) !important;
  color: var(--ds-primary, #22c55e) !important;
}
.ds-mobile-menu nav a .material-symbols-outlined {
  font-size: 20px !important;
}
.ds-mobile-menu nav hr {
  border: none !important;
  border-top: 1px solid var(--ds-border, rgba(255,255,255,0.1)) !important;
  margin: 0.5rem 0 !important;
}

/* === 19. PARENT THEME OVERRIDES === */
.site-header, .site-footer {
  display: none !important;
}
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
body {
  background: var(--ds-bg-dark, #0a0c10) !important;
  color: var(--ds-text, #e2e8f0) !important;
  font-family: var(--ds-font, 'Inter', sans-serif) !important;
}

/* === 20. WOOCOMMERCE OVERRIDES === */
.woocommerce-result-count, .woocommerce-ordering {
  color: var(--ds-text-muted, #94a3b8) !important;
}

/* === 21. PAGINATION === */
.woocommerce-pagination ul.page-numbers {
  display: flex !important;
  gap: 0.5rem !important;
  justify-content: center !important;
  list-style: none !important;
  padding: 0 !important;
}
.woocommerce-pagination a, .woocommerce-pagination span {
  padding: 0.5rem 0.75rem !important;
  border-radius: var(--ds-radius, 6px) !important;
  background: var(--ds-surface, #13151a) !important;
  border: 1px solid var(--ds-border, rgba(255,255,255,0.1)) !important;
  color: var(--ds-text, #e2e8f0) !important;
  text-decoration: none !important;
  font-size: 0.85rem !important;
}
.woocommerce-pagination span.current {
  background: var(--ds-primary, #22c55e) !important;
  color: #000 !important;
  border-color: var(--ds-primary, #22c55e) !important;
  font-weight: 700 !important;
}
/* HERO OVERFLOW FIX */
.ds-hero{overflow:visible!important}
.ds-hero-content{overflow:visible!important;max-width:100%!important;padding-right:5rem!important}
.ds-hero-content h1,.ds-hero-content h1 span{overflow:visible!important;max-width:none!important}

/* HERO SPAN GRADIENT FIX */
.ds-hero h1 span{display:inline-block!important;padding-right:15px!important}
/* HERO FONT + GRADIENT FIX */
.ds-hero h1{font-size:clamp(2.5rem,5vw,3.8rem)!important}
.ds-hero h1 span{display:inline-block!important;background-size:150% 100%!important;background-position:left center!important}
/* === FIX: Ocultar buscador inline inyectado por WC block-theme === */
body > div:not([class]) {
  display: none !important;
}
