.pqr-quiz-wrap {
	--pqr-fg: currentColor;
	--pqr-border: color-mix(in srgb, currentColor 20%, transparent);
	--pqr-muted: color-mix(in srgb, currentColor 65%, transparent);
	--pqr-hover-bg: color-mix(in srgb, currentColor 8%, transparent);
	max-width: 720px;
	margin: 0 auto;
	font: inherit;
	color: inherit;
	box-sizing: border-box;
}
.pqr-quiz-wrap * { box-sizing: border-box; }
.pqr-quiz-header { margin-bottom: 1.25em; text-align: center; }
.pqr-quiz-header h3 { margin: 0 0 0.35em; font-size: 1.4em; }
.pqr-quiz-header p { margin: 0; color: var(--pqr-muted); }
.pqr-progress { height: 6px; background: var(--pqr-border); border-radius: 999px; overflow: hidden; margin-bottom: 1.5em; }
.pqr-progress-bar { height: 100%; background: var(--pqr-fg); opacity: 0.8; transition: width .3s ease; width: 0%; }
.pqr-step-label { font-size: 0.85em; color: var(--pqr-muted); margin-bottom: 0.5em; text-align: center; }
.pqr-question { font-size: 1.15em; font-weight: 600; margin-bottom: 1em; text-align: center; }
.pqr-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.75em; margin-bottom: 1.5em; }
.pqr-option-btn {
	display: block; width: 100%; padding: 0.9em 1em; border: 1px solid var(--pqr-border);
	border-radius: 8px; background: transparent; color: inherit; font: inherit; cursor: pointer;
	text-align: center; transition: border-color .15s ease, background .15s ease;
}
.pqr-option-btn:hover, .pqr-option-btn:focus-visible { border-color: var(--pqr-fg); background: var(--pqr-hover-bg); }
.pqr-option-btn[aria-pressed="true"] { border-color: var(--pqr-fg); border-width: 2px; font-weight: 600; }
.pqr-nav { display: flex; justify-content: space-between; gap: 1em; }
.pqr-nav button { font: inherit; }
.pqr-btn-secondary { background: none; border: 1px solid var(--pqr-border); color: inherit; padding: 0.6em 1.2em; border-radius: 6px; cursor: pointer; }
.pqr-loading-placeholder, .pqr-loading { display: flex; flex-direction: column; align-items: center; gap: 1em; padding: 2.5em 1em; }
.pqr-spinner {
	width: 32px; height: 32px; border-radius: 50%; border: 3px solid var(--pqr-border);
	border-top-color: var(--pqr-fg); animation: pqr-spin 0.8s linear infinite;
}
@keyframes pqr-spin { to { transform: rotate(360deg); } }
.pqr-results-intro { text-align: center; margin-bottom: 1.25em; color: var(--pqr-muted); }
.pqr-empty-state { text-align: center; padding: 2em 1em; color: var(--pqr-muted); }
.pqr-results-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1em; margin-bottom: 1.5em; }
.pqr-product-card { border: 1px solid var(--pqr-border); border-radius: 8px; padding: 0.9em; text-align: center; }
.pqr-product-card img { max-width: 100%; height: auto; border-radius: 4px; margin-bottom: 0.6em; }
.pqr-product-card h4 { font-size: 0.95em; margin: 0 0 0.4em; }
.pqr-product-card .price { display: block; margin-bottom: 0.6em; font-weight: 600; }
.pqr-results-footer { text-align: center; }
.pqr-results-footer a { color: inherit; text-decoration: underline; }
@media (max-width: 480px) {
	.pqr-nav { flex-direction: column-reverse; }
	.pqr-nav button { width: 100%; }
}
