/* =========================================================
   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;
	background-size: cover;
	background-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);
	gap: 48px;
	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; }

	/* Names: smaller + truncate */
	.lty-top10 .lty-name {
		font-size: 11px !important;
		font-weight: 700 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		max-width: 100% !important;
		display: block !important;
		line-height: 1.25 !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__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); }

/* 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 {
	height: 100%; width: var(--pct, 0%);
	background: linear-gradient(90deg, var(--px-neon-2), var(--px-neon), #8effc5);
	box-shadow: 0 0 20px var(--px-neon-glow);
	animation: pxBarShine 2.4s ease-in-out infinite;
}
@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__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;
	margin-top: 6px;
	font-size: 14px;
	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__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; }
}
