@media(max-width:900px){
  /* push footer up so sticky bar doesn't overlap last content */
  body:not(.on-subpage) footer{padding-bottom:88px!important}}
@media(max-width:900px){
  body:not(.on-subpage) footer{padding-bottom:88px!important}} /* ── FOOTER ── */ footer{background:#0d0d0d;color:rgba(255,255,255,.6);padding:56px 0 36px;position:relative;z-index:1010} .footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:28px} .footer-logo-wm{font-family:'Nunito',sans-serif;font-weight:900;font-style:italic;font-size:20px;color:#fff;display:flex;align-items:baseline} .footer-logo-wm .ch{font-size:16px} .footer-tagline{font-size:13px;line-height:1.65;color:rgba(255,255,255,.4);max-width:220px;margin:10px 0 20px} .footer-social{display:flex;gap:10px} .footer-col h4{font-size:13px;font-weight:600;color:rgba(255,255,255,.9);margin-bottom:14px} .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px} .footer-col ul a,.footer-col ul button{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;background:none;border:none;cursor:pointer;font-family:var(--font-sans);text-align:left;transition:color var(--t-base);padding:0} .footer-col ul a:hover,.footer-col ul button:hover{color:rgba(255,255,255,.8)} .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px} .footer-copy{font-size:12px;color:rgba(255,255,255,.3)} .footer-legal{display:flex;gap:16px} .footer-legal a,.footer-legal button{font-size:12px;color:rgba(255,255,255,.3);text-decoration:none;background:none;border:none;cursor:pointer;font-family:var(--font-sans);transition:color var(--t-base);padding:0} .footer-legal a:hover,.footer-legal button:hover{color:rgba(255,255,255,.6)} @media(max-width:900px){ footer{padding-bottom:80px}} .footer-col ul a,.footer-col ul button{min-height:44px; padding:4px 0 !important; display:inline-flex; align-items:center;} .footer-legal a,.footer-legal button{min-height:44px; padding:6px 0 !important; display:inline-flex; align-items:center;} /* Footer:clean */ footer{padding:80px 0 56px; position:relative; z-index:1010;} .footer-inner{gap:56px;} @media(max-width:1024px){ .footer-inner{grid-template-columns:1fr 1fr;gap:28px}} @media(max-width:600px){ .footer-inner{grid-template-columns:1fr} .footer-bottom{flex-direction:column;align-items:flex-start}} /* footer */ .cp-footer{padding:18px 32px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;background:var(--surface);flex-shrink:0} /* footer row */ .co-footer-row{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;} /* partner page uses main site footer */ .foot-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
/* Trust footer */
.bx-trust-footer{padding:48px 0;background:#fff;border-top:1px solid var(--border)}
/* Footer */
#sp-panel .footer { background:var(--sp-darker); padding:48px 0; }
#sp-panel .footer-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
#sp-panel .footer-brand { font-family:'Nunito',sans-serif; font-weight:900; font-style:italic; font-size:1rem; color:rgba(255,255,255,.7); }
#sp-panel .footer-brand span { font-family:var(--font-sans); font-style:normal; font-weight:400; font-size:.78rem; color:rgba(255,255,255,.25); }
#sp-panel .footer-links { display:flex; gap:16px; }
#sp-panel .footer-links a { font-size:.76rem; color:rgba(255,255,255,.3); }
#sp-panel .footer-links a:hover { color:rgba(255,255,255,.6); }
#sp-panel .footer-copy { font-size:.73rem; color:rgba(255,255,255,.2); }

#page-sprechstunde .footer {
 background:var(--sp-darker); padding:48px 0; 
}

#page-sprechstunde .footer-inner {
 display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; 
}

#page-sprechstunde .footer-brand {
 font-family:'Nunito',sans-serif; font-weight:900; font-style:italic; font-size:1rem; color:rgba(255,255,255,.7); 
}

#page-sprechstunde .footer-brand span {
 font-family:var(--font-sans); font-style:normal; font-weight:400; font-size:.78rem; color:rgba(255,255,255,.25); 
}

#page-sprechstunde .footer-links {
 display:flex; gap:16px; 
}

#page-sprechstunde .footer-links a {
 font-size:.76rem; color:rgba(255,255,255,.3); 
}

#page-sprechstunde .footer-links a:hover {
 color:rgba(255,255,255,.6); 
}

#page-sprechstunde .footer-copy {
 font-size:.73rem; color:rgba(255,255,255,.2); 
}

/* ── (3) SAFE-AREA INSETS FOR NOTCHED / HOME-INDICATOR DEVICES ─────── */
/* Any element pinned to the bottom of the viewport gets padded past the
   home indicator on iPhone X-class devices. Uses env() with fallback 0. */
.mobile-cta-bar,
.sticky-cta,
.sticky-bottom-cta,
[data-sticky-bottom],
footer.sticky {
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
}