/* ===== CITY PAGE SPECIFIC CSS ===== */

/* City page uses smaller hero */
.hero { padding: 48px 0 64px; }
.hero h1 { font-size: 2.2rem; }
.hero-sub { font-size: 1rem; max-width: 640px; }
.hero-stats { max-width: 560px; gap: 16px; }
.hero-stat { border-radius: 10px; padding: 16px; }
.hero-stat-value { font-size: 1.6rem; }
.hero-stat-label { font-size: 0.8rem; margin-top: 2px; }

/* Section overrides for city */
.section { padding: 48px 0; }
.section h2 { font-size: 1.5rem; margin-bottom: 12px; }
.section-intro { font-size: 0.95rem; margin-bottom: 24px; }

/* Tables (city variant - slightly tighter) */
th { padding: 12px 14px; font-size: 0.82rem; }
td { padding: 12px 14px; border-bottom: 1px solid var(--slate-100); font-size: 0.92rem; }

/* Content block */
.content-block { margin-bottom: 32px; }
.content-block h3 { font-size: 1.2rem; margin-bottom: 8px; }
.content-block p { color: var(--slate-500); margin-bottom: 12px; font-size: 0.95rem; }

/* Arbeitgeber list */
.arbeitgeber-list { list-style: none; padding: 0; }
.arbeitgeber-list li { padding: 8px 0; border-bottom: 1px solid var(--slate-100); font-size: 0.92rem; color: var(--slate-500); }
.arbeitgeber-list li strong { color: var(--slate-900); }

/* Insider tip (city variant - smaller margin) */
.insider-tip { margin: 24px 0; }

/* City grid (city page variant) */
.city-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 16px; }
.city-link { background: #fff; border: 1px solid var(--slate-200); border-radius: 8px; padding: 10px 14px; text-align: center; color: var(--slate-900); font-weight: 500; font-size: 0.88rem; transition: all 0.2s; }
.city-link:hover { border-color: var(--frost-600); color: var(--frost-600); text-decoration: none; }
.city-link.active { border-color: var(--frost-600); background: var(--frost-50); color: var(--frost-600); font-weight: 700; }

/* CTA box (city page variant) */
.cta-box { background: linear-gradient(135deg, var(--slate-900), #0D2847); color: #fff; border-radius: 16px; padding: 32px; text-align: center; margin: 32px 0; }
.cta-box h3 { color: #fff; margin-bottom: 8px; }
.cta-box p { color: var(--slate-400); margin-bottom: 20px; }

/* Simple footer (city pages) */
.footer { padding: 32px 0; text-align: center; font-size: 0.85rem; }

/* Responsive */
@media (max-width: 768px) {
  .hero h1 { font-size: 1.6rem; }
  .hero-stats { grid-template-columns: 1fr; }
}
