/* Informativos tributários — linha clean (2026-10-20). Cartões (home, lista, "leia também"), lista com filtros e busca,
   leitura de um informativo. Usado no site estático (cartões da home) e no tema WordPress (wordpress/lcp-clean/).
   Capas padrão 16:9 geradas por assets/js/capa.js (tools/gerar-capas.mjs / painel "Posts → Capa padrão"). */

/* ---------- cartão ---------- */
.inf-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.cartao-inf { display: flex; flex-direction: column; text-decoration: none; color: var(--grafite); background: #fff; border: 1px solid #EADFD9; border-radius: var(--raio); overflow: hidden; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.cartao-inf:hover { transform: translateY(-5px); box-shadow: var(--sombra); border-color: var(--ouro-suave); }
.cartao-inf__capa { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--preto); }
.cartao-inf__capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.cartao-inf:hover .cartao-inf__capa img { transform: scale(1.04); }
.cartao-inf__meta { display: flex; flex-wrap: wrap; gap: .3rem .9rem; align-items: center; padding: 1.2rem 1.4rem 0; font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--vinho); }
.cartao-inf__meta time { color: var(--cinza); letter-spacing: .08em; font-weight: 600; }
.cartao-inf h3 { font-family: var(--display); font-weight: 400; font-size: 1.16rem; line-height: 1.3; color: var(--preto); padding: .6rem 1.4rem 0; }
.cartao-inf p { margin: .6rem 1.4rem 0; font-size: .92rem; color: var(--cinza); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cartao-inf__ler { margin: auto 1.4rem 1.3rem; padding-top: 1rem; display: inline-flex; align-items: center; gap: .45rem; font-size: .86rem; font-weight: 700; color: var(--vinho); }
.cartao-inf__ler svg { width: 1rem; height: 1rem; transition: transform .3s ease; }
.cartao-inf:hover .cartao-inf__ler svg { transform: translateX(4px); }

/* capa desenhada em CSS quando o informativo não tem imagem destacada (mesma linguagem da capa padrão) */
.capa-css { position: relative; display: flex; flex-direction: column; justify-content: space-between; width: 100%; height: 100%; padding: 7% 7.5%; background: radial-gradient(80% 90% at 92% 30%, rgba(201, 138, 94, .22), transparent 70%), linear-gradient(135deg, #2A0F08, #170805); color: #F4EEE7; overflow: hidden; }
.capa-css::after { content: ""; position: absolute; right: -18%; top: 8%; width: 62%; aspect-ratio: 1; border-radius: 50%; border: 2px solid rgba(201, 138, 94, .75); box-shadow: 0 0 0 46px rgba(201, 138, 94, .06); }
.capa-css__cat { position: relative; z-index: 1; font-size: .62rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: #C98A5E; display: flex; gap: .5rem; align-items: center; }
.capa-css__cat::before { content: ""; width: .55rem; height: .55rem; background: #E9EC4C; }
.capa-css__titulo { position: relative; z-index: 1; font-family: var(--display); font-size: clamp(.95rem, 2vw, 1.25rem); line-height: 1.25; max-width: 72%; }

/* ---------- home: últimos informativos ---------- */
.inf-home { margin-top: 2.6rem; }
.inf-home__rodape { display: flex; justify-content: center; margin-top: 2rem; }

/* ---------- lista ---------- */
.inf-topo { position: relative; color: #fff; background: radial-gradient(110% 90% at 80% 20%, #5A1607 0%, #3A120A 45%, var(--preto) 100%); padding: clamp(8rem, 14vw, 10rem) 0 clamp(3.5rem, 7vw, 5rem); overflow: hidden; }
.inf-topo__mono { position: absolute; right: -8vw; top: 50%; width: 64vw; max-width: 900px; height: auto; transform: translateY(-50%); color: rgba(255, 255, 255, .05); pointer-events: none; }
.inf-topo .container { position: relative; }
.inf-topo .rotulo { color: var(--ouro-claro); }
.inf-topo .rotulo::before { background: var(--ouro-claro); }
.inf-topo h1 { font-family: var(--display); font-weight: 400; font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: 1.12; max-width: 20ch; }
.inf-topo h1 em { color: var(--ouro-claro); }
.inf-topo p { color: rgba(255, 255, 255, .8); max-width: 56ch; margin: 1.2rem 0 0; font-size: 1.08rem; }
.inf-topo .art-trilha { margin-bottom: 1.4rem; }
/* página da autora com foto (13/11/2026): foto redonda à direita do texto; no celular, acima do nome */
.inf-topo--foto .container { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.inf-topo--foto .container > * { grid-column: 1; }
.inf-topo--foto .container > .inf-topo__foto { grid-column: 2; grid-row: 1 / span 5; }
.inf-topo__foto { margin: 0; width: clamp(180px, 20vw, 240px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 1px rgba(255, 255, 255, .18), 0 0 0 8px rgba(255, 255, 255, .04); }
.inf-topo__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 760px) {
  .inf-topo--foto .container { display: flex; flex-direction: column; align-items: flex-start; }
  .inf-topo--foto .art-trilha { order: -1; }
  .inf-topo__foto { width: 132px; margin: 0 0 1.4rem; }
}

.inf-destaque { padding: clamp(2.5rem, 5vw, 3.5rem) 0 0; background: var(--creme); }
.destaque { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 0; text-decoration: none; color: var(--grafite); background: #fff; border: 1px solid #EADFD9; border-radius: calc(var(--raio) * 1.2); overflow: hidden; box-shadow: var(--sombra-p); transition: box-shadow .35s ease, transform .35s ease; }
.destaque:hover { box-shadow: var(--sombra); transform: translateY(-3px); }
.destaque__capa { display: block; aspect-ratio: 16 / 9; background: var(--preto); }
.destaque__capa img { width: 100%; height: 100%; object-fit: cover; }
.destaque__txt { display: flex; flex-direction: column; gap: .8rem; padding: clamp(1.6rem, 3vw, 2.6rem); justify-content: center; }
.destaque__rotulo { font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); }
.destaque__titulo { font-family: var(--display); font-size: clamp(1.35rem, 2.2vw, 1.85rem); line-height: 1.22; color: var(--preto); }
.destaque__resumo { color: var(--cinza); font-size: .97rem; }
.destaque .cartao-inf__meta { padding: 0; }
.destaque .botao { align-self: flex-start; margin-top: .4rem; }

.inf-lista { background: var(--creme); padding: clamp(2.5rem, 5vw, 3.5rem) 0 clamp(4rem, 8vw, 6rem); }
.inf-filtros { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; margin-bottom: 1.6rem; }
.inf-filtros__cats { display: flex; flex-wrap: wrap; gap: .5rem; }
.inf-filtros__cats button { font: inherit; font-size: .84rem; font-weight: 600; color: var(--preto); background: #fff; border: 1px solid #EADFD9; border-radius: 999px; padding: .55rem 1rem; cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.inf-filtros__cats button:hover { border-color: var(--ouro-claro); }
.inf-filtros__cats button[aria-checked="true"] { background: var(--preto); color: #fff; border-color: var(--preto); }
.inf-busca input { font: inherit; font-size: .95rem; padding: .7rem 1rem .7rem 2.6rem; border-radius: 999px; border: 1px solid #E0D3CC; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23891B04' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4 4'/%3E%3C/svg%3E") .9rem center / 1.1rem no-repeat; min-width: min(320px, 100%); }
.inf-busca input:focus { outline: 2px solid var(--ouro); outline-offset: 1px; }
.inf-contagem { font-size: .86rem; color: var(--cinza); margin: 0 0 1rem; min-height: 1.2em; }
.inf-vazio { text-align: center; color: var(--cinza); padding: 3rem 0; }
.inf-mais { display: flex; justify-content: center; margin-top: 2.2rem; }
.inf-mais[hidden] { display: none; }
.visualmente-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- leitura ---------- */
.art-topo { position: relative; color: #fff; background: radial-gradient(110% 90% at 80% 10%, #5A1607 0%, #3A120A 45%, var(--preto) 100%); padding: clamp(7.5rem, 13vw, 9.5rem) 0 clamp(2.6rem, 5vw, 3.6rem); overflow: hidden; }
.art-topo .container { position: relative; max-width: 960px; }
.art-trilha { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .8rem; color: rgba(255, 255, 255, .62); }
.art-trilha a { color: rgba(255, 255, 255, .8); text-decoration: none; }
.art-trilha a:hover { color: #fff; text-decoration: underline; }
.art-topo__cat { display: inline-flex; align-items: center; gap: .6rem; margin: 1.6rem 0 1rem; font-size: .76rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-claro); text-decoration: none; }
.art-topo__cat::before { content: ""; width: .6rem; height: .6rem; background: #E9EC4C; }
.art-topo h1 { font-family: var(--display); font-weight: 400; font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.18; }
.art-topo__meta { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: 1.4rem 0 0; font-size: .88rem; color: rgba(255, 255, 255, .72); }
.art-topo__meta a { color: inherit; }

.art-grade { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(2rem, 5vw, 4rem); align-items: start; padding-block: clamp(2.4rem, 5vw, 3.6rem) clamp(3rem, 6vw, 4.5rem); max-width: 1120px; }
.art-grade--unica { grid-template-columns: minmax(0, 760px); justify-content: center; }
.art-capa { margin: 0 0 2rem; border-radius: var(--raio); overflow: hidden; aspect-ratio: 16 / 9; background: var(--preto); box-shadow: var(--sombra-p); }
.art-capa img { width: 100%; height: 100%; object-fit: cover; }
.art-corpo { font-size: 1.06rem; line-height: 1.8; color: var(--grafite); max-width: 760px; }
/* o texto dos informativos antigos vem dentro de blocos do Elementor: o espaçamento vale em qualquer nível */
.art-corpo p, .art-corpo ul, .art-corpo ol, .art-corpo table, .art-corpo figure { margin: 0 0 1.1em; }
.art-corpo > .art-capa { margin-bottom: 2rem; }
.art-corpo h2, .art-corpo h3, .art-corpo h4 { font-family: var(--display); font-weight: 400; color: var(--preto); line-height: 1.25; margin-top: 2em; }
.art-corpo h2 { font-size: 1.6rem; } .art-corpo h3 { font-size: 1.3rem; } .art-corpo h4 { font-size: 1.12rem; }
.art-corpo a { color: var(--vinho); text-underline-offset: 3px; }
.art-corpo ul, .art-corpo ol { padding-left: 1.3rem; }
.art-corpo li + li { margin-top: .4em; }
.art-corpo blockquote { margin: 1.6em 0; padding: .4em 0 .4em 1.4em; border-left: 3px solid var(--vinho); font-family: var(--display); font-size: 1.15rem; color: var(--preto); }
.art-corpo img { border-radius: var(--raio-p); height: auto; }
.art-corpo figure { margin: 1.6em 0; }
.art-corpo figcaption { font-size: .84rem; color: var(--cinza); margin-top: .5rem; }
.art-corpo table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.art-corpo th, .art-corpo td { border-bottom: 1px solid #EADFD9; padding: .6rem .5rem; text-align: left; }
.art-lead { font-size: 1.18rem; line-height: 1.6; color: var(--preto); }
.art-aviso { margin-top: 2.4em !important; padding: 1rem 1.2rem; border-radius: var(--raio-p); background: var(--creme); font-size: .86rem; line-height: 1.6; color: var(--cinza); }

.art-lado { position: sticky; top: 6.5rem; display: grid; gap: 1rem; }
.art-cta { background: linear-gradient(150deg, #5A1607 0%, var(--preto) 75%); color: #fff; border-radius: var(--raio); padding: 1.6rem; }
.art-cta__titulo { font-family: var(--display); font-size: 1.2rem; line-height: 1.3; margin: 0 0 .5rem; }
.art-cta p { color: rgba(255, 255, 255, .78); font-size: .92rem; }
.art-cta .botao { width: 100%; justify-content: center; margin-top: .4rem; white-space: normal; text-align: center; }
.art-voltar { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .9rem; color: var(--vinho); text-decoration: none; }
.art-voltar svg { width: 1rem; height: 1rem; transform: rotate(180deg); }

.art-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-bottom: clamp(3rem, 6vw, 4.5rem); max-width: 1120px; }
.art-nav__item { display: grid; gap: .3rem; padding: 1.2rem 1.4rem; border: 1px solid #EADFD9; border-radius: var(--raio); text-decoration: none; color: var(--preto); font-family: var(--display); line-height: 1.3; transition: border-color .25s ease; }
.art-nav__item span { font-family: var(--fonte); font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--cinza); }
.art-nav__item:hover { border-color: var(--ouro-claro); }
.art-nav__item--dir { text-align: right; }
.art-rel { background: var(--creme); padding-block: clamp(3.5rem, 7vw, 5rem); }
.art-rel .display { margin-bottom: 2rem; }

@media (max-width: 1000px) {
  .inf-grade { grid-template-columns: repeat(2, 1fr); }
  .destaque { grid-template-columns: 1fr; }
  .art-grade { grid-template-columns: 1fr; }
  .art-lado { position: static; }
}
@media (max-width: 640px) {
  .inf-grade { grid-template-columns: 1fr; }
  .inf-busca, .inf-busca input { width: 100%; }
  .art-nav { grid-template-columns: 1fr; }
  .art-nav__item--dir { text-align: left; }
  .art-corpo { font-size: 1.02rem; }
}
@media (max-width: 640px) { .inf-filtros__cats { flex-wrap: nowrap; overflow-x: auto; margin-inline: -1.25rem; padding: 0 1.25rem .4rem; scrollbar-width: none; } .inf-filtros__cats button { flex: none; } }
