/* 1A-Gutachten: behutsame, gemeinsame Anpassungen für alle Seiten. */
@font-face {
  font-family: Inter;
  src: url('/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --site-background: #F8FAFC;
  --site-content-width: 1180px;
  --site-cta-color: #B9520B;
  --site-cta-hover: #984208;
}
body, main, header, header .header-top {
  background: var(--site-background);
}
body { font-family: Inter, sans-serif; }
header { box-shadow: 0 2px 8px rgb(15 23 42 / 4%); }
header .header-top, header .header-top a { color: #475569; }
header .header-top { border-bottom: 1px solid #E2E8F0; }
header .header-top .text-amber-400 { color: #64748B; }
main .site-content-section {
  background: var(--site-background) !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  color: #1E293B;
}
/* Hero und Footer behalten ihre jeweiligen Hintergründe. */
main .site-hero.hero-section {
  background: linear-gradient(135deg, #F1F5F9 0%, #FFFFFF 100%) !important;
}
main .expertise-section::before,
main > section + section::before { display: none; }

/* Schmale Textspalten bleiben schmal. Nur die breiten Container ändern sich. */
@media (min-width: 1024px) {
  .max-w-7xl, .container { max-width: var(--site-content-width); }
  .navbar .nav-links { gap: 18px; }
  .navbar .nav-links a { font-size: .925rem; }
}
/* Die vorhandene Navigation klappt früher um, bevor ihre Links gedrängt sind. */
@media (min-width: 992px) and (max-width: 1199px) {
  header .mobile-menu-btn { display: block; }
  header .nav-links {
    position: absolute;
    top: 100%; left: 0; right: 0;
    display: none;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
    background: var(--site-background);
    border-top: 1px solid #E2E8F0;
    box-shadow: 0 8px 18px rgb(15 23 42 / 6%);
  }
  header .nav-links.active { display: flex; }
}
@media (max-width: 1199px) {
  header .nav-links { background: var(--site-background); }
}

/* Primärer Kontakt bleibt im Hero farbig; wiederholte CTAs werden ruhiger. */
.btn-primary, .btn-outline {
  min-height: 44px;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  font-weight: 600;
  box-shadow: none;
  transform: none;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn-primary {
  background: var(--site-cta-color);
  border: 1px solid transparent;
  color: #FFFFFF;
}
.btn-primary:hover {
  background: var(--site-cta-hover);
  color: #FFFFFF;
  box-shadow: none;
  transform: none;
}
.btn-outline {
  border: 1px solid #CBD5E1;
  background: transparent;
  color: #1E3A8A;
}
.btn-outline:hover {
  background: #EFF6FF;
  border-color: #94A3B8;
  color: #1E3A8A;
  box-shadow: none;
  transform: none;
}
header .btn-primary,
.site-content-section .btn-primary {
  background: transparent;
  border: 1px solid #CBD5E1;
  color: #1E3A8A;
}
header .btn-primary:hover,
.site-content-section .btn-primary:hover {
  background: #EFF6FF;
  border-color: #94A3B8;
  color: #1E3A8A;
}
.btn-primary:focus-visible, .btn-outline:focus-visible,
.whatsapp-float:focus-visible {
  outline: 3px solid #1E3A8A;
  outline-offset: 3px;
}
.floating-review, .floating-info {
  animation: none;
  box-shadow: 0 4px 14px rgb(15 23 42 / 7%);
}
.card-hover:hover, .location-card:hover {
  transform: none;
  box-shadow: 0 5px 16px rgb(15 23 42 / 6%);
}
.whatsapp-float, .whatsapp-float:hover {
  color: #166534;
  background: #FFFFFF;
  border: 1px solid #BBCEBF;
  box-shadow: 0 3px 12px rgb(15 23 42 / 8%);
  transform: none;
  font-weight: 600;
  animation: none;
}
main .site-calm-panel {
  background: #FFFFFF !important;
  border-color: #E2E8F0 !important;
  color: #1E293B;
  box-shadow: 0 3px 12px rgb(15 23 42 / 4%);
}
main .site-calm-panel h2,
main .site-calm-panel h3,
main .site-content-section > div > h2,
main .site-calm-panel .text-white:not(.btn-primary):not(.btn-outline):not([class*="bg-brand-"]):not([class*="bg-emerald-"]) {
  color: #0F172A;
}
main .site-calm-panel p,
main .site-calm-panel .text-slate-300,
main .site-content-section > div > p.text-slate-300 { color: #64748B; }
main .site-calm-panel .text-orange-300,
main .site-calm-panel .text-blue-200 { color: #1E3A8A; }
/* Lesbare Überschrift auf zuvor dunklen Ablauf-Abschnitten. */
main .site-content-section > div > div > h2.text-white { color: #0F172A; }
.site-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  vertical-align: -.125em;
  font-style: normal;
  flex-shrink: 0;
}
.site-icon > svg { width: 100%; height: 100%; fill: currentColor; }
.site-icon.fa-bars .site-menu-close,
.site-icon.fa-xmark .site-menu-open { display: none; }
@media (max-width: 640px) {
  .micro-trust { flex-wrap: wrap; }
  .micro-trust, .micro-trust > div { min-width: 0; }
  .whatsapp-float { right: 16px; bottom: 16px; padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn-primary, .btn-outline, .card-hover, .floating-review,
  .floating-info, .whatsapp-float { transition: none; animation: none; }
}
