:root{
  --preto:#111; --branco:#fff; --fundo:#fff;
  --cinza-1:#f5f5f5; --cinza-2:#e8e8e8; --cinza-3:#a3a3a3; --cinza-4:#5e5e5e;
  --raio:12px;
  --fonte:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fonte);background:var(--fundo);color:var(--preto);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
.box{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}

/* Topo */
.topo{background:var(--branco);border-bottom:1px solid var(--cinza-2);position:sticky;top:0;z-index:20}
.topo .box{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--preto)}
.marca svg{height:46px;width:auto}
.topo nav{display:none}
/* páginas antigas: logo pequena em linha */
.marca svg circle,.marca svg path[stroke]{stroke:var(--preto)}
.marca span b{font-weight:800;font-size:1.15rem}
.marca svg[viewBox="0 0 32 32"]{height:30px}

/* Banner (propaganda) */
.banner{display:block;margin:18px 0 0;border-radius:var(--raio);overflow:hidden;background:var(--cinza-1);text-decoration:none}
.banner img{width:100%;height:auto;aspect-ratio:16/5;object-fit:cover}
.banner.sem-arte{background:var(--preto);color:var(--branco);aspect-ratio:16/5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(20px,5vw,64px)}
.banner.sem-arte b{display:block;font-size:clamp(1.8rem,5vw,3.6rem);font-weight:800;letter-spacing:-.03em;line-height:1}
.banner.sem-arte span{display:block;color:#cfcfcf;font-size:clamp(.95rem,1.6vw,1.2rem);margin-top:10px;max-width:40ch}
.banner.sem-arte em{font-style:normal;font-weight:700;background:var(--branco);color:var(--preto);border-radius:99px;padding:12px 22px;white-space:nowrap}
.banner.sem-arte:hover em{background:var(--cinza-2)}
main > .banner, .box > .banner{margin-bottom:0}

/* Busca */
.busca-area{padding:26px 0 8px}
.busca-form{position:relative;max-width:720px;margin:0 auto}
.busca-form svg{position:absolute;left:18px;top:50%;width:22px;height:22px;transform:translateY(-50%);color:var(--cinza-4);pointer-events:none}
.busca{width:100%;padding:16px 18px 16px 52px;border:1.5px solid var(--preto);border-radius:99px;font:inherit;font-size:1.05rem;background:var(--branco);color:var(--preto)}
.busca::placeholder{color:var(--cinza-3)}
.busca:focus{outline:3px solid var(--cinza-2);outline-offset:0}
.filtros{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:14px}
.seg{display:inline-flex;border:1px solid var(--cinza-2);border-radius:99px;padding:3px;background:var(--cinza-1)}
.seg button{border:0;background:transparent;border-radius:99px;padding:7px 14px;font-size:.88rem;font-weight:600;cursor:pointer;color:var(--cinza-4);white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--preto);color:var(--branco)}
.contagem{text-align:center;font-size:.85rem;color:var(--cinza-4);margin-top:12px}

/* Grade */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:34px 22px;padding:22px 0 56px}
.card{display:flex;flex-direction:column;align-items:center;text-align:center}
.card .previa{width:100%;aspect-ratio:1/1;display:grid;place-items:center;padding:22px;background:var(--cinza-1);border-radius:var(--raio);text-decoration:none;transition:background .15s}
.card .previa:hover{background:var(--cinza-2)}
.card .previa img{max-height:100%;object-fit:contain}
.card h3{font-size:1rem;font-weight:600;line-height:1.3;margin-top:14px}
.card h3 a{text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card .sub{font-size:.85rem;color:var(--cinza-4);margin-top:2px}
.baixar{margin-top:12px;border:1.5px solid var(--preto);background:var(--branco);border-radius:99px;padding:9px 28px;font-weight:700;font-size:.92rem;cursor:pointer}
.baixar:hover{background:var(--preto);color:var(--branco)}
.vazio{grid-column:1/-1;text-align:center;padding:50px 0;color:var(--cinza-4)}

/* Desenho provisório (sem arquivo ainda) */
.desenho{display:flex;gap:6px;color:var(--cinza-3);font-weight:800;letter-spacing:.02em;line-height:1.1}
.desenho.vertical{flex-direction:column;align-items:center}
.desenho.horizontal{flex-direction:row;align-items:center}
.desenho .lupa{display:flex;align-items:center;gap:4px;font-size:.8rem}
.desenho .lupa svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.desenho .itens{display:flex;gap:4px}
.desenho.vertical .itens{flex-direction:column}
.desenho.horizontal .itens{flex-direction:column}
.desenho i{font-style:normal;font-size:.68rem;border:1.5px dashed var(--cinza-3);border-radius:4px;padding:4px 6px}

/* Janela de download */
.janela{border:0;border-radius:16px;padding:0;width:min(440px,calc(100% - 32px));margin:auto;color:var(--preto);background:var(--branco);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.janela::backdrop{background:rgba(0,0,0,.55)}
.janela[open]{display:block}
.janela .conteudo{padding:24px}
.janela h2{font-size:1.2rem;line-height:1.25;padding-right:36px}
.janela .sub{color:var(--cinza-4);font-size:.9rem;margin:2px 0 16px}
.janela .fechar{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:0;background:var(--cinza-1);cursor:pointer;font-size:1.2rem;line-height:1}
.janela .fechar:hover{background:var(--cinza-2)}
.janela p.pergunta{font-weight:700;margin-bottom:10px}
.opcoes{display:grid;gap:8px}
.opcao{display:flex;align-items:center;gap:14px;border:1.5px solid var(--preto);border-radius:10px;padding:12px 14px;text-decoration:none}
.opcao b{font-size:1rem;min-width:44px}
.opcao span{font-size:.86rem;color:var(--cinza-4)}
a.opcao:hover{background:var(--preto);color:var(--branco)}
a.opcao:hover span{color:#ddd}
.opcao.indisponivel{border-color:var(--cinza-2);color:var(--cinza-3)}
.opcao.indisponivel span{color:var(--cinza-3)}

/* Anúncio */
.anuncio{grid-column:1/-1;min-height:100px;display:block;text-align:center}
.anuncio-rotulo{font-size:.68rem;color:var(--cinza-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.bloco-anuncio{margin:10px 0}

/* Botão genérico */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--preto);color:var(--branco);text-decoration:none;border-radius:99px;padding:12px 22px;border:0;cursor:pointer;font:inherit;font-weight:700}
.btn:hover{background:#333}

/* Página da etiqueta */
.migalha{font-size:.88rem;color:var(--cinza-4);padding:18px 0 0}
.migalha a{text-decoration:none}
.etq{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;padding:18px 0 30px;align-items:start}
.etq .previa{border-radius:var(--raio);aspect-ratio:4/3;background:var(--cinza-1);display:grid;place-items:center;padding:28px}
.etq .previa img{max-height:100%;object-fit:contain}
.etq h1{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.1;letter-spacing:-.02em}
.etq .desc{color:var(--cinza-4);margin:12px 0 18px}
.downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.etq .downloads{grid-template-columns:1fr;gap:8px}
.dl{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:12px;font-weight:700;text-decoration:none;background:var(--branco);color:var(--preto);border:1.5px solid var(--preto)}
.dl:hover{background:var(--preto);color:var(--branco)}
.dl[aria-disabled="true"]{border-color:var(--cinza-2);color:var(--cinza-3);pointer-events:none}
.etq .dl{justify-content:space-between;padding:14px 18px;font-size:1rem}
.etq .dl small{font-weight:600;opacity:.7}
.dl svg{width:16px;height:16px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--cinza-1);border-radius:5px;padding:2px 7px;color:var(--cinza-4)}
.tag.divertida{background:var(--cinza-2);color:var(--preto)}
.pin{margin-top:12px}
.aviso{font-size:.85rem;color:var(--cinza-4);background:var(--cinza-1);border:1px solid var(--cinza-2);border-radius:10px;padding:12px 14px;margin-top:16px}
.embreve{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--cinza-3);font-weight:700;font-size:.85rem;text-align:center}
.embreve svg{width:38px;height:38px;opacity:.6}
.secao{padding:10px 0 40px}
.secao h2{font-size:1.4rem;letter-spacing:-.01em;margin-bottom:14px}
.secao .card{align-items:stretch;text-align:left}
.secao .card .info{padding:10px 2px}
.secao .card h3{margin-top:0}

/* Texto (privacidade) */
.texto{max-width:760px;padding:30px 16px 50px}
.texto h1{font-size:2rem;margin-bottom:12px}
.texto h2{font-size:1.15rem;margin:22px 0 6px}
.texto p,.texto li{color:#333;margin-bottom:8px}
.texto ul{padding-left:20px}

/* Rodapé */
.rodape{border-top:1px solid var(--cinza-2);color:var(--cinza-4);font-size:.88rem;padding:24px 0}
.rodape .box{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.rodape a{color:var(--preto);margin-right:14px}

@media (max-width:760px){
  .topo .box{height:60px}
  .marca svg{height:40px}
  .banner{margin-top:12px}
  .banner img{aspect-ratio:auto}
  .banner.sem-arte{aspect-ratio:auto;flex-direction:column;align-items:flex-start;padding:26px 22px}
  .busca-area{padding-top:20px}
  .busca{font-size:1rem;padding:14px 16px 14px 46px}
  .busca-form svg{left:16px;width:20px;height:20px}
  .seg button{padding:6px 11px;font-size:.84rem}
  .grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
  .card .previa{padding:14px}
  .card h3{font-size:.9rem}
  .baixar{padding:8px 20px}
  .etq{grid-template-columns:1fr}
}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
