/* ============================================================
   Fabricações Metálicas LJ3 — site
   Paleta: azul #042552 · laranja #E95D0E · prata #CFD2D7
   ============================================================ */

:root{
  --navy:#042552;
  --navy-2:#0a3772;
  --orange:#E95D0E;
  --silver:#CFD2D7;
  --ink:#12161c;
  --muted:#5b6472;
  --line:#e3e6ea;
  --bg:#ffffff;
  --bg-alt:#f6f7f9;
  --radius:14px;
  --shadow:0 1px 2px rgba(4,37,82,.06), 0 8px 24px rgba(4,37,82,.07);
  --wrap:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
h1,h2,h3{margin:0 0 .5em; line-height:1.15; letter-spacing:-.02em; font-weight:800}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-size:1.15rem; font-weight:750}
p{margin:0 0 1em}
a{color:inherit; text-decoration:none}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}

/* ---------------- NAV ---------------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s;
}
.nav.scrolled{box-shadow:0 4px 20px rgba(4,37,82,.08)}
.nav-in{display:flex; align-items:center; gap:24px; height:68px}
.brand img{height:40px; width:auto}
.links{display:flex; gap:26px; margin-left:auto; font-size:.93rem; font-weight:600; color:#3b4657}
.links a{padding:6px 0; border-bottom:2px solid transparent; transition:border-color .2s,color .2s}
.links a:hover{color:var(--navy); border-bottom-color:var(--orange)}

/* botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 20px; border-radius:10px; font-weight:700; font-size:.92rem;
  border:1.5px solid transparent; cursor:pointer; transition:transform .15s, box-shadow .2s, background .2s, border-color .2s;
  white-space:nowrap; font-family:inherit;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--orange); color:#fff; box-shadow:0 4px 14px rgba(233,93,14,.28)}
.btn-primary:hover{background:#d9530c; box-shadow:0 6px 20px rgba(233,93,14,.36)}
.btn-ghost{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.22)}
.btn-line{background:transparent; color:var(--navy); border-color:var(--line)}
.btn-line:hover{border-color:var(--navy); background:#f2f5fa}
.btn-wa{background:#25D366; color:#fff; padding:10px 16px}
.btn-wa:hover{background:#1fbb59}
.btn-block{width:100%; margin-top:6px}

/* ---------------- HERO ---------------- */
.hero{position:relative; color:#fff; overflow:hidden; isolation:isolate}
.hero-bg{
  position:absolute; inset:0; z-index:-2;
  background:url("assets/maquinas/maq-perfiladeira.jpg") center 40%/cover no-repeat;
}
.hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(105deg, rgba(4,37,82,.93) 0%, rgba(4,37,82,.78) 45%, rgba(4,37,82,.35) 100%);
}
.hero-in{padding:clamp(64px,10vw,120px) 20px clamp(56px,8vw,96px); max-width:820px}
.eyebrow{
  display:inline-block; margin-bottom:18px; padding:7px 14px; border-radius:100px;
  background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.22);
  font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
}
.hero h1{margin-bottom:.35em}
.hl{color:#FFB27A}
.lead{font-size:clamp(1rem,1.5vw,1.15rem); color:rgba(255,255,255,.86); max-width:60ch}
.cta-row{display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 0}
.hero-facts{
  display:flex; flex-wrap:wrap; gap:34px; margin:52px 0 0; padding:26px 0 0;
  list-style:none; border-top:1px solid rgba(255,255,255,.18);
}
.hero-facts li{display:flex; flex-direction:column}
.hero-facts strong{font-size:1.35rem; font-weight:800}
.hero-facts span{font-size:.82rem; color:rgba(255,255,255,.72)}

/* ---------------- SEÇÕES ---------------- */
.sec{padding:clamp(58px,7vw,92px) 0}
.sec-alt{background:var(--bg-alt)}
.kicker{
  font-size:.78rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase;
  color:var(--orange); margin-bottom:10px;
}
.kicker-light{color:#FFB27A}
.sec h2{margin-bottom:1.4em}

/* ---------------- CARDS PRODUTOS ---------------- */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:22px}
.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .2s, box-shadow .25s, border-color .2s;
}
.card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:#d5dae2}
.card-dest{border-color:rgba(233,93,14,.45); box-shadow:0 0 0 1px rgba(233,93,14,.12), var(--shadow)}
.card-img{aspect-ratio:4/3; background:#eef1f5; overflow:hidden}
.card-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s}
.card:hover .card-img img{transform:scale(1.04)}
.card-img-icon{display:grid; place-items:center; background:linear-gradient(160deg,#f4f6f9,#e6eaf0); padding:26px}
.card-img-icon svg{width:78%; height:auto}
.card-body{padding:22px; display:flex; flex-direction:column; flex:1}
.tag{
  align-self:flex-start; font-size:.7rem; font-weight:800; letter-spacing:.07em;
  text-transform:uppercase; padding:5px 10px; border-radius:6px;
  background:#eef2f8; color:var(--navy); margin-bottom:12px;
}
.tag-orange{background:rgba(233,93,14,.12); color:var(--orange)}
.card p{font-size:.92rem; color:var(--muted); margin-bottom:16px}

.specs{list-style:none; margin:0 0 18px; padding:0; font-size:.84rem}
.specs li{display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px dashed var(--line)}
.specs li:last-child{border-bottom:0}
.specs span{color:var(--muted)}
.specs b{text-align:right; font-weight:700}

.price{margin:auto 0 14px !important; font-size:1.5rem; font-weight:800; color:var(--navy)}
.price small{display:block; font-size:.72rem; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em}
.price em{font-size:.85rem; font-style:normal; font-weight:600; color:var(--muted)}
.price-sob{font-size:1.1rem; color:var(--muted); font-weight:700}
.card .btn{width:100%}

/* ---------------- SPLIT ---------------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center}
.split-img img{border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover}
.feats{display:flex; flex-direction:column; gap:24px; margin-top:8px}
.feat{display:flex; gap:16px}
.feat-ico{
  flex:0 0 42px; height:42px; border-radius:10px; display:grid; place-items:center;
  background:var(--navy); color:#fff; font-weight:800; font-size:.85rem;
}
.feat h3{margin-bottom:4px; font-size:1.02rem}
.feat p{font-size:.92rem; color:var(--muted); margin:0}

/* ---------------- PASSOS ---------------- */
.passos{
  list-style:none; margin:0; padding:0; display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:20px; counter-reset:p;
}
.passos li{
  position:relative; padding:26px 22px; border:1px solid var(--line);
  border-radius:var(--radius); background:#fff;
}
.passos span{
  display:grid; place-items:center; width:34px; height:34px; border-radius:50%;
  background:rgba(233,93,14,.12); color:var(--orange); font-weight:800;
  font-size:.9rem; margin-bottom:14px;
}
.passos h3{font-size:1rem; margin-bottom:4px}
.passos p{font-size:.88rem; color:var(--muted); margin:0}

/* ---------------- CONTATO ---------------- */
.sec-dark{background:var(--navy); color:#fff}
.sec-dark h2{color:#fff}
.contato-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,64px); align-items:start}
.lead-light{color:rgba(255,255,255,.8); font-size:1rem}
.contatos{list-style:none; margin:30px 0 0; padding:0; display:flex; flex-direction:column; gap:2px}
.contatos li{
  display:flex; gap:14px; align-items:baseline; padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.13); font-size:.95rem;
}
.contatos span:first-child{
  flex:0 0 96px; font-size:.74rem; font-weight:800; letter-spacing:.07em;
  text-transform:uppercase; color:rgba(255,255,255,.55);
}
.contatos a{color:#fff; border-bottom:1px solid rgba(255,255,255,.35)}
.contatos a:hover{border-bottom-color:var(--orange); color:#FFB27A}

.form{
  background:#fff; color:var(--ink); border-radius:var(--radius);
  padding:clamp(22px,3vw,32px); box-shadow:0 20px 50px rgba(0,0,0,.25);
  display:flex; flex-direction:column; gap:14px;
}
.field{display:flex; flex-direction:column; gap:6px}
.field label{font-size:.8rem; font-weight:750; color:#3b4657}
.field input,.field select,.field textarea{
  font-family:inherit; font-size:.94rem; color:var(--ink);
  padding:11px 13px; border:1.5px solid var(--line); border-radius:9px;
  background:#fbfcfd; transition:border-color .2s, box-shadow .2s, background .2s;
  width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--navy); background:#fff;
  box-shadow:0 0 0 3px rgba(4,37,82,.1);
}
.field input.err,.field textarea.err{border-color:#d92d20; background:#fff5f4}
.field textarea{resize:vertical; min-height:84px}
.form-note{font-size:.74rem; color:var(--muted); margin:10px 0 0; text-align:center}

/* ---------------- FOOTER ---------------- */
.foot{background:#030f22; color:rgba(255,255,255,.72); padding:44px 0; font-size:.84rem}
.foot-in{display:flex; gap:26px; align-items:flex-start; flex-wrap:wrap}
.foot-logo{height:38px; width:auto; filter:brightness(0) invert(1); opacity:.9}
.foot-info p{margin:0 0 5px}
.foot-info strong{color:#fff}
.foot-fine{color:rgba(255,255,255,.42); font-size:.76rem; margin-top:10px !important}

/* ---------------- WHATSAPP FLUTUANTE ---------------- */
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:60;
  width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
  background:#25D366; color:#fff; box-shadow:0 8px 24px rgba(37,211,102,.42);
  transition:transform .2s, box-shadow .2s;
}
.wa-float:hover{transform:scale(1.07); box-shadow:0 10px 30px rgba(37,211,102,.55)}

/* ---------------- RESPONSIVO ---------------- */
@media (max-width:900px){
  .split,.contato-grid{grid-template-columns:1fr}
  .links{display:none}
  .nav-in{height:60px}
  .brand img{height:34px}
}
@media (max-width:560px){
  .hero-facts{gap:22px}
  .cta-row .btn{flex:1}
  .btn-wa span{display:none}
  .card-body{padding:18px}
  .contatos span:first-child{flex-basis:78px}
}

/* ---------------- ANIMAÇÃO ---------------- */
@media (prefers-reduced-motion:no-preference){
  .card,.passos li{animation:fade .5s ease both}
  @keyframes fade{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}
}

/* link de destaque no menu (calculadora) */
.links .link-calc{ color:var(--orange); font-weight:800; }
.links .link-calc:hover{ border-bottom-color:var(--orange); }

/* ---------------- GALERIA ---------------- */
.galeria-sub{color:var(--muted); font-size:.95rem; margin:-14px 0 26px; max-width:60ch}
.fig-larga{margin:0 0 26px}
.fig-larga img{
  width:100%; border-radius:var(--radius); box-shadow:var(--shadow);
  background:#eef1f5;
}
.fig-larga figcaption{
  font-size:.8rem; color:var(--muted); margin-top:10px; padding-left:2px;
  border-left:3px solid var(--orange); padding-left:12px;
}

/* ---------- espessura sob encomenda (cards) ---------- */
.enc-min{
  font-size:.75rem; color:var(--muted); margin:0 0 14px !important;
  line-height:1.45; padding-top:10px; border-top:1px dashed var(--line);
}
.enc-min b{color:var(--navy); font-weight:750}

/* ---------- bloco de preço: tabela em destaque, promoção como "de" ---------- */
.preco-bloco{margin:auto 0 14px}
.preco-bloco .price{margin:0 0 4px !important}
.price-de{
  margin:0 0 2px !important; font-size:.82rem; color:var(--muted);
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.price-de s{opacity:.75}
.selo-promo{
  font-size:.62rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  background:var(--orange); color:#fff; padding:3px 7px; border-radius:20px;
  white-space:nowrap;
}
.preco-nota{
  font-size:.7rem; color:var(--muted); margin:2px 0 0 !important; line-height:1.4;
}
