/* ===========================================
   PRODUTO.CSS — estilos exclusivos da página de
   detalhes do produto (produto.php). Reaproveita
   várias classes já existentes em produtos.css
   (atributos, produtor/região, descrição, tamanhos).
   =========================================== */

.produto-pagina{
  padding:32px 0 64px;
}

.produto-btn-voltar{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:none;
  border:1px solid rgba(23,21,15,0.2);
  color:var(--ink);
  padding:8px 16px;
  border-radius:20px;
  font-family:'Jost', sans-serif;
  font-size:0.85rem;
  font-weight:600;
  cursor:pointer;
  margin-bottom:16px;
  transition:background .15s, border-color .15s;
}
.produto-btn-voltar:hover{background:rgba(201,161,59,0.08); border-color:var(--gold);}

.produto-breadcrumb{
  font-size:0.78rem;
  color:#888;
  text-transform:uppercase;
  letter-spacing:0.03em;
  margin-bottom:20px;
}
.produto-breadcrumb a{color:var(--olive);}
.produto-breadcrumb a:hover{text-decoration:underline;}
.produto-breadcrumb span{color:#4a4636; font-weight:600;}

.produto-pagina-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  align-items:start;
}

.produto-pagina-galeria{
  position:sticky;
  top:100px;
}
.produto-pagina-foto-principal{
  position:relative;
  aspect-ratio:1/1;
  border-radius:8px;
  overflow:hidden;
  background:repeating-linear-gradient(45deg, rgba(74,90,58,0.06), rgba(74,90,58,0.06) 10px, transparent 10px, transparent 20px);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  box-shadow:0 14px 30px rgba(23,21,15,0.1);
}
.produto-pagina-foto-principal img{width:100%; height:100%; object-fit:cover; display:block;}
.produto-pagina-sem-foto{color:var(--olive); font-size:0.9rem;}

.produto-pagina-miniaturas{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.produto-pagina-miniatura{
  width:64px;
  height:64px;
  border-radius:6px;
  overflow:hidden;
  cursor:pointer;
  border:2px solid transparent;
  opacity:0.7;
  transition:opacity .15s, border-color .15s;
}
.produto-pagina-miniatura img{width:100%; height:100%; object-fit:cover; display:block;}
.produto-pagina-miniatura:hover{opacity:1;}
.produto-pagina-miniatura.selecionada{opacity:1; border-color:var(--gold);}

.produto-pagina-info .tag{
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--rust);
  font-weight:600;
}
.produto-pagina-info h1{
  font-family:'Fraunces', serif;
  font-size:clamp(1.4rem, 2.6vw, 1.85rem);
  margin:8px 0 14px;
  color:var(--ink);
}

.produto-pagina-compra{
  margin:14px 0 18px;
}
.produto-pagina-compra .preco{
  display:block;
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.25rem;
  color:var(--ink);
  margin-bottom:14px;
}
.produto-pagina-compra .preco span{font-size:0.78rem; color:#7a755e; font-weight:400; font-family:'Jost', sans-serif;}
.produto-pagina-compra .produto-modal-qtd{
  display:inline-flex;
  margin-bottom:0;
  margin-right:14px;
}
.produto-pagina-compra{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 0;
}
.produto-pagina-compra > .preco{width:100%;}
#btn-adicionar-produto-pagina, .produto-pagina-compra .btn-avise-modal{
  min-width:180px;
  justify-content:center;
  display:flex;
}

@media (max-width: 880px){
  .produto-pagina-grid{grid-template-columns:1fr; gap:28px;}
  .produto-pagina-galeria{position:static;}
}

@media (max-width: 480px){
  .produto-pagina-compra{flex-direction:column; align-items:stretch;}
  .produto-pagina-compra .produto-modal-qtd{margin-right:0; margin-bottom:10px; justify-content:center;}
  #btn-adicionar-produto-pagina, .produto-pagina-compra .btn-avise-modal{width:100%;}
}