/* ===== Fonte padrão de todo o texto do site ===== */
body {
    margin: 0; /* remove a margem padrão do navegador, que deixava uma faixa branca acima do cabeçalho */
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
}

/* ===== Título principal ===== */
.inter-titulo {
    font-weight: 800;
    font-size: 3rem;
}

.titulo-venda {
    color: #198754;
}

/* Peso reduzido do h1, específico do index.php (produto.php mantém o padrão de .inter-titulo) */
.cabecalho-index h1 {
    font-weight: 600;
    /* Mesmo tamanho fluido padrão do Bootstrap usado no h1 "Painel Administrativo" do admin.php */
    font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 768px) {
    .cabecalho-index h1 {
        font-size: 3rem; /* volta ao tamanho maior em telas grandes */
    }
}

/* ===== Cabeçalho do site: ícone de casa + h1, com faixa de fundo ===== */
.cabecalho-site {
    background-color: #f1f3f5; /* cinza bem claro, ocupa toda a extensão da página, encostado no topo */
    padding: 1.25rem 0 0.75rem; /* padding-top maior: distância discreta do conteúdo até a borda superior, sem expor branco */
}

.icone-casa {
    color: #198754; /* mesma cor do h1 */
    font-size: 1.75rem;
}

/* Telas grandes: cabeçalho com padding uniforme (sem a folga extra do topo, usada só no mobile) */
@media (min-width: 768px) {
    .cabecalho-site {
        padding: 0.75rem 0;
    }

    /* Em index.php, o conteúdo do cabeçalho é centralizado no mobile;
       a partir daqui desloca para o canto superior esquerdo */
    .cabecalho-site .justify-content-center {
        justify-content: flex-start !important;
    }
}

/* ===== Card do produto ===== */
/* Layout base (mobile): imagem quadrada à esquerda, ocupando 25% da largura */
.card-produto {
    display: flex;
    flex-direction: row;
    overflow: hidden; /* garante que a imagem não vaze das bordas arredondadas do card */
    position: relative; /* contexto para o preço posicionado no canto, no mobile */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); /* sombreamento discreto nas bordas do card */
    border: none;
}

.card-produto .imagem-produto {
    width: 25%;
    flex-shrink: 0;   /* impede que a imagem encolha quando o texto for longo */
    aspect-ratio: 1 / 1; /* mantém a imagem sempre quadrada */
    object-fit: contain; /* mostra a imagem inteira dentro do quadrado, sem cortar */
    background-color: #f8f9fa; /* preenche o espaço vazio ao redor da imagem, se sobrar */
    margin-top: 1rem; /* mesmo valor do padding do card-body que envolve o link "Ver detalhes" */
    border-radius: 0.375rem; /* mesmo padrão de arredondamento usado pelo card (var(--bs-border-radius) do Bootstrap) */
}

.card-produto .conteudo-produto {
    flex: 1;
    min-width: 0; /* evita que texto longo estoure o card */
}

/* Preço: mesma cor do h1, um pouco maior que a descrição e em negrito com leve sombra */
.preco-produto {
    color: #198754;
    font-weight: bold;
    font-size: 1.1rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15);
    margin: 0 0 0.25rem 0;
}

/* Mobile (padrão): preço como selo no canto superior direito do card, sobre a imagem */
.preco-produto {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    background-color: rgba(255, 255, 255, 0.85);
    padding: 0.15rem 0.5rem;
    border-radius: 0.25rem;
    z-index: 2;
}

/* Link "Ver detalhes" */
.link-produto {
    background-color: #20c997;
    border-color: #20c997;
    color: #fff;
}

.link-produto:hover,
.link-produto:focus {
    background-color: #1ba885; /* tom levemente mais escuro para o hover */
    border-color: #1ba885;
    color: #fff;
}

/* ===== Telas maiores (tablets e laptops): imagem quadrada 250x250 no topo, centralizada ===== */
@media (min-width: 768px) {
    .card-produto {
        flex-direction: column;
        align-items: center; /* centraliza a imagem de largura fixa dentro do card */
    }

    .card-produto .imagem-produto {
        width: 250px;
        height: 250px;
        aspect-ratio: auto; /* desativa o aspect-ratio do mobile: aqui o tamanho já é fixo */
        object-fit: contain; /* mostra a imagem inteira dentro do quadrado, sem cortar */
        background-color: #f8f9fa; /* preenche o espaço vazio ao redor da imagem, se sobrar */
        flex-shrink: 0;
    }

    .card-produto .conteudo-produto {
        width: 100%;
        flex: 1;
    }

    /* Preço sai do canto e volta ao fluxo normal do texto, acima da descrição */
    .preco-produto {
        position: static;
        background-color: transparent;
        padding: 0;
        text-shadow: none;
    }
}

/* ===== Recado do vendedor, exibido abaixo do h1 em index.php ===== */
.recado-vendedor {
    color: #0d6efd; /* azul, mesmo tom usado em "itens disponíveis" */
    font-weight: 400;
    /* sem font-size customizado: usa o mesmo tamanho padrão das contagens abaixo */
}

/* ===== Contagens de itens, exibidas abaixo do recado em index.php (e reaproveitadas em admin.php) ===== */
/* Cada uma vira um "selo": texto colorido + borda arredondada na mesma cor */
.contagem-disponiveis,
.contagem-venda,
.contagem-doacao,
.contagem-vendido,
.contagem-recebido {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    border-width: 2px;
    border-style: solid;
    border-radius: 1rem;
    padding: 0.25rem 1rem;
}

.contagem-disponiveis {
    color: #0d6efd; /* azul */
    border-color: #0d6efd;
}

.contagem-venda {
    color: #198754; /* verde, mesma cor do h1 */
    border-color: #198754;
}

.contagem-doacao {
    color: #fd7e14; /* laranja */
    border-color: #fd7e14;
}

.contagem-vendido {
    color: #dc3545; /* vermelho, mesmo tom do badge "Vendido" */
    border-color: #dc3545;
}

.contagem-recebido {
    color: #6f42c1; /* roxo */
    border-color: #6f42c1;
}

/* ===== Contagens em destaque: empilhadas no mobile, distribuídas horizontalmente em telas grandes ===== */
/* Usada em admin.php e index.php */
@media (min-width: 768px) {
    .contagens-destaque {
        display: flex;
        justify-content: center;
        gap: 2.5rem; /* margem generosa entre os selos */
    }

    .contagens-destaque p {
        font-size: 1.25rem; /* fonte maior que o padrão */
        margin-bottom: 0 !important;
    }

    .contagens-destaque .valor-contagem {
        font-size: 1.75rem; /* número em destaque, ainda maior que o texto ao redor */
        font-weight: 700;
    }
}

/* ===== Selo "Doação" ao lado do nome do produto, no card do index.php ===== */
.badge-doacao-card {
    display: inline-block;
    color: #fd7e14; /* laranja */
    border: 1px solid #fd7e14;
    border-radius: 0.375rem;
    padding: 0.05rem 0.4rem;
    font-size: 0.75rem;
    vertical-align: middle;
}

/* ===== Badge de finalidade na listagem do admin.php (mesmo padrão do badge de status) ===== */
.badge-finalidade-venda {
    background-color: #198754; /* verde, mesma cor do h1 */
    color: #fff;
}

.badge-finalidade-doacao {
    background-color: #0d6efd; /* azul, mesma cor usada no badge "Doado" do status */
    color: #fff;
}

/* ===== Imagem do carrossel em produto.php ===== */
/* Mobile: imagem menor e quadrada, para melhor apresentação em telas pequenas */
.imagem-produto-detalhe {
    width: 100%;
    max-width: 220px;
    aspect-ratio: 1 / 1; /* mantém quadrada em qualquer largura disponível, sem precisar de um valor fixo de altura */
    object-fit: contain;
    background-color: #f8f9fa;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .imagem-produto-detalhe {
        max-width: 450px; /* cresce fluidamente até este limite, sem "saltar" de um tamanho fixo para outro */
    }
}

/* ===== Setas do carrossel em produto.php: verde, para contrastar com fundo claro ===== */
#carrosselProduto .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23198754'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") !important;
}

#carrosselProduto .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23198754'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

/* ===== Cabeçalho de produto.php: reduzido no mobile para caber numa só linha ===== */
.cabecalho-produto h1 {
    font-size: 1.25rem;
}

.cabecalho-produto .icone-casa {
    font-size: 1.1rem;
}

.cabecalho-produto .btn {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
}

@media (min-width: 768px) {
    .cabecalho-produto h1 {
        font-size: 3rem;
    }

    .cabecalho-produto .icone-casa {
        font-size: 1.75rem;
    }

    .cabecalho-produto .btn {
        font-size: 1rem;
        padding: 0.25rem 0.75rem;
    }
}