/* MDTech — Catálogo digital. Identidade irmã dos catálogos PDF. */
:root{
  --navy:#193C6C; --navy-2:#1f487c; --ciano:#36A9E1;
  --ink:#232D3C; --mut:#606C7E; --line:#DFE6EF; --panel:#f4f7fb;   /* = mdtech/marca.py */
  --verm:#E06666;                 /* campo pendente = vermelho (regra do projeto): bordas e traços */
  --verm-txt:#C62828;             /* mesmo vermelho para TEXTO pequeno (contraste AA) */
  --uro-txt:#227974;              /* fundo de texto branco no botão "No orçamento" (AA) */
  --laranja:#F5A623;
  --lap:#F5A623; --uro:#36A9E1; --gine:#C64B8C;   /* cor por especialidade (espelho de mdtech/marca.py::ACCENT) */
  --sombra:0 1px 3px rgba(25,60,108,.06), 0 6px 20px rgba(25,60,108,.06);
  --raio:12px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);background:#eef2f7;line-height:1.5;}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--navy);
  padding:10px 16px;border-radius:8px;font-weight:600;}
.skip:focus{left:12px;outline:3px solid var(--ciano);}
:focus-visible{outline:3px solid var(--ciano);outline-offset:2px;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px;}

/* ---------- topo ---------- */
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:40;}
.top::after{content:"";display:block;height:4px;
  background:linear-gradient(90deg,var(--lap),var(--uro),var(--gine));}
.top .wrap{display:flex;align-items:center;gap:20px;padding:16px 20px;}
.brand{font-size:20px;font-weight:700;letter-spacing:.3px;display:flex;align-items:center;}
.brand .logo{height:38px;width:auto;display:block;}
.brand-txt{display:none;}
.brand-txt b{color:var(--ciano);font-weight:800;}
.brand-txt small{display:block;font-size:10px;font-weight:400;letter-spacing:.22em;
  text-transform:uppercase;color:#aeb9cc;margin-top:1px;}
.top .busca{flex:1;max-width:520px;margin-left:auto;position:relative;}
.top .busca input{width:100%;min-height:44px;border:0;border-radius:24px;padding:11px 44px 11px 18px;
  font:inherit;font-size:14px;background:#fff;color:var(--ink);}
.top .busca input:focus{outline:3px solid var(--ciano);outline-offset:1px;}
.top .busca svg{position:absolute;right:15px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;stroke:var(--mut);}

/* ---------- botão + menu "Baixar catálogos" ---------- */
.btn-catalogos{display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.35);
  background:transparent;color:#fff;border-radius:8px;padding:9px 14px;font:inherit;
  font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;}
.btn-catalogos svg{stroke:#fff;}
.btn-catalogos:hover{background:rgba(255,255,255,.1);}
.menu-catalogos{display:none;position:fixed;top:70px;right:max(20px,calc((100vw - 1180px)/2));
  z-index:65;background:#fff;border-radius:12px;box-shadow:0 10px 34px rgba(15,25,45,.22);
  padding:10px;min-width:260px;}
.menu-catalogos.on{display:block;}
.menu-catalogos a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;
  font-size:13.5px;color:var(--ink);font-weight:500;}
.menu-catalogos a:hover{background:var(--panel);color:var(--navy);}
.menu-catalogos a svg{flex:none;width:16px;height:16px;stroke:var(--ciano);}
.menu-catalogos .sep{height:1px;background:var(--line);margin:6px 4px;}
.menu-catalogos .grupo-menu{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);
  font-weight:600;padding:8px 12px 4px;}
.menu-catalogos a small{margin-left:auto;color:var(--mut);font-size:12px;font-weight:400;}
.menu-catalogos .completo{color:var(--navy);font-weight:700;}

/* ---------- faixa de ajuda (antes da grade / botões de orçamento) ---------- */
.faixa-ajuda{margin:16px auto 0;max-width:1180px;background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:var(--sombra);padding:12px 20px;font-size:13.5px;
  color:#33404f;text-align:center;}
.faixa-ajuda b{color:var(--navy);}

/* ---------- layout catálogo ---------- */
.layout{display:grid;grid-template-columns:250px 1fr;gap:26px;padding:16px 0 calc(var(--h-bandeja,0px) + 40px);}
.side{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);
  overflow:auto;padding-right:4px;}
.side h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);
  margin:18px 0 8px;font-weight:600;}
.side h3:first-child{margin-top:0;}

/* grupo de especialidade em destaque (filtro principal) */
.grupo{margin-bottom:6px;}
.grupo-esp{background:#fff;border:1px solid var(--line);border-left:4px solid var(--ciano);
  border-radius:10px;padding:12px 14px;box-shadow:var(--sombra);margin-bottom:16px;}
.grupo-esp h3{margin-top:0;color:var(--navy);font-size:12px;}
.grupo-fam{margin-top:18px;}
.grupo-fam summary{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);
  font-weight:600;cursor:pointer;padding:6px 0;list-style-position:inside;}
.grupo-fam[open] summary{margin-bottom:6px;}
.grupo-esp .facet{font-size:14px;font-weight:500;}
.grupo-esp .facet input{width:16px;height:16px;}

/* botão Filtrar (só mobile) */
.btn-filtrar{display:none;align-items:center;gap:7px;border:1px solid var(--navy);
  background:var(--navy);color:#fff;border-radius:8px;padding:9px 14px;font:inherit;
  font-size:13.5px;font-weight:600;cursor:pointer;}
.btn-filtrar svg{stroke:#fff;}
.btn-filtrar:hover{filter:brightness(1.08);}
.aplicar{display:none;width:100%;margin-top:14px;border:0;border-radius:8px;
  background:var(--ciano);color:#fff;padding:12px;font:inherit;font-size:14px;
  font-weight:600;cursor:pointer;}
.drawer-head{display:none;}
.backdrop{display:none;}
.facet{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13.5px;
  cursor:pointer;color:#33404f;}
.facet input{accent-color:var(--navy);width:15px;height:15px;flex:none;cursor:pointer;}
.facet .n{margin-left:auto;color:var(--mut);font-size:11.5px;
  background:var(--panel);border-radius:10px;padding:1px 8px;}
.facet:hover{color:var(--navy);}
.limpar{margin-top:16px;width:100%;border:1px solid var(--line);background:#fff;
  color:var(--navy);border-radius:8px;padding:8px;font:inherit;font-size:13px;
  font-weight:600;cursor:pointer;}
.limpar:hover{background:var(--panel);}
.limpar:disabled{opacity:.45;cursor:default;}

/* ---------- grade ---------- */
.barra{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;gap:12px;flex-wrap:wrap;}
.barra .cont{font-size:13.5px;color:var(--mut);}
.barra .cont b{color:var(--navy);}
.chips{display:flex;gap:6px;flex-wrap:wrap;}
.chip{background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:4px 10px 4px 12px;font-size:12px;color:var(--navy);display:flex;
  align-items:center;gap:6px;}
.chip button{border:0;background:none;color:var(--mut);cursor:pointer;
  font-size:15px;line-height:1;padding:0;}
.chip button:hover{color:var(--verm);}

.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--raio);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sombra);
  transition:transform .12s ease, box-shadow .12s ease;}
.card:hover{transform:translateY(-3px);
  box-shadow:0 4px 10px rgba(25,60,108,.08),0 14px 34px rgba(25,60,108,.12);}
.card .foto{aspect-ratio:4/3;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:14px;position:relative;}
.card .foto img{max-height:100%;object-fit:contain;}
.card .foto.sem{background:var(--panel);border:1.5px dashed var(--verm);
  margin:10px;border-radius:8px;aspect-ratio:auto;height:calc(100% - 20px);min-height:120px;
  flex-direction:column;gap:3px;}
.card .foto.sem .t{color:var(--verm-txt);font-size:12px;font-weight:600;}
.card .foto.sem .c{font-size:11px;color:var(--mut);}
.tags{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;
  align-items:flex-start;gap:4px;max-width:calc(100% - 20px);}
.tag{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 8px;border-radius:20px;white-space:nowrap;}
.card .corpo{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px;flex:1;}
.card .cod{font-size:12px;color:var(--ciano);font-weight:500;}
.card .nome{font-size:14px;font-weight:600;color:var(--navy);line-height:1.25;
  margin:1px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:35px;}
.card .specs{font-size:12px;color:var(--mut);min-height:16px;}
.card .add{margin-top:10px;border:1px solid var(--navy);background:#fff;color:var(--navy);
  border-radius:8px;padding:8px;min-height:44px;font:inherit;font-size:12.5px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}
.card .add:hover{background:var(--navy);color:#fff;}
.card .add.in{background:var(--uro-txt);border-color:var(--uro-txt);color:#fff;}

/* selo de ângulo — só na página de produto (removido da galeria: cobria a foto) */
.selo-angulo{position:absolute;top:18px;left:18px;z-index:5;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:8px 10px;box-shadow:0 2px 8px rgba(25,60,108,.2);display:flex;
  align-items:center;gap:10px;}
.selo-angulo img{width:88px;height:88px;object-fit:contain;display:block;}
.selo-angulo span{font-size:22px;font-weight:700;color:var(--navy);padding-right:5px;
  font-family:'IBM Plex Mono',monospace;}

.vazio{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--mut);}
.vazio b{color:var(--navy);display:block;font-size:17px;margin-bottom:4px;}

/* ---------- paginação ---------- */
.paginacao{display:flex;align-items:center;justify-content:center;gap:6px;
  flex-wrap:wrap;margin:28px 0 10px;}
.paginacao button{border:1px solid var(--line);background:#fff;color:var(--navy);
  min-width:34px;height:34px;border-radius:8px;font:inherit;font-size:13px;font-weight:600;
  cursor:pointer;padding:0 8px;}
.paginacao button:hover:not(:disabled){background:var(--panel);}
.paginacao button.ativo{background:var(--navy);border-color:var(--navy);color:#fff;}
.paginacao button:disabled{opacity:.4;cursor:default;}
.paginacao .rt{color:var(--mut);font-size:12px;padding:0 6px;}

/* ---------- bandeja de orçamento ---------- */
.bandeja{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--navy);
  color:#fff;transform:translateY(100%);transition:transform .2s ease;}
.bandeja.on{transform:translateY(0);}
.bandeja .wrap{display:flex;align-items:center;gap:16px;padding:14px 20px;}
.bandeja .qt{font-weight:700;}
.bandeja .qt span{color:var(--ciano);}
.bandeja .cresc{flex:1;font-size:13px;color:#c3cde0;}
.bandeja button{border:0;border-radius:8px;padding:10px 16px;font:inherit;
  font-size:13.5px;font-weight:600;cursor:pointer;}
.bt-wpp{background:#25D366;color:#0b3d1e;}
.bt-mail{background:#fff;color:var(--navy);}
.bt-ver{background:transparent;color:#fff;text-decoration:underline;padding:10px 4px;}
.bt-lista{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)!important;}
.bt-lista:hover{background:rgba(255,255,255,.1);}
.bt-wpp:hover,.bt-mail:hover{filter:brightness(.95);}
.bandeja button{min-height:44px;}
body.com-bandeja .rodape{padding-bottom:calc(var(--h-bandeja,0px) + 40px);}
.lista-pop{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--h-bandeja,0px) + 12px);
  z-index:55;width:min(560px,calc(100vw - 24px));max-height:min(60vh,420px);overflow:auto;background:#fff;
  border-radius:12px;box-shadow:0 10px 34px rgba(15,25,45,.28);padding:14px 16px;}
.lista-pop[hidden]{display:none;}
.lista-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--navy);}
.lista-x{border:0;background:none;font-size:26px;line-height:1;color:var(--mut);cursor:pointer;
  min-width:44px;min-height:44px;}
.lista-pop ul{list-style:none;}
.lista-pop li{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:13px;}
.lista-pop li .mono{color:var(--navy);font-weight:500;flex:none;}
.lista-pop li .n{flex:1;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lista-pop li button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;
  padding:0 12px;min-height:44px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;flex:none;}
.lista-pop li .rem:hover{border-color:var(--verm-txt);color:var(--verm-txt);}
.lista-pop .qtd{display:flex;align-items:center;gap:2px;flex:none;}
.lista-pop .qtd button{min-width:36px;padding:0;font-size:16px;}
.lista-pop .qtd button:disabled{opacity:.4;cursor:default;}
.lista-pop .qtd input{width:52px;min-height:44px;border:1px solid var(--line);border-radius:8px;
  text-align:center;font:inherit;font-size:14px;color:var(--ink);}
.lista-limpar{margin-top:10px;border:0;background:none;color:var(--mut);text-decoration:underline;
  font:inherit;font-size:13px;cursor:pointer;min-height:44px;padding:0 4px;}

/* ---------- página de produto ---------- */
.voltar{display:inline-flex;align-items:center;gap:7px;color:var(--mut);
  font-size:13px;margin:10px 0 2px;padding:12px 0;}
.voltar:hover{color:var(--navy);}
.ph{display:grid;grid-template-columns:1fr 1fr;gap:34px;background:#fff;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sombra);}
.ph .foto-g{background:#fff;display:flex;align-items:center;justify-content:center;
  padding:36px;border-right:1px solid var(--line);min-height:360px;position:relative;}
.ph .foto-g img.principal{max-height:340px;object-fit:contain;cursor:zoom-in;}
.ph .foto-g.sem{background:var(--panel);border:2px dashed var(--verm);margin:24px;
  border-radius:12px;flex-direction:column;gap:6px;border-right:2px dashed var(--verm);}
.ph .foto-g.sem .t{color:var(--verm-txt);font-weight:600;}
.zoom-hint{position:absolute;top:14px;right:14px;background:rgba(25,60,108,.85);color:#fff;
  font-size:11px;font-weight:600;padding:5px 10px;border-radius:20px;display:flex;
  align-items:center;gap:5px;pointer-events:none;}
.ph .info{padding:34px 34px 34px 0;}
.ph .esp-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:#fff;padding:4px 12px;border-radius:20px;margin-bottom:12px;}
.ph h1{font-size:26px;color:var(--navy);line-height:1.15;margin-bottom:4px;}
.ph .cod-g{font-size:14px;color:var(--ciano);margin-bottom:22px;}
.tabela{width:100%;border-collapse:collapse;margin-bottom:22px;}
.tabela td{padding:9px 2px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top;}
.tabela td.k{color:var(--mut);width:44%;}
.tabela td.v{font-weight:600;text-align:right;}
.miss{color:var(--verm-txt);font-weight:700;}
.na{color:var(--mut);font-weight:500;font-size:13px;}
.regbox{display:flex;gap:14px;margin-bottom:24px;}
.regbox .col{flex:1;background:var(--navy);border-radius:10px;padding:14px 16px;position:relative;
  overflow:hidden;}
.regbox .col::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;}
.regbox .col.a::before{background:var(--ciano);}
.regbox .col.b::before{background:var(--laranja);}
.regbox .rlab{font-size:10px;color:#aeb9cc;letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:4px;padding-left:8px;}
.regbox .rval{font-size:15px;color:#fff;font-weight:500;padding-left:8px;}
.regbox .rval.miss{color:#ff9b9b;}
.acoes{display:flex;gap:12px;flex-wrap:wrap;}
.acoes button, .acoes a{border:0;border-radius:9px;padding:13px 20px;font:inherit;font-size:14px;
  font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
.b-add{background:var(--navy);color:#fff;}
.b-add.in{background:var(--uro-txt);}
.b-wpp{background:#25D366;color:#0b3d1e;}
.b-ficha{background:#fff;color:var(--navy);border:1px solid var(--line)!important;}
.b-ficha:hover{background:var(--panel);}
.b-ficha svg{stroke:var(--navy);width:16px;height:16px;}
.desc-g{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);}
.desc-g .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);
  margin-bottom:6px;}
.desc-g .t{font-size:13px;color:#4a5568;line-height:1.6;}

.rodape{text-align:center;color:var(--mut);font-size:12px;padding:30px 20px 40px;}

/* ---------- zoom da foto (lightbox) ---------- */
.zoom-bg{display:none;position:fixed;inset:0;background:rgba(10,16,28,.92);z-index:80;
  align-items:center;justify-content:center;padding:30px;cursor:zoom-out;}
.zoom-bg.on{display:flex;}
.zoom-bg img{max-width:92vw;max-height:88vh;object-fit:contain;background:#fff;
  border-radius:8px;padding:14px;}
.zoom-x{position:fixed;top:18px;right:22px;background:rgba(255,255,255,.12);color:#fff;
  border:0;width:40px;height:40px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;}
.zoom-x:hover{background:rgba(255,255,255,.22);}

/* ---------- responsivo ---------- */
@media (max-width:900px){
  .layout{grid-template-columns:1fr;}
  .btn-filtrar{display:inline-flex;}

  /* filtros viram gaveta lateral off-canvas */
  .side{position:fixed;top:0;left:0;height:100%;width:290px;max-width:84vw;z-index:60;
    background:#fff;box-shadow:2px 0 24px rgba(0,0,0,.18);padding:16px 18px 24px;
    max-height:none;overflow:auto;transform:translateX(-100%);
    transition:transform .22s ease;border-radius:0;}
  .side.aberto{transform:translateX(0);}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;
    margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line);}
  .drawer-head strong{color:var(--navy);font-size:16px;}
  .drawer-x{border:0;background:none;font-size:26px;line-height:1;color:var(--mut);
    cursor:pointer;padding:0 4px;}
  .zoom-hint{top:auto;bottom:12px;right:12px;}
  .backdrop{display:block;position:fixed;inset:0;background:rgba(15,25,45,.45);z-index:55;
    opacity:0;visibility:hidden;transition:opacity .2s ease;}
  .backdrop.on{opacity:1;visibility:visible;}
  .aplicar.so-mobile{display:block;}

  .grupo-esp,.grupo-prop,.fam-sub{box-shadow:none;border-left-width:4px;}
  .facet{min-height:44px;padding:0;}
  .paginacao button{min-width:44px;height:44px;}
  .drawer-x{min-width:44px;min-height:44px;}
  .btn-filtrar,.btn-catalogos{min-height:44px;}
  .chip button{padding:15px 12px;margin:-15px -10px -15px -4px;}
  .selo-angulo{top:12px;left:12px;padding:6px 8px;}
  .selo-angulo img{width:56px;height:56px;}
  .selo-angulo span{font-size:16px;}

  .ph{grid-template-columns:1fr;}
  .ph .foto-g{border-right:0;border-bottom:1px solid var(--line);}
  .ph .info{padding:26px;}

  .btn-catalogos span{display:none;}
  .menu-catalogos{right:10px;left:10px;top:66px;min-width:0;}
}
@media (max-width:560px){
  .top .wrap{flex-wrap:wrap;}
  .top .busca{max-width:none;margin-left:0;order:3;flex-basis:100%;}
  .faixa-ajuda{margin:16px 16px 0;}
  .grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .card .foto{padding:8px;}
  .card .corpo{padding:10px 10px 12px;}
  .card .nome{font-size:13px;-webkit-line-clamp:3;min-height:49px;}
  .card .specs{font-size:11.5px;}
  .card .add{font-size:12px;padding:6px;line-height:1.2;}
  .tag{font-size:9px;padding:2px 6px;}
  .tags{top:6px;left:6px;}
  .lista-pop li{flex-wrap:wrap;}
  .lista-pop li .n{flex-basis:calc(100% - 90px);}
  .lista-pop .qtd{margin-left:auto;}
  .bandeja .wrap{flex-wrap:wrap;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));}
  .bandeja .cresc{display:none;}
  .bandeja .qt{flex:1 1 auto;white-space:nowrap;}
  .bandeja button{padding:8px 10px;font-size:13px;}
  .bandeja .bt-lista{flex:0 0 auto;}
  .bandeja .bt-ver{display:none;}   /* no celular, "Limpar lista" fica dentro de "Ver lista" */
  .bandeja .bt-mail,.bandeja .bt-wpp{flex:1 1 calc(50% - 4px);}
}
/* ---------- preços (hoje fictícios: o aviso "valores ilustrativos" acompanha) ---------- */
.card .preco{font-size:15px;font-weight:700;color:var(--navy);margin-top:6px;}
.card .preco.sem{font-size:12.5px;font-weight:500;color:var(--mut);}
.preco-g{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 16px;padding:12px 14px;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;}
.preco-g .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600;flex-basis:100%;}
.preco-g b{font-size:26px;color:var(--navy);line-height:1.1;}
.preco-g small{flex-basis:100%;font-size:12px;color:var(--mut);}
.lista-pop li .sub{flex:none;font-size:13px;font-weight:600;color:var(--navy);}
.lista-total{display:flex;align-items:baseline;justify-content:space-between;border-top:2px solid var(--navy);margin-top:6px;padding-top:10px;
  font-size:14px;color:var(--navy);}
.lista-total b{font-size:20px;}
.aviso-preco{font-size:12px;color:var(--mut);margin:4px 0 0;}
@media (max-width:560px){.card .preco{font-size:14px;}}

/* ---------- botão e painel de Suporte (menu guiado antes do WhatsApp) ---------- */
.sup-fab{position:fixed;right:16px;bottom:calc(var(--h-bandeja,0px) + 16px);z-index:45;display:inline-flex;align-items:center;
  gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:24px;background:var(--navy);color:#fff;font:inherit;
  font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(15,25,45,.28);}
.sup-fab svg{stroke:#fff;}.sup-fab:hover{filter:brightness(1.12);}
.sup-bg{position:fixed;inset:0;z-index:68;background:rgba(15,25,45,.45);}
.sup-bg[hidden],.sup-panel[hidden]{display:none;}
.sup-panel{position:fixed;z-index:70;left:0;right:0;bottom:0;max-height:90vh;overflow:auto;background:#fff;
  border-radius:16px 16px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(15,25,45,.3);}
.sup-head{display:flex;align-items:center;justify-content:space-between;color:var(--navy);font-size:17px;}
.sup-x{border:0;background:none;font-size:28px;line-height:1;color:var(--mut);cursor:pointer;min-width:44px;min-height:44px;}
.sup-sub{font-size:13px;color:var(--mut);margin:2px 0 12px;}
.sup-cats{border:0;display:grid;gap:8px;margin-bottom:10px;}
.sup-cats legend{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600;margin-bottom:6px;}
.sup-cat{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  min-height:44px;cursor:pointer;background:#fff;}
.sup-cat:has(input:checked){border-color:var(--navy);background:var(--panel);}
.sup-cat input{margin-top:3px;accent-color:var(--navy);width:17px;height:17px;flex:none;}
.sup-cat b{display:block;font-size:14px;color:var(--navy);}.sup-cat small{display:block;font-size:12px;color:var(--mut);}
.sup-faq-t{font-size:12px;font-weight:600;color:var(--navy);margin:4px 0 6px;}
.sup-faq details{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:6px;font-size:13px;}
.sup-faq summary{cursor:pointer;font-weight:600;color:var(--navy);min-height:28px;}.sup-faq details p{margin:6px 0 2px;color:#33404f;}
.sup-campo{display:block;font-size:12px;color:var(--mut);font-weight:600;margin:10px 0 0;}
.sup-campo input,.sup-campo textarea{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:10px;
  padding:10px 12px;font:inherit;font-size:14px;color:var(--ink);resize:vertical;}
.sup-ctx{font-size:11.5px;color:var(--mut);margin:10px 0;}
.sup-go{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;background:#25D366;color:#0b3d1e;
  font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;}
.sup-go.off{opacity:.45;cursor:not-allowed;}
.sup-mail{width:100%;border:0;cursor:pointer;background:var(--navy);color:#fff;font:inherit;font-weight:700;margin-bottom:8px;}
.sup-go.sec{background:none;border:1px solid var(--line);color:var(--navy);min-height:44px;font-weight:600;}
.sup-st{font-size:13px;margin:8px 0;min-height:1em;}.sup-st.ok{color:#1d6b3a;font-weight:600;}.sup-st.erro{color:#a32121;font-weight:600;}
.sup-panel [hidden]{display:none!important;}
.sup-feito{text-align:center;padding:18px 4px 6px;}.sup-feito p{margin:0 0 14px;color:#33404f;font-size:14px;}
.sup-feito .sup-ok-t{font-size:19px;font-weight:700;color:#1d6b3a;margin-bottom:8px;}.sup-feito .sup-go{margin-bottom:8px;}
#orc-panel,#orc-bg{z-index:80;}#orc-bg{z-index:79;}
@media (min-width:700px){
  .sup-bg{background:transparent;}
  .sup-panel{left:auto;right:20px;bottom:20px;width:390px;max-height:calc(100vh - 40px);border-radius:14px;padding-bottom:18px;
    box-shadow:0 12px 40px rgba(15,25,45,.3);}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}html{scroll-behavior:auto;}}

/* proposta básica (kit) no filtro */
.grupo-prop{background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;padding:12px 14px;
  box-shadow:var(--sombra);margin-bottom:16px;}
.grupo-prop h3{margin-top:0;color:var(--navy);font-size:12px;}
.faixa-prop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:var(--panel);
  border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;padding:12px 14px;margin-bottom:14px;}
.faixa-prop b{display:block;color:var(--navy);font-size:15px;}.faixa-prop span{font-size:13px;color:var(--mut);}
.faixa-prop .acoes{display:flex;flex-wrap:wrap;gap:8px;}
.faixa-prop .pr-add,.faixa-prop .pr-pdf{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;
  border-radius:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;}
.faixa-prop .pr-add{border:0;background:var(--navy);color:#fff;}.faixa-prop .pr-add.in{background:#1d6b3a;cursor:default;}
.faixa-prop .pr-pdf{border:1px solid var(--navy);background:#fff;color:var(--navy);}
.kit-qtd{font-size:12px;font-weight:600;color:var(--navy);margin:2px 0 6px;}
@media (max-width:600px){.faixa-prop .acoes{width:100%}.faixa-prop .pr-add,.faixa-prop .pr-pdf{flex:1 1 100%;}}

/* preço: refinamentos de UX (09/11) */
.barra .cont .cont-aviso{font-size:12px;color:var(--mut);white-space:nowrap;}
.lista-pop li .sub{text-align:right;}
.lista-pop li .sub small{display:block;font-size:11px;font-weight:500;color:var(--mut);}
.bandeja .qt .qt-tot{display:block;font-style:normal;font-weight:500;font-size:12.5px;color:#cfe3f5;}
.b-pedir{background:#1874A1;color:#fff;}
@media (max-width:900px){
  .ph .foto-g{min-height:220px;padding:16px;}
  .ph .foto-g img.principal{max-height:240px;}
}
@media (max-width:560px){
  .sup-fab{font-size:0;gap:0;padding:0;width:52px;height:52px;justify-content:center;border-radius:50%;}
  .sup-fab svg{width:22px;height:22px;}
}

/* trilha de navegação (breadcrumb): desktop. No celular fica o "Voltar ao catálogo". */
.trilha{display:none;font-size:13px;margin:0 0 14px;}
.trilha ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;}
.trilha li{display:flex;align-items:center;color:var(--mut);}
.trilha li + li::before{content:"›";margin:0 8px;color:#9aa5b5;}
.trilha a{color:var(--mut);text-decoration:none;padding:4px 0;}
.trilha a:hover{color:var(--navy);text-decoration:underline;}
.trilha a:focus-visible{outline:2px solid var(--ciano);outline-offset:2px;border-radius:3px;}
.trilha [aria-current]{color:var(--navy);font-weight:600;}
@media (min-width:901px){ .trilha{display:block;} .voltar{display:none;} }
#alvo > .trilha{margin:22px 0 16px;}

/* ---------- versão para vendedores (09/11): topo compacto, entradas por linha, compartilhar ---------- */
.btn-catalogos .l-curto{display:none;}
@media (max-width:900px){ .btn-catalogos span.l-curto{display:inline;} }
.b-share{background:#fff;}
/* página inicial: linhas e propostas */
.ent-t{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-weight:600;margin:4px 0 10px;}
.ent-linhas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;}
.ent-linha{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);border-top:4px solid var(--c);
  border-radius:12px;overflow:hidden;cursor:pointer;font:inherit;box-shadow:var(--sombra);padding:0;transition:transform .15s,box-shadow .15s;}
.ent-linha:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(25,60,108,.12);}
.ent-foto{display:flex;align-items:center;justify-content:center;height:96px;padding:10px;border-bottom:1px solid var(--line);}
.ent-foto img{max-height:100%;object-fit:contain;}
.ent-txt{padding:10px 12px 12px;}
.ent-txt b{display:block;color:var(--navy);font-size:15px;}
.ent-txt small{color:var(--mut);font-size:12.5px;}
.ent-props{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.ent-prop{display:flex;flex-direction:column;align-items:flex-start;min-height:44px;background:#fff;border:1px solid var(--line);
  border-left:4px solid var(--navy);border-radius:10px;padding:10px 16px;cursor:pointer;font:inherit;box-shadow:var(--sombra);}
.ent-prop:hover{background:var(--panel);}
.ent-prop b{color:var(--navy);font-size:14px;}.ent-prop small{color:var(--mut);font-size:12px;}
@media (max-width:900px){ .ent-linhas{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} }
@media (max-width:560px){
  .top .wrap{padding:10px 16px 12px;gap:10px 12px;}
  .brand .logo{height:28px;}
  .btn-catalogos{margin-left:auto;padding:8px 12px;font-size:13px;}
  .faixa-ajuda{margin:12px 16px 0;padding:9px 14px;font-size:12.5px;}
  .ent-foto{display:none;}
  .ent-linha{border-top:0;border-left:4px solid var(--c);}
  .ent-txt{padding:8px 10px 10px;}.ent-txt b{font-size:14px;}.ent-txt small{font-size:12px;}
  .ent-props{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  .ent-prop{flex:0 0 auto;}
}
@media (max-width:900px){ .ph{gap:0;} .ph .info{padding:20px 20px 24px;} }
/* Entradas da página inicial só no celular/tablet: no desktop a lateral já mostra especialidades e propostas (sem repetir). */
@media (min-width:901px){ #entrada{display:none;} }

/* preço com destaque singelo: azul MDTech escuro (AA), "R$" pequeno e centavos menores, números alinhados */
.card .preco:not(.sem),.preco-g b{color:#1874A1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
.pz-m{font-size:.62em;font-weight:600;margin-right:.22em;vertical-align:.32em;opacity:.85;}
.pz-c{font-size:.68em;font-weight:600;}
.card .preco:not(.sem){font-size:18px;line-height:1.2;}
.preco-g b{font-size:30px;}
@media (max-width:560px){ .card .preco:not(.sem){font-size:16px;} }

/* famílias agrupadas por especialidade, com a cor da linha (borda e título) */
/* mesmo cartão branco das Especialidades e das Propostas básicas (borda esquerda na cor da especialidade) */
.fam-sub{background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:10px;
  padding:12px 14px;box-shadow:var(--sombra);margin:0 0 12px;}
.fam-sub h3{margin-top:0;font-size:12px;}
/* número ímpar de cartões de especialidade: o último ocupa a linha toda (sem buraco) */
.ent-linhas .ent-linha:last-child:nth-child(odd){grid-column:1/-1;}

/* etiqueta da especialidade (mesma no card, produto, filtro, chip, menu de catálogos e cartões da página inicial) */
.pill-esp{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 10px;border-radius:20px;white-space:nowrap;line-height:1.35;}
.tag{color:inherit;}                       /* a cor do texto vem do JS (contraste) */
.chip .pill-esp{padding:0;background:none!important;}
.facet .pill-esp{font-size:11px;padding:4px 12px;}
.grupo-esp .facet{padding:4px 0;}
.fam-sub h3{margin-bottom:6px;}
.fam-sub h3 .pill-esp{font-size:10.5px;}
.ent-txt b .pill-esp{font-size:12px;padding:4px 12px;}
.menu-catalogos a .pill-esp{font-size:11px;padding:3px 12px;}

/* texto branco das etiquetas de especialidade: negrito + sombra sutil para ler bem sobre laranja e azul vivos */
.pill-esp,.tag,.ph .esp-tag{font-weight:700;text-shadow:0 1px 1px rgba(0,0,0,.28);}
.chip[style*="background"] button{color:inherit;opacity:.85;}
