*{box-sizing:border-box}
body{margin:0;background:#0f0d0c;color:#eee9e1;font:400 16px/1.6 Newsreader,Georgia,serif}
.env{max-width:1460px;margin:0 auto;padding:0 3rem}

.topo{position:sticky;top:0;z-index:30;background:rgba(15,13,12,.9);
 -webkit-backdrop-filter:saturate(150%) blur(6px);backdrop-filter:saturate(150%) blur(6px);
 border-bottom:1px solid #262120}
.topo .env{display:flex;align-items:center;gap:3rem;padding:1.1rem 3rem}
.marca{font:800 15px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.19em;text-transform:uppercase;
 text-decoration:none;color:inherit}
.menu{display:flex;gap:1.9rem;font:700 13.5px/1 'Bricolage Grotesque',sans-serif}
.menu a{color:#938a81;text-decoration:none}
.menu a:hover{color:#eee9e1}
.menu a[aria-current]{color:#eee9e1;text-decoration:underline;text-decoration-color:#d2703f;
 text-underline-offset:7px;text-decoration-thickness:2px}
.acoes{margin-left:auto;display:flex;align-items:center;gap:1rem}
.busca{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #3a3230;
 padding-bottom:.3rem;color:#938a81}
.busca input{border:0;background:none;font:400 14px/1 Newsreader,serif;color:#eee9e1;width:110px;outline:none}
.busca input::placeholder{color:#6b625b}
.perfil{display:grid;place-items:center;width:33px;height:33px;border:1px solid #3a3230;
 color:#938a81;text-decoration:none}
.perfil:hover{border-color:#d2703f;color:#eee9e1}

/* vitrine em tela cheia — o retângulo escuro continua escuro nas duas versões:
   é a peça cinematográfica, e o contraste com o fundo é o que a faz funcionar */
.vt{position:relative}
.vt__trilho{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;
 scroll-snap-type:x mandatory;scrollbar-width:none}
.vt__trilho::-webkit-scrollbar{display:none}
.vt__s{scroll-snap-align:center;position:relative}
.vt__s img{width:100%;aspect-ratio:3/1;max-height:clamp(340px,52vh,520px);object-fit:cover;display:block;
 filter:saturate(.72) contrast(1.08) brightness(.82)}
.vt__leg{position:absolute;inset:auto 0 0 0;padding:5rem 0 2.6rem;
 background:linear-gradient(transparent,rgba(9,8,7,.93) 58%);color:#eee9e1}
.vt__k{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e0895a}
.vt__leg h2{font:800 clamp(30px,4.4vw,60px)/1.02 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.035em;margin:.65rem 0 .55rem;max-width:20ch}
.vt__leg h2 a{color:inherit;text-decoration:none}
.vt__leg p{margin:0;color:#b3aaa1;max-width:52ch;font-size:16px}
.vt__ctr{position:absolute;right:3rem;bottom:2.6rem;display:flex;align-items:center;gap:.45rem}
.vt__ctr button{width:34px;height:34px;border:1px solid rgba(238,233,225,.28);background:rgba(15,13,12,.5);
 color:#eee9e1;display:grid;place-items:center;cursor:pointer;padding:0}
.vt__ctr button:hover{background:#d2703f;border-color:#d2703f;color:#0f0d0c}
.vt__pts{display:flex;gap:.32rem;margin-right:.4rem}
.vt__pts button{width:7px;height:7px;border:0;padding:0;background:rgba(238,233,225,.35);
 cursor:pointer;border-radius:50%}
.vt__pts button[aria-current="true"]{background:#d2703f;width:22px;border-radius:99px}

/* AJUSTE 2: sem "Tudo" e sem régua. A grade começa direto,
   com respiro maior para o corte não ficar seco. */
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:4.6rem 1.9rem;
 padding:3.4rem 0 5.5rem}
.card{display:flex;flex-direction:column}
.card__im{display:block;position:relative;overflow:hidden;border-radius:8px}
.card__im img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
 filter:saturate(.7) contrast(1.05) brightness(.88);transition:filter 320ms,transform 620ms cubic-bezier(.2,.6,.3,1)}
.card:hover .card__im img{filter:saturate(1) contrast(1) brightness(1);transform:scale(1.045)}
/* carimbo sobre a imagem = SUBCATEGORIA */
.card__stamp{position:absolute;left:0;top:0;background:#0f0d0c;color:#e0895a;
 font:700 9.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.17em;text-transform:uppercase;
 padding:.42rem .62rem;border-top-left-radius:8px;border-bottom-right-radius:8px}
.card__vid{position:absolute;right:.6rem;bottom:.6rem;color:#eee9e1;font-size:11px;
 background:rgba(15,13,12,.72);width:24px;height:24px;display:grid;place-items:center;border-radius:4px}
.card h3{font:400 19.5px/1.25 Newsreader,serif;letter-spacing:-.015em;margin:.95rem 0 .5rem;
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
 min-height:calc(2 * 1.25em)}
.card h3 a{color:inherit;text-decoration:none}
.card:hover h3 a{color:#e0895a}
.card p{margin:0 0 .6rem;color:#938a81;font-size:14.5px;line-height:1.5;
 display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card__pe{display:flex;align-items:baseline;gap:.75rem;padding-top:0}
.card__pe time{margin-left:auto;font:700 10.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#6b625b}
/* rodapé do card = CATEGORIA */
.card__cat{font:700 10.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#e0895a;text-decoration:none}
.card__cat:hover{text-decoration:underline;text-underline-offset:3px}

@media(max-width:1200px){.grade{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.env{padding:0 1.25rem} .topo .env{padding:.95rem 1.25rem}
 .menu{display:none} .grade{grid-template-columns:repeat(2,1fr);gap:3.2rem 1.2rem;padding-top:2.2rem}
 .vt__ctr{right:1.25rem;bottom:1.25rem} .vt__leg{padding:4rem 0 1.6rem}}
@media(max-width:540px){.grade{grid-template-columns:1fr}}
/* =====================================================================
   Telas internas — mesma linguagem da Home
   ===================================================================== */

/* ── faixa de subcategorias (páginas de categoria) ───────────────── */
.faixa-cat{border-bottom:1px solid #262120;padding:2.2rem 0 1.5rem}
.faixa-cat h1{font:800 clamp(28px,3.6vw,46px)/1.02 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.035em;margin:0 0 .3rem}
.faixa-cat .conta{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.16em;
 text-transform:uppercase;color:#6b625b}
.subs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem}
.sub-btn{font:700 11.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.1em;text-transform:uppercase;
 text-decoration:none;color:#938a81;border:1px solid #3a3230;padding:.55rem .95rem;border-radius:4px}
.sub-btn:hover{color:#eee9e1;border-color:#6b625b}
.sub-btn[aria-current]{background:#e0895a;border-color:#e0895a;color:#0f0d0c}

/* ── post ─────────────────────────────────────────────────────────── */
.post-capa{width:100%;aspect-ratio:1600/460;max-height:clamp(280px,44vh,460px);object-fit:cover;display:block;
 filter:saturate(.72) contrast(1.08) brightness(.86)}
.post-cab{max-width:70ch;margin:0 auto;padding:2.75rem 3rem 0}
.post-k{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e0895a}
.post-k a{color:inherit;text-decoration:none}
.post-k .sep{color:#4d453f;margin:0 .5rem}
.post-k .sub{color:#938a81}
.post-cab h1{font:800 clamp(30px,4.2vw,54px)/1.03 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.038em;margin:1rem 0 .75rem}
.post-sub{font:300 clamp(19px,2vw,25px)/1.35 Newsreader,serif;color:#a49a91;margin:0}
.post-meta{display:flex;align-items:center;gap:.85rem;margin-top:1.75rem;padding-top:1.3rem;
 border-top:1px solid #262120;font:700 11.5px/1 'Bricolage Grotesque',sans-serif;
 letter-spacing:.07em;text-transform:uppercase;color:#6b625b}
.post-meta strong{color:#938a81;font-weight:700}
.post-av{width:32px;height:32px;border-radius:50%;background:#262120;color:#e0895a;
 display:grid;place-items:center;font:800 12px/1 'Bricolage Grotesque',sans-serif}
.post-corpo{max-width:70ch;margin:0 auto;padding:2rem 3rem 4rem;font-size:18px;line-height:1.75}
.post-corpo p{margin:0 0 1.6rem}
.post-corpo a{color:#e0895a;text-underline-offset:3px}
.post-corpo h2{font:700 clamp(21px,2.2vw,27px)/1.2 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.02em;margin:2.6rem 0 1rem}
.post-corpo figure{margin:2.2rem 0}
.post-corpo figure img{width:100%;border-radius:8px}
.post-corpo figcaption{font:700 12px/1.45 'Bricolage Grotesque',sans-serif;color:#6b625b;margin-top:.7rem}
.destaque{border-left:3px solid #e0895a;padding:.2rem 0 .2rem 1.35rem;margin:2.2rem 0;
 font:300 21px/1.45 Newsreader,serif;color:#cfc6bc}
.video{position:relative;padding-bottom:56.25%;height:0;margin:2.2rem 0;overflow:hidden;
 border-radius:8px;background:#1a1715}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ── comentários ──────────────────────────────────────────────────── */
.coments{max-width:70ch;margin:0 auto;padding:0 3rem 5rem}
.coments h2{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.2em;
 text-transform:uppercase;color:#6b625b;margin:0 0 1.4rem;padding-top:2rem;border-top:1px solid #262120}
.com-form{display:flex;gap:.85rem;margin-bottom:2rem}
.com-form textarea{flex:1;background:#161312;border:1px solid #2e2825;color:#eee9e1;
 padding:.8rem .95rem;font:400 15.5px/1.5 Newsreader,serif;border-radius:6px;resize:vertical;min-height:76px}
.com-form textarea:focus{border-color:#4d453f;outline:none}
.com{display:grid;grid-template-columns:34px 1fr;gap:.9rem;padding:1.1rem 0;border-top:1px solid #1f1b19}
.com__av{width:34px;height:34px;border-radius:50%;background:#262120;color:#e0895a;
 display:grid;place-items:center;font:800 12px/1 'Bricolage Grotesque',sans-serif}
.com__cab{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.3rem}
.com__nome{font:700 13.5px/1 'Bricolage Grotesque',sans-serif;color:#eee9e1;
 background:none;border:0;padding:0;cursor:pointer}
.com__nome:hover{color:#e0895a}
.com__q{font:700 10.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#6b625b}
.com p{margin:0;color:#b3aaa1;font-size:15.5px}

/* ── botões e formulários ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
 font:700 13px/1 'Bricolage Grotesque',sans-serif;padding:.82rem 1.5rem;border-radius:6px;
 border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all 160ms}
.btn--pri{background:#e0895a;color:#12100e}
.btn--pri:hover{background:#f0a075}
.btn--sec{background:none;color:#eee9e1;border-color:#3a3230}
.btn--sec:hover{border-color:#e0895a}
.btn--bloco{width:100%}
.campo{margin-bottom:1.15rem}
.campo label{display:block;font:700 11.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#938a81;margin-bottom:.5rem}
.campo input,.campo select{width:100%;background:#161312;border:1px solid #2e2825;border-radius:6px;
 padding:.78rem .9rem;color:#eee9e1;font:400 16px/1 Newsreader,serif}
.campo input:focus{border-color:#4d453f;outline:none}
.campo input:disabled{color:#6b625b;background:#131110}
.dica{font:400 13px/1.45 Newsreader,serif;color:#6b625b;margin-top:.45rem}

/* ── página interna genérica ──────────────────────────────────────── */
.pag{max-width:760px;margin:0 auto;padding:3rem 3rem 5rem}
.pag h1{font:800 clamp(26px,3.2vw,40px)/1.05 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.032em;margin:0 0 .5rem}
.pag .lead{color:#938a81;margin:0 0 2.2rem;font-size:17px}
.bloco{border:1px solid #262120;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}
.linha{display:flex;justify-content:space-between;gap:1rem;padding:.72rem 0;border-bottom:1px solid #1f1b19;
 font-size:15.5px}
.linha:last-child{border-bottom:0}
.linha dt{color:#6b625b;font:700 11.5px/1.5 'Bricolage Grotesque',sans-serif;
 letter-spacing:.08em;text-transform:uppercase}
.linha dd{margin:0;text-align:right;color:#cfc6bc}
fieldset{border:1px solid #262120;border-radius:8px;padding:1.35rem;margin:1.5rem 0}
legend{padding:0 .5rem;font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.16em;
 text-transform:uppercase;color:#938a81}
.check{display:flex;gap:.7rem;align-items:center;padding:.4rem 0;font-size:15.5px;color:#cfc6bc}
.check input{width:auto}

/* ── entrada (login) ──────────────────────────────────────────────── */
.entrada{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr}
.ent-esq{padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;
 background:radial-gradient(900px 480px at 10% -10%,rgba(224,137,90,.11),transparent 62%),#0f0d0c;
 border-right:1px solid #262120}
.ent-marca{font:800 14px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.26em;
 text-transform:uppercase;color:#e0895a;margin-bottom:2rem}
.ent-txt{font:300 clamp(19px,2vw,24px)/1.5 Newsreader,serif;max-width:52ch;margin:0 0 2rem}
.ent-txt a{color:#e0895a;font-weight:400}
.logos{display:flex;gap:1.15rem;flex-wrap:wrap;padding:1.7rem 0;margin-bottom:1.7rem;
 border-top:1px solid #262120;border-bottom:1px solid #262120}
.logo-vazio{width:128px;height:54px;display:grid;place-items:center;text-align:center;
 border:1px dashed #3a3230;border-radius:6px;color:#6b625b;
 font:700 10px/1.35 'Bricolage Grotesque',sans-serif;letter-spacing:.06em;padding:.4rem}
.doacao{display:flex;gap:1.5rem;align-items:flex-start}
.doacao p{margin:0 0 .8rem;color:#938a81;font-size:15px;max-width:42ch}
.qr{width:142px;height:142px;flex:none;border:1px dashed #3a3230;border-radius:8px;
 display:grid;place-items:center;text-align:center;color:#6b625b;
 font:700 10px/1.4 'Bricolage Grotesque',sans-serif;padding:.7rem}
.pix{display:flex;align-items:center;gap:.6rem;background:#161312;border:1px solid #2e2825;
 border-radius:6px;padding:.5rem .65rem}
.pix code{font:400 13.5px/1 ui-monospace,monospace;color:#cfc6bc;overflow:hidden;
 text-overflow:ellipsis;white-space:nowrap}
.pix button{margin-left:auto;flex:none;background:#262120;border:1px solid #3a3230;color:#938a81;
 border-radius:4px;padding:.32rem .6rem;font:700 10px/1 'Bricolage Grotesque',sans-serif;cursor:pointer}
.ent-dir{padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;
 background:#131110}
.ent-caixa{width:100%;max-width:370px;margin:0 auto}
.ent-caixa h2{font:800 26px/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.03em;margin:0 0 1.6rem}
.ent-ou{display:flex;align-items:center;gap:.8rem;color:#6b625b;margin:1.5rem 0;
 font:700 10px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.16em;text-transform:uppercase}
.ent-ou::before,.ent-ou::after{content:'';flex:1;height:1px;background:#262120}
.link-fraco{color:#6b625b;font:400 14px/1 Newsreader,serif;text-decoration:none}
.link-fraco:hover{color:#938a81;text-decoration:underline}

/* ── modal de perfil público ──────────────────────────────────────── */
dialog{border:1px solid #2e2825;border-radius:10px;background:#161312;color:#eee9e1;padding:0;
 max-width:380px;width:calc(100% - 2rem)}
dialog::backdrop{background:rgba(6,5,5,.75)}
.modal-top{display:flex;align-items:center;gap:1rem;padding:1.4rem;border-bottom:1px solid #262120}
.modal-av{width:52px;height:52px;border-radius:50%;background:#262120;color:#e0895a;
 display:grid;place-items:center;font:800 18px/1 'Bricolage Grotesque',sans-serif}
.modal-nome{font:800 18px/1.2 'Bricolage Grotesque',sans-serif;margin:0}
.modal-corpo{padding:1.1rem 1.4rem 1.4rem}
.modal-fechar{position:absolute;top:.7rem;right:.9rem;background:none;border:0;color:#6b625b;
 font-size:1.4rem;cursor:pointer;line-height:1}

@media(max-width:900px){
 .post-cab,.post-corpo,.coments,.pag{padding-left:1.25rem;padding-right:1.25rem}
 .entrada{grid-template-columns:1fr}
 .doacao{flex-direction:column-reverse;align-items:flex-start}
}

/* ── paginação do portal ──────────────────────────────────────────── */
.pag-portal{display:flex;align-items:center;gap:1.5rem;justify-content:center;
 padding:0 0 5rem;font:700 12px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.1em;
 text-transform:uppercase}
.pag-portal a{color:#938a81;text-decoration:none;border:1px solid #3a3230;border-radius:6px;
 padding:.7rem 1.15rem}
.pag-portal a:hover{color:#eee9e1;border-color:#e0895a}
.pag-portal .off{color:#3c3532;border:1px solid transparent;padding:.7rem 1.15rem}
.pag-portal .conta{color:#6b625b;letter-spacing:.06em}
@media(max-width:540px){.pag-portal{gap:.7rem;font-size:11px}
 .pag-portal a,.pag-portal .off{padding:.6rem .8rem}}

/* ── utilidades das telas do portal ───────────────────────────────── */
.pular{position:absolute;left:-9999px;background:#e0895a;color:#12100e;padding:.75rem 1.25rem;
 border-radius:6px;z-index:999;font:700 13px/1 'Bricolage Grotesque',sans-serif}
.pular:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid #e0895a;outline-offset:3px;border-radius:3px}

.vazio{color:#6b625b;text-align:center;padding:3.5rem 1rem;border:1px dashed #262120;
 border-radius:8px;margin:3rem 0 5rem}
.aviso{background:rgba(224,137,90,.1);border:1px solid rgba(224,137,90,.35);color:#f0b78f;
 padding:.85rem 1rem;border-radius:6px;font-size:15px;margin-bottom:1.25rem}
.aviso--erro{background:rgba(212,103,79,.1);border-color:rgba(212,103,79,.4);color:#f0b5a5}

.rodape{border-top:1px solid #262120;margin-top:3rem;padding:2rem 0 3rem}
.rodape .env{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;
 font:700 12px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.06em;color:#6b625b}
.rodape a{color:#938a81;text-decoration:none}
.rodape a:hover{color:#e0895a}
.rodape form{margin-left:auto}
.rodape button{background:none;border:1px solid #3a3230;color:#938a81;border-radius:6px;
 padding:.5rem 1rem;font:700 12px/1 'Bricolage Grotesque',sans-serif;cursor:pointer}
.rodape button:hover{border-color:#e0895a;color:#eee9e1}
