/* Loja virtual HJOTA Calçados: dourado da marca sobre grafite e marfim */
:root{
  --bg:#FAF7F6; --surface:#FFFFFF; --surface-2:#F6EFEE; --surface-3:#EBDEDD;
  --ink:#1C1312; --ink-2:#584847; --ink-3:#8C7A79;
  --line:#EEE2E1; --line-2:#DCCAC9;
  --marca-1:#F0565E; --marca-2:#D8232D; --marca-3:#A3161E;
  --accent:#CC1E28; --accent-2:#A3161E;
  --forte:#C41C25; --forte-2:#D8232D; --sobre-forte:#FFFFFF;
  --r:14px; --sombra:0 14px 36px -22px rgba(28,19,18,.5);
  --display:"Jost", system-ui, sans-serif;
  --corpo:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--corpo);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;margin:0;letter-spacing:-.01em;text-wrap:balance}
button{font:inherit;cursor:pointer}
s{color:var(--ink-3);font-weight:400}
input,select,textarea{font:inherit;color:inherit;width:100%;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:11px 13px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #fbdcdd}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topo-dentro{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;flex:none}
.emblema{width:30px;height:36px;flex:none}
.nome{font-family:var(--display);font-size:15px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  background:linear-gradient(100deg,var(--marca-3),var(--marca-2) 45%,var(--marca-1));-webkit-background-clip:text;background-clip:text;color:transparent}
.nome .ponto{letter-spacing:0}
.menu-cat{display:none;gap:4px;flex:1;justify-content:center;overflow:hidden}
.menu-cat button{background:none;border:0;color:var(--ink-2);font-weight:600;font-size:13.5px;padding:8px 10px;border-radius:8px;white-space:nowrap}
.menu-cat button:hover{background:var(--surface-2);color:var(--ink)}
@media (min-width:860px){ .menu-cat{display:flex} }
.btn-carrinho{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:var(--surface);
  border-radius:99px;padding:8px 15px;font-weight:600;font-size:13.5px;position:relative;margin-left:auto;flex:none}
.btn-carrinho:hover{border-color:var(--accent)}
.btn-carrinho svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contador{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:99px;background:var(--forte);
  color:var(--sobre-forte);font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px}
@media (max-width:420px){ .rot-sacola{display:none} }

/* ---------- capa ---------- */
.capa{max-width:1180px;margin:0 auto;padding:28px 16px 10px;display:grid;gap:22px}
@media (min-width:860px){ .capa{grid-template-columns:1fr 1.05fr;align-items:center;padding:44px 16px 20px} }
.capa-eyebrow{font-family:var(--display);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.capa h1{font-size:clamp(28px,5.6vw,46px);line-height:1.08}
.capa-sub{max-width:44ch;margin:14px 0 0;color:var(--ink-2)}
.capa-btn{display:inline-flex;width:fit-content;margin-top:18px;padding:13px 26px;text-decoration:none}
.capa-mosaico{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,128px);gap:10px}
@media (min-width:860px){ .capa-mosaico{grid-template-rows:repeat(2,190px)} }
.capa-foto{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;background:var(--surface-2);box-shadow:var(--sombra)}
.capa-foto img{width:100%;height:100%;object-fit:cover}
.capa-foto span{position:absolute;left:0;right:0;bottom:0;padding:16px 12px 10px;color:#fff;font-size:12.5px;font-weight:600;
  text-align:left;background:linear-gradient(transparent,rgba(12,9,5,.75))}
.capa-foto.f0{grid-row:span 2}
.capa-vazia{grid-column:span 2;grid-row:span 2;display:grid;place-items:center;background:var(--surface-2);border-radius:14px;min-height:220px}
.capa-vazia svg{width:80px;height:96px;opacity:.4}

/* ---------- barra de confiança ---------- */
.confianca{max-width:1180px;margin:18px auto 6px;padding:0 16px;list-style:none;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){ .confianca{grid-template-columns:repeat(4,1fr)} }
.confianca li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;display:flex;gap:10px;align-items:flex-start}
.confianca svg{width:19px;height:19px;flex:none;margin-top:1px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.confianca .txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.confianca b{font-size:13px}
.confianca span{font-size:11.5px;color:var(--ink-3);line-height:1.35}

/* ---------- trilhos ---------- */
.trilho{max-width:1180px;margin:26px auto 0;padding:0 16px}
.trilho-topo{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.trilho-topo h2{font-size:21px}
.sub{color:var(--ink-3);font-size:12.5px}
.trilho-itens{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(158px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.trilho-itens::-webkit-scrollbar{display:none}
@media (min-width:860px){ .trilho-itens{grid-auto-columns:minmax(200px,1fr)} }

/* ---------- filtros ---------- */
.barra{max-width:1180px;margin:30px auto 0;padding:0 16px;display:flex;flex-direction:column;gap:10px;scroll-margin-top:70px}
.busca{position:relative}
.busca svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;fill:none;stroke:var(--ink-3);stroke-width:1.9;stroke-linecap:round}
.busca input{padding-left:40px;border-radius:99px}
.filtros-linha{display:flex;gap:10px;align-items:center}
.filtros-linha select{width:auto;min-width:150px;border-radius:99px;flex:none;font-size:13px;padding:9px 12px}
.categorias{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;flex:1}
.categorias::-webkit-scrollbar{display:none}
.categorias button{border:1px solid var(--line-2);background:var(--surface);border-radius:99px;padding:7px 15px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--ink-2)}
.categorias button[aria-pressed="true"]{background:linear-gradient(180deg,var(--forte-2),var(--forte));border-color:transparent;color:var(--sobre-forte)}
@media (max-width:620px){
  .filtros-linha{flex-wrap:wrap}
  .categorias{flex:1 0 100%;order:1}
  .filtros-linha select{order:2;margin-left:auto;min-width:0;font-size:12.5px}
}
.tamanhos-filtro{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.tamanhos-filtro .rotulo{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.tamanhos-filtro button{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;min-width:38px;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.tamanhos-filtro button[aria-pressed="true"]{background:var(--forte);border-color:var(--forte);color:var(--sobre-forte)}
.tamanhos-filtro button small{font-size:10px;font-weight:600;opacity:.6;margin-left:5px;letter-spacing:.02em}
.tamanhos-filtro button[aria-pressed="true"] small{opacity:.75}
.tamanhos-filtro .so-disp{border-radius:99px;padding:6px 13px}

/* ---------- grade ---------- */
.grade{max-width:1180px;margin:14px auto 0;padding:0 16px 56px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
@media (min-width:620px){ .grade{gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))} }
.contagem{grid-column:1/-1;margin:0;color:var(--ink-3);font-size:12.5px}
.carregando,.vazio-msg{grid-column:1/-1;text-align:center;color:var(--ink-3);padding:40px 0}
.peca{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-align:left;padding:0;box-shadow:var(--sombra);transition:transform .15s ease,border-color .15s ease}
.peca:hover{border-color:var(--line-2);transform:translateY(-2px)}
.peca .foto{position:relative;aspect-ratio:1/1;background:var(--surface-2);display:grid;place-items:center;overflow:hidden}
.peca .foto img{width:100%;height:100%;object-fit:cover}
.peca .foto svg{width:46px;height:55px;opacity:.35}
.peca .texto{padding:11px 13px 14px;display:flex;flex-direction:column;gap:3px;flex:1}
.peca .cat{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.peca .pn{font-weight:600;font-size:14px;line-height:1.3}
.precos{display:flex;align-items:baseline;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.precos s{font-size:12.5px}
.peca .pp{font-family:var(--display);font-size:19px;font-weight:600}
.peca .parc{font-size:11.5px;color:var(--ink-3)}
.selo{position:absolute;top:8px;left:8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 8px;border-radius:99px;background:var(--forte);color:var(--sobre-forte)}
.selo-oferta{background:#A8281C;color:#fff}
.selo-novo{background:linear-gradient(180deg,var(--marca-1),var(--marca-2));color:#2A1D05}
.selo-ultima{background:#B5490D;color:#fff}
.selo-off{background:rgba(26,22,17,.72);color:#fff}

/* ---------- janela do produto ---------- */
.veu{position:fixed;inset:0;background:rgba(18,14,9,.55);z-index:40}
.janela{position:fixed;z-index:50;inset:auto 0 0 0;background:var(--surface);border-radius:18px 18px 0 0;max-height:92dvh;overflow:auto;
  padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px))}
@media (min-width:720px){
  .janela{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(940px,94vw);border-radius:18px;max-height:90dvh}
}
.jan-grade{display:grid;gap:16px}
@media (min-width:720px){.jan-grade{grid-template-columns:1fr 1fr;align-items:start}}
/* aqui o cliente ja escolheu a peca e quer ver tudo: nada de recorte, so a foto inteira */
/* caixa de altura fixa e a foto cabendo inteira dentro dela, sem esticar e sem cortar */
.jan-foto{height:min(60dvh,560px);background:var(--surface-2);border-radius:12px;overflow:hidden;
  display:flex;align-items:center;justify-content:center}
.jan-foto img{width:100%;height:100%;object-fit:contain}
.jan-foto svg{width:70px;height:84px;opacity:.35;flex:none}
.jan-galeria{display:flex;flex-direction:column;gap:8px}
.miniaturas{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.miniaturas button{width:58px;height:58px;flex:none;border-radius:9px;overflow:hidden;border:2px solid transparent;background:var(--surface-2);padding:0}
.miniaturas button[aria-pressed="true"]{border-color:var(--accent)}
.miniaturas img{width:100%;height:100%;object-fit:contain}
.jan-info h3{font-size:23px;margin-bottom:4px}
.jan-cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0 0 2px}
.jan-info .selo{position:static;display:inline-block;margin:6px 0}
.jan-preco{font-family:var(--display);font-size:29px;font-weight:600;margin:8px 0 2px;display:flex;align-items:baseline;gap:10px}
.jan-preco s{font-size:17px}
.jan-linha{color:var(--ink-2);font-size:13.5px;margin:2px 0}
.jan-rot{font-weight:600;margin-top:12px}
.jan-alerta{color:#A8281C;font-weight:600}
.jan-acoes{display:flex;gap:8px;margin-top:10px}
.jan-acoes .btn{font-size:13.5px;padding:11px}
.tamanhos{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.tamanhos button{border:1px solid var(--line-2);background:var(--surface);border-radius:9px;min-width:44px;padding:9px 12px;font-weight:600;font-size:13.5px}
.tamanhos button[aria-pressed="true"]{background:var(--forte);border-color:var(--forte);color:var(--sobre-forte)}
.qtd{display:flex;align-items:center;gap:10px;margin:14px 0}
.qtd button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);font-size:19px;font-weight:600;line-height:1}
.qtd span{min-width:28px;text-align:center;font-weight:700;font-size:16px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:12px;padding:14px;
  font-weight:700;font-size:15px;background:linear-gradient(180deg,var(--forte-2),var(--forte));color:var(--sobre-forte)}
.btn:disabled{opacity:.45}
.btn-claro{background:var(--surface);color:var(--ink);border:1px solid var(--line-2);font-weight:600}
.btn-zap{background:linear-gradient(180deg,#2BB75B,#1E9549);color:#fff}
.fechar-x{position:absolute;top:10px;right:12px;background:none;border:0;font-size:26px;line-height:1;color:var(--ink-3);padding:4px 8px}

/* ---------- sacola ---------- */
.sacola{position:fixed;z-index:50;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--surface);display:flex;flex-direction:column;box-shadow:-20px 0 50px -30px rgba(0,0,0,.6)}
.sacola-topo{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.sacola-topo h2{font-size:19px}
.sacola-topo button{background:none;border:0;font-size:26px;line-height:1;color:var(--ink-3)}
.sacola-itens{flex:1;overflow:auto;padding:12px 18px;display:flex;flex-direction:column;gap:12px}
.sacola-fim{border-top:1px solid var(--line);padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px}
.item{display:grid;grid-template-columns:62px 1fr auto;gap:11px;align-items:center}
.item .mini{width:62px;height:62px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden}
.item .mini img{width:100%;height:100%;object-fit:cover}
.item .mini svg{width:26px;height:31px;opacity:.35}
.item .in{min-width:0}
.item .in b{display:block;font-size:13.5px;font-weight:600;line-height:1.3}
.item .in small{color:var(--ink-3);font-size:12px}
.item .ctrl{display:flex;align-items:center;gap:6px}
.item .ctrl button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);font-weight:700;line-height:1}
.item .ctrl span{min-width:20px;text-align:center;font-weight:600;font-size:13px}
.total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--display);font-size:22px;font-weight:600}
.parc-total{margin:0;font-size:12.5px;color:var(--ink-3)}
.aviso-frete{margin:0;font-size:12.5px;font-weight:600;color:var(--accent-2);background:#FBF3E2;border-radius:8px;padding:7px 10px}
.aviso-frete.ok{color:#1E7A46;background:#E6F4EC}
.obs-frete{margin:0;font-size:12px;color:var(--ink-3)}
.sacola-vazia{text-align:center;color:var(--ink-3);padding:40px 10px}
.sacola-vazia svg{width:52px;height:62px;opacity:.3;margin:0 auto 10px}

/* ---------- formulário do pedido ---------- */
.campo{display:flex;flex-direction:column;gap:5px}
.campo label{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.entrega{display:flex;flex-direction:column;gap:8px}
.entrega label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line-2);border-radius:11px;padding:11px 13px;cursor:pointer}
.entrega label:has(input:checked){border-color:var(--accent);background:#fdf8ec}
.entrega input{width:auto;margin-top:3px}
.entrega b{display:block;font-size:14px}
.entrega small{color:var(--ink-3);font-size:12.5px}

/* ---------- rodapé ---------- */
.rodape{background:var(--forte);color:#CFC6B4;margin-top:40px;padding:34px 16px calc(24px + env(safe-area-inset-bottom,0px))}
.rodape-dentro{max-width:1180px;margin:0 auto;display:grid;gap:26px;grid-template-columns:1fr}
@media (min-width:720px){ .rodape-dentro{grid-template-columns:repeat(4,1fr);gap:20px} }
.rodape .emblema{width:38px;height:46px;margin-bottom:8px}
.rodape h3{color:var(--sobre-forte);font-size:14px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin-bottom:8px}
.rodape h4{color:#fff;font-size:13px;font-weight:600;margin-bottom:8px;font-family:var(--corpo)}
.rodape p{margin:3px 0;font-size:13px;line-height:1.5}
.rodape a{color:var(--marca-1);text-decoration:none}
.destaque-rodape{color:var(--marca-1);font-weight:600}
.rodape-fim{max-width:1180px;margin:26px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:12px;opacity:.65}

/* ---------- aviso ---------- */
.aviso{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;
  background:var(--forte);color:var(--sobre-forte);padding:11px 18px;border-radius:99px;font-size:13.5px;font-weight:500;box-shadow:var(--sombra)}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}


/* ---------- prateleira por categoria ---------- */
.trilho-topo .ver-tudo{margin-left:auto;background:none;border:0;color:var(--accent-2);font-weight:700;font-size:12.5px;padding:4px 2px}
.trilho-caixa{position:relative}
.seta{position:absolute;top:50%;transform:translateY(-60%);z-index:2;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line-2);background:var(--surface);display:none;place-items:center;font-size:17px;line-height:1;
  box-shadow:0 6px 18px -10px rgba(26,22,17,.6);color:var(--ink)}
.seta.esq{left:-6px} .seta.dir{right:-6px}
@media (min-width:860px){ .trilho-caixa:hover .seta{display:grid} }

/* ---------- cartão: botão rápido e selo de desconto ---------- */
.peca .add-rapido{position:absolute;left:8px;right:8px;bottom:8px;border:0;border-radius:10px;padding:9px;
  background:linear-gradient(180deg,var(--forte-2),var(--forte));color:var(--sobre-forte);font-weight:700;font-size:12.5px;
  opacity:0;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease}
@media (min-width:860px){ .peca:hover .add-rapido{opacity:1;transform:none} }
@media (max-width:859px){ .peca .add-rapido{position:static;opacity:1;transform:none;margin:10px 13px 12px} }
.selo-desconto{position:absolute;top:8px;right:8px;left:auto;background:#A8281C;color:#fff}

/* ---------- filtro ativo ---------- */
.filtro-ativo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}
.filtro-ativo button{border:1px solid var(--line-2);background:var(--surface);border-radius:99px;padding:4px 11px;font-size:12px;font-weight:600;color:var(--ink-2)}

/* ---------- convite ---------- */
.convite{max-width:1180px;margin:34px auto 0;padding:0 16px}
.convite-caixa{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 20px;text-align:center;box-shadow:var(--sombra)}
.convite-caixa h2{font-size:21px;margin-bottom:6px}
.convite-caixa p{color:var(--ink-2);font-size:14px;max-width:48ch;margin:0 auto 14px}
.convite-botoes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.convite-botoes .btn{width:auto;padding:12px 22px;text-decoration:none}

/* ---------- WhatsApp flutuante ---------- */
.zap-flutuante{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:35;
  display:flex;align-items:center;gap:9px;padding:12px 16px;border-radius:99px;text-decoration:none;
  background:linear-gradient(180deg,#2BB75B,#1E9549);color:#fff;font-weight:700;font-size:13.5px;
  box-shadow:0 12px 30px -12px rgba(16,100,50,.75)}
.zap-flutuante svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:520px){ .zap-flutuante span{display:none} .zap-flutuante{padding:14px;border-radius:50%} }
