/* American Burrs: base (tokens da home) e paginas internas */

/* ===== Tokens. Contraste medido sobre --fundo (#F6F8FA) ===== */
:root{
  --fundo:#F6F8FA;        /* gelo clinico: fundo da pagina e cor de limpeza da cena 3D (iguais, sem emenda) */
  --fundo-2:#EEF2F6;      /* faixa alternada */
  --papel:#FFFFFF;
  --tinta:#1C1E4E;        /* azul-marinho da marca, texto principal: 14,7:1 */
  --tinta-2:#4A5568;      /* texto secundario: 7,1:1 */
  --vermelho:#C8102E;     /* acao (botao com texto branco: 5,9:1). O vermelho vivo da logo fica so na logo */
  --vermelho-texto:#B5121B;/* link e destaque em texto: 6,4:1 */
  --borda:#7B8698;        /* borda de campo e de controle: 3,5:1 sobre o papel (minimo 3:1 para componente) */
  --borda-suave:#DCE3EA;  /* divisoria de tabela e contorno de cartao: so separa, nao carrega informacao */
  /* cores reais das granulacoes do Ultra-Gloss (catalogo 2024): so como marcador, sempre com o nome em texto ao lado */
  --grossa:#8A9099;       /* cinza */
  --media:#E58FB0;        /* rosa */
  --fina:#5B8FD9;         /* azul */
  --falta:#FFE98A;        /* grifo de dado a confirmar */

  --f-texto:'IBM Plex Sans', system-ui, sans-serif;
  --f-codigo:'IBM Plex Mono', ui-monospace, monospace;   /* codigos de produto, ISO, medidas */

  --t-1:clamp(2.3rem, 1.4rem + 3.6vw, 4.25rem);
  --t-2:clamp(1.7rem, 1.2rem + 2vw, 2.6rem);
  --t-3:1.25rem;
  --t-corpo:1.0625rem;
  --t-peq:.9375rem;

  --e-1:4px; --e-2:8px; --e-3:12px; --e-4:16px; --e-5:24px; --e-6:32px; --e-7:48px; --e-8:72px; --e-9:112px;
  --raio:12px; --raio-btn:10px;
  --gutter:clamp(16px, 4vw, 40px);
  --largura:1240px;
  --topo-h:64px;
}
@media (max-width: 900px){ :root{ --topo-h:56px; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--topo-h) + 16px); }
body{ margin:0; background:var(--fundo); color:var(--tinta); font:400 var(--t-corpo)/1.6 var(--f-texto); overflow-wrap:break-word; }
img{ max-width:100%; height:auto; display:block; }
h1,h2,h3{ font-family:var(--f-texto); font-weight:600; line-height:1.08; letter-spacing:-.02em; margin:0; }
h3{ font-size:var(--t-3); letter-spacing:-.01em; line-height:1.25; }
p{ margin:0; }
a{ color:var(--vermelho-texto); text-underline-offset:.18em; }
code,.codigo{ font-family:var(--f-codigo); font-weight:500; letter-spacing:0; }
:focus-visible{ outline:3px solid var(--tinta); outline-offset:3px; border-radius:4px; }
mark.falta{ background:var(--falta); color:var(--tinta); padding:0 .25em; border-radius:3px; font-size:.92em; }
.vh{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.fonte{ color:var(--tinta-2); font-size:var(--t-peq); }
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

.pular{ position:fixed; left:16px; top:-80px; z-index:100; background:var(--tinta); color:var(--fundo); padding:10px 16px; border-radius:8px; }
.pular:focus{ top:12px; }

.miolo{ width:100%; max-width:calc(var(--largura) + 2 * var(--gutter)); margin:0 auto; padding:0 var(--gutter); }
.faixa{ padding:var(--e-8) 0; }
.faixa--2{ background:var(--fundo-2); }
.faixa__cab{ max-width:44em; margin-bottom:var(--e-6); }
.faixa__cab h2,.titulo-2{ font-size:var(--t-2); }
.faixa__cab p{ color:var(--tinta-2); margin-top:var(--e-4); }
.sobretitulo{ font-weight:600; color:var(--vermelho-texto); margin-bottom:var(--e-3); font-size:var(--t-peq); }

/* ===== Cabecalho ===== */
.topo{ position:sticky; top:0; z-index:50; height:var(--topo-h); background:color-mix(in srgb, var(--fundo) 92%, transparent);
  backdrop-filter:saturate(1.2) blur(10px); -webkit-backdrop-filter:saturate(1.2) blur(10px); }
.topo__in{ height:100%; max-width:calc(var(--largura) + 2 * var(--gutter)); margin:0 auto; padding:0 var(--gutter);
  display:flex; align-items:center; gap:var(--e-5); }
.topo__logo{ display:flex; align-items:center; text-decoration:none; color:var(--tinta); flex:none; min-height:44px; }
.topo__logo img{ height:40px; width:auto; }
.topo__nav{ margin-left:auto; display:flex; gap:var(--e-1); }
.topo__nav a{ color:var(--tinta); text-decoration:none; font-weight:500; padding:10px 10px; border-radius:8px; white-space:nowrap; min-height:44px; display:flex; align-items:center; }
.topo__nav a:hover{ background:var(--fundo-2); }
.topo__nav a[aria-current="page"]{ box-shadow:inset 0 -2px 0 var(--vermelho); border-radius:0; }
.topo__in > .busca{ width:240px; flex:none; }
.menu{ display:none; margin-left:auto; gap:var(--e-2); align-items:center; }
.menu__btn,.menu__buscar{ min-height:44px; min-width:44px; padding:0 14px; border-radius:var(--raio-btn); border:0; background:transparent;
  color:var(--tinta); font:600 1rem/1 var(--f-texto); cursor:pointer; box-shadow:inset 0 0 0 1.5px var(--borda); text-decoration:none; display:inline-flex; align-items:center; }
.menu__btn[aria-expanded="true"]{ background:var(--tinta); color:#fff; box-shadow:none; }
.menu__ancora{ display:none; }
/* absoluto ao cabecalho (sticky): o backdrop-filter do .topo faria um position:fixed se prender a ele */
.menu__painel{ display:none; position:absolute; left:0; right:0; top:100%; height:calc(100vh - var(--topo-h)); height:calc(100dvh - var(--topo-h)); overflow:auto; overscroll-behavior:contain; background:var(--fundo);
  padding:var(--e-5) var(--gutter) var(--e-7); border-top:1px solid var(--borda-suave); }
.menu__painel.aberto{ display:block; }
.menu__painel nav{ display:flex; flex-direction:column; margin-top:var(--e-5); }
.menu__painel nav a{ color:var(--tinta); text-decoration:none; font-weight:600; font-size:1.25rem; padding:12px 0; min-height:48px; border-bottom:1px solid var(--borda-suave); }
.menu__painel .menu__contato{ margin-top:var(--e-5); color:var(--tinta-2); }
@media (max-width: 1099px){
  .topo__nav,.topo__in > .busca{ display:none; }
  .menu{ display:flex; }
  .topo__logo img{ height:36px; }
}

/* ===== Busca por codigo (cabecalho, home, catalogo) ===== */
.busca{ position:relative; }
.busca__linha{ display:flex; gap:var(--e-2); }
.busca input{ flex:1; min-width:0; height:44px; padding:0 14px; border:1.5px solid var(--borda); border-radius:var(--raio-btn);
  background:var(--papel); color:var(--tinta); font:400 1rem/1 var(--f-texto); }
.busca input::placeholder{ color:#5F6B7D; }
.busca input:focus-visible{ outline:3px solid var(--tinta); outline-offset:1px; }
.busca button[type="submit"]{ height:44px; padding:0 16px; border:0; border-radius:var(--raio-btn); background:var(--vermelho); color:#fff; font:600 1rem/1 var(--f-texto); cursor:pointer; }
.topo__in > .busca button[type="submit"]{ display:none; }
.busca__rotulo{ display:block; font-weight:600; margin-bottom:var(--e-2); }
.busca--grande input,.busca--grande button[type="submit"]{ height:56px; font-size:1.125rem; }
.busca--grande input{ font-family:var(--f-texto); }
.sugestoes{ position:absolute; z-index:60; left:0; right:0; top:calc(100% + 6px); margin:0; padding:6px; list-style:none; background:var(--papel);
  border:1px solid var(--borda-suave); border-radius:var(--raio); box-shadow:0 10px 28px rgba(28,30,78,.10); max-height:min(70vh, 460px); overflow:auto; }
.topo__in > .busca .sugestoes{ left:auto; width:min(420px, calc(100vw - 32px)); }
.sugestoes[hidden]{ display:none; }
.sugestoes a{ display:grid; grid-template-columns:44px 1fr; gap:4px 12px; align-items:center; padding:8px; border-radius:8px; text-decoration:none; color:var(--tinta); min-height:44px; }
.sugestoes a img,.sugestoes a .sem-foto{ grid-row:1 / span 2; width:44px; height:44px; object-fit:contain; background:#fff; border-radius:6px; }
.sugestoes .codigo{ font-size:.9375rem; }
.sugestoes .nome{ font-size:.875rem; color:var(--tinta-2); line-height:1.3; }
.sugestoes [aria-selected="true"] a,.sugestoes a:hover{ background:var(--fundo-2); }
.sugestoes .todos a{ display:block; font-weight:600; color:var(--vermelho-texto); padding:10px 8px; }
.sugestoes .vazio{ padding:10px 8px; color:var(--tinta-2); font-size:.9375rem; }

/* ===== Botoes e links de acao ===== */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em; min-height:48px; padding:0 20px; border-radius:var(--raio-btn);
  font:600 1rem/1.2 var(--f-texto); text-decoration:none; border:0; cursor:pointer; text-align:center; }
.btn--acao{ background:var(--vermelho); color:#FFFFFF; }
.btn--acao:hover{ background:#A90D26; }
.btn--sec{ background:transparent; color:var(--tinta); box-shadow:inset 0 0 0 2px var(--tinta); }
.btn--sec:hover{ background:var(--papel); }
.acoes{ display:flex; flex-wrap:wrap; gap:var(--e-3); margin-top:var(--e-5); }
.link-mais{ font-weight:600; display:inline-flex; align-items:center; min-height:44px; text-decoration-thickness:1px; text-underline-offset:.22em; }
.link-mais:hover{ text-decoration-thickness:2px; }
.chips{ display:flex; flex-wrap:wrap; gap:var(--e-2); list-style:none; margin:0; padding:0; }
.chips a,.chip{ display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:999px; background:var(--papel); color:var(--tinta);
  text-decoration:none; font-weight:500; font-size:var(--t-peq); box-shadow:inset 0 0 0 1px var(--borda-suave); }
.chips a:hover{ box-shadow:inset 0 0 0 1.5px var(--tinta); }

/* ===== Produtos em grade ===== */
.grade{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap:var(--e-4); list-style:none; margin:0; padding:0; }
.grade > li{ min-width:0; }
@media (max-width: 520px){ .grade{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--e-3); } }
.produto-c{ position:relative; background:var(--papel); border-radius:var(--raio); display:flex; flex-direction:column; height:100%; }
.produto-c__foto{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; padding:8%; }
.produto-c__foto img{ width:100%; height:100%; object-fit:contain; }
.sem-foto{ display:flex; align-items:center; justify-content:center; text-align:center; color:var(--tinta-2); font-size:.8125rem; padding:8px; }
.produto-c__txt{ padding:0 14px 14px; display:flex; flex-direction:column; gap:2px; }
.produto-c__txt .codigo{ font-size:.9375rem; color:var(--tinta); overflow-wrap:anywhere; }
.produto-c a{ color:var(--tinta); text-decoration:none; font-weight:500; line-height:1.35; font-size:.9375rem; overflow-wrap:anywhere; }
.produto-c a::after{ content:""; position:absolute; inset:0; border-radius:var(--raio); }
.produto-c a:focus-visible{ outline:none; }
.produto-c a:focus-visible::after{ outline:3px solid var(--tinta); outline-offset:2px; }
.produto-c:hover{ box-shadow:inset 0 0 0 1.5px var(--borda-suave); }
.produto-c__fam{ color:var(--tinta-2); font-size:.8125rem; }

/* ===== Trilha e cabecalho de pagina interna ===== */
.trilha{ font-size:var(--t-peq); color:var(--tinta-2); padding-top:var(--e-5); }
.trilha ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 0; }
.trilha li{ white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.trilha li:not(:last-child)::after{ content:"/"; margin:0 .5em; color:var(--borda); }
.trilha a,.trilha span{ color:var(--tinta-2); display:inline-block; padding:10px 0; }
.pag-cab{ padding:var(--e-5) 0 var(--e-6); }
.pag-cab h1{ font-size:var(--t-2); max-width:22em; }
.pag-cab p{ color:var(--tinta-2); margin-top:var(--e-3); max-width:44em; }

/* ===== Rodape ===== */
.rodape{ background:var(--fundo-2); padding:var(--e-8) 0 var(--e-7); font-size:var(--t-peq); color:var(--tinta-2); }
.rodape__grade{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--e-6); }
.rodape h2{ font-size:1rem; letter-spacing:0; color:var(--tinta); margin-bottom:var(--e-3); }
.rodape ul{ list-style:none; margin:0; padding:0; }
.rodape li a{ display:inline-flex; align-items:center; min-height:40px; color:var(--tinta); text-decoration:none; }
.rodape li a:hover{ text-decoration:underline; }
.rodape__logo img{ height:44px; width:auto; margin-bottom:var(--e-4); }
.rodape address{ font-style:normal; line-height:1.7; }
.rodape__fim{ margin-top:var(--e-7); padding-top:var(--e-5); border-top:1px solid var(--borda-suave); display:flex; flex-wrap:wrap; gap:var(--e-3) var(--e-6); justify-content:space-between; }
@media (max-width: 900px){ .rodape__grade{ grid-template-columns:1fr 1fr; } .rodape__marca{ grid-column:1 / -1; } }
@media (max-width: 520px){ .rodape__grade{ grid-template-columns:1fr; } }
@media print{ body > :not(main){ display:none!important; } .palco-wrap{ display:none; } }

/* ===== Paginas internas (catalogo, produto, onde comprar, revenda, 404). Tokens e base vem da home. ===== */
.secao{ padding:var(--e-7) 0; }
.secao h2{ font-size:1.5rem; letter-spacing:-.015em; margin-bottom:var(--e-4); }
.secao--2{ background:var(--fundo-2); }

/* ---- catalogo ---- */
.cat__filtros{ display:grid; grid-template-columns:minmax(0, 2fr) repeat(5, minmax(0, 1fr)); gap:var(--e-3); align-items:end;
  background:var(--papel); border-radius:var(--raio); padding:var(--e-4); }
.campo label,.campo legend{ display:block; font-weight:600; font-size:var(--t-peq); margin-bottom:6px; color:var(--tinta); padding:0; }
.campo select,.campo input,.campo textarea{ width:100%; min-height:44px; padding:0 12px; border:1.5px solid var(--borda); border-radius:var(--raio-btn);
  background:var(--papel); color:var(--tinta); font:400 1rem/1.3 var(--f-texto); }
.campo select{ appearance:none; -webkit-appearance:none; padding-right:36px;
  background-image:linear-gradient(45deg, transparent 50%, var(--tinta) 50%), linear-gradient(135deg, var(--tinta) 50%, transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat; }
.campo textarea{ padding:10px 12px; min-height:120px; resize:vertical; }
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{ outline:3px solid var(--tinta); outline-offset:1px; }
.campo [aria-invalid="true"]{ border-color:var(--vermelho); box-shadow:0 0 0 1px var(--vermelho); }
.campo .erro{ color:var(--vermelho-texto); font-size:var(--t-peq); margin-top:6px; font-weight:500; }
.campo .ajuda{ color:var(--tinta-2); font-size:.875rem; margin-top:4px; }
.cat__q input{ font-size:1.0625rem; }
@media (max-width: 1100px){ .cat__filtros{ grid-template-columns:repeat(3, minmax(0, 1fr)); } .cat__q{ grid-column:1 / -1; } }
@media (max-width: 620px){ .cat__filtros{ grid-template-columns:1fr 1fr; } .cat__filtros .campo:last-of-type{ grid-column:auto; } }
.cat__barra{ display:flex; flex-wrap:wrap; gap:var(--e-3); align-items:center; justify-content:space-between; margin:var(--e-5) 0 var(--e-4); }
.cat__total{ font-weight:600; }
.btn-link{ background:none; border:0; padding:0 4px; min-height:44px; color:var(--vermelho-texto); font:600 1rem/1 var(--f-texto); text-decoration:underline; cursor:pointer; }
/* lugar da grade reservado ate o indice chegar: nada abaixo pula (ver o script logo depois de #cat-app) */
#cat-app.esperando #cat-lista{ min-height:110svh; }
.cat__mais{ display:flex; justify-content:center; margin-top:var(--e-6); }
.cat__mais .btn[hidden]{ display:none; }
.indice{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap:var(--e-6); }
.indice h3{ font-size:1.25rem; margin-bottom:var(--e-3); }
.indice ul{ list-style:none; margin:0; padding:0; }
.indice li a{ display:flex; justify-content:space-between; gap:var(--e-3); min-height:44px; align-items:center; padding:6px 0; border-bottom:1px solid var(--borda-suave);
  color:var(--tinta); text-decoration:none; }
.indice li a:hover{ color:var(--vermelho-texto); }
.indice li span{ color:var(--tinta-2); font-family:var(--f-codigo); font-size:.875rem; }

/* ---- produto ---- */
.prod{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:var(--e-7); align-items:start; padding-bottom:var(--e-7); }
@media (max-width: 860px){ .prod{ grid-template-columns:1fr; gap:var(--e-5); } }
.prod__foto{ background:var(--papel); border-radius:var(--raio); aspect-ratio:1; display:flex; align-items:center; justify-content:center; padding:6%; }
.prod__foto img{ width:100%; height:100%; object-fit:contain; }
.prod__foto .sem-foto{ font-size:1rem; }
.prod__fam{ color:var(--tinta-2); font-weight:500; margin-bottom:var(--e-3); }
.prod__fam a{ color:var(--tinta-2); }
.prod h1{ font-size:clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); }
.prod__cod{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e-3); margin-top:var(--e-4); }
.prod__cod .codigo{ font-size:1.75rem; letter-spacing:.01em; }
.prod__cod button{ min-height:44px; padding:0 14px; border-radius:var(--raio-btn); border:0; background:transparent; box-shadow:inset 0 0 0 1.5px var(--borda);
  color:var(--tinta); font:600 .9375rem/1 var(--f-texto); cursor:pointer; }
.prod__cod button[hidden]{ display:none; }
.prod__classe{ display:flex; flex-wrap:wrap; gap:6px var(--e-2); margin:var(--e-4) 0 0; padding:0; list-style:none; }
.prod__classe li{ background:var(--fundo-2); border-radius:8px; padding:6px 10px; font-size:var(--t-peq); }
.prod__classe b{ font-weight:600; }
.prod__nota{ font-size:.8125rem; color:var(--tinta-2); margin-top:6px; }
.ficha{ width:100%; border-collapse:collapse; background:var(--papel); border-radius:var(--raio); overflow:hidden; font-size:1rem; }
.ficha th,.ficha td{ text-align:left; padding:12px 16px; border-bottom:1px solid var(--borda-suave); vertical-align:top; }
.ficha thead th{ font-size:.875rem; color:var(--tinta-2); font-weight:600; background:var(--papel); }
.ficha tbody th{ font-weight:600; width:24%; }
.ficha td.v{ font-family:var(--f-codigo); font-size:.9375rem; }
.ficha td.f{ color:var(--tinta-2); font-size:.875rem; width:30%; }
.ficha tr:last-child th,.ficha tr:last-child td{ border-bottom:0; }
@media (max-width: 620px){
  .ficha thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .ficha,.ficha tbody,.ficha tr,.ficha th,.ficha td{ display:block; width:auto!important; }
  .ficha tr{ padding:12px 16px; border-bottom:1px solid var(--borda-suave); }
  .ficha th,.ficha td{ padding:0; border:0; }
  .ficha td.v{ margin-top:2px; }
  .ficha td.f{ margin-top:4px; }
  .ficha td.f::before{ content:"Fonte: "; }
}
.registro{ background:var(--papel); border-radius:var(--raio); padding:var(--e-5); display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap:var(--e-4); margin:0; }
.registro dt{ font-size:.875rem; color:var(--tinta-2); }
.registro dd{ margin:2px 0 0; font-weight:500; }
.registro .codigo{ font-size:1.125rem; }
.selo-vigente{ display:inline-flex; align-items:center; gap:6px; }
.selo-vigente::before{ content:""; width:10px; height:10px; border-radius:50%; background:#1F8A4C; }
.registro__mais{ margin-top:var(--e-3); }
.desc{ max-width:46em; color:var(--tinta-2); }
.lojas{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap:var(--e-3); list-style:none; margin:0 0 var(--e-4); padding:0; }
.lojas li{ background:var(--papel); border-radius:var(--raio); padding:var(--e-4); }
.lojas h3{ font-size:1.0625rem; }
.lojas a{ display:inline-flex; min-height:44px; align-items:center; margin-right:16px; }

/* ---- onde comprar ---- */
.onde__filtros{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr); gap:var(--e-3); align-items:end; background:var(--papel);
  border-radius:var(--raio); padding:var(--e-4); }
@media (max-width: 860px){ .onde__filtros{ grid-template-columns:1fr 1fr; } .onde__tipos{ grid-column:1 / -1; } }
.onde__tipos{ border:0; margin:0; padding:0; min-width:0; }
.onde__tipos div{ display:flex; flex-wrap:wrap; gap:6px; }
.onde__tipos label{ position:relative; }
.onde__tipos input{ position:absolute; opacity:0; width:1px; height:1px; }
.onde__tipos span{ display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:999px; box-shadow:inset 0 0 0 1.5px var(--borda);
  font-weight:500; font-size:var(--t-peq); cursor:pointer; }
.onde__tipos input:checked + span{ background:var(--tinta); color:#fff; box-shadow:none; }
.onde__tipos input:focus-visible + span{ outline:3px solid var(--tinta); outline-offset:2px; }
.lugares__grupo{ margin-top:var(--e-6); }
.lugares__grupo h2{ font-size:1.375rem; margin-bottom:var(--e-4); }
.lugares{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap:var(--e-3); list-style:none; margin:0; padding:0; }
.lugar{ background:var(--papel); border-radius:var(--raio); padding:var(--e-4) var(--e-5); display:flex; flex-direction:column; gap:4px; }
.lugar[hidden]{ display:none; }
.lugar h3{ font-size:1.0625rem; line-height:1.3; }
.lugar__onde{ color:var(--tinta-2); font-size:var(--t-peq); }
.lugar__end{ font-size:var(--t-peq); }
.lugar__acoes{ display:flex; flex-wrap:wrap; gap:0 var(--e-4); margin-top:4px; }
.lugar__acoes a{ display:inline-flex; align-items:center; min-height:44px; font-weight:500; }

/* ---- revenda ---- */
.revenda{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.3fr); gap:var(--e-7); align-items:start; }
@media (max-width: 900px){ .revenda{ grid-template-columns:1fr; gap:var(--e-5); } .revenda__lado{ order:2; } }
.revenda__lado{ display:flex; flex-direction:column; gap:var(--e-4); }
.revenda__lado .bloco{ background:var(--papel); border-radius:var(--raio); padding:var(--e-5); display:flex; flex-direction:column; gap:var(--e-3); }
.revenda__lado .bloco p{ color:var(--tinta-2); }
.form{ background:var(--papel); border-radius:var(--raio); padding:var(--e-6); display:grid; grid-template-columns:1fr 1fr; gap:var(--e-4); }
@media (max-width: 560px){ .form{ grid-template-columns:1fr; padding:var(--e-5); } }
.form .inteiro{ grid-column:1 / -1; }
.form fieldset{ border:0; margin:0; padding:0; min-width:0; }
.opcoes-radio{ display:flex; flex-wrap:wrap; gap:var(--e-2); }
.opcoes-radio label{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 14px 0 10px; border-radius:var(--raio-btn); box-shadow:inset 0 0 0 1.5px var(--borda);
  font-weight:500; cursor:pointer; margin:0; }
.opcoes-radio input{ width:20px; height:20px; accent-color:var(--tinta); margin:0; }
.form__acoes{ display:flex; flex-wrap:wrap; gap:var(--e-3); }
.form__aviso{ font-weight:600; }
.form__nota{ color:var(--tinta-2); font-size:var(--t-peq); }

/* ---- 404 ---- */
.erro404{ padding:var(--e-8) 0; max-width:720px; }
.erro404 h1{ font-size:var(--t-2); }
.erro404 p{ color:var(--tinta-2); margin:var(--e-4) 0 var(--e-5); }

/* ---- catalogo no celular: so a busca; os filtros abrem no botao ---- */
.cat__abre{ display:none; }
@media (max-width: 620px){
  .cat__filtros{ grid-template-columns:1fr auto; }
  .cat__filtros .cat__q{ grid-column:1 / 2; }
  .cat__abre:not([hidden]){ display:inline-flex; align-self:end; min-height:44px; }
  html.cat-js .cat__filtros:not(.filtros-abertos) .campo:not(.cat__q){ display:none; }
  .cat__filtros.filtros-abertos .campo:not(.cat__q){ grid-column:1 / -1; }
}

/* ---- produto: resumo na primeira tela, desenho tecnico, fontes que divergem ---- */
.resumo{ margin:var(--e-5) 0 var(--e-2); display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap:var(--e-3) var(--e-4); }
.resumo div{ border-top:1px solid var(--borda-suave); padding-top:var(--e-2); min-width:0; }
.resumo dt{ font-size:.8125rem; color:var(--tinta-2); }
.resumo dd{ margin:2px 0 0; font-family:var(--f-codigo); font-size:.9375rem; font-weight:500; overflow-wrap:anywhere; }
.prod__foto--desenho{ aspect-ratio:auto; min-height:0; padding:var(--e-5); }
.prod__desenho{ margin:0; display:flex; flex-direction:column; align-items:center; gap:var(--e-3); width:100%; }
.prod__desenho img{ width:auto; height:auto; max-width:min(100%, 360px); max-height:360px; object-fit:contain; }
.prod__desenho figcaption{ text-align:center; }
.diverge{ display:block; margin-top:4px; font-family:var(--f-texto); font-size:.875rem; color:var(--tinta); }
.diverge + mark.falta, .ficha td.v mark.falta{ display:inline-block; margin-top:4px; font-family:var(--f-texto); }
.prod h1, .prod__cod .codigo{ overflow-wrap:anywhere; }
.ficha tr.longo td.v{ font-family:var(--f-texto); font-size:1rem; line-height:1.55; }
@media (max-width: 620px){
  .ficha tr{ display:grid; grid-template-columns:minmax(0, 40%) minmax(0, 1fr); gap:2px var(--e-3); }
  .ficha th{ font-size:.875rem; }
  .ficha td.v{ margin-top:0; }
  .ficha td.f{ grid-column:1 / -1; font-size:.8125rem; margin-top:2px; }
  /* texto corrido: rotulo em cima, valor na largura toda */
  .ficha tr.longo td.v{ grid-column:1 / -1; margin-top:4px; }
}

/* ---- onde comprar no celular: primeiro o estado ---- */
.onde__escolha{ margin-top:var(--e-5); background:var(--papel); border-radius:var(--raio); padding:var(--e-5); display:flex; flex-direction:column; gap:var(--e-4); align-items:flex-start; }
.onde__escolha[hidden]{ display:none; }
.lugar__acoes span{ display:inline-flex; align-items:center; min-height:44px; color:var(--tinta-2); }
