/*
 * TD Magazine – AP Top 25
 * Il box eredita font e colore del testo dal tema.
 * Per adattarlo ai colori del sito, sovrascrivi le variabili, ad esempio:
 *   .tdm-ap { --tdm-ap-accent: #c8102e; }
 *
 * Nota sulle larghezze: le colonne sono in "em" rispetto al font di ogni cella,
 * quindi quando una cella cambia dimensione del testo la larghezza viene ricalcolata
 * per restare identica in tutte le righe (numeri in commento = larghezza in em del box).
 */

.tdm-ap {
	--tdm-ap-accent: #1d3f73;
	--tdm-ap-bg: transparent;
	--tdm-ap-line: rgba(128, 128, 128, 0.22);
	--tdm-ap-muted: rgba(128, 128, 128, 0.95);
	--tdm-ap-up: #1a7f37;
	--tdm-ap-down: #c62828;

	box-sizing: border-box;
	max-width: 100%;
	margin: 0 0 1.5em;
	padding: 0;
	background: var(--tdm-ap-bg);
	border-top: 4px solid var(--tdm-ap-accent);
	font-size: 15px;
	line-height: 1.35;
	color: inherit;
}

.tdm-ap *,
.tdm-ap *::before,
.tdm-ap *::after {
	box-sizing: inherit;
}

/* ---------- Testata ---------- */

.tdm-ap .tdm-ap__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75em;
	padding: 0.7em 0 0.55em;
	border-bottom: 1px solid var(--tdm-ap-line);
}

.tdm-ap .tdm-ap__title {
	margin: 0;
	padding: 0;
	font-size: 1.2em;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: inherit;
}

.tdm-ap .tdm-ap__week {
	flex-shrink: 0;
	font-size: 0.85em;
	font-weight: 600;
	color: var(--tdm-ap-accent);
}

/* ---------- Righe ---------- */

.tdm-ap .tdm-ap__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tdm-ap .tdm-ap__row {
	display: flex;
	align-items: center;
	gap: 0.6em;
	margin: 0;
	padding: 0.45em 0;
	border-bottom: 1px solid var(--tdm-ap-line);
	list-style: none;
}

.tdm-ap .tdm-ap__row::before,
.tdm-ap .tdm-ap__row::marker {
	content: none;
}

/* Colonna posizione: 2.6em del box */
.tdm-ap .tdm-ap__rank {
	flex: 0 0 2.26em; /* 2.6 / 1.15 */
	font-size: 1.15em;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	text-align: right;
	color: var(--tdm-ap-accent);
}

/* La top 5 ha il numero più grande, stessa larghezza di colonna */
.tdm-ap .tdm-ap__list > .tdm-ap__row:nth-child(-n+5) .tdm-ap__rank {
	flex-basis: 1.93em; /* 2.6 / 1.35 */
	font-size: 1.35em;
}

.tdm-ap .tdm-ap__logo {
	display: block;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin: 0;
	object-fit: contain;
	border: 0;
	box-shadow: none;
}

.tdm-ap .tdm-ap__team {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tdm-ap .tdm-ap__fpv {
	font-weight: 400;
	font-size: 0.85em;
	color: var(--tdm-ap-muted);
}

/* Record e punti: 3.06em del box */
.tdm-ap .tdm-ap__rec,
.tdm-ap .tdm-ap__pts {
	flex: 0 0 3.4em; /* 3.06 / 0.9 */
	font-size: 0.9em;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
	color: var(--tdm-ap-muted);
}

/* Trend: 2.08em del box */
.tdm-ap .tdm-ap__mv {
	flex: 0 0 2.6em; /* 2.08 / 0.8 */
	font-size: 0.8em;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
	color: var(--tdm-ap-muted);
}

.tdm-ap .tdm-ap__mv span {
	font-size: 0.75em;
	margin-right: 0.15em;
}

.tdm-ap .tdm-ap__mv--up { color: var(--tdm-ap-up); }
.tdm-ap .tdm-ap__mv--down { color: var(--tdm-ap-down); }
.tdm-ap .tdm-ap__mv--new { color: var(--tdm-ap-accent); }

/* ---------- Intestazione colonne (versione completa) ---------- */

.tdm-ap .tdm-ap__row--cols {
	gap: 0.8em; /* 0.6 / 0.75 */
	padding: 0.55em 0 0.35em;
	font-size: 0.75em;
}

.tdm-ap .tdm-ap__row--cols > span {
	font-size: 1em;
	font-weight: 600;
	color: var(--tdm-ap-muted);
	overflow: visible;
}

.tdm-ap .tdm-ap__row--cols > .tdm-ap__rank { flex-basis: 3.47em; } /* 2.6 / 0.75 */
.tdm-ap .tdm-ap__row--cols > .tdm-ap__rec,
.tdm-ap .tdm-ap__row--cols > .tdm-ap__pts { flex-basis: 4.08em; } /* 3.06 / 0.75 */
.tdm-ap .tdm-ap__row--cols > .tdm-ap__mv { flex-basis: 2.77em; } /* 2.08 / 0.75 */

/* ---------- Altre squadre e piede ---------- */

.tdm-ap .tdm-ap__others {
	margin: 0;
	padding: 0.7em 0 0;
	font-size: 0.85em;
	line-height: 1.5;
	color: var(--tdm-ap-muted);
}

.tdm-ap .tdm-ap__others strong {
	color: inherit;
	font-weight: 700;
}

.tdm-ap .tdm-ap__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.4em 1em;
	padding: 0.6em 0 0;
	font-size: 0.8em;
	color: var(--tdm-ap-muted);
}

.tdm-ap .tdm-ap__more {
	font-weight: 700;
	color: var(--tdm-ap-accent);
	text-decoration: none;
}

.tdm-ap .tdm-ap__more:hover,
.tdm-ap .tdm-ap__more:focus-visible {
	text-decoration: underline;
}

.tdm-ap .tdm-ap__more:focus-visible {
	outline: 2px solid var(--tdm-ap-accent);
	outline-offset: 2px;
}

/* ---------- Versione light: home e sidebar ---------- */

.tdm-ap.tdm-ap--light {
	font-size: 14px;
}

.tdm-ap.tdm-ap--light .tdm-ap__row {
	gap: 0.5em;
	padding: 0.32em 0;
}

.tdm-ap.tdm-ap--light .tdm-ap__rank,
.tdm-ap.tdm-ap--light .tdm-ap__list > .tdm-ap__row:nth-child(-n+5) .tdm-ap__rank {
	flex-basis: 1.6em;
	font-size: 1em;
}

.tdm-ap.tdm-ap--light .tdm-ap__rec {
	flex-basis: auto;
}

/* ---------- Errore (visibile solo agli amministratori) ---------- */

.tdm-ap.tdm-ap--error {
	padding: 0.8em 1em;
	border: 1px dashed #c62828;
	font-size: 14px;
}

.tdm-ap.tdm-ap--error p {
	margin: 0;
}

/* ---------- Schermi molto stretti ---------- */

@media (max-width: 380px) {
	.tdm-ap.tdm-ap--full .tdm-ap__pts {
		display: none;
	}
}
