/* ==========================================================================
   STARTROOPER - estilos de front-end
   As variáveis são geradas pelo painel do tema (inc/dynamic-css.php).
   ========================================================================== */

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

*,
*::before,
*::after { box-sizing: border-box; }

body.st-body {
	margin: 0;
	background-color: var(--st-bg);
	color: var(--st-text);
	font-family: var(--st-font-body);
	font-size: var(--st-fs-base);
	line-height: var(--st-lh-base);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a {
	color: var(--st-link);
	text-decoration: none;
	transition: color .2s ease;
}

a:hover { color: var(--st-link-hover); }

:focus-visible {
	outline: 3px solid var(--st-accent);
	outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--st-font-title);
	color: var(--st-title);
	font-weight: var(--st-title-weight);
	letter-spacing: var(--st-title-spacing);
	line-height: 1.2;
	margin: 0 0 .6em;
}

h1 { font-size: var(--st-fs-h1); }
h2 { font-size: var(--st-fs-h2); }
h3 { font-size: var(--st-fs-h3); }
h4 { font-size: var(--st-fs-h4); }

p { margin: 0 0 1.2em; }
p:last-child { margin-bottom: 0; }

blockquote {
	margin: 2em 0;
	padding: 1.2em 1.6em;
	border-left: 4px solid var(--st-accent);
	background: var(--st-bg-alt);
	font-size: 1.05em;
}

/* Fonte decorativa (Orbitron por padrão), aplicável a qualquer elemento. */
.st-deco,
.st-section-head__label,
.st-card__label,
.st-number__value,
.st-pub__selo,
.st-pub__widget-titulo {
	font-family: var(--st-font-deco);
}

.st-container {
	width: 100%;
	max-width: var(--st-container);
	margin-inline: auto;
	padding-inline: 20px;
}

.st-section { padding-block: 70px; }
.st-section--alt { background: var(--st-bg-alt); }
.st-empty { color: var(--st-muted); }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}

.st-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--st-primary);
	color: #fff;
	padding: 12px 18px;
	z-index: 999;
}
.st-skip-link:focus { left: 12px; top: 12px; color: #fff; }

/* Botões ---------------------------------------------------------------- */

.st-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--st-font-ui);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 14px 26px;
	border: 2px solid transparent;
	border-radius: var(--st-radius);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.st-btn--primary {
	background: var(--st-btn-bg);
	color: var(--st-btn-color);
}
.st-btn--primary:hover {
	background: var(--st-btn-bg-hover);
	color: var(--st-btn-color-hover);
}

.st-btn--ghost {
	background: transparent;
	border-color: currentColor;
	color: #fff;
}
.st-btn--ghost:hover { background: rgba(255,255,255,.14); color: #fff; }

.st-btn--outline {
	background: transparent;
	border-color: var(--st-primary);
	color: var(--st-primary);
}
.st-btn--outline:hover { background: var(--st-primary); color: #fff; }

/* Compatibilidade com HTML antigo em cache ------------------------------
   Se um plugin de cache ou CDN ainda estiver servindo páginas geradas por
   uma versão anterior do tema, a marcação chega com as classes antigas e
   ficaria sem estilo nenhum. Estas regras garantem um resultado
   apresentável nesse intervalo, até o cache ser renovado. */

.st-header__inner,
.st-hd__linha { display: flex; align-items: center; gap: 20px; }
.st-header .st-menu,
.st-nav ul,
.st-menu { list-style: none; margin: 0; padding: 0; }
.st-nav > ul,
.st-header .st-menu { display: flex; flex-wrap: wrap; align-items: center; }
.st-nav a { display: block; padding: 10px 12px; font-family: var(--st-font-ui); font-size: 13px; }
.st-brand img { height: var(--st-logo-altura, 34px); width: auto; }
.st-anuncio ul,
.st-anuncio__palco,
.st-anuncio__fita { list-style: none; margin: 0; padding: 0; }
.st-anuncio__item,
.st-anuncio__unidade { display: inline-flex; align-items: center; }

/* Barra superior -------------------------------------------------------- */

.st-topbar {
	background: var(--st-topbar-bg);
	color: var(--st-topbar-text);
	font-family: var(--st-font-ui);
	font-size: 12px;
}

.st-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 38px;
	flex-wrap: wrap;
}

.st-topbar__group { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.st-topbar a { color: inherit; }
.st-topbar a:hover { color: #fff; }
.st-topbar__item { display: inline-flex; align-items: center; gap: 7px; }
.st-topbar__item svg { opacity: .65; }
.st-topbar .st-menu-legal { display: flex; gap: 16px; list-style: none; margin: 0; padding: 0; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 11px; }

/* ==========================================================================
   Cabeçalho — sistema reconstruído
   Uma única estrutura (.st-hd) para todos os modelos. O que muda entre
   eles é cor, altura e posição do menu, não a marcação.
   ========================================================================== */

.st-hd {
	position: relative;
	z-index: 50;
	--st-hd-bg: var(--st-header-bg);
	background: var(--st-hd-bg);
	--st-hd-cor: var(--st-menu-color);
	--st-hd-altura: 64px;
}

.st-hd__linha {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: var(--st-hd-altura);
}

/* Marca -------------------------------------------------------------------*/

.st-hd__marca { display: inline-flex; align-items: center; flex: 0 0 auto; }
.st-hd__marca img {
	height: var(--st-logo-altura, 34px);
	width: auto;
	max-height: calc(var(--st-hd-altura) - 22px);
	display: block;
}
.st-hd__marca-nome {
	font-family: var(--st-font-title);
	font-weight: 700;
	font-size: 19px;
	letter-spacing: -.01em;
	color: var(--st-hd-cor);
}

/* Menu --------------------------------------------------------------------*/

.st-hd__nav { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.st-hd__menu { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; }
.st-hd__menu li { position: relative; display: flex; align-items: center; }

.st-hd__menu a {
	display: block;
	font-family: var(--st-font-ui);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--st-hd-cor);
	padding: 10px 13px;
	white-space: nowrap;
	opacity: .88;
	transition: opacity .15s ease, color .15s ease;
}
.st-hd__menu a:hover,
.st-hd__menu .current-menu-item > a { opacity: 1; color: var(--st-accent); }

/* Separador em ponto entre os itens do primeiro nível. */
.st-hd__menu > li + li::before {
	content: var(--st-uefb-separador, ".");
	color: var(--st-uefb-sep, var(--st-accent));
	font-size: 16px;
	line-height: 0;
	position: relative;
	top: -1px;
	pointer-events: none;
}

/* Submenu -----------------------------------------------------------------*/

.st-hd__menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	display: block;
	background: var(--st-submenu-bg);
	padding: 6px 0;
	border-radius: 10px;
	box-shadow: 0 18px 44px rgba(0,0,0,.22);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .16s ease, transform .16s ease;
	z-index: 70;
	list-style: none;
	margin: 0;
}
.st-hd__menu li:hover > .sub-menu,
.st-hd__menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.st-hd__menu .sub-menu li { display: block; }
.st-hd__menu .sub-menu a {
	color: var(--st-submenu-cor, #fff);
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
	font-weight: 400;
	padding: 9px 18px;
	opacity: .9;
}
.st-hd__menu .sub-menu a:hover { background: rgba(255,255,255,.09); opacity: 1; }
.st-hd__menu .sub-menu .sub-menu { top: 0; left: 100%; }

/* Ações -------------------------------------------------------------------*/

.st-hd__acoes { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }

.st-hd__busca-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: var(--st-hd-cor);
	cursor: pointer;
	opacity: .9;
	transition: opacity .15s ease, transform .15s ease;
}
.st-hd__busca-btn:hover { opacity: 1; transform: scale(1.06); }
.st-hd__busca-btn svg { width: 22px; height: 22px; }

.st-hd__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--st-accent);
	color: #fff;
	border-radius: 999px;
	font-family: var(--st-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 11px 24px;
	white-space: nowrap;
	transition: background-color .18s ease, transform .18s ease;
}
.st-hd__cta:hover { background: var(--st-accent-2); color: var(--st-primary-dark); transform: translateY(-1px); }

/* Botão do menu -----------------------------------------------------------*/

.st-hd__menu-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--st-hd-cor);
	cursor: pointer;
}

.st-hd__hamburguer,
.st-hd__hamburguer::before,
.st-hd__hamburguer::after {
	display: block;
	width: 20px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform .22s ease, opacity .18s ease;
}
.st-hd__hamburguer { position: relative; }
.st-hd__hamburguer::before,
.st-hd__hamburguer::after { content: ""; position: absolute; left: 0; }
.st-hd__hamburguer::before { top: -6px; }
.st-hd__hamburguer::after { top: 6px; }

.st-hd__menu-btn[aria-expanded="true"] .st-hd__hamburguer { background: transparent; }
.st-hd__menu-btn[aria-expanded="true"] .st-hd__hamburguer::before { transform: translateY(6px) rotate(45deg); }
.st-hd__menu-btn[aria-expanded="true"] .st-hd__hamburguer::after { transform: translateY(-6px) rotate(-45deg); }

/* Painel de busca ---------------------------------------------------------*/

.st-hd__busca-painel {
	border-top: 1px solid rgba(127,127,127,.18);
	background: var(--st-hd-bg, var(--st-header-bg));
	animation: st-hd-abre .2s ease;
}
.st-hd__busca-painel[hidden] { display: none; }
.st-hd__busca-painel .st-container { padding-block: 14px; }
.st-hd__busca-painel .st-search { max-width: 620px; margin-inline: auto; border-radius: 999px; }

@keyframes st-hd-abre { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Modelo UEFB: barra escura compacta (padrão) -----------------------------*/

.st-hd--uefb {
	--st-hd-bg: var(--st-uefb-bg, #000);
	background: var(--st-hd-bg);
	--st-hd-cor: var(--st-uefb-cor, #fff);
	--st-hd-altura: 68px;
}
.st-hd--uefb .st-hd__menu a:hover,
.st-hd--uefb .st-hd__menu .current-menu-item > a { color: var(--st-accent-3); }
.st-hd--uefb .st-hd__busca-painel { border-top-color: rgba(255,255,255,.14); }

/* Modelo minimal: claro, fino, com linha inferior discreta ----------------*/

.st-hd--minimal {
	--st-hd-bg: var(--st-header-bg);
	background: var(--st-hd-bg);
	border-bottom: 1px solid var(--st-borda);
	--st-hd-altura: 62px;
}
.st-hd--minimal .st-hd__nav { justify-content: flex-end; }
.st-hd--minimal .st-hd__menu > li + li::before { display: none; }
.st-hd--minimal .st-hd__menu a { letter-spacing: .02em; text-transform: none; font-size: 14px; font-weight: 600; }
.st-hd--minimal .st-hd__cta { background: var(--st-primary); }
.st-hd--minimal .st-hd__cta:hover { background: var(--st-accent); color: #fff; }

/* Modelo centro: marca ao centro, menu numa linha fina abaixo -------------*/

.st-hd--centro .st-hd__linha { position: relative; flex-wrap: wrap; justify-content: center; padding-top: 16px; gap: 14px; }
.st-hd--centro .st-hd__marca { order: 1; margin-inline: auto; }
.st-hd--centro .st-hd__acoes { order: 2; position: absolute; right: 20px; top: 18px; }
.st-hd--centro .st-hd__nav { order: 3; flex: 1 1 100%; border-top: 1px solid var(--st-borda); padding-top: 6px; }
.st-hd--centro .st-hd__marca img { max-height: none; height: calc(var(--st-logo-altura, 34px) + 6px); }

/* Modelo contraste: barra roxa cheia --------------------------------------*/

.st-hd--contraste {
	--st-hd-bg: var(--st-accent);
	background: var(--st-hd-bg);
	--st-hd-cor: #fff;
	--st-hd-altura: 64px;
}
.st-hd--contraste .st-hd__menu > li + li::before { color: rgba(255,255,255,.45); }
.st-hd--contraste .st-hd__menu a:hover,
.st-hd--contraste .st-hd__menu .current-menu-item > a { color: var(--st-accent-3); }
.st-hd--contraste .st-hd__cta { background: #fff; color: var(--st-accent); }
.st-hd--contraste .st-hd__cta:hover { background: var(--st-accent-3); color: var(--st-primary-dark); }
.st-hd--contraste .st-hd__busca-painel { border-top-color: rgba(255,255,255,.25); }

/* Cabeçalho fixo ----------------------------------------------------------*/

body.st-has-sticky-header .st-hd.is-stuck {
	position: fixed;
	top: 0; left: 0; right: 0;
	box-shadow: 0 8px 28px rgba(0,0,0,.16);
	animation: st-hd-desce .28s ease;
}
@keyframes st-hd-desce { from { transform: translateY(-100%); } to { transform: none; } }

/* Menu em telas menores ---------------------------------------------------*/

@media (max-width: 1024px) {
	.st-hd__menu a { padding-inline: 10px; font-size: 12px; }
}

@media (max-width: 940px) {
	.st-hd__menu-btn { display: inline-flex; }

	.st-hd__linha { gap: 12px; --st-hd-altura: 58px; }

	.st-hd__marca { margin-right: auto; }

	/* O painel usa uma cor própria, definida no painel do tema. Herdar o
	   fundo daqui daria transparente, porque o pai imediato é o container,
	   que não tem fundo — era o que fazia o texto se sobrepor à página. */
	.st-hd__nav {
		position: absolute;
		top: 100%;
		left: 0; right: 0;
		display: none;
		background: var(--st-menu-mobile-bg, #fff);
		color: var(--st-menu-mobile-cor, #321866);
		border-top: 1px solid var(--st-menu-mobile-borda, #E4DEF2);
		box-shadow: 0 18px 40px rgba(0,0,0,.22);
		max-height: 74vh;
		overflow-y: auto;
		padding-block: 6px;
	}
	.st-hd__nav.is-open { display: block; }

	.st-hd__menu { flex-direction: column; align-items: stretch; }
	.st-hd__menu li { display: block; }
	.st-hd__menu > li + li::before { display: none; }
	.st-hd__menu > li { border-top: 1px solid var(--st-menu-mobile-borda, #E4DEF2); }
	.st-hd__menu > li:first-child { border-top: 0; }
	.st-hd__menu a {
		padding: 14px 20px;
		font-size: 13px;
		opacity: 1;
		color: var(--st-menu-mobile-cor, #321866);
	}
	.st-hd__menu a:hover,
	.st-hd__menu .current-menu-item > a { color: var(--st-menu-mobile-ativo, #7137E6); }

	.st-hd__menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
		box-shadow: none;
		border-radius: 0;
		background: var(--st-menu-mobile-sub, #F5F2FB);
		padding: 0;
	}
	.st-hd__menu li.is-open > .sub-menu { display: block; }
	.st-hd__menu .sub-menu a { padding-left: 34px; color: var(--st-menu-mobile-cor, #321866); }
	.st-hd__menu .sub-menu li { border-top: 1px solid var(--st-menu-mobile-borda, #E4DEF2); }

	/* Cada modelo mantém a própria cor no painel aberto. */
	.st-hd--uefb .st-hd__nav,
	.st-hd--contraste .st-hd__nav { border-top-color: rgba(255,255,255,.16); }

	.st-hd__nav-cta { border-top: 1px solid var(--st-menu-mobile-borda, #E4DEF2); }

	.st-hd__menu .menu-item-has-children > a { position: relative; padding-right: 44px; }
	.st-hd__menu .menu-item-has-children > a::after {
		content: "";
		position: absolute;
		right: 22px; top: 50%;
		width: 7px; height: 7px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-70%) rotate(45deg);
		opacity: .6;
	}
	.st-hd__menu li.is-open > a::after { transform: translateY(-20%) rotate(-135deg); }

	.st-hd__nav-cta { padding: 14px 20px 18px; }
	.st-hd__nav-cta .st-hd__cta { width: 100%; }

	.st-hd--centro .st-hd__linha { padding-top: 0; }
	.st-hd--centro .st-hd__marca { margin-inline: 0 auto; order: 1; }
	.st-hd--centro .st-hd__acoes { position: static; order: 2; }
	.st-hd--centro .st-hd__nav { flex: initial; border-top: 0; padding-top: 6px; }

	.st-hd__cta--menu,
	.st-hd__cta--oculto { display: none; }
	.st-hd__acoes .st-hd__cta { padding: 9px 16px; font-size: 11px; }
}

@media (max-width: 420px) {
	.st-hd__acoes .st-hd__cta { padding: 8px 12px; font-size: 10px; letter-spacing: .03em; }
	.st-hd__busca-btn { width: 32px; height: 32px; }
	.st-hd__busca-btn svg { width: 19px; height: 19px; }
}

/* Barra de anúncio ------------------------------------------------------ */

.st-anuncio {
	background: linear-gradient(100deg, var(--st-anuncio-bg), var(--st-anuncio-bg2));
	color: var(--st-anuncio-cor);
	font-family: var(--st-anuncio-font);
	font-size: var(--st-anuncio-fs);
	font-weight: var(--st-anuncio-peso);
	text-transform: var(--st-anuncio-caixa);
	letter-spacing: .02em;
	position: relative;
	z-index: 40;
	overflow: hidden;
}

.st-anuncio__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-block: var(--st-anuncio-pad);
	padding-inline: 16px;
}

/* A janela recorta; a trilha é movida por JavaScript, em pixels. Sem
   @keyframes, sem mask-image e sem largura calculada no servidor: se o
   script não rodar, o conteúdo continua legível, apenas parado. */
.st-anuncio__janela {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.st-anuncio__trilha {
	display: flex;
	align-items: center;
	width: max-content;
	max-width: none;
	will-change: transform;
}

.st-anuncio--estatico .st-anuncio__janela { display: flex; justify-content: center; }
.st-anuncio--estatico .st-anuncio__trilha { width: auto; flex-wrap: wrap; justify-content: center; }

.st-anuncio__unidade {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	flex: 0 0 auto;
}

.st-anuncio a { color: var(--st-anuncio-link); text-decoration: none; }
.st-anuncio a:hover { color: var(--st-anuncio-cor); }

.st-anuncio__sep {
	font-style: normal;
	color: var(--st-anuncio-sep);
	padding-inline: 22px;
}

.st-anuncio__fechar {
	flex: 0 0 auto;
	background: transparent;
	border: 0;
	color: inherit;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	opacity: .75;
	padding: 0 4px;
}
.st-anuncio__fechar:hover { opacity: 1; }

@media (max-width: 680px) {
	.st-anuncio__sep { padding-inline: 14px; }
	.st-anuncio__inner { padding-inline: 12px; }
}

/* Faixa de título e trilha ---------------------------------------------- */

.st-page-hero {
	background-color: var(--st-primary);
	background-size: cover;
	background-position: center;
	color: #fff;
	padding-block: 64px;
}
.st-page-hero__title { color: #fff; margin: 0; }
.st-page-hero__subtitle { margin: 12px 0 0; color: rgba(255,255,255,.82); max-width: 62ch; }

.st-breadcrumbs {
	background: var(--st-bg-alt);
	border-bottom: 1px solid var(--st-border);
	font-family: var(--st-font-ui);
	font-size: 13px;
	color: var(--st-muted);
}
.st-breadcrumbs .st-container { padding-block: 14px; }
.st-breadcrumbs__label { margin-right: 6px; }
.st-breadcrumbs__sep { padding-inline: 10px; color: var(--st-accent); font-size: 9px; vertical-align: middle; }

/* Cabeçalhos de seção --------------------------------------------------- */

.st-section-head { margin-bottom: 40px; }

.st-section-head__label {
	font-family: var(--st-font-ui);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--st-accent);
	margin: 0 0 10px;
}

.st-section-head__title { margin: 0; }
body.st-titles-uppercase .st-section-head__title { text-transform: uppercase; }

.st-section-head__rule {
	display: block;
	width: 68px;
	height: 3px;
	background: var(--st-accent-2);
	margin-top: 16px;
}

.st-section-head__desc { margin: 16px 0 0; color: var(--st-muted); max-width: 68ch; }
.st-section-head[style*="center"] .st-section-head__rule { margin-inline: auto; }
.st-section-head[style*="center"] .st-section-head__desc { margin-inline: auto; }

.st-section-head--standalone {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
}

/* Grades e cards -------------------------------------------------------- */

.st-grid {
	display: grid;
	grid-template-columns: repeat(var(--st-cols, 3), minmax(0, 1fr));
	gap: var(--st-gutter);
}

.st-grid-footer { margin-top: 40px; text-align: center; }

.st-card {
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.st-card:hover {
	box-shadow: var(--st-shadow);
	border-color: transparent;
}

.st-card__media {
	position: relative;
	display: block;
	background: var(--st-bg-alt);
	overflow: hidden;
}
.st-card__media img { width: 100%; transition: transform .5s ease; }
.st-card:hover .st-card__media img { transform: scale(1.04); }

.st-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 2;
	color: var(--st-border);
}

.st-card__badge {
	position: absolute;
	top: 14px; left: 14px;
	background: var(--st-accent-3);
	color: #16255A;
	font-family: var(--st-font-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 6px 10px;
	border-radius: 3px;
}

.st-card__date {
	position: absolute;
	top: 0; left: 20px;
	background: var(--st-primary);
	color: #fff;
	font-family: var(--st-font-ui);
	text-align: center;
	padding: 10px 12px 8px;
	line-height: 1;
}
.st-card__date strong { display: block; font-size: 20px; }
.st-card__date span { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }

.st-card__body {
	position: relative;
	padding: 26px 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.st-card__stripe {
	position: absolute;
	top: 0; left: 0;
	width: 68px;
	height: 4px;
	background: var(--st-accent-2);
}

.st-grid > .st-card:nth-child(3n+2) .st-card__stripe { background: var(--st-accent); }
.st-grid > .st-card:nth-child(3n+3) .st-card__stripe { background: var(--st-accent-3); }

.st-card__label {
	font-family: var(--st-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--st-accent);
	margin: 0;
}

.st-card__title {
	font-size: 20px;
	margin: 0;
	line-height: 1.3;
}
.st-card__title a { color: inherit; }
.st-card__title a:hover { color: var(--st-accent); }

.st-card__meta {
	margin: 0;
	font-family: var(--st-font-ui);
	font-size: 14px;
	color: var(--st-muted);
}
.st-card__meta a { color: var(--st-primary); }
.st-card__meta--secundaria { font-size: 13px; }
.st-card__meta--contagem { font-weight: 600; color: var(--st-accent-2); }

.st-card__excerpt { margin: 0; font-size: 15px; color: var(--st-text); }

.st-card__specs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-family: var(--st-font-ui);
	font-size: 12px;
}
.st-card__specs li {
	background: var(--st-bg-alt);
	border-radius: 30px;
	padding: 5px 12px;
	color: var(--st-primary);
}

.st-card__price {
	margin: 0;
	font-family: var(--st-font-ui);
	font-size: 22px;
	color: var(--st-primary);
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}
.st-card__price del { font-size: 15px; color: var(--st-muted); }
.st-card__parcelas { font-size: 13px; color: var(--st-muted); }

.st-card__link {
	margin-top: auto;
	font-family: var(--st-font-ui);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--st-accent);
}
.st-card__link svg { transition: transform .2s ease; }
.st-card__link:hover svg { transform: translateX(4px); }

.st-card__cta { justify-content: center; margin-top: auto; }

/* Variações de card */

.st-grid--capa .st-card__media img { aspect-ratio: 2 / 3; object-fit: cover; }
.st-grid--largo .st-card__media img { aspect-ratio: 3 / 2; object-fit: cover; }

.st-grid--lista .st-card {
	flex-direction: row;
	align-items: stretch;
}
.st-grid--lista .st-card__media { flex: 0 0 150px; }
.st-grid--lista .st-card__media img { height: 100%; object-fit: cover; }

.st-grid--foto-circulo .st-card { align-items: center; text-align: center; padding-top: 30px; }
.st-grid--foto-circulo .st-card__media {
	width: 140px; height: 140px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--st-bg-alt);
}
.st-grid--foto-circulo .st-card__media img { width: 100%; height: 100%; object-fit: cover; }
.st-grid--foto-circulo .st-card__body { align-items: center; text-align: center; }
.st-grid--foto-circulo .st-card__stripe { left: 50%; transform: translateX(-50%); }

.st-grid--foto-quadrado .st-card__media img { aspect-ratio: 1; object-fit: cover; }
.st-grid--foto-retrato .st-card__media img { aspect-ratio: 3 / 4; object-fit: cover; }

.st-grid--foto-horizontal .st-card { flex-direction: row; }
.st-grid--foto-horizontal .st-card__media { flex: 0 0 40%; }
.st-grid--foto-horizontal .st-card__media img { height: 100%; object-fit: cover; }

.st-grid--estilo-sobreposto .st-card { position: relative; border: 0; }
.st-grid--estilo-sobreposto .st-card__media img { aspect-ratio: 4 / 3; object-fit: cover; }
.st-grid--estilo-sobreposto .st-card__body {
	position: absolute;
	inset: auto 0 0 0;
	background: linear-gradient(to top, rgba(14,23,56,.94), rgba(14,23,56,0));
	color: #fff;
	padding-top: 60px;
}
.st-grid--estilo-sobreposto .st-card__title,
.st-grid--estilo-sobreposto .st-card__title a,
.st-grid--estilo-sobreposto .st-card__excerpt { color: #fff; }
.st-grid--estilo-sobreposto .st-card__label { color: var(--st-accent-3); }

.st-grid--estilo-icone .st-card__body { padding: 34px 28px; }

.st-social { list-style: none; display: flex; gap: 8px; margin: 4px 0 0; padding: 0; }
.st-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px; height: 32px;
	border-radius: 4px;
	background: var(--st-bg-alt);
	color: var(--st-primary);
}
.st-social a:hover { background: var(--st-accent); color: #fff; }

/* Destaque principal ---------------------------------------------------- */

.st-hero { position: relative; overflow: hidden; }
.st-hero__track { position: relative; }

.st-hero__slide {
	display: none;
	position: relative;
	min-height: 520px;
	background-color: var(--st-primary);
	background-size: cover;
	background-position: center;
	align-items: center;
}
.st-hero__slide.is-active { display: flex; }

.st-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(14,23,56,.72);
}

.st-hero__inner { position: relative; display: flex; width: 100%; }
.st-hero__content { max-width: 620px; color: #fff; padding-block: 60px; }

.st-hero__label {
	font-family: var(--st-font-ui);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--st-accent-3);
	margin: 0 0 14px;
}

.st-hero__title {
	color: #fff;
	font-size: clamp(32px, 4.6vw, 56px);
	line-height: 1.06;
	margin: 0 0 18px;
}

.st-hero__text { font-size: 1.1em; color: rgba(255,255,255,.86); margin-bottom: 30px; }
.st-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

.st-hero__dots {
	position: absolute;
	left: 0; right: 0; bottom: 24px;
	display: flex;
	justify-content: center;
	gap: 10px;
}
.st-hero__dot {
	width: 11px; height: 11px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,.7);
	background: transparent;
	cursor: pointer;
	padding: 0;
}
.st-hero__dot.is-active { background: #fff; }

/* Chamada para ação ----------------------------------------------------- */

.st-cta {
	position: relative;
	background: var(--st-primary);
	background-size: cover;
	background-position: center;
	color: #fff;
}
.st-cta__overlay { position: absolute; inset: 0; }
.st-cta__inner {
	position: relative;
	padding: 60px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.st-cta--centro .st-cta__inner { flex-direction: column; text-align: center; }
.st-cta__title { color: #fff; margin: 0 0 10px; }
.st-cta__text { color: rgba(255,255,255,.85); margin: 0; max-width: 60ch; }
.st-cta__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Números --------------------------------------------------------------- */

.st-grid--numeros { gap: 20px; }
.st-number {
	background: var(--st-bg-alt);
	padding: 34px 24px;
	border-radius: var(--st-radius);
	text-align: center;
	border-top: 4px solid var(--st-accent);
}
.st-grid--numeros > .st-number:nth-child(2n) { border-top-color: var(--st-accent-2); }
.st-grid--numeros > .st-number:nth-child(3n) { border-top-color: var(--st-accent-3); }

.st-number__value {
	font-family: var(--st-font-title);
	font-size: 44px;
	font-weight: 800;
	color: var(--st-primary);
	line-height: 1;
	margin: 0 0 10px;
}
.st-number__suffix { color: var(--st-accent); }
.st-number__label { margin: 0; color: var(--st-muted); font-size: 15px; }

/* Depoimentos ----------------------------------------------------------- */

.st-quote {
	position: relative;
	margin: 0;
	background: var(--st-bg-alt);
	padding: 34px 30px 28px;
	border-radius: var(--st-radius);
}
.st-quote__mark {
	position: absolute;
	top: 0; left: 30px;
	width: 40px; height: 40px;
	background: var(--st-accent);
	color: #fff;
	font-size: 30px;
	line-height: 44px;
	text-align: center;
	border-radius: 0 0 4px 4px;
}
.st-quote__text {
	margin: 30px 0 22px;
	font-size: 1.05em;
	border: 0;
	padding: 0;
	background: none;
}
.st-quote__author { display: flex; align-items: center; gap: 14px; }
.st-quote__avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.st-quote__name { display: block; font-family: var(--st-font-ui); font-weight: 700; color: var(--st-primary); }
.st-quote__role { display: block; font-size: 14px; color: var(--st-accent-2); }

/* Perguntas frequentes -------------------------------------------------- */

.st-faq { display: flex; flex-direction: column; gap: 14px; }
.st-faq__item {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	overflow: hidden;
}
.st-faq__question {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 16px;
	background: none;
	border: 0;
	text-align: left;
	font-family: var(--st-font-title);
	font-size: 17px;
	font-weight: 700;
	color: var(--st-primary);
	padding: 20px 24px;
	cursor: pointer;
}
.st-faq__icon {
	position: relative;
	flex: 0 0 32px;
	width: 32px; height: 32px;
	background: var(--st-accent-2);
	border-radius: 4px;
}
.st-faq__icon::before,
.st-faq__icon::after {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%,-50%);
	background: #fff;
}
.st-faq__icon::before { width: 14px; height: 2px; }
.st-faq__icon::after { width: 2px; height: 14px; transition: transform .2s ease; }
.st-faq__item.is-open .st-faq__icon::after { transform: translate(-50%,-50%) scaleY(0); }
.st-faq__answer { padding: 0 24px 22px 72px; }

/* Linha do tempo -------------------------------------------------------- */

.st-timeline { position: relative; display: flex; flex-direction: column; gap: 26px; }
.st-timeline::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	width: 2px;
	background: var(--st-border);
}
.st-timeline--alternado::before { left: 50%; transform: translateX(-50%); }
.st-timeline--lateral::before { left: 8px; }

.st-timeline__item { position: relative; width: 50%; }
.st-timeline--alternado .st-timeline__item:nth-child(odd) { padding-right: 46px; }
.st-timeline--alternado .st-timeline__item:nth-child(even) { margin-left: 50%; padding-left: 46px; }
.st-timeline--lateral .st-timeline__item { width: 100%; padding-left: 46px; }

.st-timeline__dot {
	position: absolute;
	top: 26px;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: var(--st-accent-2);
	border: 3px solid var(--st-bg);
}
.st-timeline--alternado .st-timeline__item:nth-child(odd) .st-timeline__dot { right: -7px; }
.st-timeline--alternado .st-timeline__item:nth-child(even) .st-timeline__dot { left: -7px; }
.st-timeline--lateral .st-timeline__dot { left: 2px; }

.st-timeline__box {
	background: var(--st-bg-alt);
	padding: 26px 28px;
	border-radius: var(--st-radius);
}
.st-timeline__year {
	display: inline-block;
	background: var(--st-primary);
	color: #fff;
	font-family: var(--st-font-ui);
	font-weight: 700;
	letter-spacing: .06em;
	padding: 6px 14px;
	border-radius: 3px;
	margin-bottom: 14px;
}
.st-timeline__title { font-size: 19px; margin: 0 0 8px; }
.st-timeline__text { margin: 0; color: var(--st-text); }

/* Conteúdo, barra lateral e widgets ------------------------------------- */

.st-main { padding-block: 60px; }

.st-layout {
	display: grid;
	grid-template-columns: minmax(0,1fr) 330px;
	gap: 50px;
	align-items: start;
}
.st-layout--esquerda { grid-template-columns: 330px minmax(0,1fr); }
.st-layout--esquerda .st-content { order: 2; }
.st-layout--esquerda .st-sidebar { order: 1; }
.st-layout--sem-sidebar { grid-template-columns: minmax(0,1fr); }

.st-content > * + * { margin-top: 1.2em; }
.st-content img { border-radius: var(--st-radius); }

.st-sidebar .widget {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	padding: 26px 24px;
	margin-bottom: 26px;
}
.st-sidebar .widget-title {
	font-size: 18px;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--st-border);
	position: relative;
}
.st-sidebar .widget-title::after {
	content: "";
	position: absolute;
	left: 0; bottom: -2px;
	width: 54px; height: 2px;
	background: var(--st-accent);
}
.st-sidebar ul { list-style: none; margin: 0; padding: 0; }
.st-sidebar li + li { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--st-border); }

/* Fichas de conteúdo ---------------------------------------------------- */

.st-single-livro__grid,
.st-single-perfil__grid {
	display: grid;
	grid-template-columns: 320px minmax(0,1fr);
	gap: 46px;
	align-items: start;
}

.st-ficha {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	border-top: 1px solid var(--st-border);
	font-family: var(--st-font-ui);
	font-size: 15px;
}
.st-ficha li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 0;
	border-bottom: 1px solid var(--st-border);
}
.st-ficha span:first-child { color: var(--st-muted); }
.st-ficha span:last-child { font-weight: 600; color: var(--st-primary); text-align: right; }

.st-preco-bloco {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	padding: 26px;
	margin-top: 26px;
	text-align: center;
}
.st-preco-bloco__valor {
	font-family: var(--st-font-title);
	font-size: 34px;
	font-weight: 800;
	color: var(--st-primary);
	margin: 0 0 6px;
}
.st-preco-bloco .st-btn { width: 100%; justify-content: center; margin-top: 16px; }

.st-lista-simples { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.st-lista-simples li { position: relative; padding-left: 28px; }
.st-lista-simples li::before {
	content: "";
	position: absolute;
	left: 0; top: .55em;
	width: 12px; height: 12px;
	border-radius: 50%;
	border: 3px solid var(--st-accent-2);
}

.st-modulos { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: modulo; }
.st-modulos li {
	background: var(--st-bg-alt);
	border-left: 4px solid var(--st-accent);
	border-radius: var(--st-radius);
	padding: 18px 22px;
	counter-increment: modulo;
}
.st-modulos strong { display: block; font-family: var(--st-font-title); color: var(--st-primary); }
.st-modulos strong::before { content: counter(modulo) ". "; color: var(--st-accent); }

.st-aviso {
	background: var(--st-accent-soft);
	border-radius: var(--st-radius);
	padding: 16px 20px;
	font-size: 15px;
	color: var(--st-primary);
	margin-top: 20px;
}

/* Publicações de membros: ficção e não ficção --------------------------- */

.st-card__badge--ficcao { background: var(--st-accent); color: #fff; }
.st-card__badge--naoficcao { background: var(--st-accent-2); color: #fff; }

.st-card__estrelas { margin: 2px 0; }

.st-pub__grade {
	display: grid;
	grid-template-columns: minmax(0,1fr) 300px;
	gap: 50px;
	align-items: start;
}

.st-pub__meta {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 22px;
	font-family: var(--st-font-ui);
}

.st-pub__badge {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 30px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.st-pub__badge--ficcao { background: var(--st-accent-soft); color: var(--st-accent); }
.st-pub__badge--naoficcao { background: rgba(18,184,134,.14); color: #0B6B4E; }

.st-pub__serie { font-size: 14px; color: var(--st-muted); }
.st-pub__views { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--st-muted); margin-left: auto; }

.st-pub__capa { margin: 0 0 26px; }
.st-pub__capa img { border-radius: var(--st-radius); width: 100%; }

.st-pub__nota { margin-bottom: 20px; }

.st-referencias { margin-top: 40px; background: var(--st-bg-alt); border-radius: var(--st-radius); padding: 24px 26px; }
.st-referencias h2 { margin-top: 0; }
.st-referencias ol { margin: 0; padding-left: 20px; }
.st-referencias li { margin-bottom: 8px; font-size: 14px; color: var(--st-text); }

/* Estrelas ---------------------------------------------------------------*/

.st-estrelas { display: inline-flex; align-items: center; gap: 2px; color: var(--st-accent-3); }
.st-estrela { width: 18px; height: 18px; }
.st-estrelas__numero { margin-left: 8px; font-family: var(--st-font-ui); font-size: 14px; font-weight: 700; color: var(--st-title); }

/* Votação ------------------------------------------------------------------*/

.st-voto {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--st-primary-soft);
	border-radius: var(--st-radius);
	padding: 18px 22px;
	margin: 34px 0;
	flex-wrap: wrap;
}
.st-voto__botao {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--st-accent);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 11px 22px;
	font-family: var(--st-font-ui);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: background-color .2s ease, transform .15s ease;
}
.st-voto__botao:hover { background: var(--st-primary); }
.st-voto__botao:disabled { background: var(--st-muted); cursor: default; }
.st-voto.is-votado .st-voto__botao { background: var(--st-accent-2); }
.st-voto__contagem { font-family: var(--st-font-ui); font-size: 14px; color: var(--st-muted); }
.st-voto__contagem strong { color: var(--st-title); }

/* Compartilhamento ---------------------------------------------------------*/

.st-compartilhar { display: flex; align-items: center; gap: 14px; margin: 30px 0; flex-wrap: wrap; }
.st-compartilhar__rotulo { font-family: var(--st-font-ui); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--st-muted); }
.st-compartilhar__lista { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
.st-compartilhar__lista a,
.st-compartilhar__copiar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--st-bg-alt);
	color: var(--st-primary);
	border: 0;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.st-compartilhar__lista a:hover,
.st-compartilhar__copiar:hover { background: var(--st-accent); color: #fff; }
.st-compartilhar__copiar.is-copiado { background: var(--st-accent-2); color: #fff; }

/* Série de ficção -----------------------------------------------------------*/

.st-serie__lista { list-style: none; margin: 12px 0 0; padding: 0; counter-reset: cap; }
.st-serie__lista li { counter-increment: cap; padding: 8px 0; border-bottom: 1px dashed var(--st-border); font-size: 14px; }
.st-serie__lista li:last-child { border-bottom: 0; }
.st-serie__lista li::before { content: counter(cap) ". "; color: var(--st-accent); font-weight: 700; }
.st-serie__lista li.is-atual a { color: var(--st-accent); font-weight: 700; }

.st-pub__navegacao-capitulos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 16px;
	margin-top: 30px;
}
.st-pub__nav-item {
	display: block;
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	padding: 16px 18px;
}
.st-pub__nav-item span { display: block; font-family: var(--st-font-ui); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--st-muted); margin-bottom: 4px; }
.st-pub__nav-item strong { color: var(--st-primary); }
.st-pub__nav-item--proximo { text-align: right; }

@media (max-width: 900px) {
	.st-pub__grade { grid-template-columns: minmax(0,1fr); }
	.st-pub__navegacao-capitulos { grid-template-columns: minmax(0,1fr); }
	.st-pub__nav-item--proximo { text-align: left; }
}

/* Página de curso -------------------------------------------------------- */

.st-curso__grid {
	display: grid;
	grid-template-columns: 320px minmax(0,1fr);
	gap: 46px;
	align-items: start;
}

.st-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: var(--st-radius);
	overflow: hidden;
	background: var(--st-primary-dark);
	margin-bottom: 30px;
}
.st-video iframe,
.st-video object,
.st-video embed,
.st-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.st-preco {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius-lg);
	border-top: 4px solid var(--st-accent);
	padding: 28px 30px;
	margin-bottom: 34px;
}

.st-preco__grid {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(0,1fr);
	gap: 26px;
	align-items: center;
}

.st-preco__rotulo {
	font-family: var(--st-font-ui);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--st-muted);
	margin: 0 0 6px;
}
.st-preco__antigo { margin: 0; color: var(--st-muted); font-size: 15px; }
.st-preco__valor {
	font-family: var(--st-font-title);
	font-size: 38px;
	font-weight: 800;
	color: var(--st-primary);
	line-height: 1.05;
	margin: 0;
}
.st-preco__parcelas { margin: 6px 0 0; font-size: 14px; color: var(--st-muted); }
.st-preco__acao { display: flex; flex-direction: column; gap: 10px; }
.st-preco__acao .st-btn { width: 100%; justify-content: center; }
.st-preco__nota { margin: 0; font-size: 13px; color: var(--st-muted); text-align: center; }

.st-curso__specs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 2px;
	background: var(--st-border);
	border-radius: var(--st-radius);
	overflow: hidden;
}
.st-curso__specs li {
	background: var(--st-bg-alt);
	padding: 16px 18px;
	font-family: var(--st-font-ui);
}
.st-curso__specs span {
	display: block;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--st-muted);
	margin-bottom: 4px;
}
.st-curso__specs strong { color: var(--st-primary); font-size: 15px; }

.st-aulas { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: aula; }
.st-aulas li {
	background: var(--st-bg-alt);
	border-left: 4px solid var(--st-accent);
	border-radius: var(--st-radius);
	padding: 18px 22px;
	counter-increment: aula;
}
.st-aulas__titulo {
	display: block;
	font-family: var(--st-font-title);
	font-weight: 700;
	color: var(--st-primary);
	margin-bottom: 4px;
}
.st-aulas__titulo::before { content: counter(aula) ". "; color: var(--st-accent); }
.st-aulas__desc { display: block; font-size: 15px; color: var(--st-text); }

.st-professor {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	padding: 22px 24px;
	margin-bottom: 22px;
}

/* Layout compartilhado das publicações de membros ----------------------- */

.st-pub__layout {
	display: grid;
	grid-template-columns: minmax(0,1fr) 320px;
	gap: 54px;
	align-items: start;
	padding-block: 60px;
}

.st-pub__principal { min-width: 0; }

.st-pub__meta {
	display: flex;
	align-items: center;
	gap: 18px;
	font-family: var(--st-font-ui);
	font-size: 13px;
	color: var(--st-muted);
	margin-bottom: 30px;
	flex-wrap: wrap;
}

.st-pub__views { display: inline-flex; align-items: center; gap: 6px; }
.st-pub__capa { margin: 0 0 30px; }
.st-pub__capa img { border-radius: var(--st-radius); width: 100%; }

.st-pub__acoes-topo { display: flex; justify-content: flex-end; margin-bottom: 20px; }

/* Selos de procedência ----------------------------------------------------*/

.st-pub__selos { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.st-pub__selo {
	display: inline-flex;
	align-items: center;
	padding: 5px 14px;
	border-radius: 30px;
	font-family: var(--st-font-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.st-pub__selo--inedito { background: var(--st-accent-soft); color: var(--st-accent); }
.st-pub__selo--traducao { background: rgba(245,166,35,.16); color: #8A5A00; }
.st-pub__selo--republicacao { background: rgba(107,115,145,.15); color: var(--st-muted); }
.st-pub__procedencia-nota { font-size: 14px; color: var(--st-muted); margin: 0 0 26px; }
.st-pub__procedencia-nota strong { color: var(--st-title); }

.st-pub__referencia-texto { font-size: 13px; line-height: 1.6; color: var(--st-text); margin: 0 0 12px; }

/* Card badges nas listagens */
.st-card__badge--traducao { background: var(--st-accent-3); color: #16255A; }
.st-card__badge--inedito { background: var(--st-accent); color: #fff; }
.st-card__badge--republicacao { background: rgba(255,255,255,.85); color: #16255A; }

/* Barra lateral das publicações -------------------------------------------*/

.st-pub__sidebar { display: flex; flex-direction: column; gap: 22px; }

.st-pub__widget {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	padding: 22px 22px 24px;
}

.st-pub__widget-titulo {
	font-family: var(--st-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--st-accent);
	margin: 0 0 14px;
}

.st-pub__widget--referencia { background: var(--st-primary-soft); border-top: 3px solid var(--st-primary); }
.st-pub__copiar-referencia {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--st-primary);
	color: #fff;
	border: 0;
	border-radius: 30px;
	padding: 9px 16px;
	font-family: var(--st-font-ui);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
}
.st-pub__copiar-referencia.is-copiado { background: var(--st-accent-2); }

.st-pub__widget--autor { text-align: center; }
.st-pub__autor-foto { display: block; width: 96px; height: 96px; margin: 0 auto 14px; border-radius: 50%; overflow: hidden; }
.st-pub__autor-foto img { width: 100%; height: 100%; object-fit: cover; }
.st-pub__autor-nome { font-size: 18px; margin: 0 0 4px; }
.st-pub__autor-chamada { font-size: 13px; color: var(--st-muted); margin: 0 0 10px; }
.st-pub__autor-bio { font-size: 14px; text-align: left; margin: 0 0 14px; }
.st-pub__widget--autor .st-social { justify-content: center; margin-bottom: 14px; }
.st-pub__autor-link { font-family: var(--st-font-ui); font-size: 13px; font-weight: 700; color: var(--st-accent); }

.st-pub__lista-links { list-style: none; margin: 0; padding: 0; counter-reset: pub; }
.st-pub__lista-links li { padding: 9px 0; border-bottom: 1px dashed var(--st-border); font-size: 14px; }
.st-pub__lista-links li:last-child { border-bottom: 0; }
.st-pub__lista-links--numerada { counter-reset: maislidos; }
.st-pub__lista-links--numerada li { counter-increment: maislidos; padding-left: 26px; position: relative; }
.st-pub__lista-links--numerada li::before {
	content: counter(maislidos);
	position: absolute;
	left: 0; top: 8px;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--st-accent-3);
	color: #16255A;
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.st-pub__widget--cta { background: var(--st-primary); color: #fff; }
.st-pub__widget--cta .st-pub__widget-titulo { color: var(--st-accent-3); }
.st-pub__widget--cta p { color: rgba(255,255,255,.85); font-size: 14px; margin-bottom: 16px; }
.st-pub__widget--cta .st-btn { width: 100%; justify-content: center; }

@media (max-width: 900px) {
	.st-pub__layout { grid-template-columns: minmax(0,1fr); padding-block: 40px; }
}

/* Ficção: visual de livro --------------------------------------------------*/

.st-ficcao__capa {
	position: relative;
	background: var(--st-ficcao-capa);
	color: #fff;
	padding-block: 70px;
	overflow: hidden;
}
.st-ficcao__capa-imagem { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .35; }
.st-ficcao__capa-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,23,56,.4), var(--st-primary-dark) 92%); }
.st-ficcao__capa-conteudo { position: relative; max-width: 760px; }

.st-ficcao__kicker {
	font-family: var(--st-font-deco);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--st-ficcao-dest);
	margin: 0 0 16px;
}
.st-ficcao__titulo {
	font-family: var(--st-font-title);
	color: #fff;
	font-size: clamp(34px, 5vw, 52px);
	line-height: 1.08;
	margin: 0 0 12px;
}
.st-ficcao__subtitulo,
.st-ficcao__subtitulo-livro { font-size: 18px; color: rgba(255,255,255,.78); font-style: italic; margin: 0 0 16px; }
.st-ficcao__autoria { font-family: var(--st-font-ui); font-size: 14px; color: rgba(255,255,255,.7); margin: 0; }
.st-ficcao__autoria a { color: #fff; font-weight: 600; }

.st-ficcao__texto {
	font-family: var(--st-ficcao-font);
	font-size: var(--st-ficcao-fs, 21px);
	line-height: var(--st-ficcao-lh, 1.85);
	color: var(--st-ficcao-cor);
	max-width: var(--st-leitura-largura, 72ch);
}
.st-ficcao__texto p { margin: 0 0 1.6em; text-align: var(--st-leitura-align, left); hyphens: auto; }
.st-ficcao--capitular .st-ficcao__texto > p:first-of-type::first-letter {
	font-family: var(--st-font-title);
	font-size: 64px;
	font-weight: 800;
	float: left;
	line-height: .8;
	padding: 8px 10px 0 0;
	color: var(--st-accent);
}

/* Não ficção: visual acadêmico ---------------------------------------------*/

.st-naoficcao__cabecalho { background: var(--st-naoficcao-cabecalho); border-bottom: 3px solid var(--st-naoficcao-dest); padding-block: 56px; }
.st-naoficcao__kicker {
	font-family: var(--st-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--st-accent-2);
	margin: 0 0 14px;
}
.st-naoficcao__titulo { font-size: clamp(30px, 4.4vw, 44px); max-width: 900px; margin: 0 0 10px; }
.st-naoficcao__subtitulo { font-size: 19px; color: var(--st-muted); max-width: 800px; margin: 0 0 22px; }
.st-naoficcao__linha-autoria {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	font-family: var(--st-font-ui);
	font-size: 14px;
	color: var(--st-muted);
	padding-top: 18px;
	border-top: 1px solid var(--st-border);
}
.st-naoficcao__linha-autoria a { color: var(--st-primary); font-weight: 600; }
.st-naoficcao__data { color: var(--st-muted); }

.st-naoficcao__texto {
	font-family: var(--st-naoficcao-font);
	font-size: var(--st-naoficcao-fs, 20px);
	line-height: var(--st-naoficcao-lh, 1.8);
	color: var(--st-naoficcao-cor);
	max-width: var(--st-leitura-largura, 72ch);
}
.st-naoficcao__texto p { margin: 0 0 1.4em; text-align: var(--st-leitura-align, left); }
.st-naoficcao__texto h2 {
	font-size: 24px;
	margin-top: 2em;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--st-naoficcao-dest);
}
.st-naoficcao__texto h3 { font-size: 20px; margin-top: 1.6em; }
.st-naoficcao__texto blockquote { font-size: 17px; }

.st-naoficcao__pdf { font-size: 13px; }

@media (max-width: 640px) {
	.st-ficcao__capa { padding-block: 44px; }
	.st-naoficcao__cabecalho { padding-block: 36px; }
	.st-ficcao__texto, .st-naoficcao__texto { font-size: 18px; }
}

/* Artigo individual ------------------------------------------------------ */

.st-artigo__grade {
	display: grid;
	grid-template-columns: minmax(0,1fr) 330px;
	gap: 56px;
	align-items: start;
}
.st-artigo__grade--esquerda { grid-template-columns: 330px minmax(0,1fr); }
.st-artigo__grade--esquerda .st-artigo { order: 2; }
.st-artigo__grade--esquerda .st-lateral { order: 1; }
.st-artigo__grade--sem-lateral { grid-template-columns: minmax(0,1fr); }

.st-artigo { min-width: 0; }
.st-artigo__capa { margin: 0 0 30px; }
.st-artigo__capa img { width: 100%; border-radius: var(--st-radius); display: block; }

.st-artigo__cabecalho { display: flex; gap: 22px; align-items: flex-start; margin-bottom: 30px; }

.st-artigo__data {
	flex: 0 0 auto;
	text-align: center;
	font-family: var(--st-font-deco);
	line-height: 1;
	padding-right: 22px;
	border-right: 1px solid var(--st-border);
}
.st-artigo__data strong { display: block; font-size: 40px; font-weight: 700; color: var(--st-artigo-dest); }
.st-artigo__data span { display: block; margin-top: 6px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--st-muted); }

.st-artigo__titulo-bloco { min-width: 0; }
.st-artigo__titulo { font-size: clamp(26px, 3vw, 36px); margin: 0 0 12px; line-height: 1.18; color: var(--st-artigo-titulo); }

.st-artigo__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	font-family: var(--st-font-ui);
	font-size: 13px;
	color: var(--st-muted);
}
.st-artigo__meta span { display: inline-flex; align-items: center; gap: 7px; }
.st-artigo__meta svg { opacity: .6; }
.st-artigo__meta a { color: var(--st-muted); }
.st-artigo__meta a:hover { color: var(--st-accent); }

.st-artigo__texto {
	font-family: var(--st-artigo-font);
	font-size: var(--st-artigo-fs, 19px);
	line-height: var(--st-artigo-lh, 1.75);
	color: var(--st-artigo-cor);
	max-width: var(--st-leitura-largura, 72ch);
}
.st-artigo__texto p { text-align: var(--st-leitura-align, left); }
.st-artigo__texto h2 { font-size: 25px; margin-top: 1.7em; }
.st-artigo__texto h3 { font-size: 20px; margin-top: 1.5em; }

.st-artigo__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 0; }
.st-artigo__tags a {
	background: var(--st-primary);
	color: #fff;
	font-family: var(--st-font-ui);
	font-size: 12px;
	font-weight: 600;
	padding: 7px 15px;
	border-radius: 4px;
}
.st-artigo__tags a:hover { background: var(--st-accent); }

.st-artigo__navegacao {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 16px;
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid var(--st-border);
}
.st-artigo__nav-item { display: block; }
.st-artigo__nav-item span {
	display: block;
	font-family: var(--st-font-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--st-accent);
	margin-bottom: 5px;
}
.st-artigo__nav-item strong { color: var(--st-title); font-size: 15px; }
.st-artigo__nav-item:hover strong { color: var(--st-accent); }
.st-artigo__nav-item--proximo { text-align: right; grid-column: 2; }

/* Barra lateral do artigo -------------------------------------------------*/

.st-lateral { min-width: 0; display: flex; flex-direction: column; gap: 26px; }

.st-lateral__bloco { position: relative; }
.st-lateral__titulo {
	position: relative;
	font-size: 19px;
	margin: 0 0 18px;
	padding-top: 16px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.st-lateral__titulo::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 1px;
	background: var(--st-border);
}
.st-lateral__titulo::after {
	content: "";
	position: absolute;
	top: -4px; left: 0;
	width: 9px; height: 9px;
	border-radius: 50%;
	background: var(--st-accent);
}

.st-lateral__noticias { list-style: none; margin: 0; padding: 0; }
.st-lateral__noticias li { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--st-border); }
.st-lateral__noticias li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.st-lateral__noticias a { display: block; font-family: var(--st-font-title); font-weight: 700; font-size: 15px; color: var(--st-title); line-height: 1.4; }
.st-lateral__noticias a:hover { color: var(--st-accent); }
.st-lateral__noticias time { display: flex; align-items: center; gap: 6px; margin-top: 7px; font-family: var(--st-font-ui); font-size: 12px; color: var(--st-muted); }

.st-lateral__categorias { list-style: none; margin: 0; padding: 0; }
.st-lateral__categorias li { position: relative; padding: 7px 0 7px 20px; }
.st-lateral__categorias li::before {
	content: "";
	position: absolute;
	left: 0; top: 15px;
	width: 7px; height: 7px;
	background: var(--st-accent);
	transform: rotate(45deg);
}
.st-lateral__categorias a { color: var(--st-text); font-family: var(--st-font-ui); font-size: 15px; }
.st-lateral__categorias a:hover { color: var(--st-accent); }

.st-lateral__bloco--cta {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	padding: 26px 24px 28px;
}
.st-lateral__bloco--cta .st-lateral__titulo { padding-top: 0; font-size: 18px; }
.st-lateral__bloco--cta .st-lateral__titulo::before,
.st-lateral__bloco--cta .st-lateral__titulo::after { display: none; }
.st-lateral__bloco--cta p { font-size: 15px; color: var(--st-text); margin-bottom: 20px; }
.st-lateral__bloco--cta .st-btn { width: 100%; justify-content: center; }

.st-lateral__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.st-lateral__tags a {
	background: var(--st-primary);
	color: #fff;
	font-family: var(--st-font-ui);
	font-size: 12px;
	padding: 8px 14px;
	border-radius: 4px;
}
.st-lateral__tags a:hover { background: var(--st-accent); }

/* Barras laterais fixas ("smart"): acompanham a rolagem sem deixar vazio. */
/* A lateral rola junto com a página e só prende quando chega ao fim do
   próprio conteúdo. O deslocamento do topo é calculado por JavaScript
   (--st-sticky-top) quando a lateral é mais alta que a tela; quando é mais
   baixa, ela simplesmente prende no topo. Sem rolagem interna. */
@media (min-width: 1025px) {
	.st-lateral,
	.st-pub__sidebar,
	.st-sidebar {
		position: sticky;
		top: var(--st-sticky-top, 24px);
		align-self: start;
	}
}

/* Página do membro --------------------------------------------------------*/

.st-membro__hero { position: relative; overflow: hidden; padding-block: 56px; }
.st-membro__hero-fundo {
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, var(--st-primary) 0%, var(--st-accent) 100%);
}
.st-membro__hero-inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 42px;
}

.st-membro__foto {
	flex: 0 0 auto;
	position: relative;
	width: 190px; height: 190px;
	padding: 0;
	border: 5px solid rgba(255,255,255,.9);
	border-radius: 50%;
	overflow: hidden;
	background: var(--st-bg-alt);
	cursor: zoom-in;
	box-shadow: 0 20px 50px rgba(0,0,0,.28);
}
.st-membro__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.st-membro__foto--vazia { display: flex; align-items: center; justify-content: center; color: var(--st-border); cursor: default; }
.st-membro__foto-lupa {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.45);
	color: #fff;
	opacity: 0;
	transition: opacity .2s ease;
}
.st-membro__foto:hover .st-membro__foto-lupa { opacity: 1; }

.st-membro__identidade { min-width: 0; color: #fff; }
.st-membro__selo {
	display: inline-block;
	background: rgba(255,255,255,.18);
	border: 1px solid rgba(255,255,255,.4);
	color: #fff;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 6px 16px;
	border-radius: 999px;
	margin-bottom: 14px;
}
.st-membro__selos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.st-membro__selos .st-membro__selo { margin-bottom: 0; }
.st-membro__selo--diretoria {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--st-accent-3);
	border-color: var(--st-accent-3);
	color: var(--st-primary-dark);
	font-weight: 700;
}

.st-membro__nome { color: #fff; font-size: clamp(30px, 4vw, 46px); margin: 0 0 6px; line-height: 1.1; }
.st-membro__pseudonimo { color: rgba(255,255,255,.75); font-style: italic; margin: 0 0 10px; }
.st-membro__chamada { color: rgba(255,255,255,.9); font-size: 18px; margin: 0 0 18px; max-width: 60ch; }

.st-membro__dados { list-style: none; display: flex; flex-wrap: wrap; gap: 20px; margin: 0 0 16px; padding: 0; font-family: var(--st-font-ui); font-size: 13px; color: rgba(255,255,255,.85); }
.st-membro__dados li { display: inline-flex; align-items: center; gap: 8px; }

.st-membro__generos { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; }
.st-membro__generos a {
	display: inline-block;
	background: rgba(255,255,255,.15);
	color: #fff;
	font-family: var(--st-font-ui);
	font-size: 12px;
	padding: 5px 13px;
	border-radius: 999px;
}
.st-membro__generos a:hover { background: #fff; color: var(--st-accent); }

.st-social--membro a { background: rgba(255,255,255,.16); color: #fff; }
.st-social--membro a:hover { background: #fff; color: var(--st-accent); }

.st-membro__corpo { padding-block: 56px; max-width: 880px; }
.st-membro__texto { font-size: clamp(17px, 1.25vw, 20px); }

.st-membro__publicacoes { margin-top: 46px; padding-top: 30px; border-top: 1px solid var(--st-border); }
.st-membro__publicacoes-titulo { font-size: 20px; margin: 0 0 22px; }
.st-membro__colunas { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px; }
.st-membro__coluna-titulo { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--st-accent); margin: 0 0 12px; }
.st-membro__lista { list-style: none; margin: 0; padding: 0; }
.st-membro__lista li { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; padding: 9px 0; border-bottom: 1px dashed var(--st-border); font-size: 15px; }
.st-membro__lista li:last-child { border-bottom: 0; }
.st-membro__lista span { font-family: var(--st-font-ui); font-size: 12px; color: var(--st-muted); white-space: nowrap; }

.st-membro__obras { margin-top: 52px; }

/* Ampliação da foto do membro. */
.st-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.88);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	z-index: 9999;
	cursor: zoom-out;
}
.st-lightbox img { max-width: 92vw; max-height: 92vh; border-radius: 8px; }
.st-lightbox__fechar {
	position: absolute;
	top: 18px; right: 22px;
	background: none;
	border: 0;
	color: #fff;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
}

@media (max-width: 1024px) {
	.st-artigo__grade,
	.st-artigo__grade--esquerda { grid-template-columns: minmax(0,1fr); gap: 46px; }
	.st-artigo__grade--esquerda .st-artigo,
	.st-artigo__grade--esquerda .st-lateral { order: initial; }
}

@media (max-width: 860px) {
	.st-membro__hero-inner { flex-direction: column; text-align: center; gap: 26px; }
	.st-membro__foto { width: 150px; height: 150px; }
	.st-membro__dados, .st-membro__generos, .st-social--membro { justify-content: center; }
	.st-membro__chamada { margin-inline: auto; }
	.st-membro__colunas { grid-template-columns: minmax(0,1fr); gap: 26px; }
	.st-membro__hero { padding-block: 40px; }
	.st-membro__corpo { padding-block: 40px; }
}

@media (max-width: 620px) {
	.st-artigo__cabecalho { flex-direction: column; gap: 14px; }
	.st-artigo__data { display: flex; align-items: baseline; gap: 10px; border-right: 0; padding-right: 0; }
	.st-artigo__data strong { font-size: 30px; }
	.st-artigo__data span { margin-top: 0; }
	.st-artigo__navegacao { grid-template-columns: minmax(0,1fr); }
	.st-artigo__nav-item--proximo { text-align: left; grid-column: 1; }
	.st-artigo__meta { gap: 12px; font-size: 12px; }
}

/* Paginação, formulários e comentários ---------------------------------- */

.st-pagination { margin-top: 50px; }
.st-pagination ul { list-style: none; display: flex; gap: 8px; padding: 0; margin: 0; justify-content: center; }
.st-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding-inline: 12px;
	background: var(--st-bg-alt);
	color: var(--st-primary);
	font-family: var(--st-font-ui);
	font-weight: 600;
	border-radius: var(--st-radius);
}
.st-pagination .page-numbers.current,
.st-pagination .page-numbers:hover { background: var(--st-accent); color: #fff; }

input[type="text"], input[type="email"], input[type="url"], input[type="search"],
input[type="tel"], input[type="password"], input[type="number"], textarea, select {
	width: 100%;
	background: var(--st-bg-alt);
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	padding: 13px 16px;
	font: inherit;
	font-size: 15px;
	color: var(--st-text);
}
textarea { min-height: 150px; }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--st-accent); }

.st-comments { margin-top: 60px; }
.st-comments .comment-list { list-style: none; padding: 0; }
.st-comments .comment-body {
	background: var(--st-bg-alt);
	border-radius: var(--st-radius);
	padding: 22px 24px;
	margin-bottom: 18px;
}
.st-comments .children { list-style: none; padding-left: 34px; }
.form-submit input[type="submit"] {
	background: var(--st-btn-bg);
	color: var(--st-btn-color);
	border: 0;
	border-radius: var(--st-radius);
	padding: 14px 28px;
	font-family: var(--st-font-ui);
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
}

/* Rodapé ---------------------------------------------------------------- */

.st-footer {
	background: var(--st-footer-bg);
	color: var(--st-footer-text);
	font-size: 15px;
}
.st-footer a { color: var(--st-footer-link); }
.st-footer a:hover { color: var(--st-accent-3); }

.st-footer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding-block: 26px;
	border-bottom: 1px solid rgba(255,255,255,.12);
	font-family: var(--st-font-ui);
	font-size: 14px;
}
.st-footer__top-info { display: flex; gap: 26px; flex-wrap: wrap; }
.st-footer__top-info span { display: inline-flex; align-items: center; gap: 8px; }
.st-footer__logo img { height: 42px; }

.st-footer__cols {
	display: grid;
	grid-template-columns: repeat(var(--st-cols, 4), minmax(0,1fr));
	gap: 40px;
	padding-block: 52px;
}
.st-footer h2, .st-footer h3, .st-footer .widget-title {
	color: var(--st-footer-title);
	font-size: 17px;
	margin: 0 0 18px;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.st-footer ul { list-style: none; margin: 0; padding: 0; }
.st-footer li { margin-bottom: 10px; padding-left: 18px; position: relative; }
.st-footer li::before {
	content: "";
	position: absolute;
	left: 0; top: .62em;
	width: 7px; height: 7px;
	background: var(--st-accent-2);
	transform: rotate(45deg);
}
.st-footer .st-social a { background: rgba(255,255,255,.1); color: #fff; }
.st-footer .st-social li { padding-left: 0; margin-bottom: 0; }
.st-footer .st-social li::before { display: none; }
.st-footer__contato p { margin-bottom: .5em; }

.st-footer__bar {
	background: var(--st-bar-bg);
	padding-block: 20px;
	font-size: 14px;
}
.st-footer__bar .st-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

/* Rodapé simples, conforme o layout oficial ------------------------------ */

.st-footer--simples { background: var(--st-footer-bg, #000); }

.st-footer__simples {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-block: 26px;
	flex-wrap: wrap;
}

.st-footer__marca { flex: 0 0 auto; }
.st-footer__marca img { height: clamp(28px, 3vw, 38px); width: auto; }
.st-footer__marca-nome {
	font-family: var(--st-font-title);
	font-weight: 800;
	font-size: 20px;
	color: var(--st-footer-title, #fff);
}

.st-footer__copyright {
	flex: 1 1 auto;
	text-align: center;
	margin: 0;
	font-family: var(--st-font-ui);
	font-size: 13px;
	color: var(--st-footer-text);
}

/* Ícones sociais em quadrados arredondados roxos. */
.st-social--quadrados { gap: 10px; flex: 0 0 auto; }
.st-social--quadrados li { margin: 0; padding: 0; }
.st-social--quadrados li::before { display: none; }
.st-social--quadrados a {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--st-footer-social-bg, #7137E6);
	color: var(--st-footer-social-cor, #fff);
	transition: transform .18s ease, background-color .18s ease;
}
.st-social--quadrados a:hover {
	background: var(--st-accent-2);
	color: var(--st-primary-dark);
	transform: translateY(-3px);
}
.st-social--quadrados svg { width: 19px; height: 19px; }

@media (max-width: 780px) {
	.st-footer__simples { flex-direction: column; text-align: center; gap: 20px; padding-block: 30px; }
	.st-footer__copyright { order: 3; flex: none; }
	.st-social--quadrados { order: 2; justify-content: center; }
}

/* Responsivo ------------------------------------------------------------ */

@media (max-width: 1200px) {
	.st-nav a { padding: 12px 10px; font-size: 13px; }
	.st-header__search .st-search { width: 190px; }
}

@media (max-width: 1024px) {
	.st-layout, .st-layout--esquerda { grid-template-columns: minmax(0,1fr); }
	.st-layout--esquerda .st-content, .st-layout--esquerda .st-sidebar { order: initial; }
	.st-single-livro__grid, .st-single-perfil__grid { grid-template-columns: minmax(0,1fr); }
	.st-single-livro__aside { max-width: 420px; }
	.st-footer__cols { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.st-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.st-section { padding-block: 54px; }
}

@media (max-width: 940px) {
	.st-timeline--alternado::before { left: 8px; transform: none; }
	.st-timeline--alternado .st-timeline__item,
	.st-timeline--alternado .st-timeline__item:nth-child(even) {
		width: 100%;
		margin-left: 0;
		padding: 0 0 0 46px;
	}
	.st-timeline--alternado .st-timeline__item .st-timeline__dot { left: 2px; right: auto; }

	.st-topbar__item--texto { display: none; }
	.st-topbar__inner { justify-content: center; text-align: center; gap: 14px; min-height: 36px; }

	.st-anuncio { font-size: calc(var(--st-anuncio-fs) - 1px); }
	.st-anuncio__inner { padding-block: calc(var(--st-anuncio-pad) - 2px); }

	.st-curso__grid { grid-template-columns: minmax(0,1fr); }
	.st-curso__aside { order: 2; }
	.st-curso__main { order: 1; }
}

@media (max-width: 680px) {
	.st-grid { grid-template-columns: minmax(0,1fr) !important; }
	.st-footer__cols { grid-template-columns: minmax(0,1fr); gap: 32px; padding-block: 40px; }
	.st-footer__top { justify-content: center; text-align: center; }
	.st-footer__top-info { justify-content: center; gap: 16px; }
	.st-footer__bar .st-container { flex-direction: column; text-align: center; gap: 12px; }
	.st-footer .st-social { justify-content: flex-start; }

	.st-page-hero { padding-block: 40px; }
	.st-page-hero__title { font-size: clamp(26px, 7vw, 34px); }
	.st-hero__slide { min-height: 420px; }
	.st-hero__actions .st-btn { width: 100%; justify-content: center; }

	.st-grid--lista .st-card, .st-grid--foto-horizontal .st-card { flex-direction: column; }
	.st-grid--lista .st-card__media, .st-grid--foto-horizontal .st-card__media { flex: initial; }
	.st-grid--capa .st-card__media img { aspect-ratio: 3 / 4; }

	.st-preco__grid { grid-template-columns: minmax(0,1fr); }
	.st-curso__specs { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.st-cta__inner { padding: 40px 24px; text-align: center; }
	.st-cta__actions { width: 100%; flex-direction: column; }
	.st-cta__actions .st-btn { width: 100%; justify-content: center; }

	.st-section { padding-block: 42px; }
	.st-main { padding-block: 40px; }
	.st-faq__question { font-size: 16px; padding: 16px 18px; gap: 12px; }
	.st-faq__answer { padding: 0 18px 18px 58px; }
	.st-breadcrumbs { font-size: 12px; }
	.st-breadcrumbs .st-container { padding-block: 11px; }
	.st-number__value { font-size: 36px; }

	h1 { font-size: clamp(28px, 8vw, 38px); }
	h2 { font-size: clamp(24px, 6.5vw, 30px); }
}

@media (max-width: 420px) {
	.st-quote__author { flex-direction: column; align-items: flex-start; text-align: left; }
	.st-ficha li { flex-direction: column; gap: 2px; }
	.st-ficha span:last-child { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
