/* STS Charts — frontend styles (v1.10.4: motyw gns + centrowanie px-only tylko w blog-sts) */
/* Dynamic colors via CSS Custom Properties set inline on wrapper */

/* ── Shared wrapper ─────────────────────────────── */
.sts-wrapper {
	box-sizing: border-box;
	font-family: inherit;
	margin: 2.5em 0;
}

/* ══════════════════════════════════════════════════
   RANKING TABLE
   ══════════════════════════════════════════════════ */
.sts-ranking-wrap {
	position: relative;
	/* clip po hidden: nowe przegladarki biora clip (nie tworzy scroll containera i nie blokuje
	   position:sticky w potomkach - tak samo robi statscore.css na GNS, ktore tez styluje
	   .sts-ranking-wrap; przy odwrotnej kolejnosci ladowania nie psujemy im sticky). */
	overflow: hidden;
	overflow: clip;
	background: linear-gradient(to bottom right, #FFFFFF 0%, #D3DADF 55%, #F1F3F5 100%);
	padding: 25px 30px;
	border: 3px solid var(--sts-cp);
	border-radius: 22px;
	box-sizing: border-box;
	font-family: inherit;
}

.sts-ranking-wrap .rl-triangle {
	position: absolute;
	right: 0; bottom: 0;
	width: 220px; height: 220px;
	background: var(--sts-cl);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	z-index: 0;
}

.sts-ranking-wrap .rl-inner {
	position: relative;
	z-index: 1;
}

.sts-ranking-wrap .rl-title {
	margin: 0;
	text-align: center;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.15;
	color: #1a1a1a;
}

.sts-ranking-wrap .rl-title span {
	display: inline-block;
	padding: 0 5px 14px;
	border-bottom: 2px solid var(--sts-cp);
}

.sts-ranking-wrap .rl-wrap {
	max-width: min(90%, 1100px);
	margin: 18px auto 0;
	overflow-x: auto;
}

.sts-ranking-wrap .rl-head {
	display: grid;
	grid-template-columns: var(--sts-grid);
	gap: 8px;
	align-items: end;
	text-align: center;
	font-weight: 900;
	font-size: 13px;
	color: #333;
	opacity: .85;
	margin-bottom: 8px;
}

.sts-ranking-wrap .rl-head > div {
	display: flex;
	align-items: center;
	justify-content: center;
}

.sts-ranking-wrap .rl-rows {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sts-ranking-wrap .rl-row {
	display: grid;
	grid-template-columns: var(--sts-grid);
	gap: 8px;
	align-items: stretch;
}

/* Tylko blog-sts: tam wrapper ma width: fit-content i szerokosc wyznacza tytul,
   wiec przy samych kolumnach px suma trackow bywa mniejsza od boxa i grid siada
   przy lewej krawedzi. Centrowanie dziala tylko przy wolnym miejscu - przy
   kolumnie `1fr` regula jest bezczynna. Pozostale motywy (domyslny, typelek, gns)
   maja pelna szerokosc i uklad od lewej - bez centrowania. */
.sts-ranking-wrap.theme-blog-sts .rl-head,
.sts-ranking-wrap.theme-blog-sts .rl-row {
	justify-content: center;
}

.sts-ranking-wrap .rl-cell {
	min-height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid rgba(var(--sts-cp-rgb), .28);
	border-radius: 12px;
	background: rgba(255,255,255,.35);
	padding: 7px 10px;
	box-sizing: border-box;
	font-size: 15px;
	font-weight: 800;
	color: #000;
	/* Długa wartość zawija się i powiększa wiersz zamiast być ucinana.
	   min-width:0 pozwala komórce gridu skurczyć się do tracka i zawinąć tekst. */
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	min-width: 0;
	line-height: 1.25;
	text-align: center;
}

.sts-ranking-wrap .rl-cell--delta {
	border: none;
	background: transparent;
	padding: 0;
	overflow: visible;
}

.sts-ranking-wrap .rl-delta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 80px;
	padding: 0 12px;
	height: 28px;
	border-radius: 10px;
	color: #fff;
	font-weight: 900;
	font-size: 13px;
	white-space: nowrap;
}

.sts-ranking-wrap .rl-up   { background: var(--sts-cdp); }
.sts-ranking-wrap .rl-down { background: var(--sts-cn); }
.sts-ranking-wrap .rl-flat { background: var(--sts-cu); }

.sts-ranking-wrap .rl-source {
	width: 260px;
	max-width: 100%;
	margin: 20px auto 0;
	text-align: center;
	background: var(--sts-cp);
	color: #fff;
	border-radius: 14px;
	padding: 12px 18px;
	font-weight: 800;
	font-size: 15px;
	box-sizing: border-box;
}

.sts-ranking-wrap .rl-source a {
	color: #fff;
	text-decoration: none;
}

@media (max-width: 1024px) {
	.sts-ranking-wrap { padding: 20px; }
	.sts-ranking-wrap .rl-title { font-size: 28px; }
	.sts-ranking-wrap .rl-head { font-size: 12px; }
	.sts-ranking-wrap .rl-cell { height: 38px; font-size: 14px; padding: 0 8px; }
	.sts-ranking-wrap .rl-delta { min-width: 70px; height: 26px; font-size: 12px; }
}

@media (max-width: 720px) {
	.sts-ranking-wrap { padding: 15px 12px; }
	.sts-ranking-wrap .rl-head { display: none; }
	.sts-ranking-wrap .rl-row {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 8px 0;
	}
	.sts-ranking-wrap .rl-cell {
		justify-content: flex-end;
		text-align: right;
		height: 44px;
		font-size: 16px;
		padding: 0 12px;
	}
	.sts-ranking-wrap .rl-cell::before {
		content: attr(data-label);
		font-weight: 900;
		font-size: 13px;
		opacity: .75;
		margin-right: auto;
		padding-right: 10px;
		text-align: left;
		white-space: normal;
	}
	.sts-ranking-wrap .rl-cell--delta {
		display: flex;
		justify-content: flex-end;
		height: 44px;
	}
	.sts-ranking-wrap .rl-cell--delta::before {
		content: attr(data-label);
		font-weight: 900;
		font-size: 13px;
		opacity: .75;
		margin-right: auto;
		padding-right: 10px;
	}
	.sts-ranking-wrap .rl-delta {
		min-width: 100px;
		height: 32px;
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.sts-ranking-wrap { padding: 12px 8px; border-width: 2px; }
	.sts-ranking-wrap .rl-title { font-size: 22px; }
	.sts-ranking-wrap .rl-title span { padding: 0 3px 10px; }
}

/* ══════════════════════════════════════════════════
   BAR CHART
   ══════════════════════════════════════════════════ */
.sts-barchart-wrap {
	display: flex;
	justify-content: center;
	padding: 40px 0;
	font-family: inherit;
}

.sts-barchart-wrap .sts-box {
	width: 1200px;
	max-width: 100%;
	position: relative;
	border: 3px solid var(--sts-cp);
	border-radius: 22px;
	background: linear-gradient(to bottom right, #ffffff 0%, #D3DADF 55%, #F1F3F5 100%);
	padding: 40px 60px;
	box-sizing: border-box;
	overflow: hidden;
}

.sts-barchart-wrap .sts-title {
	text-align: center;
	font-size: 34px;
	font-weight: 700;
	margin: 0 0 10px;
	position: relative;
	z-index: 2;
	color: #1a1a1a;
}

.sts-barchart-wrap .sts-underline {
	width: 500px;
	max-width: 80%;
	height: 6px;
	background: var(--sts-cp);
	margin: 0 auto 40px;
}

.sts-barchart-wrap .sts-chart {
	position: relative;
	display: flex;
	align-items: flex-end;
	--bar-max: 400px;
	height: 500px;
	gap: 16px;
	z-index: 2;
	padding-bottom: 3px;
	box-sizing: border-box;
	margin-bottom: 90px;
	overflow: visible;
}

.sts-barchart-wrap .sts-zero-line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--sts-cp);
}

.sts-barchart-wrap .sts-bar-item {
	flex: 1;
	min-width: 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	position: relative;
}

.sts-barchart-wrap .sts-bar-delta {
	white-space: nowrap;
	margin-bottom: 10px;
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}

.sts-barchart-wrap .sts-bar-delta-pos { background: var(--sts-cdp); }
.sts-barchart-wrap .sts-bar-delta-neg { background: var(--sts-cn); }

.sts-barchart-wrap .sts-bar {
	width: 70%;
	max-width: 120px;
	border-radius: 12px;
	height: calc(var(--bar-ratio) * var(--bar-max));
	background: var(--sts-bar-bg);
}

.sts-barchart-wrap .sts-bar-value {
	margin-bottom: 6px;
	font-size: 20px;
	font-weight: 700;
	color: #333;
}

.sts-barchart-wrap .sts-bar-label-wrap {
	position: absolute;
	top: calc(100% + 6px);
	left: 50%;
	white-space: nowrap;
	font-style: italic;
	font-weight: 600;
	font-size: 13px;
	line-height: 1;
	color: #333;
	transform: rotate(35deg);
	transform-origin: 0 0;
}

.sts-barchart-wrap .sts-source {
	width: 260px;
	max-width: 100%;
	margin: 20px auto 0;
	text-align: center;
	background: var(--sts-cp);
	color: #fff;
	border-radius: 14px;
	padding: 12px 18px;
	font-weight: 800;
	font-size: 15px;
	box-sizing: border-box;
}

.sts-barchart-wrap .sts-source a {
	color: #fff;
	text-decoration: none;
}

@media (max-width: 1024px) {
	.sts-barchart-wrap .sts-box { padding: 30px 30px; }
	.sts-barchart-wrap .sts-title { font-size: 28px; }
	.sts-barchart-wrap .sts-chart { --bar-max: 320px; height: 420px; gap: 12px; }
}

@media (max-width: 768px) {
	.sts-barchart-wrap .sts-box { padding: 24px 20px; }
	.sts-barchart-wrap .sts-title { font-size: 24px; }
	.sts-barchart-wrap .sts-chart { --bar-max: 220px; height: 300px; gap: 8px; }
	.sts-barchart-wrap .sts-bar-value { font-size: 14px; }
	.sts-barchart-wrap .sts-bar-label-wrap { font-size: 11px; }
	.sts-barchart-wrap .sts-chart { margin-bottom: 70px; }
	.sts-barchart-wrap .sts-bar-delta { font-size: 12px; padding: 4px 8px; }
}

@media (max-width: 480px) {
	.sts-barchart-wrap .sts-box { padding: 16px 12px; }
	.sts-barchart-wrap .sts-title { font-size: 18px; margin: 0 0 6px; }
	.sts-barchart-wrap .sts-underline { height: 4px; margin: 0 auto 16px; }
	.sts-barchart-wrap .sts-chart { --bar-max: 140px; height: 200px; gap: 4px; }
	.sts-barchart-wrap .sts-bar-value { font-size: 11px; margin-bottom: 4px; }
	.sts-barchart-wrap .sts-bar-label-wrap { font-size: 9px; }
	.sts-barchart-wrap .sts-chart { margin-bottom: 55px; }
	.sts-barchart-wrap .sts-bar-delta { font-size: 10px; padding: 2px 4px; margin-bottom: 4px; }
}

/* ══════════════════════════════════════════════════
   LINE CHART
   ══════════════════════════════════════════════════ */
.sts-linechart-wrap {
	display: flex;
	justify-content: center;
	padding: 40px 0;
	font-family: inherit;
}

.sts-linechart-wrap .sts-lc-box {
	width: 1200px;
	max-width: 100%;
	position: relative;
	border: 3px solid var(--sts-cp);
	border-radius: 22px;
	background: linear-gradient(to bottom right, #ffffff 0%, #D3DADF 55%, #F1F3F5 100%);
	padding: 40px 30px;
	box-sizing: border-box;
	overflow: hidden;
}

.sts-linechart-wrap .sts-lc-title {
	text-align: center;
	font-size: 34px;
	font-weight: 700;
	margin: 0 0 10px;
	color: #1a1a1a;
}

.sts-linechart-wrap .sts-lc-underline {
	width: 500px;
	max-width: 80%;
	height: 6px;
	background: var(--sts-cp);
	margin: 0 auto 30px;
}

.sts-linechart-wrap .sts-lc-svg {
	display: block;
	width: 100%;
	height: auto;
}

.sts-linechart-wrap .sts-lc-legend {
	display: flex;
	justify-content: center;
	gap: 24px;
	margin-top: 20px;
	flex-wrap: wrap;
}

.sts-linechart-wrap .sts-lc-legend-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #333;
}

.sts-linechart-wrap .sts-lc-legend-dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	flex-shrink: 0;
}

.sts-linechart-wrap .sts-lc-source {
	width: 260px;
	max-width: 100%;
	margin: 20px auto 0;
	text-align: center;
	background: var(--sts-cp);
	color: #fff;
	border-radius: 14px;
	padding: 12px 18px;
	font-weight: 800;
	font-size: 15px;
	box-sizing: border-box;
}

.sts-linechart-wrap .sts-lc-source a {
	color: #fff;
	text-decoration: none;
}

@media (max-width: 1024px) {
	.sts-linechart-wrap .sts-lc-box { padding: 30px 20px; }
	.sts-linechart-wrap .sts-lc-title { font-size: 28px; }
}

@media (max-width: 768px) {
	.sts-linechart-wrap .sts-lc-box { padding: 24px 16px; }
	.sts-linechart-wrap .sts-lc-title { font-size: 24px; }
	.sts-linechart-wrap .sts-lc-legend { gap: 16px; }
	.sts-linechart-wrap .sts-lc-legend-item { font-size: 12px; }
}

@media (max-width: 480px) {
	.sts-linechart-wrap .sts-lc-box { padding: 16px 10px; }
	.sts-linechart-wrap .sts-lc-title { font-size: 18px; margin: 0 0 6px; }
	.sts-linechart-wrap .sts-lc-underline { height: 4px; margin: 0 auto 16px; }
	.sts-linechart-wrap .sts-lc-legend { gap: 10px; }
	.sts-linechart-wrap .sts-lc-legend-item { font-size: 11px; }
}

/* ══════════════════════════════════════════════════
   MOTYW: blog-sts
   ══════════════════════════════════════════════════ */

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.sts.pl/blog/wp-content/cache/fonts/1/google-fonts/fonts/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmZiArmlw.woff2') format('woff2');
}

/* ── Ranking — blog-sts ─────────────────────────── */

.sts-ranking-wrap.theme-blog-sts {
	font-family: 'Roboto', Arial, sans-serif;
	background: linear-gradient(to bottom right, #ffffff 0%, #C8DCEF 55%, #EAF1F8 100%);
	border: 3px solid #f0a30a;
	border-radius: 14px;
	padding: 24px 20px 20px;
	isolation: isolate;
	width: fit-content;
	max-width: 100%;
	box-shadow: 0 8px 25px rgba(0,0,0,.09);
}

/* Trójkąt tło — za wszystkim */
.sts-ranking-wrap.theme-blog-sts .rl-triangle {
	background: #1565C0;
	opacity: .12;
	width: 180px;
	height: 180px;
	z-index: 0;
}

/* Zawartość nad trójkątem */
.sts-ranking-wrap.theme-blog-sts .rl-inner {
	position: relative;
	z-index: 1;
}

/* Pełna szerokość tabeli w kontenerze */
.sts-ranking-wrap.theme-blog-sts .rl-wrap {
	max-width: 100%;
}

/* Tytuł */
.sts-ranking-wrap.theme-blog-sts .rl-title {
	font-family: 'Roboto', Arial, sans-serif;
	font-size: clamp(0.9em, 2.5vw, 1.25em);
	font-weight: 900;
	letter-spacing: 0.3px;
	color: #212529;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.2;
}

.sts-ranking-wrap.theme-blog-sts .rl-title span {
	border-bottom: 3px solid #1565C0;
	padding-bottom: 10px;
}

/* Nagłówki kolumn */
.sts-ranking-wrap.theme-blog-sts .rl-head {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #1565C0;
	opacity: 1;
}

/* Komórki */
.sts-ranking-wrap.theme-blog-sts .rl-cell {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #212529;
	background: rgba(255,255,255,.90);
	border-top: 2px solid rgba(21,101,192,.22);
	border-bottom: 2px solid rgba(21,101,192,.22);
	border-left: none;
	border-right: none;
	border-radius: 0;
	min-height: 40px;
}
.sts-ranking-wrap.theme-blog-sts .rl-cell:first-child {
	border-left: 2px solid rgba(21,101,192,.22);
	border-radius: 10px 0 0 10px;
	font-weight: 700;
	color: #1565C0;
}
.sts-ranking-wrap.theme-blog-sts .rl-cell:last-child {
	border-right: 2px solid rgba(21,101,192,.22);
	border-radius: 0 10px 10px 0;
	font-weight: 700;
	color: #f0a30a;
	font-size: 15px;
}

/* Gap i layout wierszy */
.sts-ranking-wrap.theme-blog-sts .rl-head { gap: 0; margin-bottom: 0; }
.sts-ranking-wrap.theme-blog-sts .rl-rows { gap: 5px; }
.sts-ranking-wrap.theme-blog-sts .rl-row { gap: 0; }


/* Badże delta */
.sts-ranking-wrap.theme-blog-sts .rl-delta {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.5px;
	border-radius: 10px;
	height: 32px;
}

.sts-ranking-wrap.theme-blog-sts .rl-up   { background: #1565C0; color: #fff; }
.sts-ranking-wrap.theme-blog-sts .rl-down { background: #D32F2F; color: #fff; }
.sts-ranking-wrap.theme-blog-sts .rl-flat { background: #f0a30a; color: #222; }

/* Źródło + logo w jednej linii */
.sts-ranking-wrap.theme-blog-sts .rl-source {
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	margin: 16px 0 0;
	background: transparent;
	padding: 0;
	border-radius: 0;
	justify-content: flex-start;
}

.sts-ranking-wrap.theme-blog-sts .rl-source::before {
	display: none;
}

.sts-ranking-wrap.theme-blog-sts .rl-source a,
.sts-ranking-wrap.theme-blog-sts .rl-source > span {
	display: inline-block;
	background: linear-gradient(#fa0 0%, #f59700 100%);
	border-radius: 6px;
	padding: 7px 18px;
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	white-space: nowrap;
	color: #222;
	text-decoration: none;
}

.sts-ranking-wrap.theme-blog-sts .rl-source a:hover,
.sts-ranking-wrap.theme-blog-sts .rl-source a:focus {
	color: #222;
	text-decoration: none;
}


.sts-ranking-wrap.theme-blog-sts .rl-source::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background-image: url('https://www.sts.pl/blog/wp-content/uploads/2023/04/sts-logo-icon.png');
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
	margin-left: auto;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

/* ── Barchart — blog-sts ────────────────────────── */

.sts-barchart-wrap.theme-blog-sts .sts-box {
	font-family: 'Roboto', Arial, sans-serif;
	background: linear-gradient(to bottom right, #ffffff 0%, #C8DCEF 55%, #EAF1F8 100%);
	border: 3px solid #f0a30a;
	border-radius: 14px;
}

.sts-barchart-wrap.theme-blog-sts .sts-title {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(1em, 2.5vw, 1.4em);
	color: #212529;
}

.sts-barchart-wrap.theme-blog-sts .sts-underline {
	background: #1565C0;
	height: 3px;
}

.sts-barchart-wrap.theme-blog-sts .sts-zero-line {
	background: #1565C0;
}

.sts-barchart-wrap.theme-blog-sts .sts-bar-value {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 700;
	color: #212529;
}

.sts-barchart-wrap.theme-blog-sts .sts-bar-label-wrap {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 400;
	color: #212529;
}

.sts-barchart-wrap.theme-blog-sts .sts-bar-delta {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 700;
}

.sts-barchart-wrap.theme-blog-sts .sts-bar-delta-pos { background: #1565C0; }
.sts-barchart-wrap.theme-blog-sts .sts-bar-delta-neg { background: #D32F2F; }

/* Źródło barchart */
.sts-barchart-wrap.theme-blog-sts .sts-source {
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	margin: 20px 0 0;
	background: transparent;
	padding: 0;
	border-radius: 0;
}

.sts-barchart-wrap.theme-blog-sts .sts-source a,
.sts-barchart-wrap.theme-blog-sts .sts-source > span {
	display: inline-block;
	background: linear-gradient(#fa0 0%, #f59700 100%);
	border-radius: 6px;
	padding: 7px 18px;
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	white-space: nowrap;
	color: #222;
	text-decoration: none;
}

.sts-barchart-wrap.theme-blog-sts .sts-source::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background-image: url('https://www.sts.pl/blog/wp-content/uploads/2023/04/sts-logo-icon.png');
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
	margin-left: auto;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

/* Slash break — hidden on desktop, shown on mobile */
.rl-sb { display: none; }

/* ── Responsive overrides blog-sts ─────────────── */

@media (max-width: 720px) {
	.sts-ranking-wrap.theme-blog-sts {
		width: 100%;
		padding: 16px 12px 14px;
		box-sizing: border-box;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-title {
		white-space: normal;
		font-size: 1em;
	}
	/* Nagłówki widoczne — nadpisanie base theme display:none */
	.sts-ranking-wrap.theme-blog-sts .rl-head {
		display: grid !important;
		grid-template-columns: 1fr 2fr 1fr;
		gap: 0;
		font-size: 10px;
		margin-bottom: 2px;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-rows {
		gap: 3px;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-row {
		display: grid;
		grid-template-columns: 1fr 2fr 1fr;
		gap: 0;
		align-items: stretch;
	}
	/* Reset desktop pill-borders na mobile */
	.sts-ranking-wrap.theme-blog-sts .rl-cell {
		border-top: 2px solid rgba(21,101,192,.22);
		border-bottom: 2px solid rgba(21,101,192,.22);
		border-left: none;
		border-right: none;
		border-radius: 0;
		font-size: 12px;
		font-weight: 400;
		color: #212529;
		height: auto;
		min-height: 36px;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
		padding: 4px 6px;
		text-align: center;
		justify-content: center;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-cell:first-child {
		border-left: 2px solid rgba(21,101,192,.22);
		border-radius: 10px 0 0 10px;
		font-weight: 700;
		color: #1565C0;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-cell:last-child {
		border-right: 2px solid rgba(21,101,192,.22);
		border-radius: 0 10px 10px 0;
		font-weight: 700;
		color: #f0a30a;
		font-size: 13px;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-cell::before {
		display: none;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-sb {
		display: block;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-source {
		flex-wrap: nowrap;
		margin-top: 14px;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-source a,
	.sts-ranking-wrap.theme-blog-sts .rl-source > span {
		font-size: 11px;
		padding: 6px 14px;
		letter-spacing: 0.8px;
	}
	.sts-ranking-wrap.theme-blog-sts .rl-source::after {
		width: 36px;
		height: 36px;
		margin-left: auto;
	}
}

/* ══════════════════════════════════════════════════
   MOTYW: typelek
   ══════════════════════════════════════════════════ */

/* Ranking */
.sts-ranking-wrap.theme-typelek .rl-title { color: #1a1a1a; }
.sts-ranking-wrap.theme-typelek .rl-head { color: #333; opacity: 1; }
.sts-ranking-wrap.theme-typelek .rl-cell { color: #000; }
.sts-ranking-wrap.theme-typelek .rl-up   { background: #06960D; color: #fff; }
.sts-ranking-wrap.theme-typelek .rl-down { background: #960606; color: #fff; }
.sts-ranking-wrap.theme-typelek .rl-flat { background: #F59E0B; color: #222; }
.sts-ranking-wrap.theme-typelek .rl-source { color: #fff; }
.sts-ranking-wrap.theme-typelek .rl-source a { color: #fff; }

/* Bar chart */
.sts-barchart-wrap.theme-typelek .sts-title { color: #1a1a1a; }
.sts-barchart-wrap.theme-typelek .sts-bar-value { color: #333; }
.sts-barchart-wrap.theme-typelek .sts-bar-label-wrap { color: #1a1a1a; }
.sts-barchart-wrap.theme-typelek .sts-bar-delta-pos { background: #06960D; }
.sts-barchart-wrap.theme-typelek .sts-bar-delta-neg { background: #960606; }
.sts-barchart-wrap.theme-typelek .sts-source { color: #fff; }
.sts-barchart-wrap.theme-typelek .sts-source a { color: #fff; }

/* ══════════════════════════════════════════════════
   OPCJONALNY układ KART na mobile
   Włączany checkboxem w builderze → klasa .sts-mobile-cards na wrapperze.
   Dla tabel rankingowych z długą kolumną (np. lista sezonów), by nie robić
   z wąskiej kolumny wieży, a z pozostałych — pustych pigułek.
   Zakres: tylko motyw blog-sts, tylko mobile. Bez klasy = zachowanie bez zmian.
   ══════════════════════════════════════════════════ */
@media (max-width: 720px) {
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-head { display: none !important; }
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-rows { gap: 8px; }

	/* Wiersz = karta */
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-row {
		display: block;
		background: rgba(255,255,255,.94);
		border: 2px solid rgba(21,101,192,.22);
		border-radius: 12px;
		padding: 10px 14px 12px;
		box-shadow: 0 2px 6px rgba(0,0,0,.05);
	}

	/* Komórki: pełna szerokość, bez indywidualnych pigułek */
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-cell {
		display: block;
		border: none;
		background: transparent;
		border-radius: 0;
		min-height: 0;
		height: auto;
		padding: 0;
		text-align: left;
		justify-content: flex-start;
		white-space: normal;
		font-size: 13px;
	}

	/* Nazwa drużyny = nagłówek karty (bez etykiety „DRUŻYNA") */
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-cell:first-child {
		font-weight: 700;
		color: #1565C0;
		font-size: 16px;
		padding-bottom: 8px;
		margin-bottom: 8px;
		border-bottom: 2px solid rgba(21,101,192,.15);
	}
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-cell:first-child::before { display: none; }

	/* Pozostałe pola: mała etykieta nad wartością */
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-cell:not(:first-child) { margin-top: 8px; }
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-cell:not(:first-child)::before {
		content: attr(data-label);
		display: block;
		font-weight: 700;
		font-size: 10px;
		letter-spacing: .6px;
		text-transform: uppercase;
		color: #1565C0;
		opacity: .8;
		margin-bottom: 2px;
	}

	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-cell:nth-child(2) {
		font-weight: 700;
		color: #212529;
		font-size: 15px;
	}
	.sts-ranking-wrap.theme-blog-sts.sts-mobile-cards .rl-cell:last-child {
		color: #b9770f;
		font-weight: 600;
		font-size: 12.5px;
		line-height: 1.55;
	}
}

/* ══════════════════════════════════════════════════
   MOTYW: gns (gotowinasport.sts.pl)
   Paleta: #212529 grafit, #f2f3f5 tlo panelu, #41c0f0 cyjan.
   Cyjan tylko jako tlo/krawedz z grafitowym tekstem - jako kolor drobnego
   tekstu na bialym ma ok. 2:1 kontrastu i nie przechodzi.
   Font: Montserrat laduje motyw Newspaper serwisu GNS (wtyczka nic nie osadza),
   poza GNS spada do Arial.
   Kompozycja: grafitowa belka tytulu z cyjanowa krawedzia, pod nia jasny panel,
   wiersze jako biale paski, kolumna wartosci na cyjanowej podkladce.
   ══════════════════════════════════════════════════ */

/* ── Wspolne: belka tytulu i tag zrodla ─────────── */

.sts-ranking-wrap.theme-gns .rl-title,
.sts-barchart-wrap.theme-gns .sts-title,
.sts-linechart-wrap.theme-gns .sts-lc-title {
	font-family: 'Montserrat', Arial, sans-serif;
	margin: 0;
	padding: 14px 20px 12px;
	background: #212529;
	border-radius: 8px 8px 0 0;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .4px;
	text-transform: uppercase;
	text-align: left;
	text-wrap: balance;
	position: static;
	z-index: auto;
}

.sts-ranking-wrap.theme-gns .rl-source,
.sts-barchart-wrap.theme-gns .sts-source,
.sts-linechart-wrap.theme-gns .sts-lc-source {
	display: table;
	width: auto;
	max-width: 100%;
	padding: 7px 12px;
	border-radius: 4px;
	background: #212529;
	color: #fff;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .8px;
	text-transform: uppercase;
	text-align: left;
}

.sts-ranking-wrap.theme-gns .rl-source a,
.sts-barchart-wrap.theme-gns .sts-source a,
.sts-linechart-wrap.theme-gns .sts-lc-source a {
	color: #fff;
	text-decoration: none;
}

.sts-ranking-wrap.theme-gns .rl-source a:hover,
.sts-ranking-wrap.theme-gns .rl-source a:focus,
.sts-barchart-wrap.theme-gns .sts-source a:hover,
.sts-barchart-wrap.theme-gns .sts-source a:focus,
.sts-linechart-wrap.theme-gns .sts-lc-source a:hover,
.sts-linechart-wrap.theme-gns .sts-lc-source a:focus {
	color: #41c0f0;
	text-decoration: underline;
}

/* ── Ranking — gns ─────────────────────────────── */

.sts-ranking-wrap.theme-gns {
	font-family: 'Montserrat', Arial, sans-serif;
	background: #f2f3f5;
	border: none;
	border-radius: 8px;
	padding: 0;
	color: #212529;
}

.sts-ranking-wrap.theme-gns .rl-triangle { display: none; }

.sts-ranking-wrap.theme-gns .rl-title {
	border-bottom: 3px solid #41c0f0;
}

.sts-ranking-wrap.theme-gns .rl-title span {
	display: inline;
	padding: 0;
	border: none;
}

.sts-ranking-wrap.theme-gns .rl-wrap {
	max-width: 100%;
	margin: 0;
	padding: 14px 16px 18px;
}

/* Naglowki kolumn */
.sts-ranking-wrap.theme-gns .rl-head {
	gap: 0;
	margin-bottom: 6px;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #212529;
	opacity: .6;
}

.sts-ranking-wrap.theme-gns .rl-head > div {
	padding: 0 12px;
}

.sts-ranking-wrap.theme-gns .rl-head > div:first-child {
	justify-content: flex-start;
	text-align: left;
}

/* Wiersz = jeden bialy pasek na tle panelu; 4px panelu miedzy wierszami robi za zebre */
.sts-ranking-wrap.theme-gns .rl-rows { gap: 4px; }
.sts-ranking-wrap.theme-gns .rl-row  { gap: 0; }

.sts-ranking-wrap.theme-gns .rl-cell {
	min-height: 44px;
	padding: 8px 12px;
	border: none;
	border-radius: 0;
	background: #fff;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #212529;
	font-variant-numeric: tabular-nums;
}

.sts-ranking-wrap.theme-gns .rl-cell:first-child {
	border-radius: 4px 0 0 4px;
	justify-content: flex-start;
	text-align: left;
	font-weight: 700;
}

.sts-ranking-wrap.theme-gns .rl-cell:last-child {
	border-radius: 0 4px 4px 0;
}

/* Kolumna wartosci (ostatnia tekstowa) - cyjanowa podkladka, grafitowy tekst */
.sts-ranking-wrap.theme-gns .rl-cell:last-child:not(.rl-cell--delta) {
	background: rgba(65,192,240,.22);
	font-weight: 700;
}

/* Komorka delty zostaje biala, zeby pasek wiersza byl ciagly */
.sts-ranking-wrap.theme-gns .rl-cell--delta {
	background: #fff;
	padding: 8px 12px;
}

.sts-ranking-wrap.theme-gns .rl-delta {
	min-width: 64px;
	height: 26px;
	padding: 0 10px;
	border-radius: 4px;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .3px;
}

.sts-ranking-wrap.theme-gns .rl-up   { background: #41c0f0; color: #212529; }
.sts-ranking-wrap.theme-gns .rl-down { background: #212529; color: #fff; }
.sts-ranking-wrap.theme-gns .rl-flat { background: #f2f3f5; color: #212529; box-shadow: inset 0 0 0 2px rgba(33,37,41,.25); }

.sts-ranking-wrap.theme-gns .rl-source {
	margin: 0;
}

/* ── Barchart — gns ────────────────────────────── */

.sts-barchart-wrap.theme-gns .sts-box {
	font-family: 'Montserrat', Arial, sans-serif;
	background: #f2f3f5;
	border: none;
	border-radius: 8px;
	padding: 0 0 24px;
	color: #212529;
}

.sts-barchart-wrap.theme-gns .sts-underline {
	width: 100%;
	max-width: 100%;
	height: 3px;
	margin: 0;
	background: #41c0f0;
}

.sts-barchart-wrap.theme-gns .sts-chart {
	margin: 28px 24px 90px;
}

.sts-barchart-wrap.theme-gns .sts-zero-line {
	height: 2px;
	background: #212529;
}

.sts-barchart-wrap.theme-gns .sts-bar {
	border-radius: 4px 4px 0 0;
}

.sts-barchart-wrap.theme-gns .sts-bar-value {
	font-family: 'Montserrat', Arial, sans-serif;
	font-weight: 700;
	color: #212529;
	font-variant-numeric: tabular-nums;
}

.sts-barchart-wrap.theme-gns .sts-bar-label-wrap {
	font-family: 'Montserrat', Arial, sans-serif;
	font-style: normal;
	font-weight: 500;
	color: #212529;
}

.sts-barchart-wrap.theme-gns .sts-bar-delta {
	font-family: 'Montserrat', Arial, sans-serif;
	font-weight: 700;
	border-radius: 4px;
}

.sts-barchart-wrap.theme-gns .sts-bar-delta-pos { background: #41c0f0; color: #212529; }
.sts-barchart-wrap.theme-gns .sts-bar-delta-neg { background: #212529; color: #fff; }

.sts-barchart-wrap.theme-gns .sts-source {
	margin: 0 24px;
}

/* ── Linechart — gns ───────────────────────────── */

.sts-linechart-wrap.theme-gns .sts-lc-box {
	font-family: 'Montserrat', Arial, sans-serif;
	background: #f2f3f5;
	border: none;
	border-radius: 8px;
	padding: 0 0 24px;
	color: #212529;
}

.sts-linechart-wrap.theme-gns .sts-lc-underline {
	width: 100%;
	max-width: 100%;
	height: 3px;
	margin: 0;
	background: #41c0f0;
}

.sts-linechart-wrap.theme-gns .sts-lc-svg {
	box-sizing: border-box;
	padding: 24px 20px 0;
}

/* Siatka i opisy osi: atrybuty prezentacyjne SVG (stroke/fill) przegrywaja z CSS */
.sts-linechart-wrap.theme-gns .sts-lc-svg line {
	stroke: rgba(33,37,41,.15);
}

.sts-linechart-wrap.theme-gns .sts-lc-svg text {
	fill: #212529;
	opacity: .7;
	font-family: 'Montserrat', Arial, sans-serif;
	font-weight: 500;
}

.sts-linechart-wrap.theme-gns .sts-lc-legend {
	margin-top: 16px;
	padding: 0 20px;
	gap: 20px;
}

.sts-linechart-wrap.theme-gns .sts-lc-legend-item {
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #212529;
}

.sts-linechart-wrap.theme-gns .sts-lc-legend-dot {
	width: 12px;
	height: 12px;
	border-radius: 2px;
}

.sts-linechart-wrap.theme-gns .sts-lc-source {
	margin: 20px 20px 0;
}

/* ── Responsive gns ────────────────────────────── */

@media (max-width: 768px) {
	.sts-ranking-wrap.theme-gns .rl-title,
	.sts-barchart-wrap.theme-gns .sts-title,
	.sts-linechart-wrap.theme-gns .sts-lc-title {
		font-size: 16px;
		padding: 12px 14px 10px;
		border-radius: 6px 6px 0 0;
	}
	.sts-barchart-wrap.theme-gns .sts-box,
	.sts-linechart-wrap.theme-gns .sts-lc-box { border-radius: 6px; padding-bottom: 18px; }
	.sts-barchart-wrap.theme-gns .sts-chart { margin: 20px 16px 70px; }
	.sts-barchart-wrap.theme-gns .sts-source { margin: 0 16px; }
	.sts-linechart-wrap.theme-gns .sts-lc-svg { padding: 16px 12px 0; }
	.sts-linechart-wrap.theme-gns .sts-lc-legend { padding: 0 12px; gap: 14px; }
	.sts-linechart-wrap.theme-gns .sts-lc-source { margin: 16px 12px 0; }
}

@media (max-width: 720px) {
	.sts-ranking-wrap.theme-gns { padding: 0; border-radius: 6px; }
	.sts-ranking-wrap.theme-gns .rl-wrap { padding: 10px 10px 14px; }
	.sts-ranking-wrap.theme-gns .rl-rows { gap: 6px; }

	/* Wiersz = biala karta; komorki jako linie etykieta (z lewej) / wartosc (z prawej) */
	.sts-ranking-wrap.theme-gns .rl-row {
		gap: 0;
		padding: 4px 12px;
		background: #fff;
		border-radius: 4px;
	}
	.sts-ranking-wrap.theme-gns .rl-cell,
	.sts-ranking-wrap.theme-gns .rl-cell--delta,
	.sts-ranking-wrap.theme-gns .rl-cell:first-child,
	.sts-ranking-wrap.theme-gns .rl-cell:last-child:not(.rl-cell--delta) {
		min-height: 40px;
		height: auto;
		padding: 6px 0;
		background: transparent;
		border-radius: 0;
		border-bottom: 1px solid #f2f3f5;
		justify-content: flex-end;
		text-align: right;
		font-size: 14px;
		font-weight: 600;
	}
	.sts-ranking-wrap.theme-gns .rl-row > .rl-cell:last-child { border-bottom: none; }
	.sts-ranking-wrap.theme-gns .rl-cell::before,
	.sts-ranking-wrap.theme-gns .rl-cell--delta::before {
		font-family: 'Montserrat', Arial, sans-serif;
		font-size: 10px;
		font-weight: 600;
		letter-spacing: .8px;
		text-transform: uppercase;
		opacity: .6;
	}
	.sts-ranking-wrap.theme-gns .rl-delta { min-width: 72px; height: 28px; font-size: 12px; }
}

@media (max-width: 480px) {
	.sts-barchart-wrap.theme-gns .sts-chart { margin: 16px 12px 55px; }
	.sts-barchart-wrap.theme-gns .sts-source { margin: 0 12px; }
}
