/* ---- Sailors Factory brand tokens (sampled from the "Be a Phoenix" card) ---- */
.sfcqb-app {
	--sfcqb-bg:#0F1B33;
	--sfcqb-card:#121F3D;
	--sfcqb-accent:#E8285C;
	--sfcqb-accent-dark:#C81E3A;
	--sfcqb-accent-soft:rgba(232,40,92,.15);
	--sfcqb-border:rgba(255,255,255,.08);
	--sfcqb-text:#F5F8FB;
	--sfcqb-text-muted:#9FB0CC;
	--sfcqb-text-faint:#7C879C;

	max-width:640px;
	margin:0 auto;
	font-family:'Poppins', sans-serif;
	background:var(--sfcqb-card);
	border:1px solid var(--sfcqb-border);
	border-radius:20px;
	padding:32px 30px 36px;
	box-shadow:0 20px 50px rgba(0,0,0,.35);
	color:var(--sfcqb-text);
}

.sfcqb-eyebrow {
	color:var(--sfcqb-accent);
	font-size:.72em;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	margin-bottom:18px;
}

.sfcqb-hero { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.sfcqb-icon-badge {
	width:46px; height:46px; border-radius:12px; background:var(--sfcqb-accent-soft);
	display:flex; align-items:center; justify-content:center;
}
.sfcqb-flame { color:var(--sfcqb-accent); }
.sfcqb-badge-pill {
	background:var(--sfcqb-accent); color:#fff; font-size:.7em; font-weight:700;
	text-transform:uppercase; letter-spacing:.06em; padding:5px 12px; border-radius:20px;
}

.sfcqb-title { margin:0 0 8px; font-size:1.45em; font-weight:700; color:var(--sfcqb-text); line-height:1.3; }
.sfcqb-title .sfcqb-accent { color:var(--sfcqb-accent); }
.sfcqb-subtitle { margin:0 0 22px; color:var(--sfcqb-text-muted); font-size:.95em; line-height:1.5; }

.sfcqb-progress { display:flex; align-items:center; justify-content:center; gap:0; margin-bottom:26px; }
.sfcqb-progress i { display:inline-block; width:34px; height:2px; background:var(--sfcqb-border); }
.sfcqb-dot {
	width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.06); color:var(--sfcqb-text-faint);
	display:flex; align-items:center; justify-content:center; font-size:.8em; font-weight:700;
	transition:background .2s, color .2s;
}
.sfcqb-dot.active { background:var(--sfcqb-accent); color:#fff; }
.sfcqb-dot.done { background:var(--sfcqb-accent-soft); color:var(--sfcqb-accent); }

.sfcqb-app h3 { margin-top:0; color:var(--sfcqb-text); font-weight:700; font-size:1.1em; }
.sfcqb-app label { display:block; margin-bottom:14px; font-weight:600; color:#D7DFEC; font-size:.95em; }
.sfcqb-app input[type=text], .sfcqb-app input[type=tel], .sfcqb-app input[type=email], .sfcqb-app select {
	width:100%; padding:11px 13px; font-weight:400; font-family:inherit; font-size:.95em;
	background:rgba(255,255,255,.04); color:var(--sfcqb-text);
	border:1px solid var(--sfcqb-border); border-radius:10px; margin-top:4px; box-sizing:border-box;
	transition:border-color .15s;
}
.sfcqb-app select option { background:var(--sfcqb-card); color:var(--sfcqb-text); }
.sfcqb-app input::placeholder { color:var(--sfcqb-text-faint); }
.sfcqb-app input:focus, .sfcqb-app select:focus { outline:none; border-color:var(--sfcqb-accent); }

.sfcqb-welcome-back {
	background:var(--sfcqb-accent-soft); border:1px solid rgba(232,40,92,.3); border-radius:8px;
	padding:10px 14px; margin:-6px 0 14px; color:var(--sfcqb-text); font-size:.85em; font-weight:600;
}

.sfcqb-filter-input {
	width:100%; padding:9px 12px; font-weight:400; font-family:inherit; font-size:.9em;
	background:rgba(255,255,255,.04); color:var(--sfcqb-text);
	border:1px solid var(--sfcqb-border); border-radius:10px; margin-bottom:10px; box-sizing:border-box;
	transition:border-color .15s;
}
.sfcqb-filter-input::placeholder { color:var(--sfcqb-text-faint); }
.sfcqb-filter-input:focus { outline:none; border-color:var(--sfcqb-accent); }

.sfcqb-checklist {
	max-height:280px; overflow:auto; border:1px solid var(--sfcqb-border); border-radius:10px;
	padding:10px 14px; margin-bottom:14px; background:rgba(255,255,255,.03);
}
.sfcqb-checklist label { font-weight:400; margin-bottom:8px; color:#C6D0E2; }
.sfcqb-load-error { color:var(--sfcqb-text-muted); }
.sfcqb-retry { color:var(--sfcqb-accent); font-weight:600; text-decoration:underline; }

.sfcqb-btn {
	background:var(--sfcqb-accent); color:#fff; border:none; padding:12px 26px; border-radius:10px;
	cursor:pointer; font-weight:600; font-family:inherit; font-size:.95em; margin-right:8px;
	transition:background .15s, transform .1s;
}
.sfcqb-btn:hover { background:var(--sfcqb-accent-dark); }
.sfcqb-btn:active { transform:scale(.98); }
.sfcqb-btn.sfcqb-prev { background:rgba(255,255,255,.06); color:var(--sfcqb-text); }
.sfcqb-btn.sfcqb-prev:hover { background:rgba(255,255,255,.1); }
.sfcqb-btn.sfcqb-btn-ghost { background:transparent; color:var(--sfcqb-text); border:1px solid var(--sfcqb-border); }
.sfcqb-btn.sfcqb-btn-ghost:hover { background:rgba(255,255,255,.06); }

.sfcqb-error { color:#FF6B85; margin-top:10px; font-weight:600; }
#sfcqb-loading { color:var(--sfcqb-text-muted); margin-top:10px; }

.sfcqb-results-actions { margin-bottom:16px; }
.sfcqb-result-notice {
	background:var(--sfcqb-accent-soft); border:1px solid rgba(232,40,92,.3); border-radius:8px;
	padding:10px 14px; margin-bottom:16px; color:var(--sfcqb-text); font-size:.85em; font-weight:600;
}
.sfcqb-result-company.sfcqb-highlight-company {
	font-size:1.15em; font-weight:700; color:#fff;
	background:var(--sfcqb-accent); border:1px solid var(--sfcqb-accent-dark);
	border-radius:8px; margin-top:26px; padding:8px 14px; display:block;
}
.sfcqb-result-subject.sfcqb-highlight-subject {
	font-weight:700; font-style:italic; color:var(--sfcqb-text);
	background:rgba(255,255,255,.06); border:1px solid var(--sfcqb-accent);
	border-radius:8px; margin-top:28px; padding:6px 12px; display:block;
	position:relative;
}
.sfcqb-result-subject.sfcqb-highlight-subject::before {
	content:""; position:absolute; top:-14px; left:0; right:0; height:1px;
	background:var(--sfcqb-border);
}
.sfcqb-result-q { margin-top:12px; font-weight:600; color:var(--sfcqb-text); }
.sfcqb-result-opt { margin-left:20px; color:var(--sfcqb-text-muted); }
.sfcqb-result-figure { margin:10px 0 10px 20px; }
.sfcqb-result-figure img { max-width:100%; border-radius:8px; border:1px solid var(--sfcqb-border); }
.sfcqb-result-answer, .sfcqb-result-extra { margin-left:20px; margin-top:4px; font-weight:700; color:var(--sfcqb-accent); cursor:pointer; }
.sfcqb-result-extra { display:block; font-size:.9em; }
.sfcqb-result-answer.sfcqb-hidden-answer::after,
.sfcqb-result-extra.sfcqb-hidden-answer::after { content:" (tap to reveal)"; font-weight:400; color:var(--sfcqb-text-faint); }
.sfcqb-result-answer.sfcqb-hidden-answer .sfcqb-answer-text,
.sfcqb-result-extra.sfcqb-hidden-answer .sfcqb-answer-text { display:none; }

@media (max-width:480px) {
	.sfcqb-app { padding:22px 18px 26px; border-radius:16px; }
	.sfcqb-progress i { width:18px; }
	.sfcqb-title { font-size:1.25em; }
}

@media print {
	.sfcqb-results-actions, .sfcqb-eyebrow, .sfcqb-hero, .sfcqb-progress,
	#sfcqb-app > .sfcqb-step:not([data-step="results"]) { display:none !important; }
	.sfcqb-app { box-shadow:none; border:none; background:#fff; color:#000; }
	.sfcqb-result-company, .sfcqb-result-q { color:#000; }
}
