 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary-green: #7ED321;
            --dark-bg: #0a0a0a;
            --card-bg: #1a1a1a;
            --text-white: #ffffff;
            --text-gray: #cccccc;
            --border-green: #7ED321;
        }

        body {
            font-family: 'Arial', sans-serif;
            background: var(--dark-bg);
            color: var(--text-white);
            line-height: 1.6;
        }

        /* Header */
        .header {
            background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);
            padding: 1rem 0;
            box-shadow: 0 2px 20px rgba(126, 211, 33, 0.3);
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
        }

        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 2rem;
            position: relative;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 10px;
            z-index: 1002;
        }

        .logo img {
            width: 50px;
            height: 50px;
            border-radius: 50%;
        }

        .logo-img {
            width: 50px;
            height: 50px;
            background: var(--primary-green);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            color: var(--dark-bg);
        }

        .logo-text {
            font-size: 1.3rem;
            font-weight: bold;
            color: var(--text-white);
        }

        /* Menú hamburguesa */
        .menu-toggle {
            display: none;
            flex-direction: column;
            cursor: pointer;
            padding: 5px;
            z-index: 1002;
            background: none;
            border: none;
        }

        .hamburger {
            width: 25px;
            height: 3px;
            background: var(--primary-green);
            margin: 3px 0;
            transition: all 0.3s ease;
            border-radius: 2px;
        }

        .menu-toggle.active .hamburger:nth-child(1) {
            transform: rotate(45deg) translate(6px, 6px);
        }

        .menu-toggle.active .hamburger:nth-child(2) {
            opacity: 0;
        }

        .menu-toggle.active .hamburger:nth-child(3) {
            transform: rotate(-45deg) translate(6px, -6px);
        }

        /* Menú de navegación */
        .nav-menu {
            display: flex;
            list-style: none;
            gap: 2rem;
            margin: 0;
            padding: 0;
        }

        .nav-menu a {
            color: var(--text-gray);
            text-decoration: none;
            transition: color 0.3s;
            font-weight: 500;
            position: relative;
        }

        .nav-menu a:hover {
            color: var(--primary-green);
        }

        .nav-menu a::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--primary-green);
            transition: width 0.3s ease;
        }

        .nav-menu a:hover::after {
            width: 100%;
        }

        .cart-btn {
            background: var(--primary-green);
            color: var(--dark-bg);
            padding: 10px 20px;
            border: none;
            border-radius: 25px;
            font-weight: bold;
            cursor: pointer;
            position: relative;
            transition: all 0.3s ease;
            z-index: 1002;
        }

        .cart-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(126, 211, 33, 0.3);
        }

        .cart-count {
            position: absolute;
            top: -8px;
            right: -8px;
            background: #ff4444;
            color: white;
            border-radius: 50%;
            width: 20px;
            height: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8rem;
        }

        /* Hero Section with Carousel */
        .hero {
            background: linear-gradient(135deg, var(--dark-bg) 0%, #2a2a2a 100%);
            padding: 120px 0 60px;
            text-align: center;
            position: relative;
        }

        .hero h1 {
            font-size: 3rem;
            margin-bottom: 1rem;
            background: linear-gradient(45deg, var(--primary-green), #ffffff);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            z-index: 10;
            position: relative;
        }

        .hero p {
            font-size: 1.2rem;
            color: var(--text-gray);
            max-width: 600px;
            margin: 0 auto 3rem;
            z-index: 10;
            position: relative;
        }

        /* Carousel */
        .carousel-container {
            max-width: 1200px;
            margin: 0 auto 3rem;
            position: relative;
            overflow: hidden;
            border-radius: 20px;
            box-shadow: 0 20px 40px rgba(126, 211, 33, 0.2);
        }

        .carousel-wrapper {
            display: flex;
            transition: transform 0.8s ease-in-out;
        }

        .carousel-slide {
            min-width: 100%;
            display: flex;
            align-items: center;
            background: linear-gradient(135deg, var(--card-bg) 0%, #2a2a2a 100%);
            padding: 2rem;
            gap: 1rem;
        }

        .slide-content {
            flex: 1;
            text-align: left;
        }

        .slide-title {
            font-size: 2.5rem;
            color: var(--primary-green);
            margin-bottom: 1rem;
            font-weight: bold;
        }

        .slide-subtitle {
            font-size: 1.2rem;
            color: var(--text-white);
            margin-bottom: 1rem;
        }

        .slide-description {
            color: var(--text-gray);
            margin-bottom: 2rem;
            line-height: 1.6;
        }

        .slide-price {
            font-size: 2rem;
            color: var(--primary-green);
            font-weight: bold;
            margin-bottom: 1.5rem;
        }

        .slide-btn {
            background: var(--primary-green);
            color: var(--dark-bg);
            padding: 15px 30px;
            border: none;
            border-radius: 25px;
            font-weight: bold;
            font-size: 1.1rem;
            cursor: pointer;
            transition: all 0.3s;
            box-shadow: 0 5px 15px rgba(126, 211, 33, 0.3);
        }

        .slide-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(126, 211, 33, 0.4);
        }

        .slide-image {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 8rem;
            color: var(--primary-green);
            text-shadow: 0 0 30px rgba(126, 211, 33, 0.5);
        }
		
		.slide-image img {
			max-width: 100%;
			max-height: 350px;
			object-fit: contain;
			border-radius: 15px;
			box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
			transition: transform 0.3s ease;
			
			/* ESTAS LÍNEAS QUITAN EL FONDO BLANCO */
			
		}

        /* Carousel Controls */
        .carousel-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(126, 211, 33, 0.2);
            border: 2px solid var(--primary-green);
            color: var(--primary-green);
            width: 50px;
            height: 50px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            transition: all 0.3s;
            backdrop-filter: blur(10px);
        }

        .carousel-nav:hover {
            background: var(--primary-green);
            color: var(--dark-bg);
        }

        .carousel-prev {
            left: 20px;
        }

        .carousel-next {
            right: 20px;
        }

        /* Carousel Indicators */
        .carousel-indicators {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 2rem;
        }

        .indicator {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(126, 211, 33, 0.3);
            cursor: pointer;
            transition: all 0.3s;
        }

        .indicator.active {
            background: var(--primary-green);
            transform: scale(1.2);
        }

        .contact-info {
            display: flex;
            justify-content: center;
            gap: 3rem;
            margin-top: 2rem;
            z-index: 10;
            position: relative;
        }

        .contact-item {
            display: flex;
            align-items: center;
            gap: 10px;
            color: var(--primary-green);
        }

        /* Filters */
        .filters {
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem;
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
        }

        .filter-btn {
            background: var(--card-bg);
            color: var(--text-white);
            border: 2px solid var(--primary-green);
            padding: 10px 20px;
            border-radius: 25px;
            cursor: pointer;
            transition: all 0.3s;
        }

        .filter-btn.active,
        .filter-btn:hover {
            background: var(--primary-green);
            color: var(--dark-bg);
        }

        /* Products Grid */
        .products-section {
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem;
        }

        .section-title {
            font-size: 1.8rem;
            text-align: center;
            margin-bottom: 3rem;
            color: var(--primary-green);
        }

        .products-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
        }

        .product-card {
            background: var(--card-bg);
            border-radius: 15px;
            overflow: hidden;
            transition: transform 0.3s, box-shadow 0.3s;
            border: 2px solid transparent;
        }

        .product-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(126, 211, 33, 0.3);
            border-color: var(--primary-green);
        }

        .product-img {
			width: 100%;
			height: 250px; /* Altura fija obligatoria */
			/*background: linear-gradient(45deg, #2a2a2a, #3a3a3a);*/
			background: linear-gradient(45deg, #f5f5f5, #ffffff); 
			display: flex;
			align-items: center;
			justify-content: center;
			position: relative;
			overflow: hidden; /* Corta lo que se salga */
			flex-shrink: 0; /* No se comprime */
		}
		
		.product-img img {
			max-width: 85%; /* Reduce un poco más */
			max-height: 85%; /* Reduce un poco más */
			width: auto;
			height: auto;
			object-fit: contain; /* Mantiene proporción SIN deformar */
			object-position: center; /* Centra la imagen */
			transition: transform 0.3s ease;
			
			mix-blend-mode: multiply; /* O puedes usar 'darken' */
            background: transparent;
		}

		.product-img:hover img {
			transform: scale(1.05); /* Efecto hover más sutil */
		}

        .product-info {
            padding: 1.5rem;
        }

        .product-title {
            font-size: 1.3rem;
            margin-bottom: 0.5rem;
            color: var(--text-white);
        }

        .product-category {
            color: var(--primary-green);
            font-size: 0.9rem;
            margin-bottom: 0.5rem;
        }

        .product-specs {
            color: var(--text-gray);
            font-size: 0.9rem;
            margin-bottom: 1rem;
            line-height: 1.4;
        }

        .product-price {
            font-size: 1.5rem;
            font-weight: bold;
            color: var(--primary-green);
            margin-bottom: 1rem;
        }

        .add-to-cart {
            width: 100%;
            background: var(--primary-green);
            color: var(--dark-bg);
            border: none;
            padding: 12px;
            border-radius: 8px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s;
        }

        .add-to-cart:hover {
            background: #6bc91e;
            transform: translateY(-2px);
        }

        /* Cart Modal */
        .cart-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.8);
            z-index: 2000;
        }

        .cart-content {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: var(--card-bg);
            padding: 2rem;
            border-radius: 15px;
            width: 90%;
            max-width: 500px;
            max-height: 80%;
            overflow-y: auto;
        }

        .cart-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 2rem;
        }

        .close-cart {
            background: none;
            border: none;
            color: var(--primary-green);
            font-size: 1.5rem;
            cursor: pointer;
        }

        .cart-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 0;
            border-bottom: 1px solid #333;
        }

        .cart-total {
            font-size: 1.5rem;
            font-weight: bold;
            color: var(--primary-green);
            text-align: center;
            margin: 2rem 0;
        }

        .checkout-btn {
            width: 100%;
            background: var(--primary-green);
            color: var(--dark-bg);
            border: none;
            padding: 15px;
            border-radius: 8px;
            font-size: 1.2rem;
            font-weight: bold;
            cursor: pointer;
        }

        /* Footer */
        .footer {
            background: var(--card-bg);
            padding: 3rem 0;
            margin-top: 4rem;
        }

        .footer-content {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
        }

        .footer-section h3 {
            color: var(--primary-green);
            margin-bottom: 1rem;
        }

        .footer-section p,
        .footer-section li {
            color: var(--text-gray);
            margin-bottom: 0.5rem;
        }

        .footer-section ul {
            list-style: none;
        }

        .footer-section ul li:before {
            content: "→";
            color: var(--primary-green);
            margin-right: 10px;
        }

		.admin-panel {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.95);
            z-index: 3000;
            overflow-y: auto;
        }
        .admin-content {
            max-width: 1000px;
            margin: 2rem auto;
            background: var(--card-bg);
            border-radius: 15px;
            padding: 2rem;
            border: 2px solid var(--primary-green);
        }
		.admin-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 2rem;
            border-bottom: 2px solid var(--primary-green);
            padding-bottom: 1rem;
        }
		
        admin-title {
            color: var(--primary-green);
            font-size: 2rem;
            margin: 0;
        }

        .admin-close {
            background: #ff4444;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            cursor: pointer;
            font-weight: bold;
        }

        .admin-section {
            margin-bottom: 2rem;
            padding: 1.5rem;
            background: rgba(126, 211, 33, 0.1);
            border-radius: 10px;
            border: 1px solid var(--primary-green);
        }

        .admin-section h3 {
            color: var(--primary-green);
            margin-top: 0;
        }

        .admin-upload-area {
            border: 2px dashed var(--primary-green);
            border-radius: 10px;
            padding: 2rem;
            text-align: center;
            cursor: pointer;
            transition: all 0.3s;
            margin: 1rem 0;
        }

        .admin-upload-area:hover {
            background: rgba(126, 211, 33, 0.1);
        }

        .admin-upload-area.dragover {
            background: rgba(126, 211, 33, 0.2);
            border-color: #fff;
        }

        .admin-btn {
            background: var(--primary-green);
            color: var(--dark-bg);
            border: none;
            padding: 12px 24px;
            border-radius: 8px;
            font-weight: bold;
            cursor: pointer;
            margin: 0 0.5rem 0.5rem 0;
            transition: all 0.3s;
        }

        .admin-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(126, 211, 33, 0.3);
        }

        .admin-btn.secondary {
            background: var(--card-bg);
            color: var(--primary-green);
            border: 2px solid var(--primary-green);
        }

        .products-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 1rem;
        }

        .products-table th,
        .products-table td {
            padding: 12px;
            text-align: left;
            border-bottom: 1px solid #333;
        }

        .products-table th {
            background: var(--primary-green);
            color: var(--dark-bg);
            font-weight: bold;
        }

        .products-table tr:hover {
            background: rgba(126, 211, 33, 0.1);
        }

        .status-indicator {
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 0.8rem;
            font-weight: bold;
        }

        .status-active {
            background: #4CAF50;
            color: white;
        }

        .status-inactive {
            background: #f44336;
            color: white;
        }

        .login-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            z-index: 2500;
        }

        .login-content {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: var(--card-bg);
            padding: 3rem;
            border-radius: 15px;
            width: 90%;
            max-width: 400px;
            border: 2px solid var(--primary-green);
        }

        .login-title {
            text-align: center;
            color: var(--primary-green);
            margin-bottom: 2rem;
            font-size: 1.5rem;
        }

        .login-form {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .login-input {
            background: var(--dark-bg);
            border: 2px solid #333;
            color: var(--text-white);
            padding: 12px;
            border-radius: 8px;
            font-size: 1rem;
        }

        .login-input:focus {
            outline: none;
            border-color: var(--primary-green);
        }
        .loading-message {
			text-align: center;
			color: var(--primary-green);
			font-size: 1.2rem;
			margin: 2rem 0;
			width: 100%; /* Importante para que ocupe todo el ancho */
		}

        /* Discount Badge Animation */
        @keyframes pulse {
            0% {
                transform: scale(1);
                box-shadow: 0 4px 8px rgba(255, 68, 68, 0.3);
            }
            50% {
                transform: scale(1.05);
                box-shadow: 0 6px 12px rgba(255, 68, 68, 0.5);
            }
            100% {
                transform: scale(1);
                box-shadow: 0 4px 8px rgba(255, 68, 68, 0.3);
            }
        }

        .discount-badge {
            background: linear-gradient(45deg, #ff4444, #ff6666);
            color: white;
            padding: 4px 8px;
            border-radius: 6px;
            font-size: 0.8rem;
            font-weight: bold;
            box-shadow: 0 2px 4px rgba(255, 68, 68, 0.3);
            animation: pulse 2s infinite;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            /* Show hamburger menu and hide regular nav */
            .menu-toggle {
                display: flex;
                order: 1;
				margin-left: 0.5rem;
            }

            /* Reorganize header layout for mobile */
            .nav-container {
				padding: 0 0.5rem;
                position: relative; /* Importante para el posicionamiento absoluto del logo */
            }

            .logo {
                order: 2;
				position: absolute;
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%); /* Centrar perfectamente */
				margin: 0; /* Eliminar cualquier margen */
            }

            .logo-text {
                display: none;
            }

            .cart-btn {
                order: 3;
				margin-right: 0.5rem; /* Un poco separado del borde derecho */
				margin-left: auto;
				padding: 8px 16px;
				font-size: 0.9rem;
            }

            .nav-menu {
                position: fixed;
                top: 0;
                right: -100%;
                height: 100vh;
                width: 280px;
                background: linear-gradient(135deg, var(--card-bg) 0%, var(--dark-bg) 100%);
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                padding: 80px 2rem 2rem;
                gap: 2rem;
                transition: right 0.3s ease-in-out;
                box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3);
                backdrop-filter: blur(10px);
                z-index: 1001;
            }

            .nav-menu.active {
                right: 0;
            }

            .nav-menu li {
                width: 100%;
            }

            .nav-menu a {
                display: block;
                width: 100%;
                padding: 15px 0;
                border-bottom: 1px solid rgba(126, 211, 33, 0.2);
                font-size: 1.1rem;
                transition: all 0.3s ease;
            }

            .nav-menu a:hover {
                padding-left: 20px;
                background: rgba(126, 211, 33, 0.1);
                border-radius: 8px;
            }

            .nav-menu a::after {
                display: none;
            }

            /* Overlay when menu is open */
            .nav-overlay {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, 0.5);
                z-index: 999;
                opacity: 0;
                visibility: hidden;
                transition: all 0.3s ease;
            }

            .nav-overlay.active {
                opacity: 1;
                visibility: visible;
            }

            .logo img, .logo-img {
                width: 40px;
                height: 40px;
            }

            .cart-btn {
                padding: 8px 16px;
                font-size: 0.9rem;
            }

            .cart-text {
                display: none;
            }

            .hero h1 {
                font-size: 2rem;
            }

            .hero p {
                font-size: 1rem;
                padding: 0 1rem;
            }

            .contact-info {
                flex-direction: column;
                gap: 1rem;
            }

            .carousel-slide {
				flex-direction: column;
				padding: 1.5rem;
				text-align: center;
				min-height: auto;
			}

            .slide-content {
                text-align: center;
				 order: 2;
            }

            .slide-title {
                 font-size: 1.4rem;
				 line-height: 1.3;
				 margin-bottom: 0.5rem;
            }
			
			.slide-description {
				font-size: 0.85rem; /* Más pequeño */
				line-height: 1.4;
				margin-bottom: 1rem;
			}
			
			.slide-subtitle {
				font-size: 0.9rem; /* Más pequeño */
				margin-bottom: 0.5rem;
			}
			
			.slide-btn {
				padding: 10px 20px; /* Botón más compacto */
				font-size: 0.9rem;
			}

            .slide-image {
				order: 1; /* Imagen va arriba */
				font-size: 4rem;
				margin-bottom: 1rem;
				margin-top: 0;
				min-height: 200px;
				justify-content: center;
				align-items: center;
			}
			
			.slide-image img {
				max-height: 200px; /* Altura máxima para imágenes */
				max-width: 90%;
			}

            .carousel-nav {
                width: 40px;
                height: 40px;
                font-size: 1.2rem;
            }

            .carousel-prev {
                left: 10px;
            }

            .carousel-next {
                right: 10px;
            }

            .filters {
                padding: 1rem;
            }

            .products-section {
                padding: 1rem;
            }

            .products-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .section-title {
                font-size: 2rem;
            }

            .footer-content {
                grid-template-columns: 1fr;
                padding: 0 1rem;
            }

            .cart-content {
                width: 95%;
                padding: 1.5rem;
            }
        }

        @media (max-width: 480px) {
            .nav-container {
                padding: 0 0.3rem; /* Casi sin padding en móviles pequeños */
            }

            .hero {
                padding: 100px 0 40px;
            }

            .hero h1 {
                font-size: 1.8rem;
            }

            .carousel-container {
                margin: 0 1rem 2rem;
            }

            .carousel-slide {
                 padding: 1rem;
            }

            .slide-title {
                 font-size: 1.2rem;
            }
			
			.slide-description {
				font-size: 0.8rem;
			}

            .slide-image {
				font-size: 3rem; /* Iconos más pequeños */
				min-height: 150px;
			}

            .products-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .filter-btn {
                padding: 8px 16px;
                font-size: 0.9rem;
            }
			
			.menu-toggle {
				margin-left: 0.3rem;
			}
			
			.cart-btn {
				margin-right: 0.3rem;
				padding: 6px 12px; /* Botón más compacto en móviles pequeños */
			}
			
        }
						
		/* Product Info Modal */
		.product-modal {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.9);
			z-index: 2500;
			overflow-y: auto;
		}

		.product-modal-content {
			position: relative;
			max-width: 800px;
			margin: 2rem auto;
			background: var(--card-bg);
			border-radius: 20px;
			overflow: hidden;
			border: 2px solid var(--primary-green);
			box-shadow: 0 20px 40px rgba(126, 211, 33, 0.3);
		}

		.product-modal-header {
			background: linear-gradient(135deg, var(--primary-green), #6bc91e);
			color: var(--dark-bg);
			padding: 1.5rem 2rem;
			position: relative;
		}

		.product-modal-close {
			position: absolute;
			top: 1rem;
			right: 1.5rem;
			background: none;
			border: none;
			color: var(--dark-bg);
			font-size: 2rem;
			cursor: pointer;
			font-weight: bold;
			transition: transform 0.3s ease;
		}

		.product-modal-close:hover {
			transform: scale(1.2);
		}

		.product-modal-body {
			padding: 2rem;
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 2rem;
			align-items: start;
		}

		.product-modal-image {
			text-align: center;
			background: linear-gradient(45deg, #2a2a2a, #3a3a3a);
			border-radius: 15px;
			padding: 3rem;
			border: 2px solid var(--primary-green);
		}

		.product-modal-icon {
			font-size: 8rem;
			color: var(--primary-green);
			text-shadow: 0 0 30px rgba(126, 211, 33, 0.5);
			margin-bottom: 1rem;
		}


		.product-modal-details h3 {
			color: var(--text-white);
			font-size: 2rem;
			margin-bottom: 1rem;
			line-height: 1.2;
		}


		.product-modal-specs {
			background: rgba(126, 211, 33, 0.1);
			border: 1px solid var(--primary-green);
			border-radius: 10px;
			padding: 1.5rem;
			margin-bottom: 1.5rem;
			color: var(--text-gray);
			line-height: 1.6;
		}

		.stock-available {
			background: rgba(76, 175, 80, 0.2);
			border: 1px solid #4CAF50;
			color: #4CAF50;
		}

		.stock-unavailable {
			background: rgba(244, 67, 54, 0.2);
			border: 1px solid #f44336;
			color: #f44336;
		}

		.product-modal-price-section {
			background: var(--dark-bg);
			border-radius: 15px;
			padding: 1.5rem;
			border: 2px solid var(--primary-green);
			margin-bottom: 2rem;
		}


		.product-modal-actions {
			display: flex;
			gap: 1rem;
			margin-top: 2rem;
		}


		.product-modal-btn-primary {
			background: var(--primary-green);
			color: var(--dark-bg);
		}

		.product-modal-btn-primary:hover:not(:disabled) {
			background: #6bc91e;
			transform: translateY(-2px);
			box-shadow: 0 8px 20px rgba(126, 211, 33, 0.4);
		}

		.product-modal-btn-secondary {
			background: transparent;
			color: var(--primary-green);
			border: 2px solid var(--primary-green);
		}

		.product-modal-btn-secondary:hover {
			background: var(--primary-green);
			color: var(--dark-bg);
		}

		.product-modal-btn:disabled {
			opacity: 0.5;
			cursor: not-allowed;
		}

		/* Feature list */
		.product-features {
			list-style: none;
			padding: 0;
			margin: 0;
		}


		
		/* Responsive Design for Modal */
		@media (max-width: 768px) {
			.product-modal-content {
				margin: 1rem;
				max-width: none;
			}
			
			.product-modal-body {
				grid-template-columns: 1fr;
				gap: 1.5rem;
				padding: 1.5rem;
			}
			
			.product-modal-header {
				padding: 1rem 1.5rem;
			}
			
			.product-modal-close {
				top: 0.5rem;
				right: 1rem;
			}
			
			.product-modal-details h3 {
				font-size: 1.5rem;
			}
			
			.product-modal-icon {
				font-size: 5rem;
			}
			
			.product-modal-actions {
				flex-direction: column;
			}
		}

		@media (max-width: 480px) {
			.product-modal-content {
				margin: 0.5rem;
			}
			
			.product-modal-body {
				padding: 1rem;
			}
			
			.product-modal-header {
				padding: 1rem;
			}
			
			.product-modal-price {
				font-size: 2rem;
			}
		}
		
		
		/* Product Info Modal Styles */
.product-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 2500;
    overflow-y: auto;
    backdrop-filter: blur(5px);
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.product-modal-content {
    position: relative;
    max-width: 1000px;
    margin: 2rem auto;
    background: var(--card-bg);
    border-radius: 20px;
    overflow: hidden;
    border: 2px solid var(--primary-green);
    box-shadow: 0 20px 40px rgba(126, 211, 33, 0.3);
    animation: slideIn 0.4s ease;
}

@keyframes slideIn {
    from { 
        transform: translateY(-50px);
        opacity: 0;
    }
    to { 
        transform: translateY(0);
        opacity: 1;
    }
}

.product-modal-header {
    background: linear-gradient(135deg, var(--primary-green), #6bc91e);
    color: var(--dark-bg);
    padding: 1rem 1rem;
    position: relative;
}

.product-modal-header h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: bold;
}

.product-modal-close {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    background: none;
    border: none;
    color: var(--dark-bg);
    font-size: 2rem;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.3s ease;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-modal-close:hover {
    background: rgba(0, 0, 0, 0.2);
    transform: scale(1.1);
}

.product-modal-body {
    padding: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start;
}

/* Image Section */
.product-modal-image {
    background: linear-gradient(45deg, #2a2a2a, #3a3a3a);
    border-radius: 15px;
    border: 2px solid var(--primary-green);
    overflow: hidden;
    position: relative;
}

#modal-main-image {
    width: 100%;
    height: 300px;
    object-fit: contain;
    object-position: center;
    background: #1a1a1a;
    display: block;
}

#modal-image-placeholder {
    width: 100%;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--primary-green);
    font-size: 4rem;
}

#modal-thumbnail-gallery {
    display: flex;
    gap: 0.5rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.3);
    overflow-x: auto;
    max-width: 100%;
}

.thumbnail {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.thumbnail:hover {
    border-color: var(--primary-green);
    transform: scale(1.05);
}

.thumbnail.active {
    border-color: var(--primary-green);
    box-shadow: 0 0 10px rgba(126, 211, 33, 0.5);
}

/* Product Details Section */
.product-modal-details h3 {
    color: var(--text-white);
    font-size: 1.5rem;
    margin: 0 0 1rem 0;
    line-height: 1.2;
}

.product-modal-category {
    background: var(--primary-green);
    color: var(--dark-bg);
    padding: 6px 12px; /* Reducido padding */
    border-radius: 16px; /* Reducido border-radius */
    font-size: 0.8rem; /* Reducido de 0.9rem */
    font-weight: bold;
    display: inline-block;
    margin-bottom: 1rem;
}

.product-modal-brand {
    color: var(--primary-green);
    font-size: 1rem; /* Reducido de 1.1rem */
    font-weight: bold;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.product-modal-description {
    color: var(--text-gray);
    line-height: 1.5; /* Reducido de 1.6 */
    margin-bottom: 1.5rem;
    font-size: 0.9rem; /* Reducido de 1rem */
    padding: 0.8rem; /* Reducido padding */
    background: rgba(126, 211, 33, 0.05);
    border-radius: 8px; /* Reducido border-radius */
    border-left: 3px solid var(--primary-green); /* Reducido border */
}

/* Specifications */
.product-modal-specs {
    background: rgba(126, 211, 33, 0.1);
    border: 1px solid var(--primary-green);
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.product-modal-specs h4 {
    color: var(--primary-green);
    margin: 0 0 0.8rem 0; /* Reducido margin */
    font-size: 1rem; /* Reducido de 1.2rem */
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.product-features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-features li {
    padding: 0.4rem 0; /* Reducido padding */
    color: var(--text-gray);
    border-bottom: 1px solid rgba(126, 211, 33, 0.2);
    line-height: 1.3; /* Reducido line-height */
    font-size: 0.85rem;
}

.product-features li:last-child {
    border-bottom: none;
}

.product-features li strong {
    color: var(--text-white);
}

/* Stock Status */
.product-modal-stock {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding: 0.8rem; /* Reducido padding */
    border-radius: 8px; /* Reducido border-radius */
    font-weight: bold;
    font-size: 0.9rem; /* Reducido de 1rem */
}

.stock-available {
    background: rgba(76, 175, 80, 0.2);
    border: 1px solid #4CAF50;
    color: #4CAF50;
}

.stock-unavailable {
    background: rgba(244, 67, 54, 0.2);
    border: 1px solid #f44336;
    color: #f44336;
}

/* Price Section */
.product-modal-price-section {
    background: var(--dark-bg);
    border-radius: 15px;
    padding: 1.5rem;
    border: 2px solid var(--primary-green);
    margin-bottom: 2rem;
    text-align: center;
}

.product-modal-price {
    font-size: 2rem; /* Reducido de 2.5rem */
    font-weight: bold;
    color: var(--primary-green);
    margin: 0;
    text-shadow: 0 2px 4px rgba(126, 211, 33, 0.3);
}

.product-modal-price-original {
    text-decoration: line-through;
    color: #888;
    font-size: 1rem; /* Reducido de 1.2rem */
    margin-bottom: 0.5rem;
}

.product-modal-discount {
     background: linear-gradient(45deg, #ff4444, #ff6666);
    color: white;
    padding: 6px 12px; /* Reducido padding */
    border-radius: 20px; /* Reducido border-radius */
    font-size: 0.85rem; /* Reducido de 1rem */
    font-weight: bold;
    display: inline-block;
    margin: 1rem 0;
    animation: pulse 2s infinite;
}

.product-modal-savings {
	color: #ff4444;
    font-size: 0.95rem; /* Reducido de 1.1rem */
    font-weight: bold;
}

/* Action Buttons */
.product-modal-actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}

.product-modal-btn {
    flex: 1;
    padding: 12px 20px; /* Reducido padding */
    border: none;
    border-radius: 8px; /* Reducido border-radius */
    font-weight: bold;
    font-size: 0.95rem; /* Reducido de 1.1rem */
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.product-modal-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
    z-index: 0;
}

.product-modal-btn:hover::before {
    width: 300px;
    height: 300px;
}

.product-modal-btn span {
    position: relative;
    z-index: 1;
}

.product-modal-btn-primary {
    background: var(--primary-green);
    color: var(--dark-bg);
    box-shadow: 0 5px 15px rgba(126, 211, 33, 0.3);
}

.product-modal-btn-primary:hover:not(:disabled) {
    background: #6bc91e;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(126, 211, 33, 0.4);
}

.product-modal-btn-secondary {
    background: transparent;
    color: var(--primary-green);
    border: 2px solid var(--primary-green);
}

.product-modal-btn-secondary:hover {
    background: var(--primary-green);
    color: var(--dark-bg);
    transform: translateY(-2px);
}

.product-modal-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

/* Responsive Design for Modal */
@media (max-width: 768px) {
    .product-modal-content {
        margin: 1rem;
        max-width: none;
    }
    
    .product-modal-body {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 1.5rem;
    }
    
    .product-modal-header {
        padding: 1rem 1.5rem;
    }
    
    .product-modal-header h2 {
        font-size: 1.1rem; /* Reducido de 1.3rem */
        margin-right: 2.5rem; /* Reducido margin */
    }
    
    .product-modal-close {
        top: 0.5rem;
        right: 1rem;
        font-size: 1.5rem;
    }
    
    .product-modal-details h3 {
        font-size: 1.3rem;
    }
    
    .product-modal-price {
        font-size: 1.7rem; /* Reducido de 2rem */
    }
	
	.product-modal-description {
        font-size: 0.85rem; /* Reducido */
        padding: 0.7rem; /* Reducido padding */
    }
    
    .product-features li {
        font-size: 0.8rem; /* Reducido */
        padding: 0.3rem 0; /* Reducido padding */
    }
    
    .product-modal-stock {
        font-size: 0.85rem; /* Reducido */
        padding: 0.7rem; /* Reducido padding */
    }
    
    .product-modal-actions {
        flex-direction: column;
    }
    
    #modal-main-image,
    #modal-image-placeholder {
        height: 250px;
    }
}

@media (max-width: 480px) {
    .product-modal-content {
        margin: 0.5rem;
    }
    
    .product-modal-body {
        padding: 1rem;
    }
    
    .product-modal-header {
        padding: 1rem;
    }
    
    .product-modal-price {
        font-size: 1.8rem;
    }
    
    .product-modal-btn {
        padding: 12px 20px;
        font-size: 1rem;
    }
    
    #modal-main-image,
    #modal-image-placeholder {
        height: 200px;
    }
	.product-modal-header h2 {
        font-size: 1rem; /* Más pequeño para móviles */
    }
    
    .product-modal-details h3 {
        font-size: 1.2rem; /* Más pequeño */
    }
    
    .product-modal-price {
        font-size: 1.5rem; /* Reducido de 1.8rem */
    }
    
    .product-modal-btn {
        padding: 10px 16px; /* Reducido padding */
        font-size: 0.85rem; /* Reducido de 1rem */
    }
    
    .product-modal-category {
        font-size: 0.75rem; /* Más pequeño */
        padding: 4px 10px; /* Reducido padding */
    }
    
    .product-modal-brand {
        font-size: 0.9rem; /* Más pequeño */
    }
    
    .product-features li {
        font-size: 0.75rem; /* Más pequeño */
    }
}

	.carousel-image {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.carousel-image[style*="opacity: 1"] {
    opacity: 1;
}

.carousel-icon-fallback {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.slide-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.slide-btn-secondary {
    background: transparent !important;
    border: 2px solid var(--primary-green) !important;
    color: var(--primary-green) !important;
}

.slide-btn-secondary:hover {
    background: var(--primary-green) !important;
    color: var(--dark-bg) !important;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.carousel-image {
    opacity: 0;
    transition: opacity 0.3s ease;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Responsive para filtros */
@media (max-width: 768px) {
    .filters > div {
        flex-direction: column !important;
        gap: 1rem !important;
        align-items: stretch !important;
    }
    
    .filters > div > div {
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    
    .filters input[type="text"] {
        min-width: 200px !important;
        max-width: 100% !important;
    }
    
    .filters select {
        min-width: 180px !important;
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    .filters > div > div {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    .filters span {
        margin-bottom: 0.5rem !important;
    }
}

/* Responsive para filtros - Corrección para una sola fila en móvil */
@media (max-width: 768px) {
    .filter-label {
        display: none !important;
    }
    
    .filters > div {
        flex-direction: row !important;  /* Cambiar a row para mantener en fila */
        gap: 1rem !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    
    .filters > div > div {
        justify-content: center !important;
        gap: 0.5rem !important;
    }
    
    .filters input[type="text"] {
        min-width: 180px !important;
        max-width: 45vw !important;
        flex: 1 !important;
    }
    
    .filters select {
        min-width: 160px !important;
        max-width: 45vw !important;
        flex: 1 !important;
    }
}

@media (max-width: 480px) {
    .filters > div {
        gap: 0.5rem !important;
    }
    
    .filters input[type="text"] {
        min-width: 140px !important;
        max-width: 48vw !important;
    }
    
    .filters select {
        min-width: 130px !important;
        max-width: 48vw !important;
    }
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.location-info {
    margin-bottom: 0.5rem;
}

.location-link {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 0px;
    border-radius: 6px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.location-link:hover {
    background-color: rgba(126, 211, 33, 0.1);
    border-color: var(--primary-green);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(126, 211, 33, 0.2);
}

.address-main {
    font-weight: bold;
    font-size: 1rem;
    color: var(--primary-green);
    margin-bottom: 2px;
}

.address-reference {
    font-size: 0.85rem;
    color: var(--text-gray);
    font-style: italic;
    margin-left: 20px;
    position: relative;
}

.address-reference::before {
    content: "🏨";
    position: absolute;
    left: -18px;
    top: 0;
}

/* Responsivo para móviles */
@media (max-width: 768px) {
    .location-link {
        padding: 6px;
    }
    
    .address-main {
        font-size: 0.95rem;
    }
    
    .address-reference {
        font-size: 0.8rem;
        margin-left: 18px;
    }
    
    .address-reference::before {
        left: -16px;
    }
}