/* ======================================
   Karte Global: City Finder methodology (/city-finder/methodology)
   Builds on base.css and pages/city-finder.css.
   ====================================== */

.cfm-intro { padding-bottom: 1.5rem; }

.cfm-crumbs {
  font-size: 0.8rem;
  color: var(--secondary);
  margin-bottom: 1.5rem;
}

.cfm-crumbs a { color: var(--secondary); text-underline-offset: 2px; }

.cfm-intro .page-byline { color: var(--secondary); }

.cfm-body {
  padding: 1rem 0 4.5rem;
  background: var(--bg);
}

.cfm-toc {
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  background: var(--bg-card);
  border-radius: 2px;
  padding: 1.1rem 1.4rem;
  margin: 0 0 1rem;
}

.cfm-toc ol {
  margin: 0;
  padding-left: 1.2rem;
  columns: 1;
}

@media (min-width: 700px) {
  .cfm-toc ol { columns: 2; column-gap: 2.5rem; }
}

.cfm-toc li { padding: 0.15rem 0; break-inside: avoid; }

.cfm-body h2 {
  margin: 3rem 0 0.9rem;
  scroll-margin-top: 6rem;
}

.cfm-body p,
.cfm-body li {
  max-width: 72ch;
  color: var(--text-soft);
}

.cfm-body ul,
.cfm-body ol { padding-left: 1.3rem; }

.cfm-body li { margin-bottom: 0.55rem; }

.cfm-body li strong,
.cfm-body p strong { color: var(--text); }

.cfm-scroll { overflow-x: auto; margin: 1.2rem 0 0; }

.cfm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
}

.cfm-table caption {
  text-align: left;
  font-size: 0.8rem;
  color: var(--secondary);
  padding-bottom: 0.5rem;
}

.cfm-table th,
.cfm-table td {
  padding: 0.6rem 0.8rem;
  border-top: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.cfm-table thead th {
  border-top: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
  white-space: nowrap;
}

.cfm-table tbody th { font-weight: 600; color: var(--headline); white-space: nowrap; }

.cfm-table td.num,
.cfm-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.cfm-countries { min-width: 620px; }
.cfm-factors { min-width: 560px; }

.cfm-cite {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  color: var(--headline);
  border-left: 3px solid var(--accent);
  padding-left: 1rem;
  overflow-wrap: anywhere;
}

.cfm-body .cf-note { margin-top: 3rem; }

.cfm-back { margin-top: 2rem; }
