html { scroll-behavior: smooth; }
  body { font-size: 1.125rem; }

  /* Firmenfarben als CSS-Variablen – zentrale Anlaufstelle zum Anpassen */
  :root {
    --blue:   #1A365D;
    --mid:    #2B6CB0;
    --orange: #DD6B20;
    --bg:     #F7FAFC;
  }

  /* Hilfsklassen für Firmenfarben (da Tailwind-CDN-Config manchmal
     nicht zuverlässig lädt, definieren wir kritische Farben auch hier) */
  .bg-brand-blue   { background-color: var(--blue); }
  .bg-brand-mid    { background-color: var(--mid); }
  .bg-brand-orange { background-color: var(--orange); }
  .bg-brand-bg     { background-color: var(--bg); }
  .text-brand-blue   { color: var(--blue); }
  .text-brand-mid    { color: var(--mid); }
  .text-brand-orange { color: var(--orange); }
  .border-brand-blue   { border-color: var(--blue); }
  .border-brand-orange { border-color: var(--orange); }
  .hover-orange:hover  { background-color: #c05a18; }

  /* FAQ Akkordeon */
  .faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .3s; }
  .faq-item.open .faq-answer { max-height: 400px; padding-bottom: 1.25rem; }
  .faq-icon { transition: transform .3s; display: inline-block; }
  .faq-item.open .faq-icon { transform: rotate(45deg); }

  /* Service-Karten Hover */
  .service-card { transition: transform .2s, box-shadow .2s; }
  .service-card:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(0,0,0,.1); }

  /* Standort-Button aktiv */
  .loc-btn { transition: background .18s, color .18s, border-color .18s; }
  .loc-btn.active { background-color: var(--blue); color: #fff; border-color: var(--blue); }

  /* Zurück-nach-oben */
  #back-top {
    position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 999;
    background: var(--orange); color: #fff; border: none; border-radius: 50%;
    width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.25);
    opacity: 0; pointer-events: none; transition: opacity .3s, transform .2s;
  }
  #back-top.visible { opacity: 1; pointer-events: auto; }
  #back-top:hover { transform: translateY(-3px); }

  /* Formular Erfolgsmeldung */
  #formSuccess { display: none; }

  /* Mobile Navigation */
  #mobileNav { display: none; }
  #mobileNav.open { display: flex; }

  /* Range-Slider */
  input[type=range] { accent-color: var(--orange); }

  /* Tabellen-ähnliche Zeilen in Öffnungszeiten */
  .hours-row { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px solid #e2e8f0; }
  .hours-row:last-child { border-bottom: none; }

  /* Hero Section */
  .hero-logo-over-buttons {
    width: 100%;
    margin: 0 auto 1.5rem auto;
    object-fit: contain;
  }

  /* Responsive Anpassungen */
  @media (max-width: 767px) {
    .hero-title { font-size: 2.5rem; }
    .hero-logo-over-buttons { max-width: 200px; }
    .section-title { font-size: 1.6rem; }
    .hide-mobile { display: none !important; }
  }
  @media (min-width: 768px) {
    .hero-title { font-size: 3.5rem; }
    .hero-logo-over-buttons { max-width: 440px; }
    .show-mobile-only { display: none !important; }
  }
