/* ============================================================
   SportsPress — brand skin for league tables / player lists.
   Loaded after the plugin CSS; a few !important where the plugin
   uses .sp-template-prefixed selectors we'd otherwise lose to.
   ============================================================ */

/* --- SportsPress single pages: drop the news-style byline --- */
.single-sp_table  .entry-header .entry-meta,
.single-sp_list   .entry-header .entry-meta,
.single-sp_player .entry-header .entry-meta,
.single-sp_staff  .entry-header .entry-meta,
.single-sp_team   .entry-header .entry-meta,
.single-sp_event  .entry-header .entry-meta,
.single-scoreboard .entry-header .entry-meta,
body[class*="single-sp_"] .entry-meta,
body.single-scoreboard .entry-meta {
	display: none !important;
}

/* --- table shell --- */
.sp-template table.sp-league-table,
.sp-template table.sp-player-list,
.fp-widget--table table.sp-league-table {
	width: 100%;
	border-collapse: collapse;
	font-family: "Titillium Web", Arial, sans-serif;
	font-size: .9rem;
	background: #fff;
	border: 1px solid #e7eaed;
}

/* --- header row --- */
.sp-template .sp-data-table thead th,
.sp-template table.sp-league-table thead th,
.sp-template table.sp-player-list thead th,
.fp-widget--table .sp-league-table thead th {
	background-color: #16181d !important;
	color: #fff !important;
	font: 700 .74rem/1.15 "Roboto Condensed", Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: .4px;
	padding: .62rem .5rem;
	text-align: center;
	border: 0;
}
.sp-template .sp-data-table thead th.data-name,
.sp-template .sp-data-table thead th.data-player { text-align: left !important; }

/* --- body cells --- */
.sp-template .sp-data-table tbody td,
.fp-widget--table .sp-league-table tbody td {
	padding: .55rem .5rem;
	text-align: center;
	border: 0;
	border-bottom: 1px solid #edf0f2;
	color: #2b2f36;
}
.sp-template .sp-data-table tbody td.data-name,
.sp-template .sp-data-table tbody td.data-player { text-align: left; font-weight: 600; }
.sp-template .sp-data-table tbody td.data-rank { font-weight: 700; color: #6a7280; }
.sp-template .sp-data-table tbody td.data-pts  { font-weight: 700; color: #16181d; }

.sp-template .sp-data-table tbody tr:nth-child(even) td,
.fp-widget--table .sp-league-table tbody tr:nth-child(even) td { background: #fafbfc; }
.sp-template .sp-data-table tbody tr:hover td { background: #fff5f5; }

/* leader gets a red rail */
.sp-template .sp-data-table tbody tr.sp-row-no-0 td:first-child {
	box-shadow: inset 3px 0 0 var(--theme-palette-color-1, #b22222);
}

/* team crest */
.sp-template .sp-data-table td.data-name .team-logo img,
.fp-widget--table .sp-league-table td.data-name .team-logo img {
	width: 20px; height: 20px; object-fit: contain;
	vertical-align: middle; margin-right: .45rem;
}

/* caption / lead paragraph above a table */
.single-sp_table .entry-content > .sp-section-content > p:first-child,
.single-sp_list .entry-content > .sp-section-content > p:first-child {
	color: #55606d; font-size: .92rem; margin-bottom: 1rem;
}

/* SportsPress pagination row */
.sp-template .sp-pagination { margin-top: .6rem; font-size: .8rem; color: #6a7280; }

/* hide an empty SportsPress data section (caption only, no table/list —
   happens where editors kept the roster/scorers in the post body instead) */
.sp-section-content-data:not(:has(table)):not(:has(ul)):not(:has(ol)) {
	display: none;
}

/* narrow screens: let wide tables scroll */
.sp-scrollable-table-wrapper,
.sp-table-wrapper { overflow-x: auto; }
