/*
 * Componentes do Design System (design-system/componentes.md). Somente tokens:
 * --wp--preset--* (theme.json) e --sv-* (tokens.css). Nada de valores soltos de cor.
 */

/* ---------- Base ---------------------------------------------------------------- */
body { -webkit-font-smoothing: antialiased; }
.sv-container { width: 100%; max-width: var(--sv-container); margin-inline: auto; padding-inline: var(--sv-gutter); box-sizing: border-box; }
.sv-icone { width: 1rem; height: 1rem; flex-shrink: 0; vertical-align: middle; }
.sv-icone--md { width: 1.25rem; height: 1.25rem; }
.sv-icone--lg { width: 1.75rem; height: 1.75rem; }
.sv-icone--xl { width: 2.25rem; height: 2.25rem; }
.sv-icone--2xl { width: 2.5rem; height: 2.5rem; }
.sv-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:where(a, button, input, select):focus-visible { outline: 2px solid var(--sv-foco); outline-offset: 2px; }
.sv-secao { padding-block: var(--sv-secao); }
.sv-titulo { font-family: var(--sv-fonte-titulo); font-weight: 600; color: var(--sv-texto); margin: 0; }

/* ---------- Sobrelinha (4) ------------------------------------------------------------- */
.sv-sobrelinha, .is-style-sobrelinha, .is-style-sobrelinha-traco {
	font-size: var(--sv-sobrelinha-tamanho); font-weight: 700; text-transform: uppercase;
	letter-spacing: var(--sv-sobrelinha-espacamento); color: var(--sv-primaria); margin: 0;
}
.is-style-sobrelinha-traco { display: flex; align-items: center; gap: 0.75rem; letter-spacing: 0.22em; }
.is-style-sobrelinha-traco::before { content: ""; width: 2.5rem; height: 1px; background: currentColor; }
.sv-sobre-verde .sv-sobrelinha, .sv-sobre-verde .is-style-sobrelinha,
.sv-sobre-verde .is-style-sobrelinha-traco { color: var(--sv-realce); }

/* ---------- Botoes (3) ----------------------------------------------------------- */
.sv-botao, .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 0.5rem; border-radius: var(--sv-raio-botao);
	font-size: 0.875rem; font-weight: 700; line-height: 1.25; text-decoration: none;
	transition: var(--sv-transicao-botao); cursor: pointer; border: 1px solid transparent;
}
.sv-botao { padding: 0.75rem 1.25rem; background: var(--sv-primaria); color: var(--sv-primaria-texto); }
.sv-botao:hover, .wp-block-button__link:hover { opacity: 0.9; text-decoration: none; }
.sv-botao--grande, .sv-botoes-grandes .wp-block-button__link { padding: 0.75rem 1.5rem; }
.sv-botao--destaque, .is-style-destaque .wp-block-button__link { background: var(--sv-realce); color: var(--sv-destaque-texto); }
.sv-botao--contorno-claro, .is-style-contorno-claro .wp-block-button__link {
	background: color-mix(in srgb, var(--sv-floresta) 20%, transparent); color: var(--sv-floresta-texto);
	border-color: color-mix(in srgb, var(--sv-floresta-texto) 50%, transparent);
}
.sv-botao--contorno-claro:hover, .is-style-contorno-claro .wp-block-button__link:hover { background: var(--sv-floresta-texto); color: var(--sv-floresta); opacity: 1; }
.sv-botao--contorno { background: transparent; color: var(--sv-primaria); border-color: var(--sv-borda); }
.sv-botao--link, .is-style-link .wp-block-button__link { background: transparent; color: var(--sv-primaria); padding-inline: 0; box-shadow: none; }
.sv-botao--link:hover, .is-style-link .wp-block-button__link:hover { text-decoration: underline; opacity: 1; }
.sv-botao .sv-icone { transition: transform var(--sv-transicao-card); }

/* ---------- Cabecalho (1, 2) ----------------------------------------------------- */
.sv-cabecalho { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid color-mix(in srgb, var(--sv-borda) 70%, transparent); background: color-mix(in srgb, var(--sv-fundo) 95%, transparent); backdrop-filter: blur(8px); }
.admin-bar .sv-cabecalho { top: var(--wp-admin--admin-bar--height, 0); }
.sv-cabecalho__barra { display: flex; align-items: center; justify-content: space-between; height: var(--sv-cabecalho-altura); }
.sv-marca { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; color: var(--sv-texto); }
.sv-marca__icone { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: var(--sv-raio-icone); background: var(--sv-primaria); color: var(--sv-primaria-texto); transition: transform var(--sv-transicao-card); }
.sv-marca:hover .sv-marca__icone { transform: rotate(-3deg); }
.sv-marca__icone { overflow: hidden; }
.sv-marca__icone img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sv-marca__nome { display: block; font-family: var(--sv-fonte-titulo); font-size: 1.125rem; font-weight: 600; line-height: 1; }
.sv-marca__sub { display: block; margin-top: 0.25rem; font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.24em; color: var(--sv-texto-suave); line-height: 1; }
.sv-menu { display: none; gap: 2rem; }
.sv-menu a, .sv-menu-movel a { font-size: 0.875rem; font-weight: 600; color: var(--sv-texto-suave); text-decoration: none; }
.sv-menu a:hover, .sv-menu a[aria-current="page"] { color: var(--sv-primaria); text-decoration: none; }
.sv-cabecalho__acao { display: none; }
.sv-cabecalho__direita { display: flex; align-items: center; gap: 0.75rem; }
.sv-cabecalho__redes { display: flex; align-items: center; gap: 0.25rem; }
.sv-cabecalho__redes a { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: var(--sv-texto-suave); transition: var(--sv-transicao-botao); }
.sv-cabecalho__redes a:hover { color: var(--sv-primaria); background: var(--sv-salvia); }
@media (min-width: 768px) { .sv-cabecalho__redes { padding-right: 0.75rem; border-right: 1px solid var(--sv-borda); } }
.sv-cabecalho__acao .sv-botao { padding: 0.625rem 1rem; }
.sv-menu-botao { display: inline-flex; padding: 0.5rem; background: none; border: 0; color: var(--sv-texto); cursor: pointer; }
.sv-menu-movel { display: none; flex-direction: column; border-top: 1px solid var(--sv-borda); background: var(--sv-fundo); padding-inline: var(--sv-gutter); }
.sv-menu-movel.is-aberto { display: flex; }
.sv-menu-movel a { padding-block: 1rem; border-bottom: 1px solid var(--sv-borda); color: var(--sv-texto); font-size: 1rem; }
.sv-menu-movel a:last-child { border-bottom: 0; }
@media (min-width: 768px) {
	.sv-menu { display: flex; align-items: center; }
	.sv-cabecalho__acao { display: block; }
	.sv-menu-botao, .sv-menu-movel, .sv-menu-movel.is-aberto { display: none; }
}

/* ---------- Banner da home (5) ----------------------------------------------------- */
.sv-hero { position: relative; overflow: hidden; min-height: var(--sv-banner-home-altura); background: var(--sv-floresta); color: var(--sv-floresta-texto); display: flex; align-items: center; }
.sv-hero__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sv-hero::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--sv-floresta) 60%, transparent); }
.sv-hero__conteudo { position: relative; z-index: 1; padding-block: 5rem; }
.sv-hero__texto { max-width: 42rem; }
.sv-hero .is-style-sobrelinha-traco { color: var(--sv-realce); margin-bottom: 1.25rem; }
.sv-hero__titulo { font-family: var(--sv-fonte-titulo); font-weight: 600; font-size: clamp(3rem, 2rem + 3.6vw, 4.5rem); line-height: 1.08; color: var(--sv-floresta-texto); margin: 0; }
.sv-hero__descricao { margin: 1.5rem 0 0; max-width: 36rem; font-size: clamp(1rem, 0.95rem + 0.3vw, 1.125rem); line-height: 1.75; color: color-mix(in srgb, var(--sv-floresta-texto) 85%, transparent); }
.sv-hero__botoes { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.25rem; }
/* Banner de evento (5.1): logotipo quadrado do congresso como selo acima da sobrelinha. */
/* Banner de evento (5.1): aviso no topo com ponto "ao vivo" pulsando; logotipo ao lado do titulo. */
.sv-hero__aviso { display: inline-flex; align-items: center; gap: 0.875rem; margin: 0 0 1.75rem; padding: 0.625rem 1.25rem 0.625rem 1rem; border: 0; border-radius: 999px; background: var(--sv-superficie); color: var(--sv-texto); font-size: var(--sv-sobrelinha-tamanho); font-weight: 700; text-transform: uppercase; letter-spacing: var(--sv-sobrelinha-espacamento); box-shadow: var(--sv-sombra-sm); } /* pilula clara: o vermelho salta sobre o verde */
.sv-pulso { position: relative; flex-shrink: 0; width: 0.75rem; height: 0.75rem; border-radius: 50%; background: var(--sv-ao-vivo); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sv-ao-vivo) 25%, transparent); }
.sv-pulso::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--sv-ao-vivo); animation: sv-pulso var(--sv-pulso-duracao) cubic-bezier(0, 0, 0.2, 1) infinite; }
@keyframes sv-pulso { 75%, 100% { transform: scale(2.4); opacity: 0; } } /* como o animate-ping do Tailwind */
/* Inscreva-se do banner de evento (5.1): fundo pisca dourado/dourado claro e anel dourado se expande; para no hover/foco. */
.sv-botao--chamativo { animation: sv-chamar var(--sv-chamar-duracao) ease-in-out infinite; }
.sv-botao--chamativo:hover, .sv-botao--chamativo:focus-visible { animation-play-state: paused; opacity: 1; }
@keyframes sv-chamar {
	0%   { background: var(--sv-realce); box-shadow: 0 0 0 0 color-mix(in srgb, var(--sv-realce) 70%, transparent); }
	50%  { background: color-mix(in srgb, var(--sv-realce) 45%, var(--sv-superficie)); } /* dourado bem claro: a piscada aparece */
	70%  { box-shadow: 0 0 0 0.75rem transparent; }
	100% { background: var(--sv-realce); box-shadow: 0 0 0 0 transparent; }
}
.sv-hero--evento .sv-hero__texto { max-width: 52rem; } /* logotipo + titulo lado a lado */
.sv-hero__cabeca { display: flex; align-items: center; gap: 1.25rem; }
.sv-hero__logo { flex-shrink: 0; width: 4.5rem; height: 4.5rem; object-fit: contain; padding: 0.375rem; background: var(--sv-superficie); border-radius: var(--sv-raio-card); box-shadow: var(--sv-sombra-sm); }
@media (min-width: 768px) { .sv-hero__cabeca { gap: 1.75rem; } .sv-hero__logo { width: 7rem; height: 7rem; padding: 0.5rem; } }
.sv-hero--evento .sv-hero__titulo { font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem); } /* nomes de congresso sao longos */

/* ---------- Banner de pagina interna (6) ---------------------------------------------- */
.sv-banner-pagina, .is-style-banner-verde { background: var(--sv-banner-pagina-fundo); color: var(--sv-floresta-texto); padding-block: var(--sv-banner-pagina-padding); border-bottom: 3px solid var(--sv-realce); }
@media (min-width: 768px) { .sv-banner-pagina, .is-style-banner-verde { --sv-banner-pagina-padding: 4rem; } }
.sv-banner-pagina h1, .is-style-banner-verde h1 { font-family: var(--sv-fonte-titulo); font-weight: 600; font-size: var(--sv-banner-pagina-titulo); line-height: 1.2; color: var(--sv-floresta-texto); max-width: 52rem; margin: 0.75rem 0 0; }
.sv-banner-pagina p:not(.sv-sobrelinha):not(.is-style-sobrelinha), .is-style-banner-verde p:not(.is-style-sobrelinha):not(.sv-sobrelinha) { max-width: 40rem; margin: 0.875rem 0 0; line-height: 1.7; color: color-mix(in srgb, var(--sv-floresta-texto) 85%, transparent); }
.sv-banner-pagina .sv-sobrelinha, .sv-banner-pagina .is-style-sobrelinha { display: flex; align-items: center; gap: 0.75rem; }
.sv-banner-pagina .sv-sobrelinha::before, .sv-banner-pagina .is-style-sobrelinha::before { content: ""; width: 2rem; height: 1px; background: currentColor; }
.sv-banner-pagina .sv-sobrelinha, .is-style-banner-verde .is-style-sobrelinha { color: var(--sv-realce); }

/* ---------- Destaques institucionais (7) -------------------------------------------- */
.sv-destaques { background: var(--sv-superficie); border-bottom: 1px solid var(--sv-borda); }
.sv-destaques__grade { display: grid; }
.sv-destaques__item { display: flex; align-items: center; gap: 1rem; padding-block: 1.75rem; border-top: 1px solid var(--sv-borda); color: var(--sv-primaria); }
.sv-destaques__item:first-child { border-top: 0; }
.sv-destaques__item strong { display: block; color: var(--sv-texto); font-weight: 600; }
.sv-destaques__item span { display: block; margin-top: 0.25rem; font-size: 0.875rem; color: var(--sv-texto-suave); }
@media (min-width: 768px) {
	.sv-destaques__grade { grid-template-columns: repeat(3, 1fr); }
	.sv-destaques__item { border-top: 0; border-left: 1px solid var(--sv-borda); padding-inline: 2rem; }
	.sv-destaques__item:first-child { border-left: 0; padding-left: 0; }
}

/* ---------- Cabecalho de secao (8) ----------------------------------------------------- */
.sv-secao__topo { display: flex; flex-direction: column; gap: 1.5rem; }
.sv-secao__titulo { font-family: var(--sv-fonte-titulo); font-weight: 600; font-size: clamp(2.25rem, 1.9rem + 1.4vw, 3rem); line-height: 1.15; margin: 0.75rem 0 0; color: var(--sv-texto); }
@media (min-width: 768px) { .sv-secao__topo { flex-direction: row; align-items: flex-end; justify-content: space-between; } }

/* ---------- Cards de publicacao (9, 10) --------------------------------------------- */
.sv-grade { display: grid; gap: 1.25rem; margin-top: 2.5rem; }
@media (min-width: 640px) { .sv-grade--catalogo { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .sv-grade--3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .sv-grade--catalogo { grid-template-columns: repeat(3, 1fr); } }
.sv-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); box-shadow: var(--sv-sombra-sm); color: var(--sv-texto); text-decoration: none; transition: transform var(--sv-transicao-card); }
a.sv-card:hover, .sv-card--elevar:hover { transform: translateY(-0.25rem); text-decoration: none; }
.sv-card__capa { display: flex; align-items: flex-end; aspect-ratio: 4 / 3; padding: 1.75rem; color: var(--sv-primaria-texto); background: var(--sv-floresta); position: relative; }
.sv-card__capa--primaria { background: var(--sv-primaria); }
.sv-card__capa--destaque { background: var(--sv-destaque); color: var(--sv-destaque-texto); }
.sv-card__capa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sv-card__capa-icone { opacity: 0.8; margin-bottom: 2rem; width: 2rem; height: 2rem; }
.sv-card__area { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; opacity: 0.75; margin: 0; }
.sv-card__capa-titulo { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; line-height: 1.2; margin: 0.5rem 0 0; color: inherit; }
.sv-card__rodape { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem; font-size: 0.875rem; color: var(--sv-texto-suave); }
.sv-card__rodape .sv-icone { width: 1.25rem; height: 1.25rem; color: var(--sv-primaria); transition: transform var(--sv-transicao-card); }
.sv-card:hover .sv-card__rodape .sv-icone { transform: translateX(0.25rem); }
.sv-card--catalogo { justify-content: space-between; min-height: 16rem; padding: 1.5rem; }
.sv-card__icone { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: var(--sv-raio-icone); background: var(--sv-salvia); color: var(--sv-primaria); }
.sv-card__tipo { margin: 2rem 0 0; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--sv-primaria); }
.sv-card__titulo { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; line-height: 1.375; margin: 0.75rem 0 0; color: var(--sv-texto); }
.sv-card__titulo a { color: inherit; text-decoration: none; }
.sv-card__meta { margin: 0.5rem 0 0; font-size: 0.875rem; color: var(--sv-texto-suave); }
.sv-card__link { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1.5rem; font-size: 0.875rem; font-weight: 600; color: var(--sv-primaria); text-decoration: none; }

/* ---------- Agenda (11) ----------------------------------------------------------------- */
.sv-agenda { background: var(--sv-salvia); color: var(--sv-salvia-texto); padding-block: var(--sv-secao); }
.sv-agenda__grade { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .sv-agenda__grade { grid-template-columns: 0.85fr 1.15fr; align-items: center; } }
.sv-agenda__texto { margin: 1.25rem 0 0; max-width: 32rem; line-height: 1.75; color: var(--sv-salvia-texto); }
.sv-agenda .sv-botao { margin-top: 1.75rem; }
.sv-lista { border-block: 1px solid var(--sv-borda); }
.sv-lista__item { display: grid; grid-template-columns: 72px 1fr; gap: 1.25rem; padding-block: 1.5rem; border-top: 1px solid var(--sv-borda); color: var(--sv-texto); text-decoration: none; }
.sv-lista__item:first-child { border-top: 0; }
.sv-lista__item:hover { text-decoration: none; }
.sv-lista__dia { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; color: var(--sv-primaria); line-height: 1.2; }
.sv-lista__mes { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.16em; color: var(--sv-salvia-texto); }
.sv-lista__titulo { font-family: var(--sv-fonte-titulo); font-size: 1.25rem; font-weight: 600; margin: 0; }
.sv-lista__detalhe { margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--sv-salvia-texto); }
.sv-pauta { margin-top: calc(var(--sv-secao) * 2); }
/* Acento quente (tijolo/castanho, 2026-10-07): sobrelinha com traco, filete, dia, mes, fonte, seta e hover. */
.sv-pauta .sv-sobrelinha { display: flex; align-items: center; gap: 0.75rem; color: var(--sv-tijolo); }
.sv-pauta .sv-sobrelinha::before { content: ""; width: 2rem; height: 2px; background: currentColor; }
.sv-pauta .sv-lista { margin-top: 2rem; border-top: 2px solid var(--sv-tijolo); }
.sv-pauta .sv-lista__dia { color: var(--sv-tijolo); }
.sv-pauta .sv-lista__mes { color: var(--sv-castanho); }
.sv-pauta .sv-lista__detalhe { color: var(--sv-castanho); font-weight: 600; }
.sv-pauta .sv-lista__seta { color: var(--sv-tijolo); }
.sv-pauta .sv-lista__item:hover .sv-lista__titulo, .sv-pauta .sv-lista__item:focus-visible .sv-lista__titulo { color: var(--sv-tijolo); }
/* Letreiro de noticias da Inicio (componente 16.2): faixa fina abaixo do banner, acento tijolo/castanho. */
.sv-letreiro { display: flex; align-items: stretch; min-height: var(--sv-letreiro-altura); background: var(--sv-superficie); border-top: 3px solid var(--sv-tijolo); border-bottom: 1px solid var(--sv-borda); font-size: 0.875rem; }
.sv-letreiro__rotulo { display: flex; align-items: center; flex-shrink: 0; padding-inline: 1.25rem; background: var(--sv-tijolo); }
.sv-letreiro__rotulo a { color: var(--sv-primaria-texto); font-size: var(--sv-sobrelinha-tamanho); font-weight: 700; text-transform: uppercase; letter-spacing: var(--sv-sobrelinha-espacamento); text-decoration: none; white-space: nowrap; }
.sv-letreiro__janela { flex: 1; min-width: 0; overflow: hidden; display: flex; align-items: center; }
.sv-letreiro__trilho { display: flex; width: max-content; animation: sv-letreiro calc(var(--sv-letreiro-item) * var(--sv-letreiro-itens, 8)) linear infinite; }
.sv-letreiro:hover .sv-letreiro__trilho, .sv-letreiro:focus-within .sv-letreiro__trilho, .sv-letreiro.is-pausado .sv-letreiro__trilho { animation-play-state: paused; }
.sv-letreiro__lista { display: flex; margin: 0; padding: 0; list-style: none; }
.sv-letreiro__item { display: flex; align-items: baseline; gap: 0.5rem; padding-inline: 1.5rem; white-space: nowrap; }
.sv-letreiro__item::before { content: ""; align-self: center; width: 0.375rem; height: 0.375rem; margin-right: 1rem; border-radius: 50%; background: var(--sv-tijolo); }
.sv-letreiro__item a { color: var(--sv-texto); font-weight: 600; text-decoration: none; }
.sv-letreiro__item a:hover, .sv-letreiro__item a:focus-visible { color: var(--sv-tijolo); text-decoration: underline; }
.sv-letreiro__fonte { color: var(--sv-castanho); font-size: 0.75rem; font-weight: 700; }
.sv-letreiro__pausa { flex-shrink: 0; padding-inline: 1rem; border: 0; border-left: 1px solid var(--sv-borda); background: var(--sv-superficie); color: var(--sv-castanho); font: inherit; font-size: 0.75rem; font-weight: 700; cursor: pointer; }
.sv-letreiro__pausa:hover { color: var(--sv-tijolo); }
@keyframes sv-letreiro { from { transform: translateX(0); } to { transform: translateX(-50%); } } /* direita → esquerda */
@media (max-width: 639px) { .sv-letreiro__rotulo { padding-inline: 0.75rem; } }
.sv-pauta__nota { margin: 1rem 0 0; font-size: 0.875rem; color: var(--sv-texto-suave); }
.sv-lista__seta { display: none; color: var(--sv-primaria); width: 1.25rem; height: 1.25rem; }
@media (min-width: 640px) {
	.sv-lista__item { grid-template-columns: 90px 1fr auto; align-items: center; }
	.sv-lista__seta { display: block; }
}
.sv-vazio { padding-block: 1.5rem; color: var(--sv-texto-suave); }
.sv-agenda .sv-vazio { color: var(--sv-salvia-texto); }
/* Agenda sem evento ativo (11.2): mensagem curta + ultimos realizados + link. */
.sv-lista--realizados + .sv-agenda__realizados, .sv-agenda .sv-agenda__realizados { margin-top: 1rem; padding-inline: 0; }
.sv-agenda .sv-vazio:has(+ .sv-lista--realizados) { padding-block: 0 1rem; }
/* Agenda (11.1): aviso "ao vivo" no evento em andamento e no proximo; dia em vermelho. */
.sv-aviso-vivo { display: inline-flex; align-items: center; gap: 0.625rem; margin-bottom: 0.625rem; padding: 0.3125rem 0.875rem 0.3125rem 0.75rem; border-radius: 999px; background: var(--sv-superficie); color: var(--sv-texto); font-size: var(--sv-sobrelinha-tamanho); font-weight: 700; text-transform: uppercase; letter-spacing: var(--sv-sobrelinha-espacamento); box-shadow: var(--sv-sombra-sm); }
.sv-aviso-vivo .sv-pulso { width: 0.5625rem; height: 0.5625rem; }
.sv-lista__item--vivo .sv-lista__dia { color: var(--sv-ao-vivo-texto); }

/* ---------- Linha de evento + status + abas (12) --------------------------------------- */
.sv-eventos__abas { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.5rem; }
.sv-eventos__aba { padding: 0.5rem 1rem; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-botao); font-size: 0.875rem; font-weight: 700; color: var(--sv-texto-suave); text-decoration: none; background: var(--sv-superficie); }
.sv-eventos__aba:hover { border-color: var(--sv-primaria); color: var(--sv-primaria); }
.sv-eventos__aba[aria-selected="true"] { background: var(--sv-primaria); border-color: var(--sv-primaria); color: var(--sv-primaria-texto); }
.sv-evento { display: grid; gap: 1.25rem; padding-block: 1.75rem; border-top: 1px solid var(--sv-borda); }
.sv-evento:first-child { border-top: 0; }
.sv-evento__numero { font-family: var(--sv-fonte-titulo); font-size: 2.25rem; font-weight: 600; color: var(--sv-primaria); line-height: 1.1; }
.sv-evento__data { margin: 0; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--sv-texto-suave); }
.sv-evento__titulo { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; margin: 0.5rem 0 0; }
.sv-evento__titulo a { color: var(--sv-texto); text-decoration: none; }
.sv-evento__titulo a:hover { color: var(--sv-primaria); }
.sv-evento__linha { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-top: 0.5rem; font-size: 0.875rem; color: var(--sv-texto-suave); }
.sv-evento .sv-botao { justify-self: start; }
@media (min-width: 640px) { .sv-evento { grid-template-columns: 110px 1fr auto; align-items: center; } }
.sv-status { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: var(--sv-raio-icone); font-size: 0.75rem; font-weight: 700; }
.sv-status--andamento { background: var(--sv-status-andamento-fundo); color: var(--sv-status-andamento-texto); }
.sv-status--proximo { background: var(--sv-status-proximo-fundo); color: var(--sv-status-proximo-texto); }
.sv-status--realizado { background: var(--sv-status-realizado-fundo); color: var(--sv-status-realizado-texto); }

/* ---------- Beneficios (13), valores (14) ---------------------------------------------------- */
.sv-beneficios { display: grid; gap: 1rem; }
@media (min-width: 768px) { .sv-beneficios { grid-template-columns: repeat(4, 1fr); } }
.sv-beneficio, .is-style-card-salvia { border-radius: var(--sv-raio-card); background: var(--sv-salvia); color: var(--sv-salvia-texto); padding: 1.25rem; }
.sv-beneficio { color: var(--sv-primaria); }
.sv-beneficio p { margin: 1rem 0 0; font-size: 0.875rem; font-weight: 600; color: var(--sv-salvia-texto); }
.sv-valores { display: grid; gap: 1rem; }
@media (min-width: 640px) { .sv-valores { grid-template-columns: repeat(2, 1fr); } .sv-valor--largo { grid-column: span 2; } }
.sv-valor, .is-style-card { border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); box-shadow: var(--sv-sombra-sm); padding: 1.5rem; }
.sv-valor { color: var(--sv-primaria); }
.sv-valor h3 { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; margin: 1.25rem 0 0; color: var(--sv-texto); }
.sv-valor p { margin: 0.5rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--sv-texto-suave); }

/* ---------- Duas colunas (A editora, detalhes) ------------------------------------------------ */
.sv-duas-colunas { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .sv-duas-colunas { grid-template-columns: 1fr 1fr; align-items: start; } }
.sv-texto-suave { color: var(--sv-texto-suave); line-height: 1.75; }

/* ---------- Citacao (15) ------------------------------------------------------------------------ */
.sv-citacao { text-align: center; max-width: 64rem; margin-inline: auto; display: grid; gap: 2rem; }
.sv-citacao .sv-icone { margin-inline: auto; width: 2.5rem; height: 2.5rem; color: var(--sv-realce); }
.sv-citacao blockquote { margin: 0; font-family: var(--sv-fonte-titulo); font-weight: 500; font-size: clamp(1.875rem, 1.7rem + 0.7vw, 2.25rem); line-height: 1.375; color: var(--sv-texto); }
.sv-citacao__autor { margin: 0; font-weight: 600; color: var(--sv-primaria); }
.sv-citacao__cargo { margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--sv-texto-suave); }

/* ---------- Revista (OJS) + chamada ------------------------------------------------------------- */
.sv-chamada { display: flex; flex-direction: column; gap: 1.5rem; padding: 2rem; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); }
@media (min-width: 768px) { .sv-chamada { flex-direction: row; align-items: center; justify-content: space-between; } }
.sv-chamada h2 { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; margin: 0.5rem 0 0; }

/* ---------- Noticias (16) --------------------------------------------------------------------- */
.sv-noticias .wp-block-post-template { gap: 1.25rem; }
.sv-noticia { height: 100%; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); box-shadow: var(--sv-sombra-sm); overflow: hidden; transition: transform var(--sv-transicao-card); }
.sv-noticia:hover { transform: translateY(-0.25rem); }
.sv-noticia .wp-block-post-featured-image { margin: 0; aspect-ratio: 16 / 9; }
.sv-noticia .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; object-position: top; } /* recorte preserva o topo da foto */
.sv-noticia__corpo { padding: 1.5rem; }
.sv-noticia .wp-block-post-date { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--sv-texto-suave); }
.sv-noticia .wp-block-post-title { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; line-height: 1.3; margin: 0.5rem 0 0; }
.sv-noticia .wp-block-post-title a { color: var(--sv-texto); text-decoration: none; }
.sv-noticia .wp-block-post-excerpt { font-size: 0.875rem; color: var(--sv-texto-suave); }
.sv-noticia .wp-block-post-excerpt__more-link { font-weight: 600; color: var(--sv-primaria); }
/* Notícias com acento quente (tijolo/castanho, 2026-10-07): só cards, seção da Início, página da notícia e Saúde em pauta. */
.sv-noticia { border-top: 3px solid var(--sv-tijolo); }
.sv-noticia .wp-block-post-date { color: var(--sv-tijolo); }
.sv-noticia .wp-block-post-title a:hover, .sv-noticia .wp-block-post-title a:focus-visible { color: var(--sv-tijolo); }
.sv-noticia .wp-block-post-excerpt__more-link, .sv-noticia .sv-card__link { color: var(--sv-castanho); }
.sv-secao--noticias .sv-sobrelinha { color: var(--sv-tijolo); }
.sv-secao--noticias .sv-secao__topo .sv-botao--link { color: var(--sv-castanho); }
.single-post .sv-conteudo a:not(.wp-block-button__link) { color: var(--sv-tijolo); }
.single-post .sv-conteudo .wp-block-button__link { background: var(--sv-tijolo); color: var(--sv-primaria-texto); } /* botao da noticia no acento quente (6.5:1) */
/* Imagem da noticia dentro do texto, a esquerda (componente 16.3). */
.sv-conteudo--noticia { display: flow-root; }
.sv-noticia__imagem { display: block; width: 100%; height: auto; border-radius: var(--sv-raio-card); margin-bottom: 1.25rem; }
.sv-noticia__imagem + * { margin-top: 0; }
.sv-conteudo--noticia :is(h2, h3, h4) { clear: both; padding-top: 0.5rem; } /* subtitulos sempre abaixo da imagem, largura toda */
@media (min-width: 640px) {
	.sv-noticia__imagem { float: left; width: auto; max-width: 50%; height: var(--sv-noticia-imagem-altura); object-fit: cover; object-position: top; margin: 0.375rem 1.75rem 1rem 0; }
}

/* ---------- Detalhe (evento / publicacao / noticia) --------------------------------------------- */
.sv-detalhe { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .sv-detalhe { grid-template-columns: 1.6fr 1fr; align-items: start; } }
.sv-ficha { border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); box-shadow: var(--sv-sombra-sm); padding: 1.5rem; }
.sv-ficha dl { margin: 0; display: grid; gap: 1rem; }
.sv-ficha dt { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--sv-texto-suave); }
.sv-ficha dd { margin: 0.25rem 0 0; font-weight: 600; color: var(--sv-texto); overflow-wrap: anywhere; }
.sv-ficha .sv-botao { margin-top: 1.5rem; width: 100%; justify-content: center; box-sizing: border-box; }
.sv-ficha__capa { width: 100%; border-radius: var(--sv-raio-icone); margin-bottom: 1.25rem; }
.sv-conteudo { line-height: 1.75; color: var(--sv-texto); }
.sv-conteudo > * + * { margin-top: 1.25rem; }
.sv-citar { margin-top: 2rem; padding: 1.25rem; border-radius: var(--sv-raio-card); background: var(--sv-suave); font-size: 0.875rem; color: var(--sv-texto); }

/* ---------- Filtros do catalogo ----------------------------------------------------------------- */
.sv-filtros { display: grid; gap: 0.75rem; margin-top: 2rem; padding: 1.25rem; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); }
@media (min-width: 768px) { .sv-filtros { grid-template-columns: 2fr 1fr 1fr 1fr auto; align-items: end; } }
.sv-filtros label { display: block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--sv-texto-suave); margin-bottom: 0.375rem; }
.sv-filtros input, .sv-filtros select { width: 100%; box-sizing: border-box; padding: 0.625rem 0.75rem; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-botao); background: var(--sv-fundo); color: var(--sv-texto); font: inherit; font-size: 0.875rem; }
.sv-paginacao { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sv-paginacao .page-numbers { padding: 0.5rem 0.875rem; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-botao); color: var(--sv-texto); text-decoration: none; font-weight: 600; font-size: 0.875rem; }
.sv-paginacao .current { background: var(--sv-primaria); border-color: var(--sv-primaria); color: var(--sv-primaria-texto); }

/* ---------- Rodape (17) ---------------------------------------------------------------------- */
.sv-rodape { background: var(--sv-rodape); color: var(--sv-rodape-texto); }
.sv-rodape__grade { display: grid; gap: 2.5rem; padding-block: 3rem; }
@media (min-width: 768px) { .sv-rodape__grade { grid-template-columns: 1.4fr 1fr 1fr; } }
.sv-rodape__nome { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; }
.sv-rodape p { margin: 0.75rem 0 0; max-width: 28rem; font-size: 0.875rem; line-height: 1.5rem; color: var(--sv-rodape-suave); }
.sv-rodape h2 { margin: 0; font-family: var(--sv-fonte-texto); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: var(--sv-rodape-destaque); }
.sv-rodape__links { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; font-size: 0.875rem; }
.sv-rodape a { color: var(--sv-rodape-suave); text-decoration: none; }
.sv-rodape a:hover { color: var(--sv-rodape-texto); }
.sv-rodape__isni { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1rem; font-size: 0.875rem; font-weight: 600; color: var(--sv-rodape-texto) !important; }
.sv-rodape__isni:hover { color: var(--sv-rodape-destaque) !important; }
.sv-rodape__final { border-top: 1px solid var(--sv-rodape-borda); padding: 1.25rem var(--sv-gutter); text-align: center; font-size: 0.75rem; color: var(--sv-rodape-suave); }

/* ---------- Capa de livro (19), estante (20) - acrescimos ------------------------------------------ */
.sv-livros { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5rem 1.25rem; margin-top: 2.5rem; }
@media (min-width: 768px) { .sv-livros { grid-template-columns: repeat(3, 1fr); gap: 3rem 2rem; } }
@media (min-width: 1024px) { .sv-livros { grid-template-columns: repeat(4, 1fr); } }
.sv-livro { display: flex; flex-direction: column; color: var(--sv-texto); text-decoration: none; }
.sv-livro__capa { position: relative; display: block; margin: 0; aspect-ratio: 1 / 1.414; border-radius: var(--sv-raio-livro); overflow: hidden; background: var(--sv-floresta); box-shadow: var(--sv-sombra-livro); transition: var(--sv-transicao-livro); }
.sv-livro__capa img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sv-livro__capa::after { content: ""; position: absolute; inset: 0; background: var(--sv-lombada); pointer-events: none; }
.sv-livro:hover .sv-livro__capa, .sv-livro:focus-visible .sv-livro__capa { transform: var(--sv-livro-hover); box-shadow: var(--sv-sombra-livro-hover); }
.sv-livro__capa--gerada { display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem 1.25rem 1.25rem 1.75rem; color: var(--sv-floresta-texto); }
.sv-livro__capa--gerada .sv-icone { width: 2rem; height: 2rem; color: var(--sv-realce); }
.sv-livro__capa--gerada span { font-family: var(--sv-fonte-titulo); font-size: 1.125rem; font-weight: 600; line-height: 1.3; }
.sv-livro__selo { position: absolute; top: 0.75rem; left: 1rem; z-index: 1; padding: 0.25rem 0.5rem; border-radius: var(--sv-raio-botao); background: var(--sv-superficie); color: var(--sv-primaria); font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; box-shadow: var(--sv-sombra); }
.sv-livro__titulo { color: inherit; margin: 1.25rem 0 0; font-family: var(--sv-fonte-titulo); font-size: 1.125rem; font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sv-livro:hover .sv-livro__titulo { color: var(--sv-primaria); }
.sv-livro__meta { margin: 0.375rem 0 0; font-size: 0.8125rem; color: var(--sv-texto-suave); }

.sv-estante { background: var(--sv-superficie); color: var(--sv-texto); border-block: 1px solid var(--sv-borda); }
.sv-estante .sv-secao__titulo, .sv-estante .sv-livro, .sv-estante .sv-livro__titulo { color: var(--sv-texto); }
.sv-estante .sv-sobrelinha { color: var(--sv-primaria); }
.sv-estante__descricao { margin: 0.75rem 0 0; max-width: 36rem; font-size: 0.9375rem; line-height: 1.7; color: var(--sv-texto-suave); }
.sv-estante .sv-livro:hover .sv-livro__titulo, .sv-estante .sv-livro:focus-visible .sv-livro__titulo { color: var(--sv-primaria); text-decoration: underline; text-decoration-color: var(--sv-realce); text-decoration-thickness: 2px; text-underline-offset: 0.25rem; }
.sv-estante .sv-livro__meta { color: var(--sv-texto-suave); }
.sv-estante .sv-livro__mais { display: inline-flex; align-items: center; gap: 0.375rem; margin-top: 0.625rem; font-size: 0.8125rem; font-weight: 700; color: var(--sv-primaria); }
.sv-estante .sv-livro__mais .sv-icone { transition: transform var(--sv-transicao-card); }
.sv-estante .sv-livro:hover .sv-livro__mais .sv-icone { transform: translateX(0.25rem); }
.sv-estante--suave { background: var(--sv-suave); border-block: 0; }
.sv-estante__catalogo { box-shadow: var(--sv-sombra); }
.sv-estante__catalogo:hover { opacity: 1; box-shadow: var(--sv-sombra-lg); }
.sv-estante__catalogo:hover .sv-icone { transform: translateX(0.25rem); }
.sv-estante__fila { display: flex; gap: 1.5rem; margin-top: 2.5rem; padding: 1rem 0.25rem 1.5rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--sv-primaria) transparent; }
.sv-estante__fila > .sv-livro { flex: 0 0 calc((100% - 2 * 1.5rem) / 2.3); scroll-snap-align: start; }
@media (min-width: 768px) { .sv-estante__fila { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem; overflow: visible; } }
@media (min-width: 1024px) { .sv-estante__fila { gap: 4rem; padding-inline: 1.5rem; } }
.sv-estante__prateleira { height: 0.625rem; margin-top: -1.25rem; border-radius: var(--sv-raio-botao); background: linear-gradient(var(--sv-salvia), var(--sv-borda)); box-shadow: var(--sv-sombra); }

/* Detalhe da publicacao: capa ao lado */
.sv-detalhe--livro { display: grid; gap: 3rem; }
@media (min-width: 768px) { .sv-detalhe--livro { grid-template-columns: minmax(14rem, 20rem) 1fr; align-items: start; } }
.sv-detalhe--livro .sv-livro__capa { position: sticky; top: calc(var(--sv-cabecalho-altura) + 1.5rem); }
.sv-detalhe--livro .sv-ficha dl { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.sv-detalhe--livro .sv-conteudo { margin-top: 2rem; }
.sv-ficha__acoes { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.sv-ficha .sv-ficha__acoes .sv-botao { margin-top: 0; width: auto; }

/* ---------- Logotipo do evento (21) - acrescimo ----------------------------------------------------- */
.sv-evento__logo { display: block; width: 96px; aspect-ratio: 1; box-sizing: border-box; padding: 0.75rem; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); }
.sv-evento__logo img { width: 100%; height: 100%; object-fit: contain; }
.sv-ficha__logo { display: block; width: 100%; max-width: 14rem; aspect-ratio: 1; box-sizing: border-box; margin: 0 auto 1.5rem; padding: 1rem; border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); }
.sv-ficha__logo img { width: 100%; height: 100%; object-fit: contain; }

/* ---------- Missao, visao e valores (22) - acrescimo -------------------------------------------------- */
.sv-secao--suave { background: var(--sv-suave); }
.sv-principios { display: grid; gap: 1.25rem; margin-top: 2.5rem; }
@media (min-width: 768px) { .sv-principios { grid-template-columns: repeat(3, 1fr); } }
.sv-principio { border: 1px solid var(--sv-borda); border-radius: var(--sv-raio-card); background: var(--sv-superficie); box-shadow: var(--sv-sombra-sm); padding: 1.75rem; }
.sv-principio__icone { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: var(--sv-raio-icone); background: var(--sv-salvia); color: var(--sv-primaria); }
.sv-principio h3 { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; margin: 1.25rem 0 0; color: var(--sv-texto); }
.sv-principio p { margin: 0.75rem 0 0; font-size: 0.9375rem; line-height: 1.7; color: var(--sv-texto-suave); }
.sv-checklist { list-style: none; margin: 0.75rem 0 0; padding: 0; display: grid; gap: 0.625rem; font-size: 0.9375rem; color: var(--sv-texto); }
.sv-checklist li { display: flex; gap: 0.625rem; align-items: flex-start; line-height: 1.5; }
.sv-checklist .sv-icone { width: 1.125rem; height: 1.125rem; margin-top: 0.125rem; color: var(--sv-primaria); }
.sv-beneficios--espaco { margin-top: 2.5rem; }
.sv-chamada--espaco { margin-top: 3rem; }
.sv-botoes { display: flex; flex-wrap: wrap; gap: 0.75rem; }

/* ---------- Redes sociais e comunidade (23) - acrescimo ---------------------------------------------- */
.sv-redes { display: flex; flex-wrap: wrap; gap: 0.625rem; margin-top: 1.25rem; }
.sv-redes__link { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.875rem; border: 1px solid var(--sv-rodape-borda); border-radius: var(--sv-raio-botao); font-size: 0.8125rem; font-weight: 600; transition: var(--sv-transicao-botao); }
.sv-rodape .sv-redes__link:hover { border-color: var(--sv-rodape-destaque); color: var(--sv-rodape-destaque); }
.sv-comunidade { display: grid; gap: 1.5rem; padding: 2rem; border-radius: var(--sv-raio-card); background: var(--sv-floresta); color: var(--sv-floresta-texto); border-left: 4px solid var(--sv-realce); }
@media (min-width: 1024px) { .sv-comunidade { grid-template-columns: auto 1fr auto; align-items: center; padding: 2.25rem 2.5rem; gap: 2rem; } }
.sv-comunidade__avatar { display: block; width: 4.5rem; height: 4.5rem; border-radius: 50%; box-shadow: 0 0 0 3px var(--sv-floresta), 0 0 0 5px var(--sv-realce); }
.sv-comunidade .sv-sobrelinha { color: var(--sv-realce); }
.sv-comunidade h2 { font-family: var(--sv-fonte-titulo); font-size: 1.5rem; font-weight: 600; line-height: 1.3; margin: 0.5rem 0 0; color: var(--sv-floresta-texto); }
.sv-comunidade__texto p:not(.sv-sobrelinha) { margin: 0.5rem 0 0; font-size: 0.9375rem; line-height: 1.6; color: color-mix(in srgb, var(--sv-floresta-texto) 85%, transparent); }

/* ---------- Utilitarios dos shortcodes ------------------------------------------------------- */
.sv-lista--pagina { margin-top: 2rem; }
.sv-agenda__sobrelinha { margin-top: 1.25rem; }
.sv-agenda-pagina { margin-top: 4rem; }
.sv-banner-pagina .is-style-sobrelinha { color: var(--sv-realce); }
.sv-pagina-conteudo > .sv-banner-pagina, .sv-pagina-conteudo > .sv-secao { margin-block: 0; }
.sv-duas-colunas-wp { gap: 3rem; }
.sv-secao--sem-topo { padding-top: 0; }
.sv-voltar { margin-top: 3rem; }
.sv-container--leitura { max-width: 48rem; }
.sv-card__capa-texto { position: relative; }

/* ---------- Remove espacos padrao do WordPress entre secoes de largura total ------------------ */
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }
.sv-sem-espaco > * + * { margin-block-start: 0; }

@media (prefers-reduced-motion: reduce) {
	.sv-card, .sv-noticia, .sv-marca__icone, .sv-botao .sv-icone, .sv-livro__capa { transition: none; }
	.sv-livro:hover .sv-livro__capa, .sv-livro:focus-visible .sv-livro__capa { transform: none; }
	.sv-estante__fila { scroll-behavior: auto; }
	/* Letreiro: continua animado por decisao do usuario (2026-10-07); o botao Pausar atende a WCAG 2.2.2. */
	.sv-letreiro__trilho { animation-duration: calc(var(--sv-letreiro-item) * var(--sv-letreiro-itens, 8)) !important; } /* vence o "*" de tokens.css */
	.sv-botao--chamativo { animation-duration: var(--sv-chamar-duracao) !important; } /* Inscreva-se piscando: decisao do usuario */
	.sv-pulso::after { animation-duration: var(--sv-pulso-duracao) !important; } /* ponto "ao vivo" do banner de evento: tambem por decisao do usuario */
	a.sv-card:hover, .sv-noticia:hover { transform: none; }
}
