.product-card {
    background-color: var(--branco-fundo);
    border: 1px solid #eee;
    border-radius: var(--raio-borda);
    overflow: hidden; /* Garante que a imagem não "vaze" do raio da borda */
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.08);
}

.card-image {
    overflow: hidden; /* Para o efeito de zoom na imagem */
}

.card-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1; /* Garante que a imagem seja sempre quadrada */
    object-fit: cover; /* Evita que a imagem se distorça */
    transition: transform 0.4s ease;
}

.product-card:hover .card-image img {
    transform: scale(1.05); /* Efeito de zoom no hover */
}

.card-content {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Faz este container crescer para ocupar o espaço */
    text-align: center;
}

.card-category {
    font-size: 12px;
    color: #888;
    margin-bottom: 8px;
}

.card-title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
    flex-grow: 1; /* Empurra o preço para baixo */
}

.card-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--azul-principal);
    margin-bottom: 16px;
}

/* --- Melhoria: Botão aparece no hover --- */

/* Esconde o botão por padrão */
.product-card .btn {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Mostra o botão quando o mouse está sobre o card */
.product-card:hover .btn {
    opacity: 1;
    transform: translateY(0);
}

/* Adiciona um preenchimento na parte inferior para compensar o espaço do botão que vai aparecer */
.product-card .card-content {
    padding-bottom: 54px; /* Altura aproximada do botão + margem */
    position: relative;
}

/* Força o botão a ficar na parte inferior do card */
.product-card .btn {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    width: calc(100% - 32px); /* Largura total menos o padding lateral */
}

/* Torna o container da imagem uma referência para a posição da faixa */
.product-card .card-image {
    position: relative;
}

/* Estilo da faixa "Esgotado" */
.sold-out-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Fundo preto com 60% de opacidade */
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    
    /* Garante que a faixa não seja clicável e não atrapalhe o link da imagem */
    pointer-events: none; 
}

/* Estilo para o card inteiro quando o produto está esgotado */
.product-card.is-sold-out {
    opacity: 0.7; /* Deixa o card levemente apagado */
}

/* Estilo para o botão desabilitado */
.product-card.is-sold-out .add-to-cart-btn {
    background-color: #ccc;
    border-color: #ccc;
    cursor: not-allowed; /* Muda o cursor do mouse */
}

.product-card .card-image {
    position: relative; /* Essencial para a sobreposição funcionar */
}

/* 2. Estilo da faixa "Esgotado" */
.sold-out-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Fundo preto com 60% de opacidade */
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-transform: uppercase;
    
    /* Centraliza o texto "Esgotado" perfeitamente */
    display: flex;
    justify-content: center;
    align-items: center;
    
    /* Garante que o link da imagem por baixo ainda seja clicável */
    pointer-events: none;
    
    /* Efeito suave de aparição */
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* 3. Faz a faixa aparecer quando o card tiver a classe .is-sold-out */
.product-card.is-sold-out .sold-out-overlay {
    opacity: 1;
}

/* 4. Estilo para o card inteiro e o botão quando o produto está esgotado */
.product-card.is-sold-out {
    opacity: 0.7; /* Deixa o card inteiro levemente apagado */
}

.product-card.is-sold-out .add-to-cart-btn {
    background-color: #ccc;
    border-color: #ccc;
    cursor: not-allowed; /* Muda o cursor do mouse para indicar que não é clicável */
}