/* Liderança Portas de Aço — style.css
   Paleta: vermelho escuro + preto (identidade LPA). Verde oficial do WhatsApp mantido
   só nos botões de WhatsApp, por reconhecimento imediato do usuário (padrão do mercado BR). */

:root{
  --preto: #121212;
  --preto-suave: #1c1c1c;
  --vermelho: #7a1f1f;      /* vermelho escuro principal, não cansa a vista */
  --vermelho-forte: #932424; /* hover / destaque */
  --vermelho-claro: #a83232;
  --branco: #ffffff;
  --cinza-claro: #f6f2f1;
  --cinza-texto: #4a4a4a;
  --cinza-borda: #e6dedd;
  --whatsapp: #1c6b41;
  --whatsapp-escuro: #12452a;
  --sombra: 0 10px 30px rgba(18,18,18,.12);
  --raio: 10px;
  --raio-botao: 6px;
  --fonte-titulo: 'Poppins', system-ui, -apple-system, Segoe UI, sans-serif;
  --fonte-texto: 'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{
  font-family: var(--fonte-texto);
  color: var(--preto);
  background: var(--branco);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100vw;
}
img{max-width:100%; display:block;}
iframe{max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,h4{font-family: var(--fonte-titulo); line-height:1.15; font-weight:700;}
.container{width:100%; max-width:1180px; margin:0 auto; padding:0 20px;}
section{padding: 64px 0;}
@media (min-width:900px){ section{padding: 88px 0;} }
.section-tag{
  display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--vermelho); margin-bottom:10px;
}
.section-title{font-size: clamp(1.8rem, 4.4vw, 2.7rem); margin-bottom:16px;}
.section-desc{color:var(--cinza-texto); max-width:640px; margin-bottom:32px; font-size:1.02rem;}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ===== HEADER (CTA sempre visível, sem precisar rolar) ===== */
.header{
  position:sticky; top:0; z-index:100;
  background: var(--preto);
  border-bottom: 3px solid var(--vermelho);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 12px 20px; max-width:1180px; margin:0 auto; gap:12px;
}
.logo{
  color:var(--branco); font-family:var(--fonte-titulo); font-weight:700;
  font-size:1.05rem; line-height:1.15; display:flex; align-items:center; gap:10px;
}
.logo-badge{
  width:40px; height:40px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.logo-badge img{width:100%; height:100%; object-fit:contain;}
.logo small{display:block; font-family:var(--fonte-texto); font-weight:400; font-size:.68rem; color:#c9baba; letter-spacing:.03em;}

.nav-desktop{display:none;}
.nav-desktop ul{display:flex; gap:26px;}
.nav-desktop a{
  color:#e9dcdc; font-size:.92rem; font-weight:600; transition:color .2s;
}
.nav-desktop a:hover, .nav-desktop a.ativo{color:var(--branco); border-bottom:2px solid var(--vermelho-claro); padding-bottom:4px;}

.header-cta{
  display:flex; align-items:center; gap:8px;
  background:var(--whatsapp); color:#fff; font-weight:700; font-size:.85rem;
  padding:9px 14px; border-radius:var(--raio-botao); white-space:nowrap; box-shadow:0 3px 8px rgba(0,0,0,.25);
  transition:transform .15s, background .2s;
}
.header-cta:hover{background:var(--whatsapp-escuro); transform:translateY(-1px);}
.header-cta svg{width:18px; height:18px; flex-shrink:0;}

.menu-toggle{
  display:flex; flex-direction:column; gap:4px; background:none; border:0; cursor:pointer; padding:6px;
}
.menu-toggle span{width:22px; height:2px; background:var(--branco); display:block;}

.nav-mobile{
  display:none; flex-direction:column; background:var(--preto-suave);
  border-top:1px solid #333;
}
.nav-mobile.aberto{display:flex;}
.nav-mobile a{color:#e9dcdc; padding:14px 20px; font-weight:600; border-bottom:1px solid #2a2a2a;}

@media (min-width:900px){
  .nav-desktop{display:block;}
  .menu-toggle{display:none;}
  .header-cta{font-size:.92rem; padding:10px 18px;}
}

/* ===== HERO (tela cheia, tipografia forte — identidade industrial) ===== */
.hero{background:var(--preto); color:var(--branco); overflow:hidden; position:relative; padding:0;}
.hero-grid{display:grid; grid-template-columns:1fr;}
.hero-inner{position:relative; z-index:2; padding:56px 20px 32px; max-width:640px; margin:0 auto;}
.hero--compacto .hero-inner{padding:48px 20px 30px; text-align:center; max-width:680px;}
.hero-imagem{
  position:relative; height:280px; overflow:hidden; background:var(--preto-suave);
}
.hero-imagem::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.35), transparent 40%);}
.hero-imagem img{width:100%; height:100%; object-fit:cover; display:block;}
@media (min-width:960px){
  .hero-grid{grid-template-columns:1.1fr .9fr;}
  .hero:not(.hero--compacto) .hero-grid{min-height:92vh;}
  .hero-inner{padding:70px 40px 70px 60px; max-width:none; margin:0; display:flex; flex-direction:column; justify-content:center;}
  .hero--compacto .hero-inner{text-align:left; padding:80px 30px 80px 60px;}
  .hero-imagem{height:100%;}
}
.hero-kicker{
  display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18); padding:6px 14px; border-radius:4px;
  font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:22px;
  align-self:flex-start; /* impede o badge de esticar e virar um retângulo largo (herança do flex column) */
}
.hero--compacto .hero-inner .hero-kicker{align-self:center;}
@media (min-width:960px){
  .hero--compacto .hero-inner .hero-kicker{align-self:flex-start;}
}
.hero h1{
  font-size:clamp(2.4rem, 6.4vw, 4.6rem); text-transform:uppercase; letter-spacing:-.01em;
  margin-bottom:20px;
}
.hero h1 span{color:var(--vermelho-claro);}
.hero p{font-size:1.08rem; color:#dccece; margin-bottom:30px; max-width:520px;}

/* índice vertical rotacionado — assinatura visual da referência, adaptada */
.hero-indice{
  display:none;
}
@media (min-width:960px){
  .hero-indice{
    display:flex; flex-direction:column; align-items:center; gap:14px;
    position:absolute; top:50%; right:5%; transform:translateY(-50%); z-index:3;
    color:rgba(255,255,255,.65); text-align:center;
  }
  .hero-indice .num{font-family:var(--fonte-titulo); font-weight:700; font-size:1.1rem;}
  .hero-indice .num.atual{color:var(--branco); font-size:1.3rem;}
  .hero-indice hr{width:1px; height:40px; border:none; background:rgba(255,255,255,.4);}
  .hero-indice .rotulo{
    writing-mode:vertical-rl; text-transform:uppercase; letter-spacing:.15em;
    font-size:.72rem; font-weight:700; margin:2px 0;
  }
}

.selos{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px;}
.selo{
  display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.15); padding:8px 14px; border-radius:8px; font-size:.85rem; font-weight:600;
}
.selo svg{width:18px; height:18px; color:var(--vermelho-claro); flex-shrink:0;}

.hero-ctas{display:flex; flex-wrap:wrap; gap:14px;}
.btn{
  display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:var(--raio-botao);
  font-weight:700; font-size:1rem; transition:transform .15s, box-shadow .2s; border:2px solid transparent;
}
.btn svg{width:20px; height:20px; flex-shrink:0;}
.btn-whatsapp{background:var(--whatsapp); color:#fff; box-shadow:0 6px 16px rgba(0,0,0,.2);}
.btn-whatsapp:hover{transform:translateY(-2px); background:var(--whatsapp-escuro);}
.btn-sm{padding:10px 20px; font-size:.88rem;}
.btn-outline{border-color:rgba(255,255,255,.4); color:#fff;}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.08);}

/* ===== STATS ===== */
.stats{background:var(--vermelho); color:#fff;}
.stats .container{
  display:grid; grid-template-columns:1fr; gap:24px; text-align:center; padding:36px 20px;
}
.stat b{display:block; font-family:var(--fonte-titulo); font-size:1.7rem; margin-bottom:4px;}
.stat span{font-size:.88rem; color:#f1dede;}
@media (min-width:700px){
  .stats .container{grid-template-columns:repeat(3,1fr); padding:40px 20px;}
}

/* ===== CARDS (grade estilo referência internacional, adaptada) ===== */
.grade-cards{display:grid; grid-template-columns:1fr; gap:22px;}
@media (min-width:760px){ .grade-cards{grid-template-columns:repeat(3,1fr);} }

.card{
  background:#fff; border-radius:var(--raio); border:1px solid var(--cinza-borda); overflow:hidden;
  transition:transform .2s, box-shadow .2s; display:flex; flex-direction:column; height:100%;
}
.card:hover{transform:translateY(-4px); box-shadow:var(--sombra);}
.card-imagem{position:relative; height:190px; overflow:hidden; background:var(--preto);}
.card-imagem img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s;}
.card:hover .card-imagem img{transform:scale(1.07);}
.card-imagem.card-imagem-cor{display:flex; align-items:center; justify-content:center; background:var(--vermelho);}
.card-imagem.card-imagem-cor svg{width:60px; height:60px; color:#fff;}
.card .icone{
  position:absolute; bottom:-22px; left:22px; width:52px; height:52px; border-radius:12px;
  background:var(--preto); color:var(--vermelho-claro); display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
}
.card .icone svg{width:26px; height:26px;}
.card-corpo{padding:34px 24px 26px; display:flex; flex-direction:column; flex-grow:1;}
.card h3{font-size:1.1rem; margin-bottom:10px;}
.card p{color:var(--cinza-texto); font-size:.92rem; margin-bottom:16px; flex-grow:1;}
.card .link-mais{display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--vermelho); font-size:.92rem;}
.card .link-mais svg{width:16px; height:16px; transition:transform .2s;}
.card:hover .link-mais svg{transform:translateX(4px);}

.card-cta{background:var(--preto);}
.card-cta .card-corpo h3{color:#fff;}
.card-cta .card-corpo p{color:#d7c9c9;}
.card-cta .link-mais{color:var(--whatsapp);}

/* ===== GALERIA DE TRABALHOS REALIZADOS ===== */
.galeria-trabalhos{
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
@media (min-width:760px){ .galeria-trabalhos{grid-template-columns:repeat(4,1fr);} }
.foto-trabalho{
  position:relative; border-radius:var(--raio); overflow:hidden; aspect-ratio:4/3; background:var(--preto);
}
.foto-trabalho img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s;}
.foto-trabalho:hover img{transform:scale(1.08);}
.foto-trabalho span{
  position:absolute; left:0; right:0; bottom:0; padding:10px 12px 8px;
  background:linear-gradient(0deg, rgba(0,0,0,.75), transparent);
  color:#fff; font-size:.78rem; font-weight:600;
}

/* ===== AVALIAÇÕES GOOGLE ===== */
.avaliacoes{background:var(--cinza-claro);}
.resumo-google{
  display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center;
  margin-bottom:20px;
}
.resumo-google .nota{font-family:var(--fonte-titulo); font-size:1.8rem; font-weight:700;}
.estrelas{display:flex; gap:2px; color:#f5b400;}
.estrelas svg{width:18px; height:18px;}
.resumo-google small{color:var(--cinza-texto); font-size:.82rem;}
.resumo-google .google-logo{font-weight:700; font-size:.95rem; margin-top:4px;}
.resumo-google .google-logo b:nth-child(1){color:#4285F4;}
.resumo-google .google-logo b:nth-child(2){color:#EA4335;}
.resumo-google .google-logo b:nth-child(3){color:#FBBC05;}
.resumo-google .google-logo b:nth-child(4){color:#4285F4;}
.resumo-google .google-logo b:nth-child(5){color:#34A853;}
.resumo-google .google-logo b:nth-child(6){color:#EA4335;}

.avaliacoes-scroll{
  display:flex; gap:18px; overflow-x:auto; padding:4px 4px 16px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
}
.avaliacoes-scroll::-webkit-scrollbar{height:6px;}
.avaliacoes-scroll::-webkit-scrollbar-track{background:var(--cinza-borda); border-radius:10px;}
.avaliacoes-scroll::-webkit-scrollbar-thumb{background:var(--vermelho-claro); border-radius:10px;}

.review-card{
  background:#fff; border:1px solid var(--cinza-borda); border-radius:var(--raio); padding:22px;
  scroll-snap-align:start; flex:0 0 280px; display:flex; flex-direction:column;
}
.review-topo{display:flex; align-items:center; gap:12px; margin-bottom:6px;}
.avatar{
  width:42px; height:42px; border-radius:50%; background:var(--vermelho); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--fonte-titulo); flex-shrink:0;
}
.review-nome{font-weight:700; font-size:.94rem; display:flex; align-items:center; gap:6px;}
.review-tempo{font-size:.78rem; color:#8a8a8a;}
.review-card .estrelas{margin-bottom:8px;}
.review-card .estrelas svg{width:14px; height:14px;}
.review-card p{
  font-size:.9rem; color:var(--cinza-texto); font-style:italic; flex-grow:1;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
.ver-mais{
  display:inline-block; margin-top:12px; font-size:.8rem; font-weight:700; color:var(--vermelho); align-self:flex-start;
}
.ver-mais:hover{text-decoration:underline;}
.avaliacoes-cta{text-align:center; margin-top:6px;}

/* ===== SEÇÃO DE CONTEÚDO (páginas internas) ===== */
.bloco-servico{
  display:grid; grid-template-columns:1fr; gap:34px; align-items:start; padding:34px 0; border-bottom:1px solid var(--cinza-borda);
}
.bloco-servico:last-child{border-bottom:none;}
@media (min-width:760px){ .bloco-servico{grid-template-columns: 70px 1fr;} }
.bloco-servico .icone{
  width:70px; height:70px; border-radius:14px; background:var(--preto); color:var(--vermelho-claro);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.bloco-servico .icone svg{width:34px; height:34px;}
.bloco-servico h3{font-size:1.25rem; margin-bottom:8px;}
.bloco-servico p{color:var(--cinza-texto);}

.faixa-urgencia{
  background:var(--preto); color:#fff; text-align:center; padding:44px 20px; border-radius:var(--raio);
  border:2px solid var(--vermelho);
}
.faixa-urgencia h2{color:#fff; margin-bottom:10px;}
.faixa-urgencia p{color:#e6d5d5; margin-bottom:22px; max-width:520px; margin-left:auto; margin-right:auto;}

/* ===== CTA FINAL ===== */
.cta-final{
  background:var(--vermelho); color:#fff; text-align:center; padding:54px 20px; border-radius:var(--raio);
}
.cta-final h2{color:#fff; margin-bottom:10px;}
.cta-final p{color:#f1dede; margin-bottom:26px;}

/* ===== FOOTER ===== */
.footer{background:var(--preto); color:#cbb9b9; padding:44px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1fr; gap:30px; margin-bottom:30px;}
@media (min-width:760px){ .footer-grid{grid-template-columns:2fr 1fr 1fr;} }
.footer h4{color:#fff; font-size:1rem; margin-bottom:14px;}
.footer p, .footer a{font-size:.9rem; color:#cbb9b9;}
.footer a:hover{color:#fff;}
.footer li{margin-bottom:8px;}
.footer-social{display:flex; justify-content:center; margin-bottom:26px;}
.footer-social a{
  width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center;
  color:#cbb9b9; transition:background .2s, color .2s, transform .2s;
}
.footer-social a:hover{background:var(--vermelho); color:#fff; transform:translateY(-2px);}
.footer-social svg{width:20px; height:20px;}

.footer-bottom{border-top:1px solid #2a2a2a; padding-top:18px; font-size:.8rem; text-align:center; color:#8a7a7a;}
.footer-bottom a{font-size:inherit; font-weight:700; color:#FFBA00;}

/* ===== BOTÃO FLUTUANTE WHATSAPP ===== */
.whatsapp-flutuante{
  position:fixed; bottom:20px; right:20px; z-index:200;
  width:58px; height:58px; border-radius:50%; background:var(--whatsapp);
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(0,0,0,.3);
  animation: pulso 2.4s infinite;
}
.whatsapp-flutuante svg{width:30px; height:30px; color:#fff;}
@keyframes pulso{
  0%{box-shadow:0 0 0 0 rgba(28,107,65,.45);}
  70%{box-shadow:0 0 0 14px rgba(28,107,65,0);}
  100%{box-shadow:0 0 0 0 rgba(28,107,65,0);}
}

/* ===== ACENTO DE TÍTULO (barra em degradê) ===== */
.section-title{position:relative; padding-bottom:16px;}
.section-title::after{
  content:""; position:absolute; left:0; bottom:0; width:46px; height:4px; border-radius:2px;
  background:linear-gradient(to right, var(--vermelho), var(--vermelho-claro));
}
.section-title.center::after{left:50%; transform:translateX(-50%);}

/* ===== ACENTO DE CANTO (inspirado na referência, sem ícones de terceiros) ===== */
.acento-canto{
  position:absolute; top:0; left:0; width:90px; height:90px; z-index:2; pointer-events:none;
  background:linear-gradient(135deg, var(--vermelho-claro), var(--vermelho) 65%);
  clip-path:polygon(0 0, 100% 0, 0 100%);
}
@media (min-width:960px){ .acento-canto{width:130px; height:130px;} }

/* ===== CATEGORIAS FLUTUANDO SOBRE O HERO (item_section adaptado — fotos reais, sem preço/compra) ===== */
.categorias-flutuantes{
  position:relative; z-index:5; margin-top:-46px; padding:0 20px;
  display:grid; grid-template-columns:1fr; gap:14px;
}
@media (min-width:760px){
  .categorias-flutuantes{grid-template-columns:repeat(3,1fr); max-width:1180px; margin:-56px auto 0; padding:0 20px;}
}
.categoria-tile{
  position:relative; border-radius:var(--raio); overflow:hidden; aspect-ratio:4/3; background:var(--preto);
  box-shadow:var(--sombra); transition:transform .2s, box-shadow .2s;
}
.categoria-tile:hover{transform:translateY(-4px);}
.categoria-tile img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s;}
.categoria-tile:hover img{transform:scale(1.07);}
.categoria-tile span{
  position:absolute; left:0; right:0; bottom:0; padding:14px 16px 12px;
  background:linear-gradient(0deg, rgba(0,0,0,.8), transparent);
  color:#fff; font-family:var(--fonte-titulo); font-weight:700; font-size:.95rem;
}

/* ===== DESTAQUE (ring_section adaptado — foto retangular real + WhatsApp) ===== */
.destaque-produto{
  position:relative; background:#fff; border-radius:var(--raio); overflow:hidden;
  box-shadow:0 0 56px 1px rgba(0,0,0,.08);
}
.destaque-grid{display:grid; grid-template-columns:1fr;}
@media (min-width:860px){ .destaque-grid{grid-template-columns:1fr 1fr; align-items:stretch;} }
.destaque-imagem{height:240px; background:var(--preto);}
.destaque-imagem img{width:100%; height:100%; object-fit:cover; display:block;}
@media (min-width:860px){ .destaque-imagem{height:auto;} }
.destaque-corpo{padding:36px 32px;}
.destaque-lista{margin:18px 0 26px; display:flex; flex-direction:column; gap:10px;}
.destaque-lista li{display:flex; align-items:flex-start; gap:10px; font-size:.94rem; color:var(--cinza-texto);}
.destaque-lista svg{width:18px; height:18px; color:var(--vermelho); flex-shrink:0; margin-top:2px;}

/* ===== LOCALIZAÇÃO (contact_section adaptado — sem formulário, com área de atendimento) ===== */
.localizacao_section .container > .row-local{
  display:grid; grid-template-columns:1fr; gap:30px; align-items:stretch;
}
@media (min-width:860px){ .localizacao_section .row-local{grid-template-columns:1fr 1fr;} }
.local-info{
  background:var(--cinza-claro); border-radius:var(--raio); padding:32px 28px;
  display:flex; flex-direction:column; justify-content:center; gap:16px;
  min-width:0; /* impede o card de estourar a largura da coluna do grid */
}
.local-info h3{font-size:1.05rem; margin-bottom:2px;}
.local-lista{display:flex; flex-direction:column; gap:14px;}
.local-item{display:flex; align-items:center; gap:12px;}
.local-item .icone{
  width:42px; height:42px; border-radius:10px; background:var(--preto); color:var(--vermelho-claro);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.local-item .icone svg{width:20px; height:20px;}
.local-item p{margin:0; font-size:.92rem; color:var(--cinza-texto);}
.local-item a{color:var(--preto); font-weight:600;}
.mapa-container{border-radius:var(--raio); overflow:hidden; min-height:280px; box-shadow:0 2px 10px rgba(0,0,0,.1); min-width:0; width:100%;}
.mapa-container iframe{width:100%; max-width:100%; height:100%; min-height:280px; border:0; display:block;}

/* ===== HERO — CARROSSEL (index) ===== */
.hero-carrossel{position:relative;}
.hero-slide{display:none;}
.hero-slide.ativo{display:grid;}
.hero-dots{display:flex; gap:8px; margin-top:8px;}
.hero-dot{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.35); border:0; cursor:pointer; padding:0; transition:width .2s, background .2s;}
.hero-dot.ativo{background:var(--vermelho-claro); width:24px; border-radius:5px;}
