 :root {
            --primary-red: #FF2B2B;
            --primary-yellow: #FFD700;
            --secondary-yellow: #FFF8DC;
            --dark-red: #D32F2F;
            --light-red: #FFEBEE;
            --white: #FFFFFF;
            --light-gray: #F5F5F5;
            --medium-gray: #E0E0E0;
            --dark-gray: #424242;
            --text-dark: #212121;
            --text-light: #757575;
            --success: #4CAF50;
            --shadow: rgba(0, 0, 0, 0.1);
            --shadow-hover: rgba(0, 0, 0, 0.2);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Poppins', sans-serif;
            background: linear-gradient(135deg, var(--secondary-yellow) 0%, var(--white) 100%);
            color: var(--text-dark);
            line-height: 1.6;
            min-height: 100vh;
        }

        /* Header */
        .header {
            background: var(--white);
            box-shadow: 0 2px 20px var(--shadow);
            position: sticky;
            top: 0;
            z-index: 1000;
            border-bottom: 3px solid var(--primary-red);
        }

        .header-top {
            background: var(--primary-red);
            color: var(--white);
            padding: 8px 0;
            font-size: 0.9em;
        }

        .header-top .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .header-info {
            display: flex;
            gap: 30px;
            align-items: center;
        }

        .header-info span {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .header-social {
            display: flex;
            gap: 15px;
        }

        .header-social a {
            color: var(--white);
            font-size: 1.1em;
            transition: transform 0.3s ease;
        }

        .header-social a:hover {
            transform: scale(1.2);
        }

        .header-main {
            padding: 20px 0;
        }

        .header-main .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo img{
            width: 200px;
            height: auto;
        }

        
        .logoFooter{
            width: 200px;
            height: auto;
        }

        .header-actions {
            display: flex;
            gap: 20px;
            align-items: center;
        }

        .header-btn {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px 20px;
            background: var(--primary-red);
            color: var(--white);
            text-decoration: none;
            border-radius: 25px;
            font-weight: 500;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .header-btn:hover {
            background: var(--dark-red);
            transform: translateY(-2px);
            box-shadow: 0 5px 15px var(--shadow-hover);
        }

        .header-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.5s ease;
        }

        .header-btn:hover::before {
            left: 100%;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Search Section */
                /* Search Section */
        .search-section {
            background: linear-gradient(135deg, var(--white) 0%, rgba(255, 255, 255, 0.95) 100%);
            padding: 40px 0;
            border-radius: 25px;
            box-shadow: 0 20px 40px var(--shadow), 0 0 20px rgba(255, 43, 43, 0.05);
            margin-bottom: 30px;
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.3);
            position: relative;
            overflow: hidden;
        }

        .search-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, var(--primary-red), var(--primary-yellow), var(--primary-red));
            border-radius: 25px 25px 0 0;
        }

        .search-section::after {
            content: '';
            position: absolute;
            top: -50%;
            right: -50%;
            width: 100%;
            height: 200%;
            background: radial-gradient(circle, rgba(255, 43, 43, 0.03) 0%, transparent 70%);
            pointer-events: none;
        }

        .search-header {
            text-align: center;
            margin-bottom: 40px;
            position: relative;
            z-index: 1;
        }

        .search-header h1 {
            font-size: 2.8em;
            font-weight: 800;
            background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 15px;
            text-shadow: 0 2px 4px var(--shadow);
            position: relative;
        }

        .search-header h1::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 4px;
            background: linear-gradient(90deg, var(--primary-red), var(--primary-yellow));
            border-radius: 2px;
        }

        .search-header p {
            font-size: 1.2em;
            color: var(--text-light);
            max-width: 700px;
            margin: 0 auto;
            line-height: 1.6;
            font-weight: 500;
        }

        .search-bar {
            display: flex;
            gap: 20px;
            margin-bottom: 30px;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            position: relative;
            z-index: 1;
        }

        .search-bar input, .search-bar select {
            padding: 18px 25px;
            border: 2px solid var(--medium-gray);
            border-radius: 50px;
            font-size: 16px;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            min-width: 220px;
            background: var(--white);
            color: var(--text-dark);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
            position: relative;
            font-weight: 500;
        }

        .search-bar input::placeholder {
            color: var(--text-light);
            font-weight: 400;
        }

        .search-bar input:focus, .search-bar select:focus {
            outline: none;
            border-color: var(--primary-red);
            box-shadow: 0 0 0 4px rgba(255, 43, 43, 0.15), 0 12px 30px rgba(255, 43, 43, 0.1);
            transform: translateY(-3px);
            background: rgba(255, 255, 255, 0.98);
        }

        .search-bar select {
            cursor: pointer;
            appearance: none;
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23757575' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
            background-position: right 20px center;
            background-repeat: no-repeat;
            background-size: 16px;
            padding-right: 50px;
        }

        .search-bar button {
            padding: 18px 35px;
            background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
            color: var(--white);
            border: none;
            border-radius: 50px;
            cursor: pointer;
            font-size: 16px;
            font-weight: 700;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            min-width: 180px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 8px 20px rgba(255, 43, 43, 0.3);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .search-bar button:hover {
            transform: translateY(-4px);
            box-shadow: 0 15px 35px rgba(255, 43, 43, 0.4);
            background: linear-gradient(135deg, var(--dark-red), var(--primary-red));
        }

        .search-bar button::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
            transition: left 0.6s ease;
        }

        .search-bar button:hover::before {
            left: 100%;
        }

        .search-bar button i {
            margin-right: 8px;
            font-size: 14px;
        }

        .filters-info {
            background: linear-gradient(135deg, var(--light-red), rgba(255, 235, 238, 0.8));
            padding: 25px;
            border-radius: 20px;
            margin-bottom: 20px;
            border-left: 6px solid var(--primary-red);
            box-shadow: 0 10px 25px rgba(255, 43, 43, 0.1);
            position: relative;
            overflow: hidden;
        }

        .filters-info::before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 100px;
            height: 100px;
            background: radial-gradient(circle, rgba(255, 43, 43, 0.1) 0%, transparent 70%);
            pointer-events: none;
        }

        .filters-info h3 {
            color: var(--primary-red);
            margin-bottom: 20px;
            font-size: 1.3em;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .filters-info h3 i {
            font-size: 1.1em;
        }

        .filter-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
            align-items: center;
        }

        .filter-tag {
            background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
            color: var(--white);
            padding: 12px 20px;
            border-radius: 25px;
            font-size: 0.9em;
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 600;
            box-shadow: 0 6px 15px rgba(255, 43, 43, 0.3);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .filter-tag:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(255, 43, 43, 0.4);
        }

        .filter-tag i {
            font-size: 0.9em;
        }

        .clear-filters {
            background: linear-gradient(135deg, var(--primary-yellow), #FFF700);
            color: var(--text-dark);
            padding: 12px 25px;
            border: none;
            border-radius: 25px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 700;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 6px 15px rgba(255, 215, 0, 0.3);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .clear-filters:hover {
            background: linear-gradient(135deg, #FFF700, var(--primary-yellow));
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(255, 215, 0, 0.4);
        }

        .clear-filters i {
            font-size: 12px;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .search-section {
                padding: 30px 0;
                margin: 10px;
                border-radius: 20px;
            }

            .search-header h1 {
                font-size: 2.2em;
            }

            .search-header p {
                font-size: 1.1em;
            }

            .search-bar {
                flex-direction: column;
                gap: 15px;
            }

            .search-bar input, .search-bar select, .search-bar button {
                width: 100%;
                min-width: auto;
            }

            .filter-tags {
                justify-content: center;
            }
        }

        /* Animações */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .search-section > * {
            animation: fadeInUp 0.6s ease-out;
        }

        .search-section > *:nth-child(2) {
            animation-delay: 0.1s;
        }

        .search-section > *:nth-child(3) {
            animation-delay: 0.2s;
        }

        /* Stats Section */
        .stats-section {
            background: var(--white);
            padding: 20px;
            border-radius: 15px;
            margin-bottom: 30px;
            box-shadow: 0 5px 20px var(--shadow);
            text-align: center;
        }

        .stats-section h3 {
            color: var(--primary-red);
            font-size: 1.3em;
            margin-bottom: 10px;
        }

        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-top: 20px;
        }

        .stat-card {
            background: var(--light-gray);
            padding: 20px;
            border-radius: 10px;
            text-align: center;
            transition: transform 0.3s ease;
        }

        .stat-card:hover {
            transform: translateY(-5px);
        }

        .stat-card i {
            font-size: 2em;
            color: var(--primary-red);
            margin-bottom: 10px;
        }

        .stat-card h4 {
            color: var(--text-dark);
            margin-bottom: 5px;
        }

        .stat-card p {
            color: var(--text-light);
            font-size: 0.9em;
        }

        /* Products Section */
        .products-section {
            margin-top: 30px;
        }

        .products-header {
            text-align: center;
            margin-bottom: 30px;
        }

        .products-header h2 {
            font-size: 2.2em;
            color: var(--primary-red);
            margin-bottom: 10px;
        }

        .products-count {
            background: var(--primary-yellow);
            color: var(--text-dark);
            padding: 15px 30px;
            border-radius: 25px;
            font-size: 1.1em;
            font-weight: 600;
            display: inline-block;
            margin-bottom: 30px;
            box-shadow: 0 5px 15px var(--shadow);
        }

        .products-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
            gap: 30px;
            margin-top: 30px;
        }

        .product-card {
            background: var(--white);
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 10px 30px var(--shadow);
            transition: all 0.3s ease;
            cursor: pointer;
            position: relative;
            border: 2px solid transparent;
        }

        .product-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 50px var(--shadow-hover);
            border-color: var(--primary-red);
        }

        .product-card.featured {
            border: 2px solid var(--primary-yellow);
            background: linear-gradient(135deg, var(--white), var(--secondary-yellow));
        }

        .product-card.featured::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, var(--primary-red), var(--primary-yellow));
        }

        .product-image-container {
            position: relative;
            height: 250px;
            overflow: hidden;
        }

        .product-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .product-card:hover .product-image {
            transform: scale(1.1);
        }

        .product-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(45deg, rgba(255, 43, 43, 0.8), rgba(255, 215, 0, 0.8));
            opacity: 0;
            transition: opacity 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
            font-size: 1.2em;
            font-weight: 600;
        }

        .product-card:hover .product-overlay {
            opacity: 1;
        }

        .featured-badge {
            position: absolute;
            top: 15px;
            right: 15px;
            background: linear-gradient(45deg, var(--primary-red), var(--primary-yellow));
            color: var(--white);
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 0.8em;
            font-weight: 700;
            z-index: 10;
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

        .product-content {
            padding: 25px;
        }

        .product-title {
            font-size: 1.4em;
            font-weight: 600;
            margin-bottom: 12px;
            color: var(--text-dark);
            line-height: 1.3;
        }

        .product-price {
            font-size: 1.8em;
            color: var(--primary-red);
            font-weight: 700;
            margin-bottom: 15px;
        }

        .product-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 15px;
        }

        .product-category, .product-store {
            padding: 6px 14px;
            border-radius: 15px;
            font-size: 0.85em;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .product-category {
            background: var(--primary-red);
            color: var(--white);
        }

        .product-store {
            background: var(--success);
            color: var(--white);
        }

        .product-description {
            color: var(--text-light);
            line-height: 1.5;
            margin-bottom: 20px;
        }

        .product-actions {
            display: flex;
            gap: 10px;
            margin-top: 20px;
        }

        .btn-primary {
            flex: 1;
            padding: 12px 20px;
            background: linear-gradient(45deg, var(--primary-red), var(--dark-red));
            color: var(--white);
            border: none;
            border-radius: 8px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            text-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px var(--shadow-hover);
        }

        .btn-secondary {
            padding: 12px 16px;
            background: var(--primary-yellow);
            color: var(--text-dark);
            border: none;
            border-radius: 8px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn-secondary:hover {
            background: #FFE55C;
            transform: translateY(-2px);
        }

        /* No Products */
        .no-products {
            text-align: center;
            background: var(--white);
            padding: 60px 40px;
            border-radius: 20px;
            box-shadow: 0 10px 30px var(--shadow);
            margin-top: 50px;
        }

        .no-products i {
            font-size: 4em;
            color: var(--primary-red);
            margin-bottom: 20px;
        }

        .no-products h3 {
            font-size: 1.8em;
            color: var(--text-dark);
            margin-bottom: 15px;
        }

        .no-products p {
            color: var(--text-light);
            font-size: 1.1em;
            margin-bottom: 10px;
        }

        /* Footer */
        .footer {
            background: var(--text-dark);
            color: var(--white);
            padding: 50px 0 20px;
            margin-top: 80px;
        }

        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 40px;
            margin-bottom: 40px;
        }

        .footer-section h3 {
            color: var(--primary-yellow);
            margin-bottom: 20px;
            font-size: 1.3em;
        }

        .footer-section p, .footer-section a {
            color: #ccc;
            text-decoration: none;
            line-height: 1.8;
            transition: color 0.3s ease;
        }

        .footer-section a:hover {
            color: var(--primary-yellow);
        }

        .footer-bottom {
            text-align: center;
            padding-top: 30px;
            border-top: 1px solid #555;
            color: #999;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .header-main .container {
                flex-direction: column;
                gap: 20px;
            }

            .header-actions {
                flex-direction: column;
                width: 100%;
            }

            .search-bar {
                flex-direction: column;
                align-items: stretch;
            }
            
            .search-bar input, .search-bar select, .search-bar button {
                width: 100%;
                min-width: auto;
            }
            
            .products-grid {
                grid-template-columns: 1fr;
            }

            .filter-tags {
                flex-direction: column;
                align-items: flex-start;
            }

            .product-meta {
                flex-direction: column;
            }

            .stats-grid {
                grid-template-columns: 1fr;
            }

            .header-info {
                flex-direction: column;
                gap: 10px;
            }
        }

        /* Loading Animation */
        .loading {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 3px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top-color: var(--white);
            animation: spin 1s ease-in-out infinite;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }


        /* Carrossel de Banners */
.banner-carousel {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 10px 30px var(--shadow);
    margin-bottom: 0;
}

.carousel-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel-slides {
    display: flex;
    width: 500%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

.carousel-slide {
    width: 20%;
    height: 100%;
    position: relative;
    flex-shrink: 0;
}

.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 43, 43, 0.3), rgba(255, 215, 0, 0.3));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.carousel-slide:hover .carousel-overlay {
    opacity: 1;
}

/* Navegação do Carrossel */
.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2em;
    color: var(--primary-red);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.carousel-nav:hover {
    background: var(--primary-red);
    color: var(--white);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 5px 15px var(--shadow-hover);
}

.carousel-nav.prev {
    left: 20px;
}

.carousel-nav.next {
    right: 20px;
}

/* Indicadores */
.carousel-indicators {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.carousel-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-indicator.active {
    background: var(--primary-red);
    transform: scale(1.2);
}

.carousel-indicator:hover {
    background: var(--primary-yellow);
}

/* Auto-play pause button */
.carousel-pause {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1em;
    color: var(--primary-red);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.carousel-pause:hover {
    background: var(--primary-red);
    color: var(--white);
    transform: scale(1.1);
}

/* Responsive Design */
@media (max-width: 768px) {
    .banner-carousel {
        height: 250px;
    }
    
    .carousel-nav {
        width: 40px;
        height: 40px;
        font-size: 1em;
    }
    
    .carousel-nav.prev {
        left: 10px;
    }
    
    .carousel-nav.next {
        right: 10px;
    }
    
    .carousel-pause {
        top: 10px;
        right: 10px;
        width: 35px;
        height: 35px;
    }
}

.footer-social {
            display: flex;
            gap: 15px;
            margin-top: 20px;
        }

        .footer-social a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            background: var(--primary-red);
            color: var(--white);
            border-radius: 50%;
            transition: all 0.3s ease;
        }

        .footer-social a:hover {
            background: var(--primary-yellow);
            color: var(--text-dark);
            transform: translateY(-3px);
        }




        /* ==================================
   RESPONSIVIDADE COMPLETA - MOBILE FIRST
   ================================== */

/* Breakpoints */
/* Mobile: 320px - 767px */
/* Tablet: 768px - 1023px */
/* Desktop: 1024px+ */

/* BASE MOBILE (320px+) */
@media (max-width: 767px) {
    /* Header Responsive */
    .header-top {
        padding: 6px 0;
        font-size: 0.8em;
    }

    .header-top .container {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .header-info {
        flex-direction: column;
        gap: 8px;
        font-size: 0.85em;
    }

    .header-social {
        gap: 20px;
        justify-content: center;
    }

    .header-social a {
        font-size: 1.2em;
    }

    .header-main {
        padding: 15px 0;
    }

    .header-main .container {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .logo img {
        width: 150px;
        height: auto;
    }

    .header-actions {
        flex-direction: column;
        width: 100%;
        gap: 15px;
    }

    .header-btn {
        width: 100%;
        padding: 12px 25px;
        font-size: 15px;
        justify-content: center;
    }

    /* Search Section Mobile */
    .search-section {
        margin: 10px;
        padding: 25px 15px;
        border-radius: 15px;
    }

    .search-header h1 {
        font-size: 2em;
        margin-bottom: 12px;
    }

    .search-header p {
        font-size: 1em;
        padding: 0 10px;
    }

    .search-bar {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }

    .search-bar input,
    .search-bar select,
    .search-bar button {
        width: 100%;
        min-width: auto;
        padding: 15px 20px;
        font-size: 15px;
    }

    .search-bar button {
        margin-top: 5px;
        padding: 16px 30px;
        font-size: 14px;
    }

    /* Filters Mobile */
    .filters-info {
        padding: 20px 15px;
        border-radius: 15px;
        margin: 10px;
    }

    .filters-info h3 {
        font-size: 1.1em;
        margin-bottom: 15px;
    }

    .filter-tags {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .filter-tag {
        padding: 10px 16px;
        font-size: 0.85em;
        justify-content: center;
    }

    .clear-filters {
        padding: 10px 20px;
        font-size: 13px;
        align-self: center;
        margin-top: 10px;
    }

    /* Banner Carousel Mobile */
    .banner-carousel {
        height: 200px;
        margin: 10px;
        border-radius: 15px;
    }

    .carousel-nav {
        width: 35px;
        height: 35px;
        font-size: 0.9em;
    }

    .carousel-nav.prev {
        left: 8px;
    }

    .carousel-nav.next {
        right: 8px;
    }

    .carousel-pause {
        top: 8px;
        right: 8px;
        width: 30px;
        height: 30px;
        font-size: 0.8em;
    }

    .carousel-indicators {
        bottom: 10px;
        gap: 6px;
    }

    .carousel-indicator {
        width: 8px;
        height: 8px;
    }

    /* Stats Section Mobile */
    .stats-section {
        margin: 10px;
        padding: 20px 15px;
        border-radius: 15px;
    }

    .stats-section h3 {
        font-size: 1.2em;
        margin-bottom: 15px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .stat-card {
        padding: 15px;
        border-radius: 10px;
    }

    .stat-card i {
        font-size: 1.5em;
    }

    .stat-card h4 {
        font-size: 1em;
    }

    .stat-card p {
        font-size: 0.85em;
    }

    /* Products Section Mobile */
    .products-section {
        margin: 10px;
    }

    .products-header h2 {
        font-size: 1.8em;
        margin-bottom: 15px;
    }

    .products-count {
        padding: 12px 25px;
        font-size: 1em;
        margin-bottom: 20px;
    }

    .products-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 20px;
    }

    .product-card {
        border-radius: 15px;
    }

    .product-image-container {
        height: 200px;
    }

    .product-content {
        padding: 20px 15px;
    }

    .product-title {
        font-size: 1.2em;
        margin-bottom: 10px;
    }

    .product-price {
        font-size: 1.5em;
        margin-bottom: 12px;
    }

    .product-meta {
        flex-direction: column;
        gap: 8px;
        margin-bottom: 12px;
    }

    .product-category,
    .product-store {
        align-self: flex-start;
        padding: 5px 12px;
        font-size: 0.8em;
    }

    .product-description {
        font-size: 0.9em;
        margin-bottom: 15px;
    }

    .product-actions {
        flex-direction: column;
        gap: 8px;
    }

    .btn-primary,
    .btn-secondary {
        padding: 10px 16px;
        font-size: 14px;
    }

    /* No Products Mobile */
    .no-products {
        margin: 10px;
        padding: 40px 20px;
        border-radius: 15px;
    }

    .no-products i {
        font-size: 3em;
        margin-bottom: 15px;
    }

    .no-products h3 {
        font-size: 1.5em;
        margin-bottom: 12px;
    }

    .no-products p {
        font-size: 1em;
        margin-bottom: 8px;
    }

    /* Footer Mobile */
    .footer {
        padding: 40px 0 15px;
        margin-top: 60px;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }

    .footer-section h3 {
        font-size: 1.2em;
        margin-bottom: 15px;
    }

    .footer-section p,
    .footer-section a {
        font-size: 0.9em;
        line-height: 1.6;
    }

    .footer-social {
        justify-content: center;
        gap: 20px;
        margin-top: 15px;
    }

    .footer-social a {
        width: 45px;
        height: 45px;
        font-size: 1.1em;
    }

    .footer-bottom {
        padding-top: 20px;
        font-size: 0.85em;
    }

    /* Container Mobile */
    .container {
        padding: 0 15px;
    }
}

/* TABLET (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    /* Header Tablet */
    .header-top .container {
        flex-direction: row;
        justify-content: space-between;
    }

    .header-info {
        flex-direction: row;
        gap: 20px;
    }

    .header-main .container {
        flex-direction: row;
        justify-content: space-between;
    }

    .logo img {
        width: 180px;
    }

    .header-actions {
        flex-direction: row;
        gap: 15px;
    }

    .header-btn {
        padding: 10px 18px;
        font-size: 14px;
    }

    /* Search Section Tablet */
    .search-section {
        margin: 15px;
        padding: 35px 20px;
    }

    .search-header h1 {
        font-size: 2.4em;
    }

    .search-header p {
        font-size: 1.1em;
    }

    .search-bar {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px;
        justify-content: center;
    }

    .search-bar input,
    .search-bar select {
        min-width: 200px;
        flex: 1;
        max-width: 250px;
    }

    .search-bar button {
        min-width: 160px;
    }

    /* Filters Tablet */
    .filters-info {
        padding: 22px 20px;
        margin: 15px;
    }

    .filter-tags {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    /* Banner Carousel Tablet */
    .banner-carousel {
        height: 300px;
        margin: 15px;
    }

    .carousel-nav {
        width: 45px;
        height: 45px;
        font-size: 1.1em;
    }

    .carousel-nav.prev {
        left: 15px;
    }

    .carousel-nav.next {
        right: 15px;
    }

    .carousel-pause {
        top: 15px;
        right: 15px;
        width: 35px;
        height: 35px;
    }

    /* Stats Section Tablet */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* Products Section Tablet */
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .product-image-container {
        height: 220px;
    }

    .product-content {
        padding: 22px 20px;
    }

    .product-actions {
        flex-direction: row;
        gap: 10px;
    }

    /* Footer Tablet */
    .footer-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }

    .footer-social {
        justify-content: flex-start;
    }

    /* Container Tablet */
    .container {
        padding: 0 25px;
    }
}

/* DESKTOP PEQUENO (1024px - 1199px) */
@media (min-width: 1024px) and (max-width: 1199px) {
    .container {
        max-width: 1000px;
        padding: 0 30px;
    }

    .logo img {
        width: 190px;
    }

    .search-header h1 {
        font-size: 2.6em;
    }

    .search-bar {
        gap: 18px;
    }

    .search-bar input,
    .search-bar select {
        min-width: 200px;
    }

    .banner-carousel {
        height: 350px;
    }

    .stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-content {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* DESKTOP GRANDE (1200px+) */
@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
        padding: 0 20px;
    }

    .stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    }

    .footer-content {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ULTRA WIDE (1400px+) */
@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }

    .search-header h1 {
        font-size: 3em;
    }

    .search-header p {
        font-size: 1.3em;
    }

    .banner-carousel {
        height: 450px;
    }

    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    }
}

/* RESPONSIVIDADE PARA ORIENTAÇÃO */
@media (orientation: landscape) and (max-height: 500px) {
    .banner-carousel {
        height: 180px;
    }
    
    .search-header h1 {
        font-size: 1.8em;
    }
    
    .search-section {
        padding: 20px;
    }
}

/* RESPONSIVIDADE PARA TELAS MUITO PEQUENAS */
@media (max-width: 320px) {
    .container {
        padding: 0 10px;
    }

    .search-section {
        margin: 5px;
        padding: 20px 10px;
    }

    .search-header h1 {
        font-size: 1.6em;
    }

    .search-header p {
        font-size: 0.9em;
    }

    .logo img {
        width: 120px;
    }

    .header-btn {
        padding: 10px 20px;
        font-size: 14px;
    }

    .product-content {
        padding: 15px 10px;
    }

    .banner-carousel {
        height: 150px;
    }

    .footer {
        padding: 30px 0 10px;
    }
}

/* RESPONSIVIDADE PARA PRINT */
@media print {
    .header-top,
    .header-actions,
    .search-bar,
    .filters-info,
    .banner-carousel,
    .product-actions,
    .footer {
        display: none;
    }

    .search-section {
        box-shadow: none;
        border: 1px solid #ccc;
    }

    .product-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
    }

    body {
        background: white;
        color: black;
    }
}



/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* HIGH CONTRAST */
@media (prefers-contrast: high) {
    .search-bar input,
    .search-bar select {
        border-width: 3px;
    }

    .product-card {
        border-width: 3px;
    }

    .btn-primary,
    .btn-secondary {
        border: 2px solid;
    }
}


.iconLojas{
    width: 40px;
    height: auto;
    background-color: white;
    border-radius: 10px;
}


/* ========================================
   SEÇÃO DE CUPONS - ESTILIZAÇÃO COMPLETA
   ======================================== */

/* Seção Principal de Cupons */
.coupons-section {
    background: linear-gradient(135deg, var(--white) 0%, rgba(255, 255, 255, 0.95) 100%);
    padding: 60px 0;
    margin: 40px 0;
    position: relative;
    overflow: hidden;
}

.coupons-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(255, 43, 43, 0.03) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(255, 215, 0, 0.03) 0%, transparent 50%);
    pointer-events: none;
}

/* Header da Seção */
.coupons-section .section-header {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    z-index: 1;
}

.coupons-section .section-header h2 {
    font-size: 2.5em;
    font-weight: 800;
    background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    position: relative;
}

.coupons-section .section-header h2::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red), var(--primary-yellow));
    border-radius: 2px;
}

.coupons-section .section-header h2 i {
    font-size: 0.8em;
    color: var(--primary-red);
    animation: ticketPulse 2s ease-in-out infinite;
}

@keyframes ticketPulse {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.1) rotate(5deg); }
}

.coupons-section .section-header p {
    font-size: 1.2em;
    color: var(--text-light);
    font-weight: 500;
    max-width: 600px;
    margin: 0 auto;
}

/* Container do Carrossel */
.coupons-carousel {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 20px;
    padding: 0 60px;
}

.coupons-container {
    display: flex;
    gap: 25px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 10px 0 20px 0;
}

/* Card Individual de Cupom */
.coupon-card {
    background: var(--white);
    border-radius: 20px;
    min-width: 320px;
    max-width: 320px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
}

.coupon-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
    border-color: var(--primary-red);
}

/* Cupom em Destaque */
.coupon-card.featured {
    background: linear-gradient(135deg, var(--white) 0%, var(--secondary-yellow) 100%);
    border: 2px solid var(--primary-yellow);
    transform: scale(1.05);
    box-shadow: 0 15px 40px rgba(255, 215, 0, 0.3);
}

.coupon-card.featured:hover {
    transform: translateY(-10px) scale(1.07);
    box-shadow: 0 30px 60px rgba(255, 215, 0, 0.4);
}

.coupon-card.featured::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red), var(--primary-yellow), var(--primary-red));
    animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Badge de Destaque */
.coupon-featured-badge {
    position: absolute;
    top: -5px;
    right: 15px;
    background: linear-gradient(135deg, var(--primary-red), var(--primary-yellow));
    color: var(--white);
    padding: 8px 16px;
    border-radius: 0 0 15px 15px;
    font-size: 0.8em;
    font-weight: 700;
    z-index: 10;
    box-shadow: 0 5px 15px rgba(255, 43, 43, 0.3);
    display: flex;
    align-items: center;
    gap: 5px;
    animation: featuredBounce 2s ease-in-out infinite;
}

@keyframes featuredBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

.coupon-featured-badge i {
    animation: starRotate 2s linear infinite;
}

@keyframes starRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Header do Cupom */
.coupon-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 25px 25px 20px 25px;
    border-bottom: 2px dashed var(--medium-gray);
    position: relative;
}

.coupon-header::before,
.coupon-header::after {
    content: '';
    position: absolute;
    bottom: -8px;
    width: 16px;
    height: 16px;
    background: var(--light-gray);
    border-radius: 50%;
}

.coupon-header::before {
    left: -8px;
}

.coupon-header::after {
    right: -8px;
}

.store-logo {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}

.store-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.store-name {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--text-dark);
    flex: 1;
}

/* Desconto */
.coupon-discount {
    text-align: center;
    padding: 25px;
    background: linear-gradient(135deg, var(--light-red) 0%, rgba(255, 235, 238, 0.5) 100%);
    position: relative;
    overflow: hidden;
}

.coupon-discount::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background: radial-gradient(circle, rgba(255, 43, 43, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.discount-value {
    font-size: 3em;
    font-weight: 900;
    color: var(--primary-red);
    line-height: 1;
    margin-bottom: 5px;
    text-shadow: 0 2px 4px rgba(255, 43, 43, 0.2);
    position: relative;
    z-index: 1;
}

.discount-text {
    font-size: 0.9em;
    font-weight: 700;
    color: var(--dark-red);
    letter-spacing: 1px;
    position: relative;
    z-index: 1;
}

/* Container do Código */
.coupon-code-container {
    padding: 20px 25px;
    background: var(--light-gray);
    position: relative;
}

.coupon-code-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    height: 2px;
    background: repeating-linear-gradient(
        90deg,
        var(--primary-red) 0px,
        var(--primary-red) 10px,
        transparent 10px,
        transparent 20px
    );
}

.coupon-code {
    background: var(--white);
    padding: 15px 20px;
    border: 2px dashed var(--primary-red);
    border-radius: 10px;
    font-family: 'Poppins';
    font-size: 1.1em;
    font-weight: 700;
    color: var(--primary-red);
    text-align: center;
    letter-spacing: 2px;
    margin-bottom: 15px;
    position: relative;
    transition: all 0.3s ease;
}

.coupon-code:hover {
    background: var(--light-red);
    transform: scale(1.02);
}

.copy-code-btn {
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
    color: var(--white);
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
    overflow: hidden;
}

.copy-code-btn:hover {
    background: linear-gradient(135deg, var(--dark-red), var(--primary-red));
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 43, 43, 0.3);
}

.copy-code-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.copy-code-btn:hover::before {
    left: 100%;
}

.copy-code-btn.copied {
    background: var(--success);
    transform: scale(0.98);
}

.copy-code-btn.copied::after {
    content: '✓ Copiado!';
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--success);
    color: var(--white);
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 0.8em;
    white-space: nowrap;
    animation: copySuccess 2s ease-in-out;
}

@keyframes copySuccess {
    0% { opacity: 0; transform: translateX(-50%) translateY(10px); }
    20%, 80% { opacity: 1; transform: translateX(-50%) translateY(0); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-10px); }
}

/* Descrição do Cupom */
.coupon-description {
    padding: 0 25px 20px 25px;
    color: var(--text-light);
    font-size: 0.9em;
    line-height: 1.5;
    text-align: center;
    font-style: italic;
}

/* Footer do Cupom */
.coupon-footer {
    padding: 0 25px 20px 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    align-items: center;
}

.coupon-validity,
.coupon-uses {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85em;
    color: var(--text-light);
    background: var(--light-gray);
    padding: 6px 12px;
    border-radius: 15px;
    font-weight: 500;
}

.coupon-validity i,
.coupon-uses i {
    color: var(--primary-red);
    font-size: 0.9em;
}

/* Ações do Cupom */
.coupon-actions {
    padding: 0 25px 25px 25px;
}

.coupon-use-btn {
    width: 100%;
    padding: 15px 20px;
    background: linear-gradient(135deg, var(--primary-yellow), #FFF700);
    color: var(--text-dark);
    border: none;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 1em;
    position: relative;
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 6px 20px rgba(255, 215, 0, 0.3);
}

.coupon-use-btn:hover {
    background: linear-gradient(135deg, #FFF700, var(--primary-yellow));
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(255, 215, 0, 0.4);
    color: var(--text-dark);
}

.coupon-use-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1), transparent);
    transition: left 0.6s ease;
}

.coupon-use-btn:hover::before {
    left: 100%;
}

/* Navegação do Carrossel */
.coupons-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid var(--primary-red);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2em;
    color: var(--primary-red);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    backdrop-filter: blur(10px);
}

.coupons-nav:hover {
    background: var(--primary-red);
    color: var(--white);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 8px 25px rgba(255, 43, 43, 0.3);
}

.coupons-nav.prev {
    left: 10px;
}

.coupons-nav.next {
    right: 10px;
}

/* Informações dos Cupons */
.coupons-info {
    margin-top: 40px;
    text-align: center;
}

.coupons-tip {
    background: linear-gradient(135deg, var(--primary-yellow), #FFF700);
    color: var(--text-dark);
    padding: 20px 30px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3);
    position: relative;
    overflow: hidden;
}

.coupons-tip::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    animation: tipShimmer 3s ease-in-out infinite;
}

@keyframes tipShimmer {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

.coupons-tip i {
    font-size: 1.2em;
    color: #FF8C00;
    animation: bulbGlow 2s ease-in-out infinite;
}

@keyframes bulbGlow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Responsividade Mobile */
@media (max-width: 767px) {
    .coupons-section {
        padding: 40px 0;
        margin: 20px 0;
    }

    .coupons-section .section-header h2 {
        font-size: 2em;
        flex-direction: column;
        gap: 10px;
    }

    .coupons-section .section-header p {
        font-size: 1em;
        padding: 0 15px;
    }

    .coupons-carousel {
        padding: 0 15px;
    }

    .coupons-container {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .coupon-card {
        min-width: 100%;
        max-width: 100%;
    }

    .coupon-card.featured {
        transform: none;
    }

    .coupon-card.featured:hover {
        transform: translateY(-5px) scale(1.02);
    }

    .coupons-nav {
        display: none;
    }

    .coupon-header {
        padding: 20px 20px 15px 20px;
    }

    .store-logo {
        width: 45px;
        height: 45px;
    }

    .store-name {
        font-size: 1em;
    }

    .coupon-discount {
        padding: 20px;
    }

    .discount-value {
        font-size: 2.5em;
    }

    .coupon-code-container {
        padding: 15px 20px;
    }

    .coupon-code {
        padding: 12px 15px;
        font-size: 1em;
        letter-spacing: 1px;
    }

    .copy-code-btn {
        padding: 10px 15px;
        font-size: 0.9em;
    }

    .coupon-footer {
        padding: 0 20px 15px 20px;
        flex-direction: column;
        gap: 10px;
    }

    .coupon-actions {
        padding: 0 20px 20px 20px;
    }

    .coupon-use-btn {
        padding: 12px 15px;
        font-size: 0.9em;
    }

    .coupons-tip {
        padding: 15px 25px;
        font-size: 0.9em;
        gap: 10px;
        margin: 0 15px;
    }

    .coupons-tip span {
        text-align: center;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
    .coupons-section {
        padding: 50px 0;
    }

    .coupons-section .section-header h2 {
        font-size: 2.2em;
    }

    .coupons-carousel {
        padding: 0 40px;
    }

    .coupon-card {
        min-width: 280px;
        max-width: 280px;
    }

    .coupons-nav {
        width: 45px;
        height: 45px;
        font-size: 1.1em;
    }

    .coupons-nav.prev {
        left: 5px;
    }

    .coupons-nav.next {
        right: 5px;
    }
}

/* Desktop Grande */
@media (min-width: 1400px) {
    .coupons-section .section-header h2 {
        font-size: 2.8em;
    }

    .coupons-carousel {
        max-width: 1400px;
        padding: 0 80px;
    }

    .coupon-card {
        min-width: 350px;
        max-width: 350px;
    }
}

/* Animações de entrada */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.coupon-card {
    animation: fadeInUp 0.6s ease-out;
}

.coupon-card:nth-child(2) { animation-delay: 0.1s; }
.coupon-card:nth-child(3) { animation-delay: 0.2s; }
.coupon-card:nth-child(4) { animation-delay: 0.3s; }
.coupon-card:nth-child(5) { animation-delay: 0.4s; }

/* Estados de hover aprimorados */
.coupon-card:hover .store-logo {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.coupon-card:hover .discount-value {
    animation: discountPulse 0.6s ease-in-out;
}

@keyframes discountPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}



/* Reduzir movimento para usuários sensíveis */
@media (prefers-reduced-motion: reduce) {
    .coupon-card,
    .copy-code-btn,
    .coupon-use-btn,
    .coupons-nav {
        animation: none;
        transition: none;
    }
    
    .coupon-card:hover {
        transform: none;
    }
}


a{
    text-decoration: none;
}

/* Badge de produto recente */
.recent-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: linear-gradient(135deg, #28a745, #20c997);
    color: white;
    padding: 8px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
    z-index: 2;
    box-shadow: 0 3px 10px rgba(40, 167, 69, 0.3);
    animation: pulse 2s infinite;
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.recent-badge i {
    font-size: 0.8rem;
    flex-shrink: 0;
}

/* Quando tem tanto featured quanto recent badge */
.product-card .featured-badge + .recent-badge {
    top: 55px; /* Posiciona abaixo do badge de destaque */
}

/* Variações de cor baseadas no tempo */
.recent-badge.just-added {
    background: linear-gradient(135deg, #ff6b6b, #ee5a52);
    animation: pulse 1.5s infinite;
}

.recent-badge.hours-ago {
    background: linear-gradient(135deg, #28a745, #20c997);
}

.recent-badge.days-ago {
    background: linear-gradient(135deg, #ffc107, #ffb300);
    color: #333;
}

/* Animação de pulse para chamar atenção */
@keyframes pulse {
    0% {
        box-shadow: 0 3px 10px rgba(40, 167, 69, 0.3);
    }
    50% {
        box-shadow: 0 3px 15px rgba(40, 167, 69, 0.5);
        transform: scale(1.02);
    }
    100% {
        box-shadow: 0 3px 10px rgba(40, 167, 69, 0.3);
    }
}

/* Responsivo */
@media (max-width: 768px) {
    .recent-badge {
        font-size: 0.7rem;
        padding: 6px 8px;
        max-width: 120px;
    }
}

/* Seção de Categorias */
.categories-section {
    background: linear-gradient(135deg, var(--light-gray) 0%, var(--white) 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.categories-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, var(--secondary-yellow) 0%, transparent 70%);
    opacity: 0.3;
    z-index: 0;
}

.categories-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

/* Header da Seção */
.categories-header {
    text-align: center;
    margin-bottom: 60px;
}

.categories-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 15px;
    position: relative;
}

.categories-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red), var(--primary-yellow));
    border-radius: 2px;
}

.categories-subtitle {
    font-size: 1.1rem;
    color: var(--text-light);
    font-weight: 400;
    max-width: 500px;
    margin: 0 auto;
}

/* Grid de Categorias */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

/* Card da Categoria */
.category-card {
    background: var(--white);
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    position: relative;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 8px 25px var(--shadow);
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
}

.category-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.4), transparent);
    transition: left 0.6s ease;
}

.category-card:hover::before {
    left: 100%;
}

.category-card:hover {
    transform: translateY(-10px) scale(1.03);
    box-shadow: 0 20px 40px var(--shadow-hover);
    border-color: var(--primary-yellow);
}

/* Ícone da Categoria */
.category-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
    border-radius: 50%;
    margin-bottom: 25px;
    position: relative;
    transition: all 0.4s ease;
    box-shadow: 0 4px 15px rgba(255, 43, 43, 0.3);
}

.category-card:hover .category-icon {
    background: linear-gradient(135deg, var(--primary-yellow), #FFB000);
    transform: rotate(360deg) scale(1.1);
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
}

.category-icon i {
    font-size: 2rem;
    color: var(--white);
    transition: all 0.3s ease;
}

/* Nome da Categoria */
.category-name {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.category-card:hover .category-name {
    color: var(--primary-red);
}

/* Descrição da Categoria */
.category-description {
    font-size: 0.95rem;
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Link da Categoria */
.category-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary-red);
    font-weight: 500;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    position: relative;
}

.category-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary-yellow);
    transition: width 0.3s ease;
}

.category-card:hover .category-link {
    color: var(--dark-red);
}

.category-card:hover .category-link::after {
    width: 100%;
}

.category-link i {
    transition: transform 0.3s ease;
}

.category-card:hover .category-link i {
    transform: translateX(5px);
}

/* Responsividade */
@media (max-width: 768px) {
    .categories-section {
        padding: 60px 0;
    }
    
    .categories-container {
        padding: 0 15px;
    }
    
    .categories-title {
        font-size: 2rem;
    }
    
    .categories-subtitle {
        font-size: 1rem;
    }
    
    .categories-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }
    
    .category-card {
        padding: 30px 20px;
    }
    
    .category-icon {
        width: 70px;
        height: 70px;
    }
    
    .category-icon i {
        font-size: 1.8rem;
    }
    
    .category-name {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    .categories-section {
        padding: 40px 0;
    }
    
    .categories-title {
        font-size: 1.8rem;
    }
    
    .categories-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .category-card {
        padding: 25px 15px;
    }
}

/* CSS Mobile */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    z-index: 1001;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.mobile-menu-toggle:hover {
    background-color: rgba(0,0,0,0.1);
}

.mobile-menu-toggle span {
    width: 24px;
    height: 2px;
    background: #333;
    margin: 2px 0;
    transition: 0.3s ease;
    border-radius: 2px;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(-45deg) translate(-5px, 5px);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(45deg) translate(-5px, -5px);
}

.mobile-info {
    display: none;
}

/* Menu close button */
.menu-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.menu-close:hover {
    background-color: #f5f5f5;
    color: #333;
}

@media (max-width: 768px) {
    .header-top {
        display: none;
    }
    
    .mobile-menu-toggle {
        display: flex;
    }
    
    .header-main .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
    }
    
    .logo img {
        max-height: 40px;
    }
    
    .header-actions {
        position: fixed;
        top: 0;
        right: -100%;
        width: 320px;
        max-width: 85vw;
        height: 100vh;
        background: #fff;
        flex-direction: column;
        padding: 70px 25px 25px;
        box-shadow: -3px 0 15px rgba(0,0,0,0.1);
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 1000;
        overflow-y: auto;
        border-left: 1px solid #eee;
    }
    
    .header-actions.active {
        right: 0;
    }
    
    .header-actions .header-btn {
        width: 100%;
        margin: 8px 0;
        justify-content: flex-start;
        padding: 18px 20px;
        border-radius: 12px;
        border: none;
        background: #f8f9fa;
        transition: all 0.3s ease;
        text-decoration: none;
        color: #333;
        font-weight: 500;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
    
    .header-actions .header-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }
    
    .header-actions .header-btn:nth-child(1) {
        background: linear-gradient(135deg, #ff9500, #ff6b00);
        color: white;
    }
    
    .header-actions .header-btn:nth-child(2) {
        background: linear-gradient(135deg, #3483fa, #1e6bff);
        color: white;
    }
    
    .header-actions .header-btn:nth-child(3) {
        background: linear-gradient(135deg, #ee4d2d, #ff6347);
        color: white;
    }
    
    .header-actions .header-btn .iconLojas {
        margin-right: 12px;
        width: 24px;
        height: 24px;
        object-fit: contain;
        border-radius: 4px;
    }
    
    .mobile-info {
        display: block;
        margin-top: 40px;
        padding-top: 25px;
        border-top: 1px solid #eee;
    }
    
    .mobile-contact {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 25px;
    }
    
    .mobile-contact span {
        font-size: 14px;
        color: #666;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 8px 0;
    }
    
    .mobile-contact span i {
        width: 16px;
        color: #f44336;
    }
    
    .mobile-social {
        display: flex;
        gap: 15px;
        justify-content: center;
        margin-top: 10px;
    }
    
    .mobile-social a {
        width: 45px;
        height: 45px;
        background: #f44336;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        text-decoration: none;
        transition: all 0.3s ease;
        font-size: 18px;
    }
    
    .mobile-social a:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(244, 67, 54, 0.3);
    }
    
    .mobile-social a:nth-child(1) {
        background: #3b5998;
    }
    
    .mobile-social a:nth-child(2) {
        background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
    }
    
    .mobile-social a:nth-child(3) {
        background: #25d366;
    }
}

/* Overlay para fechar o menu */
.mobile-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 999;
}

.mobile-overlay.active {
    display: block;
}

/* Carrossel de Banners */
.banner-carousel {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 10px 30px var(--shadow);
    margin-bottom: 0;
}

.carousel-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel-slides {
    display: flex;
    width: 500%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

.carousel-slide {
    width: 20%;
    height: 100%;
    position: relative;
    flex-shrink: 0;
}

.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 43, 43, 0.3), rgba(255, 215, 0, 0.3));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.carousel-slide:hover .carousel-overlay {
    opacity: 1;
}

/* Navegação do Carrossel */
.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2em;
    color: var(--primary-red);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.carousel-nav:hover {
    background: var(--primary-red);
    color: var(--white);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 5px 15px var(--shadow-hover);
}

.carousel-nav.prev {
    left: 20px;
}

.carousel-nav.next {
    right: 20px;
}

/* Indicadores */
.carousel-indicators {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.carousel-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-indicator.active {
    background: var(--primary-red);
    transform: scale(1.2);
}

.carousel-indicator:hover {
    background: var(--primary-yellow);
}

/* Auto-play pause button */
.carousel-pause {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1em;
    color: var(--primary-red);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.carousel-pause:hover {
    background: var(--primary-red);
    color: var(--white);
    transform: scale(1.1);
}

/* =================== RESPONSIVIDADE =================== */

/* Tablets grandes e desktops pequenos */
@media screen and (max-width: 1024px) {
    .banner-carousel {
        height: 350px;
    }
    
    .carousel-nav {
        width: 45px;
        height: 45px;
        font-size: 1.1em;
    }
    
    .carousel-nav.prev {
        left: 15px;
    }
    
    .carousel-nav.next {
        right: 15px;
    }
    
    .carousel-pause {
        width: 35px;
        height: 35px;
        top: 15px;
        right: 15px;
        font-size: 0.9em;
    }
}

/* Tablets */
@media screen and (max-width: 768px) {
    .banner-carousel {
        height: 280px;
        border-radius: 0 0 15px 15px;
    }
    
    .carousel-nav {
        width: 40px;
        height: 40px;
        font-size: 1em;
    }
    
    .carousel-nav.prev {
        left: 10px;
    }
    
    .carousel-nav.next {
        right: 10px;
    }
    
    .carousel-indicators {
        bottom: 15px;
        gap: 8px;
    }
    
    .carousel-indicator {
        width: 10px;
        height: 10px;
    }
    
    .carousel-pause {
        width: 32px;
        height: 32px;
        top: 12px;
        right: 12px;
        font-size: 0.85em;
    }
}

/* Smartphones grandes */
@media screen and (max-width: 600px) {
    .banner-carousel {
        height: 220px;
        border-radius: 0 0 12px 12px;
    }
    
    .carousel-nav {
        width: 35px;
        height: 35px;
        font-size: 0.9em;
    }
    
    .carousel-nav.prev {
        left: 8px;
    }
    
    .carousel-nav.next {
        right: 8px;
    }
    
    .carousel-indicators {
        bottom: 12px;
        gap: 6px;
    }
    
    .carousel-indicator {
        width: 8px;
        height: 8px;
    }
    
    .carousel-pause {
        width: 28px;
        height: 28px;
        top: 10px;
        right: 10px;
        font-size: 0.8em;
    }
}

/* Smartphones pequenos */
@media screen and (max-width: 480px) {
    .banner-carousel {
        height: 180px;
        border-radius: 0 0 10px 10px;
        box-shadow: 0 5px 15px var(--shadow);
    }
    
    .carousel-nav {
        width: 30px;
        height: 30px;
        font-size: 0.8em;
    }
    
    .carousel-nav.prev {
        left: 5px;
    }
    
    .carousel-nav.next {
        right: 5px;
    }
    
    .carousel-nav:hover {
        transform: translateY(-50%) scale(1.05);
    }
    
    .carousel-indicators {
        bottom: 10px;
        gap: 5px;
    }
    
    .carousel-indicator {
        width: 7px;
        height: 7px;
    }
    
    .carousel-indicator.active {
        transform: scale(1.1);
    }
    
    .carousel-pause {
        width: 25px;
        height: 25px;
        top: 8px;
        right: 8px;
        font-size: 0.75em;
    }
    
    .carousel-pause:hover {
        transform: scale(1.05);
    }
}

/* Smartphones muito pequenos */
@media screen and (max-width: 360px) {
    .banner-carousel {
        height: 160px;
        border-radius: 0 0 8px 8px;
    }
    
    .carousel-nav {
        width: 28px;
        height: 28px;
        font-size: 0.75em;
    }
    
    .carousel-indicators {
        bottom: 8px;
        gap: 4px;
    }
    
    .carousel-indicator {
        width: 6px;
        height: 6px;
    }
    
    .carousel-pause {
        width: 22px;
        height: 22px;
        top: 6px;
        right: 6px;
        font-size: 0.7em;
    }
}

/* Ajustes para dispositivos touch */
@media (hover: none) and (pointer: coarse) {
    .carousel-overlay {
        opacity: 0.3;
    }
    
    .carousel-nav:hover {
        transform: translateY(-50%);
    }
    
    .carousel-indicator:hover {
        background: rgba(255, 255, 255, 0.5);
    }
    
    .carousel-pause:hover {
        transform: none;
    }
}

/* Orientação paisagem em smartphones */
@media screen and (max-height: 500px) and (orientation: landscape) {
    .banner-carousel {
        height: 140px;
    }
    
    .carousel-nav {
        width: 25px;
        height: 25px;
        font-size: 0.7em;
    }
    
    .carousel-indicators {
        bottom: 5px;
    }
    
    .carousel-pause {
        width: 20px;
        height: 20px;
        top: 5px;
        right: 5px;
        font-size: 0.65em;
    }
}





        .dev-credit a {
            color: var(--primary-red);
            text-decoration: none;
            font-weight: var(--font-weight-semibold);
            transition: color var(--transition-fast);
        }

        .jeffcode {
    color: #ff0000;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

/* Mobile styles for categories section */
@media (max-width: 768px) {
    .categories-section {
        padding: 20px 0;
    }
    
    .categories-section .container {
        padding: 0;
    }
    
    .categories-section .section-header {
        padding: 0 20px;
        margin-bottom: 15px;
    }
    
    .categories-section .section-header h2 {
        font-size: 18px;
        font-weight: bold;
        color: #333;
        margin-bottom: 5px;
    }
    
    .categories-section .section-header p {
        font-size: 14px;
        color: #666;
        margin: 0;
    }
    
    .categories-grid {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        padding: 0 20px;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 10px;
    }
    
    /* Hide scrollbar but keep functionality */
    .categories-grid::-webkit-scrollbar {
        display: none;
    }
    
    .categories-grid {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    
    .category-card {
        flex: 0 0 auto;
        width: 90px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-decoration: none;
        color: inherit;
        transition: transform 0.2s ease;
    }
    
    .category-card:hover {
        transform: translateY(-2px);
    }
    
    .category-icon {
        width: 55px;
        height: 55px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 6px;
        background: linear-gradient(135deg, #ff6b6b, #feca57);
        box-shadow: 0 3px 10px rgba(0,0,0,0.15);
        position: relative;
        overflow: hidden;
    }
    
    /* Diferentes gradientes para variedade visual */
    .category-card:nth-child(1) .category-icon {
        background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
    }
    
    .category-card:nth-child(2) .category-icon {
        background: linear-gradient(135deg, #4ecdc4, #44a08d);
    }
    
    .category-card:nth-child(3) .category-icon {
        background: linear-gradient(135deg, #feca57, #ff9ff3);
    }
    
    .category-card:nth-child(4) .category-icon {
        background: linear-gradient(135deg, #48cae4, #0096c7);
    }
    
    .category-card:nth-child(5) .category-icon {
        background: linear-gradient(135deg, #f72585, #b5179e);
    }
    
    .category-card:nth-child(6) .category-icon {
        background: linear-gradient(135deg, #f77f00, #fcbf49);
    }
    
    .category-icon img {
        width: 32px !important;
        height: 32px !important;
        object-fit: cover;
        border-radius: 6px;
    }
    
    .category-icon i {
        font-size: 22px;
        color: white;
    }
    
    .category-name {
        font-size: 11px;
        font-weight: 500;
        color: #333;
        text-align: center;
        line-height: 1.3;
        max-width: 90px;
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
        margin-top: 2px;
        min-height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .category-description {
        display: none; /* Hide description on mobile for cleaner look */
    }
}

/* Tablet adjustments */
@media (min-width: 769px) and (max-width: 1024px) {
    .categories-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 20px;
    }
}


/* Banner Section Styles */
.banner-section {
    padding: 20px 0;
    background-color: #f8f9fa;
}

.banner-section .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.banner-link {
    display: block;
    width: 100%;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.banner-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.banner-link:hover .banner-image {
    transform: scale(1.02);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .banner-section {
        padding: 15px 0;
    }
    
    .banner-section .container {
        padding: 0 15px;
    }
    
    .banner-link {
        border-radius: 8px;
        box-shadow: 0 3px 12px rgba(0,0,0,0.08);
    }
    
    .banner-link:hover {
        transform: none; /* Remove hover effects on mobile */
        box-shadow: 0 3px 12px rgba(0,0,0,0.08);
    }
    
    .banner-link:hover .banner-image {
        transform: none;
    }
    
    .banner-image {
        border-radius: 8px;
    }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .banner-section .container {
        padding: 0 30px;
    }
}

/* Desktop Large */
@media (min-width: 1025px) {
    .banner-section {
        padding: 30px 0;
    }
    
    .banner-link {
        border-radius: 15px;
    }
}

/* Loading state */
.banner-image {
    background-color: #f0f0f0;
    min-height: 150px;
}

/* Error handling - caso a imagem não carregue */
.banner-image[alt]:after {
    content: attr(alt);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.7);
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    display: none;
}

.banner-image:not([src]), 
.banner-image[src=""] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 200px;
}

@media (max-width: 768px) {
    .banner-image:not([src]), 
    .banner-image[src=""] {
        min-height: 120px;
    }
}