 :root {
        --primary-red: #E41E26;
        --primary-black: #0C0C0C;
        --secondary-gold: #D8A21F;
        --complementary-blue: #1E2D5C;
        --light-white: #F4F4F4;
        --text-color: #0C0C0C;
        --text-light: #6c757d;
        --gradient-blue: linear-gradient(135deg, #1E2D5C 0%, #2A3D6E 100%);
        --gradient-gold: linear-gradient(135deg, #D8A21F 0%, #E8B229 100%);
        --gradient-hero: linear-gradient(135deg, #1E2D5C 0%, #2A3D6E 50%, #3A4D80 100%);
    }
    
    .catalog-header {
        background: var(--gradient-hero);
        padding-top: 100px !important;
        color: var(--light-white);
    }
    
    .filter-section {
        background: var(--light-white);
        border-bottom: 3px solid var(--secondary-gold);
    }
    
    .filter-card {
        background: var(--light-white);
        border-radius: 15px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        border: 2px solid rgba(216, 162, 31, 0.1);
        transition: all 0.3s ease;
    }
    
    .filter-card:hover {
        box-shadow: 0 10px 25px rgba(0,0,0,0.15);
        transform: translateY(-2px);
        border-color: rgba(216, 162, 31, 0.3);
    }
    
    .product-card {
        border: none;
        border-radius: 15px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        overflow: hidden;
        height: 100%;
        background: var(--light-white);
    }
    
    .product-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.2);
    }
    
    .product-image {
        height: 250px;
        object-fit: cover;
        transition: transform 0.3s ease;
    }
    
    .product-card:hover .product-image {
        transform: scale(1.05);
    }
    
    .product-badge {
        position: absolute;
        top: 15px;
        right: 15px;
        z-index: 2;
    }
    
    .category-badge {
        background: var(--complementary-blue);
        border: none;
        font-size: 0.8rem;
        color: var(--light-white);
    }
    
    .availability-badge {
        font-size: 0.75rem;
        padding: 0.4rem 0.8rem;
        border-radius: 20px;
    }
    
    .price-tag {
        font-weight: 700;
        font-size: 1.3rem;
        color: var(--primary-red);
        text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
    }
    
    .btn-primary {
        background: var(--primary-red);
        border: none;
        color: var(--light-white);
        font-weight: 600;
        border-radius: 10px;
        transition: all 0.3s ease;
    }
    
    .btn-primary:hover {
        background: #C21820;
        transform: scale(1.02);
        box-shadow: 0 5px 15px rgba(228, 30, 38, 0.3);
        color: var(--light-white);
    }
    
    .btn-warning {
        background: var(--gradient-gold);
        border: none;
        color: var(--primary-black);
        font-weight: 600;
        border-radius: 10px;
        transition: all 0.3s ease;
    }
    
    .btn-warning:hover {
        background: linear-gradient(135deg, #C8921B 0%, #D8A21F 100%);
        transform: scale(1.02);
        box-shadow: 0 5px 15px rgba(216, 162, 31, 0.3);
        color: var(--primary-black);
    }
    
    .btn-whatsapp-catalog {
        background: linear-gradient(135deg, #25D366, #128C7E);
        border: none;
        border-radius: 10px;
        font-weight: 600;
        transition: all 0.3s ease;
    }
    
    .btn-whatsapp-catalog:hover {
        transform: scale(1.02);
        box-shadow: 0 5px 15px rgba(37, 211, 102, 0.3);
    }
    
    .btn-details {
        border-radius: 10px;
        font-weight: 600;
        transition: all 0.3s ease;
        border: 2px solid var(--complementary-blue);
        color: var(--complementary-blue);
    }
    
    .btn-details:hover {
        transform: scale(1.02);
        background: var(--complementary-blue);
        color: var(--light-white);
    }
    
    .results-count {
        background: var(--gradient-blue);
        color: var(--light-white);
        padding: 0.5rem 1rem;
        border-radius: 25px;
        font-weight: 600;
        display: inline-block;
    }
    
    .no-products {
        background: var(--light-white);
        border-radius: 20px;
        padding: 3rem 2rem;
        border: 2px solid rgba(216, 162, 31, 0.2);
    }
    
    .search-icon {
        color: var(--secondary-gold);
    }
    
    .form-control, .form-select {
        border-radius: 10px;
        border: 2px solid rgba(30, 45, 92, 0.1);
        transition: all 0.3s ease;
    }
    
    .form-control:focus, .form-select:focus {
        border-color: var(--secondary-gold);
        box-shadow: 0 0 0 0.2rem rgba(216, 162, 31, 0.25);
        transform: translateY(-2px);
    }
    
    .form-label {
        color: var(--complementary-blue);
        font-weight: 600;
    }
    
    .badge.bg-warning {
        background: var(--secondary-gold) !important;
        color: var(--primary-black);
    }
    
    .badge.bg-success {
        background: var(--primary-red) !important;
        color: var(--light-white);
    }
    
    .badge.bg-info {
        background: var(--complementary-blue) !important;
        color: var(--light-white);
    }
    
    .badge.bg-primary {
        background: var(--complementary-blue) !important;
        color: var(--light-white);
    }
    
    /* Animaciones personalizadas */
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    .product-card {
        animation: fadeInUp 0.6s ease forwards;
    }
    
    .product-card:nth-child(1) { animation-delay: 0.1s; }
    .product-card:nth-child(2) { animation-delay: 0.2s; }
    .product-card:nth-child(3) { animation-delay: 0.3s; }
    .product-card:nth-child(4) { animation-delay: 0.4s; }
    .product-card:nth-child(5) { animation-delay: 0.5s; }
    .product-card:nth-child(6) { animation-delay: 0.6s; }
    
    /* Efectos de carga */
    .loading-skeleton {
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
        background-size: 200% 100%;
        animation: loading 1.5s infinite;
    }
    
    @keyframes loading {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }
    
    .hero-icon {
        color: var(--secondary-gold);
    }
    
    .btn-outline-secondary {
        border-color: var(--complementary-blue);
        color: var(--complementary-blue);
    }
    
    .btn-outline-secondary:hover {
        background: var(--complementary-blue);
        color: var(--light-white);
    }
    
    .btn-outline-primary {
        border-color: var(--complementary-blue);
        color: var(--complementary-blue);
    }
    
    .btn-outline-primary:hover {
        background: var(--complementary-blue);
        color: var(--light-white);
    }
    