.trq-quiz-app {
	--trq-primary: #2271b1;
	--trq-option-img-height: 110px;
	--trq-title-size: 24px;
	--trq-option-size: 16px;
	--trq-radius: 8px;
	--trq-option-cols: repeat(auto-fit, minmax(150px, 1fr));
	--trq-results-cols: repeat(auto-fit, minmax(220px, 1fr));
	--trq-max-width: 100%;
	--trq-option-img-fit: cover;
	--trq-result-img-fit: contain;
	--trq-option-cols-tablet: repeat(3, minmax(0, 1fr));
	--trq-option-cols-mobile: repeat(2, minmax(0, 1fr));
	--trq-results-cols-tablet: repeat(2, minmax(0, 1fr));
	--trq-results-cols-mobile: repeat(1, minmax(0, 1fr));

	width: 100%;
	max-width: var(--trq-max-width);
	margin: 0 auto;
	box-sizing: border-box;
	font-family: inherit;
}
.trq-quiz-app * {
	box-sizing: border-box;
}
.trq-progress {
	height: 6px;
	background: #e5e5e5;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 8px;
}
.trq-progress-bar {
	height: 100%;
	background: var(--trq-primary);
	transition: width .3s ease;
}
.trq-step-label {
	font-size: 13px;
	color: #666;
	margin-bottom: 18px;
}
.trq-question-title {
	font-size: var(--trq-title-size);
	margin: 0 0 20px;
}
.trq-options-grid {
	display: grid;
	grid-template-columns: var(--trq-option-cols);
	gap: 16px;
}
.trq-option-card {
	border: 2px solid #e5e5e5;
	border-radius: var(--trq-radius);
	overflow: hidden;
	cursor: pointer;
	background: #fff;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
	text-align: center;
}
.trq-option-card img {
	width: 100%;
	height: var(--trq-option-img-height);
	max-width: none;
	object-fit: var(--trq-option-img-fit) !important;
	display: block;
	transition: transform .25s ease;
}
.trq-option-label {
	padding: 12px 10px;
	font-weight: 600;
	font-size: var(--trq-option-size);
}
.trq-option-card.is-selected {
	border-color: var(--trq-primary);
}

.trq-hover-lift .trq-option-card:hover {
	border-color: var(--trq-primary);
	transform: translateY(-4px);
	box-shadow: 0 6px 16px rgba(0,0,0,.1);
}
.trq-hover-zoom .trq-option-card:hover {
	border-color: var(--trq-primary);
}
.trq-hover-zoom .trq-option-card:hover img {
	transform: scale(1.08);
}
.trq-hover-glow .trq-option-card:hover {
	border-color: var(--trq-primary);
	box-shadow: 0 0 0 4px rgba(34,113,177,.25);
}
.trq-hover-none .trq-option-card:hover {
	border-color: var(--trq-primary);
}

.trq-nav {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
}
.trq-btn {
	display: inline-block;
	padding: 11px 22px;
	border-radius: var(--trq-radius);
	background: var(--trq-primary);
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 15px;
	text-decoration: none;
}
.trq-btn.trq-btn-secondary {
	background: transparent;
	color: var(--trq-primary);
	border: 1px solid var(--trq-primary);
}
.trq-lead-form input {
	display: block;
	width: 100%;
	padding: 10px;
	margin-bottom: 12px;
	border: 1px solid #ccc;
	border-radius: var(--trq-radius);
	box-sizing: border-box;
	font-size: var(--trq-option-size);
}
.trq-results-grid {
	display: grid;
	grid-template-columns: var(--trq-results-cols);
	gap: 18px;
	margin-top: 10px;
}
.trq-result-card {
	border: 1px solid #e5e5e5;
	border-radius: var(--trq-radius);
	overflow: hidden;
	background: #fff;
}
.trq-result-card img {
	width: 100%;
	height: 180px;
	max-width: none;
	object-fit: var(--trq-result-img-fit) !important;
	background: transparent;
}
.trq-result-body {
	padding: 14px;
}
.trq-result-body h3 {
	margin: 0 0 6px;
	font-size: var(--trq-title-size);
}
.trq-result-body p {
	font-size: var(--trq-option-size);
}
.trq-result-match {
	font-size: 13px;
	color: var(--trq-primary);
	font-weight: 600;
	margin-bottom: 8px;
}
.trq-restart-wrap {
	text-align: center;
	margin-top: 24px;
}

/* Responsividade: colunas configuráveis por dispositivo */
@media (max-width: 1024px) {
	.trq-options-grid { grid-template-columns: var(--trq-option-cols-tablet); }
	.trq-results-grid { grid-template-columns: var(--trq-results-cols-tablet); }
}
@media (max-width: 640px) {
	.trq-options-grid { grid-template-columns: var(--trq-option-cols-mobile); gap: 10px; }
	.trq-results-grid { grid-template-columns: var(--trq-results-cols-mobile); }
	.trq-question-title { line-height: 1.25; }
	.trq-option-label { padding: 8px 6px; }
}
