/* Startseite: kompaktere Reihenfolge unterhalb des unveränderten Hero-Bereichs */

.home-services,
.home-reviews,
.home-process,
.home-tools {
  padding: 56px 0;
}

.home-services .section-head,
.home-reviews .section-head,
.home-process .section-head {
  margin-bottom: 24px;
}

.home-services .card {
  padding: 20px;
}

.home-services .card-icon {
  margin-bottom: 14px;
}

.home-services .card .text-link {
  margin-top: 13px;
}

/* Standort & Bewertungen kompakter */

.home-reviews .google-grid {
  gap: 14px;
}

.home-reviews .google-card {
  min-height: 280px;
  padding: 22px;
}

.home-reviews .map-card {
  padding: 0;
}

.home-reviews .map-consent,
.home-reviews .google-map-frame {
  min-height: 280px;
}

.home-reviews .map-placeholder {
  min-height: 280px;
  padding: 24px;
  gap: 16px;
}

.home-reviews .google-card h3 {
  font-size: clamp(1.45rem,2.5vw,2rem);
  margin: 7px 0 9px;
}

.home-reviews .google-card p {
  margin-bottom: 15px;
}

.home-reviews .google-stars {
  margin: 11px 0 15px;
}

.home-reviews .google-badge,
.home-reviews .map-pin {
  width: 48px;
  height: 48px;
  border-radius: 14px;
}

/* Ablauf etwas flacher */

.home-process .process {
  gap: 12px;
}

.home-process .step {
  padding: 18px 17px 17px;
}

.home-process .step::before {
  margin-bottom: 11px;
}

.home-process .step p {
  font-size: .9rem;
  line-height: 1.45;
}

/* Kalibrierung + Kontakt gemeinsam in einer Reihe */

.home-tools-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
}

.home-tools-grid .panel {
  padding: 24px;
  height: 100%;
}

.home-tools-grid .panel h2 {
  font-size: clamp(1.75rem,3vw,2.4rem);
  margin: 6px 0 12px;
}

.home-tools-grid .panel p {
  margin: 0 0 16px;
}

.home-tools-grid .actions {
  margin-top: 14px;
}

.home-tools-grid .download-note {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

@media (max-width:960px) {
  .home-services,
  .home-reviews,
  .home-process,
  .home-tools {
    padding: 46px 0;
  }
  .home-tools-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width:620px) {
  .home-services,
  .home-reviews,
  .home-process,
  .home-tools {
    padding: 38px 0;
  }
  .home-reviews .google-card,
  .home-reviews .map-placeholder,
  .home-reviews .map-consent,
  .home-reviews .google-map-frame {
    min-height: auto;
  }
  .home-reviews .map-placeholder {
    padding: 20px;
  }
  .home-tools-grid .panel {
    padding: 20px;
  }
}

/* FAQ: native, tastaturbedienbare Aufklappfelder. */

.home-faq {
  padding: 56px 0;
}

.faq-list {
  border-top: 1px solid var(--line);
}

.faq-item {
  border-bottom: 1px solid var(--line);
}

.faq-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 0;
  font-weight: 650;
  font-size: 1.05rem;
  line-height: 1.5;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: '+';
  color: var(--accent-2);
  font-size: 1.5rem;
  flex-shrink: 0;
}

.faq-item[open] summary::after {
  content: '−';
}

.faq-item summary:focus-visible {
  outline: 2px solid var(--accent-2);
  outline-offset: 4px;
}

.faq-answer {
  max-width: 820px;
  padding: 0 30px 20px 0;
}

.faq-answer p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.7;
}

.faq-contact {
  margin: 24px 0 0;
  color: var(--muted);
}

@media (max-width:620px) {
  .home-faq {
    padding: 38px 0;
  }
  .faq-item summary {
    font-size: 1rem;
    padding: 18px 0;
  }
}
