/* ===================================================================
   STANDINGS PAGE — light "Division C Standings" panel, driven by
   SportsPress's own computed league table (see page-standings.php).
   Tokens are scoped to .standings-modern so they don't touch the rest
   of the site's (dark) design tokens.
=================================================================== */

.standings-hero{ padding:70px 0 40px; text-align:center; }
.standings-hero .kicker{ display:block; margin-bottom:10px; color:var(--lime); }
.standings-hero h1{ font-size:clamp(40px,6vw,64px); margin:0 0 12px; }
.standings-hero .sub{ max-width:520px; margin:0 auto; color:var(--muted); }

.standings-modern{
	--navy: #14205b;
	--navy-soft: #eceffb;
	--s-line: #e2e5f2;
	--s-gold: #d99f1f;
	--s-up: #2f9e5c;
	--s-down: #d1594f;
	--s-text: #1b2140;
	--s-text-mute: #767d9c;

	padding:0 0 90px;
	font-family:'Oswald', var(--body);
	color:var(--s-text);
}

.standings-modern .panel{
	background:#fff;
	border-radius:16px;
	border:1px solid var(--s-line);
	box-shadow:0 20px 40px -24px rgba(20,32,91,0.25);
	overflow:hidden;
}

.standings-modern .panel-head{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:26px 28px 22px;
}
.standings-modern .panel-head h2{ font-size:22px; font-weight:500; margin:0; }

.standings-modern .legend{
	display:flex; gap:16px;
	font-family:'JetBrains Mono', var(--mono); font-size:11px; color:var(--s-text-mute);
}
.standings-modern .legend span{ display:flex; align-items:center; gap:6px; }
.standings-modern .dot{ width:8px; height:8px; border-radius:50%; }
.standings-modern .dot.gold{ background:var(--s-gold); }
.standings-modern .dot.down{ background:var(--s-down); }

.standings-modern table{ width:100%; border-collapse:collapse; }

.standings-modern thead th{
	text-align:center;
	font-family:'JetBrains Mono', var(--mono); font-size:11.5px; font-weight:500; letter-spacing:0.5px;
	color:var(--s-text-mute);
	padding:12px 10px;
	border-top:1px solid var(--s-line); border-bottom:1px solid var(--s-line);
	background:var(--navy-soft);
}
.standings-modern thead th:first-child{ width:56px; }
.standings-modern thead th.team-col{ text-align:left; }

.standings-modern tbody td{
	text-align:center; padding:14px 10px; font-size:15px;
	border-bottom:1px solid var(--s-line);
}
.standings-modern tbody tr:last-child td{ border-bottom:none; }
.standings-modern tbody tr{ position:relative; transition:background 0.15s ease; }
.standings-modern tbody tr:hover{ background:#fafbff; }

.standings-modern tbody tr::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; }
.standings-modern tbody tr.zone-title::before{ background:var(--s-gold); }
.standings-modern tbody tr.zone-drop::before{ background:var(--s-down); }

.standings-modern .pos{
	font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:15px; color:var(--s-text-mute);
}
.standings-modern tr.zone-title .pos{ color:var(--s-gold); }
.standings-modern tr.zone-drop .pos{ color:var(--s-down); }

.standings-modern .team-cell{
	display:flex; align-items:center; gap:12px; text-align:left; font-size:15.5px; font-weight:500;
}
.standings-modern .pos-badge{ display:none; }

.standings-modern .crest{
	width:32px; height:32px; border-radius:50%; flex-shrink:0;
	display:flex; align-items:center; justify-content:center;
	background:var(--navy-soft); border:1px solid var(--s-line);
	overflow:hidden; padding:3px; box-sizing:border-box;
	font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:9.5px; color:var(--navy);
}
.standings-modern .crest img{ width:100%; height:100%; object-fit:contain; }

.standings-modern .pts{
	font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:16px; color:var(--navy);
}
.standings-modern .gd{ font-family:'JetBrains Mono', var(--mono); }
.standings-modern .gd.pos-gd{ color:var(--s-up); }
.standings-modern .gd.neg-gd{ color:var(--s-down); }

.standings-modern .no-standings{ text-align:center; color:var(--s-text-mute); padding:40px 0; }

/* ---------- Tablet ---------- */
@media (max-width:840px){
	.standings-modern thead th, .standings-modern tbody td{ padding:12px 6px; font-size:13.5px; }
	.standings-modern .team-cell{ font-size:14px; }
}

/* ---------- Mobile: card layout ---------- */
@media (max-width:620px){
	.standings-modern .panel-head{ padding:20px 18px 16px; flex-direction:column; align-items:flex-start; gap:10px; }

	.standings-modern thead{ display:none; }
	.standings-modern table,
	.standings-modern tbody,
	.standings-modern tr{ display:block; width:100%; }

	.standings-modern tbody tr{ padding:16px 18px; }
	.standings-modern tbody tr::before{ width:0; border-left:3px solid transparent; }
	.standings-modern tbody tr.zone-title{ border-left:3px solid var(--s-gold); }
	.standings-modern tbody tr.zone-drop{ border-left:3px solid var(--s-down); }

	.standings-modern tbody td{ display:none; border-bottom:none; padding:0; }

	.standings-modern td.team-col{ display:block; margin-bottom:12px; }
	.standings-modern .pos-badge{
		display:inline-flex; align-items:center; justify-content:center;
		width:22px; height:22px; border-radius:5px;
		background:var(--navy-soft); color:var(--navy);
		font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:11.5px;
		margin-right:2px;
	}

	.standings-modern td.stat-row{ display:block; }

	.standings-modern .stat-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px 0; }
	.standings-modern .stat-grid div{ text-align:left; }
	.standings-modern .stat-grid .label{
		display:block;
		font-family:'JetBrains Mono', var(--mono); font-size:9.5px; letter-spacing:0.5px;
		color:var(--s-text-mute); margin-bottom:2px;
	}
	.standings-modern .stat-grid .value{ font-size:14px; font-weight:500; }
	.standings-modern .stat-grid .value.pts{ color:var(--navy); font-size:16px; }
	.standings-modern .stat-grid .value.gd.pos-gd{ color:var(--s-up); }
	.standings-modern .stat-grid .value.gd.neg-gd{ color:var(--s-down); }
}

@media (min-width:621px){
	.standings-modern td.stat-row{ display:none; }
}
