/* ============================================================================
   Cruzeiro do Povo — cdp-v3958.css   v3.9.58
   1) Compat SportsPress: o plugin injeta CSS/markup que comprime o header
      nas páginas /list/*, /player/*, /team/*, /event/*. Forçamos o layout.
   2) Gradiente OFICIAL do site (safira) como token reutilizável aplicado
      em hero, footer, botões primários, badges, seções e cards de destaque.
   ============================================================================ */

/* ---------- 1. TOKEN OFICIAL ---------- */
:root {
	/* Gradiente oficial — sincronizado com header (v3.9.63). */
	--cdp-gradient-official:
		radial-gradient(ellipse 130% 110% at 50% 30%, #3D7DE5 0%, #1B5FCC 50%, #0F3F9E 100%);
	--cdp-gradient-official-soft:
		linear-gradient(135deg, rgba(61,125,229,.12) 0%, rgba(15,63,158,.18) 100%);
	--cdp-gradient-official-on: #ffffff;
	--cdp-gradient-official-accent: #C9A646; /* ouro do brasão */
}

/* ============================================================================
   2. COMPAT SPORTSPRESS — garante header íntegro em todas as páginas do plugin
   ============================================================================ */
body.sportspress .site-header,
body[class*="single-sp_"] .site-header,
body[class*="post-type-archive-sp_"] .site-header,
body[class*="tax-sp_"] .site-header,
body[class*="page-template-sportspress"] .site-header {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Container interno: força flex e larguras corretas mesmo se o SP injetar
   regras genéricas em .container / .menu / nav. */
body.sportspress .site-header > .container,
body[class*="single-sp_"] .site-header > .container,
body[class*="post-type-archive-sp_"] .site-header > .container,
body[class*="tax-sp_"] .site-header > .container,
body[class*="page-template-sportspress"] .site-header > .container {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	max-width: 1320px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 10px 24px !important;
	min-height: 60px !important;
	flex-wrap: nowrap !important;
}

/* Neutraliza max-width / overflow que o SportsPress aplica em descendentes
   genéricos (li, ul, a) afetando header/branding. */
body.sportspress .site-header *,
body[class*="single-sp_"] .site-header *,
body[class*="post-type-archive-sp_"] .site-header *,
body[class*="tax-sp_"] .site-header *,
body[class*="page-template-sportspress"] .site-header * {
	max-width: none !important;
}

/* Branding: garante que logo + nome ocupem espaço próprio sem encolher */
body.sportspress .site-header .site-branding,
body[class*="single-sp_"] .site-header .site-branding,
body[class*="post-type-archive-sp_"] .site-header .site-branding,
body[class*="tax-sp_"] .site-header .site-branding,
body[class*="page-template-sportspress"] .site-header .site-branding {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex: 0 1 auto !important;
	min-width: 0 !important;
}

body.sportspress .site-header .site-branding__name,
body[class*="single-sp_"] .site-header .site-branding__name,
body[class*="post-type-archive-sp_"] .site-header .site-branding__name {
	font-size: 18px !important;
	white-space: nowrap !important;
	overflow: visible !important;
}

/* Hambúrguer: o SP às vezes esconde botões via .sp-toggle / display rules */
body.sportspress .site-header .cdp-menu-toggle,
body[class*="single-sp_"] .site-header .cdp-menu-toggle,
body[class*="post-type-archive-sp_"] .site-header .cdp-menu-toggle {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-shrink: 0 !important;
}

/* Tipografia das tabelas SportsPress alinhada ao tema */
body.sportspress .sp-data-table,
body[class*="single-sp_"] .sp-data-table {
	font-family: var(--cdp-font-body) !important;
}

/* ============================================================================
   3. APLICAÇÃO DO GRADIENTE OFICIAL
   ============================================================================ */

/* Hero / capas de seção */
.cdp-hero,
.cdp-hero--official,
.cdp-section--official,
.cdp-section-band,
.front-hero,
.editorial-hero {
	background: var(--cdp-gradient-official) !important;
	color: var(--cdp-gradient-official-on) !important;
}
.cdp-hero h1, .cdp-hero h2, .cdp-hero p,
.cdp-section--official h1, .cdp-section--official h2,
.cdp-section--official h3, .cdp-section--official p {
	color: var(--cdp-gradient-official-on);
}

/* Footer — identidade visual unificada */
.site-footer,
body .site-footer,
.cdp-footer {
	background: var(--cdp-gradient-official) !important;
	color: var(--cdp-gradient-official-on) !important;
	border-top: 2px solid var(--cdp-gradient-official-accent) !important;
}
.site-footer a,
.cdp-footer a {
	color: var(--cdp-gradient-official-on) !important;
}
.site-footer a:hover,
.cdp-footer a:hover {
	color: var(--cdp-gradient-official-accent) !important;
}

/* Botões primários */
.cdp-btn-primary,
.cdp-button--primary,
.button.cdp-primary,
.wp-block-button.is-style-cdp-primary .wp-block-button__link,
.cdp-cta--primary {
	background: var(--cdp-gradient-official) !important;
	color: var(--cdp-gradient-official-on) !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	box-shadow: 0 6px 18px rgba(0, 31, 92, .28) !important;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.cdp-btn-primary:hover,
.cdp-button--primary:hover,
.button.cdp-primary:hover,
.wp-block-button.is-style-cdp-primary .wp-block-button__link:hover,
.cdp-cta--primary:hover {
	filter: brightness(1.08);
	box-shadow: 0 10px 26px rgba(0, 31, 92, .38) !important;
	transform: translateY(-1px);
}

/* Badges/pills oficiais */
.cdp-badge--official,
.cdp-pill--official,
.cdp-tag--official {
	background: var(--cdp-gradient-official) !important;
	color: var(--cdp-gradient-official-on) !important;
	border: none !important;
}

/* Cards de destaque (community, share, breaking) */
.cdp-card--official,
.cdp-feature-card--official,
.cdp-share-card,
.cdp-breaking-card {
	background: var(--cdp-gradient-official) !important;
	color: var(--cdp-gradient-official-on) !important;
	border-color: var(--cdp-gradient-official-accent) !important;
}
.cdp-card--official a,
.cdp-feature-card--official a,
.cdp-share-card a,
.cdp-breaking-card a {
	color: var(--cdp-gradient-official-on) !important;
}

/* Faixas de seção do front (latest-news, sections-premium) */
.cdp-section-title-bar,
.section-band-official {
	background: var(--cdp-gradient-official) !important;
	color: var(--cdp-gradient-official-on) !important;
	padding: 12px 18px;
	border-radius: var(--cdp-radius-md, 10px);
	border-left: 4px solid var(--cdp-gradient-official-accent);
}

/* Cabeçalho de listas SportsPress (player list, team list etc.) */
body.sportspress .sp-template-event-blocks h4,
body.sportspress .sp-template h4,
body[class*="single-sp_"] .sp-template h4,
body[class*="post-type-archive-sp_"] .sp-template h4 {
	background: var(--cdp-gradient-official) !important;
	color: var(--cdp-gradient-official-on) !important;
	padding: 10px 14px !important;
	border-left: 4px solid var(--cdp-gradient-official-accent) !important;
	border-radius: var(--cdp-radius-sm, 6px) !important;
}
