/*
 * Gestione Campionati - pagina riepilogativa per sport ([gc_pagina_sport]).
 *
 * Ogni campionato è un blocco con la stessa impostazione del giornale: barra titolo
 * (categoria a sinistra, girone a destra), RISULTATI, tabella SQUADRE con P V N P F S,
 * PROSSIMO TURNO. I blocchi si dispongono in una griglia che si adatta alla larghezza
 * disponibile: la larghezza minima di un blocco (290px) è l'unico valore da toccare
 * per avere più o meno colonne.
 *
 * Come nel resto del plugin (vedi public.css), colori e sfondi dei blocchi sono
 * rinforzati con selettori ad alta specificità e !important, per non essere
 * sovrascritti dalle regole di "dark mode" del tema.
 */

.gc-ps {
	--gc-ps-navy: #1b2a4a;
	--gc-ps-azzurro: #97b7d8;
	--gc-ps-linea: #d9e2ec;
	--gc-ps-linea-tenue: #edf1f6;
	--gc-ps-muto: #566579;
	--gc-ps-avviso: #b32d2e;

	margin: 0 0 2em;
	color-scheme: light;
}

/* ---------- Aggiornamento e indice ---------- */

.gc-ps .gc-ps-aggiornamento {
	margin: 0 0 1em;
	font-size: 0.9em;
	opacity: 0.8;
}

.gc-ps .gc-ps-indice ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 0.5em;
	padding: 0;
	list-style: none;
}

.gc-ps .gc-ps-indice li {
	margin: 0;
	padding: 0;
}

.gc-ps .gc-ps-indice a {
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid var(--gc-ps-navy);
	border-radius: 2px;
	background-color: #ffffff;
	color: var(--gc-ps-navy);
	font-size: 0.9em;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.gc-ps .gc-ps-indice a:hover,
.gc-ps .gc-ps-indice a:focus-visible {
	background: var(--gc-ps-navy);
	color: #fff;
}

/* ---------- Categorie e griglia ---------- */

.gc-ps .gc-ps-gruppo {
	scroll-margin-top: 80px;
}

.gc-ps h2.gc-ps-gruppo-titolo {
	margin: 1.6em 0 0.8em;
	padding: 0 0 0.3em;
	border: 0;
	border-bottom: 3px solid var(--gc-ps-navy);
	font-size: 1.35em;
	line-height: 1.2;
}

.gc-ps .gc-ps-griglia {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
	gap: 18px 16px;
	align-items: stretch;
}

/* ---------- Blocco di un campionato ---------- */

.gc-ps .gc-ps-mini.gc-ps-mini {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border: 1px solid var(--gc-ps-linea);
	font-size: 13px;
	line-height: 1.35;
	background-color: #ffffff !important;
	color: var(--gc-ps-navy) !important;
}

/* Barra titolo */
.gc-ps .gc-ps-mini .gc-ps-testa {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0 10px;
	margin: 0;
	padding: 7px 10px;
	border: 0;
	font-size: 14px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	background-color: var(--gc-ps-navy) !important;
}

.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-testa .gc-ps-nome {
	color: #ffffff !important;
}

.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-testa .gc-ps-girone {
	flex: 0 0 auto;
	margin-left: auto;
	font-size: 12px;
	font-weight: 500;
	white-space: nowrap;
	color: var(--gc-ps-azzurro) !important;
}

.gc-ps .gc-ps-corpo {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 12px;
	padding: 9px 10px 11px;
}

.gc-ps .gc-ps-blocco {
	margin: 0;
	padding: 0;
}

/* Etichette RISULTATI / SQUADRE / PROSSIMO TURNO */
.gc-ps .gc-ps-mini .gc-ps-etichetta,
.gc-ps .gc-ps-mini .gc-ps-tabella thead th {
	margin: 0 0 3px;
	padding: 0 0 2px;
	border: 0;
	border-bottom: 2px solid var(--gc-ps-azzurro);
	font-size: 12px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-align: left;
}

/* ---------- Risultati ---------- */

.gc-ps .gc-ps-mini .gc-ps-partite {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gc-ps .gc-ps-mini .gc-ps-partita {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	padding: 3px 0;
	border-bottom: 1px solid var(--gc-ps-linea);
}

.gc-ps .gc-ps-mini .gc-ps-coppia {
	flex: 1 1 auto;
	min-width: 0;
}

.gc-ps .gc-ps-mini .gc-ps-esito {
	flex: 0 0 auto;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.gc-ps .gc-ps-mini .gc-ps-esito-data {
	font-weight: 400;
	font-size: 12px;
}

.gc-ps .gc-ps-mini .gc-ps-nota {
	display: block;
	font-size: 11.5px;
	font-style: italic;
}

.gc-ps .gc-ps-mini .gc-ps-riposa {
	margin: 4px 0 0;
	padding: 0;
	font-style: italic;
}

/* ---------- Classifica ---------- */

.gc-ps .gc-ps-mini .gc-ps-tabella {
	width: 100%;
	margin: 0;
	table-layout: fixed;
	border-collapse: collapse;
	border: 0;
}

.gc-ps .gc-ps-mini .gc-ps-tabella th,
.gc-ps .gc-ps-mini .gc-ps-tabella td {
	border-left: 0;
	border-right: 0;
	vertical-align: baseline;
}

.gc-ps .gc-ps-mini .gc-ps-tabella tbody td {
	padding: 2px 0;
	border-top: 0;
	border-bottom: 1px solid var(--gc-ps-linea-tenue);
	line-height: 1.3;
}

.gc-ps .gc-ps-mini .gc-ps-tabella .gc-ps-c-num {
	width: 2em;
	padding-left: 0.2em;
	padding-right: 0;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.gc-ps .gc-ps-mini .gc-ps-tabella thead th.gc-ps-c-num {
	text-align: right;
}

.gc-ps .gc-ps-mini .gc-ps-tabella td.gc-ps-c-squadra {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gc-ps .gc-ps-mini .gc-ps-tabella .gc-ps-punti {
	font-weight: 700;
}

.gc-ps .gc-ps-mini .gc-ps-tabella abbr {
	border: 0;
	text-decoration: none;
	cursor: help;
}

.gc-ps .gc-ps-mini .gc-ps-pen {
	font-weight: 400;
}

/* ---------- Prossimo turno ---------- */

.gc-ps .gc-ps-mini .gc-ps-turno {
	margin: 0;
	padding: 0;
	font-size: 12.5px;
	line-height: 1.4;
}

.gc-ps .gc-ps-mini .gc-ps-esito-inline {
	font-variant-numeric: tabular-nums;
}

.gc-ps .gc-ps-mini .gc-ps-vuoto {
	margin: 0;
	padding: 0;
	font-size: 12.5px;
	font-style: italic;
}

/* ---------- Colori dei testi (rinforzati contro il dark mode del tema) ---------- */

.gc-ps .gc-ps-mini.gc-ps-mini :is(div, section, ul, li, p, table, thead, tbody, tr, td, th, caption, span, strong, em, time, abbr, h4) {
	background-color: transparent !important;
	color: var(--gc-ps-navy) !important;
}

.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-nota,
.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-vuoto,
.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-riposa,
.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-riposa strong,
.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-esito-data,
.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-esito-data time,
.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-esito-vuoto {
	color: var(--gc-ps-muto) !important;
}

.gc-ps .gc-ps-mini.gc-ps-mini .gc-ps-nota {
	color: var(--gc-ps-avviso) !important;
}

/* ---------- Solo per screen reader (didascalia della tabella) ---------- */

.gc-ps .gc-ps-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ---------- Riquadro per gli amministratori ---------- */

.gc-ps-avviso-admin {
	margin: 0 0 1.2em;
	padding: 10px 14px;
	border: 1px dashed #b32d2e;
	background-color: #fff8f8 !important;
	color: #333 !important;
	font-size: 13px;
	line-height: 1.45;
}

.gc-ps-avviso-admin p {
	margin: 0 0 6px;
	color: #333 !important;
}

.gc-ps-avviso-admin .gc-ps-avviso-evidenza {
	color: #b32d2e !important;
	font-weight: 700;
}

.gc-ps-avviso-admin table {
	width: 100%;
	margin-top: 8px;
	border-collapse: collapse;
	background: transparent !important;
}

.gc-ps-avviso-admin th,
.gc-ps-avviso-admin td {
	padding: 3px 8px 3px 0;
	border-bottom: 1px solid #f0d4d4;
	text-align: left;
	color: #333 !important;
	background: transparent !important;
}
