/* Posts dos templates de feed, usados nos cases mais recentes.
   Cada página define as variáveis da marca em .post; os posts genéricos usam-nas. */
.post p, .post h3, .post ol, .post ul { margin: 0; }

/* ---------- Post de foto ---------- */
.pf { color: var(--pf-cor); }
.pf::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 38%, var(--sombra) 94%); }
.pf.sem-grad::after { display: none; }
.pf .t { position: absolute; z-index: 1; left: 7cqw; right: 7cqw; bottom: 8cqw; }
.pf .k { display: block; font: var(--k-font); letter-spacing: var(--k-ls, .2em); text-transform: var(--k-case, uppercase); color: var(--acc); margin-bottom: 3cqw; }
.pf h3 { font: var(--h-font); letter-spacing: var(--h-ls, 0); text-transform: var(--h-case, none); }
.pf h3 em { color: var(--acc); font-style: var(--em-style, normal); }
.pf p.s { margin-top: 3cqw; font: var(--b-font); opacity: .9; }
.pf .faixa-b { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 6cqw 7cqw; background: var(--faixa-bg); color: var(--faixa-cor); }
.pf .faixa-b h3 { color: inherit; }

/* ---------- Post tipográfico ---------- */
.pt { background: var(--bg); color: var(--fg); padding: 9cqw; display: flex; flex-direction: column; justify-content: space-between; gap: 4cqw; }
.pt .k { font: var(--k-font); letter-spacing: var(--k-ls, .2em); text-transform: var(--k-case, uppercase); color: var(--acc2); }
.pt h3 { font: var(--h-font); letter-spacing: var(--h-ls, 0); text-transform: var(--h-case, none); }
.pt h3 em { color: var(--acc2); font-style: var(--em-style, normal); }
.pt p.s { font: var(--b-font); opacity: .85; }
.pt .pe { display: flex; justify-content: space-between; align-items: center; font: var(--k-font); letter-spacing: var(--k-ls, .2em); text-transform: uppercase; opacity: .75; }
.pt.centro { align-items: center; justify-content: center; text-align: center; gap: 5cqw; }
.pt.centro .pe { position: absolute; left: 9cqw; right: 9cqw; bottom: 7cqw; }
.pt ol.lista { list-style: none; padding: 0; display: grid; gap: 3cqw; }
.pt ol.lista li { display: grid; grid-template-columns: 11cqw 1fr; align-items: baseline; padding-top: 3cqw; border-top: 1px solid var(--linha-post); font: var(--b-font); }
.pt ol.lista li b { font: var(--n-font, var(--h-font)); font-size: 5cqw; color: var(--acc2); }
