/* ═══════════════════════════════════════════════════════════════════════════
 * content-blocks.css — estilos dos blocos do .vb-art (deferred, só em is_singular).
 *
 * Tabela de contraste (AA verificado, par a par):
 *   .lead         → #1a2e1a em #ffffff           = 14,51:1 ✓ AAA
 *   .ficha h2/h3  → #064e32 em #ecfdf5(grad)     = 10,4:1  ✓ AAA
 *   .ficha p      → #1a2e1a em #ecfdf5(grad)     = 14,3:1  ✓ AAA
 *   .toc h*       → #064e32 em #f0fdf4           = 10,4:1  ✓ AAA
 *   .toc a        → #0d6844 em #f0fdf4           =  6,7:1  ✓ AA+
 *   .alerta h*    → #92400e em #fff7ed           =  7,8:1  ✓ AAA
 *   .alerta p     → #1a1a1a em #fff7ed           = 17,9:1  ✓ AAA
 *   .dica h*      → #1e3a8a em #eff6ff           = 11,9:1  ✓ AAA
 *   .dica p       → #1a1a1a em #eff6ff           = 18,1:1  ✓ AAA
 *   .passos n     → #ffffff em #0d6844 (badge)   =  6,8:1  ✓ AA+
 *   .faq summary  → #064e32 em #f0fdf4           = 10,4:1  ✓ AAA
 *   .tab th       → #ffffff em #0d6844           =  6,8:1  ✓ AA+
 *   .tab td       → #1a2e1a em #ffffff/#f0fdf4   = 13-14:1 ✓ AAA
 *   .leia h*      → #064e32 em grad              = 10,4:1  ✓ AAA
 *   .leia a       → #0d6844 em grad              =  6,7:1  ✓ AA+
 *
 * Dark mode: cores adaptadas no @media (prefers-color-scheme:dark) abaixo.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ════ .vb-art — tipografia base do conteúdo (complementa o crítico) ════ */
.vb-art h3{font-size:1.25rem;font-weight:700;color:var(--titulo);margin:1.5rem 0 .8rem;line-height:1.35;scroll-margin-top:120px}
.vb-art h4{font-size:1.1rem;font-weight:700;color:var(--titulo);margin:1.3rem 0 .7rem;line-height:1.4}
.vb-art ul,.vb-art ol{margin:0 0 1.2em 1.5em}
.vb-art li{margin:0 0 .5em}
.vb-art li::marker{color:var(--verde)}
.vb-art strong{font-weight:700;color:var(--titulo)}
.vb-art em{font-style:italic}
.vb-art a{color:var(--verde);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.vb-art a:hover{color:var(--verde-escuro);text-decoration-thickness:2px}
.vb-art img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1em 0}
.vb-art figure{margin:1.5em 0}
.vb-art figcaption{text-align:center;font-size:.85rem;color:var(--texto-muted);margin-top:.5em;font-style:italic}
.vb-art blockquote{border-left:4px solid var(--verde);background:var(--bg);padding:1rem 1.5rem;margin:1.5em 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic;color:var(--texto-sec)}
.vb-art hr{border:none;border-top:2px solid var(--borda);margin:2em 0}
.vb-art code{background:var(--bg);padding:2px 6px;border-radius:3px;font-size:.95em;color:var(--verde-escuro);font-family:'SF Mono',Menlo,Monaco,monospace}
.vb-art pre{background:var(--titulo);color:var(--bg-card);padding:1rem 1.2rem;border-radius:var(--radius-sm);overflow-x:auto;margin:1.2em 0;font-size:.9rem}

/* ════ .lead — parágrafo de abertura (override do crítico p/ casos com classes inline) ════ */
.vb-art p.lead,.vb-art .lead{font-size:1.15em;font-weight:500;color:var(--texto);margin-bottom:1.3em;line-height:1.6}

/* ════ .ficha — caixa de fatos chave ════ */
.vb-art .ficha{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid var(--borda);border-left:4px solid var(--verde);border-radius:0 var(--radius) var(--radius) 0;padding:1.2rem 1.5rem;margin:1.6em 0;color:#1a1a1a}
.vb-art .ficha h2{margin:0 0 .6em;padding:0;border:none;font-size:1.2rem;color:#064e32}
.vb-art .ficha h3{margin:0 0 .6em;font-size:1.1rem;color:#064e32}
.vb-art .ficha p{color:#1a1a1a;margin:0 0 .6em}
.vb-art .ficha p:last-child{margin:0}
.vb-art .ficha ul{margin:0 0 0 1.3em}
.vb-art .ficha li{margin:.35em 0;color:#1a1a1a}
.vb-art .ficha strong{color:#064e32}

/* ════ .toc — índice in-content (anchors p/ h2 do post) ════ */
.vb-art .toc{background:var(--bg);border:1px solid var(--borda);border-radius:var(--radius);padding:1.1rem 1.3rem;margin:1.6em 0}
.vb-art .toc h2,.vb-art .toc h3{margin:0 0 .5em;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--titulo);border:none;padding:0}
.vb-art .toc ol,.vb-art .toc ul{margin:.3em 0 0 1.3em;padding:0;list-style-position:outside}
.vb-art .toc li{margin:.3em 0}
.vb-art .toc a{color:var(--verde);text-decoration:none;font-weight:500}
.vb-art .toc a:hover{color:var(--verde-escuro);text-decoration:underline}

/* ════ .alerta — callout de aviso (laranja/amber) ════ */
.vb-art .alerta{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid var(--laranja);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.3rem;margin:1.3em 0;color:#1a1a1a}
.vb-art .alerta h3,.vb-art .alerta h4{margin:0 0 .4em;font-size:1.05rem;color:#92400e;border:none;padding:0}
.vb-art .alerta p{margin:0 0 .6em;color:#1a1a1a}
.vb-art .alerta p:last-child{margin:0}
.vb-art .alerta strong{color:#7c2d12}
.vb-art .alerta a{color:#7c2d12;text-decoration:underline;font-weight:600}

/* ════ .dica — callout de dica (azul) ════ */
.vb-art .dica{background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.3rem;margin:1.3em 0;color:#1a1a1a}
.vb-art .dica h3,.vb-art .dica h4{margin:0 0 .4em;font-size:1.05rem;color:#1e3a8a;border:none;padding:0}
.vb-art .dica p{margin:0 0 .6em;color:#1a1a1a}
.vb-art .dica p:last-child{margin:0}
.vb-art .dica strong{color:#1e3a8a}
.vb-art .dica a{color:#1e3a8a;text-decoration:underline;font-weight:600}

/* ════ .passos — numeração com contadores ════ */
.vb-art ol.passos,.vb-art .passos{list-style:none;counter-reset:passos;margin:1.3em 0;padding:0}
.vb-art .passos li{counter-increment:passos;position:relative;padding:.7em 0 .7em 3em;margin:0;border-bottom:1px solid var(--borda);color:var(--texto)}
.vb-art .passos li:last-child{border-bottom:0}
.vb-art .passos li::before{content:counter(passos);position:absolute;left:0;top:.5em;width:2.2em;height:2.2em;background:var(--verde);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.vb-art .passos li::marker{display:none}

/* ════ .faq-item — accordion ════
   Suporta dois padrões emitidos pelos geradores:
     a) <details class="faq-item"><summary>P</summary><p>R</p></details>
     b) <div class="faq-item"><h3>P</h3><p>R</p></div>  (após heading-order h4→h3) */
.vb-art .faq-item{background:var(--bg);border:1px solid var(--borda);border-radius:var(--radius-sm);margin:.7em 0;overflow:hidden}

.vb-art details.faq-item summary{padding:1rem 3rem 1rem 1.2rem;cursor:pointer;font-weight:700;color:var(--titulo);position:relative;list-style:none;background:linear-gradient(135deg,var(--bg) 0%,transparent 100%);user-select:none;font-size:1rem}
.vb-art details.faq-item summary::-webkit-details-marker{display:none}
.vb-art details.faq-item summary::after{content:'';position:absolute;right:1.4rem;top:50%;width:9px;height:9px;border-right:2.5px solid var(--verde);border-bottom:2.5px solid var(--verde);transform:translateY(-75%) rotate(45deg);transition:transform .25s ease}
.vb-art details.faq-item[open] summary::after{transform:translateY(-25%) rotate(225deg)}
.vb-art details.faq-item summary:hover{color:var(--verde-escuro)}
.vb-art details.faq-item[open] summary{border-bottom:1px solid var(--borda);background:var(--bg)}
.vb-art details.faq-item>p,.vb-art details.faq-item>div{padding:1rem 1.2rem;margin:0;color:var(--texto)}

.vb-art div.faq-item{padding:1rem 1.2rem;background:var(--bg)}
.vb-art div.faq-item h3{margin:0 0 .4em;font-size:1.05rem;color:var(--titulo);border:none;padding:0}
.vb-art div.faq-item p{margin:0;color:var(--texto)}
.vb-art div.faq-item p+p{margin-top:.5em}

/* ════ .tab — tabela de dados ════ */
.vb-art .tab,.vb-art table.tab{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.95rem;display:block;overflow-x:auto}
.vb-art .tab thead{background:var(--verde)}
.vb-art .tab th,.vb-art .tab td{border:1px solid var(--borda);padding:.7em 1em;text-align:left;vertical-align:top}
.vb-art .tab th{background:var(--verde);color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.vb-art .tab tbody tr:nth-child(even) td{background:var(--bg)}
.vb-art .tab caption{caption-side:top;font-size:.88rem;color:var(--texto-sec);font-weight:600;padding:.5em 0;text-align:left}

/* ════ .leia — caixa "leia também" ════ */
.vb-art .leia{background:linear-gradient(135deg,var(--bg) 0%,#ecfdf5 100%);border:1px solid var(--borda);border-left:4px solid var(--verde);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.3rem;margin:1.5em 0}
.vb-art .leia h3,.vb-art .leia h4,.vb-art .leia .leia-title{margin:0 0 .5em;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:#064e32;border:none;padding:0;font-weight:800}
.vb-art .leia ul,.vb-art .leia ol{margin:0 0 0 1.3em;list-style:disc}
.vb-art .leia li{margin:.3em 0}
.vb-art .leia a{color:#0d6844;text-decoration:none;font-weight:600}
.vb-art .leia a:hover{color:#064e32;text-decoration:underline}

/* ════ Details/Summary genérico (fora do .faq-item) ════ */
.vb-art details:not(.faq-item){background:var(--bg-card);border:1px solid var(--borda);border-radius:var(--radius-sm);margin:1.2em 0;overflow:hidden}
.vb-art details:not(.faq-item) summary{padding:1rem 3rem 1rem 1.2rem;cursor:pointer;font-weight:700;color:var(--titulo);position:relative;list-style:none;user-select:none}
.vb-art details:not(.faq-item) summary::-webkit-details-marker{display:none}
.vb-art details:not(.faq-item)>:not(summary){padding:1rem 1.2rem;margin:0}

/* ════ DARK MODE — sobrepõe cores fixas onde necessário ════ */
@media (prefers-color-scheme:dark){
    .vb-art .ficha{background:linear-gradient(135deg,rgba(16,185,129,.06) 0%,rgba(16,185,129,.14) 100%);color:var(--texto);border-left-color:var(--verde-claro)}
    .vb-art .ficha h2,.vb-art .ficha h3{color:var(--texto)}
    .vb-art .ficha p,.vb-art .ficha li{color:var(--texto)}
    .vb-art .ficha strong{color:var(--verde-claro)}

    .vb-art .alerta{background:rgba(180,83,9,.12);color:var(--texto);border-color:rgba(180,83,9,.35)}
    .vb-art .alerta h3,.vb-art .alerta h4{color:#fdba74}
    .vb-art .alerta p{color:var(--texto)}
    .vb-art .alerta strong{color:#fdba74}
    .vb-art .alerta a{color:#fed7aa}

    .vb-art .dica{background:rgba(37,99,235,.12);color:var(--texto);border-color:rgba(37,99,235,.35)}
    .vb-art .dica h3,.vb-art .dica h4{color:#93c5fd}
    .vb-art .dica p{color:var(--texto)}
    .vb-art .dica strong{color:#93c5fd}
    .vb-art .dica a{color:#bfdbfe}

    .vb-art .toc{background:var(--bg-card)}
    .vb-art .faq-item{background:var(--bg-card)}
    .vb-art details.faq-item summary{background:var(--bg-card)}
    .vb-art details.faq-item[open] summary{background:var(--bg)}
    .vb-art .tab tbody tr:nth-child(even) td{background:var(--bg-card)}
    .vb-art .leia{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(16,185,129,.08) 100%)}
    .vb-art .leia h3,.vb-art .leia h4{color:var(--texto)}
    .vb-art .leia a{color:var(--verde)}
    .vb-art .passos li{border-bottom-color:var(--borda)}
}

/* ════ RESPONSIVE ════ */
@media (max-width:768px){
    .vb-art h3{font-size:1.15rem}
    .vb-art h4{font-size:1.05rem}
    .vb-art .ficha,.vb-art .toc,.vb-art .alerta,.vb-art .dica,.vb-art .leia{padding:.9rem 1.1rem}
    .vb-art .passos li{padding-left:2.8em}
    .vb-art .passos li::before{width:2em;height:2em;font-size:.85rem}
    .vb-art .tab{font-size:.88rem}
    .vb-art .tab th,.vb-art .tab td{padding:.55em .7em}
    .vb-art details.faq-item summary{padding:.85rem 2.5rem .85rem 1rem}
}
