/* Kurzseiten: Footer sauber am unteren Fensterrand statt mitten in der Seite. */
html{min-height:100%}
body:has(> footer.site-footer-v2){min-height:100vh;display:flex;flex-direction:column}
body:has(> footer.site-footer-v2)>main{flex:1 0 auto}
body:has(> footer.site-footer-v2)>footer.site-footer-v2{margin-top:auto !important;padding-top:34px !important}

/* VOSZ IT & More – einheitlicher Footer, Desktop bewusst kompakt. */
footer.site-footer-v2{
  box-sizing:border-box !important;
  width:100% !important;
  margin:34px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#6b8192 !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  font-size:11px !important;
  line-height:1.45 !important;
  text-align:left !important;
}
footer.site-footer-v2,
footer.site-footer-v2 *{box-sizing:border-box !important}
footer.site-footer-v2 .site-footer-v2__inner{
  width:min(calc(100% - 40px),1280px) !important;
  margin:0 auto !important;
  padding:18px 0 28px !important;
  border-top:1px solid #dce5eb !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
}
footer.site-footer-v2 .site-footer-v2__brand{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  min-width:220px !important;
  margin:0 !important;
  padding:0 !important;
}
footer.site-footer-v2 .site-footer-v2__brand strong{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#3f5d73 !important;
  font-size:11.5px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
}
footer.site-footer-v2 .site-footer-v2__brand span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#748899 !important;
  font-size:10.5px !important;
  line-height:1.45 !important;
}
footer.site-footer-v2 .site-footer-v2__brand-mobile{display:none !important}
footer.site-footer-v2 nav.site-footer-v2__nav{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:7px 12px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  width:auto !important;
  min-height:0 !important;
}
footer.site-footer-v2 a{
  display:inline-block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#687f90 !important;
  font:inherit !important;
  line-height:1.45 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
footer.site-footer-v2 a:hover{color:#075f9f !important;text-decoration:underline !important}
footer.site-footer-v2 .site-footer-v2__mobile{display:none !important}

/* Mobil: kompakter Seitenabschluss. Die eigentlichen Rechts-/Servicewege liegen in der ausfahrenden Footer-Bar. */
@media(max-width:760px){
  body:has(> footer.site-footer-v2)>footer.site-footer-v2{
    margin-top:24px !important;
    padding-top:0 !important;
  }
  footer.site-footer-v2{
    margin:24px 0 0 !important;
    padding:0 0 calc(70px + env(safe-area-inset-bottom,0px)) !important;
    background:#f3f7fa !important;
    border-top:1px solid #d9e4eb !important;
  }
  footer.site-footer-v2 .site-footer-v2__inner{
    width:calc(100% - 40px) !important;
    margin:0 auto !important;
    padding:15px 0 14px !important;
    border-top:0 !important;
    display:block !important;
  }
  footer.site-footer-v2 .site-footer-v2__brand{
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    gap:3px !important;
  }
  footer.site-footer-v2 .site-footer-v2__brand strong{
    color:#31566e !important;
    font-size:12.5px !important;
    line-height:1.3 !important;
    font-weight:850 !important;
    letter-spacing:0 !important;
  }
  footer.site-footer-v2 .site-footer-v2__brand-desktop{display:none !important}
  footer.site-footer-v2 .site-footer-v2__brand-mobile{display:none !important}
  footer.site-footer-v2 nav.site-footer-v2__nav--desktop{display:none !important}
  footer.site-footer-v2 .site-footer-v2__mobile{display:block !important}
  footer.site-footer-v2 .site-footer-v2__mobile-grid,
  footer.site-footer-v2 .site-footer-v2__mobile-service{display:none !important}
  footer.site-footer-v2 .site-footer-v2__mobile-bottom{
    display:block !important;
    margin:6px 0 0 !important;
    padding:7px 0 0 !important;
    border-top:1px solid #dde7ed !important;
    color:#8a9ba7 !important;
    font-size:9.5px !important;
    line-height:1.35 !important;
  }
  footer.site-footer-v2 .site-footer-v2__mobile-settings{display:none !important}
  #vosz-consent{bottom:calc(72px + env(safe-area-inset-bottom,0px)) !important}
}

/* Mobile Footer-Dock: nur in der Nähe des eigentlichen Footers sichtbar. */
.footer-dock-v3{display:none}
@media(max-width:760px){
  .footer-dock-v3{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9000;
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.92fr) 62px;
    min-height:58px;
    padding:0 0 env(safe-area-inset-bottom,0px);
    background:rgba(255,255,255,.97);
    border-top:1px solid #d9e4eb;
    box-shadow:0 -9px 28px rgba(22,49,70,.09);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    transform:translateY(calc(100% + 14px));
    opacity:0;
    pointer-events:none;
    transition:transform .24s ease,opacity .18s ease;
  }
  .footer-dock-v3.is-visible{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .footer-dock-v3>a,
  .footer-dock-v3>button{
    min-width:0;
    min-height:58px;
    margin:0;
    padding:0 12px;
    border:0;
    border-right:1px solid #dfe7ec;
    border-radius:0;
    background:transparent;
    color:#24536d;
    font:inherit;
    font-size:11.5px;
    line-height:1.15;
    font-weight:850;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
    box-shadow:none;
  }
  .footer-dock-v3>button{
    border-right:0;
    font-size:25px;
    letter-spacing:2px;
    color:#31566e;
  }
  .footer-dock-v3>a:active,
  .footer-dock-v3>button:active{background:#f2f7fa}
  .footer-dock-v3__menu{
    position:absolute;
    right:10px;
    bottom:calc(64px + env(safe-area-inset-bottom,0px));
    width:min(290px,calc(100vw - 20px));
    padding:7px;
    border:1px solid #d8e4eb;
    border-radius:15px;
    background:#fff;
    box-shadow:0 18px 48px rgba(23,49,69,.18);
    opacity:0;
    transform:translateY(9px) scale(.985);
    transform-origin:bottom right;
    pointer-events:none;
    transition:opacity .16s ease,transform .16s ease;
  }
  .footer-dock-v3.menu-open .footer-dock-v3__menu{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }
  .footer-dock-v3__menu a,
  .footer-dock-v3__menu .vosz-privacy-settings{
    width:100%;
    min-height:42px;
    margin:0;
    padding:0 12px;
    border:0;
    border-bottom:1px solid #edf2f5;
    border-radius:8px;
    background:transparent;
    color:#31566e;
    font:inherit;
    font-size:11.5px;
    line-height:1.2;
    font-weight:750;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-align:left;
    cursor:pointer;
  }
  .footer-dock-v3__menu a:last-of-type{border-bottom:0}
  .footer-dock-v3__menu a:hover,
  .footer-dock-v3__menu .vosz-privacy-settings:hover{
    background:#f3f8fb;
    color:#075f9f;
    text-decoration:none;
  }
  .footer-dock-v3__menu .vosz-privacy-settings{
    margin-top:5px;
    border-top:1px solid #dfe8ee;
    border-bottom:0;
    color:#657f90;
    font-size:10.5px;
  }
}

@media(max-width:390px){
  footer.site-footer-v2 .site-footer-v2__inner{width:calc(100% - 32px) !important}
  .footer-dock-v3{grid-template-columns:minmax(0,1.15fr) minmax(0,.88fr) 56px}
  .footer-dock-v3>a{padding:0 8px;font-size:10.8px}
}

/* 07.10.2026 fix2: mobile Footer bewusst nur Marke + Copyright.
   Die Leistungszeilen wurden aus dem HTML entfernt, damit auch alte CSS-Caches sie nicht sichtbar halten. */
@media(max-width:760px){
  footer.site-footer-v2 .site-footer-v2__brand{gap:0 !important;}
  footer.site-footer-v2 .site-footer-v2__mobile-bottom{margin-top:7px !important;padding-top:7px !important;}
}
