        * {
            scroll-behavior: smooth;
        }
        
        .scrollbar-hide::-webkit-scrollbar { display: none; }
        .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
        .snap-x { scroll-snap-type: x mandatory; }
        .snap-start { scroll-snap-align: start; }
        
        /* Carrossel de Catálogos */
        #catalogo-carousel-track {
            scrollbar-width: thin;
            scrollbar-color: #cbd5e1 transparent;
        }
        
        #catalogo-carousel-track::-webkit-scrollbar {
            height: 6px;
        }
        
        #catalogo-carousel-track::-webkit-scrollbar-track {
            background: transparent;
        }
        
        #catalogo-carousel-track::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 3px;
        }
        
        #catalogo-carousel-track::-webkit-scrollbar-thumb:hover {
            background: #94a3b8;
        }

        /* Carrossel de catálogos — variante compacta (menos altura, mais itens visíveis) */
        .catalogo-carousel-section--compact #catalogo-carousel-track {
            gap: 0.5rem;
        }
        @media (min-width: 640px) {
            .catalogo-carousel-section--compact #catalogo-carousel-track {
                gap: 0.75rem;
            }
        }
        
        /* Garantir que line-clamp funcione corretamente */
        .line-clamp-1 {
            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        /* Cards de Produtos — sem deslocar ao passar o rato */
        .product-card {
            transition: box-shadow 0.25s ease, border-color 0.2s ease;
            position: relative;
        }
        
        .product-card:hover {
            transform: none;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07);
        }
        
        .product-image-wrapper {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, #f8fafc 0%, #ffffff 50%, #f1f5f9 100%);
        }
        
        .product-image-wrapper img {
            transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .product-card:hover .product-image-wrapper img {
            transform: none;
        }
        
        .product-badge {
            animation: pulse-badge 2s infinite;
        }
        
        @keyframes pulse-catalogo {
            0%, 100% {
                box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
            }
            50% {
                box-shadow: 0 0 0 4px rgba(255, 255, 255, 0);
            }
        }
        .animate-pulse-catalogo {
            animation: pulse-catalogo 2s infinite;
        }
        @keyframes pulse-badge {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }
        
        .price-badge {
            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
        }
        
        .discount-badge {
            background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
            animation: shake 0.5s ease-in-out;
        }
        
        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-5px); }
            75% { transform: translateX(5px); }
        }
        
        .btn-add-cart {
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }
        
        .btn-add-cart::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.3);
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }
        
        .btn-add-cart:active::before {
            width: 300px;
            height: 300px;
        }
        
        .btn-add-cart:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4);
        }
        
        .quick-view-btn {
            opacity: 0;
            transform: translateY(10px);
            transition: all 0.3s ease;
        }
        
        .product-card:hover .quick-view-btn {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* Loading Skeleton */
        .skeleton { position: relative; overflow: hidden; }
        .skeleton::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.05) 50%, rgba(0,0,0,0) 100%); transform: translateX(-100%); animation: shimmer 1.4s infinite; }
        @keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
        
        /* Floating Cart Button */
        .floating-cart {
            animation: bounce-in 0.6s ease-out;
        }
        
        @keyframes bounce-in {
            0% { transform: scale(0); }
            50% { transform: scale(1.1); }
            100% { transform: scale(1); }
        }
        
        /* Responsive adjustments */
        @media (max-width: 640px) {
            .catalogo-carousel-prev,
            .catalogo-carousel-next {
                opacity: 1 !important;
                background: rgba(255, 255, 255, 0.95) !important;
                box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
            }
            
        }

        @media (prefers-reduced-motion: reduce) {
            * { scroll-behavior: auto !important; }
            .product-badge,
            .animate-pulse-catalogo,
            .floating-cart,
            .discount-badge,
            .skeleton::after {
                animation: none !important;
            }
            .btn-add-cart:hover,
            .product-card:hover {
                transform: none;
            }
        }
