/* QCS HOTFIX V2 - cidades: corrige KPIs espremidos e cria area de busca/ver mais */
#cidades, .qcs-cidades-section { overflow: visible !important; }
#cidades *, .qcs-cidades-section * { box-sizing: border-box; }

/* KPI do bloco esquerdo: deixa 2x2, nao 4 colunas estreitas */
#cidades .qcs-stat-fix-wrap,
.qcs-cidades-section .qcs-stat-fix-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}
#cidades .qcs-stat-fix-card,
.qcs-cidades-section .qcs-stat-fix-card {
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  padding: 13px 12px !important;
  border-radius: 16px !important;
}
#cidades .qcs-stat-fix-label,
.qcs-cidades-section .qcs-stat-fix-label {
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.05 !important;
  letter-spacing: .02em !important;
  font-size: 10px !important;
  max-width: 100% !important;
}
#cidades .qcs-stat-fix-value,
.qcs-cidades-section .qcs-stat-fix-value {
  display: block !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-size: clamp(18px, 2.15vw, 24px) !important;
  max-width: 100% !important;
}

/* neutraliza o patch anterior onde ele tiver deixado qualquer card estreito demais */
#cidades [class*="stat"] strong,
#cidades [class*="metric"] strong,
#cidades [class*="kpi"] strong,
.qcs-cidades-section [class*="stat"] strong,
.qcs-cidades-section [class*="metric"] strong,
.qcs-cidades-section [class*="kpi"] strong {
  max-width: 100%;
}

.qcs-city-tools-v2 {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(130px, 180px) auto !important;
  gap: 12px !important;
  align-items: center !important;
  width: min(920px, 100%) !important;
  margin: 0 auto 24px !important;
}
.qcs-city-tools-v2 input,
.qcs-city-tools-v2 select {
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #D8E2EE !important;
  border-radius: 999px !important;
  padding: 12px 16px !important;
  font: inherit !important;
  background: #fff !important;
  color: #0B1F33 !important;
  outline: none !important;
}
.qcs-city-tools-v2 input:focus,
.qcs-city-tools-v2 select:focus { border-color: #FF9A1A !important; box-shadow: 0 0 0 4px rgba(255,154,26,.14) !important; }
.qcs-city-tools-v2 button,
.qcs-city-more-v2 {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  color: #fff !important;
  background: linear-gradient(135deg, #FFB000 0%, #FF7A1A 100%) !important;
  box-shadow: 0 16px 34px rgba(255,122,26,.22) !important;
}
.qcs-city-tools-v2 button[type="button"] { background: #0B1F33 !important; box-shadow: none !important; }
.qcs-city-more-wrap-v2 { text-align: center !important; margin: 24px auto 0 !important; }
.qcs-city-hidden-v2 { display: none !important; }
.qcs-city-empty-v2 {
  display: none;
  width: min(760px, 100%);
  margin: 0 auto 20px;
  padding: 16px 18px;
  border: 1px dashed #CBD5E1;
  border-radius: 18px;
  background: #fff;
  color: #64748B;
  text-align: center;
}
.qcs-city-empty-v2.is-active { display: block !important; }
.qcs-city-note-v2 {
  width: min(920px, 100%);
  margin: -6px auto 22px;
  font-size: .88rem;
  line-height: 1.45;
  color: #64748B;
  text-align: center;
}
.qcs-city-generated-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 22px;
}
.qcs-city-generated-card-v2 {
  border: 1px solid #D8E2EE;
  background: #fff;
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 16px 40px rgba(15,31,51,.05);
  min-width: 0;
}
.qcs-city-generated-card-v2 h3 { margin: 0 0 8px; font-size: 1.05rem; color: #0B1F33; }
.qcs-city-generated-card-v2 p { margin: 0 0 12px; color: #64748B; line-height: 1.45; }
.qcs-city-generated-card-v2 .qcs-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.qcs-city-generated-card-v2 .qcs-mini { background: #F6F8FB; border-radius: 12px; padding: 10px; min-width: 0; }
.qcs-city-generated-card-v2 .qcs-mini small { display:block; font-size: 10px; font-weight: 800; color: #4B5C70; text-transform: uppercase; line-height:1.1; }
.qcs-city-generated-card-v2 .qcs-mini strong { display:block; margin-top: 4px; color:#0B1F33; white-space: nowrap; font-size: .98rem; }
.qcs-city-generated-card-v2 a { display: inline-block; margin-top: 14px; color:#0B1F33; font-weight: 800; text-decoration: none; }

@media (max-width: 980px) { .qcs-city-generated-grid-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .qcs-city-tools-v2 { grid-template-columns: 1fr !important; }
  .qcs-city-generated-grid-v2 { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  #cidades .qcs-stat-fix-wrap, .qcs-cidades-section .qcs-stat-fix-wrap { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  #cidades .qcs-stat-fix-card, .qcs-cidades-section .qcs-stat-fix-card { padding: 11px 10px !important; }
  #cidades .qcs-stat-fix-value, .qcs-cidades-section .qcs-stat-fix-value { font-size: 18px !important; }
}