/* Esse css só cuida da parte de baixo da página do produto.
   O topo (barras, menu) vem do index.css */

.paginaProduto {
    background-color: white;

    display: flex;
    flex-direction: column;
    gap: 30px;

    padding: 20px;
}

/* CAIXA DO PRODUTO (foto + informações) */

.caixaProduto {
    background-color: #E5E3E1;
    border-radius: 20px;

    display: flex;
    gap: 40px;

    padding: 20px;
}

.fotoProduto img {
    width: 450px;
    height: 450px;

    background-color: white;
    border-radius: 20px;
    object-fit: contain;
}

.infoProduto {
    flex: 1;

    display: flex;
    flex-direction: column;
    gap: 8px;
}

.linhaVendedor {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.vendidoPor {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
}

.botaoGostei {
    background-color: transparent;
    border: none;

    font-size: 14px;
    font-weight: bold;

    transition: .3s ease;
}

.botaoGostei img {
    width: 25px;
    height: 25px;
}

.botaoGostei:hover {
    transform: scale(1.2);
}

.tituloProduto {
    margin: 0;
    font-size: 30px;
}

.precoAntigo {
    margin: 0;

    color: #8C8C8C;
    font-size: 20px;
    font-weight: bold;

    text-decoration: line-through;
}

.precoAtual {
    margin: 0;

    font-size: 28px;
    font-weight: bold;
}

.parcelas {
    color: #3AA6C9;
    font-size: 18px;
}

.freteGratis {
    margin: 0;

    color: green;
    font-size: 18px;
    font-weight: bold;
}

.corProduto {
    margin: 0;

    font-size: 18px;
    font-weight: bold;
}

/* Botões de tamanho */

.tamanhos {
    display: flex;
    gap: 15px;

    margin-top: 10px;
}

.tamanhos button {
    background-color: white;
    border: none;
    border-radius: 50%;

    width: 35px;
    height: 35px;

    font-size: 16px;
    font-weight: bold;

    transition: .3s ease;
}

.tamanhos button:hover {
    background-color: black;
    color: white;

    transform: scale(1.2);
}

/* Botões de comprar e carrinho */

.botoesCompra {
    display: flex;
    justify-content: flex-end;
    gap: 20px;

    margin-top: auto;
}

.botoesCompra button {
    background-color: #C9C7C5;
    border: none;
    border-radius: 30px;

    width: 180px;
    height: 60px;

    font-size: 28px;
    font-weight: bold;

    transition: .3s ease;
}

.botoesCompra button:hover {
    background-color: black;
    color: white;

    transform: translateY(-5px) scale(1.05);
}

/* CAIXA DA DESCRIÇÃO */

.caixaDescricao {
    background-color: #E5E3E1;
    border-radius: 20px;

    padding: 25px;
}

.caixaDescricao h2 {
    margin: 0;
    font-size: 40px;
}

.textoDescricao {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
}

.avaliacoesEFotos {
    display: flex;
    gap: 80px;

    margin-top: 30px;
}

/* Avaliações */

.avaliacoes h3, .fotosClientes h3 {
    margin: 10px 0;
    font-size: 22px;
}

.notaGeral {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 20px;
}

.numeroNota {
    font-size: 35px;
    font-weight: bold;
}

.estrelasGrandes {
    color: #FFC107;
    font-size: 45px;
}

.comentario {
    margin-bottom: 25px;
}

.usuarioComentario {
    display: flex;
    align-items: center;
    gap: 8px;
}

.usuarioComentario img {
    width: 25px;
    height: 25px;

    background-color: white;
    border-radius: 50%;
}

.usuarioComentario p {
    margin: 0;
    font-weight: bold;
}

.textoComentario {
    margin: 5px 0;
    font-size: 13px;
}

.estrelasPequenas {
    color: #FFC107;
    font-size: 20px;
}

/* Fotos dos clientes */

.linhaFotosClientes {
    display: flex;
    gap: 20px;
}

.fotoGrande {
    width: 180px;
    height: 180px;

    border: 2px solid white;
    object-fit: cover;
}

.maisFotos {
    display: grid;
    grid-template-columns: repeat(3, 80px);
    gap: 3px;
}

.maisFotos img {
    width: 387px;
    height: 130px;

    object-fit: cover;
}

/* Linha e títulos das seções de baixo */

.linhaDivisoria {
    border: 1px solid black;
    margin: 40px 0 20px 0;
}

.tituloSecao {
    margin: 30px 0 20px 0;
    font-size: 25px;
}

.linhaRelacionados {
    display: flex;
    gap: 15px;
}

.linhaRelacionados button {
    background-color: white;
    border: 3px solid white;
    border-radius: 10px;

    transition: .3s ease;
}

.linhaRelacionados button:hover {
    border-color: black;
    transform: translateY(-10px);
}

.linhaRelacionados img {
    width: 150px;
    height: 150px;

    object-fit: contain;
}