/* ===================================================================
   Faith Builder — Game UI
   Scoped to .pp-faith-builder so it cannot leak into the rest of the
   site. Warm-amber / soft-gold palette with Navy anchor, soft rose
   (not harsh red) for wrong answers. WCAG AA-compliant text contrast.
   =================================================================== */

.pp-faith-builder {
	/* PrayerPrompt brand-aligned palette. The legacy --fb-gold tokens
	 * are kept as ALIASES of the brand red so any rule that still
	 * references them does the right thing visually. */
	--fb-navy:        #0c2335;
	--fb-red:         #f41c2b;   /* PrayerPrompt brand red */
	--fb-burgundy:    #8b1a24;   /* AA-safe red for hover / small text */
	--fb-red-soft:    #fdeaea;   /* Soft red tint for backgrounds */
	--fb-cream:       #fff8f0;   /* Subtle warm card highlight */
	--fb-gold:        #f41c2b;   /* legacy alias → brand red */
	--fb-gold-light:  #fdeaea;   /* legacy alias → red-soft */
	--fb-gold-text:   #8b1a24;   /* legacy alias → burgundy */
	--fb-correct:     #2d6a2d;
	--fb-correct-bg:  #eaf4ea;
	--fb-wrong:       #9b3a3a;
	--fb-wrong-bg:    #fdf0f0;
	--fb-parchment:   #f7f3ed;
	--fb-warm-card:   #ede8e0;
	--fb-red-accent:  #f41c2b;
	--fb-radius:      10px;
	--fb-shadow:      0 1px 2px rgba(0, 0, 0, 0.04);

	max-width: 720px;
	margin: 0 auto;
	font-family: var(--font-body);
	color: #222;
}

/* ── Header (level + points + streak) ──────────────────────────── */

.pp-fb-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 16px;
	padding: 12px 16px;
	background: var(--fb-parchment);
	border-radius: var(--fb-radius);
}

.pp-fb-level-pill {
	display: inline-block;
	padding: 4px 12px;
	border-radius: var(--radius-lg);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	background: var(--fb-navy);
	color: #fff;
}

.pp-fb-level-2 { background: #1a3a5a; }
.pp-fb-level-3 { background: var(--fb-gold); color: #0c2335; }

.pp-fb-header__stats {
	display: flex;
	gap: 16px;
	font-size: 14px;
}

.pp-fb-stat strong {
	color: var(--fb-navy);
	font-size: 16px;
}

/* ── Quiz card ──────────────────────────────────────────────────── */

.pp-fb-card {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--fb-radius);
	padding: 24px;
	margin: 0 0 20px;
	min-height: 420px;    /* CLS prevention — container never reflows */
	box-shadow: var(--fb-shadow);
	position: relative;
}

.pp-fb-card[aria-busy="true"] .pp-fb-loading {
	text-align: center;
	color: #999;
	padding: 120px 0;
	font-size: 14px;
}

.pp-fb-media {
	display: none;       /* V1: stubbed. V2 will set display:block + height:200px */
	margin: 0 0 20px;
	height: 0;
	border-radius: var(--fb-radius);
	background: var(--fb-warm-card);
}

.pp-fb-meta {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #777;
	margin: 0 0 12px;
}

.pp-fb-meta__character {
	background: var(--fb-gold-light);
	color: var(--fb-gold-text);
	padding: 3px 10px;
	border-radius: var(--radius-lg);
	font-weight: 700;
}

.pp-fb-meta__situation {
	padding: 3px 0;
}

.pp-fb-question {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 22px;
	line-height: 1.4;
	color: var(--fb-navy);
	margin: 0 0 20px;
}

.pp-fb-options,
.pp-fb-options li {
	list-style: none !important;
	list-style-type: none !important;
}

.pp-fb-options {
	padding: 0;
	margin: 0 0 24px;
	display: grid;
	gap: 12px;
}

.pp-fb-options li {
	padding: 0;
	margin: 0;
}

.pp-fb-options li::marker {
	content: "" !important;
	display: none;
}

.pp-fb-option {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	background: var(--fb-parchment);
	border: 2px solid transparent;
	border-radius: var(--radius-lg);
	cursor: pointer;
	font-size: 15px;
	line-height: 1.4;
	color: #222;
	text-align: left;
	width: 100%;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.pp-fb-option:hover,
.pp-fb-option:focus-visible {
	background: var(--fb-gold-light);
	outline: none;
}

.pp-fb-option__letter {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: var(--fb-navy);
}

.pp-fb-option.pp-fb-selected {
	background: var(--fb-gold-light);
	border-color: var(--fb-gold);
}

.pp-fb-option.pp-fb-selected .pp-fb-option__letter {
	background: var(--fb-gold);
	color: #fff;
	border-color: var(--fb-gold);
}

.pp-fb-option.pp-fb-option--correct {
	background: var(--fb-correct-bg);
	border-color: var(--fb-correct);
	color: var(--fb-correct);
	font-weight: 600;
}

.pp-fb-option.pp-fb-option--wrong {
	background: var(--fb-wrong-bg);
	border-color: var(--fb-wrong);
	color: var(--fb-wrong);
}

.pp-fb-submit {
	display: block;
	width: 100%;
	padding: 14px 20px;
	background: var(--fb-navy);
	color: #fff;
	border: none;
	border-radius: var(--radius-lg);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.pp-fb-submit:hover:not(:disabled) {
	background: #1a3a5a;
}

.pp-fb-submit:disabled {
	background: #999;
	cursor: not-allowed;
}

/* ── Reveal panel ───────────────────────────────────────────────── */

.pp-fb-reveal {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--fb-radius);
	padding: 24px;
	margin: 0 0 20px;
	box-shadow: var(--fb-shadow);
}

.pp-fb-reveal[hidden] { display: none; }

.pp-fb-reveal__headline {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 24px;
	margin: 0 0 8px;
	color: var(--fb-navy);
}

.pp-fb-reveal__headline--correct { color: var(--fb-correct); }
.pp-fb-reveal__headline--wrong   { color: var(--fb-wrong); }

.pp-fb-reveal__points {
	display: inline-block;
	background: var(--fb-gold);
	color: #0c2335;
	padding: 4px 12px;
	border-radius: var(--radius-lg);
	font-weight: 700;
	font-size: 13px;
	margin: 0 0 16px;
}

.pp-fb-scripture {
	background: var(--fb-parchment);
	border-left: 4px solid var(--fb-red-accent);
	padding: 14px 18px;
	margin: 16px 0;
	font-style: italic;
	font-size: 15px;
	color: #333;
	line-height: 1.5;
}

.pp-fb-scripture__ref {
	display: block;
	font-style: normal;
	font-weight: 700;
	color: var(--fb-navy);
	margin: 0 0 4px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.pp-fb-tip {
	background: var(--fb-gold-light);
	color: var(--fb-gold-text);
	padding: 14px 18px;
	border-radius: var(--radius-lg);
	margin: 16px 0;
	font-size: 14px;
	line-height: 1.6;
}

.pp-fb-tip--ai::before {
	content: "For you, personally:";
	display: block;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.06em;
	margin: 0 0 6px;
}

.pp-fb-level-up {
	background: var(--fb-gold);
	color: #0c2335;
	padding: 12px 16px;
	border-radius: var(--radius-lg);
	margin: 16px 0;
	font-weight: 700;
	text-align: center;
	font-size: 15px;
}

.pp-fb-badge-earned-banner {
	background: var(--fb-gold-light);
	border: 2px solid var(--fb-gold);
	padding: 12px 16px;
	border-radius: var(--radius-lg);
	margin: 12px 0;
	text-align: center;
	color: var(--fb-gold-text);
	font-weight: 700;
	animation: pp-fb-badge-pop 0.6s ease;
}

@keyframes pp-fb-badge-pop {
	0%   { transform: scale(1);    }
	50%  { transform: scale(1.08); }
	100% { transform: scale(1);    }
}

/* ── Back button (Review previous question) ─────────────────────── */

.pp-fb-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	margin: 0 0 14px;
	background: transparent;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--radius-lg);
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	color: #555;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.pp-fb-back:hover,
.pp-fb-back:focus-visible {
	background: var(--fb-red-soft, #fdeaea);
	border-color: var(--fb-red, #f41c2b);
	color: var(--fb-burgundy, #8b1a24);
	transform: translateY(-1px);
	outline: none;
}

body.pp-fb-game-mode .pp-fb-back {
	background: rgba(245, 232, 214, 0.05);
	border-color: rgba(245, 232, 214, 0.15);
	color: rgba(245, 232, 214, 0.7);
}

body.pp-fb-game-mode .pp-fb-back:hover,
body.pp-fb-game-mode .pp-fb-back:focus-visible {
	background: rgba(244, 28, 43, 0.15);
	border-color: rgba(244, 28, 43, 0.4);
	color: #fff;
}

/* ── Review mode badge ─────────────────────────────────────────── */

.pp-fb-review-badge {
	display: inline-block;
	padding: 4px 10px;
	margin: 0 0 10px;
	background: rgba(244, 28, 43, 0.08);
	color: var(--fb-burgundy, #8b1a24);
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

body.pp-fb-game-mode .pp-fb-review-badge {
	background: rgba(244, 28, 43, 0.2);
	color: #ff5b6a;
}

/* Option in review mode: disabled cursor + no hover. */
.pp-fb-option--disabled {
	cursor: default !important;
	pointer-events: none;
}

/* ── Ad card ─────────────────────────────────────────────────────
 * Standalone card that sits between the quiz card and the answer
 * reveal. Has its own breathing room so the ad reads as a distinct
 * block. Starts with `hidden` attribute and is un-hidden by JS
 * after the user answers; JS also sets min-height inline so the
 * card reserves layout space before AdSense fills it (CLS = 0).
 * ----------------------------------------------------------------- */

.pp-fb-ad-card {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--fb-radius);
	padding: 16px 18px;
	margin: 0 0 20px;
	min-height: 130px;           /* CLS reservation — enough for mobile ad */
	box-shadow: var(--fb-shadow);
	position: relative;
	overflow: hidden;
}

.pp-fb-ad-card[hidden] {
	display: none;
}

.pp-fb-ad-card::before {
	content: "Advertisement";
	display: block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #999;
	text-align: center;
	margin: 0 0 10px;
}

.pp-fb-ad-card .adsbygoogle {
	display: block;
	min-height: 90px;
}

/* Dark game-mode variant — matches the card styling on /pray-like-them/ */
body.pp-fb-game-mode .pp-fb-ad-card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(245, 232, 214, 0.12);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

body.pp-fb-game-mode .pp-fb-ad-card::before {
	color: rgba(245, 232, 214, 0.45);
}

/* ── Legacy ad slot (inside reveal panel) — kept for any stray usage ── */
/* No longer populated by renderReveal; retained only so any older
 * cached JS bundle doesn't leave an unstyled <div>. */
.pp-fb-ad-slot {
	display: none;
}

/* ── Leaderboard ────────────────────────────────────────────────── */

.pp-fb-leaderboard {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--fb-radius);
	padding: 20px;
	margin: 0 0 20px;
}

.pp-fb-leaderboard__heading {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 20px;
	margin: 0 0 12px;
	color: var(--fb-navy);
}

.pp-fb-leaderboard__tabs {
	display: flex;
	gap: 8px;
	margin: 0 0 12px;
	border-bottom: 1px solid var(--fb-warm-card);
}

.pp-fb-lb-tab {
	background: transparent;
	border: none;
	padding: 8px 12px;
	color: #555;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	border-bottom: 2px solid transparent;
}

.pp-fb-lb-tab--active {
	color: var(--fb-navy);
	border-bottom-color: var(--fb-gold);
}

.pp-fb-lb-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.pp-fb-lb-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 12px;
	border-bottom: 1px solid var(--fb-parchment);
	font-size: 14px;
}

.pp-fb-lb-list li:last-child { border-bottom: none; }

.pp-fb-lb-list .pp-fb-lb-rank {
	color: #777;
	font-weight: 700;
	width: 24px;
}

.pp-fb-lb-list .pp-fb-lb-name {
	flex: 1;
	color: #0c2335;
	margin-left: 8px;
}

.pp-fb-lb-list .pp-fb-lb-points {
	color: var(--fb-gold-text);
	font-weight: 700;
}

/* ── Badge shelf ────────────────────────────────────────────────── */

.pp-fb-badges {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--fb-radius);
	padding: 20px;
	margin: 0 0 20px;
}

.pp-fb-badges__heading {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 20px;
	margin: 0 0 12px;
	color: var(--fb-navy);
}

.pp-fb-badge-shelf {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	gap: 10px;
}

.pp-fb-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 12px 6px;
	border-radius: var(--radius-lg);
	text-align: center;
	font-size: 12px;
	line-height: 1.3;
}

.pp-fb-badge--earned {
	background: var(--fb-gold-light);
	color: var(--fb-gold-text);
	font-weight: 700;
}

.pp-fb-badge--locked {
	background: var(--fb-parchment);
	color: #aaa;
}

.pp-fb-badge__icon {
	font-size: 22px;
	margin: 0 0 4px;
}

.pp-fb-badge--earned .pp-fb-badge__icon { color: var(--fb-gold); }
.pp-fb-badge--locked .pp-fb-badge__icon { opacity: 0.4; }

/* ── Empty state ────────────────────────────────────────────────── */

.pp-fb-empty {
	text-align: center;
	padding: 40px 20px;
	color: #888;
	font-style: italic;
}

/* ── Guest lock overlay ─────────────────────────────────────────── */

.pp-fb-guest {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
}

.pp-fb-guest .pp-fb-options .pp-fb-option {
	pointer-events: none;
	opacity: 0.55;
}

.pp-fb-lock {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(247, 243, 237, 0.7);
	backdrop-filter: blur(2px);
	border-radius: var(--fb-radius);
	padding: 24px;
}

.pp-fb-lock__inner {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--fb-radius);
	padding: 24px 28px;
	max-width: 440px;
	text-align: center;
	box-shadow: none;
}

.pp-fb-lock__icon {
	font-size: 32px;
	margin: 0 0 8px;
}

.pp-fb-lock__title {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 22px;
	color: var(--fb-navy);
	margin: 0 0 8px;
}

.pp-fb-lock__text {
	font-size: 14px;
	color: #555;
	margin: 0 0 16px;
	line-height: 1.5;
}

.pp-fb-lock__cta {
	display: inline-block;
	padding: 12px 20px;
	margin: 4px;
	border-radius: var(--radius-lg);
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
}

.pp-fb-lock__cta--primary {
	background: var(--fb-navy);
	color: #fff;
}

.pp-fb-lock__cta--secondary {
	background: var(--fb-parchment);
	color: var(--fb-navy);
	border: 1px solid var(--fb-warm-card);
}

/* ── Profile tab (inside [pp_member_profile]) ───────────────────── */

.pp-fb-profile {
	font-family: var(--font-body);
}

.pp-fb-profile__hero {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 16px;
	padding: 16px 20px;
	background: #fdeaea;   /* fb-gold-light */
	border-radius: var(--radius-lg);
	margin: 0 0 20px;
}

.pp-fb-profile__points {
	margin: 8px 0 0;
	font-size: 22px;
	color: #8b1a24;
}

.pp-fb-profile__streaks {
	text-align: right;
	color: #8b1a24;
	font-size: 15px;
}

.pp-fb-profile__longest {
	font-size: 12px;
	color: #888;
	margin: 2px 0 0;
}

.pp-fb-profile__upsell {
	background: #0c2335;
	color: #fff;
	padding: 14px 18px;
	border-radius: var(--radius-lg);
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.5;
}

.pp-fb-profile__upsell a {
	display: inline-block;
	margin: 6px 0 0;
	color: #f41c2b;
	font-weight: 700;
	text-decoration: none;
}

.pp-fb-profile__cta {
	text-align: center;
	margin: 0 0 24px;
}

.pp-fb-profile__play-btn {
	display: inline-block;
	background: #0c2335;
	color: #fff;
	padding: 12px 28px;
	border-radius: var(--radius-lg);
	text-decoration: none;
	font-weight: 700;
	font-size: 15px;
}

.pp-fb-profile__heading {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 18px;
	color: #0c2335;
	margin: 20px 0 10px;
}

.pp-fb-history {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.pp-fb-history th,
.pp-fb-history td {
	padding: 8px 10px;
	border-bottom: 1px solid #ede8e0;
	text-align: left;
}

.pp-fb-history th {
	color: #777;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.05em;
}

.pp-fb-hist-ok { color: #2d6a2d; font-weight: 700; }
.pp-fb-hist-no { color: #9b3a3a; font-weight: 700; }

.pp-fb-profile__totals {
	margin: 16px 0 0;
	font-size: 13px;
	color: #555;
}

.pp-fb-profile__empty {
	color: #888;
	font-style: italic;
	padding: 12px 0;
}

/* ── Small-screen tweaks ────────────────────────────────────────── */

@media (max-width: 540px) {
	.pp-fb-question { font-size: 19px; }
	.pp-fb-option { font-size: 14px; padding: 12px 14px; }
	.pp-fb-header { flex-direction: column; align-items: flex-start; }
	.pp-fb-header__stats { width: 100%; justify-content: flex-start; }
	.pp-fb-profile__hero { flex-direction: column; }
	.pp-fb-profile__streaks { text-align: left; }
}

/* ===================================================================
   GAME MODE — body.pp-fb-game-mode
   Applied only on the /faith-builder/ page via template-faith-builder.php.
   Reskins everything to feel like an immersive trivia app rather than
   another blog page. Dark navy gradient background, bold typography,
   glowing option buttons, animated score / streak counters, big touch
   targets. Mobile-first.
   =================================================================== */

html, body.pp-fb-game-mode {
	margin: 0;
	padding: 0;
	min-height: 100vh;
	min-height: 100dvh;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.pp-fb-game-mode {
	background: radial-gradient(ellipse at top, #19385a 0%, #0c2335 60%, #050d18 100%);
	color: #f5e8d6;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
}

body.pp-fb-game-mode * {
	box-sizing: border-box;
}

body.pp-fb-game-mode .skip-link {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

body.pp-fb-game-mode .skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	background: #f41c2b;
	color: #0c2335;
	padding: 8px 14px;
	border-radius: var(--radius-lg);
	z-index: 9999;
	font-weight: 700;
}

/* ── Game header ─────────────────────────────────────────────────── */

.pp-fb-game-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(8, 22, 38, 0.85);
	backdrop-filter: saturate(120%) blur(10px);
	-webkit-backdrop-filter: saturate(120%) blur(10px);
	border-bottom: 1px solid rgba(244, 28, 43, 0.18);
}

.pp-fb-game-header__inner {
	max-width: 760px;
	margin: 0 auto;
	padding: 14px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.pp-fb-game-brand {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #f5e8d6;
	font-family: var(--font-body);
	font-weight: 800;
	letter-spacing: 0.06em;
	font-size: 15px;
	text-transform: uppercase;
}

.pp-fb-game-brand__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, #f41c2b 0%, #ff5b6a 100%);
	color: #0c2335;
	font-size: 16px;
	box-shadow: none;
}

.pp-fb-game-brand__name em {
	color: #f41c2b;
	font-style: normal;
	font-weight: 800;
}

.pp-fb-game-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--radius-lg);
	background: rgba(245, 232, 214, 0.08);
	color: #f5e8d6;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	border: 1px solid rgba(245, 232, 214, 0.15);
	transition: background 0.2s ease, transform 0.15s ease;
}

.pp-fb-game-back:hover,
.pp-fb-game-back:focus-visible {
	background: rgba(245, 232, 214, 0.16);
	transform: translateY(-1px);
	color: #fff;
	outline: none;
}

@media (max-width: 480px) {
	.pp-fb-game-back__label {
		display: none;
	}
	.pp-fb-game-back {
		padding: 8px;
	}
}

/* ── Game main wrap ──────────────────────────────────────────────── */

.pp-fb-game-main {
	flex: 1;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	padding: 24px 20px 60px;
}

/* ── Faith Builder shell overrides on game-mode body ─────────────── */

body.pp-fb-game-mode .pp-faith-builder {
	max-width: 100%;
	margin: 0;
	color: #f5e8d6;
}

body.pp-fb-game-mode .pp-fb-header {
	background: transparent;
	padding: 0;
	margin: 0 0 24px;
	gap: 18px;
	flex-wrap: wrap;
}

body.pp-fb-game-mode .pp-fb-level-pill {
	background: linear-gradient(135deg, #19385a 0%, #0c2335 100%);
	color: #f5e8d6;
	border: 1px solid rgba(244, 28, 43, 0.45);
	padding: 8px 16px;
	font-size: 11px;
	letter-spacing: 0.08em;
	box-shadow: none;
}

body.pp-fb-game-mode .pp-fb-level-2 {
	background: linear-gradient(135deg, #2b517f 0%, #19385a 100%);
}

body.pp-fb-game-mode .pp-fb-level-3 {
	background: linear-gradient(135deg, #f41c2b 0%, #5e0e16 100%);
	color: #0c2335;
	border-color: #ff5b6a;
}

body.pp-fb-game-mode .pp-fb-header__stats {
	gap: 22px;
	font-size: 16px;
}

body.pp-fb-game-mode .pp-fb-stat {
	color: rgba(245, 232, 214, 0.65);
	font-weight: 500;
	letter-spacing: 0.02em;
}

body.pp-fb-game-mode .pp-fb-stat strong {
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	display: inline-block;
	margin-right: 2px;
}

body.pp-fb-game-mode .pp-fb-stat--streak strong {
	color: #ff5b6a;
	text-shadow: 0 0 14px rgba(255, 91, 106, 0.55);
}

/* ── Quiz card ───────────────────────────────────────────────────── */

body.pp-fb-game-mode .pp-fb-card {
	background: linear-gradient(180deg, #f9f4ea 0%, #f5ecd9 100%);
	color: #0c2335;
	border: none;
	border-radius: var(--radius-lg);
	padding: 28px 26px;
	box-shadow:
		0 30px 60px -20px rgba(0, 0, 0, 0.55),
		0 10px 24px -10px rgba(0, 0, 0, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);
	min-height: 460px;
}

body.pp-fb-game-mode .pp-fb-card[aria-busy="true"] .pp-fb-loading {
	color: #6e5a36;
	font-size: 15px;
}

body.pp-fb-game-mode .pp-fb-meta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 14px;
}

body.pp-fb-game-mode .pp-fb-meta__character {
	background: linear-gradient(135deg, #f41c2b 0%, #ff5b6a 100%);
	color: #0c2335;
	padding: 6px 14px;
	border-radius: var(--radius-lg);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	box-shadow: none;
}

body.pp-fb-game-mode .pp-fb-meta__situation {
	flex: 1;
	font-size: 13px;
	line-height: 1.55;
	color: #5a4630;
	font-style: italic;
	text-transform: none;
	letter-spacing: 0;
	padding: 0;
	font-weight: 400;
}

body.pp-fb-game-mode .pp-fb-question {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 26px;
	line-height: 1.3;
	font-weight: 600;
	color: #0c2335;
	margin: 16px 0 24px;
}

/* ── Option buttons ──────────────────────────────────────────────── */

body.pp-fb-game-mode .pp-fb-options {
	margin: 0 0 24px;
	gap: 12px;
}

body.pp-fb-game-mode .pp-fb-option {
	background: #fff;
	border: 2px solid rgba(12, 35, 53, 0.1);
	color: #1c2e42;
	padding: 16px 18px;
	font-size: 15px;
	font-weight: 500;
	border-radius: var(--radius-lg);
	box-shadow: none;
	transition: transform 0.18s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body.pp-fb-game-mode .pp-fb-option:hover,
body.pp-fb-game-mode .pp-fb-option:focus-visible {
	background: #fffaf0;
	border-color: #f41c2b;
	transform: translateY(-1px);
	box-shadow: none;
}

body.pp-fb-game-mode .pp-fb-option__letter {
	background: #fde2e2;
	border: 2px solid rgba(244, 28, 43, 0.3);
	color: #8b1a24;
	width: 32px;
	height: 32px;
	font-size: 14px;
	font-weight: 800;
}

body.pp-fb-game-mode .pp-fb-option.pp-fb-selected {
	background: linear-gradient(135deg, #fdeaea 0%, #fbd5d5 100%);
	border-color: #f41c2b;
	box-shadow: 0 0 0 4px rgba(244, 28, 43, 0.18), 0 8px 18px rgba(244, 28, 43, 0.25);
	transform: translateY(-1px);
}

body.pp-fb-game-mode .pp-fb-option.pp-fb-selected .pp-fb-option__letter {
	background: #f41c2b;
	color: #fff;
	border-color: #f41c2b;
}

body.pp-fb-game-mode .pp-fb-option--correct {
	background: linear-gradient(135deg, #d4f4d4 0%, #b1e6b1 100%) !important;
	border-color: #2d6a2d !important;
	color: #1f4d1f !important;
	font-weight: 700;
	box-shadow: 0 0 0 4px rgba(45, 106, 45, 0.18), 0 8px 22px rgba(45, 106, 45, 0.3);
}

body.pp-fb-game-mode .pp-fb-option--correct .pp-fb-option__letter {
	background: #2d6a2d;
	color: #fff;
	border-color: #2d6a2d;
}

body.pp-fb-game-mode .pp-fb-option--wrong {
	background: linear-gradient(135deg, #fde6e6 0%, #f5cbcb 100%) !important;
	border-color: #9b3a3a !important;
	color: #6b2525 !important;
	box-shadow: 0 0 0 4px rgba(155, 58, 58, 0.16), 0 8px 22px rgba(155, 58, 58, 0.25);
}

body.pp-fb-game-mode .pp-fb-option--wrong .pp-fb-option__letter {
	background: #9b3a3a;
	color: #fff;
	border-color: #9b3a3a;
}

/* ── Submit button ───────────────────────────────────────────────── */

body.pp-fb-game-mode .pp-fb-submit {
	background: linear-gradient(135deg, #f41c2b 0%, #8b1a24 100%);
	color: #0c2335;
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 16px 24px;
	border-radius: var(--radius-lg);
	box-shadow: none;
	transition: transform 0.18s ease, box-shadow 0.2s ease;
}

body.pp-fb-game-mode .pp-fb-submit:hover:not(:disabled) {
	background: linear-gradient(135deg, #ff5b6a 0%, #f41c2b 100%);
	transform: translateY(-2px);
	box-shadow: none;
}

body.pp-fb-game-mode .pp-fb-submit:disabled {
	background: linear-gradient(135deg, #4a5e75 0%, #344558 100%);
	color: rgba(255, 255, 255, 0.55);
	box-shadow: none;
	cursor: not-allowed;
}

/* ── Reveal panel ────────────────────────────────────────────────── */

body.pp-fb-game-mode .pp-fb-reveal {
	background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
	color: #f5e8d6;
	border: 1px solid rgba(245, 232, 214, 0.12);
	border-radius: var(--radius-lg);
	padding: 24px 22px;
	margin-top: 20px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

body.pp-fb-game-mode .pp-fb-reveal__headline {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 28px;
	margin: 0 0 10px;
	color: #fff;
}

body.pp-fb-game-mode .pp-fb-reveal__headline--correct {
	color: #5cdc5c;
	text-shadow: 0 0 18px rgba(92, 220, 92, 0.4);
}

body.pp-fb-game-mode .pp-fb-reveal__headline--wrong {
	color: #f48a8a;
	text-shadow: 0 0 18px rgba(244, 138, 138, 0.35);
}

body.pp-fb-game-mode .pp-fb-reveal__points {
	background: linear-gradient(135deg, #f41c2b 0%, #ff5b6a 100%);
	color: #0c2335;
	box-shadow: none;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.04em;
}

body.pp-fb-game-mode .pp-fb-scripture {
	background: rgba(244, 28, 43, 0.08);
	border-left: 4px solid #f41c2b;
	color: #ffffff !important;
	font-size: 15px;
	line-height: 1.6;
	border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

body.pp-fb-game-mode .pp-fb-scripture__ref {
	color: #ff5b6a;
}

body.pp-fb-game-mode .pp-fb-tip {
	background: rgba(255, 255, 255, 0.07);
	color: #fbe2e2;
	border-left: 3px solid rgba(245, 232, 214, 0.4);
	padding: 16px 18px;
	font-size: 14px;
	line-height: 1.65;
	border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

body.pp-fb-game-mode .pp-fb-tip--ai::before {
	color: #ff5b6a;
}

body.pp-fb-game-mode .pp-fb-level-up {
	background: linear-gradient(135deg, #f41c2b 0%, #ff5b6a 100%);
	color: #0c2335;
	font-size: 16px;
	box-shadow: none;
	animation: pp-fb-game-pop 0.6s ease;
}

body.pp-fb-game-mode .pp-fb-badge-earned-banner {
	background: rgba(244, 28, 43, 0.12);
	border-color: #f41c2b;
	color: #ff5b6a;
	font-size: 15px;
	box-shadow: 0 0 0 1px rgba(244, 28, 43, 0.3), 0 10px 22px rgba(0, 0, 0, 0.35);
	animation: pp-fb-game-pop 0.6s ease;
}

@keyframes pp-fb-game-pop {
	0%   { transform: scale(0.92); opacity: 0; }
	60%  { transform: scale(1.04); opacity: 1; }
	100% { transform: scale(1);    opacity: 1; }
}

/* ── Leaderboard + badges in game mode ───────────────────────────── */

body.pp-fb-game-mode .pp-fb-leaderboard,
body.pp-fb-game-mode .pp-fb-badges {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(245, 232, 214, 0.1);
	color: #f5e8d6;
	border-radius: var(--radius-lg);
	padding: 22px 20px;
	margin-top: 20px;
}

body.pp-fb-game-mode .pp-fb-leaderboard__heading,
body.pp-fb-game-mode .pp-fb-badges__heading {
	color: #fff;
	font-size: 18px;
}

body.pp-fb-game-mode .pp-fb-leaderboard__tabs {
	border-bottom-color: rgba(245, 232, 214, 0.1);
}

body.pp-fb-game-mode .pp-fb-lb-tab {
	color: rgba(245, 232, 214, 0.55);
}

body.pp-fb-game-mode .pp-fb-lb-tab--active {
	color: #fff;
	border-bottom-color: #f41c2b;
}

body.pp-fb-game-mode .pp-fb-lb-list li {
	border-bottom-color: rgba(245, 232, 214, 0.08);
}

body.pp-fb-game-mode .pp-fb-lb-list .pp-fb-lb-rank {
	color: #ff5b6a;
}

body.pp-fb-game-mode .pp-fb-lb-list .pp-fb-lb-name {
	color: #f5e8d6;
}

body.pp-fb-game-mode .pp-fb-lb-list .pp-fb-lb-points {
	color: #ff5b6a;
}

body.pp-fb-game-mode .pp-fb-badge {
	background: rgba(255, 255, 255, 0.05);
	color: rgba(245, 232, 214, 0.4);
}

body.pp-fb-game-mode .pp-fb-badge--earned {
	background: linear-gradient(135deg, rgba(244, 28, 43, 0.22) 0%, rgba(244, 28, 43, 0.1) 100%);
	color: #ff5b6a;
	box-shadow: 0 0 0 1px rgba(244, 28, 43, 0.3);
}

body.pp-fb-game-mode .pp-fb-badge--earned .pp-fb-badge__icon {
	color: #ff5b6a;
	text-shadow: 0 0 12px rgba(255, 91, 106, 0.6);
}

/* ── Game footer ─────────────────────────────────────────────────── */

.pp-fb-game-footer {
	max-width: 760px;
	margin: 0 auto;
	padding: 24px 20px 32px;
	text-align: center;
	color: rgba(245, 232, 214, 0.45);
	font-size: 12px;
}

.pp-fb-game-footer a {
	color: #ff5b6a;
	text-decoration: none;
	font-weight: 600;
}

.pp-fb-game-footer a:hover {
	text-decoration: underline;
}

/* ── SEO intro block (server-rendered, indexable) ────────────────── */

.pp-fb-seo-intro {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 20px 20px;
}

.pp-fb-seo-intro__inner {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--radius-lg);
	padding: 24px 28px;
}

.pp-fb-seo-intro__h1 {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
	line-height: 1.3;
}

.pp-fb-seo-intro p {
	font-size: 14px;
	color: rgba(245, 232, 214, 0.75);
	line-height: 1.6;
	margin: 0 0 10px;
}

.pp-fb-seo-intro p:last-of-type {
	margin-bottom: 14px;
}

.pp-fb-seo-intro__h2 {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 700;
	color: rgba(245, 232, 214, 0.85);
	margin: 0 0 10px;
}

.pp-fb-seo-intro--faq {
	padding-top: 10px;
}

.pp-fb-seo-faq {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 10px 0 0;
	margin: 0;
}

.pp-fb-seo-faq summary {
	cursor: pointer;
	font-size: 14px;
	color: rgba(245, 232, 214, 0.85);
	padding: 6px 0;
	list-style: none;
}

.pp-fb-seo-faq summary::-webkit-details-marker {
	display: none;
}

.pp-fb-seo-faq summary::before {
	content: '+  ';
	font-weight: 700;
	color: #f41c2b;
}

.pp-fb-seo-faq[open] summary::before {
	content: '-  ';
}

.pp-fb-seo-faq p {
	font-size: 13px;
	color: rgba(245, 232, 214, 0.6);
	line-height: 1.5;
	margin: 4px 0 8px;
	padding-left: 18px;
}

@media (max-width: 480px) {
	.pp-fb-seo-intro__inner {
		padding: 18px 16px;
	}
	.pp-fb-seo-intro__h1 {
		font-size: 20px;
	}
}

/* ── Hide WP admin bar offset on game mode ───────────────────────── */

body.pp-fb-game-mode.admin-bar .pp-fb-game-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.pp-fb-game-mode.admin-bar .pp-fb-game-header {
		top: 46px;
	}
}

/* ── Guest signup nudge ──────────────────────────────────────────── */

.pp-fb-signup-nudge {
	background: linear-gradient(135deg, rgba(244, 28, 43, 0.12) 0%, rgba(244, 28, 43, 0.04) 100%);
	border: 1px solid rgba(244, 28, 43, 0.35);
	border-radius: var(--radius-lg);
	padding: 18px 20px;
	margin-top: 18px;
	color: #f5e8d6;
	text-align: center;
}

body:not(.pp-fb-game-mode) .pp-fb-signup-nudge {
	background: linear-gradient(135deg, #fff8f0 0%, #fdeaea 100%);
	border-color: #f7d4d4;
	color: #1c2e42;
}

.pp-fb-signup-nudge strong {
	display: block;
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 6px;
	color: #fff;
}

body:not(.pp-fb-game-mode) .pp-fb-signup-nudge strong {
	color: #0c2335;
}

.pp-fb-signup-nudge p {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(245, 232, 214, 0.85);
}

body:not(.pp-fb-game-mode) .pp-fb-signup-nudge p {
	color: #5a3030;
}

.pp-fb-signup-nudge__buttons {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}

.pp-fb-signup-btn {
	display: inline-block;
	padding: 11px 20px;
	border-radius: var(--radius-lg);
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	transition: transform 0.18s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.pp-fb-signup-btn--primary {
	background: linear-gradient(135deg, #f41c2b 0%, #8b1a24 100%);
	color: #fff;
	box-shadow: none;
}

.pp-fb-signup-btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: none;
}

.pp-fb-signup-btn--secondary {
	background: rgba(245, 232, 214, 0.12);
	color: #f5e8d6;
	border: 1px solid rgba(245, 232, 214, 0.3);
}

body:not(.pp-fb-game-mode) .pp-fb-signup-btn--secondary {
	background: #fff;
	color: #0c2335;
	border-color: #ede8e0;
}

.pp-fb-signup-btn--secondary:hover {
	background: rgba(245, 232, 214, 0.2);
}

/* ── Social share row ────────────────────────────────────────────── */

.pp-fb-share {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(245, 232, 214, 0.12);
}

body:not(.pp-fb-game-mode) .pp-fb-share {
	border-top-color: #ede8e0;
}

.pp-fb-share__label {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(245, 232, 214, 0.55);
}

body:not(.pp-fb-game-mode) .pp-fb-share__label {
	color: #777;
}

.pp-fb-share__buttons {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pp-fb-share__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	border-radius: var(--radius-lg);
	border: 1px solid rgba(245, 232, 214, 0.18);
	background: rgba(245, 232, 214, 0.06);
	color: #f5e8d6;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease, border-color 0.2s ease;
}

body:not(.pp-fb-game-mode) .pp-fb-share__btn {
	background: #fff;
	color: #1c2e42;
	border-color: #ede8e0;
}

.pp-fb-share__btn:hover {
	background: rgba(245, 232, 214, 0.14);
	transform: translateY(-1px);
}

body:not(.pp-fb-game-mode) .pp-fb-share__btn:hover {
	background: #fff8f0;
	border-color: #f7d4d4;
}

.pp-fb-share__btn--fb:hover    { color: #1877f2; border-color: rgba(24, 119, 242, 0.5); }
.pp-fb-share__btn--x:hover     { color: #fff;    border-color: rgba(245, 232, 214, 0.6); }
.pp-fb-share__btn--wa:hover    { color: #25d366; border-color: rgba(37, 211, 102, 0.5); }
.pp-fb-share__btn--copy:hover  { color: #f41c2b; border-color: rgba(244, 28, 43, 0.5); }

.pp-fb-share__btn svg {
	flex-shrink: 0;
}

/* ── Daily heading: "Quiz for the day · Saturday, April 11, 2026" ─ */

.pp-fb-daily-heading {
	text-align: center;
	margin: 0 0 18px;
	padding: 14px 18px;
	background: rgba(244, 28, 43, 0.06);
	border: 1px solid rgba(244, 28, 43, 0.18);
	border-radius: var(--radius-lg);
}

body.pp-fb-game-mode .pp-fb-daily-heading {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(245, 232, 214, 0.15);
}

.pp-fb-daily-heading__label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #f41c2b;
	margin: 0 0 6px;
}

body.pp-fb-game-mode .pp-fb-daily-heading__label {
	color: #ff5b6a;
}

.pp-fb-daily-heading__date {
	display: block;
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 22px;
	font-weight: 700;
	color: #0c2335;
	line-height: 1.2;
}

body.pp-fb-game-mode .pp-fb-daily-heading__date {
	color: #f5e8d6;
}

@media (max-width: 540px) {
	.pp-fb-daily-heading__date { font-size: 18px; }
	.pp-fb-daily-heading { padding: 12px 14px; margin-bottom: 14px; }
}

/* ── Profile Faith Builder tab: "Your prayer journey" stats ─────── */

.pp-fb-profile-wrap {
	font-family: var(--font-body);
}

.pp-fb-profile-wrap .pp-faith-builder {
	max-width: 100%;
	margin: 0 0 28px;
}

.pp-fb-profile-stats {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--radius-lg);
	padding: 20px 22px;
	margin: 0 0 20px;
	box-shadow: var(--fb-shadow);
}

.pp-fb-profile-stats__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 16px;
	margin: 10px 0 0;
}

.pp-fb-profile-stats__stat {
	text-align: center;
	padding: 12px 8px;
	background: var(--fb-parchment);
	border-radius: var(--radius-lg);
}

.pp-fb-profile-stats__stat strong {
	display: block;
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 28px;
	font-weight: 700;
	color: #f41c2b;
	line-height: 1.1;
	margin: 0 0 4px;
}

.pp-fb-profile-stats__stat span {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #777;
	font-weight: 600;
}

.pp-fb-profile-history {
	background: #fff;
	border: 1px solid var(--fb-warm-card);
	border-radius: var(--radius-lg);
	padding: 20px 22px;
	box-shadow: var(--fb-shadow);
}

.pp-fb-profile__upsell {
	background: #0c2335;
	color: #fff;
	padding: 16px 20px;
	border-radius: var(--radius-lg);
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.55;
	border-left: 4px solid #f41c2b;
}

.pp-fb-profile__upsell strong {
	display: block;
	margin: 0 0 6px;
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 18px;
}

.pp-fb-profile__upsell a {
	display: inline-block;
	margin-top: 8px;
	color: #f41c2b;
	font-weight: 700;
	text-decoration: none;
}

.pp-fb-profile__upsell a:hover {
	text-decoration: underline;
}

/* ── Phase 3: session progress bar + question counter ──────────── */

.pp-fb-progress-bar {
	height: 6px;
	background: rgba(12, 35, 53, 0.08);
	border-radius: var(--radius-lg);
	overflow: hidden;
	margin: 0 0 18px;
}

body.pp-fb-game-mode .pp-fb-progress-bar {
	background: rgba(245, 232, 214, 0.12);
}

.pp-fb-progress-bar__fill {
	height: 100%;
	background: linear-gradient(90deg, #f41c2b 0%, #ff5b6a 100%);
	border-radius: var(--radius-lg);
	transition: width 0.35s ease;
	box-shadow: 0 0 12px rgba(244, 28, 43, 0.4);
}

.pp-fb-question__counter {
	display: block;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #f41c2b;
	margin: 0 0 8px;
}

body.pp-fb-game-mode .pp-fb-question__counter {
	color: #ff5b6a;
}

.pp-fb-stat--qcount strong {
	color: #f41c2b !important;
	text-shadow: 0 0 10px rgba(244, 28, 43, 0.35);
}

.pp-fb-stat-sep {
	opacity: 0.45;
	font-size: 13px;
}

/* ── Next button (with AD-gate countdown) ────────────────────────── */

.pp-fb-next {
	display: block;
	width: 100%;
	padding: 16px 20px;
	margin-top: 18px;
	background: linear-gradient(135deg, #f41c2b 0%, #8b1a24 100%);
	color: #fff;
	border: none;
	border-radius: var(--radius-lg);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: none;
	transition: transform 0.18s ease, box-shadow 0.2s ease, background 0.2s ease, opacity 0.25s ease;
}

.pp-fb-next:hover:not(:disabled) {
	transform: translateY(-2px);
	box-shadow: none;
	background: linear-gradient(135deg, #ff5b6a 0%, #f41c2b 100%);
}

.pp-fb-next:disabled {
	background: linear-gradient(135deg, #4a5e75 0%, #344558 100%);
	color: rgba(255, 255, 255, 0.7);
	box-shadow: none;
	cursor: not-allowed;
	opacity: 0.85;
}

.pp-fb-next__countdown {
	font-weight: 500;
	font-size: 13px;
	opacity: 0.85;
}

/* ── Summary screen (after Q10) ──────────────────────────────────── */

.pp-fb-summary {
	background: linear-gradient(180deg, #f9f4ea 0%, #f5ecd9 100%);
	color: #0c2335;
	border-radius: var(--radius-lg);
	padding: 32px 26px 30px;
	box-shadow:
		0 30px 60px -20px rgba(0, 0, 0, 0.55),
		0 10px 24px -10px rgba(0, 0, 0, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);
	animation: pp-fb-game-pop 0.5s ease;
}

body:not(.pp-fb-game-mode) .pp-fb-summary {
	background: #fff;
	color: #0c2335;
	border: 1px solid var(--fb-warm-card);
	box-shadow: var(--fb-shadow);
}

.pp-fb-summary__headline {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 18px;
	color: #0c2335;
	text-align: center;
}

.pp-fb-summary__score-wrap {
	text-align: center;
	margin: 0 0 22px;
}

.pp-fb-summary__score {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 72px;
	font-weight: 700;
	line-height: 1;
	color: #f41c2b;
	text-shadow: 0 4px 16px rgba(244, 28, 43, 0.25);
}

.pp-fb-summary__score strong {
	font-weight: 700;
}

.pp-fb-summary__score-divider {
	color: rgba(12, 35, 53, 0.3);
	font-size: 52px;
	font-weight: 500;
	margin: 0 6px;
	vertical-align: 6px;
}

.pp-fb-summary__score-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(12, 35, 53, 0.55);
	margin-top: 4px;
}

.pp-fb-summary__stats {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 0 26px;
	padding: 14px 18px;
	background: rgba(12, 35, 53, 0.04);
	border-radius: var(--radius-lg);
}

.pp-fb-summary__stat {
	font-size: 14px;
	color: #5a4630;
}

.pp-fb-summary__stat strong {
	color: #0c2335;
	font-size: 18px;
	font-weight: 800;
	margin-right: 2px;
}

.pp-fb-summary__scripture {
	margin: 0 0 24px;
}

.pp-fb-summary__scripture-label {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(12, 35, 53, 0.5);
	margin: 0 0 8px;
	text-align: center;
}

body.pp-fb-game-mode .pp-fb-summary__scripture .pp-fb-scripture {
	background: rgba(244, 28, 43, 0.06);
	color: #3b1518 !important;
	border-left-color: #f41c2b;
}

.pp-fb-summary__scripture-attrib {
	text-align: center;
	font-size: 13px;
	color: #8b6330;
	margin: 8px 0 0;
	font-style: italic;
}

.pp-fb-summary__comeback {
	text-align: center;
	font-size: 14px;
	color: rgba(12, 35, 53, 0.6);
	font-style: italic;
	margin: 24px 0 0;
	padding-top: 18px;
	border-top: 1px dashed rgba(12, 35, 53, 0.15);
}

.pp-fb-summary .pp-fb-signup-nudge {
	background: linear-gradient(135deg, #fff8f0 0%, #fdeaea 100%);
	border-color: rgba(244, 28, 43, 0.35);
	color: #1c2e42;
}

.pp-fb-summary .pp-fb-signup-nudge strong,
.pp-fb-summary .pp-fb-signup-nudge p {
	color: #1c2e42;
}

.pp-fb-summary .pp-fb-signup-nudge p {
	color: #5a3030;
}

.pp-fb-summary .pp-fb-share {
	border-top-color: rgba(12, 35, 53, 0.12);
}

.pp-fb-summary .pp-fb-share__label {
	color: rgba(12, 35, 53, 0.55);
}

.pp-fb-summary .pp-fb-share__btn {
	background: #fff;
	color: #1c2e42;
	border-color: rgba(12, 35, 53, 0.12);
}

.pp-fb-summary .pp-fb-share__btn:hover {
	background: #fff8f0;
	border-color: rgba(244, 28, 43, 0.4);
}

/* ── Mobile tweaks for game mode ─────────────────────────────────── */

@media (max-width: 540px) {
	body.pp-fb-game-mode .pp-fb-card { padding: 22px 18px; }
	body.pp-fb-game-mode .pp-fb-question { font-size: 22px; }
	body.pp-fb-game-mode .pp-fb-meta { flex-direction: column; align-items: flex-start; }
	body.pp-fb-game-mode .pp-fb-stat strong { font-size: 20px; }
	body.pp-fb-game-mode .pp-fb-game-main { padding: 18px 16px 40px; }
	.pp-fb-share__btn span { display: none; }
	.pp-fb-share__btn { padding: 10px 12px; }
	.pp-fb-summary { padding: 26px 20px; }
	.pp-fb-summary__headline { font-size: 26px; }
	.pp-fb-summary__score { font-size: 60px; }
	.pp-fb-summary__stats { flex-direction: column; gap: 8px; }
}

/* ── v1.1 Topic Tracks ───────────────────────────────────────────── */

/* Topic rack grid */

.pp-fb-topic-rack {
	margin: 28px 0 0;
}

.pp-fb-topic-rack__heading {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 22px;
	font-weight: 700;
	color: var(--fb-navy, #0c2335);
	margin: 0 0 4px;
}

.pp-fb-topic-rack__subheading {
	font-size: 14px;
	color: #666;
	margin: 0 0 16px;
	line-height: 1.5;
}

.pp-fb-topic-rack__grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 240px, 1fr ) );
	gap: 14px;
}

/* Topic card — shared base */

.pp-fb-topic-card {
	background: #ffffff;
	border: 1px solid #e5e0d8;
	border-radius: var(--radius-lg);
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pp-fb-topic-card__label {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 700;
	color: var(--fb-navy, #0c2335);
	margin: 0;
}

/* Unlocked state */

.pp-fb-topic-card--unlocked,
.pp-fb-topic-card--in-progress {
	cursor: pointer;
}

.pp-fb-topic-card--unlocked:hover,
.pp-fb-topic-card--in-progress:hover {
	border-color: #f41c2b;
	box-shadow: none;
}

/* Locked state */

.pp-fb-topic-card--locked {
	opacity: 0.65;
	background: #f7f3ed;
}

.pp-fb-topic-card--locked .pp-fb-topic-card__label {
	color: #888;
}

.pp-fb-topic-card__unlock-condition {
	font-size: 12px;
	color: #888;
	margin: 0;
	line-height: 1.4;
}

.pp-fb-topic-card__unlock-condition a {
	color: #f41c2b;
	text-decoration: none;
	font-weight: 600;
}

.pp-fb-topic-card__unlock-condition small {
	display: block;
	margin-top: 2px;
	color: #aaa;
}

/* Completed state */

.pp-fb-topic-card--completed {
	border-color: #2d6a2d;
	background: #f4faf4;
}

.pp-fb-topic-card__completion-badge {
	display: inline-block;
	background: #2d6a2d;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: var(--radius-lg);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.pp-fb-topic-card__meta {
	font-size: 12px;
	color: #888;
}

/* Progress bar */

.pp-fb-topic-card__progress {
	display: flex;
	align-items: center;
	gap: 8px;
}

.pp-fb-topic-card__progress-bar {
	flex: 1;
	height: 6px;
	background: #e5e0d8;
	border-radius: 3px;
	overflow: hidden;
}

.pp-fb-topic-card__progress-bar-fill {
	height: 100%;
	background: #f41c2b;
	border-radius: 3px;
	transition: width 0.3s ease;
}

.pp-fb-topic-card__progress-label {
	font-size: 12px;
	color: #888;
	white-space: nowrap;
}

/* CTA link inside the card */

.pp-fb-topic-card__cta {
	font-size: 13px;
	font-weight: 600;
	color: #f41c2b;
	text-decoration: none;
}

.pp-fb-topic-card__cta:hover {
	text-decoration: underline;
}

/* ── Topic player header ─────────────────────────────────────────── */

.pp-fb-back-to-rack {
	display: inline-block;
	margin: 0 0 12px;
	font-size: 13px;
	color: #888;
	text-decoration: none;
}

.pp-fb-back-to-rack:hover {
	color: var(--fb-navy, #0c2335);
}

.pp-fb-topic-player-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 12px;
	padding: 0 0 10px;
	border-bottom: 1px solid #e5e0d8;
}

.pp-fb-topic-player-header__label {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 700;
	color: var(--fb-navy, #0c2335);
	margin: 0;
}

.pp-fb-topic-player-header__progress {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #888;
}

/* ── Topic player mode overrides ─────────────────────────────────── */

.pp-faith-builder[data-mode="topic"] .pp-fb-stat--streak {
	display: none;
}

.pp-faith-builder[data-mode="topic"] .pp-fb-leaderboard,
.pp-faith-builder[data-mode="topic"] .pp-fb-badges {
	display: none;
}

/* ── Locked teaser ───────────────────────────────────────────────── */

.pp-fb-topic-locked-teaser {
	text-align: center;
	padding: 40px 24px;
	background: #f7f3ed;
	border: 1px dashed #dcd6ca;
	border-radius: var(--radius-lg);
	margin: 0 0 24px;
}

.pp-fb-topic-locked-teaser__icon {
	font-size: 48px;
	margin: 0 0 12px;
}

.pp-fb-topic-locked-teaser h3 {
	font-family: var(--font-serif);
	text-transform: uppercase;
	font-size: 22px;
	color: var(--fb-navy, #0c2335);
	margin: 0 0 8px;
}

.pp-fb-topic-locked-teaser__condition {
	font-size: 14px;
	color: #666;
	line-height: 1.5;
	margin: 0 0 20px;
}

.pp-fb-topic-locked-teaser__cta {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ── Summary topic variant ───────────────────────────────────────── */

.pp-fb-summary--topic .pp-fb-summary__comeback {
	display: none;
}

.pp-fb-summary__topic-cta {
	margin: 20px 0 0;
	text-align: center;
}

/* ── Responsive: topic rack ──────────────────────────────────────── */

@media ( max-width: 480px ) {
	.pp-fb-topic-rack__grid {
		grid-template-columns: 1fr;
	}

	.pp-fb-topic-player-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
}
