/* Jack.com wager leaderboard – [spinlife_leaderboard] */

.slb {
	--slb-orange: #ec6608;
	--slb-orange-light: #ff9a1f;
	--slb-ink: #2b2f36;
	--slb-muted: #8a8f98;
	--slb-panel: linear-gradient(180deg, #fbfbfc 0%, #eeeff2 100%);

	position: relative;
	max-width: 920px;
	margin: 0 auto;
	padding: 40px 0 60px;
	font-family: Kanit, sans-serif;
	color: var(--slb-ink);
}

.slb *,
.slb *::before,
.slb *::after {
	box-sizing: border-box;
}

/* Hide the Elementor month pagination + T&C leftovers around the loop */
.elementor-widget-loop-grid:has(.slb) .elementor-pagination {
	display: none;
}

/* ---------- Title ---------- */

.slb .slb-title {
	margin: 0 0 18px;
	font-family: Kanit, sans-serif;
	font-size: clamp(26px, 4vw, 34px);
	line-height: 1.1;
	letter-spacing: .5px;
	text-align: center;
	text-transform: uppercase;
	color: var(--slb-ink);
}

.slb .slb-title span {
	color: var(--slb-orange);
}

/* ---------- Decorations ---------- */

.slb-deco {
	position: absolute;
	pointer-events: none;
	user-select: none;
	z-index: 3;
}

.slb-deco--jack-right {
	top: 30px;
	right: -20px;
	width: 160px;
	transform: rotate(8deg);
}

.slb-deco--jack-left {
	top: -170px;
	left: -30px;
	width: 135px;
	transform: rotate(-6deg);
}

/* ---------- Podium ---------- */

.slb-podium {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	container-type: inline-size;
	max-width: 630px;
	margin: 0 auto;
}

.slb-pentagon {
	position: relative;
	flex: 0 0 33.333%;
	aspect-ratio: 480 / 458;
	margin-top: 58px;
	background: center / 100% 100% no-repeat;
	filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .25));
	color: #fff;
	text-align: center;
}

.slb-pentagon--gold {
	margin-top: 0;
	z-index: 1;
}

.slb-pentagon__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 72%;
	margin: 0 auto;
	padding-top: 11%;
}

.slb-pentagon__user {
	font-size: 2.5cqi;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .5px;
}

.slb-pentagon__wager {
	width: 100%;
	padding-bottom: 1.6cqi;
	border-bottom: 1px solid rgba(255, 255, 255, .25);
	font-size: 3cqi;
	font-style: italic;
	font-weight: 300;
	line-height: 1.3;
}

.slb-pentagon__prize {
	margin-top: 1.4cqi;
	font-size: 6.6cqi;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.5px;
	white-space: nowrap;
	background: linear-gradient(180deg, #fff 30%, #c9d3e0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 2px 0 #1b1f25) drop-shadow(0 0 1px #1b1f25);
}

.slb-pentagon__label {
	margin-top: .6cqi;
	font-size: 2cqi;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .3px;
}

/* "1." / "2." / "3." down in the tip */
.slb-pentagon__rank {
	position: absolute;
	right: 0;
	bottom: 7%;
	left: 0;
	font-size: 4.2cqi;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	color: rgba(215, 225, 240, .6);
}

/* Tier colours */
.slb-pentagon--gold .slb-pentagon__wager {
	color: #ffd21f;
}

.slb-pentagon--gold .slb-pentagon__rank {
	color: rgba(255, 235, 170, .75);
}

.slb-pentagon--bronze .slb-pentagon__rank {
	color: rgba(255, 200, 175, .65);
}

.slb-pentagon--gold .slb-pentagon__prize {
	background-image: linear-gradient(180deg, #fff27a 20%, #ffc400 60%, #f59e00 100%);
	filter: drop-shadow(0 2px 0 #3a2a05) drop-shadow(0 0 1px #3a2a05);
}

.slb-pentagon--bronze .slb-pentagon__wager {
	color: #ffb38a;
}

.slb-pentagon--bronze .slb-pentagon__prize {
	background-image: linear-gradient(180deg, #ffd0b0 15%, #ff8a4c 60%, #e45a1c 100%);
	filter: drop-shadow(0 2px 0 #3a1208) drop-shadow(0 0 1px #3a1208);
}

/* ---------- Body panels ---------- */

.slb-body {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 262px;
	gap: 10px;
	align-items: stretch;
}

.slb-panel {
	position: relative;
	z-index: 1;
	border-radius: 8px;
	background: var(--slb-panel);
}

.slb-board {
	display: flex;
	flex-direction: column;
	padding: 22px 22px 12px;
}

.slb-steps {
	align-self: start;
	display: flex;
	flex-direction: column;
	padding: 22px 18px 12px 26px;
}

/* ---------- Board ---------- */

/* Own row between the podium and the panels; the PNG has transparent space
   above and below the wordmark, hence the negative margins. */
.slb .slb-logo {
	display: block;
	width: 160px;
	height: auto;
	margin: -14px auto -10px;
}

/* Column labels – same grid as .slb-row */
.slb-board__head {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) minmax(0, 1fr) 90px;
	padding: 0 22px 2px 10px;
	font-size: 14px;
	font-style: italic;
	text-transform: uppercase;
	color: var(--slb-orange);
}

.slb-board__head-prize {
	text-align: right;
}

.slb .slb-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slb-row {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) minmax(0, 1fr) 90px;
	align-items: center;
	height: 36px;
	padding: 0 22px 0 10px;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(20, 25, 35, .08);
	font-style: italic;
	font-weight: 700;
	white-space: nowrap;
}

.slb-row[hidden] {
	display: none;
}

.slb-row__rank {
	font-size: 22px;
	color: var(--slb-orange);
	background: linear-gradient(180deg, var(--slb-orange-light), var(--slb-orange));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.slb-row__user {
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 17px;
	letter-spacing: .5px;
}

.slb-row__wager {
	font-size: 18px;
}

.slb-row__prize {
	font-size: 19px;
	text-align: right;
}

.slb-board__foot {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 52px;
	margin-top: 10px;
}

.slb-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 10.5px;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--slb-muted);
}

.slb-meta__item {
	display: flex;
	align-items: center;
	gap: 5px;
}

.slb-meta__item strong {
	font-weight: 600;
}

.slb-meta__item img {
	width: 16px;
	height: 16px;
}

.slb-load-more {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

/* ---------- Steps ---------- */

.slb .slb-steps__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	font-family: Kanit, sans-serif;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--slb-ink);
}

.slb .slb-steps__list {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	counter-reset: slb-step;
}

.slb-steps__list li {
	position: relative;
	padding-left: 30px;
	font-size: 11.5px;
	line-height: 1.3;
	color: var(--slb-ink);
	counter-increment: slb-step;
}

.slb-steps__list li::before {
	content: counter(slb-step) ".";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	font-size: 22px;
	font-style: italic;
	font-weight: 700;
	color: var(--slb-orange);
}

.slb-steps__list a {
	color: inherit;
}

.slb-steps__list a:hover {
	color: var(--slb-orange);
}

.slb-steps__list strong {
	font-weight: 600;
}

.slb .slb-steps__terms {
	margin: auto 0 12px;
	font-size: 8.5px;
	font-style: italic;
	line-height: 1.3;
	text-align: center;
	color: var(--slb-muted);
}

/* ---------- Buttons ---------- */

.slb .slb-btn {
	display: block;
	align-self: center;
	min-width: 142px;
	padding: 4px 18px 3px;
	border: 0;
	border-radius: 8px;
	background: linear-gradient(180deg, #ffb126 0%, #ff8c00 55%, #f07000 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 3px 0 #c95300, 0 5px 6px rgba(0, 0, 0, .2);
	font-family: Kanit, sans-serif;
	font-size: 21px;
	font-style: italic;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	text-shadow: 0 1px 0 #b34a00, 0 0 2px rgba(150, 60, 0, .6);
	cursor: pointer;
	transition: filter .15s, transform .15s;
}

.slb .slb-btn:hover,
.slb .slb-btn:focus-visible {
	color: #fff;
	filter: brightness(1.08);
}

.slb .slb-load-more:hover {
	transform: translateX(-50%) translateY(-1px);
}

/* ---------- Responsive ---------- */

@media (max-width: 1180px) {
	.slb-deco--jack-right {
		right: 0;
		width: 120px;
	}

	.slb-deco--jack-left {
		left: -10px;
		width: 110px;
		top: -150px;
	}
}

@media (max-width: 900px) {
	.slb {
		padding-top: 24px;
	}

	.slb-body {
		grid-template-columns: 1fr;
	}

	.slb-steps {
		padding-top: 22px;
	}

	.slb-deco--jack-left {
		display: none;
	}

	.slb-deco--jack-right {
		top: 10px;
		width: 80px;
	}
}

@media (max-width: 600px) {
	.slb {
		padding-bottom: 32px;
	}

	.slb-deco--jack-right {
		display: none;
	}

	.slb-pentagon {
		margin-top: 9cqi;
	}

	.slb-pentagon--gold {
		margin-top: 0;
	}

	/* Larger text on mobile – start higher so "Reward" stays clear of the tip */
	.slb-pentagon__inner {
		padding-top: 9%;
	}

	.slb-pentagon__user {
		font-size: 3.4cqi;
	}

	.slb-pentagon__wager {
		font-size: 3.6cqi;
	}

	.slb-pentagon__rank {
		font-size: 3.6cqi;
	}

	.slb-board {
		padding: 16px 10px 12px;
	}

	.slb .slb-logo {
		width: 130px;
		margin: -10px auto -8px;
	}

	.slb-board__head,
	.slb-row {
		grid-template-columns: 30px minmax(0, 1.2fr) minmax(0, 1fr) 58px;
		padding: 0 12px 0 8px;
	}

	.slb-board__head {
		font-size: 12px;
	}

	.slb-row__rank {
		font-size: 18px;
	}

	.slb-row__user,
	.slb-row__wager {
		font-size: 14px;
	}

	.slb-row__prize {
		font-size: 15px;
	}

	.slb-board__foot {
		flex-direction: column-reverse;
		gap: 12px;
		padding-top: 4px;
	}

	.slb-load-more {
		position: static;
		transform: none;
	}

	.slb .slb-load-more:hover {
		transform: translateY(-1px);
	}
}
