/*
 * Show night event page (single-event-show-night.php + templates/show-night/).
 * Ported from mockups/show-night-template/index.html. Everything is scoped under body.pb-show-night .pb-sn;
 * the three rules right below are the only ones outside it (they free the page from the theme's wrappers).
 * Phone layout below 900px (sticky bottom bar), desktop from 900px (two columns + sticky side card).
 * Fundraiser stages (onsale, final, live; .sn-body--fund) follow mockups/event-pages-support/index.html: the card
 * sticks beside the hero only, and the sections below run the full width.
 * The popup (show-night-popup.css) reuses: .sn-btn*, .sn-eyebrow, .sn-fine, .sn-field, .sn-check, .sn-amts, .sn-amt, .sn-chip.
 */

/* ---------- theme wrappers ---------- */
/* The child theme sets body{overflow-x:hidden}, which turns body into a scroll container and breaks position:sticky. */
body.pb-show-night { overflow-x: visible; }
body.pb-show-night.single-event .site-content > .ast-container,
body.pb-show-night .site-content > .ast-container { display: block; max-width: none; padding: 0; }
body.pb-show-night #content.site-content { padding: 0; }

/* ---------- tokens and base ---------- */
body.pb-show-night .pb-sn {
	--sn-purple: #8224e3;
	--sn-deep: #5a298c;
	--sn-night: #22103d;
	--sn-magenta: #f107fa;
	--sn-yellow: #f0d820;
	--sn-yellow-ink: #1b1230;
	--sn-ink: #1f1a2e;
	--sn-muted: #6b6380;
	--sn-line: #e4dcf0;
	--sn-lav: #f5f1fb;
	--sn-lav-2: #e8dff6;
	--sn-ok: #13753d;
	--sn-live: #ff2e6c;
	--sn-mono: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	--sn-sans: 'Roboto', system-ui, -apple-system, sans-serif;
	--sn-radius: 14px;
	--sn-radius-sm: 8px;
	--sn-shadow: 0 16px 50px rgba(20, 8, 40, .28);
	--sn-stick: 16px; /* sticky offsets: the theme header is not sticky, so only a little breathing room */
	position: relative;
	font-family: var(--sn-sans);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--sn-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
body.pb-show-night .pb-sn *,
body.pb-show-night .pb-sn *::before,
body.pb-show-night .pb-sn *::after { box-sizing: border-box; }
body.pb-show-night .pb-sn img { display: block; max-width: 100%; height: auto; }
body.pb-show-night .pb-sn a { color: var(--sn-purple); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
body.pb-show-night .pb-sn a:hover { color: var(--sn-deep); }
body.pb-show-night .pb-sn h1,
body.pb-show-night .pb-sn h2,
body.pb-show-night .pb-sn h3 { font-family: var(--sn-mono); font-weight: 700; color: inherit; margin: 0; }
body.pb-show-night .pb-sn p { margin: 0 0 12px; font-size: inherit; line-height: inherit; }
body.pb-show-night .pb-sn ul,
body.pb-show-night .pb-sn dl { margin: 0; padding: 0; }
body.pb-show-night .pb-sn :focus-visible { outline: 3px solid var(--sn-magenta); outline-offset: 2px; }
body.pb-show-night .pb-sn .sn-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.pb-show-night .pb-sn .sn-eyebrow { font: 500 11px/1.2 var(--sn-mono); text-transform: uppercase; letter-spacing: .12em; color: #a800b3; }
body.pb-show-night .pb-sn .sn-eyebrow--purple { color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-eyebrow--hero { color: rgba(215, 167, 255, .8); letter-spacing: .16em; }
body.pb-show-night .pb-sn .sn-small { font-size: 12px; line-height: 1.45; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-fine { font: 400 11px/1.5 var(--sn-sans); color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-fine a { color: inherit; text-decoration: underline; }
body.pb-show-night .pb-sn .sn-fine--center { text-align: center; }
body.pb-show-night .pb-sn .sn-soldout { display: inline-flex; justify-content: center; font: 700 12px/1 var(--sn-mono); letter-spacing: .1em; text-transform: uppercase; background: var(--sn-ink); color: #fff; padding: 9px 12px; border-radius: 6px; }
body.pb-show-night .pb-sn .sn-chip { display: inline-flex; align-items: center; gap: 6px; font: 500 12px/1 var(--sn-mono); background: var(--sn-lav); color: var(--sn-deep); padding: 7px 10px; border-radius: 6px; }

/* ---------- buttons (shared with the popup) ---------- */
body.pb-show-night .pb-sn .sn-btn,
body.pb-show-night .pb-sn button.sn-btn,
body.pb-show-night .pb-sn a.sn-btn {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	border: 2px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	font: 700 14px/1.15 var(--sn-mono);
	text-transform: none;
	letter-spacing: 0;
	min-height: 48px;
	padding: 10px 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
	white-space: normal;
	text-align: center;
	max-width: 100%;
	box-shadow: none;
	background: transparent;
	color: var(--sn-purple);
	transition: transform .08s ease, background .15s ease, color .15s ease;
}
body.pb-show-night .pb-sn .sn-btn:active { transform: translateY(1px); }
body.pb-show-night .pb-sn .sn-btn--yellow,
body.pb-show-night .pb-sn button.sn-btn--yellow,
body.pb-show-night .pb-sn a.sn-btn--yellow { background: var(--sn-yellow); color: var(--sn-yellow-ink); border-color: var(--sn-yellow); }
body.pb-show-night .pb-sn .sn-btn--yellow:hover,
body.pb-show-night .pb-sn .sn-btn--yellow:focus { background: #f6e245; color: var(--sn-yellow-ink); border-color: #f6e245; }
body.pb-show-night .pb-sn .sn-btn--purple,
body.pb-show-night .pb-sn button.sn-btn--purple,
body.pb-show-night .pb-sn a.sn-btn--purple { background: var(--sn-purple); color: #fff; border-color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-btn--purple:hover,
body.pb-show-night .pb-sn .sn-btn--purple:focus { background: #7117d0; color: #fff; border-color: #7117d0; }
body.pb-show-night .pb-sn .sn-btn--outline,
body.pb-show-night .pb-sn button.sn-btn--outline,
body.pb-show-night .pb-sn a.sn-btn--outline { background: transparent; color: var(--sn-purple); border-color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-btn--outline:hover,
body.pb-show-night .pb-sn .sn-btn--outline:focus { background: var(--sn-lav); color: var(--sn-purple); border-color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-btn--outline.sn-btn--light,
body.pb-show-night .pb-sn button.sn-btn--outline.sn-btn--light { color: #fff; border-color: rgba(255, 255, 255, .7); }
body.pb-show-night .pb-sn .sn-btn--outline.sn-btn--light:hover,
body.pb-show-night .pb-sn .sn-btn--outline.sn-btn--light:focus { background: rgba(255, 255, 255, .12); color: #fff; border-color: #fff; }
body.pb-show-night .pb-sn .sn-btn--sm,
body.pb-show-night .pb-sn button.sn-btn--sm { min-height: 44px; padding: 8px 14px; font-size: 12px; }
body.pb-show-night .pb-sn .sn-btn--lg,
body.pb-show-night .pb-sn button.sn-btn--lg { min-height: 54px; font-size: 15px; }
body.pb-show-night .pb-sn .sn-btn--block,
body.pb-show-night .pb-sn button.sn-btn--block { width: 100%; }
body.pb-show-night .pb-sn .sn-btn[disabled] { opacity: .5; cursor: not-allowed; }
body.pb-show-night .pb-sn .sn-btn:has(small) { flex-direction: column; gap: 0; }
body.pb-show-night .pb-sn .sn-btn small { display: block; font: 400 10px/1 var(--sn-mono); letter-spacing: .04em; text-transform: none; opacity: .75; margin-top: 4px; }
body.pb-show-night .pb-sn .sn-btn--purple small { opacity: .92; }
body.pb-show-night .pb-sn .sn-btn--outline:not(.sn-btn--light) small { color: var(--sn-muted); opacity: 1; }

/* ---------- pills ---------- */
body.pb-show-night .pb-sn .sn-pill,
body.pb-show-night .pb-sn button.sn-pill,
body.pb-show-night .pb-sn a.sn-pill {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	min-height: 44px;
	font: 500 12px/1 var(--sn-mono);
	color: var(--sn-ink);
	background: transparent;
	border: 1.5px solid var(--sn-line);
	padding: 10px 12px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
	text-transform: none;
	letter-spacing: 0;
}
body.pb-show-night .pb-sn .sn-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--sn-live); }
body.pb-show-night .pb-sn .sn-pill.is-on,
body.pb-show-night .pb-sn button.sn-pill.is-on { border-color: var(--sn-purple); background: var(--sn-purple); color: #fff; }
body.pb-show-night .pb-sn .sn-pill:hover,
body.pb-show-night .pb-sn button.sn-pill:hover { border-color: var(--sn-purple); color: var(--sn-ink); background: var(--sn-lav); }
body.pb-show-night .pb-sn .sn-pill.is-on:hover { color: #fff; background: var(--sn-purple); }

/* ---------- body grid: one grid for hero band + content so the desktop card can stick through both ---------- */
body.pb-show-night .pb-sn .sn-body { display: grid; grid-template-columns: minmax(0, 1fr); position: relative; }
body.pb-show-night .pb-sn .sn-hero-bg { grid-column: 1; grid-row: 1; position: relative; overflow: hidden; background: var(--sn-night); }
body.pb-show-night .pb-sn .sn-hero-bg::before { content: ""; position: absolute; inset: -40px; background: var(--sn-bgimg, none) center/cover; filter: blur(36px) saturate(1.2); opacity: .55; transform: scale(1.1); }
body.pb-show-night .pb-sn .sn-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(34, 16, 61, .35), rgba(34, 16, 61, .9) 85%), linear-gradient(90deg, rgba(34, 16, 61, .4), transparent 40%, rgba(34, 16, 61, .4)); }
body.pb-show-night .pb-sn .sn-hero { grid-column: 1; grid-row: 1; position: relative; z-index: 1; color: #fff; min-width: 0; }
body.pb-show-night .pb-sn .sn-main { grid-column: 1; grid-row: 2; min-width: 0; }
body.pb-show-night .pb-sn .sn-side { display: none; }

/* ---------- hero ---------- */
body.pb-show-night .pb-sn .sn-media { aspect-ratio: 16 / 9; overflow: hidden; background: #000; box-shadow: 0 20px 60px rgba(0, 0, 0, .45); }
body.pb-show-night .pb-sn .sn-media img { width: 100%; height: 100%; object-fit: cover; }
body.pb-show-night .pb-sn .sn-hero-text { padding: 22px 20px 26px; }
body.pb-show-night .pb-sn .sn-title { font-size: 26px; line-height: 1.15; margin: 8px 0 6px; letter-spacing: -.01em; color: #fff; }
body.pb-show-night .pb-sn .sn-sub { font-size: 15px; color: rgba(255, 255, 255, .82); margin: 0 0 16px; }
body.pb-show-night .pb-sn .sn-ctas { display: grid; gap: 10px; }
body.pb-show-night .pb-sn .sn-ctas .sn-soldout { justify-self: center; }

/* live / after band */
body.pb-show-night .pb-sn .sn-strip { display: flex; align-items: center; gap: 12px; padding: 12px 20px 10px; font: 500 12px/1.3 var(--sn-mono); text-transform: uppercase; letter-spacing: .08em; color: rgba(255, 255, 255, .85); flex-wrap: wrap; }
body.pb-show-night .pb-sn .sn-strip-title,
body.pb-show-night .pb-sn h1.sn-strip-title { color: #fff; text-transform: none; letter-spacing: 0; font: 700 14px/1.3 var(--sn-mono); flex: 1 1 200px; margin: 0; }
body.pb-show-night .pb-sn .sn-livebadge { display: inline-flex; align-items: center; gap: 7px; background: #d91653; color: #fff; font: 700 11px/1 var(--sn-mono); letter-spacing: .12em; text-transform: uppercase; padding: 6px 9px; border-radius: 5px; }
body.pb-show-night .pb-sn .sn-livebadge i { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: sn-pulse 1.4s infinite; }
@keyframes sn-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.7); } }
body.pb-show-night .pb-sn .sn-player { position: relative; display: block; aspect-ratio: 16 / 9; background: #000; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); color: #fff; text-decoration: none; }
body.pb-show-night .pb-sn .sn-player .sn-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.pb-show-night .pb-sn .sn-player::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .55)); pointer-events: none; }
body.pb-show-night .pb-sn .sn-player.is-playing::after,
body.pb-show-night .pb-sn .sn-player.is-playing .sn-poster,
body.pb-show-night .pb-sn .sn-player.is-playing .sn-play,
body.pb-show-night .pb-sn .sn-player.is-playing .sn-pchip { display: none; }
body.pb-show-night .pb-sn .sn-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
body.pb-show-night .pb-sn .sn-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: rgba(130, 36, 227, .92); display: grid; place-items: center; z-index: 2; box-shadow: 0 10px 30px rgba(0, 0, 0, .4); cursor: pointer; transition: transform .15s ease; }
body.pb-show-night .pb-sn .sn-play::after { content: ""; border-style: solid; border-width: 13px 0 13px 22px; border-color: transparent transparent transparent #fff; margin-left: 5px; }
body.pb-show-night .pb-sn .sn-player[data-sn-player]:hover .sn-play,
body.pb-show-night .pb-sn a.sn-player:hover .sn-play { transform: scale(1.06); }
body.pb-show-night .pb-sn .sn-player[data-sn-player] { cursor: pointer; }
body.pb-show-night .pb-sn .sn-pchip { position: absolute; left: 14px; bottom: 14px; z-index: 2; color: #fff; font: 500 12px/1 var(--sn-mono); background: rgba(0, 0, 0, .55); padding: 7px 10px; border-radius: 5px; letter-spacing: .04em; }
body.pb-show-night .pb-sn .sn-pchip--r { left: auto; right: 14px; }
body.pb-show-night .pb-sn .sn-plat { display: flex; gap: 8px; padding: 14px 20px 0; flex-wrap: wrap; align-items: center; }
body.pb-show-night .pb-sn .sn-plat .sn-pill,
body.pb-show-night .pb-sn .sn-plat button.sn-pill,
body.pb-show-night .pb-sn .sn-plat a.sn-pill { color: #fff; border: 1.5px solid rgba(255, 255, 255, .4); padding: 9px 12px; }
body.pb-show-night .pb-sn .sn-plat .sn-pill:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
body.pb-show-night .pb-sn .sn-plat .sn-pill.is-on,
body.pb-show-night .pb-sn .sn-plat button.sn-pill.is-on { background: #fff; color: var(--sn-night); border-color: #fff; }
body.pb-show-night .pb-sn .sn-plat .sn-pill.is-on:hover { background: #fff; color: var(--sn-night); }

/* ---------- sections ---------- */
body.pb-show-night .pb-sn .sn-sec { padding: 30px 20px 10px; scroll-margin-top: var(--sn-stick); }
body.pb-show-night .pb-sn .sn-sec + .sn-sec { border-top: 1px solid var(--sn-line); }
body.pb-show-night .pb-sn .sn-sec h2 { font-size: 21px; line-height: 1.2; margin: 6px 0 12px; letter-spacing: -.01em; }
body.pb-show-night .pb-sn .sn-sec p { margin: 0 0 12px; }
body.pb-show-night .pb-sn .sn-prose > p:first-child { font-size: 16px; }
body.pb-show-night .pb-sn .sn-prose a { color: var(--sn-purple); }

/* countdown tiles (final stretch) */
body.pb-show-night .pb-sn .sn-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
body.pb-show-night .pb-sn .sn-tile { min-width: 0; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); border-radius: 10px; padding: 10px 2px; text-align: center; }
body.pb-show-night .pb-sn .sn-tile b { display: block; font: 700 26px/1 var(--sn-mono); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
body.pb-show-night .pb-sn .sn-tile span { display: block; font: 500 10px/1 var(--sn-mono); text-transform: uppercase; letter-spacing: .12em; opacity: .78; margin-top: 6px; }
/* lineup */
body.pb-show-night .pb-sn .sn-lineup { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; list-style: none; }
body.pb-show-night .pb-sn .sn-lineup li { list-style: none; margin: 0; background: var(--sn-lav); border: 1px solid var(--sn-lav-2); border-radius: 999px; padding: 7px 12px; font-size: 13px; }
body.pb-show-night .pb-sn .sn-lineup li b { font-family: var(--sn-mono); font-weight: 700; }
body.pb-show-night .pb-sn .sn-lineup li a { color: inherit; text-decoration: none; }
body.pb-show-night .pb-sn .sn-lineup li span { color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-lineup li.is-feat { background: var(--sn-purple); border-color: var(--sn-purple); color: #fff; }
body.pb-show-night .pb-sn .sn-lineup li.is-feat span { color: rgba(255, 255, 255, .92); }

/* support */
body.pb-show-night .pb-sn .sn-support-form { margin: 0; }
body.pb-show-night .pb-sn .sn-amts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
body.pb-show-night .pb-sn .sn-amt,
body.pb-show-night .pb-sn button.sn-amt { appearance: none; -webkit-appearance: none; margin: 0; min-height: 44px; border: 1.5px solid var(--sn-line); border-radius: 9px; padding: 13px 4px; font: 700 15px/1 var(--sn-mono); background: #fff; cursor: pointer; color: var(--sn-ink); text-align: center; box-shadow: none; text-transform: none; letter-spacing: 0; }
body.pb-show-night .pb-sn .sn-amt:hover,
body.pb-show-night .pb-sn button.sn-amt:hover { border-color: var(--sn-purple); background: #fff; color: var(--sn-ink); }
body.pb-show-night .pb-sn .sn-amt.is-on,
body.pb-show-night .pb-sn button.sn-amt.is-on,
body.pb-show-night .pb-sn button.sn-amt.is-on:hover { border-color: var(--sn-purple); background: var(--sn-purple); color: #fff; }
body.pb-show-night .pb-sn .sn-field { display: grid; gap: 5px; margin: 0 0 12px; }
body.pb-show-night .pb-sn .sn-field[hidden] { display: none; }
body.pb-show-night .pb-sn .sn-field label { font: 500 11px/1.2 var(--sn-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--sn-muted); margin: 0; }
body.pb-show-night .pb-sn .sn-field label em { font-style: normal; text-transform: none; letter-spacing: 0; }
body.pb-show-night .pb-sn .sn-field input,
body.pb-show-night .pb-sn .sn-field textarea,
body.pb-show-night .pb-sn .sn-field select { font: 400 15px/1.3 var(--sn-sans); border: 1.5px solid var(--sn-line); border-radius: var(--sn-radius-sm); padding: 12px 12px; width: 100%; background: #fff; color: var(--sn-ink); margin: 0; box-shadow: none; }
body.pb-show-night .pb-sn .sn-field textarea { min-height: 68px; resize: vertical; }
body.pb-show-night .pb-sn .sn-field input:focus,
body.pb-show-night .pb-sn .sn-field textarea:focus,
body.pb-show-night .pb-sn .sn-field select:focus { outline: 2px solid var(--sn-purple); outline-offset: 0; border-color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-field input::placeholder,
body.pb-show-night .pb-sn .sn-field textarea::placeholder { color: #9b93ad; opacity: 1; }
body.pb-show-night .pb-sn .sn-check { display: flex; gap: 10px; align-items: center; min-height: 44px; font-size: 13px; margin: 0 0 12px; cursor: pointer; font-weight: 400; color: var(--sn-ink); }
body.pb-show-night .pb-sn .sn-check input { accent-color: var(--sn-purple); width: 18px; height: 18px; margin: 0; flex: none; }

/* sponsors */
body.pb-show-night .pb-sn .sn-logos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 10px; }
body.pb-show-night .pb-sn .sn-logo { position: relative; min-width: 0; aspect-ratio: 5 / 2.6; border: 1px solid var(--sn-line); border-radius: 10px; display: grid; place-items: center; padding: 8px; text-align: center; overflow: hidden; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; text-decoration: none; color: var(--sn-ink); }
body.pb-show-night .pb-sn .sn-logo:hover { filter: none; opacity: 1; color: var(--sn-ink); }
body.pb-show-night .pb-sn .sn-logo img { position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); object-fit: contain; }
body.pb-show-night .pb-sn .sn-logo b { font: 700 13px/1.15 var(--sn-mono); text-transform: uppercase; letter-spacing: .02em; }
/* logo files are square with their own margin, so the tiles are square and the art fills them */
body.pb-show-night .pb-sn .sn-logo:has(img) { aspect-ratio: 1; }
body.pb-show-night .pb-sn .sn-logo:has(img) img { inset: 2px; width: calc(100% - 4px); height: calc(100% - 4px); }

/* venue */
body.pb-show-night .pb-sn .sn-venue { display: grid; grid-template-columns: 1fr; gap: 14px; }
body.pb-show-night .pb-sn .sn-mapbox { display: block; aspect-ratio: 16 / 7; border-radius: 12px; position: relative; overflow: hidden; border: 1px solid var(--sn-lav-2); text-decoration: none; background:
	radial-gradient(circle at 62% 46%, rgba(130, 36, 227, 0) 0 8px, rgba(130, 36, 227, .18) 9px 10px, transparent 11px),
	linear-gradient(90deg, rgba(130, 36, 227, .09) 1px, transparent 1px) 0 0 / 28px 28px,
	linear-gradient(0deg, rgba(130, 36, 227, .09) 1px, transparent 1px) 0 0 / 28px 28px,
	linear-gradient(135deg, #efe8fa, #dfd3f1); }
body.pb-show-night .pb-sn .sn-mapbox::before { content: ""; position: absolute; left: -10%; top: 30%; width: 120%; height: 14px; background: rgba(255, 255, 255, .9); transform: rotate(-12deg); }
body.pb-show-night .pb-sn .sn-mapbox::after { content: ""; position: absolute; left: calc(62% - 11px); top: calc(46% - 28px); width: 22px; height: 22px; border-radius: 50% 50% 50% 0; background: var(--sn-purple); transform: rotate(-45deg); box-shadow: 0 6px 14px rgba(90, 41, 140, .4); }
body.pb-show-night .pb-sn .sn-mapbox span { position: absolute; right: 10px; bottom: 10px; z-index: 1; font: 500 11px/1 var(--sn-mono); background: #fff; padding: 7px 9px; border-radius: 6px; color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-addr { font-style: normal; font-family: var(--sn-mono); font-size: 14px; line-height: 1.5; }
body.pb-show-night .pb-sn .sn-addr b { display: block; font-size: 16px; }
body.pb-show-night .pb-sn .sn-vlist { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 13px; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-vlist li { list-style: none; margin: 0; }
body.pb-show-night .pb-sn .sn-vlist li::before { content: "\2014 "; color: var(--sn-purple); }

/* faq */
body.pb-show-night .pb-sn .sn-faq { border-top: 1px solid var(--sn-line); }
body.pb-show-night .pb-sn .sn-faq details { border-bottom: 1px solid var(--sn-line); }
body.pb-show-night .pb-sn .sn-faq summary { cursor: pointer; list-style: none; padding: 14px 0; font: 700 14px/1.3 var(--sn-mono); display: flex; justify-content: space-between; gap: 12px; }
body.pb-show-night .pb-sn .sn-faq summary::-webkit-details-marker { display: none; }
body.pb-show-night .pb-sn .sn-faq summary::after { content: "+"; color: var(--sn-purple); font-weight: 400; font-size: 18px; line-height: 1; flex: none; }
body.pb-show-night .pb-sn .sn-faq details[open] summary::after { content: "\2013"; }
/* answers and the giveaway details (editor text): one size and colour for paragraphs and lists, a bold lead-in
   ("Prizes", "Taking part:") becomes a small mono label on its own line, lists get purple dots and a real indent */
body.pb-show-night .pb-sn .sn-faq-a { max-width: 68ch; color: var(--sn-muted); font-size: 15px; line-height: 1.6; }
body.pb-show-night .pb-sn .sn-faq-a p,
body.pb-show-night .pb-sn .sn-fold-body .sn-faq-a > p:first-child { margin: 0 0 18px; color: var(--sn-muted); font-size: 15px; line-height: 1.6; }
body.pb-show-night .pb-sn .sn-faq-a strong,
body.pb-show-night .pb-sn .sn-faq-a b { font-weight: 600; color: var(--sn-ink); }
body.pb-show-night .pb-sn .sn-faq-a p > strong:first-child,
body.pb-show-night .pb-sn .sn-faq-a p > b:first-child { display: block; margin-bottom: 4px; font: 700 12px/1.3 var(--sn-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--sn-deep); }
body.pb-show-night .pb-sn .sn-faq-a p:has(+ ul),
body.pb-show-night .pb-sn .sn-faq-a p:has(+ ol) { margin-bottom: 8px; }
body.pb-show-night .pb-sn .sn-faq-a ul,
body.pb-show-night .pb-sn .sn-faq-a ol { margin: 0 0 18px; padding: 0; }
body.pb-show-night .pb-sn .sn-faq-a ul { list-style: none; }
body.pb-show-night .pb-sn .sn-faq-a ol { padding-left: 22px; }
body.pb-show-night .pb-sn .sn-faq-a li { position: relative; margin: 0 0 6px; font-size: 15px; line-height: 1.6; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-faq-a ul > li { padding-left: 20px; }
body.pb-show-night .pb-sn .sn-faq-a ul > li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-faq-a ol > li::marker { font: 700 13px var(--sn-mono); color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-faq-a a { color: var(--sn-purple); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.pb-show-night .pb-sn .sn-faq-a a:hover { color: var(--sn-deep); }
body.pb-show-night .pb-sn .sn-faq-a > :last-child { margin-bottom: 0; }
body.pb-show-night .pb-sn .sn-faq-a + .sn-fine { margin-top: 20px; padding-top: 14px; border-top: 1px dashed var(--sn-line); }

/* shop / next show */
body.pb-show-night .pb-sn .sn-shop { display: grid; gap: 10px; }
body.pb-show-night .pb-sn .sn-item { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; border: 1.5px solid var(--sn-lav-2); border-radius: 12px; padding: 12px; text-decoration: none; color: inherit; background: #fff; }
body.pb-show-night .pb-sn .sn-item:hover { border-color: var(--sn-purple); color: inherit; }
body.pb-show-night .pb-sn .sn-item img,
body.pb-show-night .pb-sn .sn-item .sn-tile { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; }
body.pb-show-night .pb-sn .sn-item .sn-tile,
body.pb-show-night .pb-sn .sn-next .sn-tile { display: grid; place-items: center; background: var(--sn-purple); color: #fff; font: 700 11px/1 var(--sn-mono); letter-spacing: .08em; text-transform: uppercase; flex: none; }
body.pb-show-night .pb-sn .sn-item b { font: 700 14px/1.3 var(--sn-mono); display: block; }
body.pb-show-night .pb-sn .sn-item span { font-size: 13px; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-item .sn-pr { font: 700 15px/1 var(--sn-mono); color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-next { display: grid; grid-template-columns: 84px 1fr auto; gap: 14px; align-items: center; border: 1.5px solid var(--sn-lav-2); border-radius: var(--sn-radius); padding: 14px; background: var(--sn-lav); text-decoration: none; color: inherit; }
body.pb-show-night .pb-sn .sn-next:hover { border-color: var(--sn-purple); color: inherit; }
body.pb-show-night .pb-sn .sn-next img,
body.pb-show-night .pb-sn .sn-next .sn-tile { width: 84px; height: 84px; border-radius: 8px; object-fit: cover; }
body.pb-show-night .pb-sn .sn-next b { font: 700 15px/1.3 var(--sn-mono); display: block; }
body.pb-show-night .pb-sn .sn-next span { font-size: 13px; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-next .sn-arrow { font: 700 22px/1 var(--sn-mono); color: var(--sn-purple); }

/* ---------- sticky bottom bar (phone) ---------- */
body.pb-show-night .pb-sn .sn-bar { position: sticky; bottom: 0; z-index: 15; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--sn-line); padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: 3fr 2fr; gap: 8px; }
body.pb-show-night .pb-sn .sn-bar--1 { grid-template-columns: 1fr; }
body.pb-show-night .pb-sn .sn-bar .sn-btn,
body.pb-show-night .pb-sn .sn-bar button.sn-btn,
body.pb-show-night .pb-sn .sn-bar a.sn-btn { padding: 12px 8px; font-size: 13px; flex-direction: column; white-space: normal; line-height: 1.1; }
body.pb-show-night .pb-sn .sn-bar .sn-btn small { margin-top: 4px; }
body.pb-show-night .pb-sn .sn-main { padding-bottom: 24px; }
/* The popup (sn-pop-open) or the giveaway engine's own pass popup (pb-pass-open) hides the bar. */
body.pb-show-night.sn-pop-open .pb-sn .sn-bar,
body.pb-show-night.pb-pass-open .pb-sn .sn-bar { display: none; }

/* ---------- desktop action card ---------- */
body.pb-show-night .pb-sn .sn-card { background: #fff; border-radius: var(--sn-radius); box-shadow: var(--sn-shadow); padding: 20px; color: var(--sn-ink); display: grid; gap: 12px; }
body.pb-show-night .pb-sn .sn-when { font: 500 12px/1.4 var(--sn-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--sn-purple); display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
body.pb-show-night .pb-sn .sn-card h3 { font-size: 18px; margin: 0; line-height: 1.25; }
body.pb-show-night .pb-sn .sn-lines { border: 1px solid var(--sn-line); border-radius: 10px; padding: 2px 12px; }
body.pb-show-night .pb-sn .sn-line { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; padding: 8px 0; border-bottom: 1px dashed var(--sn-line); font-size: 14px; }
body.pb-show-night .pb-sn .sn-line:last-child { border-bottom: 0; }
body.pb-show-night .pb-sn .sn-line b { font-family: var(--sn-mono); font-weight: 700; font-size: 15px; white-space: nowrap; }
body.pb-show-night .pb-sn .sn-line span { display: block; font-size: 12px; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-line .sn-free { color: var(--sn-ok); }
body.pb-show-night .pb-sn .sn-pills { display: flex; gap: 8px; flex-wrap: wrap; }
body.pb-show-night .pb-sn .sn-card hr { border: 0; border-top: 1px solid var(--sn-line); margin: 2px 0; height: 0; background: none; }
body.pb-show-night .pb-sn .sn-next--sm { padding: 10px; grid-template-columns: 56px 1fr auto; }
body.pb-show-night .pb-sn .sn-next--sm img,
body.pb-show-night .pb-sn .sn-next--sm .sn-tile { width: 56px; height: 56px; }
body.pb-show-night .pb-sn .sn-next--sm b { font-size: 13px; }

/* ---------- desktop layout ---------- */
@media (min-width: 900px) {
	body.pb-show-night .pb-sn .sn-body { grid-template-columns: minmax(48px, 1fr) minmax(0, 768px) 44px 372px minmax(48px, 1fr); }
	body.pb-show-night .pb-sn .sn-hero-bg { grid-column: 1 / -1; }
	body.pb-show-night .pb-sn .sn-hero { grid-column: 2; padding: 40px 0 44px; }
	body.pb-show-night .pb-sn .sn-media { border-radius: var(--sn-radius); }
	body.pb-show-night .pb-sn .sn-hero-text { padding: 26px 0 0; }
	body.pb-show-night .pb-sn .sn-title { font-size: 40px; line-height: 1.1; margin: 10px 0 12px; letter-spacing: -.015em; }
	body.pb-show-night .pb-sn .sn-sub { font-size: 18px; margin-bottom: 20px; }
	body.pb-show-night .pb-sn .sn-strip { padding: 0 0 14px; }
	body.pb-show-night .pb-sn .sn-player { border-radius: var(--sn-radius); }
	body.pb-show-night .pb-sn .sn-plat { padding: 16px 0 0; }
	body.pb-show-night .pb-sn .sn-side { display: block; grid-column: 4; grid-row: 1 / span 2; position: relative; z-index: 2; }
	body.pb-show-night .pb-sn .sn-side .sn-card { position: sticky; top: 24px; margin-top: 40px; }
	body.pb-show-night .pb-sn .sn-main { grid-column: 2; padding-top: 6px; padding-bottom: 40px; }
	body.pb-show-night .pb-sn .sn-sec { padding: 38px 0 14px; }
	body.pb-show-night .pb-sn .sn-sec h2 { font-size: 26px; }
	body.pb-show-night .pb-sn .sn-tile b { font-size: clamp(20px, 2.5vw, 34px); }
	body.pb-show-night .pb-sn .sn-venue { grid-template-columns: 1.2fr 1fr; align-items: start; }
	body.pb-show-night .pb-sn .sn-shop { grid-template-columns: 1fr 1fr; }
	body.pb-show-night .pb-sn .sn-bar { display: none; }
}
@media (max-width: 520px) {
	body.pb-show-night .pb-sn .sn-pchip--r { display: none; }
}

/* ---------- round 2: one goal per stage, details folded away ---------- */
body.pb-show-night .pb-sn .sn-when-line { font: 500 14px/1.4 var(--sn-mono); color: #d7a7ff; letter-spacing: .01em; margin: 0 0 18px; overflow-wrap: anywhere; }
body.pb-show-night .pb-sn .sn-hero--final .sn-hero-text { padding-top: 28px; }
body.pb-show-night .pb-sn .sn-hero--final .sn-tiles { margin: 0 0 16px; }
/* final: the art stays sharp, with the countdown along its bottom edge on a fade (event art usually has its title in the middle) */
body.pb-show-night .pb-sn .sn-media--count { position: relative; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: end center; }
body.pb-show-night .pb-sn .sn-media--count > img,
body.pb-show-night .pb-sn .sn-media--count::after { grid-area: 1 / 1; }
body.pb-show-night .pb-sn .sn-media--count::after { content: ""; position: relative; width: 100%; height: 100%; background: linear-gradient(180deg, transparent, rgba(20, 8, 40, .15) 30%, rgba(20, 8, 40, .85)); }
body.pb-show-night .pb-sn .sn-hero--final .sn-media--count .sn-tiles { grid-area: 1 / 1; position: relative; z-index: 1; width: min(88%, 520px); max-width: none; margin: 0 0 24px; }
body.pb-show-night .pb-sn .sn-media--count .sn-tile { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .2); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
@media (max-width: 899px) {
	body.pb-show-night .pb-sn .sn-hero--final .sn-media--count .sn-tiles { width: min(72%, 300px); gap: 5px; margin-bottom: 6px; }
	body.pb-show-night .pb-sn .sn-media--count .sn-tile { padding: 4px 2px; border-radius: 7px; }
	body.pb-show-night .pb-sn .sn-media--count .sn-tile b { font-size: 16px; }
	body.pb-show-night .pb-sn .sn-media--count .sn-tile span { font-size: 8px; margin-top: 3px; }
}
body.pb-show-night .pb-sn .sn-ctas--two { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
body.pb-show-night .pb-sn .sn-fine--hero { color: rgba(255, 255, 255, .8); text-align: center; margin: 10px 0 0; }
body.pb-show-night .pb-sn .sn-lede { color: var(--sn-muted); font-size: 14px; }
body.pb-show-night .pb-sn .sn-sec--tight { padding-top: 18px; padding-bottom: 6px; }
body.pb-show-night .pb-sn .sn-check[hidden] { display: none; }
body.pb-show-night .pb-sn .sn-check--sms { align-items: flex-start; font-size: 12px; line-height: 1.45; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-check--sms input { margin-top: 1px; }

/* quiet text links (buttons that look like links) */
body.pb-show-night .pb-sn .sn-textlink,
body.pb-show-night .pb-sn button.sn-textlink { appearance: none; -webkit-appearance: none; background: none; border: 0; box-shadow: none; padding: 10px 0; margin: 0; min-height: 44px; font: 500 14px/1.3 var(--sn-sans); color: var(--sn-purple); text-decoration: underline; text-underline-offset: 3px; text-transform: none; letter-spacing: 0; cursor: pointer; }
body.pb-show-night .pb-sn .sn-textlink:hover,
body.pb-show-night .pb-sn button.sn-textlink:hover { background: none; color: var(--sn-deep); }
body.pb-show-night .pb-sn .sn-textlink--light,
body.pb-show-night .pb-sn button.sn-textlink--light { display: block; width: 100%; text-align: center; color: #fff; }
body.pb-show-night .pb-sn button.sn-textlink--light:hover { color: #fff; opacity: .85; }
body.pb-show-night .pb-sn .sn-card .sn-textlink { justify-self: center; }

/* giveaway, one line */
body.pb-show-night .pb-sn .sn-gw { display: flex; gap: 12px; align-items: center; background: var(--sn-lav); border: 1px solid var(--sn-lav-2); border-radius: 12px; padding: 12px; }
body.pb-show-night .pb-sn .sn-gw--tap,
body.pb-show-night .pb-sn button.sn-gw--tap { appearance: none; -webkit-appearance: none; width: 100%; margin: 0; font: inherit; text-align: left; text-transform: none; letter-spacing: 0; color: var(--sn-ink); cursor: pointer; box-shadow: none; transition: border-color .15s ease, background .15s ease; }
body.pb-show-night .pb-sn button.sn-gw--tap:hover,
body.pb-show-night .pb-sn button.sn-gw--tap:focus { background: var(--sn-lav-2); border-color: var(--sn-purple); color: var(--sn-ink); }
body.pb-show-night .pb-sn .sn-gw-go { margin-left: auto; flex: none; font: 700 20px/1 var(--sn-mono); color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-gw-text > span { display: block; }
body.pb-show-night .pb-sn .sn-gw-img { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; flex: none; }
body.pb-show-night .pb-sn .sn-gw-text { min-width: 0; font-size: 14px; line-height: 1.4; }
body.pb-show-night .pb-sn .sn-gw-text b { display: block; font: 700 14px/1.3 var(--sn-mono); }
body.pb-show-night .pb-sn .sn-gw-mini { font-size: 14px; margin: 0; }
body.pb-show-night .pb-sn .sn-gw-mini b { font-family: var(--sn-mono); }
body.pb-show-night .pb-sn .sn-gw-mini .sn-textlink { min-height: 0; padding: 0; }
body.pb-show-night .pb-sn #sn-giveaway > .sn-fine { margin: 2px 0 0; }

/* small inline folds ("How entry works", "Add a message for the stream") */
body.pb-show-night .pb-sn .sn-more summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font: 500 14px/1.3 var(--sn-sans); color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-more summary::-webkit-details-marker { display: none; }
body.pb-show-night .pb-sn .sn-more summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); margin-left: 2px; transition: transform .15s ease; }
body.pb-show-night .pb-sn .sn-more[open] summary::after { transform: rotate(45deg); }
body.pb-show-night .pb-sn .sn-more-body { padding: 2px 0 10px; font-size: 14px; }
body.pb-show-night .pb-sn .sn-dots { margin: 0 0 6px 18px; padding: 0; }
body.pb-show-night .pb-sn .sn-dots li { margin: 0 0 4px; }

/* details rows */
body.pb-show-night .pb-sn .sn-sec--folds { padding-top: 22px; }
body.pb-show-night .pb-sn .sn-fold { border-top: 1px solid var(--sn-line); }
body.pb-show-night .pb-sn .sn-fold:last-child { border-bottom: 1px solid var(--sn-line); }
body.pb-show-night .pb-sn .sn-fold summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 56px; padding: 8px 0; }
body.pb-show-night .pb-sn .sn-fold summary::-webkit-details-marker { display: none; }
body.pb-show-night .pb-sn .sn-fold summary h2,
body.pb-show-night .pb-sn .sn-sec .sn-fold summary h2 { font-size: 16px; line-height: 1.3; margin: 0; letter-spacing: 0; }
body.pb-show-night .pb-sn .sn-fold summary::after { content: "+"; font: 400 24px/1 var(--sn-mono); color: var(--sn-purple); flex: none; }
body.pb-show-night .pb-sn .sn-fold[open] summary::after { content: "\2013"; }
body.pb-show-night .pb-sn .sn-fold-body { padding: 0 0 20px; min-width: 0; }
body.pb-show-night .pb-sn .sn-fold-body > p:first-child { font-size: 15px; }

/* share card */
body.pb-show-night .pb-sn .sn-sharecard { border: 1.5px solid var(--sn-lav-2); border-radius: var(--sn-radius); overflow: hidden; background: #fff; }
body.pb-show-night .pb-sn .sn-share-img { width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; background: var(--sn-lav); }
body.pb-show-night .pb-sn .sn-share-body { padding: 14px; display: grid; gap: 10px; }
body.pb-show-night .pb-sn .sn-share-url { display: flex; gap: 8px; align-items: center; min-width: 0; }
body.pb-show-night .pb-sn .sn-share-url code { flex: 1 1 auto; min-width: 0; font: 500 13px/1.3 var(--sn-mono); background: var(--sn-lav); color: var(--sn-deep); padding: 12px; border-radius: var(--sn-radius-sm); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
body.pb-show-night .pb-sn .sn-share-url .sn-btn { flex: none; }
body.pb-show-night .pb-sn .sn-share-body .sn-fine { margin: 0; }


/* live: where else to watch */
body.pb-show-night .pb-sn .sn-plat-label { font: 500 11px/1.2 var(--sn-mono); text-transform: uppercase; letter-spacing: .08em; color: rgba(255, 255, 255, .75); }
body.pb-show-night .pb-sn .sn-hero--live,
body.pb-show-night .pb-sn .sn-hero--after { padding-bottom: 18px; }

/* phone bar: a narrow share button next to the main one */
body.pb-show-night .pb-sn .sn-bar .sn-btn--icon,
body.pb-show-night .pb-sn .sn-bar button.sn-btn--icon { flex-direction: row; }

/* Astra's scroll-to-top button sat on the phone bar. Astra sets its display inline, so hide it with visibility. */
@media (max-width: 899px) {
	body.pb-show-night #ast-scroll-top { visibility: hidden; pointer-events: none; }
}

/* overflow guards: nothing may push the page wider than the screen */
body.pb-show-night .pb-sn .sn-hero-text,
body.pb-show-night .pb-sn .sn-sec,
body.pb-show-night .pb-sn .sn-card { min-width: 0; overflow-wrap: anywhere; }
body.pb-show-night .pb-sn .sn-title { overflow-wrap: anywhere; }

@media (min-width: 600px) {
	body.pb-show-night .pb-sn .sn-amts { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	body.pb-show-night .pb-sn .sn-hero .sn-ctas,
	body.pb-show-night .pb-sn .sn-hero .sn-textlink--light,
	body.pb-show-night .pb-sn .sn-hero .sn-fine--hero { display: none; }
	body.pb-show-night .pb-sn .sn-hero--final .sn-hero-text { padding-top: 0; }
	body.pb-show-night .pb-sn .sn-hero--final .sn-media + .sn-hero-text { padding-top: 26px; }
	body.pb-show-night .pb-sn .sn-hero--final .sn-tiles { max-width: 520px; margin: 22px 0 0; }
	body.pb-show-night .pb-sn .sn-when-line { font-size: 15px; margin: 0; }
	body.pb-show-night .pb-sn .sn-card .sn-amts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.pb-show-night .pb-sn .sn-sharecard:has(.sn-share-img) { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: center; }
	body.pb-show-night .pb-sn .sn-sharecard .sn-share-img { aspect-ratio: 1; height: 100%; }
}

/* ---------- "the show has ended" notice (show-night.js, while someone is watching) ---------- */
body.pb-show-night .pb-sn .sn-notice { position: fixed; left: 50%; bottom: calc(96px + env(safe-area-inset-bottom)); z-index: 40; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 28px); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 12px 16px; border-radius: var(--sn-radius-sm); background: var(--sn-night); color: #fff; box-shadow: var(--sn-shadow); font: 500 14px/1.3 var(--sn-sans); }
body.pb-show-night .pb-sn .sn-notice a { color: var(--sn-yellow); font-weight: 700; text-decoration: underline; }
@media (min-width: 900px) {
	body.pb-show-night .pb-sn .sn-notice { bottom: 24px; }
}

/* ---------- fundraiser stages (2026-10-28): about, three ways, giveaway strip, goal meter, board ---------- */
/* hero: the lede, then (phones) the yellow "Support this project" and the meter on dark */
body.pb-show-night .pb-sn .sn-hero-lede { font-size: 16px; line-height: 1.6; color: #e9dcfb; margin: 0 0 18px; }
body.pb-show-night .pb-sn .sn-hero-fund { gap: 0; }
body.pb-show-night .pb-sn .sn-hero-fund .sn-goal { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .18); color: #fff; }
body.pb-show-night .pb-sn .sn-goal--hero .sn-goal-count,
body.pb-show-night .pb-sn .sn-goal--hero .sn-goal-for,
body.pb-show-night .pb-sn .sn-goal--hero .sn-goal-raised small { color: #cbb8ea; }
body.pb-show-night .pb-sn .sn-goal--hero .sn-goal-bar { background: rgba(255, 255, 255, .18); }
body.pb-show-night .pb-sn .sn-goal--hero .sn-goal-bar i { background: linear-gradient(90deg, #b57bff, var(--sn-magenta)); }

/* goal meter (card, hero, bar, fund section) */
body.pb-show-night .pb-sn .sn-goal { --sn-pct: 0%; min-width: 0; }
body.pb-show-night .pb-sn .sn-goal-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
body.pb-show-night .pb-sn .sn-goal-raised { font: 700 22px/1 var(--sn-mono); letter-spacing: -.01em; }
body.pb-show-night .pb-sn .sn-goal-raised small { font: 500 12px/1 var(--sn-mono); color: var(--sn-muted); margin-left: 6px; letter-spacing: 0; }
body.pb-show-night .pb-sn .sn-goal-count { font: 500 12px/1.2 var(--sn-mono); color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-goal-bar { position: relative; height: 12px; border-radius: 999px; background: var(--sn-lav-2); margin: 10px 0 6px; }
body.pb-show-night .pb-sn .sn-goal-bar i { position: absolute; top: 0; bottom: 0; left: 0; width: var(--sn-pct); border-radius: 999px; background: linear-gradient(90deg, var(--sn-purple), var(--sn-magenta)); }
body.pb-show-night .pb-sn .sn-goal-bar b { display: none; position: absolute; top: -4px; left: var(--sn-pct); width: 3px; height: 24px; transform: translateX(-50%); background: var(--sn-night); border-radius: 2px; }
body.pb-show-night .pb-sn .sn-goal-for { font-size: 12.5px; line-height: 1.45; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-card .sn-goal { margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--sn-line); }

/* desktop card: one row per way, each with a text button */
body.pb-show-night .pb-sn .sn-card--fund h3 { font-size: 17px; }
body.pb-show-night .pb-sn .sn-paths { list-style: none; margin: 2px 0 0; padding: 0; display: grid; gap: 6px; }
body.pb-show-night .pb-sn .sn-paths li { list-style: none; margin: 0; display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 8px 10px; border: 1px solid var(--sn-line); border-radius: var(--sn-radius-sm); font-size: 13px; }
body.pb-show-night .pb-sn .sn-paths b { font: 700 13px/1.3 var(--sn-mono); white-space: nowrap; }
body.pb-show-night .pb-sn .sn-paths a,
body.pb-show-night .pb-sn .sn-paths button { appearance: none; -webkit-appearance: none; margin: 0 0 0 4px; padding: 0; min-height: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--sn-purple); font: 500 12px/1.3 var(--sn-sans); text-transform: none; letter-spacing: 0; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
body.pb-show-night .pb-sn .sn-paths button:hover,
body.pb-show-night .pb-sn .sn-paths button:focus { background: none; color: var(--sn-deep); }

/* phone bar: mini meter + the yellow button */
body.pb-show-night .pb-sn .sn-bar--fund { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; background: #fff; box-shadow: 0 -10px 30px rgba(20, 8, 40, .12); }
body.pb-show-night .pb-sn .sn-bar--fund.sn-bar--1 { grid-template-columns: 1fr; }
body.pb-show-night .pb-sn .sn-bar--fund .sn-btn,
body.pb-show-night .pb-sn .sn-bar--fund button.sn-btn { min-height: 46px; padding: 10px 18px; font-size: 14px; }
body.pb-show-night .pb-sn .sn-goal-t { font: 700 13px/1.2 var(--sn-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.pb-show-night .pb-sn .sn-goal-t small { font: 500 11px/1 var(--sn-mono); color: var(--sn-muted); margin-left: 5px; }
body.pb-show-night .pb-sn .sn-goal--mini .sn-goal-bar { height: 6px; margin: 6px 0 0; }

/* sections on fundraiser stages: one rule under "About", air between the rest */
body.pb-show-night .pb-sn .sn-body--fund .sn-sec + .sn-sec { border-top: 0; }
body.pb-show-night .pb-sn .sn-body--fund .sn-about { border-bottom: 1px solid var(--sn-line); padding-bottom: 26px; }
body.pb-show-night .pb-sn .sn-body--fund .sn-lead { grid-column: 1; grid-row: 2; min-width: 0; }
body.pb-show-night .pb-sn .sn-body--fund .sn-main { grid-row: 3; }
body.pb-show-night .pb-sn .sn-ways > h2,
body.pb-show-night .pb-sn .sn-fund-sec > h2 { margin-bottom: 6px; }
body.pb-show-night .pb-sn .sn-ways > .sn-lede,
body.pb-show-night .pb-sn .sn-fund-sec > .sn-lede { font-size: 15px; margin-bottom: 22px; }

/* about + at a glance */
body.pb-show-night .pb-sn .sn-about { display: grid; gap: 22px; }
body.pb-show-night .pb-sn .sn-about-text { min-width: 0; } /* fills its column: the card sets the width on desktop */
body.pb-show-night .pb-sn .sn-about-text h2 { margin-bottom: 12px; }
body.pb-show-night .pb-sn .sn-about .sn-prose p { font-size: 15.5px; line-height: 1.6; }
body.pb-show-night .pb-sn .sn-about .sn-prose > p:first-child { font-size: 15.5px; }
body.pb-show-night .pb-sn .sn-about .sn-lineup { margin-top: 6px; }

/* three ways */
body.pb-show-night .pb-sn .sn-ways-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
body.pb-show-night .pb-sn .sn-way { position: relative; min-width: 0; display: flex; flex-direction: column; border: 2px solid var(--sn-line); border-radius: var(--sn-radius); padding: 22px 20px 20px; background: #fff; }
body.pb-show-night .pb-sn .sn-way.is-featured { border-color: var(--sn-purple); box-shadow: 0 10px 36px rgba(130, 36, 227, .12); }
/* the tag is the column's title: a band across the top of the card */
body.pb-show-night .pb-sn .sn-way-tag { display: block; margin: -22px -20px 18px; padding: 15px 20px 14px; border-radius: calc(var(--sn-radius) - 2px) calc(var(--sn-radius) - 2px) 0 0; font: 700 17px/1.1 var(--sn-mono); letter-spacing: .06em; text-transform: uppercase; background: var(--sn-lav); color: var(--sn-deep); }
body.pb-show-night .pb-sn .sn-way.is-featured .sn-way-tag { background: var(--sn-purple); color: #fff; }
body.pb-show-night .pb-sn .sn-way-price { font: 700 36px/1 var(--sn-mono); letter-spacing: -.02em; }
body.pb-show-night .pb-sn .sn-way-price small { font: 500 13px/1 var(--sn-mono); color: var(--sn-muted); margin-left: 6px; letter-spacing: 0; }
body.pb-show-night .pb-sn .sn-way h3 { font-size: 17px; line-height: 1.25; margin: 10px 0 4px; }
body.pb-show-night .pb-sn .sn-way .sn-way-what { font-size: 14px; line-height: 1.45; color: var(--sn-muted); margin: 0 0 14px; }
body.pb-show-night .pb-sn .sn-way-list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 7px; font-size: 14px; }
body.pb-show-night .pb-sn .sn-way-list li { list-style: none; margin: 0; display: flex; gap: 9px; align-items: flex-start; }
body.pb-show-night .pb-sn .sn-way-list li::before { content: ""; flex: none; width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-way-opts { display: grid; gap: 6px; margin-bottom: 16px; }
body.pb-show-night .pb-sn .sn-way-opt { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid var(--sn-line); border-radius: var(--sn-radius-sm); font-size: 14px; line-height: 1.35; }
body.pb-show-night .pb-sn .sn-way-opt b { font: 700 14px/1 var(--sn-mono); white-space: nowrap; }
body.pb-show-night .pb-sn .sn-way-opt span { display: block; font-size: 12px; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-way-opt.is-out { color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-perks { list-style: none; margin: 0 0 16px; padding: 0; border: 1px solid var(--sn-line); border-radius: var(--sn-radius-sm); overflow: hidden; }
body.pb-show-night .pb-sn .sn-perks li { list-style: none; margin: 0; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px; align-items: center; padding: 8px 12px; font-size: 13.5px; line-height: 1.35; border-top: 1px solid var(--sn-line); }
body.pb-show-night .pb-sn .sn-perks li:first-child { border-top: 0; }
body.pb-show-night .pb-sn .sn-perks b { font: 700 13px/1 var(--sn-mono); color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-perks em { display: block; font-style: normal; font-size: 12px; color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-perks--support { margin: 4px 0 18px; }
body.pb-show-night .pb-sn .sn-perks--support li { font-size: 14.5px; padding: 10px 14px; }
body.pb-show-night .pb-sn .sn-way-space { flex: 1 1 auto; }
body.pb-show-night .pb-sn .sn-way .sn-way-btn { margin-top: auto; }
body.pb-show-night .pb-sn .sn-way .sn-soldout { min-height: 48px; align-items: center; border-radius: 999px; }

/* the bracket from the three columns down to the giveaway strip */
body.pb-show-night .pb-sn .sn-join { position: relative; height: 34px; margin-top: 2px; }
body.pb-show-night .pb-sn .sn-join::before { content: ""; position: absolute; left: 10%; right: 10%; top: 0; height: 16px; border: 2px solid var(--sn-line); border-top: 0; border-radius: 0 0 14px 14px; }
body.pb-show-night .pb-sn .sn-join::after { content: ""; position: absolute; left: 50%; top: 16px; width: 2px; height: 18px; margin-left: -1px; background: var(--sn-line); }

/* "Every way enters you in the giveaway" */
/* "Every way enters you in the giveaway": a night panel with soft glows; head, grand prize, more; fine print as a footer */
body.pb-show-night .pb-sn .sn-enters { position: relative; isolation: isolate; overflow: hidden; display: grid; gap: 18px; color: #fff; border-radius: var(--sn-radius); padding: 24px 20px 18px; scroll-margin-top: var(--sn-stick); background:
	radial-gradient(120% 90% at 100% 0%, rgba(241, 7, 250, .20) 0, transparent 55%),
	radial-gradient(90% 120% at 0% 100%, rgba(130, 36, 227, .45) 0, transparent 60%),
	var(--sn-night); box-shadow: 0 18px 44px rgba(34, 16, 61, .22); }
body.pb-show-night .pb-sn .sn-enters-eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 500 11px/1 var(--sn-mono); letter-spacing: .14em; text-transform: uppercase; color: #f7b8ff; margin-bottom: 12px; }
body.pb-show-night .pb-sn .sn-enters-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sn-magenta); box-shadow: 0 0 0 4px rgba(241, 7, 250, .2); }
body.pb-show-night .pb-sn .sn-enters h3 { font: 700 24px/1.12 var(--sn-mono); letter-spacing: -.025em; color: #fff; margin: 0 0 14px; max-width: 15ch; text-wrap: balance; }
body.pb-show-night .pb-sn .sn-enters h3::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 14px; border-radius: 3px; background: linear-gradient(90deg, var(--sn-magenta), #b57bff); }
body.pb-show-night .pb-sn .sn-enters p { color: #dccff2; font-size: 15px; line-height: 1.5; margin: 0; max-width: 34ch; }
/* prize and bonus cards: glassy panels on the night */
body.pb-show-night .pb-sn .sn-prize,
body.pb-show-night .pb-sn .sn-enters-note { border: 1px solid rgba(255, 255, 255, .1); background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)); border-radius: 12px; padding: 14px; }
body.pb-show-night .pb-sn .sn-prize { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: center; }
body.pb-show-night .pb-sn .sn-prize-img,
body.pb-show-night .pb-sn .sn-prize-canvas { display: block; width: 96px; height: 96px; border-radius: 8px; object-fit: cover; box-shadow: 0 0 0 1px rgba(255, 255, 255, .18), 0 10px 24px rgba(0, 0, 0, .35); }
body.pb-show-night .pb-sn .sn-prize-canvas { background: radial-gradient(circle at 30% 30%, var(--sn-magenta) 0, transparent 45%), radial-gradient(circle at 70% 65%, #b57bff 0, transparent 40%), linear-gradient(135deg, var(--sn-deep), var(--sn-purple)); }
body.pb-show-night .pb-sn .sn-prize b { display: block; font: 700 17px/1.2 var(--sn-mono); letter-spacing: -.01em; color: #fff; margin-bottom: 5px; }
body.pb-show-night .pb-sn .sn-prize span { display: block; font-size: 13.5px; line-height: 1.5; color: #d2c3ec; }
body.pb-show-night .pb-sn .sn-prize .sn-prize-tag { display: inline-block; margin-bottom: 8px; padding: 4px 8px 3px; border-radius: 999px; background: var(--sn-magenta); color: #fff; font: 700 10px/1.2 var(--sn-mono); letter-spacing: .12em; text-transform: uppercase; }
body.pb-show-night .pb-sn .sn-prize .sn-prize-tag--soft { background: rgba(255, 255, 255, .14); }
body.pb-show-night .pb-sn .sn-prize--grand { border-color: rgba(241, 7, 250, .35); box-shadow: 0 0 0 1px rgba(241, 7, 250, .12), 0 14px 34px rgba(241, 7, 250, .12); }
body.pb-show-night .pb-sn .sn-prize--text { grid-template-columns: minmax(0, 1fr); }
body.pb-show-night .pb-sn .sn-enters-more { display: grid; gap: 10px; }
body.pb-show-night .pb-sn .sn-enters-note { display: flex; gap: 14px; align-items: flex-start; }
body.pb-show-night .pb-sn .sn-enters-note .sn-enters-ico { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font: 700 16px/1 var(--sn-mono); color: #fff; background: linear-gradient(135deg, var(--sn-purple), var(--sn-magenta)); box-shadow: 0 6px 18px rgba(241, 7, 250, .3); }
body.pb-show-night .pb-sn .sn-enters-note b { display: block; font: 700 15px/1.25 var(--sn-mono); color: #fff; margin: 2px 0 5px; }
body.pb-show-night .pb-sn .sn-enters-note div span { display: block; font-size: 13.5px; line-height: 1.5; color: #d2c3ec; }
body.pb-show-night .pb-sn .sn-enters .sn-enters-fine { grid-column: 1 / -1; margin: 2px 0 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 12px; line-height: 1.5; color: #b7a6d6; max-width: none; }
body.pb-show-night .pb-sn .sn-enters .sn-enters-fine a { color: #fff; text-underline-offset: 3px; }
body.pb-show-night .pb-sn .sn-enters .sn-enters-fine a:hover { color: #f7b8ff; }

/* fundraiser: meter + board */
body.pb-show-night .pb-sn .sn-fund { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
body.pb-show-night .pb-sn .sn-fund-meter,
body.pb-show-night .pb-sn .sn-board { border: 2px solid var(--sn-line); border-radius: var(--sn-radius); padding: 22px; min-width: 0; }
body.pb-show-night .pb-sn .sn-fund-meter .sn-goal-raised { font-size: 34px; }
body.pb-show-night .pb-sn .sn-fund-meter .sn-goal-bar { height: 16px; margin: 14px 0 10px; }
body.pb-show-night .pb-sn .sn-fund-meter .sn-goal-bar b { display: block; }
body.pb-show-night .pb-sn .sn-goal-legend { display: flex; justify-content: space-between; gap: 10px; font: 500 12px/1.3 var(--sn-mono); color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-fund-meter .sn-goal-why { margin: 16px 0 16px; font-size: 14px; color: var(--sn-ink); }
body.pb-show-night .pb-sn .sn-board h3 { font-size: 17px; margin-bottom: 4px; }
body.pb-show-night .pb-sn .sn-board .sn-fine { margin-bottom: 12px; }
body.pb-show-night .pb-sn .sn-board ol { list-style: none; margin: 0; padding: 0; }
body.pb-show-night .pb-sn .sn-board li { list-style: none; margin: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--sn-line); font-size: 14.5px; }
body.pb-show-night .pb-sn .sn-board li:first-child { border-top: 0; }
body.pb-show-night .pb-sn .sn-board-rank { font: 700 13px/1 var(--sn-mono); color: var(--sn-muted); }
body.pb-show-night .pb-sn .sn-board li:nth-child(-n+3) .sn-board-rank { color: var(--sn-purple); }
body.pb-show-night .pb-sn .sn-board-amt { font: 700 14px/1 var(--sn-mono); }
body.pb-show-night .pb-sn .sn-board-empty { font-size: 14px; color: var(--sn-muted); margin: 0; }
body.pb-show-night .pb-sn .sn-board-you { margin-top: 12px; padding-top: 12px; border-top: 2px dashed var(--sn-line); font-size: 13px; color: var(--sn-muted); }

/* sponsors as their own section: a row of marks */
body.pb-show-night .pb-sn .sn-logos--row { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin-top: 8px; }
body.pb-show-night .pb-sn .sn-logos--row .sn-logo { aspect-ratio: auto; min-height: 44px; padding: 10px 14px; border: 1px dashed var(--sn-line); border-radius: var(--sn-radius-sm); filter: none; opacity: 1; color: var(--sn-deep); }
body.pb-show-night .pb-sn .sn-logos--row .sn-logo:has(img) { width: min(120px, calc((100% - 28px) / 3)); height: auto; padding: 0; aspect-ratio: 1; filter: grayscale(1); opacity: .8; }
/* logo tiles: the tile lifts onto a soft lavender gradient and a name label rises above it (hover and keyboard focus);
   the grey-out sits on the image so the label stays full colour */
body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img) { overflow: visible; filter: none; opacity: 1; background: #fff; transition: transform .25s cubic-bezier(.2, .7, .3, 1), box-shadow .25s, border-color .25s, background-color .25s; }
body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img) img { filter: grayscale(1); opacity: .78; transition: opacity .25s, filter .25s; }
body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img):hover,
body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img):focus-visible { z-index: 2; transform: translateY(-5px); border-style: solid; border-color: rgba(130, 36, 227, .35); background: linear-gradient(150deg, #fff 0%, #f5f1fb 55%, #efe3fb 100%); box-shadow: 0 12px 26px rgba(90, 41, 140, .16), 0 2px 6px rgba(90, 41, 140, .08); }
body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img):focus-visible { outline: 2px solid var(--sn-magenta); outline-offset: 3px; }
body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img):hover img,
body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img):focus-visible img { filter: none; opacity: 1; }
body.pb-show-night .pb-sn .sn-logo-tip { position: absolute; left: 50%; bottom: calc(100% + 10px); z-index: 3; display: grid; gap: 3px; min-width: max-content; padding: 8px 12px 9px; border-radius: 8px; background: var(--sn-deep); color: #fff; text-align: center; white-space: nowrap; box-shadow: 0 8px 20px rgba(90, 41, 140, .25); pointer-events: none; opacity: 0; transform: translate(calc(-50% + var(--sn-tip-x, 0px)), 6px); transition: opacity .2s, transform .25s cubic-bezier(.2, .7, .3, 1); }
body.pb-show-night .pb-sn .sn-logo-tip::after { content: ""; position: absolute; left: calc(50% - var(--sn-tip-x, 0px)); top: 100%; margin-left: -6px; border: 6px solid transparent; border-top-color: var(--sn-deep); }
body.pb-show-night .pb-sn .sn-logo .sn-logo-tip b { font: 700 13px/1.1 var(--sn-mono); text-transform: none; letter-spacing: 0; color: #fff; }
body.pb-show-night .pb-sn .sn-logo-tip small { font: 500 10px/1 var(--sn-mono); letter-spacing: .1em; text-transform: uppercase; color: #d9c6f5; }
body.pb-show-night .pb-sn .sn-logo:hover .sn-logo-tip,
body.pb-show-night .pb-sn .sn-logo:focus-visible .sn-logo-tip { opacity: 1; transform: translate(calc(-50% + var(--sn-tip-x, 0px)), 0); }
/* --sn-tip-x: set by show-night.js only when a centred label would run past the browser window */
body.pb-show-night .pb-sn .sn-logos--row .sn-logo b { font: 700 15px/1.2 var(--sn-mono); text-transform: none; letter-spacing: 0; }
body.pb-show-night .pb-sn .sn-body--fund .sn-sponsors h2 { margin-bottom: 8px; }
body.pb-show-night .pb-sn .sn-body--fund .sn-sec--folds .sn-folds-h { margin-bottom: 8px; }
/* Sponsors and Good to know: stacked on phones, two columns on desktop (sponsors as wide as three tiles) */
@media (min-width: 900px) {
	body.pb-show-night .pb-sn .sn-pair:has(> .sn-sponsors) { display: grid; grid-template-columns: 388px minmax(0, 1fr); gap: 0 64px; align-items: start; }
}

@media (max-width: 899px) {
	/* phones: the featured column first */
	body.pb-show-night .pb-sn .sn-way.is-featured { order: -1; }
}
@media (min-width: 900px) {
	/* the card sticks beside the hero only; the sections below use the full width */
	body.pb-show-night .pb-sn .sn-body--fund .sn-side { grid-row: 1 / span 2; } /* the card rides beside the hero and the description */
	body.pb-show-night .pb-sn .sn-body--fund .sn-lead { grid-column: 2; }
	body.pb-show-night .pb-sn .sn-body--fund .sn-main { grid-column: 2 / 5; }
	body.pb-show-night .pb-sn .sn-body--fund .sn-sec { padding: 52px 0 14px; }
	body.pb-show-night .pb-sn .sn-body--fund .sn-about { padding: 44px 0 30px; }
	body.pb-show-night .pb-sn .sn-hero-lede { margin: 20px 0 0; font-size: 18px; max-width: 700px; }
	body.pb-show-night .pb-sn .sn-body--fund .sn-about-text { max-width: 700px; }
	body.pb-show-night .pb-sn .sn-body--fund .sn-about .sn-prose p { font-size: 17.5px; line-height: 1.65; }
	body.pb-show-night .pb-sn .sn-ways-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
	body.pb-show-night .pb-sn .sn-ways--2 .sn-ways-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.pb-show-night .pb-sn .sn-ways--1 .sn-ways-grid { max-width: 420px; }
	body.pb-show-night .pb-sn .sn-way { padding: 26px 24px 24px; }
	body.pb-show-night .pb-sn .sn-way-tag { margin: -26px -24px 22px; padding: 17px 24px 16px; font-size: 19px; }
	body.pb-show-night .pb-sn .sn-join::before { left: 16.6%; right: 16.6%; }
	body.pb-show-night .pb-sn .sn-ways--2 .sn-join::before { left: 25%; right: 25%; }
	body.pb-show-night .pb-sn .sn-ways--1 .sn-join { display: none; }
	body.pb-show-night .pb-sn .sn-enters { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr); gap: 22px 28px; align-items: center; padding: 34px 34px 20px; }
	body.pb-show-night .pb-sn .sn-enters:not(:has(.sn-enters-more)) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
	body.pb-show-night .pb-sn .sn-enters h3 { font-size: 28px; }
	body.pb-show-night .pb-sn .sn-prize--grand { grid-template-columns: 116px minmax(0, 1fr); padding: 16px; }
	body.pb-show-night .pb-sn .sn-prize--grand .sn-prize-img,
	body.pb-show-night .pb-sn .sn-prize--grand .sn-prize-canvas { width: 116px; height: 116px; }
	body.pb-show-night .pb-sn .sn-fund { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
	body.pb-show-night .pb-sn .sn-fund--board { grid-template-columns: minmax(0, 560px); }
}
@media (min-width: 1200px) {
	/* giveaway panel in one row: head, grand prize, then mid-show prizes and bonus entries side by side, unboxed */
	body.pb-show-night .pb-sn .sn-enters { grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, 1.6fr); }
	body.pb-show-night .pb-sn .sn-enters-more { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-self: stretch; align-items: center; }
	body.pb-show-night .pb-sn .sn-enters-more .sn-prize--text,
	body.pb-show-night .pb-sn .sn-enters-more .sn-enters-note { align-self: stretch; align-content: center; background: none; border: 0; border-left: 1px solid rgba(255, 255, 255, .12); border-radius: 0; padding: 4px 0 4px 22px; }
	body.pb-show-night .pb-sn .sn-enters-more .sn-enters-note { flex-direction: column; justify-content: center; gap: 10px; }
	body.pb-show-night .pb-sn .sn-enters-more .sn-enters-note .sn-enters-ico { width: auto; height: auto; padding: 4px 8px 3px; border-radius: 999px; font-size: 10px; line-height: 1.2; letter-spacing: .12em; box-shadow: none; }
	body.pb-show-night .pb-sn .sn-enters-more .sn-enters-note b { margin-top: 0; font-size: 17px; line-height: 1.2; }
}

/* ---------- motion ---------- */
@media (prefers-reduced-motion: reduce) {
	body.pb-show-night .pb-sn .sn-livebadge i { animation: none; }
	body.pb-show-night .pb-sn .sn-btn,
	body.pb-show-night .pb-sn .sn-play,
	body.pb-show-night .pb-sn .sn-logo { transition: none; }
	body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img):hover,
	body.pb-show-night .pb-sn .sn-logos .sn-logo:has(img):focus-visible { transform: none; }
	body.pb-show-night .pb-sn .sn-logo-tip { transition: opacity .2s; }
	body.pb-show-night .pb-sn .sn-btn:active { transform: none; }
}

/* ---------- after the show: full-width hero, no side card; support beside the fundraiser state ---------- */
body.pb-show-night .pb-sn .sn-after-grid { display: grid; gap: 8px; }
body.pb-show-night .pb-sn .sn-after-main,
body.pb-show-night .pb-sn .sn-after-side { min-width: 0; }
body.pb-show-night .pb-sn .sn-fund-sec--side .sn-fund { grid-template-columns: minmax(0, 1fr); gap: 16px; }
body.pb-show-night .pb-sn .sn-fund-sec--side h2 { margin-bottom: 14px; }
body.pb-show-night .pb-sn .sn-fund-sec--side .sn-fund-meter .sn-goal-raised { font-size: 28px; }
@media (min-width: 900px) {
	body.pb-show-night .pb-sn .sn-body--after .sn-hero,
	body.pb-show-night .pb-sn .sn-body--after .sn-main { grid-column: 2 / 5; }
	body.pb-show-night .pb-sn .sn-after-grid { grid-template-columns: minmax(0, 1fr) 372px; gap: 44px; align-items: start; }
	body.pb-show-night .pb-sn .sn-body--after .sn-fund-sec--side { padding-top: 0; }
	body.pb-show-night .pb-sn .sn-after-side { padding-top: 34px; }
}
@media (min-width: 900px) {
	body.pb-show-night .pb-sn .sn-sec--folds-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; align-items: start; }
	body.pb-show-night .pb-sn .sn-sec--folds-pair .sn-fold { border-bottom: 1px solid var(--sn-line); }
}
