* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Helvetica Neue', Arial, sans-serif;
}

body {
    background-color: #fff;
    padding: 20px;
    display: flex;
    justify-content: center;
}

.vitrine {
    display: flex;
    flex-wrap: wrap;      /* Permite que os itens desçam para a próxima linha */
    gap: 20px;            /* Espaço entre os produtos */
    max-width: 1100px;    /* Centraliza a vitrine */
    width: 100%;
    justify-content: flex-start; /* Alinha os cards à esquerda */
}

.card {
    /* TRAVA 3 PRODUTOS POR LINHA */
    /* 33.33% da largura total menos o espaço do gap */
    flex: 0 0 calc(33.33% - 14px); 
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}

.image-container {
    background-color: #f6f6f6;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; /* Mantém o fundo quadrado perfeito */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.image-container img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
}

.wishlist {
    position: absolute;
    top: 15px;
    right: 15px;
    background: white;
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.info {
    padding-top: 15px;
}

.info h3 { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.categoria { color: #707072; font-size: 14px; margin-bottom: 8px; }
.preco-pix { font-weight: bold; font-size: 16px; display: block; }
.preco-antigo { color: #707072; text-decoration: line-through; font-size: 14px; }
.desconto { color: #007d32; font-weight: bold; font-size: 14px; display: block; margin-top: 4px; }
.rating { margin-top: 10px; font-size: 13px; }

/* Responsividade: fica 1 por linha no celular */
@media (max-width: 700px) {
    .card { flex: 0 0 100%; }
}