/* PickAPropFirm Giveaways — front-end.
 * Design language matches the pickapropfirm.com price table:
 * white cards / #e2e8f0 borders / slate text / #045cb4 claim-blue buttons (7px radius).
 * Dark mode follows the site's native html[data-theme="dark"] hook — charcoal
 * surfaces (#141414 / #1f1f1f), never navy; blue reserved for accents.
 */

.papf-wrap {
	/* ---- Light tokens (price-table palette) ---- */
	--p-surface: #ffffff;
	--p-surface-2: #f8fafc;
	--p-border: #e2e8f0;
	--p-border-soft: #f1f5f9;
	--p-text: #0f172a;
	--p-text-2: #334155;
	--p-muted: #64748b;
	--p-faint: #94a3b8;
	--p-tint: #eff6ff;
	--p-tint-border: #dbeafe;
	--p-accent: var(--papf-primary, #045cb4);
	--p-accent-ink: var(--papf-primary, #045cb4); /* accent used AS text */
	--p-ok-bg: #f0fdf4;
	--p-ok-ink: #15803d;
	--p-ok-border: #bbf7d0;
	--p-err-bg: #fef2f2;
	--p-err-ink: #b91c1c;
	--p-err-border: #fecaca;
	--p-input-bg: #ffffff;
	--p-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);

	max-width: 620px;
	margin: 0 auto;
	font-family: inherit;
	color: var(--p-text-2);
}

/* ---- Dark: picked up natively from the site's theme switch ---- */
html[data-theme="dark"] .papf-wrap {
	--p-surface: #141414;
	--p-surface-2: #1f1f1f;
	--p-border: #26272b;
	--p-border-soft: #212225;
	--p-text: #f1f3f5;
	--p-text-2: #d3d6da;
	--p-muted: #b0b4ba;
	--p-faint: #7c828b;
	--p-tint: rgba(4, 92, 180, 0.18);
	--p-tint-border: rgba(4, 92, 180, 0.38);
	--p-accent-ink: #6db2ff; /* readable blue-as-text on charcoal */
	--p-ok-bg: rgba(34, 197, 94, 0.12);
	--p-ok-ink: #4ade80;
	--p-ok-border: rgba(34, 197, 94, 0.35);
	--p-err-bg: rgba(239, 68, 68, 0.12);
	--p-err-ink: #f87171;
	--p-err-border: rgba(239, 68, 68, 0.35);
	--p-input-bg: #1a1b1d;
	--p-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* ---- Main card ---- */
.papf-card {
	background: var(--p-surface);
	border: 1px solid var(--p-border);
	border-radius: 12px;
	padding: 26px 28px;
	box-shadow: var(--p-shadow);
}
.papf-title { margin: 0 0 10px; color: var(--p-text); font-size: 23px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.25; }
.papf-desc { color: var(--p-text-2); font-size: 14.5px; line-height: 1.6; margin-bottom: 20px; }
.papf-desc p { margin: 0 0 10px; }
.papf-note { color: var(--p-muted); font-style: italic; font-size: 14px; }

/* Micro section header — same voice as the price table's column headers */
.papf-eyebrow {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--p-muted);
	margin: 0 0 10px;
}

/* ---- Form ---- */
.papf-field { margin-bottom: 16px; }
.papf-field label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--p-text-2);
	margin-bottom: 6px;
}
.papf-field input, .papf-field select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--p-border);
	border-radius: 8px;
	font-size: 15px;
	box-sizing: border-box;
	background: var(--p-input-bg);
	color: var(--p-text);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.papf-field input::placeholder { color: var(--p-faint); }
.papf-field input:focus, .papf-field select:focus {
	outline: none;
	border-color: var(--papf-primary, #045cb4);
	box-shadow: 0 0 0 3px rgba(4, 92, 180, 0.18);
}

.papf-check { display: flex; gap: 9px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--p-muted); margin: 12px 0; cursor: pointer; }
.papf-check input { margin-top: 2px; accent-color: var(--papf-primary, #045cb4); }
.papf-check a { color: var(--p-accent-ink); font-weight: 600; }

/* Honeypot: visually removed, still in the DOM for bots */
.papf-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 1px; overflow: hidden; }

/* ---- Buttons — the price table's claim button ---- */
.papf-btn {
	display: inline-block;
	width: 100%;
	padding: 12px 18px;
	border: 0;
	border-radius: 7px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	margin-top: 10px;
	background: var(--p-surface-2);
	color: var(--p-text-2);
	border: 1px solid var(--p-border);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	transition: background 0.15s ease, transform 0.06s ease, box-shadow 0.15s ease;
	text-align: center;
	box-sizing: border-box;
	line-height: 1.4;
}
.papf-btn:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08); }
.papf-btn:active { transform: translateY(0); }
.papf-btn-primary {
	background: var(--papf-primary, #045cb4);
	border-color: var(--papf-primary, #045cb4);
	color: #fff;
}
.papf-btn-primary:hover { background: #0350a0; border-color: #0350a0; }
/* Dark mode: hold the brand blue against the site's PA Dark Mode stylesheet,
   whose html[data-theme=dark] button:not(...):not(...) chain out-specifies any
   normal selector — !important is the only clean counter. */
html[data-theme="dark"] .papf-wrap .papf-btn-primary,
html[data-theme="dark"] .papf-modal .papf-btn-primary {
	background: #045cb4 !important;
	border-color: #045cb4 !important;
	color: #ffffff !important;
}
html[data-theme="dark"] .papf-wrap .papf-btn-primary:hover,
html[data-theme="dark"] .papf-modal .papf-btn-primary:hover {
	background: #0350a0 !important;
	border-color: #0350a0 !important;
}
.papf-btn[disabled] { opacity: 0.6; cursor: wait; transform: none; }

.papf-fineprint { text-align: center; font-size: 12.5px; font-weight: 600; color: #43537a; margin-top: 12px; }
html[data-theme="dark"] .papf-wrap .papf-fineprint { color: #b9c2d8; }

/* ---- Messages ---- */
.papf-msg { margin-top: 14px; padding: 11px 14px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.papf-msg-ok { background: var(--p-ok-bg); color: var(--p-ok-ink); border: 1px solid var(--p-ok-border); }
.papf-msg-error { background: var(--p-err-bg); color: var(--p-err-ink); border: 1px solid var(--p-err-border); }

/* ---- Email verification ---- */
.papf-verify { text-align: center; padding: 10px 0; }
.papf-verify h3 { color: var(--p-text); margin: 0 0 6px; }
.papf-verify p { color: var(--p-muted); font-size: 14px; }
.papf-code {
	font-family: 'Courier New', monospace;
	font-weight: 700;
	font-size: 28px;
	letter-spacing: 10px;
	text-align: center;
	width: 250px;
	max-width: 100%;
	padding: 10px;
	border: 1px solid var(--p-border);
	border-radius: 8px;
	margin-bottom: 10px;
	background: var(--p-input-bg);
	color: var(--p-text);
}
.papf-code:focus { outline: none; border-color: var(--papf-primary, #045cb4); box-shadow: 0 0 0 3px rgba(4, 92, 180, 0.18); }

/* ---- Bonus task wall ---- */
.papf-tasks h3 { color: var(--p-text); font-size: 17px; font-weight: 800; margin: 22px 0 2px; }
.papf-total {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	color: var(--p-accent-ink);
	background: var(--p-tint);
	border: 1px solid var(--p-tint-border);
	border-radius: 999px;
	padding: 4px 12px;
	margin: 8px 0 14px;
}
.papf-task {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding: 12px 14px;
	margin-bottom: 10px;
	border: 1px solid var(--p-border);
	border-radius: 10px;
	cursor: pointer;
	background: var(--p-surface);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	transition: border-color 0.15s ease, transform 0.06s ease, box-shadow 0.15s ease;
}
.papf-task:hover { border-color: var(--papf-primary, #045cb4); transform: translateY(-1px); box-shadow: 0 3px 10px rgba(4, 92, 180, 0.10); }
.papf-task-done { cursor: default; background: var(--p-surface-2); }
/* Giveaway over: uncompleted tasks render locked (visible but inert). */
.papf-task-locked { cursor: default; opacity: 0.55; }
.papf-task-locked:hover { border-color: var(--p-border); transform: none; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); }
.papf-task-done:hover { border-color: var(--p-border); transform: none; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); }
.papf-task-done .papf-task-label { color: var(--p-muted); }

/* Platform icon chip */
.papf-task-icon {
	width: 36px;
	height: 36px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	font-size: 16px;
}
.papf-task-icon svg { width: 18px; height: 18px; fill: currentColor; display: block; }
.papf-ic-x { background: #0f172a; color: #fff; }
html[data-theme="dark"] .papf-wrap .papf-ic-x { background: #000; border: 1px solid #333; }
.papf-ic-ig { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); color: #fff; }
.papf-ic-discord { background: #5865f2; color: #fff; }
.papf-ic-visit { background: var(--p-tint); color: var(--p-accent-ink); border: 1px solid var(--p-tint-border); }
.papf-ic-star { background: var(--p-tint); color: var(--p-accent-ink); border: 1px solid var(--p-tint-border); }
.papf-task-done .papf-task-icon { filter: grayscale(0.4); opacity: 0.75; }

.papf-task-label { flex: 1; font-weight: 600; font-size: 14px; color: var(--p-text); min-width: 0; }

/* Entry award pill — blue like a deal chip; flips green when done */
.papf-task-award {
	font-size: 13px;
	font-weight: 700;
	color: var(--p-accent-ink);
	background: var(--p-tint);
	border: 1px solid var(--p-tint-border);
	border-radius: 999px;
	padding: 3px 11px;
	white-space: nowrap;
}
.papf-task-done .papf-task-award { color: var(--p-ok-ink); background: var(--p-ok-bg); border-color: var(--p-ok-border); }

/* ---- Refer-a-friend ---- */
.papf-referral {
	margin: 4px 0 14px;
	padding: 14px;
	border: 1px dashed var(--papf-primary, #045cb4);
	border-radius: 10px;
	background: var(--p-tint);
}
.papf-referral .papf-task-label { font-size: 13.5px; color: var(--p-text); }
.papf-ref-row { display: flex; gap: 8px; margin-top: 10px; }
.papf-ref-input {
	flex: 1;
	padding: 9px 11px;
	border: 1px solid var(--p-tint-border);
	border-radius: 7px;
	font-size: 13px;
	font-family: 'Courier New', monospace;
	font-weight: 700;
	background: var(--p-input-bg);
	color: var(--p-text);
	min-width: 0;
}
.papf-ref-copy { width: auto !important; margin-top: 0 !important; padding: 9px 16px !important; font-size: 13px !important; }

/* ---- Inline username capture (no browser prompt) ---- */
.papf-cap { display: flex; gap: 8px; width: 100%; margin-top: 4px; }
/* Discord two-step: inline "joined? Verify" prompt inside the task row */
.papf-dverify { align-items: center; gap: 10px; flex-wrap: wrap; }
.papf-dverify-note { font-size: 12.5px; color: #43537a; }
html[data-theme="dark"] .papf-wrap .papf-dverify-note { color: #b9c2d8; }
.papf-dverify .papf-cap-go { width: auto; margin: 0; padding: 8px 18px; font-size: 13px; }
.papf-cap-input {
	flex: 1;
	padding: 9px 11px;
	border: 1px solid var(--p-border);
	border-radius: 7px;
	font-size: 14px;
	background: var(--p-input-bg);
	color: var(--p-text);
	min-width: 0;
}
.papf-cap-input:focus { outline: none; border-color: var(--papf-primary, #045cb4); box-shadow: 0 0 0 3px rgba(4, 92, 180, 0.18); }
.papf-cap-go { width: auto !important; margin-top: 0 !important; padding: 9px 18px !important; font-size: 13px !important; }

/* ---- Latest Offers — same chrome as the giveaway card ---- */
.papf-offers {
	margin: 0 0 16px;
	background: var(--p-surface, #fff);
	border: 1px solid var(--p-border, #e2e8f0);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: var(--p-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
}
.papf-offers-head {
	background: var(--p-tint, #eff6ff);
	border-bottom: 1px solid var(--p-tint-border, #dbeafe);
	color: var(--p-accent-ink, #045cb4);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 11.5px;
	font-weight: 700;
	padding: 9px 18px;
}
.papf-offers-body { padding: 8px 18px 12px; }
.papf-offers p { margin: 6px 0; color: var(--p-text-2, #334155); font-size: 13.5px; line-height: 1.55; }
.papf-offers a { color: var(--p-accent-ink, #045cb4); font-weight: 600; }

/* ---- Official Rules popup: light document shadowbox ---- */
.papf-rules-overlay { position: fixed; inset: 0; background: rgba(1, 4, 10, 0.72); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.papf-rules-box { position: relative; background: #ffffff; color: #14274e; width: 100%; max-width: 720px; max-height: 84vh; border-radius: 14px; box-shadow: 0 24px 70px rgba(1, 4, 10, 0.45); display: flex; flex-direction: column; overflow: hidden; }
.papf-rules-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 22px; border-bottom: 1px solid #e2e8f4; }
.papf-rules-title { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #14274e; }
.papf-rules-close { background: none; border: 0; cursor: pointer; font-size: 22px; line-height: 1; color: #8a97b1; padding: 4px 6px; }
.papf-rules-close:hover { color: #14274e; }
.papf-rules-body { padding: 18px 26px 26px; overflow-y: auto; font-size: 14px; line-height: 1.65; color: #334155; }
/* Doubled-up selectors so theme dark-mode element rules (html[data-theme] p/h3
   { color: … }) can never repaint the document's text out from under us. */
.papf-rules-overlay .papf-rules-body p, .papf-rules-overlay .papf-rules-body li { color: #334155; }
.papf-rules-overlay .papf-rules-body h1, .papf-rules-overlay .papf-rules-body h2, .papf-rules-overlay .papf-rules-body h3 { color: #14274e; line-height: 1.3; }
.papf-rules-overlay .papf-rules-body a { color: var(--papf-primary, #045cb4); }
.papf-rules-foot { padding: 20px 0 4px; text-align: center; border-top: 1px solid #eef1f6; margin-top: 22px; }
/* Dark mode: the document becomes a charcoal card matching the site's dark
   theme (the popup mounts on <body>, outside .papf-wrap, so it needs its own
   dark rules). */
html[data-theme="dark"] .papf-rules-box { background: #1f1f1f; color: #d3d6da; }
html[data-theme="dark"] .papf-rules-head { border-color: #3a3a3a; }
html[data-theme="dark"] .papf-rules-title { color: #f1f3f5; }
html[data-theme="dark"] .papf-rules-close:hover { color: #f1f3f5; }
html[data-theme="dark"] .papf-rules-body,
html[data-theme="dark"] .papf-rules-overlay .papf-rules-body p,
html[data-theme="dark"] .papf-rules-overlay .papf-rules-body li { color: #c9ced6; }
html[data-theme="dark"] .papf-rules-overlay .papf-rules-body h1,
html[data-theme="dark"] .papf-rules-overlay .papf-rules-body h2,
html[data-theme="dark"] .papf-rules-overlay .papf-rules-body h3 { color: #f1f3f5; }
html[data-theme="dark"] .papf-rules-overlay .papf-rules-body a { color: #6db2ff; }
html[data-theme="dark"] .papf-rules-foot { border-color: #3a3a3a; }
.papf-rules-foot .papf-rules-closebtn { width: auto; padding: 10px 30px; margin-top: 0; }
@media (max-width: 560px) { .papf-rules-overlay { padding: 10px; } .papf-rules-box { max-height: 92vh; } .papf-rules-body { padding: 14px 16px 20px; } }

/* ---- Winner shadowbox — certificate look: deep navy, #51a7f8 accents ---- */
.papf-modal-overlay { position: fixed; inset: 0; background: rgba(1, 4, 10, 0.88); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; overflow-y: auto; }
.papf-modal {
	position: relative;
	background:
		radial-gradient(ellipse 80% 50% at 80% 0%, rgba(37, 99, 235, 0.3), transparent 60%),
		linear-gradient(160deg, #081527 0%, #040c1b 55%, #02060e 100%);
	color: #eef3fa;
	border: 1px solid rgba(81, 167, 248, 0.35);
	border-radius: 16px;
	padding: 32px 26px;
	max-width: 520px;
	width: 100%;
	max-height: 92vh;
	overflow-y: auto;
	text-align: center;
	box-shadow: 0 0 70px rgba(37, 99, 235, 0.4);
	font-family: Inter, -apple-system, Arial, sans-serif;
}
.papf-modal-close { position: absolute; top: 10px; right: 14px; background: none; border: 0; color: #62809f; font-size: 26px; cursor: pointer; line-height: 1; }
.papf-modal-close:hover { color: #fff; }
.papf-modal-title { margin: 0 0 4px; color: #fff; font-size: 22px; font-weight: 800; }
.papf-mlogo { max-height: 42px; max-width: 260px; margin: 2px auto 10px; display: block; }
.papf-modal-sub { color: #ffffff; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 5px; }
.papf-modal-sub2 { color: #ffffff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; margin-bottom: 20px; } /* GIVEAWAY DRAW on its own line */
.papf-mslot {
	background: rgba(2, 8, 18, 0.9);
	border: 1px solid rgba(81, 167, 248, 0.55);
	border-radius: 14px;
	padding: 14px;
	margin: 0 auto 18px;
	max-width: 360px;
	box-shadow: 0 0 34px rgba(37, 99, 235, 0.35), inset 0 0 24px rgba(0, 0, 0, 0.75);
}
.papf-mreel { height: 56px; overflow: hidden; border-radius: 8px; background: #060f1f; position: relative; }
.papf-mreel::before, .papf-mreel::after { content: ''; position: absolute; left: 0; right: 0; height: 14px; z-index: 2; pointer-events: none; }
.papf-mreel::before { top: 0; background: linear-gradient(#060f1f, transparent); }
.papf-mreel::after { bottom: 0; background: linear-gradient(transparent, #060f1f); }
.papf-mtape { transition: transform 3.8s cubic-bezier(0.12, 0.75, 0.15, 1); }
.papf-mname { height: 56px; line-height: 56px; font-size: 20px; font-weight: 800; color: #7fb4ee; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 12px; }
.papf-mname-winner { color: #fff; text-shadow: 0 0 18px rgba(81, 167, 248, 0.9); }
.papf-mprize { font-size: 16px; color: #51a7f8; font-weight: 700; margin-bottom: 18px; text-transform: uppercase; letter-spacing: 0.03em; }
.papf-confetti { position: fixed; top: -10px; font-size: 20px; animation: papf-fall linear forwards; z-index: 100000; pointer-events: none; }
.papf-confetti-logo { height: auto; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45)); } /* per-giveaway logo confetti (width set inline, 22–38px) */
@keyframes papf-fall { to { transform: translateY(105vh) rotate(720deg); opacity: 0.8; } }

/* ---- Small screens ---- */
@media (max-width: 480px) {
	.papf-card { padding: 20px 16px; }
	.papf-title { font-size: 20px; }
	.papf-offers-head, .papf-offers-body { padding-left: 14px; padding-right: 14px; }
}

.papf-offers-below { margin: 16px 0 0; }

/* ================= v2 page — "original look" ================= */
/* ============ v2 = ONE container, styled like the live page's hero card ============
   The whole giveaway (topband + headline + intro + schedule + lockup + GIVEAWAY +
   form + offers + winners) lives in a single card with the site's off-white
   #fafaff background and the soft blue border — full content-column width. */
.papf-wrap.papf-v2 {
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	background: #fafaff;
	border: 1px solid rgba(2, 143, 198, 0.08);
	border-radius: 16px;
	padding: 0 44px 40px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
html[data-theme="dark"] .papf-wrap.papf-v2 { background: var(--p-surface); border-color: var(--p-border); }

/* Old page-content hero mock (pre-plugin leftover) — the plugin renders the
   real hero now, so the mock never doubles up on shortcode pages. */
.papf-giveaway-hero-mock { display: none !important; }

/* Topband strip spans the card edge-to-edge at the very top. */
.papf-v2 .papf-topband { margin: 0 -44px 28px; }

/* Hero block sits INSIDE the container — no separate card chrome. */
.papf-v2 .papf-hero { background: transparent; border: 0; box-shadow: none; margin: 0; padding: 0; }
.papf-v2 .papf-hero .papf-schedcard { max-width: 640px; margin-bottom: 30px; }

/* The entry card melts into the sheet — fields sit on the off-white directly. */
.papf-v2 .papf-card { background: transparent; border: 0; box-shadow: none; padding: 0; }

/* Admin-only preview banner (?papf_preview=ID) */
.papf-preview-band { max-width: 900px; margin: 0 auto 14px; padding: 10px 16px; border-radius: 10px; background: #fef3c7; border: 1px solid #f59e0b; color: #92400e; font-size: 13px; font-weight: 600; text-align: center; }

/* Top band: GIVEAWAYS · LIVE NOW (design handoff: flex strip, pulsing dot) */
.papf-topband { display: flex; align-items: center; justify-content: center; gap: 16px; text-transform: uppercase; padding: 16px 26px; border-bottom: 1px solid var(--p-border-soft); margin-bottom: 26px; }
.papf-tb-word { font-size: 17px; font-weight: 500; letter-spacing: 0.12em; color: #1e3a8a; }
html[data-theme="dark"] .papf-wrap .papf-tb-word { color: var(--p-accent-ink); }
.papf-live { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; }
.papf-live-on { color: #16a34a; }
html[data-theme="dark"] .papf-wrap .papf-live-on { color: #4ade80; }
.papf-live-on i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; animation: papf-pulse-dot 1.4s ease-in-out infinite; }
@keyframes papf-pulse-dot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.45; transform: scale(0.8); } }
.papf-live-soon { color: var(--p-accent-ink); }
.papf-live-off { color: var(--p-faint); }

/* Headline + intro */
.papf-headline {
	text-align: center;
	font-size: clamp(34px, 6.6vw, 52px);
	font-weight: 800;
	letter-spacing: -0.015em;
	line-height: 1.12;
	margin: 6px auto 16px;
	max-width: 760px;
	background: linear-gradient(100deg, #2e73c8 0%, #14315e 90%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
html[data-theme="dark"] .papf-wrap .papf-headline { background: linear-gradient(100deg, #6db2ff 0%, #e8eef5 90%); -webkit-background-clip: text; background-clip: text; }
.papf-intro { text-align: center; color: var(--p-text-2); font-size: 18px; line-height: 1.6; max-width: 700px; margin: 0 auto 26px; }

/* Giveaway Schedule card (Now / Next) */
/* ---- Giveaway Schedule: raffle-ticket design (design handoff, pixel spec) ---- */
.papf-schedcard.papf-gs { background: transparent; border: 0; border-radius: 14px; box-shadow: none; max-width: 640px; margin: 0 auto 30px; padding: 24px 26px 26px; }
.papf-sched-solo .papf-schedcard { margin: 0 auto; }
.papf-gs-title { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.papf-gs-rule { flex: 1; height: 1px; }
.papf-gs-rule-l { background: linear-gradient(90deg, transparent, #c3cddf); }
.papf-gs-rule-r { background: linear-gradient(90deg, #c3cddf, transparent); }
.papf-gs-heading { font-size: 15px; font-weight: 700; letter-spacing: 0.18em; color: #14274e; text-transform: uppercase; white-space: nowrap; }
.papf-gs-heading i { font-style: normal; color: #2469e0; font-size: 13px; }
.papf-gs-row { display: flex; flex-wrap: wrap; gap: 18px; }
.papf-gs-ticket { flex: 1 1 250px; min-width: 250px; display: flex; border-radius: 10px; overflow: hidden; text-align: left; }
.papf-gs-body { flex: 1; padding: 16px; min-width: 0; }
.papf-gs-status { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; display: flex; align-items: center; gap: 6px; }
.papf-gs-name { font-size: 19px; font-weight: 700; margin-top: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.papf-gs-date { font-size: 12px; margin-top: 2px; }
.papf-gs-stub { flex: 0 0 46px; display: flex; align-items: center; justify-content: center; writing-mode: vertical-rl; font-size: 10px; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase; }
/* Active ticket — filled accent blue, tilted, live dot pulsing */
.papf-gs-now { transform: rotate(-0.7deg); background: #045cb4; color: #ffffff; box-shadow: 0 3px 10px rgba(20, 39, 78, 0.16); }
.papf-gs-now .papf-gs-status { color: #cfe0fb; }
.papf-gs-now .papf-gs-date { color: #cfe0fb; }
.papf-gs-now .papf-gs-stub { color: #cfe0fb; border-left: 2px dashed rgba(255, 255, 255, 0.6); }
.papf-gs-dot { width: 6px; height: 6px; border-radius: 50%; background: #ffffff; animation: papf-gs-pulse 2s ease-out infinite; }
@keyframes papf-gs-pulse {
	0% { box-shadow: 0 0 0 0 rgba(4, 92, 180, 0.45); }
	70% { box-shadow: 0 0 0 8px rgba(4, 92, 180, 0); }
	100% { box-shadow: 0 0 0 0 rgba(4, 92, 180, 0); }
}
@media (prefers-reduced-motion: reduce) { .papf-gs-dot { animation: none; } }
/* Upcoming ticket — muted ghost */
.papf-gs-next { transform: rotate(0.7deg); background: #f8fafd; border: 1.5px solid #dfe6f2; }
.papf-gs-next .papf-gs-status { color: #8a97b1; }
.papf-gs-next .papf-gs-name { color: #43537a; }
.papf-gs-next .papf-gs-date { color: #5b6b8c; }
.papf-gs-next .papf-gs-stub { color: #a3aec4; border-left: 2px dashed #dfe6f2; }
/* Dark mode: card + ghost ticket go charcoal; the blue ticket stays blue. */
html[data-theme="dark"] .papf-wrap .papf-schedcard.papf-gs { background: transparent; box-shadow: none; }
html[data-theme="dark"] .papf-wrap .papf-gs-heading { color: #e8eef5; }
html[data-theme="dark"] .papf-wrap .papf-gs-heading i { color: #6db2ff; }
html[data-theme="dark"] .papf-wrap .papf-gs-rule-l { background: linear-gradient(90deg, transparent, #3a4358); }
html[data-theme="dark"] .papf-wrap .papf-gs-rule-r { background: linear-gradient(90deg, #3a4358, transparent); }
html[data-theme="dark"] .papf-wrap .papf-gs-next { background: #262626; border-color: #3a3a3a; }
html[data-theme="dark"] .papf-wrap .papf-gs-next .papf-gs-name { color: #d6dce6; }
html[data-theme="dark"] .papf-wrap .papf-gs-next .papf-gs-date { color: #9aa5b8; }

/* Lockup: PickAPropFirm x Firm */
.papf-lockup { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 4px 0 4px; flex-wrap: wrap; }
.papf-lockup img { max-height: 38px; width: auto; }
/* The FIRM's logo renders big — like the live page's "PICKAPROPFIRM tradeify"
   lockup where the firm mark matches the wordmark's weight. Class-based so the
   light AND dark variants size identically (a :last-child rule only ever hit
   one of the two). Per-promotion size %: inline style from firm_logo_scale. */
.papf-lockup img.papf-firmlogo { max-height: 72px; max-width: 280px; }
.papf-lockup-x { font-size: 15px; font-weight: 700; color: var(--p-text-2); }
.papf-lockup-site, .papf-lockup-firm { display: flex; align-items: center; justify-content: center; gap: 18px; }
.papf-lockup-collab { display: none; } /* mobile-only separator line */
/* Mobile: reorder the header to PAPF logo → GIVEAWAY → IN COLLABORATION WITH
   → firm logo. display:contents lifts the lockup pieces into the header flex
   column so the giant GIVEAWAY can slot between them. */
@media (max-width: 560px) {
	.papf-header:not(.papf-header-custom) { display: flex; flex-direction: column; }
	.papf-header .papf-lockup { display: contents; }
	.papf-header .papf-hero { order: 0; }
	.papf-lockup-site { order: 1; margin-top: 6px; }
	.papf-header .papf-giant { order: 2; }
	.papf-lockup-collab { order: 3; display: block; text-align: center; font-size: 10px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #8a97b1; margin: 2px 0 8px; }
	html[data-theme="dark"] .papf-wrap .papf-lockup-collab { color: #7c828b; }
	.papf-lockup-firm { order: 4; margin-bottom: 10px; }
	.papf-lockup-x { display: none; } /* web only */
	/* GIVEAWAY no wider than the PAPF wordmark above it: measured at Poppins
	   600, 46px ≈ the wordmark's 250px width; 13.5vw keeps parity as tiny
	   screens shrink the logo too. */
	.papf-header .papf-giant { font-size: min(46px, 13.5vw); }
}
.papf-lockup-name { font-size: 20px; font-weight: 800; color: var(--p-text); letter-spacing: 0.02em; }

/* Giant GIVEAWAY display */
.papf-giant {
	text-align: center;
	font-family: Poppins, Montserrat, Inter, -apple-system, Arial, sans-serif;
	font-size: clamp(54px, 11.5vw, 92px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.05;
	color: var(--papf-primary, #045cb4);
	margin: 2px 0 10px;
}
html[data-theme="dark"] .papf-wrap .papf-giant { color: #6db2ff; }
.papf-subtitle { font-family: Montserrat, Inter, sans-serif; }
.papf-subtitle { text-align: center; font-size: 19px; font-weight: 600; color: var(--p-text-2); margin: 0 0 24px; }

/* Uppercase prize + no-purchase lines */
/* Match the live page: prize + no-purchase are the bold uppercase lines. */
.papf-prizeline { text-align: center; font-weight: 700; font-size: 15.5px; letter-spacing: 0.01em; text-transform: uppercase; color: var(--p-text); margin: 4px auto 12px; max-width: 620px; }
.papf-nopurchase { text-align: center; font-weight: 600; font-size: 13px; letter-spacing: 0.02em; text-transform: uppercase; color: var(--p-muted); margin-bottom: 22px; }
/* Description: left-aligned, wide — exactly like the live page's copy block. */
.papf-v2 .papf-desc { max-width: none; margin: 0 0 26px; text-align: left; font-size: 15px; line-height: 1.7; }
.papf-v2 .papf-card { margin-bottom: 0; }
@media (max-width: 640px) {
	.papf-wrap.papf-v2 { padding: 0 18px 28px; border-radius: 12px; }
	.papf-v2 .papf-topband { margin: 0 -18px 22px; }
}

/* Recent winners strip */
/* ---- Recent Winners: mini ticket grid under the ✦ lockup (design handoff) ---- */
.papf-winners.papf-rw { margin-top: 26px; background: #ffffff; border: 0; border-radius: 14px; box-shadow: 0 1px 3px rgba(20, 39, 78, 0.08); padding: 24px 26px 26px; }
/* auto-FILL (not auto-fit): empty tracks are preserved, so one or two tickets
   keep normal card width instead of stretching across the whole row. */
.papf-rw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 12px; }
.papf-rw-ticket { display: flex; border-radius: 9px; overflow: hidden; border: 1.5px solid #dfe6f2; background: #f8fafd; }
.papf-rw-t0 { transform: rotate(-0.4deg); }
.papf-rw-t1 { transform: rotate(0.4deg); }
.papf-rw-t2 { transform: rotate(0.3deg); }
.papf-rw-t3 { transform: rotate(-0.3deg); }
.papf-rw-stub { width: 42px; background: #045cb4; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.papf-rw-stub span { writing-mode: vertical-rl; font-size: 8px; font-weight: 700; letter-spacing: 0.24em; color: #cfe0fb; text-transform: uppercase; }
.papf-rw-divider { width: 0; border-left: 2px dashed #dfe6f2; }
.papf-rw-body { padding: 11px 14px; flex: 1; min-width: 0; }
.papf-rw-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.papf-rw-name { font-weight: 700; font-size: 14px; color: #14274e; white-space: nowrap; }
.papf-rw-date { font-size: 10px; color: #43537a; font-weight: 700; font-family: 'Courier New', monospace; white-space: nowrap; }
.papf-rw-prize { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 12px; color: #045cb4; font-weight: 600; margin-top: 2px; }
.papf-rw-prizetext { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.papf-rw-venue { flex: none; font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #8a97b1; white-space: nowrap; } /* giveaway venue, anchored right */
html[data-theme="dark"] .papf-wrap .papf-rw-venue { color: #7c828b; }
html[data-theme="dark"] .papf-wrap .papf-winners.papf-rw { background: #1f1f1f; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
html[data-theme="dark"] .papf-wrap .papf-rw-ticket { background: #262626; border-color: #3a3a3a; }
html[data-theme="dark"] .papf-wrap .papf-rw-divider { border-color: #3a3a3a; }
html[data-theme="dark"] .papf-wrap .papf-rw-name { color: #e8eef5; }
html[data-theme="dark"] .papf-wrap .papf-rw-date { color: #9aa5b8; }
html[data-theme="dark"] .papf-wrap .papf-rw-prize { color: #6db2ff; }

/* Countdown tiles: DAYS / HOURS / MIN / SEC */
/* ---- Giveaway Countdown (design handoff): one slim white card — stacked
   lead label | DAYS | HRS | MIN | SEC, hairline dividers, seconds in accent ---- */
.papf-count { display: flex; align-items: center; max-width: 440px; margin: 4px auto 18px; background: #ffffff; border-radius: 10px; padding: 7px 4px; box-sizing: border-box; }
.papf-count-lead { padding: 0 12px; border-right: 1px solid #eef1f6; align-self: stretch; display: flex; align-items: center; font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #43537a; line-height: 1.35; text-align: left; }
.papf-count-cell { flex: 1; display: flex; align-items: baseline; justify-content: center; gap: 4px; }
.papf-count-cell b { font-size: 17px; font-weight: 700; color: #14274e; font-variant-numeric: tabular-nums; line-height: 1.1; }
.papf-count-cell span { font-size: 9px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #8a97b1; }
.papf-count-sec b, .papf-count-sec span { color: var(--papf-primary, #045cb4); }
.papf-count-hair { width: 1px; background: #eef1f6; align-self: stretch; margin: 3px 0; }
@media (max-width: 300px) { .papf-count-lead { border-right: 0; padding: 0 8px; } }
/* Web: the countdown floats at the top-right of the Entry Slip, inline with
   the GIVEAWAY ENTRY SLIP header — absolutely positioned so it never moves
   the header text or its gradient bar. Mobile keeps it in flow above the title. */
@media (min-width: 561px) {
	.papf-slip { position: relative; }
	.papf-slip .papf-count { position: absolute; top: 15px; right: 34px; width: min(340px, 46%); margin: 0; }
}
html[data-theme="dark"] .papf-wrap .papf-count { background: #1f1f1f; }
html[data-theme="dark"] .papf-wrap .papf-count-lead { color: #b9c2d8; border-color: #3a3a3a; }
html[data-theme="dark"] .papf-wrap .papf-count-cell b { color: #e8eef5; }
html[data-theme="dark"] .papf-wrap .papf-count-hair { background: #3a3a3a; }

/* Light/dark logo swap in the lockup (Theme → Brand logos) */
.papf-logo-dark { display: none; }
html[data-theme="dark"] .papf-wrap .papf-logo-light { display: none; }
html[data-theme="dark"] .papf-wrap .papf-logo-dark { display: inline-block; }

/* ================= Eligibility — radio-card rows (design handoff) ================= */
.papf-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

fieldset.papf-elig { margin: 6px 0 18px; padding: 18px; border: 1px solid #e2e8f2; border-radius: 14px; background: #ffffff; min-width: 0; }
.papf-eg__kickrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.papf-eg__kicker { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--papf-primary, #045cb4); }
.papf-eg__free { font-size: 11px; font-weight: 700; color: #1a7f4b; background: #e8f7ee; border-radius: 999px; padding: 3px 10px; }
.papf-eg__title { font-size: 17px; font-weight: 700; color: #14274e; margin-top: 6px; }
.papf-eg__sub { font-size: 13px; color: #5b6b8c; margin-top: 3px; }
.papf-eg__rows { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.papf-eg__row { position: relative; display: block; border: 1.5px solid #e2e8f2; border-radius: 12px; padding: 14px 16px; cursor: pointer; background: #ffffff; transition: border-color 0.15s ease, background 0.15s ease; }
.papf-eg__row:has(.papf-eg__in:checked) { border-color: var(--papf-primary, #045cb4); background: rgba(4, 92, 180, 0.04); }
.papf-eg__in { position: absolute; opacity: 0; pointer-events: none; }
.papf-eg__rowline { display: flex; align-items: center; gap: 12px; }
.papf-eg__tile { width: 34px; height: 34px; border-radius: 9px; background: #eef1f6; color: #14274e; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.papf-eg__tile svg { width: 18px; height: 18px; fill: currentColor; display: block; }
.papf-eg__row:has(.papf-eg__in:checked) .papf-eg__tile { background: var(--papf-primary, #045cb4); color: #ffffff; }
.papf-eg__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.papf-eg__name { font-size: 14px; font-weight: 700; color: #14274e; }
.papf-eg__ctx { font-size: 12px; color: #5b6b8c; }
.papf-eg__dot { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #c3cddf; flex: none; box-sizing: border-box; background: #ffffff; }
.papf-eg__row:has(.papf-eg__in:checked) .papf-eg__dot { border: 6px solid var(--papf-primary, #045cb4); }
.papf-eg__in:focus-visible ~ .papf-eg__rowline .papf-eg__dot { outline: 2px solid var(--papf-primary, #045cb4); outline-offset: 2px; }
/* Expanded area lives INSIDE the selected row */
.papf-eg__expand { display: none; margin-top: 12px; }
.papf-eg__in:checked ~ .papf-eg__expand { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.papf-eg__btn { flex: none; background: var(--papf-primary, #045cb4); color: #ffffff !important; text-decoration: none; font-size: 13px; font-weight: 700; padding: 10px 16px; border-radius: 8px; white-space: nowrap; }
.papf-eg__btn:hover { background: #0350a0; }
.papf-eg__user { flex: 1; min-width: 170px; border: 1.5px solid #d5ddeb; border-radius: 8px; padding: 9px 12px; font-size: 14px; color: #0f172a; background: #ffffff; box-sizing: border-box; }
.papf-eg__user:focus { outline: none; border-color: var(--papf-primary, #045cb4); box-shadow: 0 0 0 3px rgba(4, 92, 180, 0.14); }
.papf-eg__user.papf-elig--error { border-color: #dc2626; }
.papf-eg__note { flex-basis: 100%; font-size: 12.5px; color: #43537a; }

/* Mobile (<560px): expanded area stacks full width, button first */
@media (max-width: 559px) {
	.papf-eg__in:checked ~ .papf-eg__expand { flex-direction: column; align-items: stretch; gap: 8px; }
	.papf-eg__btn { text-align: center; padding: 11px 16px; }
	.papf-eg__user { min-width: 0; }
}

/* Dark mode */
html[data-theme="dark"] .papf-wrap fieldset.papf-elig { background: #1f1f1f; border-color: #2e2f33; }
html[data-theme="dark"] .papf-wrap .papf-eg__kicker { color: #6db2ff; }
html[data-theme="dark"] .papf-wrap .papf-eg__free { color: #4ade80; background: #0f1f14; }
html[data-theme="dark"] .papf-wrap .papf-eg__title { color: #f1f3f5; }
html[data-theme="dark"] .papf-wrap .papf-eg__sub, html[data-theme="dark"] .papf-wrap .papf-eg__ctx { color: #a9b1c2; }
html[data-theme="dark"] .papf-wrap .papf-eg__row { background: #141414; border-color: #2e2f33; }
html[data-theme="dark"] .papf-wrap .papf-eg__row:has(.papf-eg__in:checked) { border-color: #3b7ce8; background: rgba(59, 124, 232, 0.12); }
html[data-theme="dark"] .papf-wrap .papf-eg__tile { background: #26272b; color: #e8eef5; }
html[data-theme="dark"] .papf-wrap .papf-eg__row:has(.papf-eg__in:checked) .papf-eg__tile { background: #3b7ce8; color: #ffffff; }
html[data-theme="dark"] .papf-wrap .papf-eg__name { color: #f1f3f5; }
html[data-theme="dark"] .papf-wrap .papf-eg__dot { background: #141414; border-color: #4a4d55; }
html[data-theme="dark"] .papf-wrap .papf-eg__row:has(.papf-eg__in:checked) .papf-eg__dot { border-color: #3b7ce8; }
html[data-theme="dark"] .papf-wrap .papf-eg__user { color: #f5f5f5; background: #1a1b1d; border-color: #2e4a6b; }
html[data-theme="dark"] .papf-wrap .papf-eg__user:focus { border-color: #6db2ff; }
html[data-theme="dark"] .papf-wrap .papf-eg__user.papf-elig--error { border-color: #f87171; }
html[data-theme="dark"] .papf-wrap .papf-eg__note { color: #b9c2d8; }

@media (prefers-reduced-motion: reduce) {
	.papf-eg__row { transition: none; }
}

/* Shadowbox certificate + button row */
.papf-mcert { margin: 4px auto 16px; max-width: 440px; opacity: 0; transform: translateY(8px); transition: opacity 0.6s ease, transform 0.6s ease; }
.papf-mcert.papf-mcert-show { opacity: 1; transform: none; }
.papf-mcert img { width: 100%; border-radius: 8px; box-shadow: 0 14px 40px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(81, 167, 248, 0.3); }
.papf-mcert-hint { font-size: 11.5px; color: #7d9cc4; margin-top: 7px; }
.papf-mbtns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; width: 100%; margin: 2px auto 0; }
.papf-mbtns[hidden] { display: none; } /* display:flex would otherwise defeat [hidden] — buttons must pop WITH the cert, not before */
.papf-mbtns .papf-btn { flex: 0 0 auto; width: auto; margin: 0; padding: 11px 18px; font-size: 13.5px; }
.papf-mbtns .papf-btn:not(.papf-btn-primary) { background: rgba(81, 167, 248, 0.1); border: 1px solid rgba(81, 167, 248, 0.4); color: #eef3fa; }
/* Theme link styles must never restyle the modal buttons — text stays WHITE,
   including on hover/focus (some themes darken a:hover into unreadable). */
.papf-modal .papf-mbtns a.papf-btn,
.papf-modal .papf-mbtns a.papf-btn:link,
.papf-modal .papf-mbtns a.papf-btn:visited,
.papf-modal .papf-mbtns a.papf-btn:hover,
.papf-modal .papf-mbtns a.papf-btn:focus,
.papf-modal .papf-mbtns a.papf-btn:active,
.papf-modal .papf-mbtns .papf-btn:hover { color: #ffffff !important; text-decoration: none !important; }
.papf-modal .papf-mbtns .papf-btn-primary:hover { background: #1d6fd8; }
.papf-modal .papf-mbtns .papf-btn:not(.papf-btn-primary):hover { background: rgba(81, 167, 248, 0.2); }
/* "✔ Verified Winner · 92601-1" — proof line under the share/download buttons */
.papf-mverified { margin-top: 12px; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #ffffff; }
.papf-mverified[hidden] { display: none; }
.papf-mverified-check { color: #51a7f8; margin-right: 4px; }
/* "✔ Winner notified via email." — quiet line under the verified badge (not bold) */
.papf-mnotified { margin-top: 6px; font-size: 11px; font-weight: 400; letter-spacing: 0.04em; text-transform: none; color: #ffffff; }

/* Firm price table (NativeTables) under the giveaway */
.papf-firmtable { margin-top: 26px; }
.papf-ft-title { margin: 26px 0 14px; }

/* ---- Giveaway Entry Slip: Recent Winners-style card holding the giveaway
   details + entry form, under the ✦ GIVEAWAY ENTRY SLIP ✦ lockup. ---- */
.papf-slip { background: #ffffff; border: 2px dashed #9ca3af; border-radius: 14px; box-shadow: 0 1px 3px rgba(20, 39, 78, 0.08); padding: 24px 38px 26px; margin-top: 26px; }
@media (max-width: 560px) { .papf-slip { padding: 22px 22px 24px; } }

/* ---- Giveaway Meta Bar (design handoff): perforated ticket strip at the
   foot of the Entry Slip — WINNERS | TIME LEFT | ENDS | View rules ---- */
.papf-mb { margin-top: 22px; border: 1.5px solid #dfe6f2; border-radius: 10px; background: #f8fafd; overflow: hidden; }
.papf-mb-d { display: flex; }
.papf-mb-seg { flex: 1; padding: 13px 18px; text-align: center; }
.papf-mb-hot { flex: 1.5; background: rgba(4, 92, 180, 0.05); }
.papf-mb-ends { flex: 1.2; }
.papf-mb-div { width: 0; border-left: 2px dashed #dfe6f2; align-self: stretch; }
.papf-mb-label { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; color: #8a97b1; text-transform: uppercase; }
.papf-mb-val { font-size: 15px; font-weight: 700; color: #14274e; margin-top: 3px; }
.papf-mb-accent { color: #2469e0; } /* the View rules link blue, brighter than the brand navy */
.papf-mb-count { font-variant-numeric: tabular-nums; }
.papf-mb-label.papf-mb-accent { display: inline-flex; align-items: center; gap: 6px; }
.papf-mb-dot { width: 6px; height: 6px; border-radius: 50%; background: #2469e0; animation: papf-mb-pulse 2s ease-out infinite; }
@keyframes papf-mb-pulse {
	0% { box-shadow: 0 0 0 0 rgba(36, 105, 224, 0.45); }
	70% { box-shadow: 0 0 0 8px rgba(36, 105, 224, 0); }
	100% { box-shadow: 0 0 0 0 rgba(36, 105, 224, 0); }
}
@media (prefers-reduced-motion: reduce) { .papf-mb-dot { animation: none; } }
.papf-mb-rules { flex: 1; display: flex; align-items: center; justify-content: center; padding: 13px 18px; }
.papf-mb-rules a, .papf-mb-mrules a { font-size: 13px; font-weight: 700; color: #2469e0; text-decoration: none; border-bottom: 1.5px solid rgba(36, 105, 224, 0.35); padding-bottom: 1px; white-space: nowrap; }
.papf-mb-rules a:hover, .papf-mb-mrules a:hover { color: #14274e; border-bottom-color: #14274e; }
.papf-mb-m { display: none; }
@media (max-width: 560px) {
	.papf-mb-d { display: none; }
	.papf-mb-m { display: block; }
	.papf-mb-mrow1 { padding: 9px 14px; background: rgba(4, 92, 180, 0.05); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
	.papf-mb-mrow1 .papf-mb-label { font-size: 9px; }
	.papf-mb-mrow1 .papf-mb-val { margin-top: 0; font-size: 14px; }
	.papf-mb-mrule { height: 0; border-top: 2px dashed #dfe6f2; }
	.papf-mb-mrow2 { display: flex; align-items: center; }
	.papf-mb-mcell { flex: 1; padding: 8px 14px; display: flex; align-items: baseline; gap: 5px; }
	.papf-mb-mcell.papf-mb-mends { flex: 1.2; }
	.papf-mb-mlabel { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; color: #8a97b1; text-transform: uppercase; }
	.papf-mb-mval { font-size: 14px; font-weight: 700; color: #14274e; }
	.papf-mb-mrow1 .papf-mb-count { font-size: 14px; font-weight: 700; }
	.papf-mb-mrules { padding: 8px 14px; }
	.papf-mb-mrules a { font-size: 12px; }
}
html[data-theme="dark"] .papf-wrap .papf-mb { background: #262626; border-color: #3a3a3a; }
html[data-theme="dark"] .papf-wrap .papf-mb-div, html[data-theme="dark"] .papf-wrap .papf-mb-mrule { border-color: #3a3a3a; }
html[data-theme="dark"] .papf-wrap .papf-mb-val, html[data-theme="dark"] .papf-wrap .papf-mb-mval { color: #eaeaea; }
html[data-theme="dark"] .papf-wrap .papf-mb-hot, html[data-theme="dark"] .papf-wrap .papf-mb-mrow1 { background: rgba(59, 124, 232, 0.12); }
html[data-theme="dark"] .papf-wrap .papf-mb-accent, html[data-theme="dark"] .papf-wrap .papf-mb-rules a, html[data-theme="dark"] .papf-wrap .papf-mb-mrules a { color: #6db2ff; }
html[data-theme="dark"] .papf-wrap .papf-mb-dot { background: #6db2ff; }
.papf-slip .papf-gs-title.papf-slip-title { margin-bottom: 20px; }
.papf-slip .papf-subtitle { margin-bottom: 14px; }
.papf-partnerline p { margin: 0 0 10px; }
html[data-theme="dark"] .papf-wrap .papf-slip { background: #1f1f1f; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }

/* ---- Section headers: uppercase title + gradient bar (design handoff) ---- */
.papf-shead { margin-bottom: 20px; text-align: left; }
.papf-shead-title { font-size: 16px; font-weight: 700; letter-spacing: 0.16em; color: #14274e; text-transform: uppercase; }
.papf-shead-bar { height: 5px; border-radius: 3px; background: linear-gradient(90deg, #193e72 0%, #3b7ce8 38%, #cfe2fa 72%, #ffffff 100%); margin-top: 8px; }
html[data-theme="dark"] .papf-wrap .papf-shead-title { color: #e8eef5; }
html[data-theme="dark"] .papf-wrap .papf-shead-bar { background: linear-gradient(90deg, #3b7ce8 0%, #1f4f9e 38%, rgba(59, 124, 232, 0.25) 72%, transparent 100%); }
.papf-ft-title .papf-shead { margin-bottom: 14px; }

/* ---- Multi-winner RESULTS shadowbox (?papf_results= — the video QR) ---- */
.papf-results { margin: 4px 0 14px; }
.papf-results .papf-rrow { display: flex; align-items: center; gap: 12px; padding: 9px 14px; margin: 6px auto; max-width: 340px; background: rgba(81, 167, 248, 0.06); border: 1px solid rgba(81, 167, 248, 0.18); border-radius: 10px; text-decoration: none; opacity: 0; transform: translateY(8px); transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.2, 1.2, 0.4, 1); }
.papf-results.papf-results-show .papf-rrow { opacity: 1; transform: none; }
.papf-results .papf-rnum { font: 800 12px/1 Montserrat, Inter, sans-serif; color: #51a7f8; min-width: 16px; text-align: right; }
.papf-results .papf-rname { font: 800 16px/1.2 Inter, sans-serif; color: #fff; text-shadow: 0 0 14px rgba(81, 167, 248, 0.55); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
a.papf-rrow:hover { background: rgba(81, 167, 248, 0.14); border-color: rgba(81, 167, 248, 0.4); }
.papf-results-date { color: #62809f; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; margin: 2px 0 12px; }
