/* Stadtseiten und SEO-Tanzorte */
.city-breadcrumb { padding-top:24px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:#6d7e78; font-size:14px; }
.city-breadcrumb a { color:#17614f; text-decoration:none; }
.city-hero { margin-top:24px; padding:42px; border:1px solid #dce7e2; border-radius:18px; background:linear-gradient(135deg,#eef8f4 0%,#fffaf4 100%); box-shadow:0 12px 32px rgba(24,58,49,.07); }
.city-hero h1 { margin:5px 0 12px; color:#123f36; font-size:clamp(34px,5vw,56px); line-height:1.05; }
.city-hero > p:not(.city-kicker) { max-width:760px; margin:0; color:#526a63; font-size:18px; line-height:1.65; }
.city-actions { margin-top:24px; display:flex; flex-wrap:wrap; gap:10px; }
.city-stats { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.city-stats div { padding:20px; border:1px solid #dfe7e3; border-radius:13px; display:grid; gap:3px; background:#fff; box-shadow:0 7px 20px rgba(26,52,45,.06); }
.city-stats strong { color:#11614f; font-size:30px; }
.city-stats span { color:#667872; }
.city-section { margin-top:48px; }
.city-section-heading { margin-bottom:18px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.city-section-heading h2,.city-other-places h2 { margin:5px 0 0; color:#153f36; }
.city-section-heading > a { color:#12614e; font-weight:750; }
.city-style-links { display:flex; flex-wrap:wrap; gap:9px; }
.city-style-links a { padding:9px 14px; border:1px solid #cfe0da; border-radius:999px; color:#17614f; background:#fff; font-weight:700; text-decoration:none; }
.city-style-links a:hover,.city-style-links a:focus-visible { border-color:#17614f; background:#e9f5f0; }
.city-style-links .is-all { color:#fff; background:#17614f; }
.city-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.city-result-card { min-width:0; padding:19px; border:1px solid #dde5e1; border-radius:13px; display:flex; flex-direction:column; gap:6px; color:#294a42; background:#fff; box-shadow:0 7px 20px rgba(24,50,43,.06); text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.city-result-card:hover { transform:translateY(-2px); box-shadow:0 11px 26px rgba(24,50,43,.11); }
.city-result-card strong { color:#153f36; font-size:17px; }
.city-result-card span,.city-result-card small { color:#6c7b76; }
.city-result-icon { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:#17614f!important; background:#e3f2ec; font-size:24px; }
.city-result-card-image { padding:0 0 17px; overflow:hidden; }
.city-result-card-image img { width:100%; aspect-ratio:16/9; display:block; object-fit:cover; background:#edf3f0; }
.city-result-card-image strong,.city-result-card-image span,.city-result-card-image small { margin-right:17px; margin-left:17px; }
.city-empty { padding:24px; border:1px dashed #cddbd6; border-radius:12px; color:#667872; background:#fbfdfc; }
.city-other-places { margin-bottom:58px; padding:28px; border-radius:14px; background:#f3f8f6; }
.city-other-places .city-style-links { margin-top:18px; }
.city-directory-hero { margin-bottom:26px; }
.city-directory { margin-bottom:60px; display:grid; gap:11px; }
.city-directory-card { padding:19px 21px; border:1px solid #dce5e1; border-radius:12px; display:grid; grid-template-columns:minmax(220px,1fr) minmax(280px,auto) auto; align-items:center; gap:20px; color:#294a42; background:#fff; box-shadow:0 5px 16px rgba(24,50,43,.06); text-decoration:none; }
.city-directory-card > span:first-child { display:grid; gap:3px; }
.city-directory-card strong { color:#153f36; font-size:18px; }
.city-directory-card small,.city-directory-counts { color:#6b7d77; }
.city-directory-card > span:last-child { color:#17614f; font-size:22px; }
.city-not-found { margin-top:50px; }
.home-city-links { margin-top:42px; padding:28px; border:1px solid #dce7e2; border-radius:16px; display:grid; grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr); align-items:center; gap:28px; background:#f5faf8; }
.home-city-links h2 { margin:5px 0 8px; color:#153f36; }
.home-city-links p:last-child { margin:0; color:#667872; }

@media (max-width: 800px) {
  .city-hero { padding:28px 22px; }
  .city-stats { grid-template-columns:1fr; }
  .city-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .city-directory-card { grid-template-columns:1fr auto; }
  .city-directory-counts { grid-column:1/-1; }
  .home-city-links { grid-template-columns:1fr; }
}

@media (max-width: 520px) {
  .city-actions .btn { width:100%; }
  .city-section-heading { align-items:start; flex-direction:column; }
  .city-card-grid { grid-template-columns:1fr; }
  .city-directory-card { grid-template-columns:1fr auto; gap:8px 14px; }
}
