
.aks-sticky {
  --s-navy: #202b48;
  --s-text: #ffffff;
  --s-muted: #b9c1d3;
  --s-orange: #ff7417;
  --s-orange-dark: #e95e05;
  --s-green: #22c55e;
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
  color: var(--s-text); background: var(--s-navy);
  box-shadow: 0 -6px 24px rgba(17, 26, 46, .28);
  font-family: "Plus Jakarta Sans", Manrope, Arial, sans-serif; line-height: 1.25;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.aks-sticky, .aks-sticky *, .aks-sticky *::before, .aks-sticky *::after { box-sizing: border-box; }
.aks-sticky a { color: inherit; text-decoration: none; }
.aks-sticky__inner {
  max-width: 1168px; height: 64px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
.aks-sticky__person { display: flex; align-items: center; gap: 14px; min-width: 0; }
.aks-sticky__photo {
  width: 76px; height: 76px; flex: 0 0 76px; margin-top: -22px; border-radius: 50%; overflow: hidden;
  background: #39456a; box-shadow: 0 0 0 3px var(--s-navy), 0 0 0 5px var(--s-orange);
}
.aks-sticky__photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.aks-sticky__who { display: grid; gap: 2px; min-width: 0; }
.aks-sticky__name { color: var(--s-text); font-size: 16px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aks-sticky__role { color: var(--s-muted); font-size: 13px; white-space: nowrap; }
.aks-sticky__phone {
  position: relative; display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto;
  min-height: 46px; padding: 0 20px; border-radius: 4px; background: var(--s-orange);
  font-size: 19px; font-weight: 800; white-space: nowrap; transition: background-color .17s ease;
}
.aks-sticky__phone:hover { background: var(--s-orange-dark); }
.aks-sticky__phone svg { width: 19px; height: 19px; flex: 0 0 19px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.aks-sticky__phone:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.aks-sticky__live {
  display: none; position: absolute; top: -7px; right: -5px; width: 14px; height: 14px; border-radius: 50%;
  background: var(--s-green); box-shadow: 0 0 0 3px var(--s-navy);
}
html.ak-offen .aks-sticky__live { display: block; }
.aks-sticky-spacer { height: calc(64px + env(safe-area-inset-bottom, 0px)); }

@media (max-width: 600px) {
  .aks-sticky__inner { height: 60px; gap: 10px; }
  .aks-sticky__photo { width: 52px; height: 52px; flex-basis: 52px; margin-top: -14px; }
  .aks-sticky__person { gap: 10px; }
  .aks-sticky__name { font-size: 14px; }
  .aks-sticky__role { font-size: 12px; }
  .aks-sticky__phone { min-height: 42px; padding: 0 12px; font-size: 15px; gap: 7px; }
  .aks-sticky__phone svg { width: 16px; height: 16px; flex-basis: 16px; }
  .aks-sticky-spacer { height: calc(60px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 370px) {
  .aks-sticky__inner { gap: 8px; }
  .aks-sticky__photo { width: 44px; height: 44px; flex-basis: 44px; margin-top: -10px; }
  .aks-sticky__person { gap: 8px; }
  .aks-sticky__name { font-size: 13px; white-space: normal; overflow: visible; }
  .aks-sticky__role { font-size: 11px; }
  .aks-sticky__phone { font-size: 13.5px; padding: 0 9px; gap: 5px; }
  .aks-sticky__phone svg { width: 14px; height: 14px; flex-basis: 14px; }
}
@media (max-width: 339px) { .aks-sticky__role { display: none; } }
@media (prefers-reduced-motion: reduce) { .aks-sticky__phone { transition: none; } }


.aks-privacy {
  --p-navy: #202b48;
  --p-text: #172039;
  --p-muted: #5b667c;
  --p-line: #e2e6ee;
  --p-green: #12985f;
  display: flex; align-items: stretch; gap: 16px; width: 100%; max-width: 420px;
  padding: 14px 16px; border: 1px solid var(--p-line); border-radius: 4px;
  color: var(--p-text); background: #fff; box-shadow: 0 8px 22px rgba(17, 26, 46, .18);
  font-family: "Plus Jakarta Sans", Manrope, Arial, sans-serif; line-height: 1.4;
}
.aks-privacy, .aks-privacy *, .aks-privacy *::before, .aks-privacy *::after { box-sizing: border-box; }
.aks-privacy__seal {
  flex: 0 0 64px; display: grid; place-items: center; align-content: center; gap: 3px;
  border-radius: 3px; background: var(--p-navy); color: #fff; text-align: center;
}
.aks-privacy__seal svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.aks-privacy__seal span { font-size: 8.5px; font-weight: 800; letter-spacing: .04em; line-height: 1.15; text-transform: uppercase; }
.aks-privacy__body { display: grid; gap: 6px; min-width: 0; }
.aks-privacy p.aks-privacy__title { margin: 0; line-height: 1.3; color: var(--p-navy); font-size: 15px; font-weight: 800; }
.aks-privacy .aks-privacy__list { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; color: var(--p-muted); font-size: 12.5px; }
.aks-privacy__list li { display: flex; align-items: center; gap: 7px; }
.aks-privacy__list svg { width: 13px; height: 13px; flex: 0 0 13px; fill: none; stroke: var(--p-green); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.aks-privacy__link { width: fit-content; color: var(--p-navy); font-size: 12.5px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.aks-privacy__link:focus-visible { outline: 2px solid #ff7417; outline-offset: 2px; }
@media (max-width: 400px) {
  .aks-privacy { gap: 12px; padding: 12px; }
  .aks-privacy__seal { flex-basis: 54px; }
}

/* Positionsintegration; Paketregeln bleiben unverändert. */
/* Alter schwebender Datenschutzkasten im Hero: ersetzt durch .aks-trust (siehe unten) */
.aks-privacy-placement{display:none!important;}.social-proof-toast,.social-proof-fusion{bottom:calc(106px + env(safe-area-inset-bottom,0px))!important}.mobile-sticky-cta{display:none!important}#cookie-notice,#cookie-law-info-bar,.cmplz-cookiebanner{bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}@media(max-width:600px){.aks-privacy-placement{display:none!important}}


/* ===================================================================
   Fix 29.10.2026
   1) Sticky-Leiste: Theme-Regel „.no-touch a:hover“ färbte die Nummer orange auf Orange.
   2) Datenschutz-Hinweis im Hero als Vertrauenszeile bei CTA/Google-Sternen statt schwebendem Kasten.
   =================================================================== */
.aks-sticky a.aks-sticky__phone,
.aks-sticky a.aks-sticky__phone:link,
.aks-sticky a.aks-sticky__phone:visited,
.no-touch .aks-sticky a.aks-sticky__phone:hover,
.aks-sticky a.aks-sticky__phone:hover,
.aks-sticky a.aks-sticky__phone:focus,
.aks-sticky a.aks-sticky__phone:active { color: #fff !important; text-decoration: none !important; }
.aks-sticky a.aks-sticky__phone:hover,
.aks-sticky a.aks-sticky__phone:focus-visible { background: #e95e05 !important; }

.aks-trust {
  display: flex; align-items: center; gap: 12px;
  width: fit-content; max-width: 100%;
  margin: 16px 0 14px; padding: 10px 14px 10px 12px;
  border: 1px solid rgba(255, 255, 255, .16); border-left: 3px solid #22c55e; border-radius: 4px;
  background: rgba(10, 16, 30, .55);
  color: #fff; font-family: inherit; line-height: 1.35; text-align: left;
  box-sizing: border-box;
}
.aks-trust__icon { width: 26px; height: 26px; flex: 0 0 26px; fill: none; stroke: #4ade80; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.aks-trust p.aks-trust__text { display: grid; gap: 1px; margin: 0 !important; padding: 0 !important; font-size: 14px; color: #fff; }
.aks-trust__text strong { color: #fff; font-size: 14.5px; font-weight: 700; }
.aks-trust__text span { color: #c9d0dd; font-size: 13px; }
.aks-trust a.aks-trust__link,
.aks-trust a.aks-trust__link:visited { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, .5); }
.no-touch .aks-trust a.aks-trust__link:hover,
.aks-trust a.aks-trust__link:hover { color: #ffb07a !important; text-decoration-color: #ffb07a; }
.aks-trust a.aks-trust__link:focus-visible { outline: 2px solid #ff7417; outline-offset: 2px; }
.aks-trust--mobile { margin: 14px auto 6px; }
@media (max-width: 420px) {
  .aks-trust { gap: 10px; padding: 9px 12px 9px 10px; }
  .aks-trust__icon { width: 22px; height: 22px; flex-basis: 22px; }
  .aks-trust p.aks-trust__text { font-size: 13px; }
  .aks-trust__text strong { font-size: 13.5px; }
  .aks-trust__text span { font-size: 12px; }
}

/* Fix 29.10.2026 (2): Handy/Tablet – Stadtseiten-Hero
   H1 lag unter der Brotkrümel-Leiste, zwischen Infokästen und Foto war ~80 px Leerraum.
   Infokästen rücken an die Männer heran, Anruf-Button ist ohne Scrollen sichtbar.
   Greift nur, wenn die H1 das erste Element der mobilen Hero-Spalte ist (Stadtseiten-Vorlage). */
@media (max-width: 1024px) {
  .l-section .vc_column-inner > h1.hide_on_default.hide_on_laptops:first-child { margin-top: 14px !important; }
  /* Google-Sterne direkt unter der H1 auf dem Handy ausblenden (unten bleiben sie) */
  .l-section .vc_column-inner > h1.hide_on_default.hide_on_laptops:first-child + .w-image.hide_on_default.hide_on_laptops:has(img[src*="sterne"]) { display: none !important; }
  .l-section .vc_column-inner > h1.hide_on_default.hide_on_laptops:first-child + .w-image:has(img[src*="sterne"]) + p { margin-top: 6px !important; }
  /* Fotoblock: −55 px Original, −60 px Ausgleich; kleiner Abstand zwischen Infokästen und Köpfen bleibt */
  .l-section .vc_column-inner > h1.hide_on_default.hide_on_laptops:first-child ~ .w-vwrapper.hide_on_default.hide_on_laptops:has(.aks-hero-badge-anchor) { margin-top: -115px !important; }
  .l-section .vc_column-inner > h1.hide_on_default.hide_on_laptops:first-child ~ p.hide_on_default.hide_on_laptops,
  .l-section .vc_column-inner > h1.hide_on_default.hide_on_laptops:first-child ~ .w-image.hide_on_default.hide_on_laptops { position: relative; z-index: 3; }
}
/* Anruf-Button näher ans Foto, damit er auf gängigen Handys ohne Scrollen sichtbar ist */
@media (max-width: 1024px) {
  .l-section .vc_column-inner > h1.hide_on_default.hide_on_laptops:first-child ~ .w-vwrapper .aks-hero-badge-anchor ~ .w-btn-wrapper:has(a[href^="tel:"]) { margin-top: -40px !important; position: relative; z-index: 3; }
}
/* Datenschutz-Zeile nur am Desktop */
.aks-trust--mobile { display: none !important; }

/* Sticky-Kontaktleiste erst nach etwas Scrollen (Klasse setzt footer-paket-integration-*.js) */
.aks-sticky { transform: translateY(calc(100% + 28px)); visibility: hidden; transition: transform .3s ease, visibility 0s linear .3s; }
.aks-sticky.is-visible { transform: none; visibility: visible; transition: transform .3s ease, visibility 0s linear 0s; }
@media (prefers-reduced-motion: reduce) { .aks-sticky, .aks-sticky.is-visible { transition: none; } }


/* 29.10.2026: Sichtbare Brotkrümel-Leiste auf Handy/Tablet ausblenden (Platz für Überschrift und Anruf-Button).
   Strukturierte BreadcrumbList-Daten im <head> bleiben unverändert; am Desktop bleibt die Leiste sichtbar. */
@media (max-width: 1024px) {
  nav.seo-crumbs { display: none !important; }
}
