/* AI Solutions · Módulo: texto longo (posts do blog, páginas legais, casos). Envolve o conteúdo em .prosa.
   Cobre títulos, parágrafos, listas, citações, tabelas, código, imagens com legenda e separadores. */
.prosa { max-width: 72ch; font-size: 1.0625rem; line-height: 1.72; color: #DAD5F7; overflow-wrap: break-word; }
.prosa > * { margin: 0; }
.prosa > * + * { margin-top: 1.1em; }
.prosa h2, .prosa h3, .prosa h4 { font-family: var(--f-display); font-stretch: 112.5%; color: var(--luz); letter-spacing: -.018em; text-wrap: balance; }
.prosa h2 { margin-top: 2.1em; font-weight: 720; font-size: clamp(1.45rem, 2.2vw, 1.85rem); line-height: 1.18; }
.prosa h3 { margin-top: 1.7em; font-weight: 680; font-size: clamp(1.18rem, 1.6vw, 1.35rem); line-height: 1.25; }
.prosa h4 { margin-top: 1.4em; font-weight: 660; font-size: 1.05rem; }
.prosa h2 + *, .prosa h3 + *, .prosa h4 + * { margin-top: .6em; }
.prosa strong, .prosa b { color: var(--luz); font-weight: 650; }
.prosa a { color: var(--luz); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(243, 240, 255, .35); text-underline-offset: .25em; text-decoration-thickness: 1px; }
.prosa a:hover { text-decoration-color: var(--luz); }
.prosa a.botao { text-decoration: none; }
.prosa a.botao--luz { color: var(--indigo); }
.prosa ul, .prosa ol { padding-left: 1.35em; }
.prosa li + li { margin-top: .45em; }
.prosa li > ul, .prosa li > ol { margin-top: .45em; }
.prosa ul li::marker { color: #cfc6ff; }
.prosa ol li::marker { color: #cfc6ff; font-weight: 650; font-variant-numeric: tabular-nums; }
.prosa blockquote { position: relative; padding: .2em 0 .2em 1.3em; font-family: var(--f-display); font-stretch: 112.5%; font-weight: 600; font-size: 1.14em; line-height: 1.45; color: var(--luz); }
.prosa blockquote::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 2px; border-radius: 2px; background: linear-gradient(180deg, rgba(107, 83, 249, .3), #E4DCFF 50%, rgba(107, 83, 249, .3)); box-shadow: 0 0 8px rgba(107, 83, 249, .75); }
.prosa blockquote p { margin: 0; }
.prosa blockquote footer, .prosa blockquote cite { display: block; margin-top: .6em; font-family: var(--f-texto); font-stretch: 100%; font-style: normal; font-weight: 500; font-size: .82em; color: var(--texto-2); }
.prosa hr { height: 1px; border: 0; margin: 2.2em 0; background: linear-gradient(90deg, rgba(107, 83, 249, 0), rgba(228, 220, 255, .5) 30%, rgba(107, 83, 249, .25) 70%, rgba(107, 83, 249, 0)); }
.prosa img, .prosa video { display: block; max-width: 100%; height: auto; border-radius: 14px; }
.prosa figure { margin-left: 0; margin-right: 0; }
.prosa figcaption { margin-top: .6em; font-size: .84rem; color: var(--texto-3); }
/* tabelas: envolver em .prosa__tabela para deslizar na horizontal no telemóvel */
.prosa__tabela { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--traco); border-radius: 14px; }
.prosa table { width: 100%; border-collapse: collapse; font-size: .94rem; line-height: 1.45; font-variant-numeric: tabular-nums; }
.prosa th, .prosa td { padding: 10px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--traco); }
.prosa th { color: var(--luz); font-weight: 650; background: rgba(243, 240, 255, .04); }
.prosa tr:last-child td { border-bottom: 0; }
.prosa code, .prosa kbd { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: .88em; padding: .12em .38em; border-radius: 6px; background: var(--superficie); border: 1px solid var(--traco); }
.prosa pre { overflow-x: auto; padding: 14px 16px; border-radius: 12px; background: #0D0238; border: 1px solid var(--traco); line-height: 1.55; }
.prosa pre code { padding: 0; border: 0; background: none; font-size: .86rem; }
/* nota destacada (ex: "Atualizado a ...") */
.prosa .nota { padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(107, 83, 249, .38); background: rgba(17, 0, 67, .55); font-size: .95rem; color: var(--texto-2); }
/* metadados de um post: autor, data, tempo de leitura */
.prosa-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; font-size: .88rem; color: var(--texto-3); }
.prosa-meta time, .prosa-meta b { color: var(--texto-2); font-weight: 500; }
@media (max-width: 720px) {
  .prosa { font-size: 1rem; }
  .prosa th, .prosa td { padding: 9px 10px; }
}
