/* FastOss — estilo compartilhado das páginas /linhas/<...>/ */

.linha-hero{
  padding:34px 32px;
  margin-bottom:18px;
}
.linha-hero .breadcrumb{
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:12px;
}
.linha-hero .breadcrumb a{color:var(--gold-2);text-decoration:none}
.linha-hero .breadcrumb a:hover{text-decoration:underline}
.linha-hero h1{
  font-size:clamp(2rem,5vw,3rem);
  letter-spacing:-.03em;
  line-height:1.05;
  margin-bottom:10px;
}
.linha-hero .descricao{
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
  max-width:680px;
  margin-bottom:16px;
}
.linha-hero .descricao strong{color:#fff}

.linha-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
  margin-top:18px;
}
.linha-stats .stat{
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}
.linha-stats .stat .l{
  font-family:'Barlow Condensed',sans-serif;
  font-size:10.5px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--muted);
}
.linha-stats .stat .v{
  font-family:'Bebas Neue',sans-serif;
  font-size:24px;
  letter-spacing:1.2px;
  color:var(--gold-2);
  margin-top:3px;
  line-height:1;
}
.linha-stats .stat.materiais .v{
  font-size:13px;
  color:#fff;
  font-family:'Outfit',sans-serif;
  font-weight:700;
  letter-spacing:0;
}
.linha-stats .stat.materiais .v ul{
  list-style:none;
  padding:0;
  margin:0;
  font-size:11.5px;
  font-weight:500;
  color:var(--muted);
}
.linha-stats .stat.materiais .v ul li{margin-top:2px}

.linha-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.linha-section{
  padding:24px 28px;
  margin-bottom:18px;
}
.linha-section h2{
  font-size:14px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gold-2);
  font-family:'Barlow Condensed',sans-serif;
  margin-bottom:18px;
  font-weight:700;
}

.produtos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;
}
.prod-tile{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:rgba(0,0,0,.20);
  text-decoration:none;
  color:#fff;
  transition:transform .25s, border-color .25s, box-shadow .25s;
  display:flex;
  flex-direction:column;
}
.prod-tile:hover{
  transform:translateY(-3px);
  border-color:rgba(216,181,72,.42);
  box-shadow:0 18px 40px rgba(0,0,0,.36);
}
.prod-photo{
  aspect-ratio:1/1;
  background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.06),transparent 60%),linear-gradient(160deg,rgba(255,255,255,.04),rgba(0,0,0,.18));
  display:grid;
  place-items:center;
  padding:14px;
}
.prod-photo img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.4));
}
.prod-info{
  padding:11px 14px 14px;
  text-align:center;
}
.prod-nome{
  font-weight:800;
  font-size:13px;
  margin-bottom:6px;
  line-height:1.2;
}
.prod-preco{
  display:flex;
  flex-direction:column;
}
.prod-preco .from{
  font-family:'Barlow Condensed',sans-serif;
  font-size:9.5px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--muted);
}
.prod-preco strong{
  font-family:'Bebas Neue',sans-serif;
  font-size:18px;
  letter-spacing:1.2px;
  color:var(--gold-2);
  line-height:1.1;
}

.faq-section details{
  border:1px solid var(--line);
  border-radius:14px;
  margin-bottom:8px;
  overflow:hidden;
  background:rgba(255,255,255,.03);
}
.faq-section details[open]{
  background:rgba(216,181,72,.06);
  border-color:rgba(216,181,72,.32);
}
.faq-section summary{
  cursor:pointer;
  padding:12px 16px;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:700;
  font-size:13.5px;
  color:#fff;
}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary::after{
  content:'+';
  font-size:18px;
  color:var(--gold-2);
  transition:transform .25s;
  font-weight:300;
}
.faq-section details[open] summary::after{transform:rotate(45deg)}
.faq-section .answer{
  padding:0 16px 14px;
  font-size:13px;
  color:var(--silver);
  line-height:1.55;
}
.faq-section .answer strong{color:var(--gold-2)}

.linha-cta{
  padding:30px 24px;
  text-align:center;
}
.linha-cta h2{
  font-size:clamp(1.4rem,3.5vw,1.8rem);
  letter-spacing:-.02em;
  margin-bottom:10px;
  color:#fff;
}
.linha-cta p{color:var(--muted);margin-bottom:20px;font-size:14px}

.empty{padding:30px;text-align:center;color:var(--muted)}

@media(max-width:680px){
  .linha-hero,.linha-section{padding:22px 18px}
  .produtos-grid{grid-template-columns:repeat(2,1fr);gap:10px}
}
