/* ==========================================================
   Noite de Araucária — estilos complementares
   As cores vêm do theme.json (--wp--preset--color--*).
   O modo claro (Pergaminho) troca os valores dessas variáveis.
   ========================================================== */

/* ---------- Modo claro: Pergaminho ---------- */
html[data-tema="claro"] {
	--wp--preset--color--noite: #F4EEE4;
	--wp--preset--color--cripta: #EAE1D3;
	--wp--preset--color--rodape: #EAE1D3;
	--wp--preset--color--imagem: #E2D7C6;
	--wp--preset--color--linha: #D3C6B4;
	--wp--preset--color--campo: #85736A;
	--wp--preset--color--osso: #1E1517;
	--wp--preset--color--osso-corpo: #2B2124;
	--wp--preset--color--cinza-vela: #5E5048;
	--wp--preset--color--sangue: #B3262E;
	--wp--preset--color--sobre-sangue: #FFFFFF;
	--wp--preset--color--musgo: #4F6E48;
	color-scheme: light;
}
html {
	color-scheme: dark;
}
@media (prefers-reduced-motion: no-preference) {
	body {
		transition: background-color 0.25s ease, color 0.25s ease;
	}
}

::selection {
	background: var(--wp--preset--color--sangue);
	color: var(--wp--preset--color--sobre-sangue);
}
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--sangue);
	outline-offset: 3px;
}

/* ---------- Rótulos (categorias, chapéus) ---------- */
.vb-rotulo,
.vb-rotulo a {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: var(--wp--custom--rotulo--letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
}
.vb-cat-sangue,
.vb-cat-sangue a {
	color: var(--wp--preset--color--sangue) !important;
}
.vb-texto-2 {
	color: var(--wp--preset--color--cinza-vela);
}

/* ---------- Cabeçalho ---------- */
.vb-cabecalho {
	border-bottom: 1px solid var(--wp--preset--color--linha);
}
.vb-marca {
	text-decoration: none;
}
.vb-araucaria {
	display: block;
	width: 52px;
	height: 52px;
	color: var(--wp--preset--color--osso);
	flex-shrink: 0;
}
.vb-araucaria .vb-araucaria-flor {
	fill: var(--wp--preset--color--sangue);
}
.wp-block-site-title .vb-acento {
	color: var(--wp--preset--color--sangue);
}
.vb-cabecalho .wp-block-site-tagline {
	margin-top: 2px;
}
@media (max-width: 600px) {
	.vb-cabecalho .wp-block-site-title {
		font-size: 22px !important;
		white-space: nowrap;
	}
	.vb-cabecalho .vb-araucaria {
		width: 36px;
		height: 36px;
	}
	.vb-cabecalho .wp-block-site-tagline {
		display: none;
	}
	/* Celular: marca à esquerda; busca, tema e menu à direita */
	.vb-cabecalho > .alignwide {
		flex-wrap: nowrap !important;
		gap: 4px !important;
	}
	.vb-cabecalho > .alignwide > .wp-block-group:first-child {
		flex: 1 1 auto;
		min-width: 0;
	}
	.vb-cabecalho > .alignwide > .wp-block-navigation {
		order: 3;
	}
	.vb-cabecalho .wp-block-navigation__responsive-container-open {
		width: 44px;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: var(--wp--preset--color--osso);
	}
	.vb-cabecalho .vb-icone-botao,
	.vb-cabecalho .wp-block-search__button {
		border-color: transparent !important;
	}
}

/* Item ativo do menu: sublinhado em sangue */
.vb-cabecalho .wp-block-navigation-item__content {
	padding-top: 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid transparent;
}
.vb-cabecalho .current-menu-item > .wp-block-navigation-item__content,
.vb-cabecalho .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--osso);
	border-bottom-color: var(--wp--preset--color--sangue);
}
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--noite) !important;
	color: var(--wp--preset--color--osso) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 20px;
	padding: 10px 0;
}

/* Botões redondos de ícone (tema e busca) */
.vb-acoes {
	display: flex;
	gap: 8px;
	align-items: center;
}
.vb-icone-botao,
.vb-cabecalho .wp-block-search__button {
	width: 44px;
	height: 44px;
	min-width: 44px;
	padding: 0 !important;
	border-radius: 22px !important;
	border: 1px solid var(--wp--preset--color--linha) !important;
	background: transparent !important;
	color: var(--wp--preset--color--osso) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin: 0;
}
.vb-icone-botao:hover,
.vb-cabecalho .wp-block-search__button:hover {
	border-color: var(--wp--preset--color--osso) !important;
}
.vb-cabecalho .wp-block-search__button svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.vb-cabecalho .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
	gap: 8px;
}
.vb-cabecalho .wp-block-search__input {
	min-height: 44px;
	border-radius: 22px;
	padding: 0 16px;
}
.vb-alternar-tema .vb-ico-lua {
	display: none;
}
html[data-tema="claro"] .vb-alternar-tema .vb-ico-sol {
	display: none;
}
html[data-tema="claro"] .vb-alternar-tema .vb-ico-lua {
	display: block;
}

/* ---------- Campos de formulário ---------- */
.wp-block-search__input,
.vb-campo,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	min-height: 48px;
	padding: 0 16px;
	background: var(--wp--preset--color--noite);
	color: var(--wp--preset--color--osso);
	border: 1px solid var(--wp--preset--color--campo);
	border-radius: 0;
	font: inherit;
	font-size: 16px;
}
.wp-block-post-comments-form textarea {
	padding: 12px 16px;
}
.wp-block-search__input::placeholder,
.vb-campo::placeholder {
	color: var(--wp--preset--color--cinza-vela);
	opacity: 1;
}

/* ---------- Botões ---------- */
.wp-element-button,
.wp-block-button__link {
	text-decoration: none;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--osso);
	border: 1px solid var(--wp--preset--color--osso);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--osso);
	color: var(--wp--preset--color--noite);
}

/* "Ler a crônica" — bloco Leia mais com cara de botão */
.wp-block-read-more.vb-botao {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 24px;
	background: var(--wp--preset--color--sangue);
	color: var(--wp--preset--color--sobre-sangue);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	align-self: flex-start;
}
.wp-block-read-more.vb-botao::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.wp-block-read-more.vb-botao:hover {
	background: var(--wp--preset--color--osso);
	color: var(--wp--preset--color--noite);
}

/* ---------- Títulos de seção com filete ---------- */
.vb-titulo-secao {
	border-bottom: 1px solid var(--wp--preset--color--linha);
	padding-bottom: 14px;
}

/* ---------- Grade de crônicas ---------- */
.vb-grade .wp-block-post-template {
	grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)) !important;
	gap: 48px 32px !important;
}
.vb-cartao .wp-block-post-title a:hover {
	color: var(--wp--preset--color--sangue);
}
.vb-cartao .wp-block-post-featured-image img {
	transition: filter 0.3s ease;
}
.vb-cartao:hover .wp-block-post-featured-image img {
	filter: brightness(0.85) saturate(0.85);
}
/* Post sem imagem destacada: mantém o espaço da imagem */
.vb-sem-imagem {
	aspect-ratio: 3 / 2;
	background: var(--wp--preset--color--imagem);
	border: 1px solid var(--wp--preset--color--linha);
}

/* No celular: lista com miniatura à esquerda, como no design */
@media (max-width: 600px) {
	.vb-grade .wp-block-post-template {
		display: block !important;
	}
	.vb-grade .wp-block-post-template > li {
		padding: 16px 0;
		border-bottom: 1px solid var(--wp--preset--color--linha);
		margin: 0 !important;
	}
	.vb-cartao {
		display: grid !important;
		grid-template-columns: 96px minmax(0, 1fr);
		column-gap: 14px;
		row-gap: 6px !important;
		align-items: start;
	}
	.vb-cartao > .wp-block-post-featured-image,
	.vb-cartao > .vb-sem-imagem {
		grid-column: 1;
		grid-row: 1 / span 3;
		width: 96px;
		height: 96px !important;
		aspect-ratio: 1 !important;
		margin: 0 !important;
	}
	.vb-cartao > .wp-block-post-featured-image img {
		height: 96px !important;
		aspect-ratio: 1 !important;
	}
	.vb-cartao > :not(.wp-block-post-featured-image):not(.vb-sem-imagem) {
		grid-column: 2;
		margin: 0 !important;
	}
	.vb-cartao .wp-block-post-title {
		font-size: 20px !important;
	}
	.vb-cartao .wp-block-post-terms {
		font-size: 11px !important;
	}
}

/* ---------- Caixa "cripta" (gerador, ficha) ---------- */
.vb-cripta {
	background: var(--wp--preset--color--cripta);
	border: 1px solid var(--wp--preset--color--linha);
}
.vb-icone-d10 {
	color: var(--wp--preset--color--sangue);
	flex-shrink: 0;
}

/* ---------- Artigo ---------- */
.vb-linha-fina {
	font-family: var(--wp--preset--font-family--fell);
	font-style: italic;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--cinza-vela);
}
.vb-meta {
	font-size: 13px;
	color: var(--wp--preset--color--cinza-vela);
}
.vb-meta.vb-filete-topo {
	border-top: 1px solid var(--wp--preset--color--linha);
	padding-top: 10px;
}
.vb-meta > * {
	margin: 0 !important;
}
.vb-meta > * + *::before {
	content: "·";
	margin-right: 14px;
	color: var(--wp--preset--color--cinza-vela);
}
.vb-meta .wp-block-post-author-name,
.vb-meta .wp-block-post-author-name a {
	color: var(--wp--preset--color--cinza-vela);
	text-decoration: none;
}

/* Capitular */
.has-drop-cap:not(:focus)::first-letter {
	float: left;
	font-family: var(--wp--preset--font-family--fell);
	font-size: 84px;
	font-weight: 400;
	font-style: normal;
	line-height: 0.8;
	padding: 8px 12px 0 0;
	margin: 0;
	color: var(--wp--preset--color--sangue);
	text-transform: uppercase;
}

/* Conteúdo do artigo */
.wp-block-post-content :where(h2, h3, h4) {
	color: var(--wp--preset--color--osso);
	margin-top: 48px;
	margin-bottom: 16px;
}
.wp-block-post-content a {
	color: var(--wp--preset--color--osso);
	text-decoration-color: var(--wp--preset--color--sangue);
	text-underline-offset: 3px;
}
.wp-block-post-content a:hover {
	color: var(--wp--preset--color--sangue);
}

/* Citação em destaque com ornamento */
.wp-block-pullquote {
	text-align: center;
	padding: 8px 0;
	margin: 40px 0;
}
.wp-block-pullquote::before {
	content: "";
	display: block;
	width: 40px;
	height: 20px;
	margin: 0 auto 12px;
	background: var(--wp--preset--color--sangue);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Cpath d='M8 18 C14 6 24 6 26 14 L32 8 L38 14 C40 6 50 6 56 18 C48 15 40 19 32 27 C24 19 16 15 8 18 Z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Cpath d='M8 18 C14 6 24 6 26 14 L32 8 L38 14 C40 6 50 6 56 18 C48 15 40 19 32 27 C24 19 16 15 8 18 Z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.wp-block-pullquote blockquote {
	margin: 0;
}
.wp-block-pullquote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--wp--preset--font-family--sistema);
	font-style: normal;
	font-size: 14px;
	color: var(--wp--preset--color--cinza-vela);
}

/* Ficha rápida */
.vb-ficha {
	padding: 28px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--osso);
}
.vb-ficha h3 {
	margin: 0 0 18px !important;
	font-size: 26px !important;
}
.vb-ficha .vb-ficha-item h6 {
	margin: 0;
	font-size: 11px;
}
.vb-ficha .vb-ficha-item p {
	margin: 4px 0 0;
}

/* Tags como etiquetas */
.vb-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 400 !important;
	font-size: 13px !important;
}
.vb-tags .wp-block-post-terms__separator {
	display: none;
}
.vb-tags a {
	display: inline-block;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
	padding: 10px 14px;
	border: 1px solid var(--wp--preset--color--linha);
	color: var(--wp--preset--color--cinza-vela) !important;
	text-decoration: none;
}
.vb-tags a:hover {
	border-color: var(--wp--preset--color--sangue);
	color: var(--wp--preset--color--osso) !important;
}
.vb-faixa-tags {
	border-top: 1px solid var(--wp--preset--color--linha);
	border-bottom: 1px solid var(--wp--preset--color--linha);
	padding: 24px 0;
}

/* Caixa do autor */
.vb-autor .wp-block-post-author__avatar img {
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--linha);
}
.vb-autor .wp-block-post-author__name {
	font-family: var(--wp--preset--font-family--fell);
	font-size: 20px;
	color: var(--wp--preset--color--osso);
}
.vb-autor .wp-block-post-author__bio {
	color: var(--wp--preset--color--cinza-vela);
	margin: 0;
}

/* Trilha (breadcrumb) */
.vb-trilha ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	color: var(--wp--preset--color--cinza-vela);
}
.vb-trilha li + li::before {
	content: "/";
	margin-right: 8px;
}
.vb-trilha a {
	color: var(--wp--preset--color--cinza-vela);
}
.vb-trilha a:hover {
	color: var(--wp--preset--color--sangue);
}

/* Seção de relacionados e rodapé */
.vb-relacionados {
	border-top: 1px solid var(--wp--preset--color--linha);
}
.vb-rodape {
	border-top: 1px solid var(--wp--preset--color--linha);
}
.vb-rodape .wp-block-navigation-item__content {
	color: var(--wp--preset--color--cinza-vela);
	text-decoration: underline;
	padding: 12px 0;
}

/* ---------- Gerador de NPC ---------- */
.vb-gerador {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.vb-gerador__ficha {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 20px 32px;
	margin: 0;
	padding: 28px;
}
.vb-gerador__ficha > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.vb-gerador__ficha dt {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: var(--wp--custom--rotulo--letter-spacing);
	text-transform: uppercase;
	color: var(--wp--preset--color--musgo);
}
.vb-gerador__ficha dd {
	margin: 0;
	font-size: 17px;
	color: var(--wp--preset--color--osso);
}
.vb-gerador__ficha .vb-gerador__nome {
	grid-column: 1 / -1;
}
.vb-gerador__ficha .vb-gerador__nome dd {
	font-family: var(--wp--preset--font-family--fell);
	font-size: 34px;
	line-height: 1.1;
}
.vb-gerador__ficha .vb-gerador__segredo {
	grid-column: 1 / -1;
}
.vb-gerador__ficha .vb-gerador__segredo dd {
	font-family: var(--wp--preset--font-family--fell);
	font-style: italic;
	font-size: 20px;
}
.vb-gerador__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}
.vb-gerador__acoes .vb-gerador__status {
	font-size: 14px;
	color: var(--wp--preset--color--cinza-vela);
}
@media (prefers-reduced-motion: no-preference) {
	.vb-gerador__ficha.is-novo dd {
		animation: vb-surgir 0.35s ease;
	}
}
@keyframes vb-surgir {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: none; }
}

/* ---------- Newsletter ---------- */
.vb-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.vb-newsletter__form label {
	font-size: 13px;
	color: var(--wp--preset--color--cinza-vela);
}
.vb-newsletter__linha {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.vb-newsletter__linha .vb-campo {
	flex: 1 1 220px;
	min-width: 0;
}
.vb-newsletter__aviso {
	font-size: 13px;
	color: var(--wp--preset--color--cinza-vela);
	margin: 4px 0 0;
}
.vb-newsletter__aviso a {
	color: var(--wp--preset--color--cinza-vela);
}
.vb-newsletter__config {
	border: 1px dashed var(--wp--preset--color--campo);
	padding: 16px;
	font-size: 14px;
	color: var(--wp--preset--color--cinza-vela);
}

/* ---------- Utilidades ---------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
		animation: none !important;
	}
}
