/* Comparador de Bairros + Quiz — padrão visual do site */
.cb-wrap, .cb-quiz {
	--cb-navy: #1f3a5f;
	--cb-gold: #c9a227;
	--cb-wa: #0b6e4f;
	--cb-border: #d8dee6;
	--cb-soft: #f4f6f8;
	--cb-muted: #5b6a7d;
	margin: 1.5rem 0;
}
.cb-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
@media (max-width: 640px) { .cb-pick { grid-template-columns: 1fr; } }
.cb-pick label { font-weight: 600; color: var(--cb-navy); text-align: left; display: block; }
.cb-pick select {
	width: 100%;
	font-size: 1.05rem;
	padding: 12px;
	border: 1.5px solid var(--cb-border);
	border-radius: 10px;
	margin-top: 6px;
	min-height: 52px;
	background: #fff;
}
.cb-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--cb-border); border-radius: 14px; overflow: hidden; }
.cb-table th, .cb-table td { padding: 12px 14px; border-bottom: 1px solid var(--cb-soft); vertical-align: top; font-size: .97rem; }
.cb-table thead th { background: var(--cb-navy); color: #fff; text-align: left; font-size: 1.02rem; }
.cb-table tbody th { text-align: left; color: var(--cb-muted); font-weight: 600; width: 22%; }
.cb-table td { text-align: left; }
.cb-fonte { font-size: .85rem; color: var(--cb-muted); text-align: justify; margin-top: 10px; }
.cb-quiz fieldset { border: 1px solid var(--cb-border); border-radius: 12px; padding: 14px 16px; margin: 0 0 14px; background: #fff; }
.cb-quiz legend { font-weight: 700; color: var(--cb-navy); padding: 0 6px; text-align: left; }
.cb-quiz fieldset label { display: block; padding: 8px 6px; font-size: 1rem; text-align: left; cursor: pointer; }
.cb-quiz fieldset input { margin-right: 8px; transform: scale(1.2); }
.cb-btn {
	display: inline-block;
	background: var(--cb-wa);
	color: #fff !important;
	font-weight: 700;
	padding: 13px 22px;
	border-radius: 999px;
	text-decoration: none;
	border: 0;
	font-size: 1rem;
	cursor: pointer;
}
.cb-btn:hover { background: #085843; }
.cb-link { color: var(--cb-navy); font-weight: 600; }
#cb-quiz-result { background: var(--cb-soft); border: 1px solid var(--cb-border); border-radius: 14px; padding: 18px; margin-top: 16px; }
.cb-rec { background: #fff; border: 1px solid var(--cb-border); border-radius: 12px; padding: 14px 16px; margin: 10px 0; }
.cb-rec p { text-align: left; margin: 4px 0; }
.cb-rec-pos { color: var(--cb-gold); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; }
.cb-rec-nome { color: var(--cb-navy); font-weight: 800; font-size: 1.2rem; }
.cb-warn { color: #8a5a00; font-weight: 600; text-align: left; }
