/* Feinschliff · gemeinsam auf allen Marketing-Seiten (index, hausverwaltungen,
   makler, termin, ueber, was-wir-tun, wissen). Wird nach dem Seiten-Style
   geladen und ergänzt dort fehlende Grundregeln. Stand 15.10.2026. */

::selection { background: #C9D8F5; color: #0F1115; }
:focus-visible { outline: 2px solid #1F4FAF; outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { line-height: 1.2; text-wrap: balance; }
p { text-wrap: pretty; }
html { scroll-behavior: smooth; }
a.btnp, a.btno, .cta-btn, .nav .cta-nav, .checkform button { transition: background-color .15s ease, border-color .15s ease, color .15s ease; }

@media (max-width: 720px) {
  /* Marke darf umbrechen, das Menü-Symbol bleibt rechts daneben */
  .brand { flex: 1 1 0; min-width: 0; }
  .hamburger { flex: none; }
  .nav { flex-basis: 100%; }
}

/* ---------------------------------------------------------------------------
   Rückruf-Zeile: an Entscheidungsstellen im Seitenverlauf
   --------------------------------------------------------------------------- */
.rueckruf {
  display: flex; align-items: center; gap: 16px;
  margin-top: 24px; padding: 16px 18px;
  background: #F4F7FD; border: 1px solid #DCE5F6; border-radius: 12px;
}
.rueckruf, .rueckruf * { box-sizing: border-box; }
.rueckruf img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; background: #E7EEFB; }
.rueckruf p { flex: 1; font-size: 15px; line-height: 1.5; color: #2A2D33; margin: 0; }
.rueckruf p strong { display: block; color: #0F1115; font-weight: 600; }
a.rr-btn {
  flex: none; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  background: #1F4FAF; color: #FFFFFF; padding: 12px 20px; border-radius: 8px;
  font-weight: 600; font-size: 15px; text-decoration: none;
  transition: background-color .15s ease;
}
a.rr-btn:hover { background: #15327A; color: #FFFFFF; text-decoration: none; }
a.rr-btn svg, .sticky .p svg { flex: none; }
/* Variante auf dunklem Grund (Schluss-CTA) */
a.rr-btn.on-dark { background: transparent; border: 1.5px solid rgba(255,255,255,.45); padding: 12.5px 22px; }
a.rr-btn.on-dark:hover { background: rgba(255,255,255,.1); border-color: #FFFFFF; }

@media (max-width: 600px) {
  .rueckruf { flex-wrap: wrap; }
  .rueckruf p { flex-basis: calc(100% - 64px); }
  .rueckruf a.rr-btn { width: 100%; justify-content: center; padding: 13px 16px; }
}

/* ---------------------------------------------------------------------------
   Sticky-Rückruf: mobil als Leiste unten (Seiten-Style), am Desktop als
   schwebender Button unten rechts. Blendet sich am Seitenende aus (rueckruf.js).
   --------------------------------------------------------------------------- */
.sticky { transition: opacity .2s ease, transform .2s ease; }
.sticky.at-end { opacity: 0; transform: translateY(12px); pointer-events: none; }
.sticky .p svg { display: none; }

@media (max-width: 760px) {
  .sticky a { padding: 13px 6px; white-space: nowrap; font-size: clamp(14px, 4vw, 15px); }
}
@media (min-width: 761px) {
  .sticky {
    display: flex; left: auto; right: 24px; bottom: 24px;
    padding: 0; background: transparent; border: 0; box-shadow: none;
  }
  .sticky .s { display: none; }
  .sticky .p {
    flex: none; display: inline-flex; align-items: center; gap: 8px;
    padding: 13px 22px 13px 18px; border-radius: 999px; font-size: 15px;
    box-shadow: 0 10px 24px -8px rgba(15, 17, 21, .28), 0 2px 6px rgba(15, 17, 21, .08);
    transition: background-color .15s ease, transform .15s ease;
  }
  .sticky .p svg { display: block; }
  .sticky .p:hover { background: #15327A; color: #FFFFFF; text-decoration: none; transform: translateY(-1px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .spinner { animation-duration: 2.4s; }
  .sticky, .sticky .p { transition: none; }
}
