/* Buscare Conexões — estilo (v2). Identidade: docs/IDENTIDADE_VISUAL.md */
:root{
  --areia:#EFEAE2; --areia2:#E6E0D6; --areia3:#D9D2C6; --card:#FFFFFF;
  --ink:#1B1F24; --ink2:#5F6673; --ink3:#9AA0AA; --linha:#DDD6CA; --linha2:#C6BFB2;
  --graf:#1B1F24; --graf2:#2A3038; --graf3:#353C46; --graf-ink:#EFEAE2; --graf-ink2:#A7ADB8; --graf-linha:rgba(255,255,255,.1);
  --lar:#F48C06; --lar2:#C26A00; --lar-ink:#1B1F24; --lar-suave:rgba(244,140,6,.13);
  --ok:#2E8B57; --okbg:#DFF0E6; --alerta:#B35F00; --alertabg:#FCE7CC; --erro:#D92D20; --errobg:#FADCD8; --info:#2F5D8A; --infobg:#DCE8F3;
  --r:6px; --r2:10px; --r3:14px;
  --ease:cubic-bezier(.23,1,.32,1);
  --sombra:0 1px 2px rgba(27,31,36,.05),0 10px 30px -12px rgba(27,31,36,.22);
  --sombra2:0 30px 80px -24px rgba(0,0,0,.45);
  --fh:"Saira Stencil One",Impact,"Arial Black",Arial,sans-serif;
  --f:Barlow,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --lateral:248px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]){
    --areia:#15181C; --areia2:#1E2227; --areia3:#272C33; --card:#20252B; --ink:#EFEAE2; --ink2:#A7ADB8; --ink3:#6F7784; --linha:#30363F; --linha2:#3F4650;
    --graf:#0F1215; --graf2:#1B1F24; --graf3:#2A3038;
    --ok:#5FC28A; --okbg:#1C3528; --alerta:#F2A54A; --alertabg:#3A280F; --erro:#FF6B5E; --errobg:#3B1D1A; --info:#8DB8E3; --infobg:#1B2B3B;
    --sombra:0 1px 2px rgba(0,0,0,.3),0 10px 30px -12px rgba(0,0,0,.7); color-scheme:dark;
  }
}
:root[data-tema="escuro"]{
  --areia:#15181C; --areia2:#1E2227; --areia3:#272C33; --card:#20252B; --ink:#EFEAE2; --ink2:#A7ADB8; --ink3:#6F7784; --linha:#30363F; --linha2:#3F4650;
  --graf:#0F1215; --graf2:#1B1F24; --graf3:#2A3038;
  --ok:#5FC28A; --okbg:#1C3528; --alerta:#F2A54A; --alertabg:#3A280F; --erro:#FF6B5E; --errobg:#3B1D1A; --info:#8DB8E3; --infobg:#1B2B3B;
  --sombra:0 1px 2px rgba(0,0,0,.3),0 10px 30px -12px rgba(0,0,0,.7); color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--areia);color:var(--ink);font:400 15.5px/1.55 var(--f);-webkit-font-smoothing:antialiased;min-height:100vh}
img{max-width:100%;display:block}
[hidden]{display:none!important}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
h1,h2,.fh{font-family:var(--fh);text-transform:uppercase;letter-spacing:.02em}
h1{font-size:clamp(40px,6vw,76px);line-height:.98}
h2{font-size:clamp(24px,3vw,34px);line-height:1.08}
h3{font-size:17px;font-weight:600;line-height:1.3}
h4{font-size:14px;font-weight:600}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--lar);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.suave{color:var(--ink2)}
.peq{font-size:13px}
.ic{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.olho{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);display:flex;align-items:center;gap:10px}
.olho::before{content:"";width:22px;height:3px;background:var(--lar);flex:none}
.zebra{height:8px;background:repeating-linear-gradient(-30deg,var(--lar) 0 18px,var(--graf) 18px 36px)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--linha2);background:var(--card);color:var(--ink);padding:11px 18px;border-radius:var(--r);font-weight:600;font-size:14.5px;line-height:1.15;white-space:nowrap;transition:transform .12s var(--ease),background .15s,border-color .15s,color .15s,box-shadow .15s;text-align:center}
.btn:active{transform:scale(.97)}
.btn .ic{width:17px;height:17px}
.btn.pri{background:var(--lar);border-color:var(--lar);color:var(--lar-ink)}
.btn.esc{background:var(--graf);border-color:var(--graf);color:var(--graf-ink)}
.btn.fant{background:transparent;border-color:transparent}
.btn.contorno-claro{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.btn.perigo{color:var(--erro)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.p{padding:7px 12px;font-size:13px}
.btn.g{padding:15px 24px;font-size:16px}
.btn.w{width:100%}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
@media (hover:hover){
  .btn:hover{border-color:var(--ink3)}
  .btn.pri:hover{background:var(--lar2);border-color:var(--lar2)}
  .btn.esc:hover{background:var(--graf3)}
  .btn.fant:hover{background:var(--areia2);border-color:transparent}
  .btn.contorno-claro:hover{border-color:#fff;background:rgba(255,255,255,.06)}
}
.link{color:var(--lar2);font-weight:600;background:none;border:0;padding:0;display:inline-flex;gap:6px;align-items:center}
@media (hover:hover){.link:hover{text-decoration:underline}}

/* ---------- formulários ---------- */
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo>span,.rot{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.campo small{color:var(--ink2);font-size:12.5px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--linha2);border-radius:var(--r);padding:11px 12px;width:100%;transition:border-color .15s,box-shadow .15s;min-width:0}
textarea{resize:vertical;min-height:88px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--lar2);box-shadow:0 0 0 3px var(--lar-suave)}
input:disabled,select:disabled,textarea:disabled{opacity:.55;background:var(--areia2)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--lar2);flex:none}
.check{display:flex;gap:10px;align-items:center;font-size:14.5px;cursor:pointer}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form .cheio{grid-column:1/-1}
.form.um{grid-template-columns:1fr}
.form.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.acoes{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;grid-column:1/-1;align-items:center}
.acoes.esq{justify-content:flex-start}
.erro-msg{color:var(--erro);font-size:13.5px;font-weight:600;min-height:1em}
.erro-msg:empty{display:none}
.segmento{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;border:1px solid var(--linha);padding:3px;border-radius:var(--r);background:var(--areia2)}
.segmento button{border:0;background:transparent;padding:9px 6px;border-radius:4px;font-weight:600;font-size:13.5px;color:var(--ink2);transition:background .15s,color .15s}
.segmento button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.foto-drop{border:1.5px dashed var(--linha2);border-radius:var(--r2);padding:18px;text-align:center;color:var(--ink2);font-size:13.5px;cursor:pointer;display:grid;gap:10px;justify-items:center;transition:border-color .15s,background .15s;background:var(--card)}
@media (hover:hover){.foto-drop:hover{border-color:var(--lar2);background:var(--lar-suave)}}
.foto-drop img{max-height:180px;border-radius:var(--r);object-fit:cover}
.foto-drop input{display:none}

/* ---------- selos ---------- */
.selo{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;line-height:1.2}
.selo::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.selo.ok{background:var(--okbg);color:var(--ok)} .selo.alerta{background:var(--alertabg);color:var(--alerta)}
.selo.erro{background:var(--errobg);color:var(--erro)} .selo.info{background:var(--infobg);color:var(--info)} .selo.n{background:var(--areia2);color:var(--ink2)}
.badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--lar);color:var(--lar-ink);font-weight:700;font-size:11.5px;display:inline-grid;place-items:center;line-height:1}
.chip{font-size:12.5px;background:var(--areia2);color:var(--ink2);padding:4px 9px;border-radius:999px;white-space:nowrap}

/* ---------- topo público ---------- */
.topo{position:sticky;top:0;z-index:30;background:var(--graf);color:var(--graf-ink);border-bottom:1px solid var(--graf-linha)}
.topo-in{max-width:1240px;margin:0 auto;padding:0 20px;min-height:66px;display:flex;align-items:center;gap:22px}
.marca{display:flex;align-items:center;gap:10px;flex:none}
.marca img{height:38px;width:auto}
.marca b{font-family:var(--fh);font-weight:400;font-size:21px;letter-spacing:.05em;line-height:1;text-transform:uppercase;color:#fff}
.marca small{display:block;font-weight:700;font-size:9px;letter-spacing:.34em;color:var(--lar);margin-top:3px}
.topo-nav{display:flex;gap:4px;margin-left:12px}
.topo-nav a{padding:8px 12px;border-radius:var(--r);font-weight:600;font-size:14.5px;color:var(--graf-ink2);transition:color .15s,background .15s}
.topo-nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.07)}
@media (hover:hover){.topo-nav a:hover{color:#fff}}
.topo-acoes{margin-left:auto;display:flex;gap:8px;align-items:center}
.topo .btn:not(.pri){background:transparent;border-color:rgba(255,255,255,.22);color:#fff}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--lar);color:var(--lar-ink);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none;border:0}
.menu-btn{display:none;background:transparent;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:var(--r);width:42px;height:42px;place-items:center}

/* ---------- hero ---------- */
.hero{background:var(--graf) url(assets/tex_grafite.jpg) center/cover;color:var(--graf-ink);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,18,21,.92) 30%,rgba(15,18,21,.35))}
.hero-in{position:relative;max-width:1240px;margin:0 auto;padding:64px 20px 56px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center}
.hero .olho{color:var(--graf-ink2)}
.hero h1{color:#fff;margin-top:18px}
.hero h1 em{font-style:normal;color:var(--lar);display:block}
.hero-sub{font-size:18px;color:var(--graf-ink2);max-width:48ch;margin-top:20px}
.busca{margin-top:30px;background:var(--card);color:var(--ink);border-radius:var(--r2);padding:16px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;align-items:end;box-shadow:var(--sombra2)}
.hero-img{position:relative;aspect-ratio:1/.86}
.hero-img img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 34px 40px rgba(0,0,0,.55));transform:scale(1.12)}
.canto{position:absolute;width:26px;height:26px;border:3px solid var(--lar)}
.canto.a{left:0;top:0;border-right:0;border-bottom:0}.canto.b{right:0;top:0;border-left:0;border-bottom:0}.canto.c{left:0;bottom:0;border-right:0;border-top:0}.canto.d{right:0;bottom:0;border-left:0;border-top:0}
.numeros{position:relative;max-width:1240px;margin:0 auto;padding:0 20px 34px;display:flex;gap:40px;flex-wrap:wrap}
.numeros div{border-top:1px solid var(--graf-linha);padding-top:14px;min-width:140px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--graf-ink2)}
.numeros b{display:block;font-family:var(--fh);font-weight:400;font-size:32px;color:#fff;letter-spacing:0;margin-bottom:2px}

/* ---------- seções públicas ---------- */
.sec{max-width:1240px;margin:0 auto;padding:72px 20px 0}
.sec-cab{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.sec-cab h2{margin-top:10px}
.sec-cab p{color:var(--ink2);margin-top:8px;max-width:60ch}
.tipos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.tipo{background:var(--graf) url(assets/tex_grafite.jpg) center/cover;border-radius:var(--r2);padding:14px 12px 12px;color:#fff;display:grid;gap:8px;position:relative;overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s}
.tipo img{height:92px;width:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.5))}
.tipo b{font-weight:600;font-size:14px;line-height:1.2}
.tipo span{font-size:12px;color:var(--graf-ink2)}
@media (hover:hover){.tipo:hover{transform:translateY(-3px);box-shadow:var(--sombra)}}
.servicos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.servico{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);padding:20px;display:grid;gap:8px;align-content:start;transition:border-color .15s,transform .2s var(--ease)}
.servico .k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lar2)}
.servico p{font-size:14px;color:var(--ink2)}
.servico .ideal{margin-top:6px;padding-top:12px;border-top:1px dashed var(--linha2);font-size:13.5px;display:flex;gap:8px;align-items:start}
.servico .ideal .ic{color:var(--lar2);margin-top:2px}
@media (hover:hover){.servico:hover{border-color:var(--lar);transform:translateY(-2px)}}
.passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:p;margin-top:18px}
.passo{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);padding:22px 20px;counter-increment:p;position:relative}
.passo::before{content:"0" counter(p);font-family:var(--fh);font-size:34px;color:var(--lar);line-height:1;display:block;margin-bottom:12px}
.passo p{font-size:14px;color:var(--ink2);margin-top:6px}
.abas{display:inline-flex;gap:3px;background:var(--areia2);border:1px solid var(--linha);border-radius:var(--r);padding:3px}
.abas button{border:0;background:transparent;padding:9px 16px;border-radius:4px;font-weight:600;font-size:14px;color:var(--ink2)}
.abas button[aria-selected="true"]{background:var(--graf);color:var(--graf-ink)}
.faixa{background:var(--graf) url(assets/tex_grafite.jpg) center/cover;color:var(--graf-ink);margin-top:80px}
.faixa-in{max-width:1240px;margin:0 auto;padding:64px 20px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.faixa h2{color:#fff;margin-top:12px}
.faixa .olho{color:var(--graf-ink2)}
.faixa p{color:var(--graf-ink2);margin-top:14px;max-width:48ch}
.lista-check{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.lista-check li{display:flex;gap:10px;align-items:start}
.lista-check .ic{color:var(--lar);margin-top:3px}
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.plano{background:rgba(42,48,56,.9);border:1px solid var(--graf-linha);border-radius:var(--r2);padding:22px;display:grid;gap:8px;align-content:start;position:relative}
.plano.claro{background:var(--card);border-color:var(--linha);color:var(--ink)}
.plano.destaque{border-color:var(--lar);box-shadow:0 0 0 1px var(--lar)}
.plano .tag{position:absolute;top:-11px;left:18px;background:var(--lar);color:var(--lar-ink);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.plano .nome{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--lar)}
.plano .preco{font-family:var(--fh);font-size:34px;line-height:1.05}
.plano .preco small{font-family:var(--f);font-size:13px;color:inherit;opacity:.7}
.plano .mes{font-size:13px;opacity:.75}
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);padding:0 18px}
.faq summary{cursor:pointer;padding:16px 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--lar2);line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 16px;color:var(--ink2);font-size:14.5px}
.cta{background:var(--lar) url(assets/tex_laranja.jpg) center/cover;margin-top:80px;position:relative;color:var(--graf)}
.cta-in{max-width:1240px;margin:0 auto;padding:48px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;position:relative}
.cta h2{font-size:clamp(28px,4vw,46px)}
.cta p{font-weight:600;margin-top:6px}
.rodape{background:var(--graf);color:var(--graf-ink2)}
.rodape-in{max-width:1240px;margin:0 auto;padding:44px 20px 28px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px}
.rodape h4{color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.rodape a,.rodape button{color:var(--graf-ink2);background:none;border:0;padding:0;font-size:14px}
@media (hover:hover){.rodape a:hover,.rodape button:hover{color:#fff}}
.rodape-base{border-top:1px solid var(--graf-linha);max-width:1240px;margin:0 auto;padding:16px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px}

/* ---------- cards de máquina ---------- */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.mcard{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;animation:sobe .35s var(--ease) both}
.grade .mcard:nth-child(2){animation-delay:40ms}.grade .mcard:nth-child(3){animation-delay:80ms}.grade .mcard:nth-child(n+4){animation-delay:120ms}
@keyframes sobe{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (hover:hover){.mcard:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:var(--linha2)}}
.mcard .img{aspect-ratio:16/10;background:var(--graf) url(assets/tex_grafite.jpg) center/cover;position:relative;overflow:hidden}
.mcard .img img{width:100%;height:100%;object-fit:cover}
.mcard .img img.render,.render{object-fit:contain!important;padding:12px 16px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.5))}
.mcard .tag{position:absolute;left:12px;top:12px;background:var(--lar);color:var(--lar-ink);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.mcard .ano{position:absolute;right:12px;top:12px;background:rgba(0,0,0,.6);color:#fff;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px}
.mcard .corpo{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.mcard h3{font-size:18px}
.mcard .meta{font-size:13.5px;color:var(--ink2);display:flex;gap:6px;align-items:center}
.mcard .meta .ic{width:15px;height:15px}
.mcard .chips{display:flex;gap:6px;flex-wrap:wrap}
.mcard .pe{margin-top:auto;padding-top:12px;border-top:1px solid var(--linha);display:flex;justify-content:space-between;align-items:center;gap:10px}
.mcard .valor{font-size:12px;color:var(--ink2)}
.mcard .valor b{display:block;font-size:17px;color:var(--ink);font-weight:700}
.esqueleto{background:linear-gradient(90deg,var(--areia2),var(--areia3),var(--areia2));background-size:200% 100%;animation:brilho 1.2s infinite;border-radius:var(--r2);min-height:320px}
@keyframes brilho{to{background-position:-200% 0}}
.vazio{padding:40px 20px;text-align:center;color:var(--ink2);border:1.5px dashed var(--linha2);border-radius:var(--r2);display:grid;gap:10px;justify-items:center;grid-column:1/-1}
.vazio .ic{width:32px;height:32px;color:var(--ink3)}

/* ---------- catálogo e detalhe ---------- */
.pagina{max-width:1240px;margin:0 auto;padding:34px 20px 0}
.migalha{font-size:13.5px;color:var(--ink2);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.migalha a{color:var(--lar2);font-weight:600}
.catalogo{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start;margin-top:24px}
.filtros{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);padding:18px;display:grid;gap:16px;position:sticky;top:86px}
.filtros h3{display:flex;justify-content:space-between;align-items:center}
.filtros-corpo{display:grid;gap:16px}
.res-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.res-cab select{width:auto}
.detalhe{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:28px;align-items:start}
.galeria{background:var(--graf) url(assets/tex_grafite.jpg) center/cover;border-radius:var(--r3);aspect-ratio:4/3;overflow:hidden;position:relative}
.galeria img{width:100%;height:100%;object-fit:cover}
.caixa{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);padding:22px}
.caixa+.caixa{margin-top:16px}
.caixa h3{margin-bottom:12px}
.precos{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:14px 0}
.precos div{background:var(--areia);border-radius:var(--r);padding:10px 12px;font-size:12px;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.precos b{display:block;color:var(--ink);font-size:18px;letter-spacing:0;text-transform:none;margin-top:3px}
.ficha{display:grid;grid-template-columns:auto 1fr;gap:0 18px;margin:0;font-size:14.5px}
.ficha dt{color:var(--ink2);padding:9px 0;border-top:1px solid var(--linha);display:flex;gap:8px;align-items:center}
.ficha dd{margin:0;padding:9px 0;border-top:1px solid var(--linha);font-weight:500}
.ficha dt:first-of-type,.ficha dt:first-of-type+dd{border-top:0}
.ficha .ic{width:16px;height:16px;color:var(--ink3)}

/* ---------- painel ---------- */
.painel{display:grid;grid-template-columns:var(--lateral) minmax(0,1fr);min-height:100vh}
.lateral{background:var(--graf);color:var(--graf-ink);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 12px;overflow-y:auto;z-index:35}
.lateral .marca{padding:4px 8px 18px}
.lateral-grupo{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);padding:14px 12px 6px}
.lateral a,.lateral .item-btn{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--r);font-weight:500;font-size:14.5px;color:var(--graf-ink2);transition:background .15s,color .15s;background:none;border:0;width:100%;text-align:left}
.lateral a .ic{color:var(--ink3)}
.lateral a .badge{margin-left:auto}
.lateral a[aria-current="page"]{background:rgba(244,140,6,.14);color:#fff}
.lateral a[aria-current="page"] .ic{color:var(--lar)}
@media (hover:hover){.lateral a:hover,.lateral .item-btn:hover{background:rgba(255,255,255,.06);color:#fff}}
.lateral-pe{margin-top:auto;border-top:1px solid var(--graf-linha);padding-top:14px;display:grid;gap:6px}
.quem{display:flex;gap:10px;align-items:center;padding:6px 8px 10px}
.quem b{display:block;color:#fff;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.quem span{font-size:12px;color:var(--graf-ink2)}
.principal{min-width:0;padding:28px 32px 60px}
.cab{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.cab h1{font-size:clamp(26px,3vw,34px);line-height:1.1;margin-top:6px}
.cab p{color:var(--ink2);margin-top:6px}
.topo-painel{display:none}
.cards{display:grid;gap:16px}
.cards.dois{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);padding:20px 22px;min-width:0}
.card>h3,.card-cab{margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.card.sem-pad{padding:0;overflow:hidden}
.card.sem-pad>h3,.card.sem-pad>.card-cab{padding:16px 20px 0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);padding:16px 18px;position:relative;overflow:hidden}
.kpi .r{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.kpi .v{font-family:var(--fh);font-size:32px;line-height:1.1;margin-top:6px}
.kpi .ic{position:absolute;right:14px;top:14px;color:var(--ink3)}
.kpi.quente{border-color:var(--lar);background:linear-gradient(var(--lar-suave),var(--lar-suave)),var(--card)}
.kpi.quente .ic,.kpi.quente .v{color:var(--lar2)}
.aviso{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:var(--r2);background:var(--card);border:1px solid var(--linha);margin-bottom:18px;flex-wrap:wrap}
.aviso>.ic{width:40px;height:40px;padding:10px;border-radius:50%;background:var(--lar-suave);color:var(--lar2)}
.aviso .txt{flex:1;min-width:220px}
.aviso.erro{border-color:color-mix(in srgb,var(--erro) 35%,var(--linha))} .aviso.erro>.ic{background:var(--errobg);color:var(--erro)}
.aviso.ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--linha))} .aviso.ok>.ic{background:var(--okbg);color:var(--ok)}
.lista{display:grid}
.item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 20px;border-top:1px solid var(--linha);transition:background .15s}
.lista .item:first-child{border-top:0}
a.item{color:inherit}
@media (hover:hover){a.item:hover{background:var(--areia)}}
.item .t{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.item .s{font-size:13px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis}
.item .dir{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.miniatura{width:64px;height:48px;border-radius:var(--r);object-fit:cover;background:var(--graf) url(assets/tex_grafite.jpg) center/cover;flex:none}
.icone-redondo{width:40px;height:40px;border-radius:50%;background:var(--lar-suave);color:var(--lar2);display:grid;place-items:center;flex:none}
.filtro-abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.filtro-abas button{border:1px solid var(--linha);background:var(--card);padding:7px 14px;border-radius:999px;font-weight:600;font-size:13.5px;color:var(--ink2)}
.filtro-abas button[aria-pressed="true"]{background:var(--graf);border-color:var(--graf);color:var(--graf-ink)}
.tabela-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);padding:10px 14px;border-bottom:1px solid var(--linha2);background:var(--areia);white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid var(--linha);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
td input,td select{padding:7px 9px;width:auto;max-width:170px}
.orcamento{background:var(--areia);border-radius:var(--r2);padding:16px;display:grid;gap:8px}
.orcamento .l{display:flex;justify-content:space-between;gap:12px;font-size:14.5px}
.orcamento .l.total{border-top:1px solid var(--linha2);padding-top:10px;font-weight:700;font-size:18px}
.linha-tempo{list-style:none;margin:0;padding:0;display:grid}
.linha-tempo li{display:grid;grid-template-columns:18px 1fr;gap:12px;padding-bottom:14px;position:relative;font-size:14px}
.linha-tempo li::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--linha2);background:var(--card);margin-top:4px;z-index:1}
.linha-tempo li::after{content:"";position:absolute;left:5px;top:18px;bottom:0;width:2px;background:var(--linha)}
.linha-tempo li:last-child::after{display:none}
.linha-tempo li.feito::before{background:var(--ok);border-color:var(--ok)}
.linha-tempo li.atual::before{background:var(--lar);border-color:var(--lar2)}
.linha-tempo li span{color:var(--ink2);font-size:12.5px;display:block}
.detalhe-pedido{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:14.5px;margin:0}
.kv dt{color:var(--ink2)} .kv dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}

/* ---------- chat ---------- */
.chat{display:grid;grid-template-columns:320px minmax(0,1fr);background:var(--card);border:1px solid var(--linha);border-radius:var(--r2);overflow:hidden;height:calc(100vh - 190px);min-height:480px}
.conversas{border-right:1px solid var(--linha);overflow-y:auto}
.conversa{display:grid;gap:3px;padding:14px 16px;border-bottom:1px solid var(--linha);transition:background .15s}
.conversa[aria-current="page"]{background:var(--lar-suave);box-shadow:inset 3px 0 0 var(--lar)}
@media (hover:hover){.conversa:hover{background:var(--areia)}}
.conversa b{display:flex;justify-content:space-between;gap:8px;font-size:14.5px}
.conversa span{font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fio{display:flex;flex-direction:column;min-height:0;height:100%}
.fio-cab{padding:12px 16px;border-bottom:1px solid var(--linha);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:8px;background:var(--areia)}
.msg{max-width:74%;padding:9px 13px;border-radius:14px;font-size:14.5px;line-height:1.4;background:var(--card);border:1px solid var(--linha);align-self:flex-start;border-bottom-left-radius:4px;overflow-wrap:anywhere;animation:sobe .18s var(--ease) both}
.msg.eu{align-self:flex-end;background:var(--graf);color:var(--graf-ink);border-color:var(--graf);border-bottom-left-radius:14px;border-bottom-right-radius:4px}
.msg.buscare{background:var(--lar-suave);border-color:color-mix(in srgb,var(--lar) 40%,transparent)}
.msg.sis{align-self:center;background:transparent;border:0;color:var(--ink2);font-size:12.5px;font-weight:600;text-align:center;max-width:90%}
.msg .autor{display:block;font-size:11.5px;font-weight:700;opacity:.7;margin-bottom:2px}
.msg .h{display:block;font-size:10.5px;opacity:.6;margin-top:3px;text-align:right}
.escrever{display:flex;gap:8px;padding:12px;border-top:1px solid var(--linha);background:var(--card)}
.escrever input{flex:1}
.fechada{padding:14px;text-align:center;color:var(--ink2);font-size:13.5px;border-top:1px solid var(--linha);background:var(--areia2)}
.chat-pedido{height:520px;grid-template-columns:1fr}

/* ---------- modal / toast ---------- */
.fundo{position:fixed;inset:0;z-index:60;background:rgba(10,12,14,.55);display:grid;place-items:center;padding:16px;overflow-y:auto;animation:aparece .18s var(--ease)}
@keyframes aparece{from{opacity:0}}
.modal{width:100%;max-width:460px;background:var(--card);border-radius:var(--r3);padding:26px;box-shadow:var(--sombra2);margin:auto;animation:modal .22s var(--ease);position:relative}
.modal.largo{max-width:720px}
@keyframes modal{from{opacity:0;transform:translateY(10px) scale(.98)}}
.modal h2{font-size:26px;margin:6px 0 4px}
.modal .fechar{position:absolute;right:14px;top:14px;border:0;background:var(--areia2);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--ink2)}
.modal .form{margin-top:18px}
.toasts{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:80;display:grid;gap:8px;width:max-content;max-width:calc(100% - 32px)}
.toast{background:var(--graf);color:var(--graf-ink);padding:12px 18px;border-radius:var(--r);font-weight:500;font-size:14.5px;box-shadow:var(--sombra2);animation:modal .22s var(--ease);display:flex;align-items:center;gap:10px}
.toast::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lar);flex:none}
.toast.erro::before{background:var(--erro)} .toast.ok::before{background:var(--ok)}
.carregando{display:grid;place-items:center;min-height:60vh;color:var(--ink2);gap:10px}
.giro{width:34px;height:34px;border:3px solid var(--linha2);border-top-color:var(--lar);border-radius:50%;animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* ---------- barra inferior (celular) ---------- */
.barra{display:none}

/* ---------- responsivo ---------- */
@media (max-width:1080px){
  .tipos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards.tres{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .topo-nav{display:none}
  .topo-acoes .esconde-cel{display:none}
  .menu-btn{display:grid}
  .hero-in,.faixa-in,.detalhe,.detalhe-pedido,.catalogo{grid-template-columns:minmax(0,1fr)}
  .hero-in{padding:40px 16px 36px;gap:18px}
  .hero-img{max-width:420px;margin:0 auto;width:100%;order:-1;aspect-ratio:1/.7}
  .busca{grid-template-columns:1fr}
  .servicos{grid-template-columns:1fr}
  .rodape-in{grid-template-columns:1fr 1fr}
  .filtros{position:static}
  .filtros[data-fechado="true"] .filtros-corpo{display:none}
  .sec{padding:56px 16px 0}.pagina{padding:24px 16px 0}.topo-in{padding:0 16px}
  .painel{grid-template-columns:minmax(0,1fr)}
  .lateral{position:fixed;left:0;top:0;bottom:0;width:min(290px,86vw);transform:translateX(-100%);transition:transform .25s var(--ease);box-shadow:var(--sombra2)}
  .painel[data-menu="aberto"] .lateral{transform:none}
  .painel[data-menu="aberto"]::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:34}
  .topo-painel{display:flex;position:sticky;top:0;z-index:30;background:var(--graf);color:#fff;align-items:center;gap:12px;padding:10px 16px;min-height:60px}
  .topo-painel .marca img{height:32px}
  .principal{padding:22px 16px calc(96px + env(safe-area-inset-bottom,0px))}
  .cards.dois,.cards.tres{grid-template-columns:minmax(0,1fr)}
  .form,.form.tres{grid-template-columns:minmax(0,1fr)}
  .chat{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}
  .chat .conversas{max-height:240px;border-right:0;border-bottom:1px solid var(--linha)}
  .chat[data-aberta="true"] .conversas{display:none}
  .fio{height:70vh}
  .item{grid-template-columns:auto minmax(0,1fr);padding:14px 16px}
  .item .dir{grid-column:1/-1;justify-content:flex-start}
  .barra{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:32;background:var(--card);border-top:1px solid var(--linha);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  .barra a,.barra button{flex:1;display:grid;justify-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:600;color:var(--ink2);position:relative;background:none;border:0}
  .barra .ic{width:22px;height:22px}
  .barra a[aria-current="page"]{color:var(--ink)} .barra a[aria-current="page"] .ic{color:var(--lar2)}
  .barra .badge{position:absolute;top:0;right:calc(50% - 22px);min-width:18px;height:18px;font-size:10.5px}
  .msg{max-width:88%}
}
@media (max-width:560px){
  .tipos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .passos,.rodape-in{grid-template-columns:1fr}
  .numeros{gap:18px}.numeros div{min-width:120px}
  .marca b{font-size:18px}
  .topo-acoes .btn.p{padding:7px 10px}
  .principal{padding-inline:12px}
  .card{padding:16px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
