/* anuncios: bloco sem-id */
/* ===== reset local (escopo do marketplace) ===== */
#mkt,#mkt *{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
#mkt{
  --ouro-grad:linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%); /* PALETA0911 11/09: era o castanho profundo; vale para "Ver todos os anuncios" e todo fundo que use o token */
  --ouro-solido:#D49813;
  --ouro-borda:#E9A930;
  --ouro-txt:#8A5E04;
  --tinta:#1B1B1F;
  --tinta2:#5E5E5E;   /* SKEL0914-UNI P29: cinza NEUTRO (era #5A5F6A, azulado); 6,4:1 sobre branco */
  --tinta3:rgba(0,0,0,.55);
  --fundo:#F7F8FA;
  --card:#fff;
  --hair:#e0e0e0;
  --raio:24px;
  --mk-ouro-cta:linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%);
  --mk-sombra-card:0 4px 7px #B8800812,0 10px 24px #CF970E17;
  --mk-safetop:env(safe-area-inset-top,0px);
  --mk-acao:36.8px;
  --mk-card-h:340px;   /* SKEL0914-UNI P20/P21: imagem em cima e texto por baixo - +20 px para o botao nunca ficar cortado */
  --mk-img-h:168px;
  --sombra:0 1px 2px rgba(0,0,0,.12);
  --sombra-hover:0 3px 12px rgba(0,0,0,.18);
  --cont:1200px;
  --gap:16px;
  /* --- ANUENG0909: tokens locais da rota (namespace #mkt, sem efeito global) --- */
  --mk-tit-ref:24px;              /* referencia da simulacao; o titulo usa 80% disto */
  --mk-ouro-tit:#B77C09;          /* 3,15:1 sobre #F1F1F1 = AA para texto grande (19,2px/800) */
  --mk-ouro-acao:#BD850E;         /* 3,22:1 sobre branco = AA para icone (WCAG 1.4.11) */
  --mk-motion:280ms cubic-bezier(.2,.75,.2,1);
  --mk-scale-hover:1.018;
  --mk-scale-toque:1.012;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--tinta);
  background:var(--fundo);
  /* SKEL0914-UNI P28: sem min-height:100vh - a pagina acaba onde acaba o conteudo */
  font-size:14px;
  line-height:1.35;
}
#mkt a{color:inherit;text-decoration:none}
#mkt img{max-width:100%;display:block}
#mkt button{font:inherit;cursor:pointer}
#mkt .mk-cont{max-width:var(--cont);margin:0 auto;padding:0 16px}
#mkt .mk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#mkt a.mk-sr:focus{position:fixed;top:8px;left:8px;z-index:200;width:auto;height:auto;clip:auto;
  background:#fff;color:var(--ouro-txt);padding:10px 16px;border-radius:6px;font-weight:700;
  box-shadow:0 2px 12px rgba(0,0,0,.3);outline:3px solid var(--ouro-borda)}

/* ===== CABECALHO + BUSCA + LINHA DE NAVEGACAO: UNIVERSAIS (SKEL0914-UNI, prompt-mestre do Rafael 14/09) =====
   Vem do js/topo019.js (fonte unica), por tag direta no inicio do body com reserva de lugar (a Home faz igual).
   Sairam daqui o header.mk-hd, a .mk-nav propria e o CSS deles. */
.mk-skip{position:absolute;left:8px;top:8px;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mk-skip:focus{position:fixed;z-index:200;width:auto;height:auto;clip:auto;background:#fff;color:#8A5E04;padding:10px 16px;border-radius:6px;
  font:700 14px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;box-shadow:0 2px 12px rgba(0,0,0,.3);outline:3px solid #E9A930}
:root{--a19-top-safe:env(safe-area-inset-top,0px);--a19-top-min:0px;--a19-top:max(var(--a19-top-safe),var(--a19-top-min))}@media (max-width:899px),(hover:none),(pointer:coarse){:root{--a19-top-min:6px}}html.in-app019{--a19-top-min:24px}html.a19-no-topsafe{--a19-top:0px}.t19-reserva{height:calc(129px + var(--a19-top))}
@media(min-width:900px){.t19-reserva{height:calc(103px + var(--a19-top))}}

/* ===== chips ===== */
#mkt .mk-chips{background:var(--fundo);border-bottom:1px solid var(--hair)}
#mkt .mk-chips-in{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;padding:10px 16px;
  scrollbar-width:none;max-width:var(--cont);margin:0 auto}
#mkt .mk-chips-in::-webkit-scrollbar{display:none}
#mkt .mk-chips-in{scroll-snap-type:x proximity;scroll-padding-inline:16px}#mkt .mk-chips-in::after{content:"";flex:0 0 8px}#mkt .mk-chip{scroll-snap-align:start} /* R08 (REV0912): rolagem com snap suave; o ::after devolve o respiro final que o flex+overflow engole (a ultima pilula ficava cortada) */
#mkt .mk-chip{height:32px;padding:0 14px;border-radius:16px;border:1px solid var(--hair);background:#fff;
  color:var(--tinta2);font-size:13px;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
#mkt .mk-chip:hover{border-color:var(--ouro-borda);color:var(--ouro-txt)}
#mkt .mk-chip.on{background:var(--ouro-grad);background-color:var(--ouro-solido);color:#fff;
  border-color:var(--ouro-borda);font-weight:600}

/* ===== corpo ===== */
#mkt .mk-main{max-width:var(--cont);margin:0 auto;padding:16px;display:grid;
  grid-template-columns:1fr;gap:20px;align-items:start}
#mkt.mk-comfiltro .mk-main{grid-template-columns:200px 1fr}
#mkt .mk-side{display:none;background:#fff;border:1px solid var(--hair);border-radius:var(--raio);padding:14px;
  position:sticky;top:150px;max-height:calc(100vh - 170px);overflow:auto}
#mkt.mk-comfiltro .mk-side{display:block}
#mkt .mk-side h3{font-size:13px;margin:14px 0 7px;color:var(--tinta)}
#mkt .mk-side h3:first-child{margin-top:0}
#mkt .mk-side a{display:block;font-size:13px;color:var(--tinta2);padding:3px 0}
#mkt .mk-side a:hover{color:var(--ouro-txt);text-decoration:underline}
#mkt .mk-side a.on{color:var(--ouro-txt);font-weight:700}

#mkt .mk-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 4px;min-height:36px} /* FBB_V1=A */ /* SKEL0914-UNI P16/P17: 'Lojas em destaque' + filtro na mesma linha */
#mkt .mk-tit{font-size:calc(var(--mk-tit-ref) * .8);font-weight:800;margin:0;
  color:var(--mk-ouro-tit);letter-spacing:-.4px;line-height:1.2}
#mkt .mk-cnt{font-size:12.5px;color:var(--tinta2);font-weight:400}
#mkt .mk-ord{height:32px;border:1px solid var(--hair);border-radius:4px;background:#fff;font-size:13px;padding:0 8px;color:var(--tinta)}
#mkt .mk-mob-fil{display:none} /* FALLBACK0918: mecanismo morto (so #mk-mbord inerte para o JS) */ 

/* ===== GRID (benchmark: gap 16, 4 col em 1200, 2 col em 375) ===== */
#mkt .mk-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:600px){#mkt .mk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){#mkt .mk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1400px){
  #mkt{--cont:1440px}
  #mkt .mk-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* ===== CARD ===== */
#mkt .mk-card{background:var(--card);border-radius:var(--raio);box-shadow:var(--mk-sombra-card);
  border:1px solid #e8d4a4;height:var(--mk-card-h);overflow:hidden;
  display:flex;flex-direction:column;position:relative;transform-origin:50% 50%;touch-action:pan-y;
  transition:transform var(--mk-motion),box-shadow var(--mk-motion),border-color 220ms ease}
@media(hover:hover){
  #mkt .mk-card:hover{box-shadow:var(--sombra-hover);
    transform:translateY(-4px) scale(var(--mk-scale-hover));z-index:2}
}
#mkt .mk-card.is-focus{box-shadow:var(--sombra-hover);
  transform:translateY(-2px) scale(var(--mk-scale-toque));z-index:2}
#mkt .mk-card:active{transform:translateY(-1px) scale(1.006)}
#mkt .mk-card:focus-within{box-shadow:0 0 0 2px var(--ouro-borda),var(--sombra-hover)}
#mkt .mk-fig{position:relative;height:var(--mk-img-h);flex:0 0 var(--mk-img-h);
  background:#f6f6f6;overflow:hidden}
#mkt .mk-fig img{width:100%;height:100%;object-fit:cover}
#mkt .mk-fig .mk-semimg{width:100%;height:100%;display:grid;place-items:center;color:var(--ouro-txt);
  background:linear-gradient(135deg,#faf6ec,#f2e9d3);font-size:11px;font-weight:700;letter-spacing:.5px;text-align:center;padding:8px}
/* SKEL0914-UNI U2c: sem imagem = inicial num circulo dourado + nome (em vez de so o nome numa caixa vazia) */
#mkt .mk-fig .mk-semimg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
#mkt .mk-mono{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--mk-ouro-cta);color:#241900;font-size:26px;font-weight:700;letter-spacing:0;box-shadow:inset 0 1px 1px #ffffffb3,0 4px 12px #b8800833;text-shadow:0 1px #ffffff66}
#mkt .mk-semimg-n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:92%;font-size:11.5px;line-height:1.25;letter-spacing:.2px}
#mkt .mk-fav{position:absolute;top:6px;right:6px;width:40px;height:40px;border-radius:50%;border:0;   background:transparent;color:#7A5203;display:grid;place-items:center;font-size:15px;line-height:1;   box-shadow:none;z-index:2;filter:none;isolation:isolate} #mkt .mk-fav::before{content:"";position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;   background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);   box-shadow:0 1px 2px rgba(60,40,0,.18);z-index:-1} #mkt .mk-fav::after{content:"";position:absolute;inset:0} #mkt .mk-fav.on{color:#B88008} /* FBB_V3=A FALLBACK0918: toque 40px, icone 15px em vidro */   /* SKEL0914-UNI P20/P29: coracao BRANCO (ligado = cheio); sem o vermelho antigo */
#mkt .mk-selo{position:absolute;top:6px;left:6px;background:rgba(255,255,255,.74);color:#3b2d0c;font-size:10px;   font-weight:700;padding:2px 7px;border-radius:999px;letter-spacing:.3px;text-transform:uppercase;z-index:2;   border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);   box-shadow:0 1px 2px rgba(60,40,0,.18)} /* FBB_V2=A FALLBACK0918: selo em vidro claro, 20% menor */
#mkt .mk-body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
#mkt .mk-preco{font-size:22px;font-weight:400;color:var(--tinta);line-height:1.15;letter-spacing:-.3px}
#mkt .mk-preco small{font-size:13px}
#mkt .mk-semp{font-size:13px;font-weight:600;color:var(--ouro-txt)}
#mkt .mk-nome{font-size:14px;font-weight:400;color:var(--tinta);line-height:1.28;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.56em}
#mkt .mk-meta{display:flex;gap:5px;overflow:hidden;min-height:20px} #mkt .mk-chp{display:inline-flex;align-items:center;height:20px;line-height:20px;padding:0 10px;border-radius:999px;font-size:10px;letter-spacing:.01em;font-weight:600;color:#5a4a1e; /* MISSAO0918-P2: respiro interno (10 px) e fonte 10 px */   background:rgba(255,255,255,.78);border:1px solid rgba(184,128,8,.32);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto} #mkt .mk-chp-cid{color:#7A5203;flex:1 1 auto} #mkt .mk-chp:not(.mk-chp-cid){flex:0 0 auto} #mkt .mk-dest-i{background:transparent;border:0;box-shadow:none;padding:0 2px 4px} #mkt .mk-dest-i:hover{box-shadow:none} #mkt .mk-dest-i img{border-radius:12px;border:1px solid rgba(233,169,48,.35)} /* DESKTOP0919: carrossel igual ao da home, moldura só na foto */
#mk-cx .mk-cx-mais{border:0;background:transparent;color:#8A5E04;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0 0 0 2px} #mk-cx .mk-cx-cid{font-size:12.5px;color:var(--tinta2);line-height:1.5;margin:-6px 0 12px} #mk-cx a.mk-cx-fone{text-decoration:none;color:#8A5E04}
#mkt .mk-nota-g{position:absolute;left:8px;bottom:8px;z-index:2;font-size:10.5px;font-weight:700;color:#3b2d0c;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:2px 8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 1px 2px rgba(60,40,0,.18)} /* REV_V3 */ /* MISSAO0918-P2: a categoria nunca encolhe; a cidade (longa) cede com reticencias */
#mkt .mk-meta b{font-weight:600;color:var(--tinta2)}
#mkt .mk-cta{margin-top:auto;padding-top:10px}
#mkt .mk-cta span{display:block;width:100%;height:34px;line-height:32px;text-align:center;border-radius:4px;
  font-size:13px;font-weight:600;background:var(--ouro-grad);background-color:var(--ouro-solido);
  color:#fff;border:1px solid var(--ouro-borda)}
#mkt .mk-card:hover .mk-cta span{filter:brightness(1.12)}
#mkt .mk-cta.mk-cta-fraco span{background:#fff;background-image:none;color:var(--ouro-txt);border:1px solid var(--ouro-borda)}
#mkt .mk-link-full{position:absolute;inset:0;z-index:1}

/* card de LOJA */
#mkt .mk-card.mk-loja .mk-fig{aspect-ratio:16/9}   /* SHELL0916 (16/09): sem o fundo BRANCO - ganhava as cores das bordas (.mk-foto) e o degrade (.mk-transp): as fotos inteiras das empresas ficavam com faixas brancas */
#mkt .mk-card.mk-loja .mk-fig img:not([data-aj]){object-fit:contain}
/* SKEL0914-UNI U2c (pedido do Rafael 15/09: 'imagens mal encaixadas, espacos vazios'): ENCAIXE POR IMAGEM, decidido no JS ajustaImg quando ela carrega.
   Antes de decidir a imagem espera invisivel sobre o creme (no maximo 2,5 s: sem JS aparece na mesma, em cover). */
#mkt .mk-fig{background:#f4efe3}
#mkt .mk-fig img[data-aj]{transition:transform .5s cubic-bezier(.2,.75,.2,1)}   /* SKEL0914-UNI U2d: a imagem ja nao espera invisivel pela decisao */
#mkt .mk-fig.mk-liso img,#mkt .mk-fig.mk-transp img,#mkt .mk-fig.mk-foto img{object-fit:contain;padding:0;background:transparent}
#mkt .mk-fig img.mk-zoom{transform-origin:0 0;transform:translate(var(--mk-tx,0px),var(--mk-ty,0px)) scale(var(--mk-z,1))}
@media(hover:hover){#mkt .mk-card:hover .mk-fig img.mk-zoom{transform:translate(var(--mk-tx,0px),var(--mk-ty,0px)) scale(var(--mk-z,1))}}
#mkt .mk-fig.mk-transp{background:linear-gradient(135deg,#fffdf8,#f3ead6)}
/* SKEL0914-UNI U2d: o fundo da foto inteira e um degrade com as cores das BORDAS dela (o ::before com a imagem desfocada virava o elemento LCP) */
#mkt .mk-fig.mk-foto{background:var(--mk-bordas,#f4efe3)}
#mkt .mk-card.mk-loja .mk-nome{font-weight:700;font-size:15px;-webkit-line-clamp:2;min-height:auto}

/* ===== skeleton ===== */
#mkt .mk-sk{background:var(--card);border-radius:var(--raio);box-shadow:var(--sombra);overflow:hidden}
#mkt .mk-sk .mk-sk-img{aspect-ratio:1/1;background:#ececec}
#mkt .mk-sk .mk-sk-b{padding:12px}
#mkt .mk-sk i{display:block;height:11px;background:#ececec;border-radius:3px;margin-bottom:8px}
#mkt .mk-sk i.w70{width:70%}#mkt .mk-sk i.w45{width:45%}#mkt .mk-sk i.w90{width:90%}
#mkt .mk-sk i.tall{height:20px;width:55%}
#mkt .mk-sk,#mkt .mk-sk i,#mkt .mk-sk .mk-sk-img{animation:mkpulse 1.3s ease-in-out infinite}
@keyframes mkpulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){
  #mkt *{animation:none!important;transition:none!important}
  #mkt .mk-card,#mkt .mk-card:hover,#mkt .mk-card.is-focus,#mkt .mk-card:active,
  #mkt .mk-card:focus-within{transform:none!important}
  #mkt .mk-dest-track{animation:none!important}
}

/* ===== estados ===== */
#mkt .mk-fim{text-align:center;padding:26px 16px;color:var(--tinta2);font-size:13px}
#mkt .mk-divisor{grid-column:1/-1;width:100%;flex:1 1 100%;text-align:center;padding:12px 12px 6px;margin:6px 0 0;color:var(--tinta2);font-size:12.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-top:1px dashed var(--hair)}
#mkt .mk-erro{text-align:center;padding:22px 16px;background:#fff;border:1px solid var(--hair);
  border-radius:var(--raio);margin:14px 0;font-size:14px}
#mkt .mk-erro button{margin-top:10px;height:36px;padding:0 18px;border-radius:4px;border:1px solid var(--ouro-borda);
  background:var(--ouro-grad);background-color:var(--ouro-solido);color:#fff;font-weight:600}
#mkt .mk-vazio{background:#fff;border:1px solid var(--hair);border-radius:var(--raio);padding:34px 20px;text-align:center}
#mkt .mk-vazio h3{margin:0 0 6px;font-size:17px}
#mkt .mk-vazio p{margin:0 0 16px;color:var(--tinta2);font-size:14px}
#mkt .mk-vazio button{height:38px;padding:0 20px;border-radius:4px;border:1px solid var(--ouro-borda);
  background:var(--ouro-grad);background-color:var(--ouro-solido);color:#fff;font-weight:600}

/* ===== grupos de categorias (.mk-drw-gr): pintados por montaCategorias no mega do desktop.
   A gaveta #mk-drw de ecra inteiro foi removida em 13/09 (voto CATPICK0913_V3=B). ===== */
#mkt .mk-drw-gr{margin-bottom:16px}
#mkt .mk-drw-gr h3{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--ouro-txt);margin:0 0 6px}
#mkt .mk-drw-gr a{display:block;padding:8px 6px;font-size:14px;border-radius:4px;color:var(--tinta)}
#mkt .mk-drw-gr a:hover{background:#faf6ec;color:var(--ouro-txt)}
/* ANUENG0909 P0: sem esta regra base o mega abre no fluxo abaixo de 900px
   e empurra os anuncios 1.114px para baixo (medido a 375px). */
#mkt .mk-mega{display:none}
@media(min-width:900px){
  #mkt .mk-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--hair);
    border-top:0;box-shadow:0 8px 24px rgba(0,0,0,.16);display:none;padding:18px 0;z-index:80}
  #mkt .mk-mega.on{display:block}
  #mkt .mk-mega-in{max-width:var(--cont);margin:0 auto;padding:0 16px;display:grid;
    grid-template-columns:repeat(4,1fr);gap:22px}
  #mkt .mk-mega h3{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--ouro-txt);margin:0 0 8px}
  #mkt .mk-mega a{display:block;padding:4px 0;font-size:13px;color:var(--tinta2)}
  #mkt .mk-mega a:hover{color:var(--ouro-txt);text-decoration:underline}
}
#mkt .mk-navwrap{position:relative}
/* CATPICK0913 (Rafael 13/09): no celular, "Categorias" abre uma RODA compacta no canto
   inferior esquerdo (estilo seletor do iOS), com o feed visivel atras — em vez da gaveta
   `#mk-drw` de ecra inteiro (removida em 13/09, voto CATPICK0913_V3=B). Ouro = tokens PALETA0912. */
#mkt .mk-roda{position:fixed;left:8px;bottom:var(--mk-nb,calc(var(--n19-h,50px) + env(safe-area-inset-bottom,0px) + 10px));
  width:clamp(168px,50vw,280px);height:clamp(240px,46vh,440px);max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);
  background:#fff;border:1px solid var(--app019-gold-border,#F3E3BD);border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.22),0 1px 3px rgba(0,0,0,.10);z-index:118;display:flex;flex-direction:column;
  overflow:hidden;transform-origin:left bottom;animation:mkRodaIn .18s ease-out}
#mkt .mk-roda[hidden]{display:none}
@keyframes mkRodaIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
#mkt .mk-roda-hd{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 6px 6px 12px;
  font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--app019-gold-text,#8A5E04);
  border-bottom:1px solid var(--app019-gold-line,#F3E3BD)}
#mkt .mk-roda-x{border:0;background:transparent;width:32px;height:32px;border-radius:50%;color:var(--tinta2);
  font-size:20px;line-height:1;position:relative;padding:0}
#mkt .mk-roda-x::after{content:"";position:absolute;left:-6px;right:-6px;top:-6px;bottom:-6px}
#mkt .mk-roda-x:hover{background:#faf6ec;color:var(--app019-gold-text,#8A5E04)}
#mkt .mk-roda-bx{position:relative;flex:1;min-height:0;display:flex}
#mkt .mk-roda-lst{position:relative;flex:1;min-height:0;overflow-y:auto;scroll-snap-type:y mandatory;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;outline:0;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 26%,#000 74%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 26%,#000 74%,transparent 100%)}
#mkt .mk-roda-lst::-webkit-scrollbar{display:none}
#mkt .mk-roda-lst:focus-visible{box-shadow:inset 0 0 0 2px var(--app019-gold-focus,#B88008)}
#mkt .mk-roda-h{height:26px;line-height:26px;padding:0 12px;font-size:10.5px;font-weight:700;letter-spacing:.6px;
  text-transform:uppercase;color:var(--app019-gold-title,#B77C09);scroll-snap-align:none}
#mkt .mk-roda-lst a{display:flex;align-items:center;justify-content:space-between;gap:8px;height:44px;padding:0 12px;
  scroll-snap-align:center;font-size:14px;color:var(--tinta2);text-decoration:none;
  opacity:.72;transform:scale(.94);transition:opacity .12s,transform .12s,color .12s}
#mkt .mk-roda-lst a b{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mkt .mk-roda-n{flex:0 0 auto;font-size:11.5px;color:var(--tinta3);font-variant-numeric:tabular-nums}
#mkt .mk-roda-lst a.on{opacity:1;transform:none;color:var(--app019-gold-text,#8A5E04)}
#mkt .mk-roda-lst a.on b{font-weight:700}
#mkt .mk-roda-lst a.on .mk-roda-n{color:var(--app019-gold-text,#8A5E04)}
#mkt .mk-roda-band{position:absolute;left:8px;right:8px;top:50%;height:44px;transform:translateY(-50%);pointer-events:none;
  border-top:1.5px solid var(--app019-gold,#E9A930);border-bottom:1.5px solid var(--app019-gold,#E9A930);border-radius:8px;
  background:linear-gradient(90deg,rgba(243,198,81,.08),rgba(233,169,48,.16),rgba(243,198,81,.08))}
@media(min-width:900px){#mkt .mk-roda{display:none!important}}
@media(prefers-reduced-motion:reduce){#mkt .mk-roda{animation:none}#mkt .mk-roda-lst a{transition:none}}

/* ===== rodapé curto ===== */
#mkt .mk-ft{background:#fff;margin-top:26px;padding:22px 0 30px;font-size:13px;color:var(--tinta2)}
#mkt .mk-ft-in{max-width:var(--cont);margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
#mkt .mk-ft a{color:var(--ouro-txt)}
#mkt .mk-ft a:hover{text-decoration:underline}
#mkt .mk-ft .mk-ft-cnpj{width:100%;color:var(--tinta3);font-size:12px;margin-top:8px}

/* ===== MOBILE ===== */
@media(max-width:899px){
  #mkt .mk-chip{height:34px}
  #mkt .mk-fav{width:40px;height:40px;font-size:15px}
  #mkt .mk-main{padding:12px}
  #mkt.mk-comfiltro .mk-main{grid-template-columns:1fr}
  #mkt.mk-comfiltro .mk-side{display:none}
  #mkt .mk-grid{gap:10px}
  #mkt .mk-body{padding:9px 9px 11px}
  #mkt .mk-preco{font-size:18px}
  #mkt .mk-nome{font-size:13px}   #mkt .mk-cta span{height:31px;line-height:29px;font-size:12.5px}   #mkt{--mk-card-h:322px;--mk-img-h:158px} /* FALLBACK0918: 18 px a menos por card, botao -15% */
  #mkt{--mk-tit-ref:18px}            /* 18 * .8 = 14,4px */
  #mkt .mk-tit{color:var(--ouro-txt)} /* 5,05:1 - AA para texto normal a 14,4px */
  #mkt #mk-mbord{display:none}        /* controlo inerte: o <select> nativo ja esta visivel */
  #mkt .mk-chip,#mkt .mk-loc,#mkt .mk-mob-fil button{position:relative}
  #mkt .mk-chip::after,#mkt .mk-loc::after,#mkt .mk-mob-fil button::after{
    content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}
}
@media(max-width:380px){
  #mkt .mk-grid{gap:8px}
  #mkt .mk-logo{font-size:15.5px}
  #mkt .mk-preco{font-size:17px}
}

/* ================= ANUENG0909 - LOJAS EM DESTAQUE ================= */
/* Os filhos de .mk-main sao itens de GRID e nascem com min-width:auto, ou seja
   nunca encolhem abaixo do conteudo. O trilho do carrossel usa width:max-content
   e, sem esta linha, arrastava a coluna inteira para 2.806px a 375px de ecra
   (medido no ensaio: scrollWidth 2818, overflow-x na pagina toda). */
#mkt .mk-main > *{min-width:0}
#mkt .mk-dest{margin:0 0 10px;min-width:0}
/* ATIVO0918 (18/09, user-90): indicador do filtro ativo no celular. Desde a SKEL0914-UNI o titulo #mk-tit e so para
   leitor de ecra e o cliente filtrava sem ver o que tinha escolhido. No desktop a barra lateral ja mostra o estado. */
#mkt .mk-ativo{display:none;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;color:var(--tinta2)}
#mkt .mk-ativo.on{display:flex}
#mkt .mk-ativo b{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:16px;background:var(--app019-gold-gradient,linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%));
  color:var(--app019-gold-ink,#fff);text-shadow:var(--app019-gold-ink-shadow,0 1px 2px rgba(60,40,0,.55));font-weight:700;
  max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mkt .mk-ativo-x{width:32px;height:32px;border-radius:50%;border:1px solid var(--hair);background:#fff;color:var(--tinta2);
  font-size:18px;line-height:1;cursor:pointer;position:relative}
#mkt .mk-ativo-x::after{content:"";position:absolute;left:-6px;right:-6px;top:-6px;bottom:-6px}
#mkt .mk-ativo-x:focus-visible{outline:2px solid var(--app019-gold-focus,#B88008);outline-offset:2px}
@media(min-width:900px){#mkt .mk-ativo.on{display:none}}
#mkt .mk-dest-win{min-width:0}
#mkt .mk-dest-track:empty{min-height:var(--mk-dest-alt,114px)} /* SKEL0914-UNI: 1 cartao de loja (102) + padding 12 */ /* SKEL0914 FASE 6: altura do trilho antes de chegar a 1.a loja */
@view-transition{navigation:auto} /* SKEL0914 FASE 6: a /anuncios/ nao aderia a transicao entre paginas que o skin019 liga nas outras; o navegador saltava-a e rejeitava a promessa ('Transition was skipped', medido pela user-a9 no C18) */
/* SKEL0914-UNI P16: titulo das lojas pequeno (12 px, como os titulos de secao da Home) em ouro do logo; sem suporte a texto recortado fica ouro escuro */
#mkt .mk-dest-t{font-size:12px;font-weight:800;line-height:1.2;margin:0;text-transform:uppercase;letter-spacing:.8px;color:#8A5E04}
@supports ((-webkit-background-clip:text) or (background-clip:text)){#mkt .mk-dest-t{background:linear-gradient(90deg,#B88008 0%,#D49813 30%,#E9A930 45%,#E9A930 55%,#D49813 70%,#B88008 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}}
#mkt .mk-dest-t[hidden]{display:none}
#mkt .mk-dest-win{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-inline:contain}
#mkt .mk-dest-win::-webkit-scrollbar{display:none}
#mkt .mk-dest-track{display:flex;width:max-content;gap:10px;animation:mk-desl 46s linear infinite}
#mkt .mk-dest:hover .mk-dest-track,
#mkt .mk-dest:focus-within .mk-dest-track{animation-play-state:paused}
/* SKEL0914-UNI P18/P19: UMA medida de cartao de loja (antes 96, 94, 78 e 62 px em 4 blocos); mesma largura e altura em todos */
#mkt .mk-dest-i{flex:0 0 auto;width:92px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;
  background:#fff;border:1px solid rgba(233,169,48,.35);border-radius:12px;padding:8px 6px 6px;overflow:hidden;
  transition:transform var(--mk-motion),box-shadow var(--mk-motion)}
@media(hover:hover){#mkt .mk-dest-i:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}}
#mkt .mk-dest-i img{width:64px;height:64px;flex:0 0 64px;object-fit:cover;border-radius:10px;background:#faf6ec} /* as imagens das lojas no feed sao capas/fotos (medido): cover sem esticar */
#mkt .mk-dest-i .mk-dest-n{font-size:11px;line-height:1.2;font-weight:600;color:#3C4043;text-align:center;width:100%;padding:0 2px;word-break:break-word;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;max-height:2.4em}
@keyframes mk-desl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:899px){
  #mkt .mk-dest{margin-bottom:12px}   #mkt .mk-dest-i{width:68px;height:90px;padding:5px 4px 4px;gap:4px}   #mkt .mk-dest-i img{width:44px;height:44px;flex-basis:44px} /* FBB_V1=A: destaque compacto */
  #mkt .mk-dest-i .mk-dest-n{font-size:10.5px}
}
/* foco visivel coerente em toda a rota */
/* #E9A930 sobre branco da 2,09:1 e o minimo para indicador nao-textual e 3:1.
   #8A5A00 da 5,89:1; o halo claro por fora mantem o foco visivel sobre fundo escuro. */
#mkt :focus-visible{outline:3px solid #8A5A00;outline-offset:2px;
  box-shadow:0 0 0 6px #f3c65166}
#mkt .mk-card:focus-within{box-shadow:0 0 0 2px var(--ouro-borda),var(--sombra-hover);
  transform:translateY(-4px) scale(var(--mk-scale-hover));z-index:2}
/* feedback de toque nos controlos (nao depender de :hover) */
#mkt .mk-chip:active,#mkt .mk-nav button:active,#mkt .mk-mob-fil button:active{filter:brightness(.94)}
#mkt .mk-cta:active span{filter:brightness(1.15)}

/* ============ FASES A-E — especificação consolidada 09/09 ============ */
#mkt{background:var(--fundo)}
#mkt .mk-hd-bot{display:none}
#mkt .mk-chips[hidden]{display:none!important}
#mkt .mk-mob-fil[hidden]{display:none!important}

/* --- botão único de filtros (dourado, linhas brancas, alvo 44px) --- */
#mkt .mk-btfil{width:44px;height:44px;min-width:44px;flex:0 0 44px;margin-left:auto; /* SKEL0914-UNI P17: a MESMA medida do hamburguer universal (.t19-burg 44x44, raio 12) */
  border:0;border-radius:12px;background:var(--mk-ouro-cta);display:inline-flex;align-items:center;
  justify-content:center;padding:0;position:relative;box-shadow:0 2px 6px #b880081f}
#mkt .mk-btfil::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:44px;height:44px}
#mkt .mk-btfil[aria-expanded="true"]{box-shadow:0 0 0 3px #e9a93055,0 2px 6px #b880081f}

/* --- painel de filtros em fluxo --- */
#mkt .mk-painel{background:#fff;border:1px solid #ecd9ac;border-radius:18px;padding:14px;
  margin:0 0 14px;box-shadow:0 4px 15px #cf970e0d}
#mkt .mk-painel[hidden]{display:none!important}
/* SKEL0914-UNI P4/P17: 'Categorias' vive dentro do painel de filtros (a linha universal nao tem o item) */
#mkt .mk-catwrap{position:relative;margin:0 0 12px}
#mkt .mk-catbt{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:12px;border:1px solid rgba(233,169,48,.45);background:#fff;color:#1B1B1F;font-weight:700;font-size:14px}
#mkt .mk-catbt[aria-expanded="true"]{box-shadow:0 0 0 3px #e9a93055}
#mkt .mk-painel-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
#mkt .mk-painel fieldset{border:0;margin:0;padding:0;min-width:0}
#mkt .mk-painel legend{font-size:12px;text-transform:uppercase;letter-spacing:.6px;
  color:var(--mk-ouro-tit);font-weight:700;padding:0 0 7px}
#mkt .mk-painel label{display:flex;align-items:center;gap:9px;padding:6px 2px;font-size:14px;
  color:var(--tinta);cursor:pointer;min-height:32px}
#mkt .mk-painel input[type=checkbox],#mkt .mk-painel input[type=radio]{
  width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:0;accent-color:#B88008}
#mkt .mk-painel #mk-pf-bcid{width:100%;padding:9px;border:1px solid #e2d4b3;border-radius:8px;
  background:#fff;font-size:14px;margin-bottom:6px;color:var(--tinta)}
#mkt .mk-pf-lista{max-height:168px;overflow-y:auto;overscroll-behavior:contain}
#mkt .mk-painel small{display:block;font-size:11.5px;color:var(--tinta2);margin-top:6px;line-height:1.35}
#mkt .mk-painel-ac{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;
  padding-top:12px;border-top:1px solid #f0e6cf}
#mkt .mk-pf-lim{border:1px solid #e2d4b3;background:#fff;color:var(--tinta2);
  border-radius:10px;padding:0 16px;height:40px;font-size:14px}
#mkt .mk-pf-ok{border:0;background:var(--mk-ouro-cta);color:#fff;text-shadow:0 1px 1px #8a660a66;
  border-radius:10px;padding:0 18px;height:40px;font-size:14px;font-weight:700}

/* --- card: imagem 60% / conteudo 40%, ordem da spec --- */
#mkt .mk-body{height:calc(var(--mk-card-h) - var(--mk-img-h));display:flex;flex-direction:column;
  padding:9px 10px;gap:2px;overflow:hidden}
#mkt .mk-nome{font-size:15px;font-weight:650;line-height:1.28;margin:0;color:var(--tinta);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#mkt .mk-desc{font-size:12.5px;line-height:1.32;margin:0;color:var(--tinta2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#mkt .mk-preco{font-size:19px;font-weight:700;color:var(--tinta);margin:0}
#mkt .mk-semp{font-size:13px;color:var(--tinta2)}
#mkt .mk-meta{font-size:12px;color:var(--tinta2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mkt .mk-cta{margin-top:auto;padding-top:8px}
#mkt .mk-cta span{display:block;height:40px;line-height:40px;text-align:center;border-radius:10px;
  background:var(--mk-ouro-cta);color:#241900;font-weight:700;font-size:13.5px;
  text-shadow:0 1px #ffffff59;box-shadow:inset 0 1px 1px #ffffff99,0 2px 6px #b880081a}
/* a spec manda o amarelo-ouro da marca em TODOS os botoes do card; a variante
   "fraco" continua a existir para distinguir accao, mas na mesma familia. */
/* a regra antiga e `#mkt .mk-cta.mk-cta-fraco span` (1,3,1) e forca
   background-image:none — para a vencer e preciso a MESMA especificidade. */
#mkt .mk-cta.mk-cta-fraco span{background:var(--mk-ouro-cta);background-image:var(--mk-ouro-cta);
  color:#241900;border:0;text-shadow:0 1px #ffffff59;
  box-shadow:inset 0 1px 1px #ffffff99,0 2px 6px #b880081a;opacity:.93}
#mkt .mk-grid{gap:12px}
/* BANCA user-ca: "Lojas em destaque" era rgb(183,124,9) = 3,35:1 sobre o fundo
   claro, com 12,5px/700 (texto normal ⇒ 4,5). #8F6207 da 5,04. */
#mkt .mk-dest-t{color:#8F6207}

/* ================= ANURET0909 patch4 =================
   menu de lista, botao de filtro com linha branca, cards estilo
   Mercado Livre e os efeitos que o Rafael pediu. */

/* --- M2: linha BRANCA (pedido dele) sobre fundo profundo (para dar 3:1) ---
   branco sobre #F3C651 dava 1,64:1; sobre #B8840A da 3,32:1 e sobre
   #8F6207 da 5,38:1 — a linha continua branca e passa a ver-se. */
#mkt .mk-btfil{background:var(--mk-ouro-cta)} /* PALETA0911: era castanho */

/* --- M1: botao de tres linhas --- */
#mkt .mk-burg-i{display:grid;gap:3.5px;width:19px}
#mkt .mk-burg-i i{display:block;height:2.4px;border-radius:2px;background:currentColor}
#mkt .mk-burg[aria-expanded="true"]{background:#f2f3f5;color:var(--mk-ouro-tit)}

/* --- M1: painel do menu --- DRAWER0911: saiu; o menu e o drawer lateral do topo019.js v3 --- */

/* --- M3: mais colunas nos ecras largos (menos vazio nas laterais) --- */
@media(min-width:1200px){#mkt .mk-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1600px){#mkt .mk-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* --- M3: o texto acompanha o card mais pequeno --- */
#mkt .mk-nome{font-size:14px;line-height:1.24}
#mkt .mk-preco{font-size:17px}
@media(max-width:899px){
  #mkt .mk-nome{font-size:12.5px}
  #mkt .mk-desc{font-size:12px}
  #mkt .mk-preco{font-size:15.5px}
  #mkt .mk-meta{font-size:12px}
}

/* --- M4: 3D, zoom e navegacao suave ---
   So em quem tem rato: no toque um :hover fica COLADO depois do toque.
   O bloco de prefers-reduced-motion mais acima ja anula tudo isto. */
html{scroll-behavior:smooth}
#mkt .mk-card{transition:transform .34s cubic-bezier(.2,.75,.2,1),box-shadow .34s ease;
  will-change:transform}
#mkt .mk-fig{overflow:hidden}
#mkt .mk-fig img{transition:transform .5s cubic-bezier(.2,.75,.2,1)}
/* DELIVERY0919 P3: card de LOGO = arte inteira sobre fundo desfocado da propria imagem (sem vazio, sem corte) */
#mkt .mk-fig.mk-logo::before{content:"";position:absolute;inset:-14%;background:var(--mk-bg) center/cover no-repeat;
  filter:blur(18px) saturate(1.05) brightness(1.06);opacity:.9;z-index:0;pointer-events:none}
#mkt .mk-fig.mk-logo img{position:relative;z-index:1;object-fit:contain;padding:9%;box-sizing:border-box;background:transparent}
#mkt .mk-fig.mk-logo .mk-selo,#mkt .mk-fig.mk-logo .mk-nota-g{z-index:2}
#mkt .mk-fim.mk-religando{color:var(--tinta2);font-size:12.5px;padding:14px}
@media(hover:hover){
  #mkt .mk-card:hover{transform:perspective(900px) translateY(-6px) rotateX(2.4deg) scale(1.014);
    box-shadow:0 10px 20px #b8800821,0 20px 40px #cf970e26;border-color:#e0c485;z-index:3}
  #mkt .mk-card:hover .mk-fig img{transform:scale(1.09)}
  #mkt .mk-cta span{transition:filter .2s ease,transform .2s ease}
  #mkt .mk-card:hover .mk-cta span{filter:brightness(1.06);transform:translateY(-1px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  #mkt .mk-card:hover .mk-fig img:not(.mk-zoom){transform:none!important}
}

/* SKEL0914-UNI P20/P21 (prompt-mestre do Rafael 14/09: imagem -> chip -> titulo -> descricao -> cidade -> CTA): saiu o ANURET0909 patch7,
   em que a foto cobria o card inteiro e o texto assentava por cima numa rampa branca (a area de foto visivel mudava de card para card).
   Volta o modelo em fluxo que a base ja define: .mk-fig com --mk-img-h e .mk-body com o resto da altura. */
#mkt .mk-nome,#mkt .mk-desc,#mkt .mk-preco,#mkt .mk-meta,#mkt .mk-cta{flex:none}
#mkt .mk-cta{margin-top:auto}
#mkt .mk-selo,#mkt .mk-fav{z-index:3}

/* ---- ANURET0909 patch20: a barra inferior entra, o "voltar" nao ---- */
/* MEDIDO: ao carregar o componente partilhado (para ganhar a barra HOME/BUSCA/
   EMERGENCIAS/VIP, que era a unica coisa que faltava a esta rota), ele planta
   tambem um botao "voltar" - e ele entrou como LINHA PROPRIA dentro do
   `.mk-cont`, com 44px. O cabecalho passou de **107 para 159px**.
   Nao e soma de safe-area (a variavel vale 0 aqui): e uma linha a mais.
   O proprio componente ja tem esta regra escrita: "na HOME nao aparece - a raiz
   nao tem voltar". A /anuncios/ e raiz de seccao e chega-se a ela pelo menu e
   pela barra de baixo, nao por dentro de um caminho. Fica pela mesma razao. */
.t19-hdr .a19volt{display:none!important} /* SKEL0914-UNI: a /anuncios/ e raiz de seccao, como a Home - sem 'voltar' tambem no cabecalho universal */

/* ---- ANURET0909 patch17 ---- */

/* V1: a busca cresce com o ecra. Medido a 1440: 588 de 1393 = 42% da linha,
   com vazio dos dois lados. O teto alto so morde em ecras muito largos. */
#mkt .mk-busca{max-width:min(980px,64vw)}
@media(min-width:1200px){ #mkt .mk-busca{flex:1 1 auto} }

/* V2: o filtro passa a ter o MESMO ouro do menu (ordem dele).
   ⚠️Linha branca sobre este ouro da 1,64:1. Ele pediu branco duas vezes e e
   decisao dele; a sombra por baixo devolve leitura sem trocar a cor. */
#mkt .mk-btfil{background:var(--mk-ouro-cta);
  box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -2px 3px #6e4a0533,
             0 2px 5px #b8800840,0 1px 0 #ffffff40}
#mkt .mk-btfil svg{filter:drop-shadow(0 1px 1px rgba(60,40,0,.30))} /* SKEL0914-UNI P17: sombra do icone bem mais leve (era .62 + .45) */

/* V3: CTA com letra BRANCA (decisao dele) - e por isso o fundo escurece.
   #8F6702, o ponto mais claro desta rampa, da 4,96:1 com branco. */
#mkt{--mk-ouro-cta-fundo:linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%)} /* PALETA0911: era o castanho profundo */
/* UNIHDR0911: o token global vive no skin019.css, mas essa folha fica 7 dias em cache no navegador de quem ja
   visitou; sem isto os cards ficariam castanhos ate la. Mesmo NOME, mesmo VALOR, definido no ambito da pagina. */
#mkt{--app019-gold-gradient:linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%);--app019-gold-ink:#FFFFFF;--app019-gold-ink-shadow:0 1px 2px rgba(60,40,0,.55)} /* PALETA0911 13:0x: letra branca por ordem do Rafael */
/* UNIHDR0911 11/09 (ordem do Rafael): os CTAs dos cards usam a MESMA identidade do botao Menu/Filtros -
   token global --app019-gold-gradient (skin019.css) com o mesmo valor de fallback, tinta escura #241900
   (branco sobre este ouro claro da 2,06:1 e reprova). O castanho profundo sai dos cards. */
#mkt .mk-cta span,#mkt .mk-cta.mk-cta-fraco span{
  background:var(--app019-gold-gradient,linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%));background-image:var(--app019-gold-gradient,linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%));
  color:var(--app019-gold-ink,#FFFFFF);text-shadow:var(--app019-gold-ink-shadow,0 1px 2px rgba(60,40,0,.55));border:0;
  box-shadow:inset 0 1px 1px #ffffff99,0 2px 6px #b880081a}
#mkt .mk-promo-cta{background:var(--app019-gold-gradient,linear-gradient(135deg,#F3C651 0%,#E9A930 35%,#D49813 68%,#B88008 100%));color:var(--app019-gold-ink,#FFFFFF);
  text-shadow:0 1px 1px #00000059;box-shadow:inset 0 1px 1px #ffffff3d,0 2px 6px #4e390333}
#mkt .mk-cx-cta{background:var(--mk-ouro-cta-fundo);color:#fff;
  text-shadow:0 1px 1px #00000059;box-shadow:inset 0 1px 1px #ffffff3d,0 2px 6px #4e390333}
#mkt .mk-cx-cta.mk-cx-2{background:#fff;color:var(--tinta);text-shadow:none;
  box-shadow:none;border:1px solid #e2d4b3}

/* ---- ANURET0909 patch14: card de propaganda do usado ---- */
#mkt .mk-exemplo .mk-selo{background:#fff;color:#8A5E04;border:1px solid rgba(184,128,8,.45)}   /* SHELL0916: selo EXEMPLO claro, diferente do selo de oferta */
#mkt .mk-promo{background:linear-gradient(160deg,#fffaf0 0%,#fdf3dd 100%);
  border:1px solid #ecd9ac;display:flex;align-items:center;position:relative}
#mkt .mk-promo .mk-promo-in{padding:16px 14px;display:flex;flex-direction:column;
  gap:7px;width:100%}
#mkt .mk-promo-selo{align-self:flex-start;font-size:9px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;color:#6E4A05;
  background:#f3c65159;border:1px solid #e9a93055;border-radius:999px;padding:3px 9px}
#mkt .mk-promo-t{margin:0;font-size:15px;font-weight:700;line-height:1.25;color:var(--tinta)}
#mkt .mk-promo-d{margin:0;font-size:12px;line-height:1.4;color:var(--tinta2)}
#mkt .mk-promo-cta{margin-top:auto;display:block;height:38px;line-height:38px;
  text-align:center;border-radius:10px;background:var(--mk-ouro-cta);color:#241900;
  font-weight:700;font-size:12.5px;text-shadow:0 1px #ffffff59;
  box-shadow:inset 0 1px 1px #ffffff99,0 2px 6px #b880081a}
@media(max-width:899px){
  #mkt .mk-promo .mk-promo-in{padding:13px 11px;gap:6px}
  #mkt .mk-promo-t{font-size:13.5px}
  #mkt .mk-promo-d{font-size:11.5px}
}

/* ---- ANURET0909 patch11: faixa de categorias em ouro da marca ---- */
/* Medido a 412px: botoes 13px/700 = texto NORMAL, logo o minimo AA e 4,5:1.
   #A5670A da 4,35 e REPROVA; a rampa comeca em #9A6008 (4,88) e fecha em
   #8A5E04 (5,37), que o marca019.css ja declara como o ouro que passa no claro. */
#mkt .mk-nav .mk-nav-in a,#mkt .mk-nav .mk-nav-in button{color:#8A5E04;font-weight:600}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  #mkt .mk-nav .mk-nav-in a,#mkt .mk-nav .mk-nav-in button{
    /* MEGA0911 M02 (11/09): texto em gradiente virava BRANCO sobre branco quando o repintador tocava; ouro solido 5,9:1 e imune ao repintador (text-fill) */
    background-image:none;color:#8A5E04;-webkit-text-fill-color:#8A5E04}
}
/* o "Categorias" tem SVG com currentColor: sem isto o icone ficava invisivel */
#mkt .mk-nav .mk-nav-in .mk-catbt svg{color:#8A5E04;stroke:#8A5E04;
  -webkit-text-fill-color:#8A5E04}
/* o activo continua a distinguir-se: mais escuro, mais pesado, e o sublinhado
   que ja existia. Se tudo ficasse igual, o degrade apagava a hierarquia. */
#mkt .mk-nav .mk-nav-in .on{color:#6B4703;font-weight:800}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  #mkt .mk-nav .mk-nav-in .on{
    background-image:none;color:#63430A;-webkit-text-fill-color:#63430A}
}
@media(hover:hover){
  #mkt .mk-nav .mk-nav-in a:hover,#mkt .mk-nav .mk-nav-in button:hover{
    filter:brightness(1.15)}
}

/* ---- ANURET0909 patch9 ---- */

/* B2: o botao do menu ganha o ouro da marca, relevo e LINHAS BRANCAS.
   O relevo e feito com sombra interna clara em cima e escura em baixo - o
   mesmo truque do CTA - e nao com um degrade novo, para nao criar uma
   segunda familia de dourado na pagina. */
#mkt .mk-burg{background:var(--mk-ouro-cta);color:#fff;border-radius:12px;
  width:var(--mk-acao);height:var(--mk-acao);min-width:var(--mk-acao);
  display:inline-flex;align-items:center;justify-content:center;padding:0;gap:0;
  box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -2px 3px #6e4a0533,
             0 2px 5px #b8800840,0 1px 0 #ffffff40}
#mkt .mk-burg .mk-ic-t{display:none}
#mkt .mk-burg-i{display:grid;gap:3.5px;width:18px}
/* BANCA user-ca: a sombra era 1px a 30% de uma cor DOURADA - composta sobre o
   ouro claro dava so 2,21:1. Uma sombra ESCURA separa muito mais e **nao toca no
   ouro que o Rafael pediu duas vezes**: muda a sombra, nao a identidade.
   Medido: rgba(60,40,0,.55) sobre a parada mais clara ⇒ 4,72:1 (min. 3 para
   componente grafico). A linha continua branca. */
#mkt .mk-burg-i i{display:block;height:2.5px;border-radius:2px;background:#fff;
  box-shadow:0 1px 0 rgba(60,40,0,.55),0 0 2px rgba(60,40,0,.35)}
#mkt .mk-burg[aria-expanded="true"]{background:var(--mk-ouro-cta);color:#fff;
  box-shadow:inset 0 2px 4px #6e4a0559,0 0 0 3px #f3c65159}
@media(hover:hover){#mkt .mk-burg:hover{filter:brightness(1.06)}}
#mkt .mk-burg:active{box-shadow:inset 0 2px 4px #6e4a0566;transform:translateY(1px)}


/* C1: o chip do card fica menor, translucido e AFASTADO da borda.
   Antes: top/left 6px, fundo preto a 72%, 10px. Encostava no canto do card,
   que tem raio 24 - e um quadrado opaco dentro de um canto redondo bate mal. */
#mkt .mk-selo{top:10px;left:10px;font-size:12px;padding:2px 8px;border-radius:999px;
  background:rgba(20,16,8,.42);color:#fff;font-weight:600;letter-spacing:.4px;
  -webkit-backdrop-filter:blur(6px) saturate(1.2);backdrop-filter:blur(6px) saturate(1.2);
  border:1px solid #ffffff2e;text-shadow:0 1px 2px #00000059}

/* BANCA user-ca: o selo e translucido de proposito para nao tapar a foto - e
   sobre foto escura da 14,85:1. Mas 3 dos 24 cards NAO tem foto: ali o composto
   cai sobre #f6f6f6 e o branco fica em **2,99:1**. Nesses, o selo fecha.
   Medido: opacidade .72 sobre #f6f6f6 = rgb(83,80,75) ⇒ 8,02:1. */
#mkt .mk-card:has(.mk-semimg) .mk-selo{background:rgba(20,16,8,.78);
  -webkit-backdrop-filter:none;backdrop-filter:none;border-color:#ffffff33}
/* SKEL0914-UNI U2d (Lighthouse no vivo 15/09: contraste 3,48 entre o branco e a sombra do chip sobre as caixas claras novas): fundo .74 e sem sombra */
#mkt .mk-selo{background:rgba(20,16,8,.74);text-shadow:none}
#mkt .mk-fav{top:10px;right:10px}

/* ---- ANURET0909 patch6 ---- */

/* S1: a barra de busca passa a ter TRES areas com coordenadas proprias.
   O `.mk-busca button` da casa e absolute/right:0 e apanhava tambem o mic:
   os dois ficavam em x=334..374, exatamente por cima um do outro. */
/* A regra da casa e `#mkt .mk-busca button` = (1 id, 1 classe, 1 tag).
   `#mkt .mk-mic` e (1 id, 1 classe) e PERDE - foi por isso que a 1a tentativa
   nao mexeu um pixel. Escrevo `#mkt .mk-busca button.mk-mic`, que tem uma
   classe a mais e ganha sem precisar de !important. */
/* BANCA user-ca: a 1024 a folga entre mic e lupa caia para +2px - passa, mas era
   o ponto mais fragil da serie entre dois alvos de toque. 50px poe todas em +6. */
#mkt .mk-busca button.mk-mic{position:absolute;right:50px;top:0;left:auto;
  width:44px;height:44px;min-width:44px;flex:none;
  background:transparent;border:0;color:var(--mk-ouro-acao);
  display:grid;place-items:center;padding:0;border-radius:12px}
#mkt .mk-busca button.mk-mic svg{width:26px;height:26px}
#mkt .mk-busca button.mk-mic::after{content:"";position:absolute;inset:0}
#mkt .mk-busca button[type=submit]{right:0}
#mkt .mk-busca button[type=submit] svg{width:22px;height:22px}
/* com dois botoes a direita, o texto precisa de deixar de correr por baixo */
#mkt .mk-busca input{padding-right:96px}
#mkt .mk-mic[hidden]{display:none!important}
/* quando nao ha voz no navegador, o mic nao existe e a lupa nao pode ficar
   com um buraco de 44px ao lado: o padding volta ao normal. */
#mkt .mk-busca:not(:has(#mk-mic:not([hidden]))) input{padding-right:52px}

/* S3: o coracao sai do topo (os cards continuam a ter o deles) */
#mkt .mk-acoes #mk-btfav[hidden]{display:none!important}

/* S4: a frase e o contador no mesmo dourado.
   MEDIDO: o ouro claro (#F3C651) sobre o fundo #F7F8FA da 1,54:1 e e ilegivel.
   Esta rampa comeca em #A87206 = 3,81:1, que passa para texto grande. */
#mkt #mk-tit{color:#8F6207}
/* BANCA user-ca: a parada mais clara (#A87206) dava 3,89:1 sobre #F7F8FA e o
   titulo e 14,4px/800 - NAO e texto grande (so a partir de 18,66px com peso 700),
   logo o minimo e 4,5. Eu tinha-o tratado como grande. A rampa comeca agora em
   #8F6207 = 5,04:1 e fecha em #6E4A05 = 7,47:1. */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  #mkt #mk-tit{background:none;color:#7A5406;-webkit-text-fill-color:#7A5406}
}
#mkt #mk-cnt{color:inherit;font-weight:600}

/* ---- ANURET0909 patch5: painel do registo + portao de contato ---- */
#mkt .mk-abrepainel{background:transparent;border:0;padding:0;cursor:pointer}
#mk-cx{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
#mk-cx[hidden]{display:none!important}
html.mk-cx-aberto,html.mk-cx-aberto body{overflow:hidden} #mk-cx .mk-cx-cx{overscroll-behavior:contain} /* F2 (FLUXOS0912) */
#mk-cx .mk-cx-fundo{position:absolute;inset:0;background:#1b1b1f8c}
#mk-cx .mk-cx-cx{position:relative;background:#fff;border-radius:20px;max-width:440px;width:100%;
  max-height:86vh;overflow:auto;box-shadow:0 20px 50px #1b1b1f40;padding:20px}
#mk-cx h2{margin:0 8px 6px 0;font-size:18px;line-height:1.25;color:var(--tinta)}
#mk-cx .mk-cx-sub{margin:0 0 12px;font-size:13.5px;color:var(--tinta2);line-height:1.45}
#mk-cx .mk-cx-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
#mk-cx .mk-cx-tag{background:#faf5e8;border:1px solid #f0e2c2;color:#6E4A05;border-radius:999px;
  padding:4px 10px;font-size:12px}
#mk-cx .mk-cx-fechar{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;
  background:#f2f3f5;border-radius:50%;font-size:20px;line-height:1;color:var(--tinta2)}
#mk-cx .mk-cx-cta{display:block;width:100%;border:0;border-radius:12px;min-height:46px;
  background:var(--mk-ouro-cta);color:#241900;font-weight:700;font-size:14.5px;
  text-shadow:0 1px #ffffff59;box-shadow:inset 0 1px 1px #ffffff99,0 2px 6px #b880081a;
  text-align:center;text-decoration:none;line-height:46px;margin-top:4px}
#mk-cx .mk-cx-2{background:#fff;border:1px solid #e2d4b3;color:var(--tinta);
  box-shadow:none;text-shadow:none;font-weight:600;margin-top:8px}
#mk-cx .mk-cx-nota{margin:12px 0 0;font-size:11.5px;color:var(--tinta2);line-height:1.45}
#mk-cx .mk-cx-fone{font-size:15px;font-weight:700;color:var(--tinta);letter-spacing:.4px}
#mk-cx .mk-cx-img{width:100%;height:150px;object-fit:cover;border-radius:14px;margin-bottom:12px}

/* ---- ANURET0909: voz, pausa do carrossel e alvos ---- */
#mkt .mk-mic{background:transparent;border:0;color:#8A5A00;width:40px;height:42px;
  display:grid;place-items:center;padding:0;flex:0 0 40px;border-radius:10px}
#mkt .mk-mic[hidden]{display:none!important}
@media(hover:hover){#mkt .mk-mic:hover{background:#f7f0dd}}
#mkt .mk-mic[aria-pressed="true"]{background:#fff0be;color:#6E4A05}
#mkt .mk-mic[aria-pressed="true"] svg{animation:mk-pulso 1.4s ease-in-out infinite}
@keyframes mk-pulso{0%,100%{opacity:1}50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){#mkt .mk-mic[aria-pressed="true"] svg{animation:none}}

/* --- carrossel: lado = 0,70 x raiz(largura x altura do card / 8) ---
   desktop 280x510 -> 0,70*sqrt(17850) = 93,5px · mobile 172x350 -> 0,70*sqrt(7525) = 60,7px */
#mkt .mk-dest-track{gap:12px;padding:6px 0}
@media(hover:hover){
  #mkt .mk-dest-i:hover{transform:scale(1.10);box-shadow:0 6px 18px #cf970e3d;z-index:2}
}
#mkt .mk-dest-i{transition:transform 240ms cubic-bezier(.2,.75,.2,1),box-shadow 240ms ease}
#mkt .mk-dest-win{padding:2px 0}

/* --- skeleton com a MESMA geometria do card final --- */
#mkt .mk-sk{height:var(--mk-card-h);border-radius:var(--raio);border:1px solid #e8d4a4;overflow:hidden}
#mkt .mk-sk-img{height:var(--mk-img-h)}
#mkt .mk-sk-b{height:calc(var(--mk-card-h) - var(--mk-img-h));padding:12px}

@media(max-width:899px){
  #mkt{--mk-card-h:340px;--mk-img-h:168px}
  #mkt .mk-grid{gap:8px}
  #mkt .mk-nome{font-size:13px}
  #mkt .mk-desc{font-size:12px;-webkit-line-clamp:2}
  #mkt .mk-preco{font-size:17px}
  #mkt .mk-cta{padding-top:7px}
  #mkt .mk-cta span{height:36px;line-height:36px;font-size:12px}
  #mkt .mk-body{padding:8px 9px}
  #mkt .mk-painel{padding:12px;border-radius:16px}
  #mkt .mk-painel-in{grid-template-columns:1fr;gap:12px}
  #mkt .mk-dest-track{gap:8px}
}
@media(min-width:900px){
  #mkt{--mk-card-h:420px;--mk-img-h:232px}
  #mkt .mk-dest-track:empty{min-height:132px} /* SKEL0914-UNI: 1 cartao de loja (120) + padding 12 */
  #mkt .mk-grid{gap:14px}
}
/* SKEL0914-UNI U2c: sem buraco entre o texto e o botao - o corpo mede o seu conteudo e a figura cresce (minimo = a altura de antes) */
#mkt .mk-fig{height:auto;flex:1 1 var(--mk-img-h);min-height:var(--mk-img-h)}
#mkt .mk-body{height:auto;flex:0 0 auto}
@media(max-width:899px){#mkt .mk-ft{padding-bottom:10px}}

/* ===== FALLBACK0918-FIM (18/09/2026, votos FBB_V1-V5 do Rafael) - bloco FINAL para vencer as regras anteriores pela ORDEM, sem !important ===== */
#mkt .mk-selo{top:6px;left:6px;font-size:10px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.74);color:#3b2d0c;font-weight:700;letter-spacing:.3px;text-shadow:none;border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);box-shadow:0 1px 2px rgba(60,40,0,.18)}
#mkt .mk-selo{top:12px;left:10px} /* FALLBACK0918-C: chip um pouco mais baixo */
#mkt .mk-fav{top:2px;right:4px;font-size:17px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) drop-shadow(0 0 5px rgba(0,0,0,.35))} #mkt .mk-fav::before{display:none} #mkt .mk-fav.on{color:#F3C651} /* FALLBACK0918-C: sem circulo, centro na mesma linha do chip (22 px) */
#mkt .mk-fig{background:#f4efe3} #mkt .mk-fig img,#mk-cx .mk-cx-img{object-fit:cover;padding:0;background:transparent} #mkt .mk-fig picture{display:block;width:100%;height:100%} /* 19/09: a <picture> do fallback (lojas do feed sem foto) nasce inline e a imagem ficava com altura 0 — caixa bege vazia */ /* FALLBACK0918-C: preencher sempre */
@media(min-width:900px){.t19-hdr .t19-cont{box-sizing:border-box}}
@media(max-width:899px){#mkt .mk-main{padding:12px 16px}}
#mkt .mk-dest-i{background:transparent;border:0;box-shadow:none;padding:0 2px 4px} #mkt .mk-dest-i:hover{box-shadow:none;transform:translateY(-2px)} #mkt .mk-dest-i img{border-radius:12px;border:1px solid rgba(233,169,48,.35)} /* DESKTOP0919: no bloco FIM, para vencer as regras do carrossel que vêm depois do bloco dos chips */
#mkt .mk-nota{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.78);border:1px solid rgba(184,128,8,.28);font-size:13.5px;color:#3b2d0c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)} #mkt .mk-nota a{color:#8A5E04;font-weight:600;text-decoration:underline} #mkt .mk-nota-aviso{background:rgba(255,246,222,.9)} /* ESTUDOBUSCA0919 */ /* FALLBACK0918-D: no celular o conteudo alinha com o cabecalho (16 px dos dois lados) */ /* FALLBACK0918-C: cabecalho e barra de categorias com a MESMA largura do conteudo; hamburguer alinha com o botao de filtros */
@media(max-width:899px){#mkt{--mk-card-h:322px;--mk-img-h:158px} #mkt .mk-cta span{height:31px;line-height:31px;font-size:12px} #mkt .mk-barra{min-height:36px;margin:0 0 4px}} /* FALLBACK0918-E: botao de filtros volta a linha do titulo no celular (ordem do Rafael 19:3x) */
/* anuncios: bloco toque0920 */
/* MELH0920 dica 4 (20/09, medido a 375/430 px): coracao 40x40 -> 44x44; links do rodape com alvo de 44 px (padding, sem mudar a linha) */#mkt .mk-fav{width:44px;height:44px;top:4px;right:4px}#mkt .mk-ft-in a{display:inline-block;padding:13px 6px;margin:-13px 0;line-height:18px}
/* anuncios: bloco mobux1008 */
/* MOBUX1008 08/10/2026 (missao APP019-MOBILE-UX-IOS-20261008-P0, video real no iPhone; medido antes no servido a 390 e 375 px):
   1) MODAL do anuncio: estava em z-index 200 e a barra inferior (900) e o "Instalar app" (9998) ficavam POR CIMA do fundo e do modal
      (elementFromPoint no meio da barra = a barra). Sobe para 10000 (abaixo da roleta de cidade 99990 e do menu lateral 99991).
      Altura pela area VISIVEL (dvh; vh do Safari ignora as barras do navegador) e margens de area segura; o X fica parado e so o
      conteudo rola (antes o X rolava junto e sumia em anuncio longo); o fundo nao arrasta a pagina. */
#mk-cx{z-index:10000;padding:max(16px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
#mk-cx .mk-cx-fundo{touch-action:none}
#mk-cx .mk-cx-cx{display:flex;flex-direction:column;overflow:hidden;padding:0;max-height:86vh;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
#mk-cx #mk-cx-corpo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px}
#mk-cx .mk-cx-fechar{z-index:2}
/* 2) FONTE: so a /anuncios/ deixava o <body> sem familia (Times por omissao, medido); a barra inferior e o "Instalar app" vivem no
      body e saiam serifados aqui e em mais nenhuma pagina. Mesma pilha do #mkt. */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
/* 3) ETIQUETAS dos cards: o chip era inline-flex e as reticencias nao funcionam num contentor flex - a cidade era cortada a meio
      da letra ("Santa Cruz da C"). Em bloco, com a mesma altura de linha, o corte passa a ser com "..." (o nome inteiro vai no title). */
#mkt .mk-chp{display:block;text-align:center}
/* 4) PAINEL DE FILTROS no celular: "Aplicar/Limpar" ficavam abaixo da dobra ao abrir (iPhone SE) e ate 52 px tapados pela barra
      inferior. Ficam presos ao fundo, acima da barra, enquanto o painel estiver no ecra; alvos de 44 px. */
@media(max-width:899px){
  #mkt .mk-painel-ac{position:sticky;bottom:calc(var(--n19-espaco,0px) + 6px);z-index:3;background:#fff;
    margin:12px -12px -12px;padding:10px 12px 12px;border-radius:0 0 16px 16px;box-shadow:0 -8px 16px rgba(27,27,31,.07)}
  #mkt .mk-painel-ac button{flex:1 1 0;height:44px}
  /* o "Instalar app" (#a19-fab do pwa.js, fixo no canto, z 9998) caia exactamente em cima do "Aplicar selecao" (captura do SE);
     some so enquanto o painel estiver aberto e volta ao fecha-lo */
  html.mk-painel-aberto #a19-fab{display:none!important}
}
