/* QCS organic/cidades patch - nao remover sem substituir por equivalente */
#cidades, .qcs-cidades-section { overflow: hidden; }
#cidades *, .qcs-cidades-section * { box-sizing: border-box; }
#cidades .info-card,
#cidades .city-card,
#cidades .market-card,
#cidades article,
.qcs-cidades-section .info-card,
.qcs-cidades-section .city-card,
.qcs-cidades-section .market-card,
.qcs-cidades-section article {
  min-width: 0;
}

/* Corrige numeros estourando as caixas dos KPIs */
#cidades .stats-grid,
#cidades .city-stats,
#cidades .cities-stats,
#cidades .ranking-stats,
#cidades .city-market-stats,
#cidades .metric-grid,
#cidades .kpi-grid,
.qcs-cidades-section .stats-grid,
.qcs-cidades-section .city-stats,
.qcs-cidades-section .ranking-stats,
.qcs-cidades-section .metric-grid,
.qcs-cidades-section .kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch;
}

#cidades [class*="stat"],
#cidades [class*="metric"],
#cidades [class*="kpi"],
.qcs-cidades-section [class*="stat"],
.qcs-cidades-section [class*="metric"],
.qcs-cidades-section [class*="kpi"] {
  min-width: 0 !important;
  overflow: hidden;
}

#cidades [class*="stat"] strong,
#cidades [class*="metric"] strong,
#cidades [class*="kpi"] strong,
#cidades .stat-number,
#cidades .metric-number,
#cidades .kpi-number,
.qcs-cidades-section [class*="stat"] strong,
.qcs-cidades-section [class*="metric"] strong,
.qcs-cidades-section [class*="kpi"] strong,
.qcs-cidades-section .stat-number,
.qcs-cidades-section .metric-number,
.qcs-cidades-section .kpi-number {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  font-size: clamp(1rem, 1.8vw, 1.35rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em;
}

#cidades [class*="stat"] small,
#cidades [class*="metric"] small,
#cidades [class*="kpi"] small,
.qcs-cidades-section [class*="stat"] small,
.qcs-cidades-section [class*="metric"] small,
.qcs-cidades-section [class*="kpi"] small {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.15;
}

/* Ferramentas de busca/filtro adicionadas por JS */
.qcs-city-tools {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(120px, 180px) auto;
  gap: 12px;
  align-items: center;
  margin: 0 auto 28px;
  max-width: 920px;
}
.qcs-city-tools input,
.qcs-city-tools select {
  width: 100%;
  min-height: 48px;
  border: 1px solid #E2E8F0;
  border-radius: 999px;
  padding: 12px 16px;
  font: inherit;
  color: #0B1F33;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15,31,51,.05);
}
.qcs-city-tools button,
.qcs-city-more-button {
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 900;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, #FFB000 0%, #FF7A1A 100%);
  box-shadow: 0 16px 34px rgba(255, 122, 26, .22);
}
.qcs-city-tools button[type="button"] {
  background: #0B1F33;
  box-shadow: none;
}
.qcs-city-hidden { display: none !important; }
.qcs-city-view-more-wrap { text-align: center; margin-top: 26px; }
.qcs-city-empty {
  display: none;
  text-align: center;
  padding: 18px;
  border: 1px dashed #CBD5E1;
  border-radius: 18px;
  color: #64748B;
  background: #fff;
  margin: 0 auto 22px;
  max-width: 720px;
}
.qcs-city-empty.active { display: block; }
.qcs-city-sanity-note {
  max-width: 920px;
  margin: -10px auto 24px;
  color: #64748B;
  font-size: .88rem;
  text-align: center;
}

@media (max-width: 760px) {
  .qcs-city-tools { grid-template-columns: 1fr; }
  #cidades .stats-grid,
  #cidades .city-stats,
  #cidades .cities-stats,
  #cidades .ranking-stats,
  #cidades .city-market-stats,
  #cidades .metric-grid,
  #cidades .kpi-grid,
  .qcs-cidades-section .stats-grid,
  .qcs-cidades-section .city-stats,
  .qcs-cidades-section .ranking-stats,
  .qcs-cidades-section .metric-grid,
  .qcs-cidades-section .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 420px) {
  #cidades .stats-grid,
  #cidades .city-stats,
  #cidades .cities-stats,
  #cidades .ranking-stats,
  #cidades .city-market-stats,
  #cidades .metric-grid,
  #cidades .kpi-grid,
  .qcs-cidades-section .stats-grid,
  .qcs-cidades-section .city-stats,
  .qcs-cidades-section .ranking-stats,
  .qcs-cidades-section .metric-grid,
  .qcs-cidades-section .kpi-grid {
    grid-template-columns: 1fr !important;
  }
}