/* Feel First Quiz — front-end styles. Scoped under .ffq-quiz. */
.ffq-quiz {
	--ffq-accent: #3a5a78;
	--ffq-accent-dark: #2b4359;
	--ffq-bg: #ffffff;
	--ffq-text: #1f2a33;
	--ffq-muted: #6b7782;
	--ffq-border: #e2e8ee;
	--ffq-track: #eef2f6;
	--ffq-radius: 14px;
	max-width: 720px;
	margin: 0 auto;
	color: var(--ffq-text);
	font-family: inherit;
	line-height: 1.55;
	box-sizing: border-box;
}
.ffq-quiz *,
.ffq-quiz *::before,
.ffq-quiz *::after { box-sizing: border-box; }

.ffq-card {
	background: var(--ffq-bg);
	border: 1px solid var(--ffq-border);
	border-radius: var(--ffq-radius);
	padding: 2rem;
	box-shadow: 0 8px 30px rgba(31, 42, 51, 0.06);
	animation: ffq-fade 0.35s ease;
}
@keyframes ffq-fade {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

/* Buttons */
.ffq-btn {
	display: inline-block;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	border: none;
	border-radius: 999px;
	padding: 0.85rem 1.6rem;
	text-decoration: none;
	text-align: center;
	transition: background 0.15s ease, transform 0.05s ease, box-shadow 0.15s ease;
}
.ffq-btn--primary {
	background: var(--ffq-accent);
	color: #fff;
}
.ffq-btn--primary:hover { background: var(--ffq-accent-dark); }
.ffq-btn--primary:active { transform: translateY(1px); }
.ffq-btn--primary[disabled] { opacity: 0.7; cursor: default; }
.ffq-btn--ghost {
	background: transparent;
	color: var(--ffq-muted);
	padding: 0.6rem 1rem;
}
.ffq-btn--ghost[disabled] { opacity: 0.4; cursor: default; }
.ffq-btn--cta { background: var(--ffq-accent); color: #fff; }
.ffq-btn--cta:hover { background: var(--ffq-accent-dark); }
.ffq-btn--ebook {
	background: #1f8a5b;
	color: #fff;
}
.ffq-btn--ebook:hover { background: #19704a; }

/* Intro */
.ffq-intro__heading { margin: 0 0 0.5rem; font-size: 1.6rem; line-height: 1.25; }
.ffq-intro__sub { font-size: 1.1rem; color: var(--ffq-accent-dark); font-weight: 600; margin: 0 0 1rem; }
.ffq-intro__body { color: var(--ffq-muted); margin: 0 0 1.6rem; }

/* Rich-text body blocks (intro/gate) — admin-authored HTML. */
.ffq-intro__body > :first-child,
.ffq-gate__body > :first-child { margin-top: 0; }
.ffq-intro__body > :last-child,
.ffq-gate__body > :last-child { margin-bottom: 0; }
.ffq-intro__body p,
.ffq-gate__body p { margin: 0 0 1rem; }
.ffq-intro__body h2,
.ffq-gate__body h2 { color: var(--ffq-text); font-size: 1.25rem; line-height: 1.3; margin: 1.4rem 0 0.6rem; }
.ffq-intro__body h3,
.ffq-gate__body h3 { color: var(--ffq-text); font-size: 1.1rem; margin: 1.2rem 0 0.5rem; }
.ffq-intro__body ul,
.ffq-gate__body ul { margin: 0 0 1rem; padding-left: 1.2rem; }
.ffq-intro__body li,
.ffq-gate__body li { margin: 0 0 0.5rem; }
.ffq-intro__body a,
.ffq-gate__body a { color: var(--ffq-accent); }
.ffq-intro__body strong { color: var(--ffq-text); }

/* Progress */
.ffq-progress {
	height: 6px;
	background: var(--ffq-track);
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 1.4rem;
}
.ffq-progress__fill {
	height: 100%;
	background: var(--ffq-accent);
	border-radius: 999px;
	transition: width 0.3s ease;
}

/* Question */
.ffq-question__count {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.78rem;
	color: var(--ffq-muted);
	margin: 0 0 0.6rem;
}
.ffq-question__text {
	font-size: 1.25rem;
	line-height: 1.4;
	margin: 0 0 1.5rem;
}
.ffq-options { display: grid; gap: 0.6rem; }
.ffq-option {
	font: inherit;
	text-align: left;
	background: #fff;
	border: 1.5px solid var(--ffq-border);
	border-radius: 10px;
	padding: 0.9rem 1.1rem;
	cursor: pointer;
	transition: border-color 0.12s ease, background 0.12s ease, transform 0.05s ease;
	color: var(--ffq-text);
}
.ffq-option:hover { border-color: var(--ffq-accent); }
.ffq-option.is-selected {
	border-color: var(--ffq-accent);
	background: var(--ffq-accent);
	color: #fff;
}
.ffq-nav { margin-top: 1.2rem; }

/* Gate form */
.ffq-gate__heading { margin: 0 0 0.5rem; font-size: 1.4rem; }
.ffq-gate__body { color: var(--ffq-muted); margin: 0 0 1.4rem; }
.ffq-form { display: grid; gap: 1rem; }
.ffq-field { display: grid; gap: 0.35rem; }
.ffq-field__label { font-weight: 600; font-size: 0.9rem; }
.ffq-field input {
	font: inherit;
	padding: 0.8rem 1rem;
	border: 1.5px solid var(--ffq-border);
	border-radius: 10px;
	width: 100%;
}
.ffq-field input:focus { outline: none; border-color: var(--ffq-accent); }
.ffq-form__error {
	background: #fdecec;
	color: #a4262c;
	border-radius: 8px;
	padding: 0.7rem 0.9rem;
	font-size: 0.9rem;
}
.ffq-consent { font-size: 0.8rem; color: var(--ffq-muted); margin: 0; }
.ffq-gate__back { justify-self: start; }

/* Results */
.ffq-results { animation: ffq-fade 0.4s ease; }
.ffq-results__greeting {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.8rem;
	color: var(--ffq-muted);
	margin: 0 0 0.3rem;
}
.ffq-results__heading { margin: 0 0 0.6rem; font-size: 1.9rem; line-height: 1.2; }
.ffq-results__summary { font-size: 1.15rem; color: var(--ffq-accent-dark); margin: 0 0 2rem; }

.ffq-bars { display: grid; gap: 1.5rem; }
.ffq-bar__head {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	margin-bottom: 0.4rem;
	flex-wrap: wrap;
}
.ffq-bar__name { font-weight: 700; font-size: 1.05rem; }
.ffq-bar__pct { font-weight: 700; color: var(--ffq-accent); }
.ffq-bar__label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: var(--ffq-track);
	color: var(--ffq-muted);
}
.ffq-bar--strong .ffq-bar__label { background: #e3f2ec; color: #1f8a5b; }
.ffq-bar--present .ffq-bar__label { background: #e7eef6; color: var(--ffq-accent); }
.ffq-bar__track {
	height: 12px;
	background: var(--ffq-track);
	border-radius: 999px;
	overflow: hidden;
}
.ffq-bar__fill {
	height: 100%;
	background: var(--ffq-accent);
	border-radius: 999px;
	transition: width 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.ffq-bar--strong .ffq-bar__fill { background: #1f8a5b; }
.ffq-bar--minimal .ffq-bar__fill { background: #b9c4cf; }
.ffq-bar__desc { color: var(--ffq-muted); margin: 0.55rem 0 0; font-size: 0.95rem; }

.ffq-legend {
	list-style: none;
	padding: 1.2rem;
	margin: 2rem 0 0;
	background: var(--ffq-track);
	border-radius: 10px;
	font-size: 0.85rem;
	color: var(--ffq-muted);
	display: grid;
	gap: 0.4rem;
}
.ffq-legend li { margin: 0; }

.ffq-ebook {
	margin-top: 2rem;
	padding: 1.6rem;
	border: 1.5px dashed #1f8a5b;
	border-radius: var(--ffq-radius);
	background: #f4fbf7;
	text-align: center;
}
.ffq-ebook__heading { margin: 0 0 0.4rem; font-size: 1.2rem; }
.ffq-ebook__body { color: var(--ffq-muted); margin: 0 0 1.1rem; }

.ffq-cta {
	margin-top: 2rem;
	padding: 1.8rem;
	border-radius: var(--ffq-radius);
	background: var(--ffq-accent);
	color: #fff;
	text-align: center;
}
.ffq-cta__heading { margin: 0 0 0.5rem; font-size: 1.3rem; }
.ffq-cta__body { margin: 0 0 1.3rem; opacity: 0.92; }
.ffq-cta .ffq-btn--cta { background: #fff; color: var(--ffq-accent-dark); }
.ffq-cta .ffq-btn--cta:hover { background: #eef2f6; }

.ffq-error {
	padding: 1rem;
	border: 1px solid #f0c2c4;
	background: #fdecec;
	color: #a4262c;
	border-radius: 8px;
}

@media (max-width: 600px) {
	.ffq-card { padding: 1.4rem; }
	.ffq-results__heading { font-size: 1.5rem; }
	.ffq-question__text { font-size: 1.1rem; }
}
