/**
 * prose-vc — tipografia do corpo do artigo.
 *
 * Todas as regras são escopadas em .prose-vc para vencer o Preflight do Tailwind
 * (que zera list-style/padding de ul e ol) e o Reboot do Bootstrap por
 * especificidade, sem depender da ordem de carregamento.
 */

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

.prose-vc {
	color: #1a1c1c;
	font-family: 'Inter', sans-serif;
	font-size: 1.125rem;
	line-height: 1.8;
}

@media (min-width: 768px) {
	.prose-vc {
		font-size: 1.25rem;
	}
}

.prose-vc > * {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

.prose-vc > *:last-child {
	margin-bottom: 0;
}

.prose-vc p {
	margin: 0 0 1.5rem;
}

.prose-vc strong,
.prose-vc b {
	font-weight: 700;
	color: #000;
}

/* Capitular: opt-in via .prose-vc--dropcap (só o single de notícia usa). */
.prose-vc--dropcap > p:first-of-type::first-letter {
	float: left;
	font-family: 'Epilogue', sans-serif;
	font-size: 5rem;
	font-weight: 900;
	line-height: 1;
	padding-right: 12px;
	color: #b32100;
}

/* --------------------------------------------------------------------------
   Títulos
   -------------------------------------------------------------------------- */

.prose-vc h2,
.prose-vc h3,
.prose-vc h4 {
	font-family: 'Epilogue', sans-serif;
	color: #000;
	letter-spacing: -0.02em;
	line-height: 1.15;
	scroll-margin-top: 6rem;
}

.prose-vc h2 {
	font-size: 1.875rem;
	font-weight: 800;
	margin: 3.5rem 0 1.25rem;
}

.prose-vc h3 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 2.75rem 0 1rem;
}

.prose-vc h4 {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 2rem 0 0.75rem;
}

.prose-vc > h2:first-child,
.prose-vc > h3:first-child {
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   Listas
   -------------------------------------------------------------------------- */

/*
 * Só listas "de texto": sem classe (editor clássico e HTML manual) ou
 * .wp-block-list (editor de blocos). Listas de plugins e blocos de layout
 * mantêm o reset do Tailwind — ver a seção "Exceções" no fim do arquivo.
 */
.prose-vc ul:not([class]),
.prose-vc ol:not([class]),
.prose-vc ul.wp-block-list,
.prose-vc ol.wp-block-list {
	margin: 0 0 1.75rem;
	padding-left: 1.75rem;
}

.prose-vc ul:not([class]),
.prose-vc ul.wp-block-list {
	list-style: disc outside;
}

.prose-vc ol:not([class]),
.prose-vc ol.wp-block-list {
	list-style: decimal outside;
}

.prose-vc ul:not([class]) > li,
.prose-vc ol:not([class]) > li,
.prose-vc ul.wp-block-list > li,
.prose-vc ol.wp-block-list > li {
	display: list-item;
	margin-bottom: 0.65rem;
	padding-left: 0.35rem;
	line-height: 1.7;
}

.prose-vc ul:not([class]) > li::marker,
.prose-vc ul.wp-block-list > li::marker {
	color: #e63e1b;
	font-size: 1.1em;
}

.prose-vc ol:not([class]) > li::marker,
.prose-vc ol.wp-block-list > li::marker {
	color: #e63e1b;
	font-weight: 700;
}

/* Listas aninhadas: marcador diferente e sem margem dupla. */
.prose-vc li > ul:not([class]),
.prose-vc li > ol:not([class]),
.prose-vc li > ul.wp-block-list,
.prose-vc li > ol.wp-block-list {
	margin: 0.65rem 0 0;
}

.prose-vc li > ul:not([class]),
.prose-vc li > ul.wp-block-list {
	list-style-type: circle;
}

.prose-vc li li > ul:not([class]),
.prose-vc li li > ul.wp-block-list {
	list-style-type: square;
}

.prose-vc li > ol:not([class]),
.prose-vc li > ol.wp-block-list {
	list-style-type: lower-alpha;
}

/* --------------------------------------------------------------------------
   Imagens, figuras e legendas
   -------------------------------------------------------------------------- */

.prose-vc figure,
.prose-vc .wp-caption {
	margin: 2.5rem 0;
	max-width: 100%;
}

.prose-vc img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 0.75rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.09);
}

.prose-vc figure img,
.prose-vc .wp-caption img {
	width: 100%;
}

/*
 * Legenda: precisa ler como metadado, não como continuação do texto.
 * Corpo bem menor que o do artigo, peso médio, cinza, com uma barra
 * na cor da marca que ancora a legenda à imagem.
 */
.prose-vc figcaption,
.prose-vc .wp-caption-text,
.prose-vc .wp-caption p.wp-caption-text {
	margin: 0.875rem 0 0;
	padding: 0 0 0 0.875rem;
	border-left: 3px solid #e63e1b;
	font-family: 'Inter', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.005em;
	color: #6b6b6b;
	text-align: left;
}

/* O crédito ("Foto: Reprodução", "Imagem: Divulgação") recua mais um tom. */
.prose-vc figcaption em,
.prose-vc figcaption cite,
.prose-vc .wp-caption-text em,
.prose-vc .wp-caption-text cite {
	font-style: normal;
	color: #9a9a9a;
	font-weight: 400;
}

.prose-vc figcaption a,
.prose-vc .wp-caption-text a {
	color: #6b6b6b;
	font-weight: 500;
	border-bottom: 1px solid rgba(107, 107, 107, 0.35);
}

/* Legenda não herda o drop cap nem o tamanho do corpo. */
.prose-vc figcaption::first-letter,
.prose-vc .wp-caption-text::first-letter {
	float: none;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	padding-right: 0;
	color: inherit;
}

/* --------------------------------------------------------------------------
   Links
   -------------------------------------------------------------------------- */

/*
 * O header.php aplica `a { text-decoration: none !important }` no site inteiro,
 * então o sublinhado do link no texto é feito com border-bottom.
 */
.prose-vc p a,
.prose-vc li a,
.prose-vc td a,
.prose-vc blockquote a {
	color: #b32100;
	font-weight: 600;
	border-bottom: 1px solid rgba(179, 33, 0, 0.35);
	transition: border-color 0.15s ease, color 0.15s ease;
}

.prose-vc p a:hover,
.prose-vc li a:hover,
.prose-vc td a:hover,
.prose-vc blockquote a:hover {
	color: #e63e1b;
	border-bottom-color: #e63e1b;
}

/* Imagem dentro de link não ganha borda. */
.prose-vc a:has(> img),
.prose-vc a > img {
	border-bottom: none;
}

/* --------------------------------------------------------------------------
   Citação
   -------------------------------------------------------------------------- */

.prose-vc blockquote {
	margin: 3rem 0;
	padding: 2rem 2.25rem;
	border-left: 5px solid #e63e1b;
	border-radius: 0 0.75rem 0.75rem 0;
	background: #f3f3f3;
	font-family: 'Epilogue', sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	font-style: italic;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: #000;
}

.prose-vc blockquote p:last-child {
	margin-bottom: 0;
}

.prose-vc blockquote cite {
	display: block;
	margin-top: 1rem;
	font-family: 'Inter', sans-serif;
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	color: #5f5e5e;
}

/* --------------------------------------------------------------------------
   Tabelas, separadores e código
   -------------------------------------------------------------------------- */

.prose-vc table {
	width: 100%;
	margin: 2.5rem 0;
	border-collapse: collapse;
	font-size: 1rem;
	line-height: 1.5;
}

.prose-vc th,
.prose-vc td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid #e2e2e2;
	text-align: left;
	vertical-align: top;
}

.prose-vc th {
	font-family: 'Epilogue', sans-serif;
	font-weight: 700;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #5f5e5e;
	border-bottom-width: 2px;
	border-bottom-color: #1a1c1c;
}

.prose-vc tbody tr:hover {
	background: #fafafa;
}

.prose-vc hr {
	margin: 3rem 0;
	border: 0;
	border-top: 1px solid #e2e2e2;
}

.prose-vc code {
	padding: 0.15em 0.4em;
	border-radius: 0.35rem;
	background: #f3f3f3;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.875em;
	color: #b32100;
}

.prose-vc pre {
	margin: 2rem 0;
	padding: 1.25rem 1.5rem;
	border-radius: 0.75rem;
	background: #1a1c1c;
	overflow-x: auto;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.prose-vc pre code {
	padding: 0;
	background: none;
	color: #f1f1f1;
}

/* --------------------------------------------------------------------------
   Embeds
   -------------------------------------------------------------------------- */

.prose-vc iframe,
.prose-vc video {
	max-width: 100%;
	border-radius: 0.75rem;
}

.prose-vc .wp-block-embed__wrapper {
	position: relative;
}

/* --------------------------------------------------------------------------
   Exceções: markup que não é texto corrido
   -------------------------------------------------------------------------- */

/*
 * Blocos com layout próprio (plugin de ofertas, galerias, embeds) mantêm as
 * listas sem marcador e sem recuo, mesmo que o tema mude no futuro.
 */
.prose-vc .od-ofertas ul,
.prose-vc .od-ofertas li,
.prose-vc .wp-block-gallery ul,
.prose-vc .blocks-gallery-grid,
.prose-vc .wp-block-social-links,
.prose-vc .wp-block-latest-posts,
.prose-vc .wp-block-categories,
.prose-vc .wp-block-archives,
.prose-vc .wp-block-page-list {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

.prose-vc .od-ofertas li {
	display: block;
	padding-left: 0;
}
