        :root {
            --primary: #023E74;
            --primary-dark: #06345e;
            --primary-light: #065ba7;
            --secondary: #ff9800;
            --dark: #263238;
            --light: #f5f5f5;
            --white: #ffffff;
            --gray: #757575;
            --success: #065ba7;
            --shadow-sm: 0 2px 8px rgba(0,0,0,0.1);
            --shadow-md: 0 4px 12px rgba(0,0,0,0.15);
            --transition: all 0.3s ease;
        }


.favorite-btn {
    min-width: 60px; /* garante largura fixa mínima */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px; /* espaço entre ícone e número */
    padding: 0.25rem 0.5rem; /* mantém o botão compacto */
}

.favorite-btn i {
    font-size: 1rem;
}

.like-count {
    min-width: 20px;     /* reserva espaço pro número */
    text-align: center;  /* centraliza o número */
    display: inline-block;
}

        body {
            font-family: 'Open Sans', sans-serif;
            color: var(--dark);
            background-color: var(--light);
            line-height: 1.6;
            padding-top: 56px; /* Espaço para a navbar fixa */
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
        }

        .navbar {
            background-color: var(--white);
            box-shadow: var(--shadow-sm);
        }

        .navbar-brand {
            font-weight: 700;
            color: var(--primary);
            font-size: 1.5rem;
        }

        .nav-link {
            font-weight: 500;
            color: var(--dark);
        }

        .hero {
            background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('https://images.unsplash.com/photo-1606787366850-de6330128bfc?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80');
            background-size: cover;
            background-position: center;
            color: var(--white);
            padding: 5rem 0;
            margin-bottom: 3rem;
        }

        .card-product {
            border: none;
            border-radius: 10px;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: var(--shadow-sm);
            margin-bottom: 1.5rem;
        }

        .card-product:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-md);
        }

        .card-img-top-wrapper {
    height: 200px;                 /* altura do card */
    background-color: #ffffff;     /* espaço branco */
    background-size: contain;      /* mostra a imagem inteira */
    background-repeat: no-repeat;  
    background-position: center;   /* centraliza a imagem */
}
        .product-title {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: var(--dark);
        }

        .product-producer {
            font-size: 0.9rem;
            color: var(--gray);
            margin-bottom: 0.5rem;
        }

        .product-price {
            font-weight: 700;
            color: var(--primary);
            font-size: 1.2rem;
        }

        .btn-primary {
            background-color: var(--primary);
            border: none;
            padding: 0.5rem 1.5rem;
            font-weight: 600;
        }

        .btn-primary:hover {
            background-color: var(--primary-dark);
        }

        .btn-outline-primary {
            color: var(--primary);
            border-color: var(--primary);
            font-weight: 600;
        }

        .btn-outline-primary:hover {
            background-color: var(--primary);
            color: var(--white);
        }

        .badge-local {
            background-color: var(--secondary);
            color: var(--white);
            font-weight: 600;
            position: absolute;
            top: 10px;
            right: 10px;
            padding: 5px 10px;
            border-radius: 20px;
        }

        .section-title {
            position: relative;
            margin-bottom: 2rem;
            padding-bottom: 0.5rem;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 60px;
            height: 3px;
            background-color: var(--primary);
        }

        .footer {
            background-color: var(--dark);
            color: var(--white);
            padding: 3rem 0;
            margin-top: 3rem;
        }

        .footer-title {
            font-size: 1.2rem;
            margin-bottom: 1.5rem;
        }

        .footer-link {
            color: var(--light);
            text-decoration: none;
            display: block;
            margin-bottom: 0.5rem;
            transition: var(--transition);
        }

        .footer-link:hover {
            color: var(--primary-light);
            padding-left: 5px;
        }

        .pix-badge {
            background-color: #32bbad;
            color: white;
            padding: 3px 8px;
            border-radius: 4px;
            font-size: 0.8rem;
            font-weight: 600;
            display: inline-block;
            margin-left: 5px;
        }

        .cart-btn {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background-color: var(--primary);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: var(--shadow-md);
            z-index: 1000;
            font-size: 1.5rem;
            text-decoration: none;
        }

        .cart-count {
            position: absolute;
            top: -5px;
            right: -5px;
            background-color: var(--secondary);
            color: white;
            width: 27px;
            height: 27px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8rem;
            font-weight: 600;
            text-align: center;
        }

/*ESTOQUE ESGOTADO=====================================================*/
.out-of-stock-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(220, 53, 69, 0.9);
    color: white;
    padding: 8px;
    text-align: center;
    z-index: 10;
    font-weight: bold;
}

/*FIM ESTOQUE ESGOTADO=====================================================*/

@media (max-width: 768px) {
    .hero {
        padding: 3rem 0;
    }
    
    .product-title {
        font-size: 1rem;
    }
    
    .product-price {
        font-size: 1.1rem;
    }
    
    .cart-btn {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
        bottom: 20px;
        right: 20px;
    }
}