/* ==========================================================================
   Hair Care Quiz (/hair-quiz/) — only enqueued on this page.
   ========================================================================== */

.lcbm-quiz-hero {
	background: var(--lcbm-color-bg-dark);
	color: #fff;
	padding-block: var(--lcbm-space-xl) var(--lcbm-space-lg);
	text-align: center;
}
.lcbm-quiz-hero-eyebrow {
	display: inline-block;
	font-family: var(--lcbm-font-accent);
	font-style: italic;
	font-weight: 500;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--lcbm-color-highlight);
	margin-bottom: 0.6rem;
}
.lcbm-quiz-hero h1 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.6rem); max-width: 24ch; margin-inline: auto; }
.lcbm-quiz-hero p { color: rgba(255,255,255,0.85); max-width: 46ch; margin-inline: auto; }

.lcbm-quiz-inner { display: flex; justify-content: center; }
.lcbm-quiz {
	width: 100%;
	max-width: 640px;
	background: var(--lcbm-color-bg);
	border-radius: var(--lcbm-radius-lg);
	box-shadow: var(--lcbm-shadow-md);
	padding: var(--lcbm-space-lg) var(--lcbm-space-md);
	margin-top: calc(-1 * var(--lcbm-space-xl));
	position: relative;
	z-index: 2;
}

.lcbm-quiz-progress { margin-bottom: var(--lcbm-space-lg); }
.lcbm-quiz-progress-track {
	width: 100%;
	height: 6px;
	border-radius: var(--lcbm-radius-pill);
	background: var(--lcbm-color-border);
	overflow: hidden;
	margin-bottom: 0.5rem;
}
.lcbm-quiz-progress-fill {
	display: block;
	height: 100%;
	background: var(--lcbm-color-primary);
	border-radius: var(--lcbm-radius-pill);
	transition: width 0.3s ease;
}
.lcbm-quiz-progress-label {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--lcbm-color-text-muted);
	text-align: center;
}

.lcbm-quiz-step { display: none; }
.lcbm-quiz-step.is-active { display: block; animation: lcbm-quiz-step-in 0.35s ease; }
@keyframes lcbm-quiz-step-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.lcbm-quiz-step.is-active { animation: none; }
}

.lcbm-quiz-step h2 { text-align: center; font-size: 1.3rem; margin-bottom: 0.3rem; }
.lcbm-quiz-step-subtitle { text-align: center; color: var(--lcbm-color-text-muted); margin-bottom: var(--lcbm-space-md); font-size: 0.9rem; }

.lcbm-quiz-options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem;
	margin-top: var(--lcbm-space-md);
}
@media (min-width: 480px) { .lcbm-quiz-options { grid-template-columns: repeat(2, 1fr); } }

.lcbm-quiz-option {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0.9rem 1.1rem;
	border-radius: var(--lcbm-radius-md);
	border: 2px solid var(--lcbm-color-border);
	background: var(--lcbm-color-bg);
	color: var(--lcbm-color-text);
	font-family: var(--lcbm-font-body);
	font-size: 0.9rem;
	font-weight: 500;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
}
.lcbm-quiz-option:hover { border-color: var(--lcbm-color-secondary); transform: translateY(-1px); }
.lcbm-quiz-option.is-selected {
	border-color: var(--lcbm-color-primary);
	background: var(--lcbm-color-bg-light);
	color: var(--lcbm-color-primary);
	font-weight: 700;
}

.lcbm-quiz-step-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: var(--lcbm-space-lg);
}
.lcbm-quiz-back[hidden] { visibility: hidden; }
.lcbm-quiz-step-actions .btn-primary { margin-left: auto; }

/* ---- Result screen ---- */
.lcbm-quiz-result-inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--lcbm-space-md);
	align-items: center;
}
@media (min-width: 560px) { .lcbm-quiz-result-inner { grid-template-columns: 200px 1fr; } }

.lcbm-quiz-result-media {
	aspect-ratio: 1 / 1;
	border-radius: var(--lcbm-radius-md);
	overflow: hidden;
	background: var(--lcbm-color-bg-light);
}
.lcbm-quiz-result-media img { width: 100%; height: 100%; object-fit: cover; }

.lcbm-quiz-result-eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--lcbm-color-accent);
	margin-bottom: 0.3rem;
}
.lcbm-quiz-result-content h2 { margin-bottom: 0.4rem; }
.lcbm-quiz-result-desc,
.lcbm-quiz-result-summary { color: var(--lcbm-color-text-muted); font-size: 0.9rem; margin-bottom: 0.5rem; }
.lcbm-quiz-result-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: var(--lcbm-space-sm); }
