/*
 * The football module's blocks (SerpCaptain GOL 0.63.1's gol.css, class names scap-*). On a
 * site that ran GOL every element also carries GOL's scgl-* class, so the theme's rules for it
 * keep applying.
 */
/*
 * SerpCaptain GOL front-end blocks.
 * Matches the direttasport24 theme system: dark ground (#0d0d0d/#1a1a1a),
 * card #242424, accent green #00c853, Inter, border #333.
 */

.scap-block {
	margin: 1.5rem 0;
}

figure.scap-block {
	padding: 0;
}

.scap-caption {
	font-weight: 700;
	font-size: 0.95rem;
	color: var( --text-white, #ffffff );
	margin-bottom: 0.6rem;
}

.scap-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.scap-table {
	width: 100%;
	border-collapse: collapse;
	background: var( --card-bg, #242424 );
	border: 1px solid var( --border-color, #333333 );
	border-radius: 8px;
	overflow: hidden;
	font-size: 0.92rem;
}

.scap-table th,
.scap-table td {
	padding: 0.55rem 0.7rem;
	text-align: left;
	border-bottom: 1px solid var( --border-color, #333333 );
	color: var( --text-white, #ffffff );
	white-space: nowrap;
}

.scap-table tr:last-child td {
	border-bottom: none;
}

.scap-table thead th {
	background: var( --secondary-bg, #1a1a1a );
	color: var( --text-gray, #b0b0b0 );
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.scap-table .num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.scap-muted {
	color: var( --text-gray, #b0b0b0 );
}

/* Match tables: a FIXED column grid shared by every league section, so the
   status, score and bet columns align vertically across the whole board
   (each league renders as its own table — without fixed layout every table
   computed its own widths and the buttons drifted). */
.scap-matches {
	table-layout: fixed;
}

.scap-matches .scap-status {
	width: 78px;
	color: var( --text-gray, #b0b0b0 );
	font-size: 0.8rem;
}

.scap-matches .scap-score {
	width: 118px;
	text-align: center;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	position: relative;
}

.scap-matches.scap-has-aff .scap-aff {
	width: 128px;
}

.scap-matches .scap-home,
.scap-matches .scap-away {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.scap-matches .scap-home {
	text-align: right;
}

/* Zebra rows + hover: each fixture reads as its own strip, so the aligned
   buttons never visually merge into one column of floating pills. */
.scap-matches tbody tr:nth-child( even ) td {
	background: rgba( 255, 255, 255, 0.025 );
}

.scap-matches tbody tr:hover td {
	background: rgba( 0, 200, 83, 0.07 );
}

/* Winner emphasis on finished matches. */
.scap-matches .scap-win {
	font-weight: 700;
	color: var( --text-white, #ffffff );
}

/* Scoreboard chip: score (or kickoff time) in a consistent pill, so the
   center column has one steady visual anchor in every row. */
.scap-score-chip {
	display: inline-block;
	min-width: 58px;
	padding: 0.14rem 0.55rem;
	border-radius: 6px;
	background: var( --secondary-bg, #1a1a1a );
	border: 1px solid var( --border-color, #333333 );
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.scap-chip-live {
	color: var( --accent-green, #00c853 );
	border-color: var( --accent-green, #00c853 );
}

.scap-chip-scheduled {
	color: var( --text-gray, #b0b0b0 );
	font-weight: 600;
}

.scap-chip-other {
	color: var( --text-light-gray, #888888 );
}

/* Half-time score: a labeled small line UNDER the score chip. The old
   absolute-right placement sat glued to the chip and, whenever the half-time
   and current scores matched, read as a confusing duplicate. */
.scap-ht {
	display: block;
	margin-top: 2px;
	color: var( --text-light-gray, #888888 );
	font-size: 0.68rem;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.scap-badge {
	display: inline-block;
	padding: 0.1rem 0.45rem;
	border-radius: 4px;
	font-size: 0.72rem;
	font-weight: 700;
	background: var( --secondary-bg, #1a1a1a );
	color: var( --text-gray, #b0b0b0 );
}

.scap-badge-live {
	background: var( --accent-green, #00c853 );
	color: #06210f;
	animation: scap-pulse 2s infinite;
}

.scap-badge-finished {
	background: var( --secondary-bg, #1a1a1a );
	color: var( --text-white, #ffffff );
}

@keyframes scap-pulse {
	50% {
		opacity: 0.75;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.scap-badge-live {
		animation: none;
	}
}

.scap-league {
	margin: 0 0 1.4rem;
}

.scap-league-name {
	font-size: 1rem;
	font-weight: 700;
	color: var( --text-white, #ffffff );
	margin: 0 0 0.5rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var( --accent-green, #00c853 );
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.scap-flag {
	border-radius: 2px;
	flex: 0 0 auto;
}

.scap-aff a,
.scap-go {
	display: block;
	width: 100%;
	text-align: center;
	background: var( --accent-green, #00c853 );
	color: #06210f;
	font-family: inherit;
	font-weight: 700;
	font-size: 0.72rem;
	line-height: 1.4;
	letter-spacing: 0.04em;
	padding: 0.3rem 0.55rem;
	border: 0;
	border-radius: 5px;
	cursor: pointer;
	text-decoration: none;
}

.scap-aff a:hover,
.scap-go:hover {
	background: var( --accent-green-hover, #00e676 );
}

.scap-go:focus-visible {
	outline: 2px solid var( --text-white, #ffffff );
	outline-offset: 2px;
}

/* Next to a pick (pick card, picks card): compact, inline. */
.scap-go.scap-go-pick {
	display: inline-block;
	width: auto;
	align-self: center;
	margin-left: 0.25rem;
	padding: 0.32rem 0.75rem;
}

.scap-expand {
	display: block;
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.5rem 0.75rem;
	background: var( --secondary-bg, #1a1a1a );
	color: var( --accent-green, #00c853 );
	border: 1px solid var( --border-color, #333333 );
	border-radius: 6px;
	font-weight: 600;
	font-size: 0.85rem;
	cursor: pointer;
}

.scap-expand:hover {
	border-color: var( --accent-green, #00c853 );
}

.scap-card {
	background: var( --card-bg, #242424 );
	border: 1px solid var( --border-color, #333333 );
	border-left: 3px solid var( --accent-green, #00c853 );
	border-radius: 8px;
	padding: 1rem 1.2rem;
}

.scap-kicker {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.72rem;
	font-weight: 700;
	color: var( --accent-green, #00c853 );
	margin: 0 0 0.3rem;
}

.scap-card-title {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
	color: var( --text-white, #ffffff );
}

.scap-card-meta {
	margin: 0 0 0.3rem;
	color: var( --text-gray, #b0b0b0 );
	font-size: 0.9rem;
}

.scap-tv {
	margin: 0.4rem 0;
	color: var( --text-white, #ffffff );
}

.scap-countdown {
	font-variant-numeric: tabular-nums;
	color: var( --accent-green, #00c853 );
	font-weight: 600;
	margin: 0.3rem 0 0;
}

/* Tennis board: two player rows per match, set scores with tiebreak
   superscripts, serve dot, sets-won total. */
.scap-tennis .scap-status {
	width: 72px;
	vertical-align: middle;
	border-bottom: 1px solid var( --border-color, #333333 );
}

.scap-tennis td {
	white-space: nowrap;
}

.scap-tennis .scap-tennis-player {
	width: auto;
	max-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.scap-tennis-match td {
	border-bottom: none;
	padding-bottom: 0.15rem;
}

.scap-tennis-second td {
	border-bottom: 1px solid var( --border-color, #333333 );
	padding-top: 0.15rem;
}

.scap-tennis tr:last-child td {
	border-bottom: none;
}

.scap-serve {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var( --accent-green, #00c853 );
	margin-right: 0.35rem;
	vertical-align: middle;
	animation: scap-pulse 2s infinite;
}

.scap-tennis-sets {
	text-align: right;
	font-variant-numeric: tabular-nums;
	color: var( --text-gray, #b0b0b0 );
	width: 130px;
}

.scap-tennis-sets .scap-set {
	display: inline-block;
	min-width: 1.15rem;
	text-align: center;
}

.scap-tennis-sets sup {
	font-size: 0.62em;
	color: var( --text-light-gray, #888888 );
}

.scap-tennis-total {
	width: 54px;
	text-align: center;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.scap-tennis-game {
	display: inline-block;
	margin-left: 0.35rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: var( --accent-green, #00c853 );
}

@media ( max-width: 640px ) {
	.scap-tennis .scap-status {
		width: 52px;
	}

	.scap-tennis-sets {
		width: 96px;
	}

	.scap-tennis-total {
		width: 34px;
	}

	.scap-tennis-game {
		display: block;
		margin: 0;
	}
}

/* The collapsed long tail of world competitions (Diretta.it pattern):
   present in the HTML for crawlers, one click away for the curious. */
.scap-others {
	margin: 1.2rem 0 0;
	border-top: 1px solid var( --border-color, #333333 );
	padding-top: 0.4rem;
}

.scap-others > summary {
	cursor: pointer;
	list-style: none;
	padding: 0.65rem 0.75rem;
	background: var( --secondary-bg, #1a1a1a );
	border: 1px solid var( --border-color, #333333 );
	border-radius: 6px;
	color: var( --accent-green, #00c853 );
	font-weight: 600;
	font-size: 0.88rem;
}

.scap-others > summary::-webkit-details-marker {
	display: none;
}

.scap-others > summary::before {
	content: '▸ ';
}

.scap-others[open] > summary {
	margin-bottom: 1rem;
}

.scap-others[open] > summary::before {
	content: '▾ ';
}

.scap-others > summary:hover {
	border-color: var( --accent-green, #00c853 );
}

/* Pronostici hub board: real fixtures, real odds, link per pairing. */
.scap-pron td {
	white-space: normal;
	vertical-align: middle;
}

.scap-pron .scap-pron-date {
	width: 118px;
	color: var( --text-gray, #b0b0b0 );
	font-size: 0.82rem;
	white-space: nowrap;
}

.scap-pron-round {
	display: block;
	color: var( --text-light-gray, #888888 );
	font-size: 0.72rem;
}

/* Desktop: "21 ago, 20:45" on one line; phones: day and hour stack. */
.scap-pron-hour::before {
	content: ', ';
}

.scap-pron .scap-pron-odds {
	width: 150px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var( --text-gray, #b0b0b0 );
}

.scap-pron .scap-pron-pick a {
	color: var( --accent-green, #00c853 );
	text-decoration: none;
	font-size: 0.88rem;
}

.scap-pron .scap-pron-pick a:hover {
	text-decoration: underline;
}

.scap-pron .scap-aff {
	width: 128px;
}

.scap-pron-upcoming {
	margin: 0.5rem 0 0;
	font-size: 0.82rem;
	line-height: 1.7;
	color: var( --text-gray, #b0b0b0 );
}

.scap-pron-upcoming a {
	color: var( --accent-green, #00c853 );
	text-decoration: none;
	white-space: nowrap;
}

.scap-pron-upcoming a:hover {
	text-decoration: underline;
}

.scap-pron-more {
	margin: 0.5rem 0 0;
}

.scap-pron-more a {
	color: var( --accent-green, #00c853 );
	font-weight: 600;
	font-size: 0.88rem;
	text-decoration: none;
}

.scap-pron-more a:hover {
	text-decoration: underline;
}

.scap-updated,
.scap-note {
	color: var( --text-light-gray, #888888 );
	font-size: 0.78rem;
	margin: 0.5rem 0 0;
}

.scap-empty {
	color: var( --text-gray, #b0b0b0 );
	background: var( --card-bg, #242424 );
	border: 1px dashed var( --border-color, #333333 );
	border-radius: 8px;
	padding: 0.8rem 1rem;
	font-size: 0.92rem;
}

@media ( max-width: 640px ) {
	.scap-table {
		font-size: 0.82rem;
	}

	.scap-table th,
	.scap-table td {
		padding: 0.45rem 0.4rem;
	}

	.scap-matches .scap-status {
		width: 56px;
		white-space: normal;
		line-height: 1.25;
	}

	.scap-badge {
		font-size: 0.62rem;
		padding: 0.08rem 0.3rem;
	}

	.scap-matches .scap-score {
		width: 92px;
	}

	.scap-score-chip {
		min-width: 46px;
		padding: 0.1rem 0.4rem;
	}

	.scap-ht {
		display: none;
	}

	.scap-aff {
		display: none;
	}

	/* On phones the board keeps date, match and OUR pick — odds go. */
	.scap-pron .scap-pron-odds {
		display: none;
	}

	.scap-pron .scap-pron-date {
		width: 64px;
		white-space: normal;
	}

	.scap-pron .scap-pron-day,
	.scap-pron .scap-pron-hour {
		display: block;
		white-space: nowrap;
	}

	.scap-pron .scap-pron-hour::before {
		content: '';
	}
}

/* ---------------------------------------------------------------------
   Pronostico page chrome (0.13.0): match header band + pick card —
   deterministic UI rendered around the generated analysis, so the money
   information (teams, kickoff, picks, live quote) reads in three seconds
   like on the champion competitors, before a word of prose.
   --------------------------------------------------------------------- */

.scap-pron-hero {
	position: relative;
	overflow: hidden;
	margin: 0 0 1rem;
	padding: 1.4rem 1.4rem 1.2rem;
	border-radius: 12px;
	border: 1px solid var( --border-color, #333333 );
	/* Two-tone pairing gradient (hues set per match from the team names)
	   washed over the artwork — every match band is subtly its own. */
	background:
		linear-gradient( 105deg, hsl( var( --scap-hue-home, 145 ) 45% 24% / 0.55 ) 0%, rgba( 13, 13, 13, 0 ) 55% ),
		linear-gradient( 255deg, hsl( var( --scap-hue-away, 210 ) 45% 24% / 0.55 ) 0%, rgba( 13, 13, 13, 0 ) 55% ),
		linear-gradient( 100deg, rgba( 13, 13, 13, 0.9 ) 30%, rgba( 13, 13, 13, 0.55 ) 100% ),
		var( --scap-pron-band, var( --card-bg, #242424 ) ) center / cover;
}

.scap-pron-hero-league {
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var( --accent-green, #00c853 );
}

.scap-pron-hero-teams {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 0 0 0.45rem;
	font-size: 1.55rem;
	font-weight: 800;
	line-height: 1.15;
	color: var( --text-white, #ffffff );
	letter-spacing: -0.01em;
}

.scap-pron-hero-teams em {
	font-style: normal;
	font-size: 0.85rem;
	font-weight: 600;
	color: var( --text-gray, #b0b0b0 );
}

.scap-pron-hero-meta {
	margin: 0;
	color: var( --text-gray, #b0b0b0 );
	font-size: 0.9rem;
}

.scap-pron-hero .scap-countdown {
	margin: 0.4rem 0 0;
}

.scap-pick-card {
	margin: 0 0 1.6rem;
	padding: 1.1rem 1.3rem;
	border-radius: 12px;
	background: var( --card-bg, #242424 );
	border: 1px solid var( --border-color, #333333 );
	border-left: 3px solid var( --accent-green, #00c853 );
}

.scap-pick-title {
	margin: 0 0 0.6rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var( --accent-green, #00c853 );
}

.scap-pick-rows {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 0.75rem;
}

.scap-pick-row {
	display: inline-flex;
	align-items: baseline;
	gap: 0.5rem;
	padding: 0.5rem 0.85rem;
	border-radius: 8px;
	background: var( --secondary-bg, #1a1a1a );
	border: 1px solid var( --border-color, #333333 );
}

.scap-pick-market {
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var( --text-gray, #b0b0b0 );
}

.scap-pick-value {
	font-size: 1.15rem;
	font-weight: 800;
	color: var( --accent-green, #00c853 );
}

.scap-pick-odds {
	font-size: 0.9rem;
	font-weight: 600;
	color: var( --text-white, #ffffff );
	font-variant-numeric: tabular-nums;
}

.scap-pick-odds-live {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding-top: 0.6rem;
	border-top: 1px solid var( --border-color, #333333 );
}

.scap-odds-label {
	font-size: 0.78rem;
	color: var( --text-gray, #b0b0b0 );
}

.scap-odds-chip {
	display: inline-flex;
	align-items: baseline;
	gap: 0.35rem;
	padding: 0.28rem 0.6rem;
	border-radius: 6px;
	background: var( --secondary-bg, #1a1a1a );
	border: 1px solid var( --border-color, #333333 );
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var( --text-white, #ffffff );
	font-size: 0.9rem;
}

.scap-odds-chip em {
	font-style: normal;
	font-size: 0.7rem;
	font-weight: 600;
	color: var( --accent-green, #00c853 );
}

.scap-odds-updated {
	font-size: 0.72rem;
	color: var( --text-light-gray, #888888 );
}

.scap-pick-note {
	margin: 0.7rem 0 0;
	font-size: 0.7rem;
	line-height: 1.5;
	color: var( --text-light-gray, #888888 );
}

/* Picks card on league pronostici pages and pronostico articles. */
.scap-picks {
	margin: 0 0 1.6rem;
	padding: 1.1rem 1.3rem;
	border-radius: 12px;
	background: var( --card-bg, #242424 );
	border: 1px solid var( --border-color, #333333 );
	border-left: 3px solid var( --accent-green, #00c853 );
}

.scap-picks-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

.scap-picks-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem 0.9rem;
	margin: 0;
	padding: 0.55rem 0.85rem;
	border-radius: 8px;
	background: var( --secondary-bg, #1a1a1a );
	border: 1px solid var( --border-color, #333333 );
}

.scap-picks-match {
	flex: 1 1 14rem;
	font-weight: 700;
	color: var( --text-white, #ffffff );
}

.scap-picks-match a {
	color: inherit;
	text-decoration: none;
}

.scap-picks-match a:hover {
	text-decoration: underline;
}

.scap-picks-when {
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	color: var( --text-gray, #b0b0b0 );
}

.scap-picks-pick {
	display: inline-flex;
	align-items: baseline;
	gap: 0.4rem;
}

.scap-picks-pick .scap-pick-value {
	font-size: 1.05rem;
}

@media ( max-width: 640px ) {
	.scap-pron-hero-teams {
		font-size: 1.25rem;
	}
}

/* ------------------------------------------------------------------ */
/* 0.16.0 — UX pass (Refero-grounded, mobile-first).                   */
/* ------------------------------------------------------------------ */

/* Standings zones: the color affordance every livescore leader ships. */
.scap-standings tr[class*="scap-zone-"] td:first-child {
	position: relative;
}

.scap-standings tr[class*="scap-zone-"] td:first-child::before {
	content: "";
	position: absolute;
	left: 0;
	top: 15%;
	bottom: 15%;
	width: 3px;
	border-radius: 2px;
}

.scap-standings .scap-zone-ucl td:first-child::before,
.scap-standings .scap-zone-up td:first-child::before { background: #00c853; }
.scap-standings .scap-zone-uel td:first-child::before,
.scap-standings .scap-zone-po td:first-child::before { background: #42a5f5; }
.scap-standings .scap-zone-conf td:first-child::before { background: #26c6da; }
.scap-standings .scap-zone-wo td:first-child::before { background: #ffb300; }
.scap-standings .scap-zone-rel td:first-child::before { background: #ef5350; }

.scap-zone-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	margin: 0.6rem 0 0;
	font-size: 0.72rem;
	color: var( --text-gray, #9e9e9e );
}

.scap-zone-key {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.scap-zone-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	display: inline-block;
}

.scap-zone-dot.scap-zone-ucl,
.scap-zone-dot.scap-zone-up { background: #00c853; }
.scap-zone-dot.scap-zone-uel,
.scap-zone-dot.scap-zone-po { background: #42a5f5; }
.scap-zone-dot.scap-zone-conf { background: #26c6da; }
.scap-zone-dot.scap-zone-wo { background: #ffb300; }
.scap-zone-dot.scap-zone-rel { background: #ef5350; }

/* Pronostici hub: whole row is the tap target when a pronostico exists. */
.scap-pron tbody tr.scap-rowlink {
	cursor: pointer;
}

.scap-pron tbody tr.scap-rowlink:hover td {
	background: rgba( 0, 200, 83, 0.06 );
}

/* Sticky pick recall bar — phones only, slim, dismissible, no CLS
   (fixed overlay takes no layout space). */
.scap-pick-sticky {
	display: none;
}

@media ( max-width: 768px ) {
	.scap-pick-sticky {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		position: fixed;
		left: 0.6rem;
		right: 0.6rem;
		bottom: calc( 0.6rem + env( safe-area-inset-bottom, 0px ) );
		z-index: 60;
		padding: 0.55rem 0.75rem;
		border-radius: 999px;
		border: 1px solid rgba( 0, 200, 83, 0.35 );
		background: rgba( 13, 13, 13, 0.94 );
		backdrop-filter: blur( 6px );
		box-shadow: 0 6px 24px rgba( 0, 0, 0, 0.45 );
	}

	.scap-pick-sticky[hidden] {
		display: none;
	}

	.scap-pick-sticky a {
		flex: 1;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		min-width: 0;
		font-size: 0.82rem;
		color: #ffffff;
		text-decoration: none;
	}

	.scap-pick-sticky a strong {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.scap-pick-sticky a span {
		margin-left: auto;
		flex-shrink: 0;
		font-size: 0.72rem;
		color: var( --accent-green, #00c853 );
	}

	.scap-pick-sticky-x {
		flex-shrink: 0;
		width: 26px;
		height: 26px;
		border: 0;
		border-radius: 50%;
		background: rgba( 255, 255, 255, 0.08 );
		color: var( --text-gray, #9e9e9e );
		font-size: 1rem;
		line-height: 1;
		cursor: pointer;
	}
}

/* Very small phones: give the team names the width the ellipsis was
   eating — slimmer status column, tighter score chip. */
@media ( max-width: 420px ) {
	.scap-matches .scap-status {
		width: 44px;
	}

	.scap-badge {
		font-size: 0.58rem;
		letter-spacing: 0;
	}

	.scap-matches .scap-score {
		width: 74px;
	}

	.scap-score-chip {
		min-width: 40px;
		padding: 0.1rem 0.3rem;
	}

	.scap-table th,
	.scap-table td {
		padding: 0.45rem 0.3rem;
	}
}

/* 0.17.0 — real club crests in the match band. */
.scap-pron-hero-teams .scap-crest {
	width: 44px;
	height: 44px;
	object-fit: contain;
	vertical-align: middle;
	margin-right: 0.5rem;
	filter: drop-shadow( 0 2px 6px rgba( 0, 0, 0, 0.6 ) );
}

.scap-pron-hero-teams.scap-has-crests span {
	display: inline-flex;
	align-items: center;
}

@media ( max-width: 640px ) {
	.scap-pron-hero-teams .scap-crest {
		width: 32px;
		height: 32px;
		margin-right: 0.4rem;
	}
}

/* 0.17.1 — post-match verdict chips + next-meeting line on the band. */
.scap-pick-verdict {
	margin-left: auto;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	padding: 0.14rem 0.5rem;
	border-radius: 999px;
}

.scap-verdict-won {
	color: #0c120f;
	background: var( --accent-green, #00c853 );
}

.scap-verdict-lost {
	color: #ffffff;
	background: rgba( 239, 83, 80, 0.85 );
}

.scap-pron-hero-next {
	margin: 0.45rem 0 0;
	font-size: 0.8rem;
	color: var( --text-gray, #b0b0b0 );
}

/* 0.18.0 — crest thumbs in every football table (boards, hub, classifica). */
.scap-team-crest {
	width: 18px;
	height: 18px;
	object-fit: contain;
	vertical-align: -4px;
	display: inline-block;
}

.scap-matches .scap-home .scap-team-crest {
	margin-left: 0.4rem;
}

.scap-matches .scap-away .scap-team-crest {
	margin-right: 0.4rem;
}

.scap-pron-match .scap-team-crest,
.scap-standings-team .scap-team-crest {
	margin-right: 0.35rem;
}

@media ( max-width: 420px ) {
	.scap-team-crest {
		width: 15px;
		height: 15px;
		vertical-align: -3px;
	}

	.scap-matches .scap-home .scap-team-crest {
		margin-left: 0.25rem;
	}

	.scap-matches .scap-away .scap-team-crest {
		margin-right: 0.25rem;
	}
}

/* 0.36.0 — data reports */
.scap-report-headline { font-size: 1.15em; font-weight: 600; margin: 8px 0 12px; }
.scap-report-chart { width: 100%; height: auto; display: block; margin: 4px 0 14px; }
.scap-report-chart .scap-bar { fill: #1d6fb8; }
.scap-report-chart .scap-bar-neg { fill: #c0392b; }
.scap-report-chart text { font-size: 13px; fill: currentColor; }
.scap-report-chart .scap-chart-val { font-weight: 600; }
.scap-report-chart .scap-chart-axis { font-size: 11px; opacity: .7; }
.scap-cite { border: 1px solid rgba(0,0,0,.12); border-left: 4px solid #1d6fb8; border-radius: 6px; padding: 10px 14px; margin-top: 14px; font-size: .95em; }
.scap-cite p { margin: 6px 0; }
.scap-cite-embed code { display: inline-block; max-width: 100%; overflow-x: auto; white-space: nowrap; font-size: .85em; }
.scap-cite-method { opacity: .8; font-size: .9em; }
.scap-report-index { list-style: none; padding: 0; margin: 12px 0; }
.scap-report-index li { padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.scap-report-index-sub { opacity: .8; font-size: .92em; }

/* 0.37.0 — photo credit */
.scap-photo-credit { display: block; text-align: right; font-size: .78em; opacity: .65; margin: 4px 0 0; }
.scap-photo-credit a { color: inherit; text-decoration: none; border-bottom: 1px dotted currentColor; }

/* 0.40.0 — post-match block + cronaca back-link */
.scap-postmatch { margin: 28px 0; padding: 18px 20px; border: 1px solid rgba(0,0,0,.12); border-left: 4px solid #00c853; border-radius: 8px; }
.scap-postmatch h2 { margin-top: 0; }
.scap-pm-goals { list-style: none; padding: 0; margin: 6px 0 12px; }
.scap-pm-goals li { padding: 4px 0; border-bottom: 1px solid rgba(0,0,0,.06); }
.scap-pm-team, .scap-pm-assist { opacity: .75; font-size: .92em; }
.scap-pm-verdict { margin-top: 12px; }
.scap-pm-links { font-weight: 600; }
.scap-pron-back { margin-top: 24px; padding: 10px 14px; border-left: 4px solid #00c853; background: rgba(0,200,83,.06); }

/* 0.41.0 — landing pages v2: day nav, tabs, Italians, record, verified, fallback lists */
.scap-hub-controls { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; margin: 0 0 12px; }
.scap-daynav { display: inline-flex; gap: 6px; }
.scap-daynav-a { padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(128,128,128,.35); text-decoration: none; color: inherit; font-size: .9em; }
.scap-daynav-a.is-active { background: #00c853; color: #0d0d0d; border-color: #00c853; font-weight: 600; }
.scap-tabs { display: inline-flex; gap: 4px; border: 1px solid rgba(128,128,128,.35); border-radius: 999px; padding: 3px; }
.scap-tab { border: 0; background: transparent; color: inherit; padding: 5px 12px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .9em; }
.scap-tab.is-active { background: rgba(0,200,83,.18); color: #00c853; font-weight: 600; }
.scap-tab-live .scap-tennis-match:not(.scap-live), .scap-tab-live .scap-tennis-second:not(.scap-live),
.scap-tab-finished .scap-tennis-match:not(.scap-finished), .scap-tab-finished .scap-tennis-second:not(.scap-finished),
.scap-tab-scheduled .scap-tennis-match:not(.scap-scheduled), .scap-tab-scheduled .scap-tennis-second:not(.scap-scheduled) { display: none; }
.scap-hub-tennis.scap-tab-live .scap-league:not(:has(.scap-tennis-match.scap-live)), .scap-hub-tennis.scap-tab-finished .scap-league:not(:has(.scap-tennis-match.scap-finished)), .scap-hub-tennis.scap-tab-scheduled .scap-league:not(:has(.scap-tennis-match.scap-scheduled)) { display: none; }
.scap-tab-today tr[class*="scap-day-"]:not(.scap-day-today), .scap-tab-tomorrow tr[class*="scap-day-"]:not(.scap-day-tomorrow), .scap-tab-week tr.scap-day-later { display: none; }
.scap-tab-today .scap-league:not(:has(tr.scap-day-today)), .scap-tab-tomorrow .scap-league:not(:has(tr.scap-day-tomorrow)), .scap-tab-week .scap-league:not(:has(tr.scap-day-today, tr.scap-day-tomorrow, tr.scap-day-week)) { display: none; }
.scap-italians { border: 1px solid rgba(0,200,83,.45); border-radius: 10px; padding: 6px 10px 2px; margin-bottom: 18px; background: rgba(0,200,83,.05); }
.scap-italians .scap-league-name::before { content: "🇮🇹 "; }
.scap-record { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; padding: 14px 16px; border: 1px solid rgba(0,200,83,.45); border-radius: 12px; background: rgba(0,200,83,.06); margin: 0 0 16px; }
.scap-record-kpi strong { display: block; font-size: 1.9em; line-height: 1.1; color: #00c853; }
.scap-record-kpi span { font-size: .85em; opacity: .85; }
.scap-record-note { grid-column: 1 / -1; margin: 4px 0 0; font-size: .88em; opacity: .85; }
.scap-badge-won { background: rgba(0,200,83,.18); color: #00c853; }
.scap-badge-lost { background: rgba(220,53,69,.18); color: #ff6b6b; }
.scap-sport-picks { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.scap-plainlink { padding: 6px 12px; border: 1px solid rgba(128,128,128,.35); border-radius: 999px; text-decoration: none; color: inherit; font-size: .92em; }
.scap-plainlink:hover { border-color: #00c853; color: #00c853; }
.scap-newslist { list-style: none; padding: 0; margin: 8px 0 12px; }
.scap-newslist li { padding: 8px 0; border-bottom: 1px solid rgba(128,128,128,.2); }
.scap-empty-note { opacity: .85; }

/* Results hub (0.42.0) */
.scap-hub-calcio.scap-tab-live tr.scap-finished, .scap-hub-calcio.scap-tab-live tr.scap-scheduled, .scap-hub-calcio.scap-tab-live tr.scap-other,
.scap-hub-calcio.scap-tab-finished tr.scap-live, .scap-hub-calcio.scap-tab-finished tr.scap-scheduled, .scap-hub-calcio.scap-tab-finished tr.scap-other,
.scap-hub-calcio.scap-tab-scheduled tr.scap-live, .scap-hub-calcio.scap-tab-scheduled tr.scap-finished, .scap-hub-calcio.scap-tab-scheduled tr.scap-other { display: none; }
.scap-hub-calcio.scap-tab-live .scap-league:not(:has(tr.scap-live)), .scap-hub-calcio.scap-tab-finished .scap-league:not(:has(tr.scap-finished)), .scap-hub-calcio.scap-tab-scheduled .scap-league:not(:has(tr.scap-scheduled)) { display: none; }
.scap-hub-calcio.scap-tab-italia .scap-league:not(.scap-league-it) { display: none; }
.scap-hub-calcio.scap-tab-live details.scap-others:not(:has(tr.scap-live)), .scap-hub-calcio.scap-tab-finished details.scap-others:not(:has(tr.scap-finished)), .scap-hub-calcio.scap-tab-scheduled details.scap-others:not(:has(tr.scap-scheduled)), .scap-hub-calcio.scap-tab-italia details.scap-others:not(:has(.scap-league-it)) { display: none; }
.scap-hub-calcio:not(.scap-tab-all) .scap-league { margin-top: 0; }
.scap-rs-digest { padding: 16px 18px; border: 1px solid rgba(0,200,83,.4); border-left-width: 4px; border-radius: 12px; background: rgba(0,200,83,.06); margin: 0 0 20px; }
.scap-rs-digest h2 { margin: 0 0 8px; font-size: 1.15em; }
.scap-rs-digest p { margin: 0 0 8px; line-height: 1.55; }
.scap-rs-digest p:last-child { margin-bottom: 0; }
/* "Il punto" as a compact digest (0.60.3): lead line, up to five labelled lines, one closing sentence. */
.scap-rs-digest { container-type: inline-size; }
.scap-rs-digest p.scap-dg-lead { margin: 0 0 10px; font-size: .95em; opacity: .85; }
.scap-dg-list { list-style: none; margin: 0 0 10px; padding: 0; }
.scap-dg-list li { display: grid; grid-template-columns: 8.5em minmax(0, 1fr); gap: 2px 14px; padding: 9px 0; border-top: 1px solid rgba(128,128,128,.22); line-height: 1.45; }
.scap-dg-k { padding-top: .25em; font-size: .74em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #00c853; }
.scap-dg-k a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(0,200,83,.45); }
.scap-dg-k a:hover, .scap-dg-k a:focus-visible { border-bottom-color: currentColor; }
.scap-dg-hl .scap-dg-k { color: inherit; opacity: .6; }
.scap-dg-m { white-space: nowrap; font-variant-numeric: tabular-nums; }
.scap-dg-sep { opacity: .4; }
.scap-dg-note { font-size: .86em; opacity: .6; white-space: nowrap; }
.scap-rs-digest p.scap-dg-tail { margin: 0; font-size: .88em; opacity: .72; }
@container (max-width: 480px) {
	.scap-dg-list li { grid-template-columns: minmax(0, 1fr); }
	.scap-dg-m { white-space: normal; }
}
.scap-rs-title { margin: 22px 0 10px; font-size: 1.15em; }
.scap-rs-links { margin: 26px 0 0; }
.scap-rs-links h2, .scap-rs-faq h2 { font-size: 1.15em; margin: 0 0 10px; }
.scap-rs-links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.scap-rs-links li a { display: inline-block; padding: 7px 13px; border: 1px solid rgba(128,128,128,.35); border-radius: 999px; text-decoration: none; color: inherit; font-size: .92em; }
.scap-rs-links li a:hover { border-color: #00c853; color: #00c853; }
.scap-rs-faq { margin: 26px 0 0; }
.scap-rs-faq details { border-bottom: 1px solid rgba(128,128,128,.25); padding: 10px 0; }
.scap-rs-faq summary { cursor: pointer; font-weight: 600; }
.scap-rs-faq p { margin: 8px 0 0; line-height: 1.55; opacity: .92; }

/* Homepage blocks (0.43.0) */
.scap-rs-more { margin: 10px 0 0; font-size: .92em; }
.scap-rs-more a { color: #00c853; text-decoration: none; }
.scap-ticker-shell { position: relative; }
.scap-ticker-wrap { margin: 0; }
.scap-ticker-nav { position: absolute; top: 0; bottom: 0; width: 56px; border: 0; padding: 0; margin: 0; cursor: pointer; z-index: 2; color: #f5f7f5; font: 700 30px/1 inherit; display: none; align-items: center; justify-content: center; }
.scap-ticker-nav-prev { left: 0; background: linear-gradient(270deg, rgba(13,13,13,0), rgba(13,13,13,.94)); }
.scap-ticker-nav-next { right: 0; background: linear-gradient(90deg, rgba(13,13,13,0), rgba(13,13,13,.94)); }
.scap-ticker-shell.has-prev .scap-ticker-nav-prev, .scap-ticker-shell.has-next .scap-ticker-nav-next { display: flex; }
.scap-ticker-nav:hover { color: #00c853; }
.scap-ticker-nav:focus-visible { outline: 2px solid #00c853; outline-offset: -2px; }
@media (max-width: 767px) { .scap-ticker-nav { width: 40px; } .scap-ticker-nav span { display: none; } }
.scap-ticker { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0; scroll-padding: 0 56px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; -ms-overflow-style: none; cursor: grab; }
.scap-ticker::-webkit-scrollbar { display: none; height: 0; }
.scap-ticker:active { cursor: grabbing; }
.scap-ticker-card { flex: 0 0 auto; min-width: 168px; max-width: min(300px, calc(100vw - 32px)); box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 2px 10px; align-items: center; padding: 8px 12px; border: 1px solid rgba(128,128,128,.28); border-radius: 10px; text-decoration: none; color: inherit; background: rgba(255,255,255,.03); scroll-snap-align: start; }
.scap-ticker-card:hover { border-color: #00c853; }
.scap-ticker-league { grid-column: 1 / -1; min-width: 0; font-size: .7em; text-transform: uppercase; letter-spacing: .08em; opacity: .7; display: flex; justify-content: space-between; gap: 8px; white-space: nowrap; }
.scap-ticker-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.scap-ticker-league em { flex: 0 0 auto; }
.scap-ticker-league em { font-style: normal; color: #00c853; opacity: 1; }
.scap-ticker-live .scap-ticker-league em { animation: scap-blink 1.6s infinite; }
.scap-ticker-teams { display: grid; gap: 1px; min-width: 0; font-size: .88em; line-height: 1.25; white-space: nowrap; }
.scap-ticker-teams span { overflow: hidden; text-overflow: ellipsis; }
.scap-ticker-score { font-weight: 700; font-variant-numeric: tabular-nums; font-size: .95em; white-space: nowrap; text-align: right; }
.scap-ticker-finished .scap-ticker-score { opacity: .85; }
.scap-ticker-scheduled .scap-ticker-score { opacity: .75; font-weight: 600; }
@keyframes scap-blink { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* Match links on the board (0.45.0) */
.scap-matches a.scap-matchlink { color: inherit; text-decoration: none; border-bottom: 1px dotted rgba(0,200,83,.55); }
.scap-matches a.scap-matchlink:hover { color: #00c853; border-bottom-style: solid; }
.scap-matches tr:target { outline: 2px solid #00c853; outline-offset: -2px; background: rgba(0,200,83,.08); }
.scap-matches tr:target td { scroll-margin-top: 90px; }

/* Basket hub extras (0.48.0) */
.scap-bk-ieri, .scap-bk-next, .scap-bk-cards { margin: 26px 0 0; }
.scap-bk-ieri h2, .scap-bk-next h2, .scap-bk-cards h2 { font-size: 1.15em; margin: 0 0 10px; }
.scap-bk-ieri ul { list-style: none; margin: 0; padding: 0; }
.scap-bk-ieri li { padding: 7px 0; border-bottom: 1px solid rgba(128,128,128,.22); }
.scap-bk-comp { display: inline-block; font-size: .72em; text-transform: uppercase; letter-spacing: .08em; opacity: .7; margin-right: 8px; white-space: nowrap; }
.scap-bk-next h3 { font-size: .95em; margin: 16px 0 6px; color: #00c853; text-transform: capitalize; }
.scap-bk-table td { padding: 8px 10px; }
.scap-bk-time { width: 64px; font-variant-numeric: tabular-nums; font-weight: 600; }
.scap-bk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.scap-bk-card { border: 1px solid rgba(128,128,128,.28); border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.03); }
.scap-bk-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.scap-bk-body { padding: 14px 16px 16px; }
.scap-bk-body h3 { margin: 0 0 6px; font-size: 1.05em; }
.scap-bk-body p { margin: 0 0 10px; font-size: .92em; line-height: 1.5; opacity: .9; }
.scap-bk-body a { color: #00c853; text-decoration: none; font-size: .92em; }
@media (max-width: 760px) { .scap-bk-grid { grid-template-columns: 1fr; } }

/* Il punto di … (0.49.0) */
.scap-punto { margin: 0 0 20px; display: grid; gap: 12px; }
.scap-punto-card { margin: 0; display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 14px 16px; border: 1px solid rgba(0,200,83,.45); border-left-width: 4px; border-radius: 12px; background: rgba(0,200,83,.06); }
.scap-punto-card img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.scap-punto-kicker { margin: 0 0 4px; font-size: .78em; text-transform: uppercase; letter-spacing: .1em; color: #00c853; font-weight: 700; }
.scap-punto-text { margin: 0 0 6px; font-size: 1.05em; line-height: 1.55; font-style: italic; }
.scap-punto-card footer { font-size: .85em; opacity: .8; }
.scap-punto-card footer a { color: inherit; }

/* 0.60.0 live league summary on hub pages */
.scap-pulse{border-left:3px solid #00c853;background:rgba(0,200,83,.07);padding:.75em 1em;border-radius:6px;margin:1em 0 1.25em}
.scap-pulse strong{color:inherit}
.scap-pulse-stamp{display:block;font-size:.82em;opacity:.72;margin-top:.35em}
