/* Shared navigation controls for Sites and ALL-INKL. */
.kopf .menue-knopf {
 width: 44px; height: 44px; min-width: 44px; min-height: 44px;
 padding: 0; border: 0; border-radius: 0; background: transparent;
 box-shadow: none; flex-shrink: 0;
}
.kopf.branchen-kopf .menue-knopf.branchen-menue { display: none; }
.kopf.branchen-kopf nav.branchen-nav > a:not(.pille) { transition: color .2s ease; }
.kopf.branchen-kopf nav.branchen-nav > a:not(.pille):hover,
.kopf.branchen-kopf nav.branchen-nav > a:not(.pille):focus-visible { color: #eb7636; }
.kopf.branchen-kopf nav.branchen-nav > a:not(.pille)::after {
 left: 0; right: 0; width: auto; height: 2px; transform-origin: left;
 transition: transform .2s ease;
}
@media (max-width: 63.99rem) {
 .startseite .kopf .pille .lang { display: none; }
 .startseite .kopf .pille .kurz { display: inline; }
 .startseite .kopf .marke { white-space: nowrap; flex-shrink: 0; }
 .startseite .kopf nav { gap: .65rem; flex-shrink: 0; }
 .startseite .kopf .rahmen { gap: .75rem; }
 .startseite .kopf .pille { white-space: nowrap; }
 .startseite .kopf.offen .menue-links a::after { display: none; }
}
@media (max-width: 70rem) {
 .js .kopf.branchen-kopf .menue-knopf.branchen-menue {
  display: grid; place-items: center; width: 44px; height: 44px;
  padding: 0; border: 0; border-radius: 0; background: transparent;
 }
 .kopf.branchen-kopf .rahmen { gap: .65rem; }
 .kopf.branchen-kopf .marke { white-space: nowrap; flex-shrink: 0; }
 .kopf.branchen-kopf nav.branchen-nav > a:not(.pille)::after { display: none; }
 .kopf.branchen-kopf nav.branchen-nav > a:not(.pille):hover,
 .kopf.branchen-kopf nav.branchen-nav > a:not(.pille):focus-visible,
 .kopf.branchen-kopf nav.branchen-nav > a.aktiv:not(.pille) { color: #eb7636; }
}
@media (max-width: 23.4rem) {
 .startseite .kopf nav { gap: .35rem; }
 .startseite .kopf .rahmen { gap: .4rem; }
 .startseite .kopf .pille { font-size: .75rem; padding: .45rem .55rem; }
 .startseite .kopf .pille > svg { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 .kopf.branchen-kopf nav.branchen-nav > a:not(.pille),
 .kopf.branchen-kopf nav.branchen-nav > a:not(.pille)::after { transition: none; }
}

/* Mobile contact action, independent of the navigation. */
.mobil-anrufen { display: none; }
@media (max-width: 47.99rem) {
 .fuss, .branchenseite .fuss { padding-bottom: env(safe-area-inset-bottom, 0px); }
 .mobil-anrufen {
  position: fixed; z-index: 90; right: max(16px, env(safe-area-inset-right, 0px));
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 48px; padding: .7rem 1.1rem; border: 1px solid rgba(248,238,216,.25);
  border-radius: 999px; background: #1c2532; color: #f8eed8;
  box-shadow: 0 4px 18px rgba(28,37,50,.2); font: inherit;
  font-size: .9rem; font-weight: 600; text-decoration: none;
 }
 .mobil-anrufen:hover { background: #2c3848; color: #f8eed8; }
 .mobil-anrufen:focus-visible { outline: 3px solid #eb7636; outline-offset: 3px; }
 body:has(dialog[open]) .mobil-anrufen,
 body:has(.kopf.offen) .mobil-anrufen,
 body:has(input:focus, textarea:focus, select:focus) .mobil-anrufen { display: none; }
}

.seo-weiter a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.seo-weiter a:hover { color: #ab4616; }
.seo-weiter { padding-top: 1.5rem; padding-bottom: 1.5rem; font-size: .9rem; }
.seo-weiter p { max-width: 65ch; }


.mobil-anrufen[hidden] { display: none; }

@media (max-width: 47.99rem) {
 .mobil-anrufen.im-footer { position: static; margin-left: auto; margin-top: .5rem; flex-shrink: 0; }
}

/* Keep the contact action independent of footer link colors and decoration. */
.fuss .fuss-unten a.mobil-anrufen,
.fuss .fuss-unten a.mobil-anrufen:visited { color: #f8eed8; background: #1c2532; text-decoration: none; }
.fuss .fuss-unten a.mobil-anrufen:hover,
.fuss .fuss-unten a.mobil-anrufen:focus-visible { color: #f8eed8; background: #2c3848; text-decoration: none; }

@media (max-width: 47.99rem) {
 .fuss .fuss-unten { display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem; }
 .fuss .fuss-unten > nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .35rem clamp(.75rem, 3vw, 1.5rem); min-width: 0; }
 .fuss .fuss-unten > nav > a,
 .fuss .fuss-unten > nav > button.fuss-link { display: inline-flex; align-items: center; margin: 0; padding: .2rem 0; min-height: 0; font: inherit; line-height: 1.5; white-space: nowrap; vertical-align: middle; }
 .fuss .fuss-unten > a.mobil-anrufen.im-footer { justify-self: end; margin: .25rem 0 0; padding: .7rem 1.1rem; }
}

@media (max-width: 47.99rem) {
 .fuss-unten a.mobil-anrufen { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; width: max-content; min-height: 48px; padding: .7rem 1.1rem; font-family: var(--schrift); font-size: .9rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }
 .mobil-anrufen > svg { display: block; flex: 0 0 19px; width: 19px; height: 19px; }
}

.fuss ul > .fuss-antwort { display: inline-flex; align-items: center; gap: .45rem; width: fit-content; max-width: 100%; margin-top: .35rem; padding: .55rem .65rem; border: 1px solid #c9dfcf; border-radius: .6rem; background: #e6f4e9; color: #24643c; font-size: .76rem; line-height: 1.4; }
.fuss-antwort > svg { display: block; flex: 0 0 18px; color: #24643c; }

#leistungen .leistungs-artikel { color: inherit; text-decoration: underline; text-decoration-color: #aeb3b9; text-underline-offset: .2em; }
#leistungen .leistungs-artikel:hover { color: #ab4616; text-decoration-color: currentColor; }

/* Consistent dark hover for secondary outline and overview buttons. */
.startseite main :is(#ablauf,#leistungen,#zusagen) .cta-zeile>.pille:hover,
body .pille.leer:hover,body.webdesign-seite .wd-uebersicht:hover,
body .blog-text .blog-zurueck-knopf:hover{background:#1c2532;border-color:#1c2532;color:#f8eed8;text-decoration:none;}
body.webdesign-seite .wd-uebersicht:hover>span{color:inherit;}

/* The homepage's muted primary action palette on all real subpages. */
body:not(.startseite) .pille:not(.leer){background:#d9824b;color:#1c2532;border:1px solid transparent;box-shadow:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease;}
body:not(.startseite) .pille:not(.leer):hover{background:#cc7845;color:#1c2532;}
@media(prefers-reduced-motion:reduce){body:not(.startseite) .pille:not(.leer){transition:none;}}
