
/* =========================================================
   PÁGINA DO PRODUTO
   ========================================================= */

body{

    background:#f5f5f5;

    color:#111;

}


/* =========================================================
   CONTAINER
   ========================================================= */

.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.breadcrumb{

    display:flex;

    align-items:center;

    gap:10px;

    margin:25px 0;

    font-size:14px;

    color:#777;

}

.breadcrumb a{

    text-decoration:none;

    color:#111;

}

.breadcrumb a:hover{

    text-decoration:underline;

}


/* =========================================================
   PRODUTO PRINCIPAL
   ========================================================= */

.produto-detalhe{

    display:grid;

    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);

    gap:40px;

    background:#fff;

    padding:30px;

    border-radius:14px;

}


/* =========================================================
   GALERIA
   ========================================================= */

.galeria-produto{

    display:flex;

    align-items:flex-start;

    gap:15px;

}


/* =========================================================
   MINIATURAS
   ========================================================= */

.miniaturas{

    display:flex;

    flex-direction:column;

    gap:12px;

    flex-shrink:0;

}

.miniatura{

    width:75px;

    height:75px;

    object-fit:cover;

    border-radius:9px;

    cursor:pointer;

    border:2px solid transparent;

    background:#f5f5f5;

    transition:.2s;

}

.miniatura:hover,

.miniatura.ativa{

    border-color:#111;

}


/* =========================================================
   IMAGEM PRINCIPAL
   ========================================================= */

.imagem-principal{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:flex-start;

    min-width:0;

}

.imagem-principal img{

    width:100%;

    max-width:420px;

    height:420px;

    object-fit:contain;

    border-radius:12px;

    display:block;

}


/* =========================================================
   INFORMAÇÕES DO PRODUTO
   ========================================================= */

.info-produto{

    display:flex;

    flex-direction:column;

    min-width:0;

}

.categoria-produto{

    color:#777;

    font-size:13px;

    margin:0;

}

.info-produto h1{

    font-size:30px;

    line-height:1.2;

    margin:8px 0 10px;

    color:#222;

}


/* =========================================================
   AVALIAÇÃO
   ========================================================= */

.avaliacao{

    display:flex;

    align-items:center;

    gap:3px;

    margin-bottom:10px;

}

.avaliacao i{

    color:#f5b301;

    font-size:14px;

}


/* =========================================================
   PREÇOS
   ========================================================= */

.preco{

    font-size:27px;

    font-weight:bold;

    margin:10px 0;

}

.precos{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:8px;

    margin:10px 0;

}

.preco-antigo{

    text-decoration:line-through;

    color:#999;

    font-size:16px;

}

.preco-promocao{

    font-size:27px;

    font-weight:bold;

    color:#e53935;

}

.desconto{

    background:#e53935;

    color:#fff;

    padding:4px 9px;

    border-radius:15px;

    font-size:12px;

    font-weight:bold;

}


/* =========================================================
   CARACTERÍSTICAS
   ========================================================= */

.caracteristicas-produto{

    margin-top:12px;

    padding-top:12px;

    border-top:1px solid #eee;

}

.caracteristicas-produto h3{

    font-size:16px;

    margin:0 0 12px;

    color:#222;

}

.grupo-caracteristica{

    margin-bottom:12px;

}

.grupo-caracteristica:last-child{

    margin-bottom:0;

}

.grupo-caracteristica h4{

    font-size:13px;

    font-weight:600;

    margin:0 0 7px;

    color:#444;

}

.opcoes-caracteristica{

    display:flex;

    flex-wrap:wrap;

    gap:6px;

}


/* =========================================================
   ESCONDER RADIO
   ========================================================= */

.opcoes-caracteristica input{

    display:none;

}


/* =========================================================
   OPÇÕES DE TEXTO
   ========================================================= */

.opcao-texto{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:32px;

    padding:6px 11px;

    border:1px solid #d6d6d6;

    border-radius:6px;

    cursor:pointer;

    background:#fff;

    font-size:12px;

    color:#333;

    transition:.2s;

}

.opcao-texto:hover{

    border-color:#111;

}

.opcao-texto:has(input:checked){

    background:#111;

    color:#fff;

    border-color:#111;

}


/* =========================================================
   CORES
   ========================================================= */

.opcao-cor{

    display:flex;

    align-items:center;

    gap:6px;

    cursor:pointer;

    padding:5px 9px;

    border:1px solid #ddd;

    border-radius:16px;

    font-size:12px;

    transition:.2s;

}

.opcao-cor:hover{

    border-color:#111;

}

.opcao-cor .cor{

    width:20px;

    height:20px;

    border-radius:50%;

    border:1px solid #ccc;

}

.opcao-cor input:checked + .cor{

    outline:2px solid #111;

    outline-offset:2px;

}


/* =========================================================
   ESTOQUE
   ========================================================= */

.estoque{

    margin:14px 0;

    font-size:13px;

}

.stock{

    color:#138a36;

    font-weight:bold;

}

.sem-stock{

    color:#d00000;

    font-weight:bold;

}


/* =========================================================
   QUANTIDADE
   ========================================================= */

.quantidade{

    display:flex;

    align-items:center;

    gap:8px;

    margin:12px 0;

}

.quantidade button{

    width:34px;

    height:34px;

    border:none;

    background:#111;

    color:#fff;

    cursor:pointer;

    border-radius:5px;

    font-size:16px;

}

.quantidade button:hover{

    background:#333;

}

.quantidade input{

    width:50px;

    height:34px;

    text-align:center;

    border:1px solid #ddd;

    border-radius:5px;

    font-size:14px;

}

.total{

    font-size:15px;

    margin:8px 0;

}

.total span{

    font-weight:bold;

}


/* =========================================================
   AÇÕES PRINCIPAIS
   ========================================================= */

.acoes-produto{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:12px;

}

.acoes-produto button{

    width:100%;

    min-height:43px;

    padding:10px;

    border:none;

    cursor:pointer;

    border-radius:7px;

    font-size:13px;

    font-weight:600;

    transition:.2s;

}

.btn-comprar{

    background:#111;

    color:#fff;

}

.btn-carrinho{

    background:#eee;

    color:#111;

}

.btn-carrinho:hover,

.btn-comprar:hover{

    opacity:.8;

}


/* =========================================================
   FAVORITOS + PARTILHAR
   ========================================================= */

.area-favorito{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:8px;

}

.btn-favorito,

.btn-partilhar{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    min-height:40px;

    padding:9px;

    border-radius:7px;

    border:1px solid #ddd;

    text-decoration:none;

    color:#111;

    cursor:pointer;

    background:#fff;

    width:100%;

    font-size:12px;

}

.btn-favorito:hover,

.btn-partilhar:hover{

    border-color:#111;

}

.favorito-ativo{

    color:#e53935;

}


/* =========================================================
   ÁREA INFERIOR
   ========================================================= */

.descricao-produto{

    margin-top:35px;

    padding:25px 0 0;

    border-top:1px solid #ddd;

    line-height:1.7;

}

.descricao-produto h3{

    font-size:20px;

    margin:0 0 12px;

    color:#222;

}

.descricao-produto p{

    font-size:14px;

    color:#555;

    margin-bottom:25px;

}

.descricao-produto hr{

    border:0;

    border-top:1px solid #eee;

    margin:25px 0;

}


/* =========================================================
   GARANTIAS
   ========================================================= */

.garantias{

    margin-top:25px;

    padding:20px;

    background:#f8f8f8;

    border-radius:10px;

}

.garantias h3{

    margin:0 0 12px;

    font-size:17px;

}

.garantias ul{

    margin:0;

    padding-left:20px;

}

.garantias li{

    margin:7px 0;

    font-size:13px;

    color:#555;

}


/* =========================================================
   PRODUTOS RELACIONADOS
   ========================================================= */

.produtos-relacionados{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin:25px 0 40px;

}

.card-produto,

.produto-card{

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    transition:.3s;

}

.card-produto:hover,

.produto-card:hover{

    transform:translateY(-4px);

}

.card-produto img,

.produto-card img{

    width:100%;

    height:210px;

    object-fit:cover;

    display:block;

}

.card-produto h3,

.card-produto .preco,

.produto-card h3,

.produto-card .preco{

    padding:0 15px;

}

.card-produto a,

.produto-card a{

    text-decoration:none;

    color:#222;

}


/* =========================================================
   TÍTULO PRODUTOS RELACIONADOS
   ========================================================= */

.container > h2{

    margin-top:35px;

    margin-bottom:15px;

    font-size:24px;

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:900px){

    .produto-detalhe{

        grid-template-columns:1fr;

        gap:25px;

        padding:20px;

    }


    .imagem-principal img{

        max-width:400px;

        height:360px;

    }


    .info-produto h1{

        font-size:26px;

    }


    .produtos-relacionados{

        grid-template-columns:repeat(2,1fr);

    }

}


/* =========================================================
   TABLET / TELEMÓVEL
   ========================================================= */

@media(max-width:600px){

    .container{

        width:94%;

    }


    .breadcrumb{

        margin:18px 0;

        font-size:12px;

    }


    .produto-detalhe{

        padding:15px;

        border-radius:10px;

    }


    .galeria-produto{

        gap:10px;

    }


    .miniaturas{

        gap:8px;

    }


    .miniatura{

        width:62px;

        height:62px;

    }


    .imagem-principal img{

        height:300px;

    }


    .info-produto h1{

        font-size:23px;

    }


    .preco,

    .preco-promocao{

        font-size:23px;

    }


    .acoes-produto{

        grid-template-columns:1fr;

    }


    .area-favorito{

        grid-template-columns:1fr;

    }


    .produtos-relacionados{

        grid-template-columns:repeat(2,1fr);

        gap:10px;

    }


    .produto-card img,

    .card-produto img{

        height:160px;

    }

}


/* =========================================================
   TELEMÓVEL PEQUENO
   ========================================================= */

@media(max-width:400px){

    .galeria-produto{

        flex-direction:column-reverse;

    }


    .miniaturas{

        width:100%;

        flex-direction:row;

        overflow-x:auto;

        padding-bottom:3px;

    }


    .miniatura{

        flex:0 0 60px;

    }


    .imagem-principal img{

        height:280px;

    }


    .produtos-relacionados{

        grid-template-columns:1fr;

    }

}
