/**
 * Páginas de conteúdo do site (redesign, passo 10b — ecrãs 6a/6b/6c, 4b,
 * 12a–12d) e os componentes partilhados de parts/ (spec 13: LinhaJogo,
 * V/E/D, CartaoJogoNavy, PastilhaAoVivo, TabelaCompeticaoResumo, Pílulas,
 * Chevron, PesquisaGlobal).
 *
 * Folha à mão (como jogos.css e modalidades.css): só cores por token
 * (var(--sp-…, #recurso)), tipografia em passos inteiros, mobile-first
 * (docs/RESPONSIVO.md) — 16 px de margem no telemóvel, 24 no tablet, 1152 de
 * conteúdo no desktop.
 *
 * @package SuperPortistas
 */

/* ==========================================================================
   Base: contentor, rótulos, ligações «Ver tudo ›», cartões, botões
   ========================================================================== */

.sp-pg-wrap {
	width: 100%;
	max-width: calc(1152px + 32px);
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
}

.sp-pg-ico {
	flex: none;
	display: inline-block;
	vertical-align: middle;
}

/* Kicker (spec: 700 11 maiúsculas, 0,9 px): a tinta do kicker sobre branco. */
.sp-kicker {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font: 700 11px/13px 'Libre Franklin', sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sp-kicker-ink, #9a3412);
}

/* O quadrado laranja do destaque (6a, 12a): o laranja só como marca. */
.sp-kicker--marca::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 1px;
	background: var(--sp-accent, #ff8a3d);
	flex: none;
}

/* Rótulo de secção (kicker 700 11 na tinta secundária). */
.sp-pg-rotulo {
	margin: 0 0 8px;
	font: 700 11px/13px 'Libre Franklin', sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sp-ink-muted, #475569);
}

/* «Ver todos ›»: 600 13 porto, com o chevron (nunca «›» em texto). */
.sp-pg-mais {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font: 600 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-porto, #004b9b);
	text-decoration: none;
	white-space: nowrap;
}

.sp-pg-mais:hover {
	color: var(--sp-porto-hover, #003d7a);
	text-decoration: underline;
}

.sp-pg-mais .sp-pg-ico {
	margin-right: -4px;
}

/* Cartão branco com borda (raio 12). */
.sp-pg-cartao {
	background: var(--sp-surface, #fff);
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 12px;
	overflow: hidden;
}

.sp-pg-cartao__cab {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px 8px;
}

.sp-pg-cartao__titulo {
	margin: 0;
	font: 700 14px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-pg-cartao__titulo a {
	color: inherit;
	text-decoration: none;
}

.sp-pg-cartao__titulo a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-pg-cartao__rodape {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-height: 44px;
	border-top: 1px solid var(--sp-border, #dfe5ee);
	font: 600 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-porto, #004b9b);
	text-decoration: none;
}

.sp-pg-cartao__rodape:hover {
	background: var(--sp-surface-raised, #f8fafc);
}

.sp-pg-cartao__vazio {
	margin: 0;
	padding: 14px 16px;
	border-top: 1px solid var(--sp-border, #dfe5ee);
	font: 500 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

/* Cabeçalho das secções do corpo (serifado 22, «Ver todos ›» à direita). */
.sp-pg-seccao__cab {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.sp-pg-seccao__titulo {
	margin: 0;
	font: 700 18px/22px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-pg-seccao__titulo a {
	color: inherit;
	text-decoration: none;
}

.sp-pg-seccao__titulo a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-pg-seccao__accoes {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}

/* Botões (spec: primário 52/raio 12/700 16; compacto 36–40/raio 10/700 13). */
.sp-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 52px;
	padding: 0 20px;
	border: 0;
	border-radius: 12px;
	background: var(--sp-porto, #004b9b);
	color: #fff;
	font: 700 16px/1 'Libre Franklin', sans-serif;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.sp-botao:hover,
.sp-botao:focus-visible {
	background: var(--sp-porto-hover, #003d7a);
	color: #fff;
}

.sp-botao--compacto {
	min-height: 36px;
	padding: 0 14px;
	border-radius: 10px;
	font-size: 13px;
}

.sp-botao--contorno {
	background: var(--sp-surface, #fff);
	border: 1px solid var(--sp-border, #dfe5ee);
	color: var(--sp-porto, #004b9b);
}

.sp-botao--contorno:hover,
.sp-botao--contorno:focus-visible {
	background: var(--sp-porto-light, #e8f0fa);
	color: var(--sp-porto, #004b9b);
}

.sp-botao--largo {
	width: 100%;
}

/* Pílulas de filtro (spec: 32, 600 13, padding 0 14, gap 8; activa porto). */
.sp-pilulas {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sp-pilulas::-webkit-scrollbar {
	display: none;
}

.sp-pilula {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	padding: 0 14px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 9999px;
	background: var(--sp-surface, #fff);
	color: var(--sp-ink-body, #1e293b);
	font: 600 13px/1 'Libre Franklin', sans-serif;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.sp-pilula:hover {
	border-color: var(--sp-porto, #004b9b);
	color: var(--sp-porto, #004b9b);
}

.sp-pilula.is-activa,
.sp-pilula[aria-current='page'],
.sp-pilula[aria-pressed='true'] {
	background: var(--sp-porto, #004b9b);
	border-color: var(--sp-porto, #004b9b);
	color: #fff;
}

/* Avatar com iniciais e sigla de equipa (círculos). */
.sp-avatar {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--sp-porto-secondary, #0066cc);
	color: #fff;
	font: 700 13px/1 'Libre Franklin', sans-serif;
}

.sp-avatar--28 {
	width: 28px;
	height: 28px;
	font-size: 11px;
}

.sp-sigla {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--sp-porto-light, #e8f0fa);
	color: var(--sp-porto, #004b9b);
	font: 800 10px/1 'Libre Franklin', sans-serif;
	letter-spacing: 0.02em;
}

/* O botão de play redondo (44, branco sobre a imagem). */
.sp-play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 44px;
	height: 44px;
	margin: -22px 0 0 -22px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--sp-porto, #004b9b);
	pointer-events: none;
}

.sp-play .sp-pg-ico {
	margin-left: 2px;
}

/* ==========================================================================
   LinhaJogo (spec 13)
   ========================================================================== */

.sp-lj {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 60px;
	padding: 12px 14px;
	box-sizing: border-box;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

.sp-lj + .sp-lj,
.sp-pg-cartao__cab + .sp-lj {
	border-top: 1px solid var(--sp-border, #dfe5ee);
}

a.sp-lj:hover {
	background: var(--sp-surface-raised, #f8fafc);
}

a.sp-lj:focus-visible {
	outline: 2px solid var(--sp-porto, #004b9b);
	outline-offset: -2px;
}

.sp-lj__esq {
	flex: none;
	width: 44px;
	display: flex;
	flex-direction: column;
	text-align: left;
}

.sp-lj__dia {
	font: 700 13px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
}

.sp-lj__hora {
	font: 500 11px/14px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-lj.is-vivo .sp-lj__dia {
	color: var(--sp-live, #dc2626);
}

.sp-lj__corpo {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

/* Até duas linhas, reflow em vez de «…» (spec: nada de numberOfLines=1). */
.sp-lj__titulo {
	font: 600 15px/19px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	overflow-wrap: anywhere;
}

.sp-lj__pc:not(:empty) {
	margin-left: 0.28em;
}

.sp-lj__pf:not(:empty) {
	margin-right: 0.28em;
}

.sp-lj__sub {
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-lj__seta {
	color: var(--sp-ink-soft, #7c8aa5);
}

/* A lateral do Início (6a): 14/18 e sem chevron, como no desenho. */
.sp-lj--lateral {
	gap: 12px;
	min-height: 56px;
	padding: 10px 16px;
}

.sp-lj--lateral .sp-lj__titulo {
	font-size: 14px;
	line-height: 18px;
}

.sp-lj--lateral .sp-lj__seta {
	display: none;
}

/* Sem JavaScript, os «Próximos jogos» do Início mostram quatro (o guião
   escolhe os quatro da modalidade do selector). */
[data-sp-pg-max='4']:not(.is-js) > .sp-lj:nth-of-type(n + 5) {
	display: none;
}

/* Com o selector: o que não é da modalidade sai (paginas.js põe hidden). */
.sp-lj[hidden],
[data-sp-pg-item][hidden] {
	display: none !important;
}

/* ==========================================================================
   V/E/D e PastilhaAoVivo
   ========================================================================== */

.sp-ved {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	font: 700 11px/1 'Libre Franklin', sans-serif;
}

.sp-ved--26 {
	width: 26px;
	height: 26px;
	font-size: 12px;
}

.sp-ved--v {
	background: var(--sp-ved-v-bg, #dcfce7);
	color: var(--sp-ved-v, #15803d);
}

.sp-ved--e {
	background: var(--sp-ved-e-bg, #e2e8f0);
	color: var(--sp-ved-e, #475569);
}

.sp-ved--d {
	background: var(--sp-ved-d-bg, #fee2e2);
	color: var(--sp-ved-d, #dc2626);
}

.sp-vivo-pastilha {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 9px;
	border-radius: 9999px;
	background: var(--sp-live, #dc2626);
	color: #fff;
	font: 700 11px/13px 'Libre Franklin', sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.sp-vivo-pastilha__ponto {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
	animation: sp-pg-pulsar 1.6s ease-in-out infinite;
}

@keyframes sp-pg-pulsar {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.35;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sp-vivo-pastilha__ponto,
	.sp-av__ponto {
		animation: none;
	}
}

/* ==========================================================================
   Cartões navy (Sala do Jogo, app) e CartaoJogoNavy
   ========================================================================== */

.sp-navy-cartao {
	padding: 16px;
	border-radius: 12px;
	background: var(--sp-navy, #06152b);
	color: #fff;
}

.sp-navy-cartao__kicker {
	margin: 0;
	font: 600 11px/13px 'Libre Franklin', sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sp-on-navy-soft, #9cc0ef);
}

.sp-navy-cartao__titulo {
	margin: 6px 0 0;
	font: 700 15px/20px 'Libre Franklin', sans-serif;
	color: #fff;
	letter-spacing: 0;
}

.sp-navy-cartao__texto {
	margin: 4px 0 0;
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-on-navy, #b9cce4);
}

.sp-navy-cartao__botao {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	margin-top: 12px;
	padding: 0 14px;
	border-radius: 10px;
	background: #fff;
	color: var(--sp-porto, #004b9b);
	font: 700 13px/1 'Libre Franklin', sans-serif;
	text-decoration: none;
}

.sp-navy-cartao__botao:hover,
.sp-navy-cartao__botao:focus-visible {
	background: var(--sp-porto-light, #e8f0fa);
	color: var(--sp-porto-hover, #003d7a);
}

.sp-app-cartao {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border-radius: 12px;
	background: var(--sp-navy, #06152b);
	text-decoration: none;
}

.sp-app-cartao__icone {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 11px;
}

.sp-app-cartao__textos {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sp-app-cartao__titulo {
	font: 700 14px/18px 'Libre Franklin', sans-serif;
	color: #fff;
}

.sp-app-cartao__texto {
	font: 400 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-on-navy, #b9cce4);
}

.sp-app-cartao--claro {
	padding: 14px 16px;
	background: var(--sp-surface, #fff);
	border: 1px solid var(--sp-border, #dfe5ee);
}

.sp-app-cartao--claro .sp-app-cartao__icone {
	width: 44px;
	height: 44px;
	border-radius: 10px;
}

.sp-app-cartao--claro .sp-app-cartao__titulo {
	color: var(--sp-ink, #0f172a);
}

.sp-app-cartao--claro .sp-app-cartao__texto {
	color: var(--sp-ink-muted, #475569);
}

.sp-app-cartao__seta {
	color: var(--sp-ink-soft, #7c8aa5);
}

.sp-app-cartao:hover .sp-app-cartao__titulo {
	text-decoration: underline;
}

/* CartaoJogoNavy: navy elevado + contorno, raio 16, sombra; ao vivo, borda vermelha. */
.sp-jn {
	padding: 14px 16px;
	border-radius: 16px;
	background: var(--sp-navy, #06152b);
	border: 1px solid transparent;
	box-shadow: 0 6px 18px rgba(6, 21, 43, 0.18);
	color: #fff;
}

.sp-jn.is-vivo {
	border-color: var(--sp-live, #dc2626);
}

.sp-jn__topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0;
}

.sp-jn__kicker {
	font: 600 11px/13px 'Libre Franklin', sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sp-on-navy-soft, #9cc0ef);
}

.sp-jn__placar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}

.sp-jn__equipa {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	min-width: 0;
	text-align: center;
}

.sp-jn__nome {
	font: 700 14px/18px 'Libre Franklin', sans-serif;
	color: #fff;
	overflow-wrap: anywhere;
}

.sp-jn__resultado {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 800 30px/1 'Libre Franklin', sans-serif;
	font-variant-numeric: tabular-nums;
	color: #fff;
}

.sp-jn__traco {
	color: var(--sp-on-navy, #b9cce4);
	font-weight: 700;
}

.sp-jn .sp-jg-emb {
	box-shadow: 0 0 0 2px var(--sp-on-navy, #b9cce4);
}

.sp-jn__rodape {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid rgba(185, 204, 228, 0.2);
}

.sp-jn__meta {
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-on-navy, #b9cce4);
}

.sp-jn__accao {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	flex: none;
	font: 700 13px/16px 'Libre Franklin', sans-serif;
	color: #fff;
	text-decoration: none;
}

.sp-jn__accao:hover {
	text-decoration: underline;
}

/* ==========================================================================
   TabelaCompeticaoResumo
   ========================================================================== */

.sp-tr {
	padding: 14px 16px;
}

.sp-tr__cab {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.sp-tr__titulo {
	margin: 0;
	font: 700 14px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-tr__sub {
	margin: 2px 0 0;
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-tr__tabela {
	width: calc(100% + 32px);
	margin: 10px -16px 0;
	border-collapse: collapse;
	font: 500 13px/30px 'Libre Franklin', sans-serif;
	font-variant-numeric: tabular-nums;
	color: var(--sp-ink, #0f172a);
}

.sp-tr__tabela td,
.sp-tr__tabela th {
	padding: 0 4px;
	text-align: left;
	font-weight: inherit;
}

.sp-tr__tabela td:first-child,
.sp-tr__tabela th:first-child {
	padding-left: 16px;
}

.sp-tr__tabela td:last-child {
	padding-right: 16px;
}

.sp-tr__pos {
	width: 22px;
	font-weight: 700;
}

.sp-tr__equipa {
	width: 100%;
	font-weight: 500;
}

.sp-tr__num {
	color: var(--sp-ink-muted, #475569);
	text-align: right;
	white-space: nowrap;
}

.sp-tr__tabela .sp-tr__pts {
	width: 30px;
	text-align: right;
	font-weight: 800;
}

.sp-tr__tabela tr.is-porto {
	background: var(--sp-porto-light, #e8f0fa);
	font-weight: 700;
}

.sp-tr__tabela tr.is-porto .sp-tr__equipa {
	font-weight: 700;
}

.sp-tr__zona {
	width: 28px;
}

.sp-tr__chip {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 18px;
	border-radius: 4px;
	color: #fff;
	font: 700 11px/1 'Libre Franklin', sans-serif;
	vertical-align: middle;
}

.sp-tr__chip--lc {
	background: var(--sp-zona-lc, #004b9b);
}

.sp-tr__chip--le {
	background: var(--sp-zona-le, #0066cc);
}

.sp-tr__chip--co {
	background: var(--sp-zona-co, #15803d);
}

.sp-tr__chip--po {
	background: var(--sp-zona-po, #f59e0b);
	color: var(--sp-ink, #0f172a);
}

.sp-tr__chip--d {
	background: var(--sp-zona-d, #dc2626);
}

.sp-tr__rodape {
	margin-top: 6px;
	line-height: 30px;
}

/* ==========================================================================
   Notícias em linha e em cartão, linha de equipa, vídeo
   ========================================================================== */

.sp-nl {
	display: flex;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--sp-border, #dfe5ee);
}

.sp-nl:first-child {
	padding-top: 0;
}

.sp-nl:last-child {
	border-bottom: 0;
}

.sp-nl__textos {
	flex: 1;
	min-width: 0;
}

.sp-nl__titulo {
	margin: 4px 0 0;
	font: 600 17px/22px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-nl__titulo a {
	color: inherit;
	text-decoration: none;
}

.sp-nl__titulo a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-nl__meta {
	margin: 4px 0 0;
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-nl__imagem {
	flex: none;
	width: 96px;
	height: 72px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--sp-surface-subtle, #eef2f7);
}

.sp-nl__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sp-nl--pequena {
	gap: 10px;
	padding: 10px 0;
}

.sp-nl--pequena .sp-nl__titulo {
	margin-top: 0;
	font-size: 14px;
	line-height: 19px;
}

.sp-nl--pequena .sp-nl__meta {
	margin-top: 3px;
	font-size: 11px;
}

.sp-nl--pequena .sp-nl__imagem {
	width: 64px;
	height: 48px;
	border-radius: 6px;
}

.sp-nc {
	display: flex;
	flex-direction: column;
	background: var(--sp-surface, #fff);
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 12px;
	overflow: hidden;
}

.sp-nc__imagem {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--sp-surface-subtle, #eef2f7);
}

.sp-nc__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sp-nc__corpo {
	padding: 12px 14px;
}

.sp-nc__titulo {
	margin: 6px 0 0;
	font: 600 16px/21px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-nc__titulo a {
	color: inherit;
	text-decoration: none;
}

.sp-nc__titulo a::after {
	content: '';
	position: absolute;
	inset: 0;
}

.sp-nc {
	position: relative;
}

.sp-nc:hover .sp-nc__titulo a {
	color: var(--sp-porto, #004b9b);
}

.sp-nc__meta {
	margin: 6px 0 0;
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-nc--comunidade .sp-nc__titulo {
	margin: 0;
	font-size: 15px;
	line-height: 20px;
}

.sp-nc--comunidade .sp-nc__corpo {
	padding: 10px 12px;
}

.sp-nc__autor {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 10px 12px;
}

.sp-nc__autor-textos {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sp-nc__autor-nome {
	font: 600 13px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
}

.sp-nc__autor-tempo {
	font: 500 11px/14px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-le {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 56px;
	padding: 10px 14px;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
}

.sp-le + .sp-le {
	border-top: 1px solid var(--sp-border, #dfe5ee);
}

a.sp-le:hover {
	background: var(--sp-surface-raised, #f8fafc);
}

.sp-le__textos {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.sp-le__nome {
	font: 600 15px/19px 'Libre Franklin', sans-serif;
}

.sp-le__sub {
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-le__sub.is-vivo {
	color: var(--sp-live, #dc2626);
}

.sp-le__seta {
	color: var(--sp-ink-soft, #7c8aa5);
}

/* Vídeo (faixa de golos do Início): navy 16:9, raio 10, fonte e play. */
.sp-video {
	display: block;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
}

.sp-video__imagem {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	overflow: hidden;
	background: var(--sp-navy, #06152b);
}

.sp-video__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sp-video__fonte {
	position: absolute;
	top: 8px;
	left: 8px;
	padding: 4px 7px;
	border-radius: 6px;
	background: rgba(6, 21, 43, 0.88);
	color: #fff;
	font: 600 11px/13px 'Libre Franklin', sans-serif;
}

.sp-video__duracao {
	position: absolute;
	right: 8px;
	bottom: 8px;
	padding: 2px 6px;
	border-radius: 6px;
	background: rgba(6, 21, 43, 0.88);
	color: #fff;
	font: 600 11px/14px 'Libre Franklin', sans-serif;
	font-variant-numeric: tabular-nums;
}

.sp-video__titulo {
	display: block;
	margin-top: 8px;
	font: 600 15px/20px 'Libre Franklin', sans-serif;
}

.sp-video:hover .sp-video__titulo {
	color: var(--sp-porto, #004b9b);
}

/* Caixa da newsletter (12a). */
.sp-nl-caixa {
	padding: 16px;
	border-radius: 12px;
	background: var(--sp-porto-light, #e8f0fa);
}

.sp-nl-caixa__titulo {
	margin: 0;
	font: 700 18px/22px 'Source Serif 4', Georgia, serif;
	color: var(--sp-info-ink, #003d7a);
	letter-spacing: 0;
}

.sp-nl-caixa__texto {
	margin: 4px 0 0;
	font: 400 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-info-ink, #003d7a);
}

.sp-nl-caixa__form {
	display: flex;
	gap: 6px;
	margin-top: 12px;
}

.sp-nl-caixa__form input {
	flex: 1;
	min-width: 0;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 10px;
	background: var(--sp-surface, #fff);
	/* 16 no telemóvel: abaixo disso o iOS Safari faz zoom ao focar. */
	font: 400 16px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	box-sizing: border-box;
}

.sp-nl-caixa__form input:focus {
	outline: 2px solid var(--sp-porto, #004b9b);
	outline-offset: -1px;
}

.sp-nl-caixa__form .sp-botao {
	min-height: 40px;
}

@media (min-width: 768px) {
	.sp-nl-caixa__form input {
		font-size: 14px;
	}
}

/* ==========================================================================
   Início (6a desktop, 6c telemóvel)
   ========================================================================== */

/* A faixa «Ao vivo» por baixo do cabeçalho: só do tablet para cima. */
.sp-av {
	display: none;
	background: var(--sp-surface, #fff);
	border-bottom: 1px solid var(--sp-border, #dfe5ee);
}

.sp-av__fila {
	display: flex;
	align-items: stretch;
}

.sp-av__rotulo {
	flex: none;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 10px 16px 10px 0;
	border-right: 1px solid var(--sp-border, #dfe5ee);
	font: 700 11px/13px 'Libre Franklin', sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sp-ink-muted, #475569);
	white-space: nowrap;
}

.sp-av__ponto {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sp-live, #dc2626);
	animation: sp-pg-pulsar 1.6s ease-in-out infinite;
}

.sp-av__lista {
	flex: 1;
	min-width: 0;
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.sp-av__lista::-webkit-scrollbar {
	display: none;
}

.sp-av__item {
	flex: none;
	border-right: 1px solid var(--sp-border, #dfe5ee);
}

.sp-av__ligacao {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 100%;
	padding: 10px 16px;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
	white-space: nowrap;
}

.sp-av__ligacao:hover {
	background: var(--sp-surface-raised, #f8fafc);
}

.sp-av__equipa {
	font: 600 11px/13px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-av__placar {
	font: 700 14px/18px 'Libre Franklin', sans-serif;
	font-variant-numeric: tabular-nums;
}

.sp-av__estado {
	font: 600 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-av__ligacao.is-vivo .sp-av__estado {
	font-weight: 700;
	color: var(--sp-live, #dc2626);
}

.sp-av__todos {
	flex: none;
	padding-left: 16px;
}

.sp-inicio__grelha {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	padding-top: 12px;
	padding-bottom: 40px;
}

.sp-inicio__principal {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}

.sp-inicio-jogos .sp-lj {
	padding: 10px 14px;
}

.sp-inicio-destaques {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

.sp-inicio-lead__imagem {
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sp-navy-raised, #0c2344), var(--sp-porto-bright, #0a4ea3));
}

.sp-inicio-lead__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sp-inicio-lead .sp-kicker {
	margin-top: 10px;
}

.sp-inicio-lead__titulo {
	margin: 8px 0 0;
	font: 700 22px/26px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: -0.01em;
	text-wrap: pretty;
}

.sp-inicio-lead__titulo a {
	color: inherit;
	text-decoration: none;
}

.sp-inicio-lead__titulo a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-inicio-lead__dek {
	display: none;
	margin: 8px 0 0;
	font: 400 16px/23px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-inicio-lead__meta {
	margin: 8px 0 0;
	font: 500 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-inicio-destaques__lista {
	display: flex;
	flex-direction: column;
	padding-top: 16px;
	border-top: 1px solid var(--sp-border, #dfe5ee);
}

/* Golos: fila que desliza no telemóvel; quatro colunas no desktop. */
.sp-inicio-golos__lista {
	display: flex;
	gap: 12px;
	margin: 12px -16px 0;
	padding: 0 16px 4px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.sp-inicio-golos__lista::-webkit-scrollbar {
	display: none;
}

.sp-inicio-golos__lista > li {
	flex: none;
	width: 232px;
	scroll-snap-align: start;
}

/* No telemóvel, a Comunidade desliza (como os golos); três colunas do 640. */
.sp-inicio-comunidade__grelha {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 260px;
	gap: 12px;
	margin: 12px -16px 0;
	padding: 0 16px 4px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.sp-inicio-comunidade__grelha::-webkit-scrollbar {
	display: none;
}

.sp-inicio-comunidade__grelha > * {
	scroll-snap-align: start;
}

.sp-inicio__ultimas {
	margin: 0 0 -10px;
}

.sp-inicio-lateral {
	display: grid;
	gap: 16px;
	align-content: start;
}

.sp-inicio-capas__lista {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 2px 16px 14px;
	list-style: none;
}

.sp-inicio-capas__lista > li {
	flex: 1;
	min-width: 0;
}

.sp-inicio-capas__lista a {
	display: block;
	aspect-ratio: 3 / 4;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 8px;
	overflow: hidden;
	background: var(--sp-surface-subtle, #eef2f7);
}

.sp-inicio-capas__lista img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Numa modalidade (selector): as notícias do /app/feed. */
.sp-inicio__filtrado-aviso {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 12px;
	border: 1px dashed var(--sp-border, #dfe5ee);
	border-radius: 12px;
	font: 500 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
	text-align: center;
}

.sp-inicio__filtrado-aviso button,
.sp-pg-ver-tudo {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-weight: 700;
	color: var(--sp-porto, #004b9b);
	cursor: pointer;
}

.sp-inicio__filtrado-aviso button:hover,
.sp-pg-ver-tudo:hover {
	text-decoration: underline;
}

[data-sp-inicio].is-filtrado [data-sp-inicio-destaques],
[data-sp-inicio].is-filtrado [data-sp-inicio-lista],
[data-sp-inicio].is-filtrado [data-sp-inicio-mais],
[data-sp-inicio].is-filtrado [data-sp-inicio-ultimas-titulo],
[data-sp-inicio].is-filtrado #feed-end,
[data-sp-inicio].is-filtrado #feed-loading {
	display: none !important;
}

[data-sp-pg-mod][hidden] {
	display: none !important;
}

@media (min-width: 640px) {
	.sp-inicio-comunidade__grelha {
		grid-auto-flow: row;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
		margin: 12px 0 0;
		padding: 0;
		overflow: visible;
	}
}

@media (min-width: 768px) {
	.sp-pg-wrap {
		max-width: calc(1152px + 48px);
		padding: 0 24px;
	}

	.sp-av {
		display: block;
	}

	.sp-inicio-jogos {
		display: none;
	}

	.sp-inicio__grelha {
		padding-top: 24px;
	}

	.sp-inicio-destaques {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
		gap: 24px;
	}

	.sp-inicio-lead__imagem {
		aspect-ratio: 16 / 10;
	}

	.sp-inicio-lead .sp-kicker {
		margin-top: 12px;
	}

	.sp-inicio-lead__titulo {
		font-size: 26px;
		line-height: 30px;
	}

	.sp-inicio-lead__dek {
		display: block;
	}

	.sp-inicio-destaques__lista {
		padding-top: 0;
		border-top: 0;
		align-self: start;
	}

	.sp-nl__imagem {
		width: 80px;
		height: 60px;
	}

	.sp-pg-seccao__titulo {
		font-size: 22px;
		line-height: 26px;
	}

	.sp-inicio-golos__lista {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
		margin: 12px 0 0;
		padding: 0;
		overflow: visible;
	}

	.sp-inicio-golos__lista > li {
		width: auto;
	}

	.sp-inicio-golos__lista > li:nth-child(n + 5) {
		display: none;
	}

	.sp-video__titulo {
		font-size: 14px;
		line-height: 18px;
	}

	.sp-inicio-lateral {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.sp-inicio__grelha {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 32px;
	}

	.sp-inicio__principal {
		gap: 28px;
	}

	.sp-inicio-lead__titulo {
		font-size: 32px;
		line-height: 36px;
	}

	.sp-inicio-lateral {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ==========================================================================
   Pesquisa (4b)
   ========================================================================== */

.sp-sigla--56 {
	width: 56px;
	height: 56px;
	font-size: 14px;
}

.sp-sigla--foto {
	overflow: hidden;
	background: var(--sp-surface-subtle, #eef2f7);
}

.sp-sigla--foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sp-pesquisa__wrap {
	padding-top: 16px;
	padding-bottom: 40px;
}

.sp-pesquisa__campo {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	margin-top: 12px;
	padding: 0 12px;
	border-radius: 12px;
	background: var(--sp-surface-subtle, #eef2f7);
	color: var(--sp-ink-muted, #475569);
}

.sp-pesquisa__campo:focus-within {
	outline: 2px solid var(--sp-porto, #004b9b);
}

.sp-pesquisa__campo input {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: 0;
	background: transparent;
	font: 400 16px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	outline: none;
}

.sp-pesquisa__titulo {
	margin: 12px 0 0;
	font: 700 26px/30px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.sp-pesquisa__pilulas {
	margin: 14px -16px 0;
	padding: 0 16px;
}

.sp-pesquisa__grelha {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	margin-top: 20px;
}

.sp-pesquisa__principal {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.sp-pesquisa__melhor {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 12px;
	background: var(--sp-surface, #fff);
}

.sp-pesquisa__melhor--jogo {
	display: block;
	padding: 0;
	border: 0;
	background: none;
}

.sp-pesquisa__melhor-textos {
	flex: 1;
	min-width: 0;
}

.sp-pesquisa__melhor .sp-pg-rotulo {
	margin: 0;
}

.sp-pesquisa__melhor-nome {
	margin: 4px 0 0;
	font: 700 20px/24px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-pesquisa__melhor-nome a {
	color: inherit;
	text-decoration: none;
}

.sp-pesquisa__melhor-nome a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-pesquisa__melhor-sub {
	margin: 2px 0 0;
	font: 500 13px/17px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-pesquisa__melhor-sub.is-vivo {
	color: var(--sp-live, #dc2626);
}

.sp-pesquisa__melhor-botao {
	display: none;
	min-height: 40px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 600;
}

.sp-pesquisa__grupo-cab {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.sp-pesquisa__grupo-cab .sp-pg-rotulo {
	margin: 0;
}

.sp-pesquisa__ver {
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.sp-pesquisa__item + .sp-pesquisa__item,
.sp-pesquisa__item + .sp-lj,
.sp-pg-cartao > .sp-le + .sp-le {
	border-top: 1px solid var(--sp-border, #dfe5ee);
}

.sp-pesquisa .sp-le,
.sp-pesquisa .sp-lj {
	padding-left: 18px;
	padding-right: 18px;
}

.sp-pesquisa__cartoes {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

/* Na vista «Tudo», os primeiros de cada grupo; o filtro mostra todos. */
[data-sp-pesquisa][data-filtro='tudo'] .is-extra {
	display: none !important;
}

[data-sp-pq-grupo][hidden],
[data-sp-pq-melhor][hidden],
[data-sp-pq-recentes][hidden] {
	display: none !important;
}

.sp-pesquisa__lateral {
	display: grid;
	gap: 16px;
	align-content: start;
}

.sp-pesquisa__jogadores,
.sp-pesquisa__recentes {
	padding: 14px 16px;
}

.sp-pesquisa__jogadores .sp-pg-rotulo,
.sp-pesquisa__recentes .sp-pg-rotulo {
	margin: 0;
}

.sp-pesquisa__jogador {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
}

.sp-pesquisa__jogador + .sp-pesquisa__jogador {
	border-top: 1px solid var(--sp-border, #dfe5ee);
}

a.sp-pesquisa__jogador:hover .sp-pesquisa__jogador-nome {
	color: var(--sp-porto, #004b9b);
}

.sp-pesquisa__jogador-foto {
	flex: none;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--sp-surface-subtle, #eef2f7);
	font: 700 12px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-pesquisa__jogador-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sp-pesquisa__jogador-nome {
	font: 600 14px/18px 'Libre Franklin', sans-serif;
}

.sp-pesquisa__recentes ul {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.sp-pesquisa__recentes a {
	display: flex;
	align-items: center;
	min-height: 36px;
	font: 500 14px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-body, #1e293b);
	text-decoration: none;
}

.sp-pesquisa__recentes a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-pesquisa__nota {
	margin: 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--sp-porto-light, #e8f0fa);
	font: 400 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-info-ink, #003d7a);
}

.sp-pesquisa__vazio {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 32px 16px;
	text-align: center;
	color: var(--sp-ink-soft, #7c8aa5);
}

.sp-pesquisa__vazio-titulo {
	margin: 4px 0 0;
	font: 700 22px/26px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
}

.sp-pesquisa__vazio-texto {
	max-width: 440px;
	margin: 0;
	font: 400 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-pesquisa__lista .sp-pesquisa__linha-noticia {
	padding: 0 16px;
}

.sp-pesquisa__lista .sp-pesquisa__linha-noticia + .sp-pesquisa__linha-noticia,
.sp-pesquisa__lista .sp-pesquisa__linha + .sp-pesquisa__linha {
	border-top: 1px solid var(--sp-border, #dfe5ee);
}

.sp-pesquisa__lista .sp-nl {
	padding: 14px 0;
	border-bottom: 0;
}

.sp-pesquisa__linha {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 10px 16px;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
}

.sp-pesquisa__linha:hover {
	background: var(--sp-surface-raised, #f8fafc);
}

.sp-pesquisa__linha-textos {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.sp-pesquisa__linha-titulo {
	font: 600 15px/19px 'Libre Franklin', sans-serif;
}

.sp-pesquisa__linha-meta {
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-pesquisa__paginas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.sp-pesquisa__paginas .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 10px;
	background: var(--sp-surface, #fff);
	font: 600 13px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink-strong, #33415c);
	text-decoration: none;
}

.sp-pesquisa__paginas .page-numbers.current {
	background: var(--sp-porto, #004b9b);
	border-color: var(--sp-porto, #004b9b);
	color: #fff;
}

.sp-pesquisa__voltar {
	margin: 0;
}

.sp-nc__imagem--video {
	background: var(--sp-navy, #06152b);
}

@media (min-width: 640px) {
	.sp-pesquisa__cartoes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-pesquisa__melhor-botao {
		display: inline-flex;
	}
}

@media (min-width: 768px) {
	.sp-pesquisa__wrap {
		padding-top: 20px;
	}

	.sp-pesquisa__campo--so-movel {
		display: none;
	}

	.sp-pesquisa__titulo {
		font-size: 30px;
		line-height: 34px;
	}

	.sp-pesquisa__pilulas {
		margin: 14px 0 0;
		padding: 0;
	}

	.sp-pesquisa__campo input {
		font-size: 14px;
	}
}

@media (min-width: 1024px) {
	.sp-pesquisa__grelha {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 32px;
	}
}

/* ==========================================================================
   Artigo (12a): corpo de 680 px e a lateral; comentários
   ========================================================================== */

.sp-artigo {
	background: var(--sp-surface-muted, #f4f7fb);
}

.sp-artigo__grelha {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	padding-top: 20px;
	padding-bottom: 40px;
}

.sp-artigo__principal {
	min-width: 0;
	max-width: 680px;
}

.sp-artigo__cabecalho {
	margin-bottom: 20px;
}

.sp-artigo__kicker {
	margin-top: 18px;
}

.sp-artigo__kicker a {
	color: inherit;
	text-decoration: none;
}

.sp-artigo__kicker a:hover {
	text-decoration: underline;
}

.sp-artigo__selo {
	margin: 18px 0 0;
}

.sp-artigo .sp-artigo__titulo {
	margin: 10px 0 0;
	font: 700 30px/34px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: -0.01em;
	text-wrap: pretty;
}

.sp-artigo__entrada {
	margin: 14px 0 0;
	font: 400 18px/27px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-artigo__autor {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 18px;
	padding: 14px 0;
	border-top: 1px solid var(--sp-border, #dfe5ee);
	border-bottom: 1px solid var(--sp-border, #dfe5ee);
}

.sp-artigo__autor-id {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.sp-artigo__autor-icone {
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 8px;
}

.sp-artigo__autor-nome {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	font: 600 14px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
}

.sp-artigo__autor-meta {
	margin: 2px 0 0;
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-artigo__accoes {
	display: flex;
	flex: none;
	gap: 6px;
}

.sp-artigo__accao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 9999px;
	background: var(--sp-surface, #fff);
	font: 600 13px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
	cursor: pointer;
}

.sp-artigo__accao--redonda {
	width: 44px;
	padding: 0;
}

.sp-artigo__accao:hover {
	border-color: var(--sp-porto, #004b9b);
	color: var(--sp-porto, #004b9b);
}

.sp-artigo .sp-article-figure {
	margin-top: 20px;
}

.sp-artigo .sp-article-caption {
	margin-top: 6px;
	color: var(--sp-ink-soft, #7c8aa5);
}

.sp-artigo .sp-article-prose {
	margin-top: 22px;
}

.sp-artigo .sp-article-prose p,
.sp-artigo .sp-article-prose li {
	font-family: 'Source Serif 4', Georgia, serif;
	font-size: 18px;
	line-height: 1.65;
	color: var(--sp-ink-body, #1e293b);
}

.sp-artigo .sp-article-prose h2 {
	margin: 28px 0 0;
	font: 700 26px/32px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
}

.sp-artigo .sp-article-prose h3 {
	font-family: 'Source Serif 4', Georgia, serif;
	font-weight: 700;
	color: var(--sp-ink, #0f172a);
}

.sp-artigo__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

.sp-artigo__tags a {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 12px;
	border-radius: 9999px;
	background: var(--sp-surface-subtle, #eef2f7);
	font: 600 13px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink-body, #1e293b);
	text-decoration: none;
}

.sp-artigo__tags a:hover {
	background: var(--sp-porto-light, #e8f0fa);
	color: var(--sp-porto, #004b9b);
}

.sp-artigo__lateral {
	display: grid;
	gap: 16px;
	align-content: start;
	min-width: 0;
}

.sp-artigo__relacionadas {
	padding: 14px 16px 4px;
}

.sp-artigo__relacionadas-lista {
	margin-top: 8px;
}

.sp-artigo__relacionadas .sp-nl:first-child {
	padding-top: 10px;
}

/* Comentários (12a): sem cartão, com o traço por cima; o composer em linha. */
.sp-artigo .sp-comments-section {
	margin-top: 32px;
	padding: 24px 0 0;
	border: 0;
	border-top: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.sp-comentarios__cab {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 16px;
}

.sp-comentarios__titulo {
	margin: 0;
	font: 700 22px/27px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-comentarios__cab .sp-comments__sort {
	display: flex;
	gap: 12px;
}

.sp-comentarios__cab .sp-comments__sort-tab {
	padding: 0;
	border: 0;
	background: none;
	font: 600 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
	cursor: pointer;
}

.sp-comentarios__cab .sp-comments__sort-tab[aria-pressed='true'] {
	color: var(--sp-porto, #004b9b);
}

.sp-comentarios__composer {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.sp-comentarios__form {
	flex: 1;
	min-width: 0;
}

.sp-comentarios__campo {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 12px;
	background: var(--sp-surface, #fff);
	font: 400 15px/22px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	resize: vertical;
	box-sizing: border-box;
}

.sp-comentarios__campo:focus {
	outline: 2px solid var(--sp-porto, #004b9b);
	outline-offset: -1px;
}

.sp-comentarios__campo--falso {
	flex: 1;
	min-width: 0;
	text-align: left;
	color: var(--sp-ink-soft, #7c8aa5);
	cursor: pointer;
}

.sp-comentarios__rodape {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin-top: 8px;
	font: 500 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-soft, #7c8aa5);
}

.sp-comentarios__rodape p {
	margin: 0;
}

.sp-comentarios__publicar {
	min-height: 48px;
	padding: 0 18px;
	border-radius: 12px;
	font-size: 14px;
}

.sp-comentarios__publicar:disabled {
	background: var(--sp-surface-subtle, #eef2f7);
	color: var(--sp-ink-soft, #7c8aa5);
	cursor: not-allowed;
}

.sp-avatar--vazio {
	background: var(--sp-surface-subtle, #eef2f7);
}

.sp-artigo .sp-comment__avatar {
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	border: 0;
	box-shadow: none;
}

@media (min-width: 768px) {
	.sp-artigo .sp-artigo__titulo {
		font-size: 40px;
		line-height: 44px;
	}

	.sp-artigo__entrada {
		font-size: 20px;
		line-height: 29px;
	}

	.sp-artigo .sp-article-prose p,
	.sp-artigo .sp-article-prose li {
		font-size: 19px;
		line-height: 31px;
	}

	.sp-artigo .sp-article-prose h2 {
		font-size: 28px;
		line-height: 34px;
	}

	.sp-comentarios__titulo {
		font-size: 24px;
		line-height: 29px;
	}

	.sp-artigo__lateral {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.sp-artigo__grelha {
		grid-template-columns: 680px minmax(0, 1fr);
		gap: 48px;
		padding-top: 24px;
	}

	.sp-artigo__lateral {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ==========================================================================
   Página da competição (12b, em baixo)
   ========================================================================== */

.sp-comp__cab {
	padding-top: 16px;
}

.sp-comp__linha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin-top: 14px;
}

.sp-comp__marca {
	flex: none;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--sp-navy, #06152b);
	color: #fff;
	font: 800 12px/1 'Libre Franklin', sans-serif;
	overflow: hidden;
}

.sp-comp__marca--logo {
	background: var(--sp-surface, #fff);
	border: 1px solid var(--sp-border, #dfe5ee);
}

.sp-comp__marca--logo img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.sp-comp__textos {
	flex: 1;
	min-width: 0;
}

.sp-comp__titulo {
	margin: 0;
	font: 700 26px/30px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-comp__sub {
	margin: 2px 0 0;
	font: 500 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-comp__ancoras {
	width: 100%;
}

.sp-comp__ancoras .sp-pilula {
	height: 36px;
}

.sp-comp__grelha {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	padding-top: 20px;
	padding-bottom: 32px;
}

.sp-comp__jogos {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.sp-comp__bloco-cab {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.sp-comp__vazio {
	margin: 0;
	padding: 14px 16px;
	font: 500 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-comp__topo .sp-tr {
	padding-top: 6px;
	padding-bottom: 6px;
}

.sp-comp__topo .sp-tr__cab {
	display: none;
}

.sp-comp__topo .sp-tr__tabela {
	margin-top: 0;
	line-height: 32px;
}

.sp-comp__tabela,
.sp-comp__noticias {
	grid-column: 1 / -1;
}

.sp-comp__noticias .sp-pg-seccao__titulo {
	margin-bottom: 12px;
}

@media (min-width: 768px) {
	.sp-comp__titulo {
		font-size: 32px;
		line-height: 36px;
	}

	.sp-comp__ancoras {
		width: auto;
	}

	.sp-comp__grelha {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.sp-comp__grelha--sem-tabela {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ==========================================================================
   12c: 404, newsletter confirmada, escrever na Comunidade
   ========================================================================== */

.sp-404__fora {
	background: var(--sp-navy, #06152b);
	padding: 40px 16px;
}

.sp-404__caixa {
	display: grid;
	justify-items: center;
	gap: 12px;
	max-width: 420px;
	margin: 0 auto;
	text-align: center;
}

.sp-404__logo img {
	height: 26px;
	width: auto;
}

.sp-404__codigo {
	margin: 10px 0 0;
	font: 800 72px/72px 'Libre Franklin', sans-serif;
	letter-spacing: -0.04em;
	color: var(--sp-navy-line, #1e3d6b);
}

.sp-404 .sp-404__titulo {
	margin: 0;
	font: 700 24px/29px 'Source Serif 4', Georgia, serif;
	color: #f1f5fb;
	letter-spacing: 0;
}

.sp-404__texto {
	margin: 0;
	font: 400 14px/19px 'Libre Franklin', sans-serif;
	color: var(--sp-on-navy, #b9cce4);
}

.sp-404__pesquisa {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	height: 44px;
	margin-top: 6px;
	padding: 0 14px;
	border-radius: 12px;
	background: var(--sp-navy-raised, #0c2344);
	color: var(--sp-on-navy, #b9cce4);
	box-sizing: border-box;
}

.sp-404__pesquisa:focus-within {
	outline: 2px solid var(--sp-on-navy-soft, #9cc0ef);
}

.sp-404__pesquisa input {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: 0;
	background: transparent;
	font: 400 16px/1 'Libre Franklin', sans-serif;
	color: #fff;
	outline: none;
}

.sp-404__pesquisa input::placeholder {
	color: var(--sp-on-navy-meta, #9fb0cc);
}

.sp-404__atalhos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.sp-404__atalhos a {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 12px;
	border: 1px solid var(--sp-navy-line, #1e3d6b);
	border-radius: 9999px;
	font: 600 13px/1 'Libre Franklin', sans-serif;
	color: var(--sp-on-navy-soft, #9cc0ef);
	text-decoration: none;
}

.sp-404__atalhos a:hover {
	border-color: var(--sp-on-navy-soft, #9cc0ef);
	color: #fff;
}

/* Newsletter confirmada. */
.sp-nlc {
	display: grid;
	place-items: center;
	padding: 28px 16px 48px;
	background: var(--sp-surface-muted, #f4f7fb);
}

.sp-nlc__cartao {
	display: grid;
	justify-items: center;
	gap: 10px;
	width: 100%;
	max-width: 440px;
	padding: 28px 24px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 16px;
	background: var(--sp-surface, #fff);
	text-align: center;
	box-sizing: border-box;
}

.sp-nlc__visto {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--sp-ved-v-bg, #dcfce7);
	color: var(--sp-ved-v, #15803d);
}

.sp-nlc .sp-nlc__titulo {
	margin: 0;
	font: 700 24px/29px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-nlc__texto,
.sp-nlc__estado {
	margin: 0;
	font: 400 14px/19px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-nlc__estado {
	font-weight: 600;
	color: var(--sp-success-ink, #166534);
}

.sp-nlc__botao {
	min-height: 44px;
	margin-top: 6px;
	padding: 0 18px;
	font-size: 14px;
}

.sp-nlc__voltar {
	font: 600 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-porto, #004b9b);
	text-decoration: none;
}

.sp-nlc__voltar:hover {
	text-decoration: underline;
}

.sp-nlc__nota {
	margin: 8px 0 0;
	font: 400 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-soft, #7c8aa5);
}

.sp-nlc__nota a {
	color: var(--sp-porto, #004b9b);
}

/* Escrever (12c): o formulário sem cartão, tipos em segmentos de 40,
   campos de 48, o título em serifada e o botão de 52. */
.sp-escrever__migalhas {
	margin-bottom: 10px;
}

.sp-escrever .sp-cn-editor__head h1 {
	font: 700 30px/34px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-escrever .sp-cn-tipos {
	display: flex;
	gap: 8px;
	margin-top: 16px;
}

.sp-escrever .sp-cn-tipo {
	flex: 1;
	min-height: 40px;
	padding: 0 8px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 10px;
	background: var(--sp-surface, #fff);
	text-align: center;
	justify-content: center;
}

.sp-escrever .sp-cn-tipo__nome {
	font: 600 13px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-escrever .sp-cn-tipo__resumo {
	display: none;
}

.sp-escrever .sp-cn-tipo.is-active {
	background: var(--sp-porto, #004b9b);
	border-color: var(--sp-porto, #004b9b);
}

.sp-escrever .sp-cn-tipo.is-active .sp-cn-tipo__nome {
	color: #fff;
}

.sp-escrever .sp-cn-editor .sp-card {
	margin-top: 16px;
	padding: 0 !important;
	border: 0;
	background: none;
	box-shadow: none;
}

.sp-escrever .sp-form-label {
	margin-bottom: 6px;
	font: 600 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-escrever .sp-input,
.sp-escrever .sp-cn-body {
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 10px;
	background: var(--sp-surface, #fff);
	font: 500 15px/22px 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
}

.sp-escrever .sp-input:focus,
.sp-escrever .sp-cn-body:focus {
	border-color: var(--sp-porto, #004b9b);
	box-shadow: 0 0 0 0.5px var(--sp-porto, #004b9b);
	outline: none;
}

.sp-escrever .sp-cn-input-title {
	font: 600 17px/22px 'Source Serif 4', Georgia, serif;
}

.sp-escrever .sp-cn-upload {
	min-height: 72px;
	border: 1px dashed var(--sp-ink-faint, #94a3b8);
	border-radius: 8px;
	background: var(--sp-surface, #fff);
	color: var(--sp-porto, #004b9b);
}

.sp-escrever .sp-cn-editor__actions .sp-btn-primary {
	min-height: 52px;
	padding: 0 20px;
	border-radius: 12px;
	font: 700 16px/1 'Libre Franklin', sans-serif;
}

@media (max-width: 639px) {
	.sp-escrever .sp-cn-editor__actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.sp-escrever .sp-cn-editor__actions .sp-cn-action {
		width: 100%;
	}
}

/* ==========================================================================
   12d: páginas institucionais (um modelo, índice lateral)
   ========================================================================== */

.sp-instit {
	background: var(--sp-surface-muted, #f4f7fb);
}

.sp-instit__grelha {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	padding-top: 20px;
	padding-bottom: 40px;
}

.sp-instit__indice ul {
	display: flex;
	gap: 8px;
	margin: 0 -16px;
	padding: 0 16px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.sp-instit__indice ul::-webkit-scrollbar {
	display: none;
}

.sp-instit__indice li {
	flex: none;
}

.sp-instit__indice a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 9999px;
	background: var(--sp-surface, #fff);
	font: 500 14px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink-body, #1e293b);
	text-decoration: none;
	white-space: nowrap;
}

.sp-instit__indice a[aria-current='page'] {
	border-color: var(--sp-porto, #004b9b);
	color: var(--sp-porto, #004b9b);
	font-weight: 700;
}

.sp-instit__artigo {
	min-width: 0;
	max-width: 680px;
}

.sp-instit .sp-instit__titulo {
	margin: 16px 0 0;
	font: 700 30px/34px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-instit__data {
	margin: 8px 0 0;
	font: 500 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-instit__nota {
	margin: 20px 0 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--sp-porto-light, #e8f0fa);
	font: 600 15px/22px 'Libre Franklin', sans-serif;
	color: var(--sp-info-ink, #003d7a);
}

.sp-instit__texto {
	margin-top: 8px;
}

.sp-instit__texto h2 {
	margin: 28px 0 0;
	font: 700 24px/29px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-instit__texto h3 {
	margin: 22px 0 0;
	font: 700 19px/24px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
}

.sp-instit__texto p,
.sp-instit__texto li {
	font: 400 17px/28px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-instit__texto p {
	margin: 10px 0 0;
}

.sp-instit__texto a {
	color: var(--sp-porto, #004b9b);
}

.sp-instit__texto ul,
.sp-instit__texto ol {
	margin: 10px 0 0;
	padding-left: 22px;
}

.sp-instit__texto table {
	display: block;
	max-width: 100%;
	margin: 16px 0 0;
	overflow-x: auto;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 12px;
	border-collapse: collapse;
	font: 400 14px/20px 'Libre Franklin', sans-serif;
}

.sp-instit__texto th,
.sp-instit__texto td {
	padding: 10px 14px;
	border-top: 1px solid var(--sp-border, #dfe5ee);
	text-align: left;
	vertical-align: top;
}

.sp-instit__cookies {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 24px;
	padding: 16px;
	border-radius: 12px;
	background: var(--sp-porto-light, #e8f0fa);
}

.sp-instit__cookies p {
	margin: 0;
	font: 400 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-strong, #33415c);
}

@media (min-width: 768px) {
	.sp-instit .sp-instit__titulo {
		font-size: 40px;
		line-height: 44px;
	}
}

@media (min-width: 1024px) {
	.sp-instit__grelha {
		grid-template-columns: 260px minmax(0, 680px);
		gap: 64px;
		padding-top: 28px;
	}

	.sp-instit__indice {
		position: sticky;
		top: calc(var(--sp-site-header-offset, 4rem) + 20px);
		align-self: start;
	}

	.sp-instit__indice .sp-pg-rotulo {
		margin-bottom: 10px;
	}

	.sp-instit__indice ul {
		display: grid;
		gap: 0;
		margin: 0;
		padding: 0;
		border-left: 2px solid var(--sp-border, #dfe5ee);
		overflow: visible;
	}

	.sp-instit__indice a {
		display: block;
		min-height: 0;
		margin-left: -2px;
		padding: 0 0 0 14px;
		border: 0;
		border-left: 2px solid transparent;
		border-radius: 0;
		background: none;
		font: 500 14px/40px 'Libre Franklin', sans-serif;
	}

	.sp-instit__indice a:hover {
		color: var(--sp-porto, #004b9b);
	}

	.sp-instit__indice a[aria-current='page'] {
		border-left-color: var(--sp-porto, #004b9b);
	}
}

/* ==========================================================================
   12c: Entrar ou criar conta (o modal de sempre, com o desenho novo)
   ========================================================================== */

.sp-auth .sp-modal {
	max-width: 420px;
	border-radius: 16px;
}

.sp-auth .sp-modal__header {
	align-items: flex-start;
	padding: 24px 20px 8px 24px;
	border-bottom: 0;
}

.sp-auth__cab {
	flex: 1;
	min-width: 0;
}

.sp-auth .sp-auth__titulo {
	margin: 0;
	font: 700 24px/29px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	letter-spacing: 0;
}

.sp-auth__sub {
	margin: 6px 0 0;
	font: 400 14px/19px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-auth__abas {
	margin: 8px 24px 0;
	gap: 4px;
	padding: 4px;
	border: 0 !important;
	border-radius: 12px;
	background: var(--sp-surface-subtle, #eef2f7);
}

.sp-auth__abas button {
	min-height: 40px;
	border-radius: 9px;
	font: 600 14px/1 'Libre Franklin', sans-serif !important;
}

.sp-auth__abas button.active {
	background: var(--sp-surface, #fff) !important;
	color: var(--sp-ink, #0f172a) !important;
	box-shadow: 0 1px 2px rgba(6, 21, 43, 0.08);
}

.sp-auth .modal-body {
	padding: 16px 24px 24px !important;
}

.sp-auth__social-botoes {
	display: grid;
	gap: 10px;
}

.sp-auth__social-botao {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: 12px;
	background: var(--sp-surface, #fff);
	font: 600 15px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink, #0f172a);
	cursor: pointer;
}

.sp-auth__social-botao:hover {
	background: var(--sp-surface-raised, #f8fafc);
}

.sp-auth__social-botao:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.sp-auth__ou {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 16px 0;
	font: 500 12px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink-soft, #7c8aa5);
}

.sp-auth__ou::before,
.sp-auth__ou::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--sp-border, #dfe5ee);
}

.sp-auth .sp-input {
	min-height: 48px;
	border-radius: 10px;
	font-size: 16px;
}

.sp-auth .sp-btn-primary {
	min-height: 48px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 700;
}

.sp-auth__termos {
	margin: 14px 0 0;
	text-align: center;
	font: 400 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-soft, #7c8aa5);
}

.sp-auth__termos a {
	color: var(--sp-porto, #004b9b);
}
