/* ============================================
   Leadnet.de - Standorte / Lokale Landingpages
   Nutzt die globalen CSS-Variablen aus style.css
   ============================================ */

/* --- Breadcrumb --- */
.breadcrumb {
  margin: 1.5rem 0;
}

.breadcrumb ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.breadcrumb li:not(:last-child)::after {
  content: "›";
  margin-left: 0.4rem;
}

.breadcrumb a {
  color: var(--blue);
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb [aria-current="page"] {
  color: var(--text);
  font-weight: 600;
}

/* --- Standort Intro --- */
.standort-intro,
.standorte-intro {
  margin-bottom: 2.5rem;
}

.standort-intro h2,
.standorte-intro h2 {
  color: var(--blue-deep);
  margin-bottom: 0.75rem;
}

[data-theme="dark"] .standort-intro h2,
[data-theme="dark"] .standorte-intro h2 {
  color: var(--blue);
}

/* --- Vorteile Liste --- */
.vorteile-liste {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.vorteile-liste li {
  padding: 0.75rem 0 0.75rem 2rem;
  position: relative;
  border-bottom: 1px solid var(--glass-border);
}

.vorteile-liste li:last-child {
  border-bottom: none;
}

.vorteile-liste li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--blue);
  font-weight: 700;
  font-size: 1.1rem;
}

/* --- Standort Info (dl) --- */
.info-liste {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5rem 1.5rem;
  margin: 1.5rem 0;
  padding: 1.5rem;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-sm);
}

.info-liste dt {
  font-weight: 600;
  color: var(--text);
}

.info-liste dd {
  margin: 0;
  color: var(--text-muted);
}

/* --- Standort FAQ --- */
.standort-faq {
  margin-top: 3rem;
}

.standort-faq h2 {
  margin-bottom: 1.5rem;
}

/* --- Standort CTA --- */
.standort-cta,
.standorte-cta {
  margin-top: 3rem;
  padding: 2.5rem;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  text-align: center;
}

.standort-cta h2,
.standorte-cta h2 {
  color: var(--blue-deep);
  margin-bottom: 0.75rem;
}

[data-theme="dark"] .standort-cta h2,
[data-theme="dark"] .standorte-cta h2 {
  color: var(--blue);
}

/* --- Übersichtsseite: Grid --- */
.standorte-region {
  margin-bottom: 2.5rem;
}

.standorte-region h2 {
  color: var(--blue-deep);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--orange);
}

[data-theme="dark"] .standorte-region h2 {
  color: var(--blue);
}

.standorte-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
}

.standort-karte {
  display: block;
  padding: 1.5rem;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: var(--text);
  transition: var(--transition);
}

.standort-karte:hover {
  background: var(--glass-bg-strong);
  box-shadow: var(--card-hover-shadow);
  transform: translateY(-2px);
}

.standort-karte h3 {
  margin: 0 0 0.25rem;
  color: var(--blue-deep);
  font-size: 1.1rem;
}

[data-theme="dark"] .standort-karte h3 {
  color: var(--blue);
}

.standort-karte__entfernung {
  font-size: 0.85rem;
  color: var(--orange);
  font-weight: 600;
  margin: 0 0 0.5rem;
}

.standort-karte__info {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.4;
}

/* --- Sections Spacing --- */
.standort-services,
.standort-vorteile,
.standort-info {
  margin-top: 3rem;
}

.standort-services h2,
.standort-vorteile h2,
.standort-info h2 {
  color: var(--blue-deep);
  margin-bottom: 1rem;
}

[data-theme="dark"] .standort-services h2,
[data-theme="dark"] .standort-vorteile h2,
[data-theme="dark"] .standort-info h2 {
  color: var(--blue);
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .standorte-grid {
    grid-template-columns: 1fr;
  }

  .info-liste {
    grid-template-columns: 1fr;
    gap: 0.25rem 0;
  }

  .info-liste dt {
    margin-top: 0.75rem;
  }

  .standort-cta,
  .standorte-cta {
    padding: 1.5rem;
  }
}


/* --- Standort-Karte Links --- */
.standort-karte__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--glass-border);
}

.standort-karte__links a {
  font-size: 0.8rem;
  color: var(--blue);
  text-decoration: none;
  padding: 0.2rem 0.5rem;
  border-radius: var(--radius-xs);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  transition: var(--transition);
}

.standort-karte__links a:hover {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}


/* --- Klickbare Service-Cards --- */
a.service-card {
  text-decoration: none;
  color: var(--text);
  display: block;
  cursor: pointer;
}

a.service-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--card-hover-shadow);
}

a.service-card h3 {
  color: var(--blue);
}

a.service-card.service-card--orange h3 {
  color: var(--orange);
}
