/* =========================================================
   ProjectX — Single Product (lottery) — Cinematic v2
   Hero full-bleed · sticky buy-box · premium visual treatment
   ========================================================= */

#px-product {
	--px-bg: #000;
	--px-card: #0b0f0c;
	--px-card-2: #0e1510;
	--px-fg: #eafbea;
	--px-muted: rgba(255,255,255,.58);
	--px-neon: #25ff5a;
	--px-neon-2: #00d64a;
	--px-neon-soft: rgba(37,255,90,.14);
	--px-neon-glow: rgba(37,255,90,.35);
	--px-red: #ff2d55;
	--px-gold: #ffcc66;
	--px-border: rgba(255,255,255,.08);
	--px-border-hi: rgba(37,255,90,.3);
	--px-radius: 18px;

	background: var(--px-bg);
	color: var(--px-fg);
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	padding: 0 0 140px;
	overflow-x: hidden;
}
#px-product * { box-sizing: border-box; }

.px-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }

/* Shared button */
.px-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 14px 24px;
	border-radius: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 13px;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
	line-height: 1;
}
.px-btn--xl { padding: 18px 30px; font-size: 15px; }
.px-btn--primary {
	background: linear-gradient(180deg, #3bff75, var(--px-neon) 55%, var(--px-neon-2));
	color: #021809;
	box-shadow: 0 14px 40px -10px rgba(37,255,90,.55), 0 0 0 3px rgba(37,255,90,.12), inset 0 1px 0 rgba(255,255,255,.35);
}
.px-btn--primary:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 18px 48px -10px rgba(37,255,90,.7), 0 0 0 4px rgba(37,255,90,.18); }
.px-btn--ghost { background: rgba(255,255,255,.04); color: #fff; border-color: rgba(255,255,255,.14); backdrop-filter: blur(8px); }
.px-btn--ghost:hover { border-color: var(--px-neon); color: var(--px-neon); background: rgba(37,255,90,.06); }

/* Shared pill */
.px-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 12px; font-weight: 800;
	letter-spacing: .08em; text-transform: uppercase;
	border: 1px solid transparent;
}
.px-pill--green {
	background: linear-gradient(180deg, #3bff75, var(--px-neon-2));
	color: #021809;
	box-shadow: 0 6px 16px -4px rgba(37,255,90,.4);
}

/* =========================================================
   1. CINEMATIC HERO
   ========================================================= */
.px-phero {
	position: relative;
	min-height: 80vh;
	padding: 120px 0 60px;
	display: flex; align-items: center;
	overflow: hidden;
	isolation: isolate;
	border-bottom: 1px solid var(--px-border);
}
.px-phero__bg {
	position: absolute; inset: 0; z-index: -3;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.08);
	filter: brightness(.55) saturate(1.1);
	animation: pxHeroPan 28s ease-in-out infinite alternate;
}
@keyframes pxHeroPan {
	0% { transform: scale(1.08) translate3d(0,0,0); }
	100% { transform: scale(1.15) translate3d(-2%, -1%, 0); }
}
.px-phero__scrim {
	position: absolute; inset: 0; z-index: -2;
	background:
		radial-gradient(90% 60% at 20% 30%, rgba(0,0,0,.35), transparent 70%),
		linear-gradient(180deg, rgba(0,0,0,.3), rgba(0,0,0,.85) 85%, #000);
}
/* Subtle matrix rain overlay on top */
.px-phero__matrix {
	position: absolute; inset: 0; z-index: -1;
	background:
		repeating-linear-gradient(0deg, transparent 0 2px, rgba(37,255,90,.03) 2px 3px),
		radial-gradient(50% 40% at 50% 0%, rgba(37,255,90,.08), transparent 70%);
	mix-blend-mode: screen;
	pointer-events: none;
}
.px-phero__inner {
	max-width: 1280px; margin: 0 auto; padding: 0 24px; width: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	column-gap: 48px;
	row-gap: 18px;
	align-items: start;
}
.px-phero__main {
	display: flex; flex-direction: column; gap: 22px;
	min-width: 0;
}

/* Top 3 in hero — compact glass podium card with CTA */
.px-phero__side { position: sticky; top: 24px; }
.px-phero__side-inner {
	background: linear-gradient(180deg, rgba(8,14,10,.72), rgba(4,8,6,.82));
	backdrop-filter: blur(18px) saturate(1.2);
	border: 1px solid var(--px-border-hi);
	border-radius: 20px;
	box-shadow:
		0 30px 80px -20px rgba(0,0,0,.9),
		0 0 0 1px rgba(37,255,90,.06),
		inset 0 1px 0 rgba(255,255,255,.04);
	overflow: hidden;
	display: flex; flex-direction: column;
}
.px-phero__side .lty-top10 {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Hide the table header in hero card — podium only, cleaner */
.px-phero__side .lty-top10__thead { display: none; }
.px-phero__side .lty-top10__table { border-spacing: 0; }
.px-phero__side .lty-top10__tbody tr { background-size: 300% 300%; }
.px-phero__side .lty-top10__tbody td { padding: 16px 20px !important; border: 0 !important; }
.px-phero__side .lty-top10__tbody tr + tr td { border-top: 1px solid rgba(255,255,255,.05) !important; }

.px-phero__side .lty-top10__head {
	padding: 20px 20px 14px !important;
	background: linear-gradient(180deg, rgba(37,255,90,.08), transparent) !important;
	border-bottom: 1px solid rgba(37,255,90,.15) !important;
}

/* ============ Hero sidebar — NEW px-top10 shortcode: green-neon minimal ============ */
.px-phero__side .px-top10 thead { display: none !important; }
.px-phero__side .px-top10 {
	background: transparent !important;
	border: 0 !important; box-shadow: none !important;
	table-layout: auto !important;
}
.px-phero__side .px-top10 col.px-top10__c-place   { width: 80px !important; }
.px-phero__side .px-top10 col.px-top10__c-tickets { width: 68px !important; }
.px-phero__side .px-top10 tbody td {
	padding: 14px 16px !important;
	border: 0 !important;
	background: transparent !important;
	animation: none !important;
}
.px-phero__side .px-top10 tbody tr + tr td { border-top: 1px solid rgba(255,255,255,.06) !important; }
.px-phero__side .px-top10 tbody td + td { border-left: 0 !important; }

/* Kill gold/silver/bronze podium + row gradients in hero — use green accent */
.px-phero__side .px-top10__row--1 > td,
.px-phero__side .px-top10__row--2 > td,
.px-phero__side .px-top10__row--3 > td {
	background: transparent !important;
	animation: none !important;
}
.px-phero__side .px-top10__rank {
	font-size: 15px !important;
	letter-spacing: .12em !important;
	color: rgba(37,255,90,.55) !important;
}
.px-phero__side .px-top10__row--1 .px-top10__rank { color: #25ff5a !important; }
.px-phero__side .px-top10__row--2 .px-top10__rank { color: rgba(37,255,90,.7) !important; }
.px-phero__side .px-top10__row--3 .px-top10__rank { color: rgba(37,255,90,.45) !important; }

/* Replace premium podium chip with simple green pill */
.px-phero__side .px-top10__podium {
	background: rgba(37,255,90,.10) !important;
	border: 1px solid rgba(37,255,90,.30) !important;
	box-shadow: none !important;
	color: #25ff5a !important;
	border-radius: 999px !important;
	padding: 3px 10px !important;
	min-width: 0 !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 4px !important;
}
.px-phero__side .px-top10__row--1 .px-top10__podium { background: rgba(37,255,90,.18) !important; border-color: rgba(37,255,90,.50) !important; }
.px-phero__side .px-top10__podium-amount {
	font-size: 12px !important;
	font-weight: 800 !important;
	color: #25ff5a !important;
	letter-spacing: 0 !important;
}
.px-phero__side .px-top10__podium-label { display: none !important; }

/* Left green accent bar on each row */
.px-phero__side .px-top10 tbody tr { position: relative; }
.px-phero__side .px-top10 tbody tr td:first-child { position: relative; }
.px-phero__side .px-top10 tbody tr td:first-child::before {
	content: ''; position: absolute; left: 0; top: 14%; bottom: 14%;
	width: 3px; border-radius: 2px;
	background: var(--px-neon);
	opacity: .22;
}
.px-phero__side .px-top10__row--1 td:first-child::before { opacity: 1 !important; }
.px-phero__side .px-top10__row--2 td:first-child::before { opacity: .55 !important; }
.px-phero__side .px-top10__row--3 td:first-child::before { opacity: .32 !important; }

/* Names: full, no ellipsis/truncation in hero */
.px-phero__side .px-top10__name {
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}
.px-phero__side .px-top10 td.px-top10__tickets {
	font-size: 15px !important;
}

/* CTA footer */
.px-phero__side-foot {
	padding: 10px 12px;
	border-top: 1px solid var(--px-border);
	background: rgba(0,0,0,.25);
}
.px-phero__side-foot .px-btn { padding: 10px 14px !important; font-size: 12px !important; }
.px-btn--block { width: 100%; }

/* ============ Top 10 — ORIGINAL styling (restored from WPCode snippet) ============ */
.lty-top10 {
	background: linear-gradient(180deg, #0b0b0b, #050505);
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0,0,0,.45);
}
.lty-top10__head {
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px;
	padding: 14px 14px;
	background:
		radial-gradient(1200px 80px at 20% 0%, rgba(37,255,90,.14), transparent 55%),
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
	border-bottom: 1px solid rgba(255,255,255,.10);
	border-radius: 10px 10px 0 0;
}
.lty-top10__title {
	margin: 0;
	color: rgba(255,255,255,.92);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .3px;
}
.lty-top10__pulse {
	display: inline-flex; align-items: center; gap: 6px;
	color: var(--px-neon); font-size: 11px; font-weight: 800; letter-spacing: .25em;
}
.lty-top10__pulse span {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--px-neon); box-shadow: 0 0 8px var(--px-neon);
	animation: pxPulse 1.6s ease-in-out infinite;
}

.lty-top10__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: transparent;
}
.lty-top10__thead th {
	padding: 12px 20px;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255,255,255,.62);
	background: rgba(255,255,255,.04);
	border-bottom: 1px solid rgba(255,255,255,.10);
	text-align: left; font-weight: 700;
}
.lty-top10__thead th:first-child { width: 160px; }
.lty-top10__thead th:last-child { width: 130px; text-align: right; }

.lty-top10__tbody tr { background: rgba(255,255,255,.02); }
.lty-top10__tbody tr + tr td { border-top: 1px solid rgba(255,255,255,.06); }
.lty-top10__td { padding: 12px 20px; color: rgba(255,255,255,.92); vertical-align: middle; }
.lty-top10__td.lty-count { text-align: right; }

/* Animated gradient backgrounds for rows 1/2/3 (gold / silver / bronze) */
.lty-top10__tbody tr:nth-child(1) {
	background: linear-gradient(120deg, rgba(255,215,0,.25), rgba(255,215,0,.05), rgba(255,215,0,.25));
	background-size: 300% 300%;
	animation: goldFlow 6s linear infinite;
}
.lty-top10__tbody tr:nth-child(2) {
	background: linear-gradient(120deg, rgba(200,200,200,.25), rgba(200,200,200,.05), rgba(200,200,200,.25));
	background-size: 300% 300%;
	animation: silverFlow 7s linear infinite;
}
.lty-top10__tbody tr:nth-child(3) {
	background: linear-gradient(120deg, rgba(205,127,50,.25), rgba(205,127,50,.05), rgba(205,127,50,.25));
	background-size: 300% 300%;
	animation: bronzeFlow 8s linear infinite;
}
@keyframes goldFlow   { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@keyframes silverFlow { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@keyframes bronzeFlow { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

/* PODIUM (Top 3) */
.lty-podium {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.lty-podium__place {
	font-weight: 900;
	letter-spacing: .2px;
	font-size: 22px;
	line-height: 1;
	text-shadow: 0 6px 18px rgba(0,0,0,.55);
}
.lty-podium__block {
	position: relative;
	width: 100%;
	min-width: 140px;
	height: 64px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.14);
	box-shadow: 0 18px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(0,0,0,.35) inset;
}
.lty-podium__block::after {
	content: "";
	position: absolute;
	inset: -30px;
	opacity: .55;
	filter: blur(14px);
	pointer-events: none;
}
.lty-podium__badge { display: none; }
.lty-podium__text { text-align: center; line-height: 1; }
.lty-podium__amount {
	font-weight: 900;
	font-size: 22px;
	letter-spacing: .3px;
	text-shadow: 0 8px 20px rgba(0,0,0,.6);
}
.lty-podium__label {
	margin-top: 6px;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-shadow: 0 8px 18px rgba(0,0,0,.55);
}

/* Color variants — 1st gold, 2nd silver, 3rd bronze */
.lty-podium--1 .lty-podium__place,
.lty-podium--1 .lty-podium__amount,
.lty-podium--1 .lty-podium__label { color: #ffcc66; }
.lty-podium--1 .lty-podium__block { background: linear-gradient(180deg, rgba(80,45,5,.92), rgba(35,20,2,.92)); }
.lty-podium--1 .lty-podium__block::after { background: radial-gradient(circle at 50% 30%, rgba(255,170,35,.55), transparent 60%); }

.lty-podium--2 .lty-podium__place,
.lty-podium--2 .lty-podium__label { color: #bfe9ff; }
.lty-podium--2 .lty-podium__amount { color: #e6f6ff; }
.lty-podium--2 .lty-podium__block { background: linear-gradient(180deg, rgba(20,45,55,.92), rgba(10,22,28,.92)); }
.lty-podium--2 .lty-podium__block::after { background: radial-gradient(circle at 50% 30%, rgba(90,210,255,.45), transparent 60%); }

.lty-podium--3 .lty-podium__place,
.lty-podium--3 .lty-podium__amount,
.lty-podium--3 .lty-podium__label { color: #ffb07a; }
.lty-podium--3 .lty-podium__block { background: linear-gradient(180deg, rgba(70,28,10,.92), rgba(28,12,6,.92)); }
.lty-podium--3 .lty-podium__block::after { background: radial-gradient(circle at 50% 30%, rgba(255,140,80,.45), transparent 60%); }

/* Rankbox (#4..#10) — green pill */
.lty-rankbox {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 45px;
	padding: 0 10px;
	border-radius: 12px;
	background: linear-gradient(180deg, rgba(37,255,90,.20), rgba(37,255,90,.10));
	border: 1px solid rgba(37,255,90,.25);
	box-shadow: 0 0 0 1px rgba(0,0,0,.25) inset, 0 0 18px rgba(37,255,90,.10);
	color: rgba(255,255,255,.92);
	font-weight: 900;
	letter-spacing: .5px;
	white-space: nowrap;
}
.lty-rankbox__icon {
	width: 28px;
	height: 28px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.35);
	border: 1px solid rgba(255,255,255,.10);
	font-size: 14px;
	flex: 0 0 auto;
}
.lty-rankbox__rewardtext {
	margin-left: 3px;
	font-size: 12px;
	font-weight: 700;
	opacity: .85;
	white-space: nowrap;
}

/* Name + count */
.lty-name {
	font-weight: 800;
	font-size: 14px;
	line-height: 1.2;
	color: rgba(255,255,255,.92);
}
.lty-top10 .lty-barwrap { display: none !important; }
.lty-top10 .lty-count {
	text-align: right;
	font-weight: 900;
	font-size: 14px;
	color: rgba(255,255,255,.92);
}


/* ============ Top 10 — premium desktop sizing (Orbitron, larger) ============ */
.lty-top10, .lty-top10 * {
	font-family: "Orbitron", "Rajdhani", sans-serif !important;
}
.lty-top10 .lty-name { font-size: 15px !important; letter-spacing: .01em !important; font-weight: 700 !important; }
.lty-top10 .lty-count { font-size: 20px !important; letter-spacing: .02em !important; }
.lty-top10 .lty-podium__place { font-size: 22px !important; letter-spacing: .02em; font-weight: 800 !important; }
.lty-top10 .lty-podium__amount { font-size: 20px !important; font-weight: 800 !important; }
.lty-top10 .lty-podium__label { font-size: 10px !important; letter-spacing: .2em !important; }
.lty-top10 .lty-rankbox { font-size: 14px !important; font-weight: 800 !important; }
.lty-top10 .lty-rankbox__rewardtext { font-size: 10px !important; letter-spacing: .05em !important; }
.lty-top10 .lty-top10__title { font-size: 14px !important; letter-spacing: .2em; font-weight: 800 !important; }
.lty-top10 .lty-top10__thead th { font-family: "Orbitron", sans-serif !important; font-size: 10px !important; letter-spacing: .2em !important; }


/* ============ Top 10 — mobile fixes ============ */
@media (max-width: 960px) {
	/* Fixed columns so things don't overflow */
	.lty-top10__table { table-layout: fixed !important; width: 100% !important; border-collapse: collapse !important; }

	.lty-top10__thead th:nth-child(1),
	.lty-top10__tbody tr:first-child td:nth-child(1) { width: 92px !important; padding: 8px 4px 8px 10px !important; }
	.lty-top10__thead th:nth-child(2),
	.lty-top10__tbody tr:first-child td:nth-child(2) { width: auto !important; padding: 8px 6px !important; }
	.lty-top10__thead th:nth-child(3),
	.lty-top10__tbody tr:first-child td:nth-child(3) { width: 56px !important; padding: 8px 10px 8px 4px !important; text-align: right !important; }
	.lty-top10__tbody td { padding: 8px 6px !important; vertical-align: middle !important; }
	.lty-top10__tbody td:first-child { padding-left: 10px !important; }
	.lty-top10__tbody td:last-child { padding-right: 10px !important; text-align: right !important; }

	/* Podium — small but keep gold/silver/bronze look */
	.lty-top10 .lty-podium {
		gap: 3px !important;
		min-width: 0 !important; width: 100% !important;
	}
	.lty-top10 .lty-podium__place {
		font-size: 10px !important;
		letter-spacing: .12em !important;
		text-shadow: 0 2px 6px rgba(0,0,0,.5) !important;
	}
	.lty-top10 .lty-podium__block {
		min-width: 0 !important;
		width: 100% !important;
		height: 30px !important;
		border-radius: 4px !important;
	}
	.lty-top10 .lty-podium__amount {
		font-size: 11px !important;
		font-weight: 900 !important;
		letter-spacing: 0 !important;
		text-shadow: 0 2px 6px rgba(0,0,0,.5) !important;
	}
	.lty-top10 .lty-podium__label { display: none !important; }
	.lty-top10 .lty-podium__block::after { display: none !important; }

	/* Rankbox (#4+) compact */
	.lty-top10 .lty-rankbox {
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
		gap: 4px !important;
		padding: 6px 8px !important;
		height: auto !important;
		font-size: 11px !important;
	}
	.lty-top10 .lty-rankbox__icon { display: none !important; }
	.lty-top10 .lty-rankbox__rewardtext { font-size: 10px !important; }

	/* Full names may wrap to a second line; never hide the surname. */
	.lty-top10 .lty-name {
		font-size: 11px !important;
		font-weight: 700 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		overflow-wrap: anywhere !important;
		max-width: 100% !important;
		display: block !important;
		line-height: 1.32 !important;
	}
	.lty-top10 .lty-count { font-size: 12px !important; }
	.lty-top10__thead th { padding: 8px 6px !important; font-size: 10px !important; letter-spacing: .04em !important; }
	.lty-top10__td { padding: 8px 6px !important; }
}


/* ============ Sticky CTA — mobile: bigger, chunkier ============ */
@media (max-width: 720px) {
	.px-sticky-cta { padding: 10px 0 max(12px, env(safe-area-inset-bottom)); }
	.px-sticky-cta__btn {
		height: 62px !important;
		font-size: 16px !important;
		letter-spacing: .05em !important;
		box-shadow: 0 16px 38px -8px rgba(37,255,90,.7), 0 0 0 3px rgba(37,255,90,.18), inset 0 1px 0 rgba(255,255,255,.35) !important;
	}
	.px-sticky-cta__price { font-size: 17px !important; }
	.px-sticky-cta__sub { font-size: 10px !important; letter-spacing: .05em; text-transform: uppercase; }

	/* Main buy-box "Participate Now" button — chunky CTA on mobile */
	.px-buybox .single_add_to_cart_button,
	.px-buybox .px-btn--primary.px-btn--xl {
		min-height: 64px !important;
		height: auto !important;
		padding: 18px 24px !important;
		font-size: 17px !important;
		font-weight: 900 !important;
		letter-spacing: .04em !important;
		line-height: 1.1 !important;
		width: 100% !important;
		border-radius: 14px !important;
		box-shadow: 0 18px 42px -10px rgba(37,255,90,.7), 0 0 0 3px rgba(37,255,90,.18), inset 0 1px 0 rgba(255,255,255,.35) !important;
	}
}

@media (max-width: 1000px) {
	.px-phero__inner { grid-template-columns: 1fr; }
	.px-phero__side { position: static; }
}
/* On phones: hide only Top 3 supporters (keep winner card visible for closed competitions). */
@media (max-width: 860px) {
	.px-phero__side-inner { display: none; }
	.px-phero__side { position: static; margin-top: 18px; }
	.px-phero__side--top-only { display: none; }
}
.px-phero__crumbs { color: var(--px-muted); font-size: 13px; display: flex; gap: 8px; flex-wrap: wrap; }
.px-phero__crumbs a { color: var(--px-muted); text-decoration: none; transition: color .15s ease; }
.px-phero__crumbs a:hover { color: var(--px-neon); }
.px-phero__crumbs .is-current { color: #fff; }

.px-phero__live {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--px-neon); font-size: 12px; font-weight: 800;
	letter-spacing: .25em; text-transform: uppercase;
}
.px-phero__dot {
	width: 9px; height: 9px; border-radius: 50%;
	background: var(--px-neon); box-shadow: 0 0 14px var(--px-neon);
	animation: pxPulse 1.6s ease-in-out infinite;
}
.px-phero__dot--soon {
	background: #ffd166;
	box-shadow: 0 0 14px #ffd166;
}
@keyframes pxPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .3; transform: scale(.85); } }
.px-phero__sep { color: rgba(255,255,255,.3); font-weight: 400; margin: 0 4px; }

/* Hero CTA — coming-soon state */
.px-phero__not-started {
	display: inline-flex; flex-direction: column; gap: 4px;
	padding: 14px 20px;
	border-radius: 14px;
	border: 1px solid rgba(255,209,102,.4);
	background: rgba(255,209,102,.08);
}
.px-phero__not-started-label {
	font-family: "Orbitron", sans-serif;
	font-size: 11px; font-weight: 800;
	letter-spacing: .22em; text-transform: uppercase;
	color: #ffd166;
}
.px-phero__not-started strong {
	font-family: "Rajdhani", sans-serif;
	color: #fff; font-size: 18px; font-weight: 700;
}

/* Buybox FREE-ENTRY state (code required) */
.px-buybox__free-entry {
	padding: 26px 24px 22px;
	border-radius: 16px;
	border: 1px solid rgba(37,255,90,.3);
	background:
		radial-gradient(80% 60% at 0% 0%, rgba(37,255,90,.10), transparent 60%),
		linear-gradient(180deg, #0c160f, #060a07);
	display: flex; flex-direction: column; gap: 14px;
}
.px-buybox__free-head h3 {
	font-family: "Orbitron", sans-serif;
	color: #fff; font-size: 22px; font-weight: 800;
	margin: 6px 0 8px; letter-spacing: .02em;
}
.px-buybox__free-head p {
	margin: 0;
	color: rgba(255,255,255,.72);
	font-size: 14px; line-height: 1.55;
}
.px-buybox__free-head p strong { color: var(--px-neon); }

.px-buybox__free-input-wrap { position: relative; }
.px-buybox__free-input {
	width: 100% !important;
	padding: 18px 22px !important;
	background: rgba(0,0,0,.5) !important;
	border: 2px solid rgba(37,255,90,.35) !important;
	border-radius: 12px !important;
	color: #fff !important;
	font-family: "Orbitron", sans-serif !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	letter-spacing: .18em !important;
	text-align: center !important;
	text-transform: uppercase !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.5) !important;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}
.px-buybox__free-input::placeholder {
	color: rgba(255,255,255,.3);
	letter-spacing: .22em;
}
.px-buybox__free-input:focus {
	outline: none !important;
	border-color: var(--px-neon) !important;
	background: rgba(0,0,0,.7) !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.5), 0 0 0 4px rgba(37,255,90,.15), 0 0 24px rgba(37,255,90,.25) !important;
}
.px-buybox__free-help {
	margin: 0;
	text-align: center;
	font-size: 13px;
	color: rgba(255,255,255,.55);
	font-family: "Rajdhani", sans-serif;
}
.px-buybox__free-help a {
	color: var(--px-neon);
	text-decoration: none;
	font-weight: 600;
}
.px-buybox__free-help a:hover { text-decoration: underline; }

/* Buybox locked state */
.px-buybox__locked {
	padding: 32px 28px;
	text-align: center;
	border-radius: 14px;
	border: 1px solid rgba(255,209,102,.35);
	background:
		radial-gradient(80% 60% at 0% 0%, rgba(255,209,102,.08), transparent 60%),
		linear-gradient(180deg, #1a1404, #0a0703);
}
.px-buybox__locked-icon { font-size: 36px; margin-bottom: 10px; opacity: .9; }
.px-buybox__locked h3 {
	font-family: "Orbitron", sans-serif;
	color: #fff; font-size: 22px; font-weight: 800;
	margin: 0 0 12px; letter-spacing: .02em;
}
.px-buybox__locked p {
	color: rgba(255,255,255,.75);
	font-size: 14px; line-height: 1.55;
	margin: 0 0 14px;
}
.px-buybox__locked p strong { color: #ffd166; font-weight: 700; }
.px-buybox__locked-counter {
	display: inline-flex !important;
	margin: 8px 0 18px !important;
	padding: 12px 18px;
	background: rgba(0,0,0,.45);
	border: 1px solid rgba(255,209,102,.35);
	border-radius: 12px;
}
.px-buybox__locked-cd {
	font-family: "Orbitron", sans-serif;
	font-size: 16px; font-weight: 800;
	letter-spacing: .04em;
	color: #ffd166;
	text-shadow: 0 0 14px rgba(255,209,102,.4);
}

.px-phero__title {
	margin: 0;
	font-family: "Rajdhani","Oswald", sans-serif;
	font-size: clamp(30px, 4.2vw, 58px);
	line-height: 1.02;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: #fff;
	text-shadow: 0 8px 40px rgba(0,0,0,.7);
	max-width: 22ch;
}
.px-phero__bonus {
	display: inline-block;
	margin-left: 12px;
	color: var(--px-neon);
	text-shadow: 0 0 30px rgba(37,255,90,.5);
}

.px-phero__value { margin: 0; color: #cfd6cf; font-size: 15px; letter-spacing: .02em; }
.px-phero__value strong { color: var(--px-neon); font-weight: 800; }

.px-phero__countdown {
	display: grid;
	grid-template-columns: repeat(4, minmax(120px, 1fr));
	gap: 10px;
	max-width: 720px;
	padding: 14px;
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35));
	border: 1px solid var(--px-border-hi);
	backdrop-filter: blur(14px) saturate(1.2);
	box-shadow: 0 30px 60px -20px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.05);
}
.px-cd__cell {
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	padding: 12px 6px;
	background: rgba(0,0,0,.3);
	border-radius: 10px;
}
.px-cd__cell span {
	font-family: "Rajdhani", sans-serif;
	font-size: clamp(32px, 4.5vw, 52px);
	font-weight: 800; line-height: 1;
	color: #fff;
	text-shadow: 0 0 20px rgba(37,255,90,.2);
	font-variant-numeric: tabular-nums;
}
.px-cd__cell em {
	font-style: normal;
	color: var(--px-muted);
	font-size: 10px; text-transform: uppercase; letter-spacing: .3em;
}

.px-phero__stats {
	display: flex; flex-wrap: wrap; gap: 36px;
	padding: 6px 0;
}
.px-stat { display: flex; flex-direction: column; gap: 2px; }
.px-stat strong {
	font-family: "Rajdhani", sans-serif;
	font-size: clamp(22px, 2.4vw, 34px); font-weight: 800; line-height: 1;
	color: #fff;
}
.px-stat strong em { font-style: normal; color: var(--px-muted); font-weight: 500; font-size: .7em; }
.px-stat strong .woocommerce-Price-amount,
.px-stat strong .woocommerce-Price-amount bdi,
.px-stat strong .woocommerce-Price-currencySymbol {
	color: var(--px-neon);
	font: inherit;
	font-size: inherit;
	font-weight: inherit;
}

/* Sale price in hero stat — old price strikethrough + new price neon */
.px-stat strong del,
.px-stat strong ins {
	display: inline-block;
	background: transparent;
	text-decoration: none;
	vertical-align: baseline;
}
.px-stat strong del {
	font-size: .55em !important;
	font-weight: 500 !important;
	color: rgba(255,255,255,.45) !important;
	margin-right: 8px;
	letter-spacing: .01em;
	position: relative;
	text-decoration: line-through;
	text-decoration-color: rgba(229,0,31,.7);
	text-decoration-thickness: 2px;
	text-decoration-skip-ink: none;
	opacity: .85;
}
.px-stat strong del .woocommerce-Price-amount,
.px-stat strong del bdi,
.px-stat strong del .woocommerce-Price-currencySymbol {
	color: rgba(255,255,255,.45) !important;
	-webkit-text-fill-color: rgba(255,255,255,.45) !important;
	font-weight: 500 !important;
	font-size: inherit !important;
}
.px-stat strong ins {
	color: var(--px-neon) !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}
.px-stat strong ins .woocommerce-Price-amount,
.px-stat strong ins bdi,
.px-stat strong ins .woocommerce-Price-currencySymbol {
	color: var(--px-neon) !important;
	-webkit-text-fill-color: var(--px-neon) !important;
}
/* Optional sale badge next to price */
.px-stat--price strong:has(del + ins)::after {
	content: 'SALE';
	display: inline-block;
	margin-left: 8px;
	padding: 3px 8px;
	background: linear-gradient(180deg, #ff3045, #c8001b);
	color: #fff;
	font-family: "Orbitron", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .15em;
	border-radius: 6px;
	vertical-align: middle;
	box-shadow: 0 4px 12px -2px rgba(229,0,31,.5);
}
.px-stat span { color: var(--px-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .2em; margin-top: 4px; }
.px-stat--instant strong { color: var(--px-neon); }

/* ============ Multi-prize draw winners section ============ */
.px-multidraw {
	padding: 48px 0;
	background: linear-gradient(180deg, #060a07, #050a07);
	border-top: 1px solid var(--px-border);
	border-bottom: 1px solid var(--px-border);
}
.px-multidraw__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 36px;
}
.px-multidraw__head .px-section__eyebrow {
	display: inline-block;
	color: var(--px-neon);
	font-family: "Orbitron", sans-serif;
	font-size: 11px;
	letter-spacing: .28em;
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 12px;
}
.px-multidraw__title {
	font-family: "Orbitron", sans-serif;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 900;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .01em;
	margin: 0 0 10px;
}
.px-multidraw__sub {
	color: rgba(255,255,255,.65);
	font-size: 14px;
	margin: 0;
}

.px-multidraw__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
	max-width: 1200px;
	margin: 0 auto;
}
.px-multidraw__card {
	display: flex;
	flex-direction: column;
	padding: 22px 22px 20px;
	border-radius: 16px;
	border: 1px solid var(--px-border);
	background:
		radial-gradient(80% 50% at 0% 0%, rgba(37,255,90,.06), transparent 60%),
		linear-gradient(180deg, #0c140f, #060a07);
	transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
	overflow: hidden;
	position: relative;
}
.px-multidraw__card.is-drawn {
	border-color: rgba(212,175,55,.4);
	background:
		radial-gradient(80% 60% at 0% 0%, rgba(212,175,55,.10), transparent 60%),
		linear-gradient(180deg, #0e0a04, #050302);
	box-shadow: 0 20px 50px -20px rgba(212,175,55,.4);
}
.px-multidraw__card.is-pending {
	opacity: .85;
}
.px-multidraw__card.is-pending::after {
	content: '';
	position: absolute; inset: 0;
	background: repeating-linear-gradient(45deg, transparent 0 12px, rgba(255,255,255,.015) 12px 24px);
	pointer-events: none;
}
.px-multidraw__card-prize {
	padding-bottom: 16px;
	border-bottom: 1px dashed rgba(255,255,255,.1);
	margin-bottom: 16px;
}
.px-multidraw__card-label {
	display: block;
	font-family: "Orbitron", sans-serif;
	font-size: 10px;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
	margin-bottom: 4px;
}
.px-multidraw__card-name {
	display: block;
	font-family: "Orbitron", sans-serif;
	color: #fff;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: .01em;
}
.px-multidraw__card-value {
	display: inline-block;
	margin-top: 6px;
	color: var(--px-neon);
	font-family: "Rajdhani", sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
}
.px-multidraw__card-winner {
	display: flex; flex-direction: column;
	gap: 4px;
}
.px-multidraw__winner-label {
	font-family: "Orbitron", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--px-gold);
}
.px-multidraw__winner-name {
	font-family: "Rajdhani", sans-serif;
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
}
.px-multidraw__winner-ticket {
	font-family: "Orbitron", sans-serif;
	color: rgba(255,255,255,.55);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
}
.px-multidraw__pending {
	font-family: "Orbitron", sans-serif;
	color: rgba(255,255,255,.5);
	font-size: 12px;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 700;
}

/* Compact stats when full stats are hidden (participants + draw timer) */
.px-phero__stats--compact {
	display: flex !important;
	flex-wrap: wrap;
	gap: 18px !important;
	align-items: stretch;
}
.px-stat--participants {
	padding: 10px 18px;
	background: rgba(37,255,90,.06);
	border: 1px solid rgba(37,255,90,.28);
	border-radius: 12px;
}
.px-stat--participants strong {
	font-family: "Orbitron", sans-serif;
	color: var(--px-neon) !important;
	font-size: clamp(28px, 3vw, 40px);
}
.px-stat--participants span {
	color: rgba(255,255,255,.65);
	font-family: "Orbitron", sans-serif;
	font-size: 10px;
	letter-spacing: .22em;
	text-transform: uppercase;
	margin-top: 6px;
	display: block;
}

/* Pulsing draw timer */
.px-draw-timer {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 12px 22px;
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(255,0,40,.18), rgba(229,0,31,.06));
	border: 2px solid #ff1a3a;
	box-shadow: 0 0 24px rgba(255,30,60,.4), inset 0 1px 0 rgba(255,255,255,.08);
	animation: pxDrawTimerPulse 1.6s ease-in-out infinite;
}
.px-draw-timer__label {
	font-family: "Orbitron", sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 0 12px rgba(255,30,60,.6);
}
.px-draw-timer__values {
	display: inline-flex;
	gap: 8px;
}
.px-draw-timer__cell {
	display: inline-flex;
	align-items: baseline;
	gap: 2px;
	font-family: "Orbitron", sans-serif;
	font-weight: 900;
	color: #fff;
	font-size: 22px;
	line-height: 1;
	text-shadow: 0 0 14px rgba(255,30,60,.55);
}
.px-draw-timer__cell em {
	font-style: normal;
	font-size: 11px;
	color: rgba(255,255,255,.75);
	font-weight: 700;
	margin-left: 1px;
	letter-spacing: .04em;
}
@keyframes pxDrawTimerPulse {
	0%, 100% {
		box-shadow: 0 0 24px rgba(255,30,60,.4), inset 0 1px 0 rgba(255,255,255,.08);
		border-color: #ff1a3a;
	}
	50% {
		box-shadow: 0 0 48px rgba(255,30,60,.75), 0 0 0 6px rgba(255,30,60,.12), inset 0 1px 0 rgba(255,255,255,.15);
		border-color: #ff4a6a;
	}
}

@media (max-width: 600px) {
	.px-draw-timer { padding: 10px 16px; gap: 10px; }
	.px-draw-timer__cell { font-size: 18px; }
	.px-draw-timer__label { font-size: 10px; letter-spacing: .16em; }
}

/* Editable note under price (set per-product in admin meta box) */
.px-phero__price-note {
	margin: 4px 0 14px !important;
	padding: 10px 14px;
	border-radius: 10px;
	background: rgba(37,255,90,.06);
	border-left: 3px solid var(--px-neon);
	color: rgba(255,255,255,.85);
	font-family: "Rajdhani", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .02em;
	max-width: 620px;
}

/* Price stat — "from £2.40" with info tooltip */
.px-stat--price { position: relative; }
.px-stat--price strong { color: var(--px-neon); display: inline-flex; align-items: center; gap: 8px; }
.px-stat__info {
	display: inline-flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; border-radius: 50%;
	background: rgba(37,255,90,.10);
	border: 1px solid rgba(37,255,90,.35);
	color: var(--px-neon);
	font-family: "Rajdhani", sans-serif;
	font-size: 12px; font-weight: 800; line-height: 1;
	cursor: help;
	transition: background .15s ease;
	font-style: italic;
}
.px-stat__info:hover { background: rgba(37,255,90,.22); }
.px-stat__tip {
	position: absolute;
	top: calc(100% + 8px); left: 0; z-index: 20;
	min-width: 260px; max-width: 320px;
	padding: 12px 14px;
	background: #0a0a0a;
	border: 1px solid rgba(37,255,90,.25);
	border-radius: 10px;
	box-shadow: 0 20px 60px rgba(0,0,0,.6), 0 0 24px rgba(37,255,90,.08);
	color: rgba(255,255,255,.85);
	font-family: "Rajdhani", sans-serif;
	font-size: 13px; line-height: 1.45;
	letter-spacing: 0; text-transform: none;
	opacity: 0; visibility: hidden;
	transform: translateY(-4px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
	pointer-events: none;
}
.px-stat__tip strong { display: block; color: var(--px-neon); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 4px; }
.px-stat--price:hover .px-stat__tip,
.px-stat--price:focus-within .px-stat__tip {
	opacity: 1; visibility: visible; transform: translateY(0);
}

/* Grand-draw announce line (replaces "people viewing") */
.px-phero__announce { color: rgba(255,255,255,.85); }
.px-phero__announce strong { color: var(--px-neon); font-weight: 800; }

.px-phero__progress {
	height: 6px; border-radius: 999px;
	background: rgba(255,255,255,.08);
	overflow: hidden;
	max-width: 720px;
}
.px-phero__bar {
	appearance: none; -webkit-appearance: none; display: block;
	height: 100%; width: 100%; border: 0; background: transparent;
	animation: pxBarShine 2.4s ease-in-out infinite;
}
.px-phero__bar::-webkit-progress-bar { background: transparent; }
.px-phero__bar::-webkit-progress-value {
	background: linear-gradient(90deg, var(--px-neon-2), var(--px-neon), #8effc5);
	box-shadow: 0 0 20px var(--px-neon-glow);
}
.px-phero__bar::-moz-progress-bar {
	background: linear-gradient(90deg, var(--px-neon-2), var(--px-neon), #8effc5);
	box-shadow: 0 0 20px var(--px-neon-glow);
}
@keyframes pxBarShine {
	0%, 100% { filter: brightness(1); }
	50% { filter: brightness(1.25); }
}

.px-phero__cta { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* ============ Winner card — hero sidebar, closed competitions ============ */
.px-winner-card {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	margin-bottom: 18px;
	background:
		radial-gradient(80% 60% at 20% 0%, rgba(255,210,100,.18), transparent 60%),
		radial-gradient(60% 80% at 100% 100%, rgba(212,175,55,.14), transparent 55%),
		linear-gradient(180deg, #1a1304, #0a0703);
	border: 1px solid rgba(212,175,55,.45);
	box-shadow:
		0 30px 70px -20px rgba(212,175,55,.35),
		0 0 0 1px rgba(0,0,0,.35) inset,
		0 0 40px rgba(212,175,55,.12);
	isolation: isolate;
}
.px-winner-card::before {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,210,100,.08) 50%, transparent 100%);
	background-size: 300% 100%;
	animation: pxWinnerFlow 7s linear infinite;
	pointer-events: none; z-index: -1;
}
@keyframes pxWinnerFlow {
	0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; }
}

.px-winner-card__ribbon {
	text-align: center;
	padding: 10px 14px;
	font-family: "Orbitron", sans-serif;
	font-size: 11px; font-weight: 800;
	letter-spacing: .22em; text-transform: uppercase;
	color: #1a1400;
	background: linear-gradient(135deg, #f5d97a, #d4af37 55%, #8b6f12);
	border-bottom: 1px solid rgba(0,0,0,.2);
}

.px-winner-card__body {
	padding: 24px 22px 22px;
	display: flex; flex-direction: column; gap: 6px;
	text-align: center;
}
.px-winner-card__label {
	font-family: "Orbitron", sans-serif;
	font-size: 10px; font-weight: 800;
	letter-spacing: .3em; text-transform: uppercase;
	color: rgba(255,210,100,.75);
}
.px-winner-card__ticket {
	font-family: "Orbitron", sans-serif;
	font-size: 28px; font-weight: 900;
	letter-spacing: .02em;
	background: linear-gradient(135deg, #f5d97a, #d4af37 50%, #f5d97a);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 0 30px rgba(212,175,55,.35);
	margin: 4px 0 0;
	line-height: 1.05;
	word-break: break-all;
}
.px-winner-card__name {
	font-family: "Rajdhani", sans-serif;
	color: #fff;
	font-size: 22px; font-weight: 800;
	line-height: 1.2;
	margin-top: 2px;
}
.px-winner-card__ctas {
	display: flex; flex-direction: column; gap: 10px;
	margin-top: 18px;
}
.px-winner-card__ctas .px-btn { width: 100%; }

/* Big red YouTube "Watch live draw" CTA */
.px-yt-cta {
	display: flex; align-items: center; gap: 14px;
	padding: 14px 20px;
	background: linear-gradient(180deg, #ff1f1f 0%, #ff0000 60%, #c80000 100%);
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,.1);
	box-shadow:
		0 18px 40px -10px rgba(255,0,0,.7),
		0 0 0 1px rgba(255,255,255,.08) inset,
		0 0 32px rgba(255,0,0,.4);
	transition: transform .18s ease, box-shadow .2s ease, background .2s ease;
	animation: pxYtPulse 2.4s ease-in-out infinite;
}
.px-yt-cta:hover {
	transform: translateY(-3px) scale(1.015);
	background: linear-gradient(180deg, #ff3a3a 0%, #ff1414 60%, #de0a0a 100%);
	box-shadow:
		0 24px 50px -10px rgba(255,0,0,.85),
		0 0 0 1px rgba(255,255,255,.15) inset,
		0 0 48px rgba(255,0,0,.6);
	animation: none;
}
.px-yt-cta:active { transform: translateY(-1px) scale(1); }

.px-yt-cta__icon {
	flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 32px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,.3);
}
.px-yt-cta__icon svg { display: block; }

.px-yt-cta__text {
	display: flex; flex-direction: column; gap: 2px; line-height: 1.1;
}
.px-yt-cta__text strong {
	font-family: "Orbitron", sans-serif;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .12em;
	color: #fff;
}
.px-yt-cta__text em {
	font-style: normal;
	font-family: "Rajdhani", sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: rgba(255,255,255,.85);
	letter-spacing: .05em;
}

@keyframes pxYtPulse {
	0%, 100% {
		box-shadow:
			0 18px 40px -10px rgba(255,0,0,.7),
			0 0 0 1px rgba(255,255,255,.08) inset,
			0 0 32px rgba(255,0,0,.4);
	}
	50% {
		box-shadow:
			0 22px 50px -8px rgba(255,0,0,.9),
			0 0 0 1px rgba(255,255,255,.15) inset,
			0 0 56px rgba(255,0,0,.65),
			0 0 0 6px rgba(255,0,0,.15);
	}
}

@media (max-width: 720px) {
	.px-phero { padding-top: 40px !important; padding-bottom: 20px !important; min-height: auto !important; }
	.px-phero__inner { padding-top: 0 !important; padding-bottom: 0 !important; gap: 18px !important; }
	.px-phero__title { font-size: clamp(24px, 7vw, 34px) !important; margin-bottom: 10px !important; }
	.px-phero__countdown { grid-template-columns: repeat(4, 1fr); padding: 10px; gap: 6px; }
	.px-cd__cell { padding: 8px 2px; }
	.px-phero__stats { gap: 14px; }
	.px-phero__value { margin: 4px 0 0 !important; font-size: 13px !important; }
	.px-phero__live { margin-bottom: 8px !important; }
}


/* =========================================================
   2. LATEST TICKETS TICKER
   ========================================================= */
.px-ticker {
	position: relative;
	display: flex; align-items: center; gap: 18px;
	padding: 12px 0 12px 24px;
	margin-top: -10px;
	background:
		radial-gradient(80% 100% at 10% 50%, rgba(37,255,90,.12), transparent 60%),
		radial-gradient(80% 100% at 90% 50%, rgba(37,255,90,.08), transparent 60%),
		linear-gradient(180deg, #06100a, #050a07);
	border-top: 1px solid var(--px-border-hi);
	border-bottom: 1px solid var(--px-border-hi);
	overflow: hidden;
	white-space: nowrap;
	box-shadow: 0 0 60px rgba(37,255,90,.08) inset;
}
/* Fade edges */
.px-ticker::before, .px-ticker::after {
	content: ''; position: absolute; top: 0; bottom: 0; width: 120px;
	pointer-events: none; z-index: 2;
}
.px-ticker::before { left: 0; background: linear-gradient(90deg, #000 0%, transparent 100%); }
.px-ticker::after { right: 0; background: linear-gradient(-90deg, #000 0%, transparent 100%); }

.px-ticker__label {
	position: relative; z-index: 3;
	flex: 0 0 auto;
	display: inline-flex; align-items: center; gap: 8px;
	padding: 8px 16px;
	background: linear-gradient(180deg, var(--px-neon) 0%, var(--px-neon-2) 100%);
	color: #021809;
	border-radius: 999px;
	font-weight: 800; font-size: 11px;
	letter-spacing: .22em; text-transform: uppercase;
	box-shadow: 0 8px 24px -6px rgba(37,255,90,.55), 0 0 0 4px rgba(37,255,90,.1);
}

.px-ticker__track { flex: 1; overflow: hidden; min-width: 0; }
.px-ticker__inner {
	display: inline-flex; gap: 12px;
	animation: pxMarquee 60s linear infinite;
	padding-left: 12px;
}
.px-ticker:hover .px-ticker__inner { animation-play-state: paused; }
@keyframes pxMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.px-ticker__item {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 10px 16px;
	background: linear-gradient(180deg, rgba(37,255,90,.06), rgba(37,255,90,.02));
	border: 1px solid rgba(37,255,90,.18);
	border-radius: 999px;
	backdrop-filter: blur(8px);
	transition: all .2s ease;
	font-size: 13px;
	line-height: 1;
}
.px-ticker__item:hover {
	border-color: var(--px-neon);
	box-shadow: 0 8px 24px -8px rgba(37,255,90,.35);
	transform: translateY(-1px);
}
.px-ticker__dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--px-neon); box-shadow: 0 0 10px var(--px-neon);
	animation: pxPulse 1.6s ease-in-out infinite;
	flex: 0 0 auto;
}
.px-ticker__item strong { color: #fff; font-weight: 800; }
.px-ticker__qty {
	color: var(--px-neon); font-weight: 700;
	padding: 4px 10px;
	background: rgba(37,255,90,.12);
	border-radius: 999px;
	font-size: 12px;
	border: 1px solid rgba(37,255,90,.25);
}
.px-ticker__item em { font-style: normal; color: var(--px-muted); font-size: 12px; }

/* Mobile: stack label above marquee + add breathing room for chips */
@media (max-width: 720px) {
	.px-ticker {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 14px 0 14px;
		min-height: 0 !important;
		height: auto !important;
	}
	.px-ticker__label { align-self: flex-start; margin-left: 16px; }
	.px-ticker__track {
		width: 100%;
		flex: 0 0 auto !important;
		height: auto !important;
		min-height: 0 !important;
	}
	.px-ticker__inner {
		align-items: center !important;
		height: auto !important;
		min-height: 0 !important;
	}
	.px-ticker__item {
		flex: 0 0 auto !important;
		align-self: center !important;
		white-space: nowrap !important;
		height: 36px !important;
		padding: 0 14px !important;
	}
	.px-ticker::before, .px-ticker::after { width: 40px; }
}


/* =========================================================
   3. SHOWCASE (gallery + sticky buy)
   ========================================================= */
.px-showcase { padding: 28px 0 40px; }
.px-showcase__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(500px, 1.05fr);
	gap: 40px;
}

/* ---- Gallery ---- */
.px-showcase__media { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.px-gallery__main {
	position: relative;
	display: block;
	width: 100%; padding: 0;
	border-radius: var(--px-radius);
	overflow: hidden;
	border: 1px solid var(--px-border);
	background: var(--px-card);
	cursor: zoom-in;
	aspect-ratio: 4/3;
}
.px-gallery__hero {
	width: 100%; height: 100%; object-fit: cover; display: block;
	transition: transform .6s cubic-bezier(.2,.9,.2,1), opacity .25s ease;
}
.px-gallery__hero.is-swapping { opacity: 0; }
.px-gallery__main:hover .px-gallery__hero { transform: scale(1.03); }
.px-gallery__zoom, .px-gallery__counter {
	position: absolute;
	background: rgba(0,0,0,.65); backdrop-filter: blur(8px);
	color: #fff; font-size: 12px; font-weight: 700;
	padding: 8px 14px; border-radius: 999px;
	letter-spacing: .05em;
	border: 1px solid var(--px-border);
}
.px-gallery__zoom { top: 16px; right: 16px; }
.px-gallery__counter { bottom: 16px; left: 16px; }

.px-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}
.px-gallery__thumb {
	padding: 0; border: 1px solid var(--px-border); background: var(--px-card);
	border-radius: 10px; overflow: hidden; cursor: pointer;
	aspect-ratio: 4/3;
	transition: all .2s ease;
}
.px-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.px-gallery__thumb:hover { border-color: var(--px-neon); transform: translateY(-2px); }
.px-gallery__thumb.is-active { border-color: var(--px-neon); box-shadow: 0 0 0 2px rgba(37,255,90,.25); }

.px-showcase__desc {
	margin-top: 8px;
	padding: 20px 24px;
	color: #d1d8d1;
	line-height: 1.7;
	font-size: 15px;
	border: 1px solid var(--px-border);
	border-radius: var(--px-radius);
	background: var(--px-card);
}
.px-showcase__desc p { margin: 0 0 10px; }
.px-showcase__desc p:last-child { margin-bottom: 0; }

/* ---- Sticky Buy Box ---- */
.px-showcase__buy { min-width: 0; display: flex; flex-direction: column; gap: 10px; position: sticky; top: 24px; align-self: start; }

/* CASH Alternative — prominent card above buy-box */
.px-cashalt {
	display: flex; align-items: center; gap: 16px;
	padding: 18px 22px;
	border-radius: 16px;
	background:
		radial-gradient(80% 100% at 0% 50%, rgba(37,255,90,.14), transparent 70%),
		linear-gradient(180deg, rgba(12,24,16,.95), rgba(6,14,8,.95));
	border: 1px solid var(--px-border-hi);
	box-shadow: 0 20px 50px -16px rgba(37,255,90,.25), 0 0 0 1px rgba(37,255,90,.06);
}
.px-cashalt__ico {
	width: 48px; height: 48px; flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: linear-gradient(180deg, rgba(37,255,90,.22), rgba(37,255,90,.06));
	border: 1px solid rgba(37,255,90,.4);
	color: var(--px-neon);
}
.px-cashalt__ico .px-ico { filter: drop-shadow(0 0 6px rgba(37,255,90,.55)); }
.px-cashalt__body { display: flex; flex-direction: column; line-height: 1; gap: 6px; }
.px-cashalt__body em {
	font-style: normal;
	color: var(--px-muted);
	font-size: 11px;
	letter-spacing: .22em; text-transform: uppercase; font-weight: 700;
}
.px-cashalt__body strong {
	color: var(--px-neon);
	font-family: "Orbitron","Rajdhani", sans-serif;
	font-size: 26px; font-weight: 800;
	text-shadow: 0 0 12px rgba(37,255,90,.3);
}
.px-buybox {
	padding: 18px 22px;
	border-radius: var(--px-radius);
	background:
		radial-gradient(80% 60% at 50% 0%, rgba(37,255,90,.08), transparent 70%),
		linear-gradient(180deg, rgba(12,24,16,.95), rgba(8,14,10,.95));
	border: 1px solid var(--px-border-hi);
	box-shadow:
		0 30px 80px -20px rgba(0,0,0,.9),
		0 0 0 1px rgba(37,255,90,.06),
		inset 0 1px 0 rgba(255,255,255,.04);
	backdrop-filter: blur(6px);
}
.px-buybox__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.px-buybox__mine {
	font-size: 12px; color: var(--px-muted);
	padding: 6px 10px; border-radius: 999px;
	background: rgba(37,255,90,.08);
	border: 1px solid rgba(37,255,90,.2);
}
.px-buybox__mine strong { color: var(--px-neon); }

.px-buybox__form { display: flex; flex-direction: column; gap: 10px; }

/* Quantity + CTA inline */
.px-buybox__action {
	display: flex; align-items: stretch; gap: 12px;
}
.px-buybox__qty { flex: 0 0 auto; }

/* Per-product toggle: hide bundle discount buttons (lottery plugin's predefined buttons) */
.px-no-bundles .lty-predefined-buttons,
.px-no-bundles .lty-single-product-predefined-buttons,
.px-no-bundles .lty-predefined-button,
.px-no-bundles .lty-bundle-buttons,
.px-no-bundles .px-buybox__bundles { display: none !important; }

/* Hide native quantity input when slider is active (still in DOM for form submit) */
.px-buybox__qty--hidden { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }

/* ============ Quantity slider (drag left/right) ============ */
.px-buybox__action {
	flex-wrap: wrap !important;
	align-items: stretch !important;
}
.px-qty-slider {
	flex: 1 1 100%;
	padding: 18px 22px;
	border-radius: 14px;
	border: 1px solid var(--px-border-hi, rgba(37,255,90,.2));
	background:
		radial-gradient(80% 100% at 0% 0%, rgba(37,255,90,.08), transparent 60%),
		linear-gradient(180deg, #0c140f, #060a07);
	box-shadow: 0 12px 28px -16px rgba(37,255,90,.25), inset 0 1px 0 rgba(255,255,255,.04);
	margin-bottom: 4px;
	box-sizing: border-box;
}
.px-qty-slider__head {
	margin-bottom: 8px;
}
.px-qty-slider__label {
	font-family: "Orbitron", sans-serif;
	font-size: 11px; font-weight: 800;
	letter-spacing: .22em; text-transform: uppercase;
	color: rgba(255,255,255,.55);
}
.px-qty-slider__display {
	font-family: "Orbitron", sans-serif;
	font-size: 32px; font-weight: 900;
	color: var(--px-neon, #25ff5a);
	line-height: 1;
	text-shadow: 0 0 18px rgba(37,255,90,.35);
	letter-spacing: .02em;
	min-width: 80px;
	text-align: center;
}

/* Row: [-] display [+] */
.px-qty-slider__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,.06);
}
.px-qty-slider__btn {
	flex: 0 0 auto;
	width: 48px; height: 48px;
	padding: 0;
	margin: 0;
	border-radius: 10px;
	background: rgba(37,255,90,.10);
	border: 1px solid rgba(37,255,90,.45);
	color: var(--px-neon, #25ff5a);
	font-family: "Arial", -apple-system, sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	user-select: none;
	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	box-sizing: border-box;
	transition: background .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease;
	box-shadow: 0 6px 18px -6px rgba(37,255,90,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.px-qty-slider__btn:hover {
	background: rgba(37,255,90,.20);
	border-color: var(--px-neon, #25ff5a);
	box-shadow: 0 10px 24px -6px rgba(37,255,90,.6);
}
.px-qty-slider__btn:active {
	transform: scale(.94);
	background: rgba(37,255,90,.30);
}
.px-qty-slider__row .px-qty-slider__display {
	flex: 1;
	font-size: 36px;
}

@media (max-width: 720px) {
	.px-qty-slider__btn { width: 52px; height: 52px; font-size: 30px; border-radius: 10px; }
	.px-qty-slider__row { gap: 12px; }
	.px-qty-slider__row .px-qty-slider__display { font-size: 32px; }
}

/* Range input — full custom styling */
.px-qty-slider__range {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	width: 100%;
	height: 8px;
	background: linear-gradient(90deg, var(--px-neon, #25ff5a) 0%, var(--px-neon, #25ff5a) var(--px-pct, 0%), rgba(255,255,255,.08) var(--px-pct, 0%), rgba(255,255,255,.08) 100%);
	border-radius: 999px;
	outline: none;
	cursor: pointer;
	transition: background .12s linear;
	margin: 8px 0;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.5);
}
.px-qty-slider__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 28px; height: 28px;
	border-radius: 50%;
	background: linear-gradient(180deg, #3bff75, var(--px-neon, #25ff5a) 55%, var(--px-neon-2, #00d64a));
	border: 2px solid #fff;
	box-shadow: 0 0 0 3px rgba(37,255,90,.18), 0 8px 18px rgba(0,0,0,.4), 0 0 14px rgba(37,255,90,.5);
	cursor: grab;
	transition: transform .12s ease, box-shadow .15s ease;
}
.px-qty-slider__range::-webkit-slider-thumb:hover { transform: scale(1.08); }
.px-qty-slider__range::-webkit-slider-thumb:active {
	cursor: grabbing;
	transform: scale(1.18);
	box-shadow: 0 0 0 5px rgba(37,255,90,.25), 0 12px 28px rgba(0,0,0,.5), 0 0 24px rgba(37,255,90,.7);
}
.px-qty-slider__range::-moz-range-thumb {
	width: 28px; height: 28px;
	border-radius: 50%;
	background: linear-gradient(180deg, #3bff75, var(--px-neon, #25ff5a) 55%, var(--px-neon-2, #00d64a));
	border: 2px solid #fff;
	box-shadow: 0 0 0 3px rgba(37,255,90,.18), 0 8px 18px rgba(0,0,0,.4), 0 0 14px rgba(37,255,90,.5);
	cursor: grab;
}
.px-qty-slider__scale {
	display: flex; justify-content: space-between;
	font-family: "Orbitron", sans-serif;
	font-size: 10px; letter-spacing: .15em;
	color: rgba(255,255,255,.4);
	margin-top: 6px;
}

@media (max-width: 720px) {
	.px-qty-slider { padding: 14px 16px; }
	.px-qty-slider__display { font-size: 26px; }
}
.px-buybox__qty .quantity {
	display: flex; align-items: stretch; height: 64px;
	border: 1px solid var(--px-border-hi);
	border-radius: 14px;
	overflow: hidden;
	background: rgba(0,0,0,.45);
	box-shadow: inset 0 2px 8px rgba(0,0,0,.4);
}
.px-buybox__qty button,
.px-buybox__qty .minus,
.px-buybox__qty .plus {
	background: transparent !important;
	color: #fff !important;
	border: 0 !important;
	width: 44px; height: 100%;
	font-size: 22px; font-weight: 700;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
	display: flex; align-items: center; justify-content: center;
	padding: 0 !important;
	line-height: 1;
}
.px-buybox__qty .minus:hover,
.px-buybox__qty .plus:hover { background: rgba(37,255,90,.1) !important; color: var(--px-neon) !important; }
.px-buybox__qty input.qty {
	width: 72px; height: 100%;
	background: transparent !important;
	color: #fff !important;
	border: 0 !important; border-left: 1px solid var(--px-border) !important; border-right: 1px solid var(--px-border) !important;
	border-radius: 0 !important; padding: 0 !important;
	font-size: 22px; font-weight: 800;
	text-align: center;
	font-family: "Rajdhani", sans-serif;
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
}
.px-buybox__qty input.qty::-webkit-outer-spin-button,
.px-buybox__qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.px-buybox__qty input.qty:focus { outline: none; }

/* CTA in action row needs to fill */
.px-buybox__action .px-btn {
	flex: 1;
	height: 64px;
	padding: 0 24px;
	font-size: 16px;
	border-radius: 14px;
}

.px-buybox__trust {
	list-style: none; padding: 0; margin: 18px 0 0;
	display: flex; flex-direction: column; gap: 8px;
	border-top: 1px dashed var(--px-border);
	padding-top: 16px;
}
.px-buybox__trust li { color: var(--px-muted); font-size: 13px; }
.px-buybox__trust a { color: var(--px-neon); text-decoration: none; }
.px-buybox__trust a:hover { text-decoration: underline; }

/* =========================================================
   Lottery plugin widgets — premium restyle (scoped to buy-box)
   ========================================================= */

/* Question + Answers container */
.px-buybox .lty-lottery-question-answer-container {
	margin: 0 0 6px;
	padding: 12px 14px;
	background: rgba(0,0,0,.35);
	border: 1px solid var(--px-border);
	border-radius: 12px;
}
.px-buybox .lty-lottery-question-answer-container h3 {
	color: var(--px-muted) !important;
	font-size: 10px !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	margin: 0 0 6px !important;
	font-weight: 700 !important;
	display: block !important;
}
.px-buybox .lty-lottery-question {
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	margin: 0 0 8px !important;
	line-height: 1.3 !important;
}
.px-buybox .lty-lottery-answers {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important;
	gap: 6px !important;
	flex-wrap: nowrap !important;
	justify-content: normal !important;
}
.px-buybox .lty-lottery-answers li {
	list-style: none !important;
	padding: 8px 10px !important;
	border-radius: 10px !important;
	background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)) !important;
	border: 1px solid var(--px-border) !important;
	color: #e8f0e8 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: all .15s ease !important;
	line-height: 1.25 !important;
	flex: initial !important;
	position: relative;
	overflow: hidden;
}
.px-buybox .lty-lottery-answers li::before {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(135deg, rgba(37,255,90,.18), rgba(37,255,90,0));
	opacity: 0;
	transition: opacity .2s ease;
	pointer-events: none;
}
.px-buybox .lty-lottery-answers li:hover {
	color: #fff !important;
	border-color: var(--px-border-hi) !important;
	background: rgba(37,255,90,.06) !important;
	transform: translateY(-2px);
}
.px-buybox .lty-lottery-answers li.lty-selected {
	color: #021809 !important;
	background: linear-gradient(180deg, #3bff75, var(--px-neon-2)) !important;
	border-color: var(--px-neon) !important;
	box-shadow: 0 10px 28px -8px rgba(37,255,90,.55), inset 0 1px 0 rgba(255,255,255,.3) !important;
	transform: translateY(-2px);
}
.px-buybox .lty-lottery-answers li.lty-selected::before { opacity: 1; }

/* Predefined bundle buttons */
.px-buybox .lty-predefined-buttons,
.px-buybox .lty-single-product-predefined-buttons {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px !important;
}
.px-buybox .lty-predefined-button {
	position: relative;
	list-style: none !important;
	padding: 22px 10px 16px !important;
	background: linear-gradient(180deg, rgba(12,22,16,.95), rgba(6,12,8,.95)) !important;
	border: 1px solid var(--px-border) !important;
	border-radius: 14px !important;
	color: #fff !important;
	font-family: "Rajdhani", sans-serif !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: transform .15s ease, border-color .15s ease, box-shadow .2s ease, background .15s ease !important;
	overflow: visible !important;
	line-height: 1 !important;
}
.px-buybox .lty-predefined-button::after {
	content: '';
	display: block;
	width: 15px; height: 15px;
	margin: 6px auto 0;
	background: currentColor;
	-webkit-mask: url('/assets/img/icons/projectx-ticket.svg') center / contain no-repeat;
	mask: url('/assets/img/icons/projectx-ticket.svg') center / contain no-repeat;
	opacity: .5;
}
.px-buybox .lty-predefined-button:hover {
	transform: translateY(-3px) !important;
	border-color: var(--px-border-hi) !important;
	box-shadow: 0 14px 32px -12px rgba(37,255,90,.35);
}
.px-buybox .lty-predefined-button.lty-selected-button {
	background: linear-gradient(180deg, rgba(37,255,90,.22), rgba(37,255,90,.06)) !important;
	border-color: var(--px-neon) !important;
	color: #fff !important;
	box-shadow: 0 14px 36px -10px rgba(37,255,90,.5), 0 0 0 2px rgba(37,255,90,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
	transform: translateY(-3px) !important;
}
.px-buybox .lty-predefined-button.lty-selected-button::after { opacity: 1; }

/* Discount badge — as corner ribbon */
.px-buybox .lty-predefined-button-badge {
	position: absolute !important;
	top: -10px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	background: linear-gradient(180deg, #ff2d55, #c6102a) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .06em !important;
	padding: 5px 12px !important;
	border-radius: 999px !important;
	text-transform: uppercase !important;
	box-shadow: 0 6px 14px -4px rgba(255,45,85,.55), 0 0 0 2px rgba(0,0,0,.5) !important;
	white-space: nowrap !important;
	z-index: 2;
	line-height: 1.1 !important;
}

/* Generic form inputs inside buy-box */
.px-buybox input[type="text"],
.px-buybox input[type="email"],
.px-buybox select, .px-buybox textarea {
	background: #0a0f0a !important; color: #fff !important;
	border: 1px solid var(--px-border) !important;
	border-radius: 10px !important;
}
.px-buybox label:not(.skip-style) { color: #e8f0e8 !important; font-weight: 600; }

@media (max-width: 520px) {
	.px-buybox .lty-predefined-buttons { grid-template-columns: repeat(2, 1fr) !important; }
	.px-buybox__action { flex-direction: column; }
	.px-buybox__action .px-btn { width: 100%; }
}

.px-closed-notice {
	padding: 18px; border-radius: 12px; text-align: center; margin: 0; font-weight: 800;
	background: rgba(255,45,85,.12); color: #ff7585;
	border: 1px solid rgba(255,45,85,.3);
	letter-spacing: .05em; text-transform: uppercase;
}

@media (max-width: 1000px) {
	.px-showcase__grid { grid-template-columns: 1fr; }
	.px-showcase__buy { position: static; }
	.px-gallery__thumbs { grid-template-columns: repeat(4, 1fr); }
}

/* Hide PayPal "Pay in 3 interest-free payments" message under CTA */
.ppcp-messages,
.px-buybox .ppcp-messages,
.px-buybox .message__container,
.message__container.locale--GB {
	display: none !important;
}


/* =========================================================
   4. FEATURE GRID — premium cards
   ========================================================= */
.px-features { padding: 64px 0; }
.px-features--secondary { padding: 32px 0 56px; }
.px-features__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px;
}
.px-features__grid--2col {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 720px) {
	.px-features__grid--2col { grid-template-columns: 1fr; }
}

/* ============ Project X Package — full-width hero row ============ */
.px-package-hero { padding: 56px 0 32px; }
.px-package-hero__card {
	position: relative;
	padding: 40px 44px;
	border-radius: 24px;
	border: 1px solid rgba(37,255,90,.25);
	background:
		radial-gradient(80% 60% at 0% 0%, rgba(37,255,90,.14), transparent 60%),
		radial-gradient(60% 80% at 100% 100%, rgba(37,255,90,.08), transparent 55%),
		linear-gradient(180deg, #0e1a11, #070b08);
	box-shadow: 0 30px 80px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(0,0,0,.3) inset;
	overflow: hidden;
	isolation: isolate;
}
.px-package-hero__card::before {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(37,255,90,.06) 50%, transparent 100%);
	background-size: 300% 100%;
	animation: pxPkgFlow 8s linear infinite;
	pointer-events: none; z-index: -1;
}
@keyframes pxPkgFlow {
	0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; }
}

.px-package-hero__head {
	display: flex; align-items: flex-start; gap: 22px;
	margin-bottom: 32px;
	padding-bottom: 26px;
	border-bottom: 1px solid rgba(37,255,90,.12);
}
.px-package-hero__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 72px; height: 72px; flex: 0 0 auto;
	border-radius: 18px;
	background: rgba(37,255,90,.12);
	border: 1px solid rgba(37,255,90,.35);
	color: var(--px-neon);
	box-shadow: 0 0 30px rgba(37,255,90,.18);
}
.px-package-hero__head h2 {
	margin: 8px 0 10px;
	font-family: "Orbitron", sans-serif;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 800;
	color: #fff;
	letter-spacing: .01em;
	line-height: 1.1;
}
.px-package-hero__lead {
	margin: 0;
	color: rgba(255,255,255,.82);
	font-size: 15px;
	line-height: 1.6;
	max-width: 780px;
}
.px-package-hero__lead strong { color: var(--px-neon); font-weight: 700; }

.px-package-hero__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}
.px-package-hero__item {
	padding: 18px 16px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,.08);
	background: rgba(255,255,255,.02);
	display: flex; flex-direction: column; gap: 8px;
	transition: border-color .2s ease, background .2s ease, transform .25s ease;
}
.px-package-hero__item:hover {
	border-color: rgba(37,255,90,.35);
	background: rgba(37,255,90,.04);
	transform: translateY(-2px);
}
.px-package-hero__item-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px;
	border-radius: 10px;
	background: rgba(37,255,90,.10);
	border: 1px solid rgba(37,255,90,.28);
	color: var(--px-neon);
}
.px-package-hero__item strong {
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
}
.px-package-hero__item span {
	color: rgba(255,255,255,.6);
	font-size: 12px;
	line-height: 1.4;
}

@media (max-width: 960px) {
	.px-package-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.px-package-hero { padding: 36px 0 24px; }
	.px-package-hero__card { padding: 26px 20px; border-radius: 18px; }
	.px-package-hero__head { flex-direction: column; gap: 14px; margin-bottom: 22px; padding-bottom: 18px; }
	.px-package-hero__icon { width: 56px; height: 56px; }
	.px-package-hero__head h2 { font-size: 24px; margin: 6px 0 8px; }
	.px-package-hero__lead { font-size: 14px; }
	.px-package-hero__grid { grid-template-columns: 1fr; gap: 10px; }
	.px-package-hero__item { padding: 14px; flex-direction: row; align-items: center; gap: 12px; }
	.px-package-hero__item-ico { width: 36px; height: 36px; flex: 0 0 auto; }
	.px-package-hero__item strong { font-size: 13px; }
	.px-package-hero__item > span:not(.px-package-hero__item-ico) { display: none; }
}
.px-feat {
	position: relative;
	padding: 32px 28px;
	border-radius: 20px;
	border: 1px solid var(--px-border);
	background:
		radial-gradient(80% 50% at 0% 0%, rgba(37,255,90,.08), transparent 60%),
		linear-gradient(180deg, #0c140f, #070b08);
	transition: transform .3s cubic-bezier(.2,.9,.2,1), border-color .2s ease, box-shadow .3s ease;
	display: flex; flex-direction: column; gap: 14px;
	overflow: hidden;
	isolation: isolate;
}
.px-feat::before {
	content: '';
	position: absolute; inset: 0;
	background: radial-gradient(60% 40% at 50% -10%, rgba(37,255,90,.14), transparent 60%);
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
	z-index: -1;
}
.px-feat:hover {
	transform: translateY(-4px);
	border-color: var(--px-border-hi);
	box-shadow: 0 30px 60px -20px rgba(37,255,90,.2), 0 0 0 1px rgba(37,255,90,.08);
}
.px-feat:hover::before { opacity: 1; }

/* Icon in circle — SVG, neon green */
.px-feat__icon {
	width: 56px; height: 56px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: linear-gradient(180deg, rgba(37,255,90,.14), rgba(37,255,90,.04));
	border: 1px solid var(--px-border-hi);
	color: var(--px-neon);
	box-shadow: 0 8px 22px -8px rgba(37,255,90,.3), inset 0 1px 0 rgba(255,255,255,.05);
}
.px-feat__icon .px-ico {
	filter: drop-shadow(0 0 6px rgba(37,255,90,.45));
}

/* List icons inside Project X Package */
.px-feat__li-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px;
	flex: 0 0 auto;
	border-radius: 8px;
	background: rgba(37,255,90,.1);
	border: 1px solid rgba(37,255,90,.22);
	color: var(--px-neon);
}
.px-feat__li-ico .px-ico { filter: drop-shadow(0 0 4px rgba(37,255,90,.35)); }

.px-feat h3 {
	margin: 0;
	font-family: "Rajdhani", sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -.005em;
}
.px-feat p { margin: 0; color: #c8d0c8; line-height: 1.6; font-size: 14px; }
.px-feat p strong { color: var(--px-neon); font-weight: 700; }
.px-feat__muted { color: var(--px-muted) !important; font-size: 13px !important; }

.px-feat ul {
	list-style: none; margin: 4px 0 0; padding: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.px-feat ul li {
	color: #e8f0e8; font-size: 14px; font-weight: 600;
	display: flex; align-items: center; gap: 12px;
	padding: 10px 14px;
	background: rgba(255,255,255,.025);
	border: 1px solid rgba(255,255,255,.05);
	border-radius: 10px;
	transition: all .15s ease;
}
.px-feat ul li:hover {
	background: rgba(37,255,90,.06);
	border-color: rgba(37,255,90,.18);
	transform: translateX(2px);
}

/* All 3 main feature icons share the brand-green tint for consistency */
.px-feat--package::before { background: radial-gradient(60% 40% at 50% -10%, rgba(37,255,90,.14), transparent 60%); }
.px-feat--draw::before    { background: radial-gradient(60% 40% at 50% -10%, rgba(37,255,90,.14), transparent 60%); }
.px-feat--postal::before  { background: radial-gradient(60% 40% at 50% -10%, rgba(37,255,90,.14), transparent 60%); }
.px-feat--instant { background: radial-gradient(80% 50% at 0% 0%, rgba(255,204,102,.1), transparent 60%), linear-gradient(180deg, #100d07, #0a0805); border-color: rgba(255,204,102,.22); }
.px-feat--instant h3 { color: var(--px-gold); }
.px-feat--instant .px-feat__icon { background: linear-gradient(180deg, rgba(255,204,102,.22), rgba(255,204,102,.06)); border-color: rgba(255,204,102,.4); color: var(--px-gold); }
.px-feat--instant .px-feat__icon .px-ico { filter: drop-shadow(0 0 8px rgba(255,204,102,.5)); }

.px-link-btn {
	background: transparent; border: 0; padding: 10px 0 0;
	color: var(--px-neon); font: inherit; cursor: pointer;
	font-weight: 800; font-size: 13px;
	letter-spacing: .08em; text-transform: uppercase;
	align-self: flex-start;
	margin-top: auto;
	transition: gap .15s ease;
	display: inline-flex; align-items: center; gap: 6px;
}
.px-link-btn:hover { gap: 10px; }


/* =========================================================
   5. TOP 10 WRAPPER
   ========================================================= */
.px-top10-wrap { padding: 32px 0 48px; }
.px-card { background: var(--px-card); border: 1px solid var(--px-border); border-radius: var(--px-radius); }
.px-card--flush { padding: 0; overflow: hidden; }


/* When Top 10 is wrapped in .px-card--flush, the outer card provides chrome */
.px-card--flush .lty-top10 { background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.lty-podium__badge { display: none !important; }
.lty-barwrap { display: none !important; }


/* =========================================================
   6. TABS — premium glass card treatment
   ========================================================= */
.px-tabs-section { padding: 64px 0; position: relative; }
.px-tabs-section::before {
	content: '';
	position: absolute; top: 0; left: 10%; right: 10%; height: 1px;
	background: linear-gradient(90deg, transparent, var(--px-border-hi), transparent);
}
.px-tabs-section .px-container {
	padding: 32px;
	border-radius: 24px;
	background:
		radial-gradient(60% 80% at 50% 0%, rgba(37,255,90,.04), transparent 70%),
		linear-gradient(180deg, #0a100c, #060a08);
	border: 1px solid var(--px-border);
	box-shadow: 0 30px 80px -30px rgba(0,0,0,.9);
}

.px-tabs-nav {
	display: flex; gap: 8px;
	margin-bottom: 28px;
	padding: 6px;
	background: rgba(0,0,0,.4);
	border: 1px solid var(--px-border);
	border-radius: 14px;
	overflow-x: auto;
	scrollbar-width: none;
}
.px-tabs-nav::-webkit-scrollbar { display: none; }
.px-tab {
	flex: 1;
	background: transparent;
	border: 0;
	color: var(--px-muted);
	padding: 14px 22px;
	font-family: "Rajdhani", sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .18em;
	cursor: pointer;
	border-radius: 10px;
	transition: all .2s cubic-bezier(.2,.9,.2,1);
	white-space: nowrap;
}
.px-tab:hover { color: #fff; background: rgba(255,255,255,.04); }
.px-tab.is-active {
	color: #021809;
	background: linear-gradient(180deg, #3bff75, var(--px-neon-2));
	box-shadow: 0 10px 24px -8px rgba(37,255,90,.5), inset 0 1px 0 rgba(255,255,255,.25);
}
.px-tab-panel {
	display: none;
	color: #d1d8d1;
	line-height: 1.75;
	font-size: 15px;
	animation: pxFade .4s ease;
}
.px-tab-panel.is-active { display: block; }
.px-tab-panel p { margin: 0 0 14px; }
.px-tab-panel ul, .px-tab-panel ol { padding-left: 24px; margin: 0 0 14px; }
.px-tab-panel ul li, .px-tab-panel ol li { margin-bottom: 6px; }
.px-tab-panel h3 {
	color: #fff;
	margin: 28px 0 12px;
	font-family: "Rajdhani", sans-serif;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.005em;
	padding-left: 14px;
	border-left: 3px solid var(--px-neon);
}
.px-tab-panel strong { color: #fff; }
.px-tab-panel a { color: var(--px-neon); text-decoration: none; border-bottom: 1px solid rgba(37,255,90,.3); }
.px-tab-panel a:hover { border-bottom-color: var(--px-neon); }

.px-rules { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; counter-reset: rules; }
.px-rules li { position: relative; padding-left: 56px; counter-increment: rules; }
.px-rules li::before {
	content: counter(rules, decimal-leading-zero);
	position: absolute; left: 0; top: 0;
	font-family: "Rajdhani", sans-serif;
	font-size: 14px; letter-spacing: .2em;
	color: var(--px-neon); font-weight: 800;
}
.px-rules li strong { color: #fff; display: block; margin-bottom: 2px; }


/* =========================================================
   7. STICKY BOTTOM CTA
   ========================================================= */
.px-sticky-cta {
	position: fixed; left: 0; right: 0; bottom: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.4), rgba(0,0,0,.96));
	backdrop-filter: blur(14px);
	border-top: 1px solid rgba(37,255,90,.3);
	z-index: 60;
	padding: 12px 0 max(12px, env(safe-area-inset-bottom));
	transform: translateY(0);
	transition: transform .3s ease;
}
.px-sticky-cta.is-hidden { transform: translateY(100%); }
.px-sticky-cta__inner {
	max-width: 1280px; margin: 0 auto; padding: 0 16px;
	display: flex; align-items: center; gap: 14px;
}
.px-sticky-cta__meta { display: flex; flex-direction: column; flex: 0 0 auto; }
.px-sticky-cta__price { font-size: 22px; color: var(--px-neon); font-weight: 800; line-height: 1.1; font-family: "Orbitron","Rajdhani", sans-serif; }
.px-sticky-cta__price .woocommerce-Price-amount { color: var(--px-neon); }
.px-sticky-cta__sub { font-size: 12px; color: var(--px-muted); margin-top: 2px; }
.px-sticky-cta__btn {
	flex: 1; max-width: 480px; margin-left: auto;
	height: 56px !important;
	padding: 0 20px !important;
	font-size: 15px !important;
}

@media (max-width: 720px) {
	.px-sticky-cta { padding: 10px 0 max(10px, env(safe-area-inset-bottom)); }
	.px-sticky-cta__inner { padding: 0 12px; gap: 10px; }
	.px-sticky-cta__meta { display: flex; }
	.px-sticky-cta__price { font-size: 18px; }
	.px-sticky-cta__sub { font-size: 11px; }
	.px-sticky-cta__btn {
		flex: 1; max-width: none;
		height: 54px !important;
		padding: 0 16px !important;
		font-size: 14px !important;
		letter-spacing: .06em !important;
	}
}


/* =========================================================
   8. MODAL (postal entry, instant win)
   ========================================================= */
.px-modal { position: fixed; inset: 0; z-index: 100; display: none; }
.px-modal.is-open { display: block; }
.px-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.78); backdrop-filter: blur(12px); animation: pxFade .25s ease; }
@keyframes pxFade { from { opacity: 0; } to { opacity: 1; } }
.px-modal__panel {
	position: relative; z-index: 1;
	max-width: 560px; margin: 8vh auto;
	padding: 32px;
	background: linear-gradient(180deg, #0e1510, #070b08);
	border: 1px solid var(--px-border-hi);
	border-radius: var(--px-radius);
	box-shadow: 0 40px 120px rgba(0,0,0,.6), 0 0 0 1px rgba(37,255,90,.1);
	animation: pxModalIn .3s cubic-bezier(.2,.9,.2,1);
}
@keyframes pxModalIn { from { transform: translateY(16px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.px-modal__close {
	position: absolute; top: 14px; right: 14px;
	background: transparent; border: 0; color: var(--px-muted);
	font-size: 28px; cursor: pointer; line-height: 1; padding: 4px 10px;
	border-radius: 8px; transition: all .15s ease;
}
.px-modal__close:hover { color: #fff; background: rgba(255,255,255,.06); }
.px-modal__panel h3 { margin: 14px 0 12px; color: #fff; font-size: 24px; font-family: "Rajdhani", sans-serif; font-weight: 800; }
.px-modal__panel p { color: #cfd6cf; line-height: 1.65; margin: 0 0 14px; }
.px-modal__steps { list-style: none; padding: 0; margin: 12px 0; display: flex; flex-direction: column; gap: 10px; counter-reset: msteps; }
.px-modal__steps li { position: relative; padding-left: 40px; color: #d1d8d1; counter-increment: msteps; line-height: 1.55; font-size: 14px; }
.px-modal__steps li::before {
	content: counter(msteps);
	position: absolute; left: 0; top: -2px;
	width: 28px; height: 28px;
	background: rgba(37,255,90,.14); color: var(--px-neon);
	border: 1px solid rgba(37,255,90,.3);
	border-radius: 8px;
	display: flex; align-items: center; justify-content: center;
	font-family: "Rajdhani", sans-serif; font-weight: 800; font-size: 14px;
}
.px-modal__steps strong { color: #fff; }
.px-modal__addr {
	display: inline-block;
	padding: 4px 10px; background: rgba(37,255,90,.06);
	border: 1px solid var(--px-border-hi); border-radius: 8px;
	font-family: "SF Mono", Menlo, monospace; font-size: 13px;
}
.px-modal__fine { color: var(--px-muted); font-size: 12px; }

/* Instant win modal (fires via JS on thank-you page) */
.px-modal--win .px-modal__panel {
	background: radial-gradient(60% 80% at 50% 0%, rgba(37,255,90,.25), transparent 60%), linear-gradient(180deg, #0e1510, #040605);
	text-align: center;
}
.px-modal--win h3 {
	font-size: 44px;
	background: linear-gradient(180deg, #fff, var(--px-neon));
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}


/* =========================================================
   9. SOCIAL PROOF TOAST
   ========================================================= */
.px-toast {
	position: fixed; left: 20px; bottom: 100px;
	display: flex; align-items: center; gap: 12px;
	padding: 12px 16px;
	background: linear-gradient(180deg, rgba(14,24,16,.97), rgba(4,10,6,.97));
	border: 1px solid var(--px-border-hi);
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(0,0,0,.6), 0 0 0 1px rgba(37,255,90,.08);
	backdrop-filter: blur(10px);
	max-width: 320px;
	min-width: 240px;
	transform: translateY(140%);
	opacity: 0;
	transition: transform .4s cubic-bezier(.2,.9,.2,1), opacity .4s ease;
	z-index: 55;
	pointer-events: none;
}
.px-toast.is-open { transform: translateY(0); opacity: 1; }
.px-toast__icon { font-size: 22px; flex: 0 0 auto; }
.px-toast__body { display: flex; flex-direction: column; min-width: 0; }
.px-toast__name { color: #fff; font-size: 13px; font-weight: 700; }
.px-toast__detail { color: var(--px-muted); font-size: 12px; }
@media (max-width: 720px) {
	.px-toast { left: 12px; right: 12px; bottom: 90px; max-width: none; }
}

/* ============================================================
   ProjectX — Mobile tweaks for the single-competition hero
   Optimization pass. Phones only (<= 720px). Later in source
   order so these win over earlier mobile rules.
   ============================================================ */
@media (max-width: 720px) {

	/* 1) Reduce the gap between the site header and the breadcrumbs */
	.px-phero        { padding-top: 14px !important; }
	.px-phero__crumbs { margin-bottom: 6px !important; }

	/* 2) Hide the LIVE / COMING SOON badge on mobile */
	.px-phero__live  { display: none !important; }

	/* 3) Keep the title, but tighten the vertical spacing around it */
	.px-phero__title { margin-top: 0 !important; margin-bottom: 6px !important; }
	.px-phero__value { margin-top: 4px !important; margin-bottom: 8px !important; }

	/* 4) Bring the prize gallery (showcase) up, right under the hero.
	      px-product becomes a flex column; only phero + showcase get an
	      explicit order, everything else stays in normal DOM order. */
	#px-product  { display: flex; flex-direction: column; }
	.px-phero    { order: -2; }
	.px-showcase { order: -1; }

	/* 5) Hide the hero countdown on mobile (draw timer is left intact) */
	.px-phero__countdown { display: none !important; }
}

/* ============================================================
   Top 10 / Top 3 — FROZEN state (locked at 80% sold)
   ============================================================ */
.lty-top10__frozen {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #ffd34d;
	background: rgba(255, 179, 0, .12);
	border: 1px solid rgba(255, 179, 0, .45);
	padding: 4px 10px;
	border-radius: 999px;
	white-space: nowrap;
}
.lty-top10__frozen-note {
	margin: 8px 0 12px;
	padding: 8px 12px;
	font-size: 13px;
	line-height: 1.4;
	color: #ffe08a;
	background: rgba(255, 179, 0, .08);
	border-left: 3px solid #ffb300;
	border-radius: 6px;
}
.lty-top10__frozen-note strong { color: #fff; }
/* Subtle "locked" tint on the frozen leaderboard container */
.lty-top10.is-frozen { position: relative; }
.lty-top10.is-frozen .lty-top10__title::after {
	content: " 🔒";
	font-size: .85em;
}

/* Live draw CTA (YouTube red) shown in the hero before the draw */
.px-btn--yt {
	background: #ff0000;
	color: #fff;
	border: 1px solid #ff0000;
	box-shadow: 0 10px 26px -10px rgba(255,0,0,.6);
}
.px-btn--yt:hover {
	background: #e60000;
	border-color: #e60000;
	color: #fff;
	transform: translateY(-1px);
}


/* ---- Skill question (multiple choice) ---- */
.px-qa{ margin:6px 0 4px; }
.px-qa__q{ display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.px-qa__badge{ background:rgba(37,255,90,.14); color:#25ff5a; border:1px solid rgba(37,255,90,.4); font-family:"Rajdhani",sans-serif; font-weight:800; font-size:11px; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:999px; }
.px-qa__text{ font-family:"Rajdhani",sans-serif; font-weight:700; font-size:16px; color:#fff; }
.px-qa__options{ display:grid; grid-template-columns:1fr; gap:9px; }
.px-qa__option{ cursor:pointer; }
.px-qa__option input{ position:absolute; opacity:0; pointer-events:none; }
.px-qa__option-box{ display:flex; align-items:center; gap:10px; padding:13px 16px; background:linear-gradient(180deg,rgba(12,22,16,.9),rgba(6,12,8,.9)); border:1px solid var(--px-border,rgba(255,255,255,.1)); border-radius:12px; color:#e8f0e8; font-family:"Rajdhani",sans-serif; font-weight:700; font-size:15.5px; transition:all .15s ease; }
.px-qa__option-box::before{ content:''; width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,255,255,.3); flex:0 0 auto; transition:all .15s ease; }
.px-qa__option:hover .px-qa__option-box{ border-color:rgba(37,255,90,.5); }
.px-qa__option input:checked + .px-qa__option-box{ border-color:#25ff5a; background:linear-gradient(180deg,rgba(37,255,90,.18),rgba(37,255,90,.05)); box-shadow:0 8px 24px -10px rgba(37,255,90,.5); }
.px-qa__option input:checked + .px-qa__option-box::before{ border-color:#25ff5a; background:radial-gradient(circle,#25ff5a 40%,transparent 45%); }
.px-qa__option input:focus-visible + .px-qa__option-box{ outline:2px solid #25ff5a; outline-offset:2px; }

/* ---- Secure payment line ---- */
.px-buybox__secure{ display:flex; align-items:center; justify-content:center; gap:7px; margin:12px 0 0; color:rgba(255,255,255,.5); font-family:"Rajdhani",sans-serif; font-weight:600; font-size:13px; text-align:center; }
.px-buybox__secure svg{ color:#25ff5a; flex:0 0 auto; }

/* Sale price — strike-through the old regular price */
.px-stat__was{ color:rgba(255,255,255,.4); text-decoration:line-through; font-weight:600; font-size:.7em; margin-right:4px; }

/* ---- Milestone drops (FOMO) ---- */
.px-drop{ margin:16px 0 4px; padding:14px 16px; background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(37,255,90,.06)); border:1px solid rgba(212,175,55,.35); border-radius:14px; }
.px-drop__head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.px-drop__pill{ background:linear-gradient(135deg,#f5d97a,#d4af37); color:#04150b; font-family:"Rajdhani",sans-serif; font-weight:800; font-size:12.5px; letter-spacing:.04em; padding:5px 12px; border-radius:999px; white-space:nowrap; animation:px-drop-pulse 2s ease-in-out infinite; }
@keyframes px-drop-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(212,175,55,.5);} 50%{ box-shadow:0 0 0 7px rgba(212,175,55,0);} }
.px-drop__label{ font-family:"Rajdhani",sans-serif; font-weight:700; font-size:14.5px; color:#fff; }
.px-drop__bar{ height:8px; background:rgba(255,255,255,.08); border-radius:999px; overflow:hidden; margin-bottom:8px; }
.px-drop__bar progress{ appearance:none; -webkit-appearance:none; display:block; width:100%; height:100%; border:0; background:transparent; border-radius:999px; }
.px-drop__bar progress::-webkit-progress-bar{ background:transparent; }
.px-drop__bar progress::-webkit-progress-value{ background:linear-gradient(90deg,#d4af37,#f5d97a); border-radius:999px; transition:width .6s ease; }
.px-drop__bar progress::-moz-progress-bar{ background:linear-gradient(90deg,#d4af37,#f5d97a); border-radius:999px; }
.px-drop__meta{ display:flex; justify-content:space-between; gap:10px; font-family:"Rajdhani",sans-serif; font-size:13px; color:rgba(255,255,255,.6); flex-wrap:wrap; }
.px-drop__meta strong{ color:#f5d97a; }
.px-drop__hint{ color:rgba(255,255,255,.4); }

.px-drops-feed{ margin:10px 0 0; display:flex; flex-direction:column; gap:6px; }
.px-drops-feed__item{ display:flex; align-items:center; gap:10px; padding:8px 12px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:10px; font-family:"Rajdhani",sans-serif; font-size:13.5px; color:rgba(255,255,255,.75); }
.px-drops-feed__pct{ background:rgba(37,255,90,.14); color:#25ff5a; font-weight:800; font-size:12px; padding:3px 9px; border-radius:999px; flex:0 0 auto; }
.px-drops-feed__text strong{ color:#fff; }

/* ---- FOMO upgrades: shimmer, almost-there, live tick, celebration ---- */
.px-drop__bar{ position:relative; }
.px-drop__bar progress{ position:relative; overflow:hidden; }
@keyframes px-shimmer{ 0%{ transform:translateX(-100%);} 100%{ transform:translateX(100%);} }
.px-drop__live-dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:#25ff5a; margin-left:5px; vertical-align:middle; animation:px-live-blink 1.1s ease-in-out infinite; }
@keyframes px-live-blink{ 0%,100%{ opacity:1;} 50%{ opacity:.25;} }
.px-drop.is-ticking{ animation:px-drop-tick .5s ease; }
@keyframes px-drop-tick{ 0%{ transform:scale(1);} 40%{ transform:scale(1.025); box-shadow:0 0 34px rgba(212,175,55,.5);} 100%{ transform:scale(1);} }
.px-drop.is-almost{ border-color:#ff2d55; background:linear-gradient(135deg,rgba(255,45,85,.14),rgba(212,175,55,.1)); animation:px-almost-throb 1s ease-in-out infinite; }
@keyframes px-almost-throb{ 0%,100%{ box-shadow:0 0 0 0 rgba(255,45,85,.45);} 50%{ box-shadow:0 0 26px 4px rgba(255,45,85,.25);} }
.px-drop__almost{ margin-top:10px; text-align:center; font-family:"Rajdhani",sans-serif; font-weight:800; letter-spacing:.05em; color:#ff8b95; font-size:14px; animation:px-live-blink .8s ease-in-out infinite; }
.px-drops-feed__item--new{ animation:px-feed-in .6s cubic-bezier(.2,1.4,.4,1); border-color:rgba(212,175,55,.5); }
@keyframes px-feed-in{ 0%{ transform:translateY(-14px) scale(.95); opacity:0;} 100%{ transform:translateY(0) scale(1); opacity:1;} }

/* ---- Full-width hero reward track ---- */
.px-reward-track{
	--px-track-gold:#f5c756;
	--px-track-green:#39ff8b;
	position:relative;isolation:isolate;grid-column:1/-1;min-width:0;
	margin-top:4px;padding:22px 22px 16px;
	border:1px solid rgba(220,180,74,.36);border-radius:24px;
	background:
		radial-gradient(52% 125% at 50% 110%,rgba(57,255,139,.11),transparent 68%),
		radial-gradient(38% 90% at 88% 0,rgba(245,199,86,.11),transparent 72%),
		linear-gradient(180deg,rgba(5,10,7,.94),rgba(2,5,3,.96));
	box-shadow:0 28px 80px -38px rgba(0,0,0,.95),0 0 52px -38px rgba(57,255,139,.6),inset 0 1px rgba(255,255,255,.05)
}
.px-reward-track::before{
	content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.28;
	background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
	background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 90%)
}
.px-reward-track__glow{
	position:absolute;z-index:-1;left:12%;right:12%;bottom:38px;height:50px;border-radius:50%;
	background:rgba(57,255,139,.2);filter:blur(34px);pointer-events:none
}
.px-reward-track__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px}
.px-reward-track__intro{min-width:0}
.px-reward-track__eyebrow{
	display:inline-flex;align-items:center;gap:7px;color:var(--px-track-green);
	font:800 10px/1 "Orbitron",sans-serif;letter-spacing:.2em;text-transform:uppercase
}
.px-reward-track__eyebrow i{
	width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 13px currentColor;
	animation:px-live-blink 1.3s ease-in-out infinite
}
.px-reward-track__title{
	display:flex;align-items:center;gap:2px;margin:7px 0 5px;color:#fff;
	font:900 clamp(21px,2.7vw,31px)/1 "Orbitron",sans-serif;letter-spacing:.05em;
	text-shadow:0 0 24px rgba(57,255,139,.18)
}
.px-reward-track__title .px-infopoint{transform:translateY(-1px)}
.px-reward-track__intro>p{
	margin:0;color:rgba(255,255,255,.58);font:600 13.5px/1.4 "Rajdhani",sans-serif
}
.px-reward-track__selected{
	display:flex;align-items:center;gap:13px;width:min(430px,43%);min-width:310px;padding:12px 15px;
	border:1px solid rgba(245,199,86,.35);border-radius:15px;
	background:linear-gradient(135deg,rgba(245,199,86,.12),rgba(57,255,139,.055));
	box-shadow:0 16px 34px -24px rgba(245,199,86,.8),inset 0 1px rgba(255,255,255,.04)
}
.px-reward-track__selected-pct{
	flex:0 0 auto;color:#1a1102;background:linear-gradient(180deg,#fff0ad,#d79b28);
	border-radius:11px;padding:9px 10px;min-width:60px;text-align:center;
	font:900 16px/1 "Orbitron",sans-serif;box-shadow:0 0 24px -9px var(--px-track-gold)
}
.px-reward-track__selected-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.px-reward-track__selected-copy em{
	color:var(--px-track-gold);font:800 9px/1 "Orbitron",sans-serif;
	font-style:normal;letter-spacing:.15em;text-transform:uppercase
}
.px-reward-track__selected-copy strong{
	overflow:hidden;color:#fff;font:800 13.5px/1.25 "Rajdhani",sans-serif;
	white-space:nowrap;text-overflow:ellipsis
}
.px-reward-track__progress-meta{
	display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 2px 6px;
	color:rgba(255,255,255,.5);font:700 12px/1.2 "Rajdhani",sans-serif
}
.px-reward-track__progress-meta>span:first-child strong{
	color:var(--px-track-green);font:900 15px/1 "Orbitron",sans-serif
}
.px-reward-track__next strong{color:var(--px-track-gold)}
.px-reward-track__next b{margin:0 5px;color:rgba(255,255,255,.22)}
.px-reward-track__viewport{
	position:relative;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:0 2px;
	scrollbar-width:thin;scrollbar-color:rgba(57,255,139,.35) rgba(255,255,255,.04);
	-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain
}
.px-reward-track__viewport:focus-visible{outline:2px solid var(--px-track-green);outline-offset:4px;border-radius:10px}
.px-reward-track__canvas{position:relative;width:100%;min-width:980px;height:150px}
.px-reward-track__bar{
	position:absolute;left:0;right:0;top:43px;height:9px;border-radius:999px;
	background:rgba(255,255,255,.09);box-shadow:inset 0 1px 4px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.025)
}
.px-reward-track__fill{
	position:relative;display:block;overflow:hidden;width:0;height:100%;max-width:100%;border-radius:inherit;
	background:linear-gradient(90deg,#0dbb58,#39ff8b 68%,#f5c756);
	box-shadow:0 0 20px rgba(57,255,139,.58);transition:width .75s cubic-bezier(.2,.8,.2,1)
}
.px-reward-track__fill::after{
	content:"";position:absolute;inset:0;width:45%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
	transform:translateX(-120%);animation:px-reward-shine 2.8s ease-in-out infinite
}
@keyframes px-reward-shine{0%,42%{transform:translateX(-120%)}78%,100%{transform:translateX(330%)}}
.px-reward-track__current{
	position:absolute;top:50%;z-index:5;width:15px;height:15px;border:2px solid #d8ffe8;border-radius:50%;
	background:var(--px-track-green);box-shadow:0 0 0 5px rgba(57,255,139,.13),0 0 22px rgba(57,255,139,.9);
	transform:translate(-50%,-50%);transition:left .75s cubic-bezier(.2,.8,.2,1)
}
.px-reward-track__current>b{
	position:absolute;left:50%;bottom:19px;transform:translateX(-50%);padding:4px 7px;border-radius:7px;
	color:#031208;background:var(--px-track-green);font:900 9px/1 "Orbitron",sans-serif;white-space:nowrap
}
.px-reward-track__current>b::after{
	content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);
	border:4px solid transparent;border-top-color:var(--px-track-green)
}
.px-reward-track__step{
	position:absolute;left:0;top:23px;z-index:4;display:flex;width:116px;padding:0;
	flex-direction:column;align-items:center;gap:4px;transform:translateX(-50%);
	border:0;background:transparent;color:rgba(255,255,255,.42);text-align:center;cursor:pointer
}
.px-reward-track__node{
	display:flex;align-items:center;justify-content:center;width:43px;height:43px;margin-bottom:3px;
	border:2px solid rgba(255,255,255,.22);border-radius:13px;background:#080d0a;
	box-shadow:0 8px 18px -12px #000;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s
}
.px-reward-track__node>b{font:900 14px/1 "Orbitron",sans-serif}
.px-reward-track__pct{color:rgba(255,255,255,.78);font:900 12px/1 "Orbitron",sans-serif}
.px-reward-track__label{
	display:-webkit-box;overflow:hidden;min-height:27px;color:rgba(255,255,255,.64);
	font:700 11.5px/1.18 "Rajdhani",sans-serif;-webkit-box-orient:vertical;-webkit-line-clamp:2
}
.px-reward-track__step>small{
	color:rgba(255,255,255,.34);font:800 8px/1 "Orbitron",sans-serif;letter-spacing:.07em;text-transform:uppercase
}
.px-reward-track__step:hover .px-reward-track__node,
.px-reward-track__step:focus-visible .px-reward-track__node,
.px-reward-track__step.is-selected .px-reward-track__node{
	transform:translateY(-4px) scale(1.07);border-color:currentColor;box-shadow:0 0 25px -5px currentColor
}
.px-reward-track__step:focus-visible{outline:0}
.px-reward-track__step.is-done{color:var(--px-track-green)}
.px-reward-track__step.is-done .px-reward-track__node{
	color:#04140a;border-color:var(--px-track-green);background:var(--px-track-green);box-shadow:0 0 18px -5px var(--px-track-green)
}
.px-reward-track__step.is-done .px-reward-track__pct{color:var(--px-track-green)}
.px-reward-track__step.is-next{z-index:6;color:var(--px-track-gold)}
.px-reward-track__step.is-next .px-reward-track__node{
	color:#1b1101;border-color:var(--px-track-gold);
	background:linear-gradient(180deg,#ffeaa0,#d99d2a);
	box-shadow:0 0 0 6px rgba(245,199,86,.12),0 0 28px rgba(245,199,86,.52);
	animation:px-reward-next 1.8s ease-in-out infinite
}
.px-reward-track__step.is-next .px-reward-track__pct,
.px-reward-track__step.is-next>small{color:var(--px-track-gold)}
@keyframes px-reward-next{
	0%,100%{transform:translateY(-2px) scale(1);box-shadow:0 0 0 5px rgba(245,199,86,.1),0 0 22px rgba(245,199,86,.38)}
	50%{transform:translateY(-5px) scale(1.08);box-shadow:0 0 0 9px rgba(245,199,86,0),0 0 34px rgba(245,199,86,.72)}
}
.px-reward-track__footer{
	display:flex;justify-content:space-between;gap:18px;margin-top:-3px;color:rgba(255,255,255,.34);
	font:600 11px/1.3 "Rajdhani",sans-serif
}
.px-reward-track__feed{margin-top:10px}
.px-reward-track__feed:empty{display:none}
.px-reward-track.is-ticking{animation:px-reward-tick .55s ease}
@keyframes px-reward-tick{45%{box-shadow:0 0 0 1px rgba(57,255,139,.28),0 0 55px rgba(57,255,139,.24)}}
.px-reward-track.is-almost{border-color:rgba(255,77,98,.7)}
.px-reward-track.is-complete .px-reward-track__selected{border-color:rgba(57,255,139,.42);background:rgba(57,255,139,.09)}

@media (max-width:760px){
	.px-reward-track{margin:2px 0 0;padding:18px 12px 13px;border-radius:20px}
	.px-reward-track__header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:12px}
	.px-reward-track__title{font-size:22px}
	.px-reward-track__intro>p{font-size:12.5px}
	.px-reward-track__selected{width:100%;min-width:0;padding:10px 12px}
	.px-reward-track__selected-pct{min-width:55px;padding:8px;font-size:14px}
	.px-reward-track__selected-copy strong{font-size:13px}
	.px-reward-track__progress-meta{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:5px}
	.px-reward-track__viewport{margin:0 -12px;padding:0 12px}
	.px-reward-track__canvas{width:1060px;min-width:1060px;height:143px}
	.px-reward-track__step{width:112px}
	.px-reward-track__label{font-size:11px}
	.px-reward-track__footer{margin-top:0;justify-content:center;text-align:center}
	.px-reward-track__footer span:last-child{display:none}
	.px-reward-track__feed{margin-top:9px}
	.px-reward-track__feed .px-drops-feed__item{font-size:12px}
}

/* Drop-fired celebration overlay */
.px-dropcele{ position:fixed; inset:0; z-index:380; display:none; align-items:center; justify-content:center; }
.px-dropcele.is-on{ display:flex; }
.px-dropcele__scrim{ position:absolute; inset:0; background:rgba(0,0,0,.88); backdrop-filter:blur(8px); }
.px-dropcele__card{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; background:linear-gradient(180deg,#171307,#0d0b04); border:1px solid rgba(212,175,55,.6); border-radius:22px; padding:40px 52px; box-shadow:0 0 140px rgba(212,175,55,.4); animation:px-prize-pop2 .5s cubic-bezier(.2,1.8,.4,1); max-width:min(92vw,520px); }
@keyframes px-prize-pop2{ 0%{ transform:scale(.4) translateY(50px); opacity:0;} 100%{ transform:scale(1) translateY(0); opacity:1;} }
.px-dropcele__eyebrow{ color:#ff8b95; font-family:"Rajdhani",sans-serif; font-weight:800; font-size:14px; letter-spacing:.12em; }
.px-dropcele__label{ color:#fff; font-family:"Orbitron",sans-serif; font-weight:800; font-size:clamp(20px,3.6vw,30px); text-shadow:0 0 30px rgba(212,175,55,.5); }
.px-dropcele__winner{ color:#f5d97a; font-family:"Rajdhani",sans-serif; font-weight:700; font-size:17px; }
.px-dropcele__hint{ color:rgba(255,255,255,.55); font-family:"Rajdhani",sans-serif; font-size:14.5px; }
.px-box__burst{ position:fixed; inset:0; pointer-events:none; z-index:400; }
.px-box__burst i{ position:absolute; width:10px; height:10px; border-radius:2px; animation:px-burst2 1.2s ease-out forwards; }
@keyframes px-burst2{ 0%{ transform:translate(0,0) rotate(0); opacity:1;} 100%{ transform:translate(var(--dx),var(--dy)) rotate(620deg); opacity:0;} }

/* ---- Entry modal (skill question + details) ---- */
.px-buymodal{ position:fixed; inset:0; z-index:320; display:none; align-items:center; justify-content:center; padding:20px; }
.px-buymodal.is-open{ display:flex; }
.px-buymodal__scrim{ position:absolute; inset:0; background:rgba(2,6,3,.88); backdrop-filter:blur(10px); }
.px-buymodal__panel{ position:relative; z-index:2; width:min(94vw,520px); max-height:92vh; overflow:auto; background:linear-gradient(180deg,#0d120e,#080b08); border:1px solid rgba(37,255,90,.35); border-radius:20px; padding:28px 26px; box-shadow:0 0 90px rgba(37,255,90,.15), 0 30px 80px rgba(0,0,0,.7); animation:px-buymodal-in .35s cubic-bezier(.2,1.4,.4,1); }
@keyframes px-buymodal-in{ 0%{ transform:translateY(36px) scale(.96); opacity:0;} 100%{ transform:translateY(0) scale(1); opacity:1;} }
.px-buymodal__close{ position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); color:#fff; font-size:22px; cursor:pointer; line-height:1; transition:all .15s ease; }
.px-buymodal__close:hover{ background:rgba(255,64,64,.15); border-color:rgba(255,64,64,.5); }
.px-buymodal__head{ text-align:center; margin-bottom:18px; }
.px-buymodal__title{ font-family:"Orbitron",sans-serif; font-weight:800; font-size:21px; margin:10px 0 12px; color:#fff; }
.px-buymodal__summary{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; background:rgba(37,255,90,.07); border:1px solid rgba(37,255,90,.25); border-radius:12px; padding:10px 14px; font-family:"Rajdhani",sans-serif; font-weight:700; font-size:14.5px; color:rgba(255,255,255,.85); }
.px-buymodal__summary-qty b{ color:#25ff5a; font-size:17px; }
.px-buymodal__summary-comp{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px; }
.px-buymodal__summary-total{ margin-left:auto; color:#25ff5a; font-size:18px; font-weight:800; }
.px-buymodal .px-qa{ margin-bottom:16px; }
.px-buymodal__fields{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 18px; }
.px-buymodal__field{ display:flex; flex-direction:column; gap:6px; color:rgba(255,255,255,.72); font-size:12.5px; font-weight:700; }
.px-buymodal__field .px-buybox__input{ width:100%; }
.px-buymodal__wide{ grid-column:1 / -1; }
.px-buymodal__credit{ display:flex; align-items:flex-start; gap:11px; margin:0 auto 16px; padding:12px 14px; border:1px solid rgba(212,175,55,.4); border-radius:12px; background:rgba(212,175,55,.09); color:#fff; cursor:pointer; }
.px-buymodal__credit input{ width:19px; height:19px; flex:0 0 auto; margin-top:1px; accent-color:#d4af37; }
.px-buymodal__credit span{ display:flex; flex-direction:column; gap:2px; }
.px-buymodal__credit strong{ color:#f5d97a; font-size:13.5px; }
.px-buymodal__credit small{ color:rgba(255,255,255,.58); font-size:11.5px; line-height:1.35; }
.px-buymodal__consent{ display:flex; align-items:flex-start; gap:10px; margin:0 auto 16px; color:rgba(255,255,255,.68); font-size:12.5px; line-height:1.45; }
.px-buymodal__consent input{ width:18px; height:18px; flex:0 0 auto; margin-top:1px; accent-color:#25ff5a; }
.px-buymodal__consent a{ color:#7dffb0; text-decoration:underline; text-underline-offset:2px; }
.px-buymodal__submit{ width:100%; }
.px-buymodal .px-buybox__secure{ margin-top:12px; }
body.px-buymodal-open{ overflow:hidden; }
@media (max-width:560px){ .px-buymodal{ padding:0; align-items:flex-end; } .px-buymodal__panel{ width:100vw; max-height:94vh; border-radius:20px 20px 0 0; animation-name:px-buymodal-up; } @keyframes px-buymodal-up{ 0%{ transform:translateY(100%);} 100%{ transform:translateY(0);} } }

/* ---- Entry modal v2: FULL-SCREEN takeover (desktop + mobile) ---- */
.px-buymodal{ padding:0; }
.px-buymodal__scrim{
	/* fully opaque — nothing behind stays visible, zero distractions */
	background:
		radial-gradient(1100px 700px at 50% 12%, rgba(37,255,90,.10), transparent 60%),
		radial-gradient(900px 600px at 85% 90%, rgba(212,175,55,.06), transparent 55%),
		#050806;
	backdrop-filter:none;
}
.px-buymodal__panel{
	width:100%; height:100%; max-height:none;
	background:transparent; border:none; border-radius:0; box-shadow:none;
	display:flex; flex-direction:column; justify-content:center;
	padding:48px 20px calc(40px + env(safe-area-inset-bottom));
	overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
	animation:px-buymodal-fade .3s ease;
}
@keyframes px-buymodal-fade{ 0%{ opacity:0; transform:scale(1.015);} 100%{ opacity:1; transform:scale(1);} }
.px-buymodal__panel > *{ width:100%; max-width:560px; margin-left:auto; margin-right:auto; flex-shrink:0; }
.px-buymodal__close{
	position:fixed; top:calc(16px + env(safe-area-inset-top)); right:18px;
	width:44px; height:44px; font-size:24px; z-index:5;
	background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18);
}
.px-buymodal__title{ font-size:clamp(22px,3.4vw,28px); }
.px-buymodal__summary{ padding:13px 16px; font-size:15.5px; }
.px-buymodal__fields{ gap:12px; }
/* iOS: inputs must be >=16px or the browser force-zooms on focus */
.px-buymodal .px-buybox__input{ font-size:16px; padding:15px 16px; }
.px-buymodal .px-qa__option-box{ font-size:16px; }
.px-buymodal__submit{ padding-top:18px; padding-bottom:18px; font-size:17px; }
@media (max-width:560px){
	/* override v1 bottom-sheet: same full-screen takeover on mobile */
	.px-buymodal{ padding:0; align-items:stretch; }
	.px-buymodal__panel{ width:100%; border-radius:0; animation-name:px-buymodal-fade; justify-content:flex-start; padding-top:calc(64px + env(safe-area-inset-top)); }
	.px-buymodal__summary-comp{ max-width:150px; }
}

/* ---- Modal skill question: inline answers (space saver) ---- */
.px-buymodal .px-qa__options{ display:flex; flex-wrap:wrap; gap:9px; grid-template-columns:none; }
.px-buymodal .px-qa__option{ flex:1 1 0; min-width:120px; }
.px-buymodal .px-qa__option-box{ justify-content:center; text-align:center; padding:13px 10px; height:auto; }
.px-buymodal .px-qa__option-box::before{ width:15px; height:15px; }
@media (max-width:480px){ .px-buymodal .px-qa__option{ min-width:100%; } }

/* ---- Bundle packs v2: full row of cards ABOVE the CTA, tier discounts ---- */
.px-buybox__action{ display:flex; flex-direction:column; gap:14px; }
.px-buybox__action > .px-btn{ width:100%; }
.px-buybox .px-buybox__bundles{ grid-template-columns:repeat(6,1fr) !important; width:100%; }
@media (max-width:640px){ .px-buybox .px-buybox__bundles{ grid-template-columns:repeat(3,1fr) !important; } }
.px-buybox .lty-predefined-button{ display:flex; flex-direction:column; align-items:center; gap:3px; padding:20px 6px 12px !important; }
.px-bundle-chip__per{ display:block; font-size:11px !important; font-weight:700; color:rgba(255,255,255,.45); letter-spacing:.02em; }
.px-buybox .lty-predefined-button.lty-selected-button .px-bundle-chip__per{ color:rgba(255,255,255,.72); }
.px-buybox .lty-predefined-button.lty-selected-button{ color:#fff !important; }
.px-bundle-chip__mystery{
	position:absolute; right:5px; bottom:5px; z-index:3;
	display:inline-flex; align-items:center; gap:2px;
	min-width:28px; height:20px; padding:0 5px;
	border:1px solid rgba(255,203,82,.55); border-radius:7px;
	background:linear-gradient(180deg,rgba(58,38,7,.98),rgba(21,14,3,.98));
	color:#ffd66d; box-shadow:0 5px 14px -7px rgba(255,193,54,.85),inset 0 1px rgba(255,255,255,.08);
	font:800 9px/1 "Orbitron",sans-serif; letter-spacing:0;
}
.px-bundle-chip__mystery .px-ico{ flex:none; filter:drop-shadow(0 0 4px rgba(255,203,82,.38)); }
.px-bundle-chip__mystery b{ color:#fff; font:inherit; }
.px-buybox .lty-predefined-button.lty-selected-button .px-bundle-chip__mystery{
	border-color:#ffe19a; background:linear-gradient(180deg,#5d3b07,#281902); color:#ffe19a;
}
@media (min-width:641px) and (max-width:1100px){
	.px-buybox .px-buybox__bundles{ grid-template-columns:repeat(3,1fr) !important; }
}

/* modal savings line */
.px-buymodal__save{ text-align:center; margin:-8px 0 14px; font-family:"Rajdhani",sans-serif; font-weight:700; font-size:14px; color:#f5d97a; }
.px-buymodal__save b{ color:#25ff5a; }

/* ---- Main Participate CTA: big & unmissable again ---- */
.px-buybox__action > .px-btn.single_add_to_cart_button,
.px-buybox__action > [data-open-buymodal]{
	width:100%; padding:19px 24px !important; font-size:17.5px !important;
	letter-spacing:.04em; border-radius:14px;
	box-shadow:0 0 0 1px rgba(37,255,90,.4), 0 12px 40px -8px rgba(37,255,90,.55), inset 0 1px 0 rgba(255,255,255,.25);
	animation:px-cta-breathe 2.6s ease-in-out infinite;
}
@keyframes px-cta-breathe{
	0%,100%{ box-shadow:0 0 0 1px rgba(37,255,90,.4), 0 12px 40px -8px rgba(37,255,90,.5), inset 0 1px 0 rgba(255,255,255,.25); }
	50%{ box-shadow:0 0 0 1px rgba(37,255,90,.6), 0 14px 54px -6px rgba(37,255,90,.75), inset 0 1px 0 rgba(255,255,255,.3); }
}
.px-buybox__action > [data-open-buymodal]:hover{ transform:translateY(-2px); }
@media (prefers-reduced-motion:reduce){ .px-buybox__action > [data-open-buymodal]{ animation:none; } }

/* Accessible image lightbox (kept in the versioned bundle for strict CSP). */
.px-lightbox {
	position:fixed; inset:0; z-index:200; display:none;
	align-items:center; justify-content:center; padding:40px;
}
.px-lightbox.is-open { display:flex; }
.px-lightbox__scrim {
	position:absolute; inset:0; background:rgba(0,0,0,.92);
	backdrop-filter:blur(12px);
}
.px-lightbox__img {
	position:relative; max-width:94vw; max-height:92vh; object-fit:contain;
	border-radius:12px; box-shadow:0 40px 120px rgba(0,0,0,.8);
}
.px-lightbox__close,.px-lightbox__nav {
	position:absolute; z-index:2; display:flex; align-items:center; justify-content:center;
	width:48px; height:48px; border-radius:50%; cursor:pointer; font-size:28px;
	background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15);
	color:#fff; transition:all .15s ease;
}
.px-lightbox__close:hover,.px-lightbox__nav:hover {
	background:rgba(37,255,90,.15); border-color:#25ff5a; color:#25ff5a;
}
.px-lightbox__close { top:20px; right:20px; }
.px-lightbox__nav--prev { left:20px; top:50%; transform:translateY(-50%); }
.px-lightbox__nav--next { right:20px; top:50%; transform:translateY(-50%); }
.px-lightbox__count {
	position:absolute; bottom:20px; left:50%; z-index:2; transform:translateX(-50%);
	color:#fff; background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.1);
	padding:8px 16px; border-radius:999px; font-size:13px; font-weight:600;
}
@media (max-width:600px) {
	.px-lightbox { padding:18px; }
	.px-lightbox__close { top:12px; right:12px; }
	.px-lightbox__nav { width:44px; height:44px; }
	.px-lightbox__nav--prev { left:10px; }
	.px-lightbox__nav--next { right:10px; }
}

/* ===== PRIZE DROPS premium timeline + mystery callout ===== */
.px-ladder{padding:46px 0 10px}
.px-ladder__inner{max-width:1180px;margin:0 auto;padding:0 20px}
.px-ladder__head{text-align:center;margin-bottom:30px}
.px-ladder__title{font-family:"Orbitron",sans-serif;font-size:clamp(20px,3.2vw,28px);font-weight:900;color:#fff;margin:6px 0 10px;letter-spacing:.03em}
.px-ladder__sub{color:rgba(255,255,255,.6);font-size:14.5px;max-width:640px;margin:0 auto;line-height:1.55}
.px-timeline{position:relative;display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 0 18px;margin-bottom:20px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.px-timeline__track{position:absolute;top:11px;left:0;right:0;height:2px;background:rgba(255,255,255,.12);pointer-events:none}
.px-timeline__fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#39ff8b,#f5b83d);transition:width .6s ease}
.px-timeline__cell{position:relative;flex:1 0 0;min-width:104px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:0 6px;scroll-snap-align:center}
.px-timeline__dot{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.28);background:#0b0e0c;display:flex;align-items:center;justify-content:center;color:#0b0e0c;z-index:1;transition:all .3s}
.px-timeline__cell.is-done .px-timeline__dot{border-color:#39ff8b;background:#39ff8b;color:#04150b}
.px-timeline__cell.is-next .px-timeline__dot{border-color:#f5b83d;background:rgba(245,184,61,.15);box-shadow:0 0 0 5px rgba(245,184,61,.14);animation:px-tl-pulse 1.6s ease-in-out infinite}
@keyframes px-tl-pulse{0%,100%{box-shadow:0 0 0 4px rgba(245,184,61,.12)}50%{box-shadow:0 0 0 8px rgba(245,184,61,.28)}}
.px-timeline__pct{font-family:"Orbitron",sans-serif;font-weight:900;font-size:15.5px;color:rgba(255,255,255,.85);letter-spacing:.02em}
.px-timeline__cell.is-next .px-timeline__pct{color:#f5b83d}
.px-timeline__cell.is-done .px-timeline__pct{color:#39ff8b}
.px-timeline__label{font-family:"Rajdhani",sans-serif;font-weight:700;font-size:12.5px;line-height:1.3;color:rgba(255,255,255,.82);max-width:120px}
.px-timeline__state{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.px-timeline__cell.is-next .px-timeline__state{color:#f5b83d}
.px-timeline__cell.is-done .px-timeline__state{color:#39ff8b;letter-spacing:.02em}
.px-ladder__mystery{
  position:relative;isolation:isolate;display:block;overflow:hidden;
  width:calc(100% - 48px);max-width:1180px;margin:28px auto 18px;padding:30px 26px 18px;text-align:center;
  border:1px solid rgba(220,180,74,.38);border-radius:26px;
  background:
    radial-gradient(70% 48% at 50% 48%,rgba(57,255,139,.13),transparent 72%),
    radial-gradient(42% 36% at 50% 12%,rgba(245,184,61,.13),transparent 74%),
    linear-gradient(180deg,#050806 0%,#020403 72%,#070604 100%);
  box-shadow:0 30px 90px -38px rgba(0,0,0,.95),0 0 70px -42px rgba(57,255,139,.55),inset 0 1px rgba(255,255,255,.05)
}
.px-ladder__mystery::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 74%)
}
.px-mystery__head{position:relative;z-index:3}
.px-mystery__eyebrow{
  display:inline-flex;margin-bottom:5px;color:#39ff8b;font:800 11px/1 "Orbitron",sans-serif;
  letter-spacing:.22em;text-transform:uppercase
}
.px-mystery__title{
  margin:0;font:900 clamp(38px,7vw,78px)/.96 "Orbitron",sans-serif;letter-spacing:.01em;
  color:#f7df9a;background:linear-gradient(180deg,#fff8d9 4%,#f8d990 33%,#9e6412 72%,#ffe8a2);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 5px 0 rgba(72,38,2,.75)) drop-shadow(0 0 18px rgba(244,184,61,.45));
  transform-origin:50% 55%;will-change:transform,filter;
  animation:px-mystery-title-pulse 3.2s ease-in-out infinite
}
@keyframes px-mystery-title-pulse{
  0%,68%,100%{
    transform:scale(1);
    filter:brightness(1) drop-shadow(0 5px 0 rgba(72,38,2,.75)) drop-shadow(0 0 18px rgba(244,184,61,.45))
  }
  80%{
    transform:scale(1.025);
    filter:brightness(1.22) drop-shadow(0 5px 0 rgba(72,38,2,.72)) drop-shadow(0 0 30px rgba(255,203,82,.78))
  }
  90%{
    transform:scale(1.008);
    filter:brightness(1.08) drop-shadow(0 5px 0 rgba(72,38,2,.75)) drop-shadow(0 0 22px rgba(244,184,61,.58))
  }
}
.px-mystery__rule{
  margin:14px 0 0!important;color:#39ff8b!important;font:800 clamp(11px,1.8vw,16px)/1.35 "Orbitron",sans-serif!important;
  letter-spacing:.15em!important;text-transform:uppercase;text-shadow:0 0 16px rgba(57,255,139,.32)
}
.px-mystery__art{position:relative;z-index:1;max-width:940px;margin:-16px auto -26px}
.px-mystery__art::after{
  content:"";position:absolute;left:16%;right:16%;bottom:8%;height:13%;z-index:-1;
  background:rgba(57,255,139,.32);filter:blur(34px);border-radius:50%
}
.px-mystery__art>img{display:block;width:100%;height:auto;filter:saturate(1.06) contrast(1.03)}
.px-mystery__float{
  --px-float-rotate:0deg;--px-float-x:4px;--px-float-y:-8px;
  position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;
  min-width:145px;padding:10px 13px;border:1px solid currentColor;border-radius:10px;
  background:rgba(3,7,5,.74);backdrop-filter:blur(8px);box-shadow:0 0 22px -8px currentColor;
  font:800 11px/1.2 "Orbitron",sans-serif;letter-spacing:.06em;text-transform:uppercase;
  will-change:transform;animation:px-mystery-float 4.8s ease-in-out infinite;
  transition:filter .2s,box-shadow .2s
}
.px-mystery__float>span{font-size:24px;line-height:1}
.px-mystery__float--bonus{top:25%;left:1%;color:#f7c952;--px-float-rotate:-5deg;--px-float-x:5px;animation-delay:-.4s}
.px-mystery__float--x2{top:25%;right:1%;color:#55d8ff;--px-float-rotate:5deg;--px-float-x:-5px;--px-float-y:-10px;animation-delay:-2.5s;animation-duration:5.4s}
.px-mystery__float--discount{bottom:21%;left:0;color:#65ff62;--px-float-rotate:-7deg;--px-float-x:7px;--px-float-y:-6px;animation-delay:-3.1s;animation-duration:5.8s}
.px-mystery__float--cash{bottom:21%;right:0;color:#ffca58;--px-float-rotate:7deg;--px-float-x:-6px;--px-float-y:-9px;animation-delay:-1.5s;animation-duration:5.1s}
.px-mystery__float--surprise{
  top:8%;left:50%;translate:-50% 0;color:#df8cff;
  --px-float-rotate:0deg;--px-float-x:0;--px-float-y:-7px;
  animation-delay:-3.8s;animation-duration:5.6s
}
.px-mystery__float:hover{
  animation-play-state:paused;filter:brightness(1.25);
  box-shadow:0 0 32px -5px currentColor
}
@keyframes px-mystery-float{
  0%,100%{transform:translate3d(0,0,0) rotate(var(--px-float-rotate))}
  34%{transform:translate3d(var(--px-float-x),var(--px-float-y),0) rotate(var(--px-float-rotate))}
  67%{transform:translate3d(0,2px,0) rotate(var(--px-float-rotate))}
}
.px-mystery__rewards{
  position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);
  max-width:950px;margin:-20px auto 0;border:1px solid rgba(228,194,107,.34);border-radius:20px;
  background:rgba(5,8,6,.9);box-shadow:0 20px 58px -28px #000;backdrop-filter:blur(14px)
}
.px-mystery__reward{
  position:relative;display:flex;min-width:0;align-items:center;justify-content:center;flex-direction:column;
  gap:8px;padding:17px 8px;color:#fff;transition:transform .22s ease,background .22s ease
}
.px-mystery__reward:hover{transform:translateY(-4px);background:rgba(255,255,255,.035)}
.px-mystery__reward+.px-mystery__reward::before{
  content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:rgba(255,255,255,.12)
}
.px-mystery__reward-icon{
  display:flex;align-items:center;justify-content:center;width:45px;height:45px;border:1px solid currentColor;
  border-radius:13px;font:900 23px/1 "Orbitron",sans-serif;box-shadow:0 0 18px -7px currentColor;
  animation:px-mystery-icon-pulse 3.6s ease-in-out infinite
}
.px-mystery__reward:nth-child(2) .px-mystery__reward-icon{animation-delay:-.9s}
.px-mystery__reward:nth-child(3) .px-mystery__reward-icon{animation-delay:-1.8s}
.px-mystery__reward:nth-child(4) .px-mystery__reward-icon{animation-delay:-2.7s}
@keyframes px-mystery-icon-pulse{
  0%,72%,100%{transform:translateY(0) scale(1);box-shadow:0 0 18px -7px currentColor}
  84%{transform:translateY(-3px) scale(1.06);box-shadow:0 0 28px -4px currentColor}
}
.px-mystery__reward strong{
  display:block;margin:0!important;color:#fff!important;font:800 11px/1.35 "Orbitron",sans-serif!important;
  letter-spacing:.04em!important;text-transform:uppercase
}
.px-mystery__reward--gold{color:#f7c952}.px-mystery__reward--green{color:#39ff8b}
.px-mystery__reward--blue{color:#55d8ff}.px-mystery__reward--amber{color:#ffc44f}
/* Info-point tooltip (hover/focus) — replaces the inline note to save space */
.px-infopoint{position:relative;display:inline-flex;vertical-align:middle;margin-left:8px}
.px-infopoint__btn{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:rgba(255,255,255,.7);font-size:12px;font-weight:800;font-family:Georgia,serif;font-style:italic;line-height:1;cursor:help;display:flex;align-items:center;justify-content:center;transition:all .2s}
.px-infopoint__btn:hover,.px-infopoint__btn:focus-visible{border-color:#39ff8b;color:#39ff8b}
.px-infopoint__tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);width:340px;max-width:82vw;background:#101512;border:1px solid rgba(57,255,139,.4);border-radius:12px;padding:13px 15px;color:rgba(255,255,255,.85);font-size:13px;font-weight:400;font-family:inherit;line-height:1.55;text-align:left;text-transform:none;letter-spacing:0;box-shadow:0 16px 40px rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60}
.px-infopoint__tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:rgba(57,255,139,.4)}
.px-infopoint:hover .px-infopoint__tip,.px-infopoint__btn:focus-visible + .px-infopoint__tip{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
@media (max-width:760px){
  .px-timeline__cell{min-width:96px}
  .px-ladder__mystery{width:100%;max-width:none;margin:0;padding:22px 8px 15px;border-radius:20px}
  .px-mystery__eyebrow{font-size:9px}
  .px-mystery__title{font-size:clamp(30px,8.6vw,40px);white-space:nowrap}
  .px-mystery__rule{margin-top:11px!important;font-size:clamp(9px,2.7vw,12px)!important;letter-spacing:.09em!important}
  .px-mystery__art{width:112%;margin:-5px -6% -16px}
  .px-mystery__float{min-width:92px;max-width:108px;gap:5px;padding:7px 7px;font-size:8px;border-radius:8px}
  .px-mystery__float .px-ico{width:17px;height:17px}
  .px-mystery__float>span{font-size:18px}
  .px-mystery__float--bonus{top:25%;left:5%;--px-float-rotate:-5deg}
  .px-mystery__float--x2{top:26%;right:5%;--px-float-rotate:5deg}
  .px-mystery__float--discount{bottom:20%;left:3%;--px-float-rotate:-6deg}
  .px-mystery__float--cash{bottom:20%;right:3%;--px-float-rotate:6deg}
  .px-mystery__float--surprise{top:7%;left:50%;min-width:112px;max-width:122px}
  .px-mystery__rewards{margin:-6px 0 0;border-radius:14px}
  .px-mystery__reward{gap:6px;padding:12px 2px}
  .px-mystery__reward-icon{width:34px;height:34px;border-radius:10px;font-size:17px}
  .px-mystery__reward-icon .px-ico{width:20px;height:20px}
  .px-mystery__reward strong{font-size:8px!important;line-height:1.3!important}
}

/* ===== Hero density: tighter vertical rhythm (notes + drop bar) ===== */
.px-phero__price-note{margin:3px 0 6px !important;padding:7px 12px;font-size:13.5px}
.px-phero__price-note + .px-phero__price-note{margin-top:0 !important}
.px-phero__progress{margin:8px 0 6px}
.px-drop{margin:8px 0 4px;padding:10px 14px}
.px-drop__head{margin-bottom:6px}
.px-drop__meta{margin-top:5px}
.px-drops-feed{margin-top:6px}
.px-phero__cta{margin-top:12px}

/* ===== Hero stats: premium three-card dashboard ===== */
.px-phero__stats--cards{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
  width:100%;max-width:720px;padding:0
}
.px-phero__stats--cards .px-stat{
  position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr);
  align-items:center;gap:11px;min-width:0;padding:13px 14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.11);border-radius:15px;
  background:
    radial-gradient(90% 100% at 0 0,rgba(57,255,139,.095),transparent 70%),
    linear-gradient(180deg,rgba(7,15,10,.84),rgba(3,8,5,.9));
  box-shadow:0 16px 38px -28px #000,inset 0 1px rgba(255,255,255,.045);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease
}
.px-phero__stats--cards .px-stat::before{
  content:"";position:absolute;z-index:-1;inset:0;opacity:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.075) 48%,transparent 75%);
  transform:translateX(-85%);transition:opacity .22s
}
.px-phero__stats--cards .px-stat::after{
  content:"";position:absolute;left:15%;right:15%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--px-stat-accent,#39ff8b),transparent);
  box-shadow:0 0 12px var(--px-stat-accent,#39ff8b)
}
.px-phero__stats--cards .px-stat:hover{
  transform:translateY(-3px);border-color:color-mix(in srgb,var(--px-stat-accent,#39ff8b) 48%,transparent);
  box-shadow:0 18px 38px -24px #000,0 0 24px -18px var(--px-stat-accent,#39ff8b)
}
.px-phero__stats--cards .px-stat:hover::before{opacity:1;animation:px-stat-sheen .85s ease}
@keyframes px-stat-sheen{to{transform:translateX(85%)}}
.px-phero__stats--cards .px-stat--filled{--px-stat-accent:#f5c756}
.px-phero__stats--cards .px-stat--price{--px-stat-accent:#39ff8b}
.px-phero__stats--cards .px-stat__icon{
  display:flex;align-items:center;justify-content:center;width:39px;height:39px;margin:0;
  border:1px solid color-mix(in srgb,var(--px-stat-accent,#39ff8b) 48%,transparent);
  border-radius:11px;background:color-mix(in srgb,var(--px-stat-accent,#39ff8b) 10%,transparent);
  color:var(--px-stat-accent,#39ff8b);
  font:900 16px/1 "Orbitron",sans-serif;letter-spacing:0;
  box-shadow:0 0 18px -10px var(--px-stat-accent,#39ff8b)
}
.px-phero__stats--cards .px-stat__icon svg{width:19px;height:19px}
.px-phero__stats--cards .px-stat__content{display:flex;min-width:0;flex-direction:column;gap:4px}
.px-phero__stats--cards .px-stat strong{
  overflow:hidden;font-family:"Orbitron",sans-serif;font-size:clamp(18px,1.75vw,25px);
  font-weight:900;line-height:1.05;white-space:nowrap;text-overflow:ellipsis
}
.px-phero__stats--cards .px-stat--filled strong{color:#f5d06b;text-shadow:0 0 18px rgba(245,199,86,.2)}
.px-phero__stats--cards .px-stat--price strong{color:#39ff8b;text-shadow:0 0 18px rgba(57,255,139,.18)}
.px-phero__stats--cards .px-stat strong em{font-family:"Rajdhani",sans-serif;font-size:.56em}
.px-phero__stats--cards .px-stat__label{
  display:block;margin:0;color:rgba(255,255,255,.48);font:800 9px/1.15 "Orbitron",sans-serif;
  letter-spacing:.13em;text-transform:uppercase;white-space:nowrap
}

/* ===== Mobile gallery strip (under the title, phones only) ===== */
.px-mgallery{display:none}
@media (max-width:760px){
  .px-mgallery{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:4px 2px 10px;margin:10px 0 4px}
  .px-mgallery__item{flex:0 0 auto;width:132px;height:96px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.16);scroll-snap-align:start}
  .px-mgallery__item img{width:100%;height:100%;object-fit:cover;display:block}
  /* CTA-urile din hero: pe telefon stau unul sub altul, full width */
  .px-phero__cta{flex-direction:column;align-items:stretch}
  .px-phero__cta .px-btn{width:100%;justify-content:center;text-align:center}
}
/* WhatsApp bubble: deasupra barei sticky pe telefon, nu peste buton */
@media (max-width:760px){
  .px-wa{bottom:96px !important}
}

/* Mobile fix: the side rail (Top-3 + prize timeline) must be allowed to shrink —
   min-width:auto let the 9-cell timeline force a 900px+ grid track on phones. */
.px-phero__side{min-width:0}
.px-phero__side-inner{min-width:0}
.px-timeline{max-width:100%}

/* ===== Mobile compaction: tighter rhythm on phones ===== */
@media (max-width:760px){
  .px-phero{padding-bottom:8px!important}
  .px-phero__main{gap:10px}
  .px-phero__crumbs{margin-bottom:0;font-size:12.5px}
  .px-phero__title{margin:2px 0 4px;font-size:clamp(24px,7vw,30px)}
  .px-phero__stats{margin:2px 0}
  .px-phero__stats--cards{gap:6px}
  .px-phero__stats--cards .px-stat{
    display:flex;min-height:82px;align-items:flex-start;justify-content:center;flex-direction:column;
    gap:6px;padding:9px 8px;border-radius:12px
  }
  .px-phero__stats--cards .px-stat__icon{width:27px;height:27px;border-radius:8px;font-size:11px}
  .px-phero__stats--cards .px-stat__icon svg{width:15px;height:15px}
  .px-phero__stats--cards .px-stat__content{gap:4px;width:100%}
  .px-phero__stats--cards .px-stat strong{font-size:clamp(16px,4.7vw,20px)}
  .px-phero__stats--cards .px-stat--price strong{gap:4px;font-size:16px}
  .px-phero__stats--cards .px-stat--price .px-stat__was{margin-right:0;font-size:9px}
  .px-phero__stats--cards .px-stat__label{font-size:7.5px;letter-spacing:.08em}
  .px-phero__stats--cards .px-stat:hover{transform:none}
  .px-phero__price-note{margin:2px 0 !important;padding:6px 11px;font-size:13px}
  .px-phero__progress{margin:4px 0 2px}
  .px-drop{margin:4px 0 2px;padding:9px 12px}
  .px-drops-feed{margin-top:2px}
  .px-phero__cta{margin-top:6px;gap:8px}
  .px-showcase{padding-top:18px;padding-bottom:18px}
  .px-showcase__grid{row-gap:14px}
  /* gallery moved under the title */
  .px-phero__main .px-showcase__media{position:relative;margin:2px 0 4px}
  .px-phero__main .px-gallery__thumbs{margin-top:8px}
  .px-showcase__media>.px-phero__price-note--offer{
    position:absolute;z-index:8;top:10px;left:10px;width:auto;max-width:calc(100% - 20px);
    display:inline-flex;align-items:center;margin:0!important;padding:7px 10px!important;
    border:1px solid rgba(57,255,139,.58);border-radius:999px;
    background:rgba(3,10,6,.88)!important;backdrop-filter:blur(9px);
    box-shadow:0 8px 24px -12px #000,0 0 20px -12px rgba(57,255,139,.8);
    color:#fff!important;font-size:11px!important;line-height:1.15!important;
    white-space:nowrap;pointer-events:none
  }
  /* Mystery Box sits directly above the purchase rail; description remains below. */
  .px-ladder__mystery + .px-showcase__buy{margin-top:0}
  .px-showcase__buy ~ .px-showcase__desc{margin:14px 0 0}
  /* condensed prize-drops timeline */
  .px-ladder{padding:22px 0 4px}
  .px-ladder__head{margin-bottom:12px}
  .px-ladder__sub{font-size:13px}
  .px-timeline{padding:2px 0 8px;margin-bottom:8px}
  .px-timeline__cell{min-width:86px;gap:4px}
  .px-timeline__pct{font-size:13.5px}
  .px-timeline__label{font-size:11.5px;max-width:100px}
  .px-timeline__state{font-size:9px}
}

/* Modal skill answers: 3 columns to save vertical space */
.px-buymodal .px-qa__options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.px-buymodal .px-qa__option-box{width:100%;text-align:center;padding:10px 6px;font-size:13.5px;line-height:1.25;min-height:44px;display:flex;align-items:center;justify-content:center}
@media (max-width:400px){.px-buymodal .px-qa__option-box{font-size:12.5px;padding:9px 4px}}

/* Top 10 re-homed on mobile: tighten its section spacing */
@media (max-width:760px){
  .px-ladder__mystery + .px-top10-wrap,#px-top10{scroll-margin-top:80px}
  .px-showcase__buy ~ .px-top10-wrap{padding:14px 0 6px}
  /* Use almost the full phone width. The global container has 24px on each
     side, which is too much for this three-column leaderboard. */
  #px-top10 > .px-container{padding-left:8px;padding-right:8px}
  /* On phones JS moves Top 10 inside the showcase container, otherwise its
     outer 24px padding would still stack with the 8px above. */
  .px-showcase__buy ~ #px-top10{
    width:calc(100% + 48px);
    margin-left:-24px;
    margin-right:-24px
  }
}

/* ===== ProjectX suitcase icon (lid opens) ===== */
.px-case{overflow:visible}
.px-case .px-case__lid{transform-origin:4px 10px;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.px-ladder__mystery:hover .px-case__lid,.px-drop:hover .px-case--sm .px-case__lid{transform:rotate(-14deg) translateY(-1px)}
.px-drop__pill .px-case--sm{vertical-align:-2px;margin-right:2px}
.px-ladder__mystery .px-case__lid{animation:px-case-peek 3.2s ease-in-out infinite}
@keyframes px-case-peek{0%,78%,100%{transform:none}86%,92%{transform:rotate(-12deg) translateY(-1px)}}

@media (prefers-reduced-motion:reduce){
  .px-mystery__title,.px-mystery__float,.px-mystery__reward-icon{animation:none}
  .px-mystery__reward{transition:none}
  .px-reward-track__eyebrow i,.px-reward-track__fill::after,.px-reward-track__step.is-next .px-reward-track__node{animation:none}
  .px-reward-track__fill,.px-reward-track__current,.px-reward-track__node{transition:none}
}

/* ===== Hero background slideshow ===== */
/* Same stacking level as the base background (-3): later sibling paints above
   the old image but stays BELOW the scrim and every hero element. */
.px-phero__bg--layer{opacity:0;transition:opacity 1.4s ease;z-index:-3;pointer-events:none}
.px-phero__bg--layer.is-visible{opacity:1}

/* ===== Description: full-width section under Top 10 (desktop) ===== */
.px-desc-wrap{padding:34px 0 10px}
.px-desc-wrap__title{font-family:"Orbitron",sans-serif;font-size:clamp(18px,2.6vw,24px);font-weight:800;color:#fff;margin:0 0 14px}
.px-showcase__desc--full{max-width:none;columns:1}
@media (min-width:900px){.px-showcase__desc--full{font-size:15.5px;line-height:1.75}}
@media (max-width:760px){.px-desc-wrap{padding:18px 0 6px}}

/* Small phones: bottom padding of a scroll container is ignored for overflowing
   content in WebKit/Blink — a real spacer guarantees the pay button clears the
   screen edge on every device. */
.px-buymodal__panel::after{content:"";display:block;flex-shrink:0;height:calc(56px + env(safe-area-inset-bottom))}

/* iOS Safari: the modal must size to the VISIBLE (dynamic) viewport — with the
   layout viewport it thinks everything fits, disables scrolling and leaves the
   pay button unreachable behind the bottom toolbar. */
.px-buymodal.is-open{height:100vh;height:100dvh;bottom:auto}
.px-buymodal__panel{max-height:100vh;max-height:100dvh}
/* the cookie revisit bubble must never sit on top of the checkout modal */
body.px-buymodal-open .px-consent-revisit{display:none}
/* Competition pages already have a persistent purchase bar in this corner.
   Keep the initial consent banner, but remove its floating revisit shortcut. */
body.px-single-lottery .px-consent-revisit{display:none!important}
