/*
Theme Name: MH BauPlus+
Description: Eigenständiges Kunden-Deployment aus einem isolierten Projektdatensatz.
Version: 9.1.61
Author: McXpert® ONE
Requires at least: 7.0
Requires PHP: 8.4
*/
:root{--primary:#2f6f12;--dark:#252a24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#fff}.customer-page{min-height:60vh}.fp-runtime-header,.fp-runtime-footer{width:100%;background:#fff}.fp-runtime-header-inner,.fp-runtime-footer-inner{max-width:1180px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.fp-runtime-header-nav,.fp-runtime-footer nav{display:flex;flex-wrap:wrap;gap:16px}.fp-runtime-header a,.fp-runtime-footer a{color:var(--dark);text-decoration:none;font-weight:700}.fp-runtime-header-logo{max-height:52px;width:auto}.fp-runtime-footer{border-top:1px solid #e5e7eb}.mfc-legal-page{background:#f5f7fa;color:#263244}.mfc-legal-wrap{width:min(920px,calc(100% - 40px));margin-inline:auto}.mfc-legal-hero{padding:58px 0 50px;background:linear-gradient(135deg,var(--dark),color-mix(in srgb,var(--dark) 78%,var(--primary)));color:#fff}.mfc-legal-kicker{display:block;margin-bottom:9px;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--primary) 38%,#fff)}.mfc-legal-hero h1{margin:0;font-size:clamp(2.2rem,6vw,3.7rem);line-height:1.06;letter-spacing:-.035em}.mfc-legal-content{padding:42px 0 72px}.mfc-legal-card{padding:clamp(25px,5vw,54px);border:1px solid #e2e7ee;border-radius:20px;background:#fff;box-shadow:0 16px 45px rgba(15,23,42,.07);overflow-wrap:anywhere}.mfc-legal-card h2{margin:34px 0 10px;padding-top:30px;border-top:1px solid #e8ecf1;color:var(--dark);font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.25}.mfc-legal-card h2:first-child{margin-top:0;padding-top:0;border-top:0}.mfc-legal-card p{margin:0 0 17px;color:#465468;line-height:1.72}.mfc-legal-card a{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.mfc-legal-card strong{color:var(--dark)}@media(max-width:700px){.fp-runtime-header-inner,.fp-runtime-footer-inner{align-items:flex-start;flex-direction:column}.fp-runtime-header-nav{width:100%;justify-content:space-between;font-size:.92rem}.mfc-legal-wrap{width:min(100% - 28px,920px)}.mfc-legal-hero{padding:42px 0 38px}.mfc-legal-content{padding:20px 0 44px}.mfc-legal-card{padding:24px 20px;border-radius:15px}.mfc-legal-card h2{margin-top:27px;padding-top:24px}}.fp-runtime-header{border-bottom:1px solid #edf0f4!important}.fp-runtime-header .fp-runtime-header-inner{max-width:1180px!important;min-height:70px!important;margin:auto!important;padding:6px 24px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;gap:20px!important}.fp-runtime-header .fp-runtime-header-brand{display:flex!important;align-items:center!important;flex:0 0 auto!important;line-height:0!important}.fp-runtime-header .fp-runtime-header-logo{display:block!important;width:auto!important;height:58px!important;max-width:min(230px,34vw)!important;max-height:58px!important;object-fit:contain!important}.fp-runtime-footer .fp-runtime-footer-inner{padding:12px 24px!important}@media(max-width:700px){.fp-runtime-header .fp-runtime-header-inner{min-height:62px!important;padding:6px 14px!important;gap:12px!important}.fp-runtime-header .fp-runtime-header-logo{height:48px!important;max-height:48px!important;max-width:110px!important}.fp-runtime-header .fp-runtime-header-nav{width:auto!important;justify-content:flex-end!important;gap:10px!important;font-size:.78rem!important}.fp-runtime-footer .fp-runtime-footer-inner{padding:10px 14px!important}}.mfc-page-title{padding:34px 0;background:var(--dark);color:#fff}.mfc-page-title h1{margin:0;font-size:clamp(2rem,5vw,3.2rem)}.mfc-contact-page{background:#f5f7fa}.mfc-contact-wrap{width:min(920px,calc(100% - 40px));margin-inline:auto}.mfc-contact-hero{padding:58px 0 50px;background:linear-gradient(135deg,var(--dark),color-mix(in srgb,var(--dark) 78%,var(--primary)));color:#fff}.mfc-contact-hero>.mfc-contact-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);align-items:center;gap:clamp(28px,5vw,72px)}.mfc-contact-kicker{display:block;margin-bottom:9px;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.mfc-contact-hero h1{margin:0;font-size:clamp(2.2rem,6vw,3.7rem);line-height:1.06}.mfc-contact-hero p{max-width:720px;margin:16px 0 0;line-height:1.7}.mfc-contact-brand{display:grid;min-height:150px;padding:22px;place-items:center;border-radius:18px;background:#fff}.mfc-contact-brand img{display:block;width:min(100%,360px);height:auto;max-height:150px;object-fit:contain}.mfc-contact-content{padding:42px 0 72px}.mfc-contact-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:clamp(25px,5vw,44px);border:1px solid #e2e7ee;border-radius:20px;background:#fff;box-shadow:0 16px 45px rgba(15,23,42,.07)}.mfc-contact-card p{margin:0;line-height:1.65}.mfc-contact-card a{color:var(--primary);font-weight:750}@media(max-width:700px){.mfc-contact-wrap{width:min(100% - 28px,920px)}.mfc-contact-hero{padding:42px 0 38px}.mfc-contact-hero>.mfc-contact-wrap{grid-template-columns:1fr}.mfc-contact-brand{min-height:112px;padding:18px}.mfc-contact-brand img{max-height:96px}.mfc-contact-content{padding:20px 0 44px}.mfc-contact-card{grid-template-columns:1fr;padding:24px 20px;border-radius:15px}}.mfc-customer-runtime{min-height:100vh;background:#fff;color:#172033}.mfc-customer-runtime .fp-runtime-header{position:relative!important;z-index:10!important;background:#fff!important;border-bottom:1px solid #e5e7eb!important;color:var(--fp-dark)!important}.mfc-customer-runtime .fp-runtime-header-inner{width:min(1180px,calc(100% - 36px))!important;height:64px!important;min-height:64px!important;margin:auto!important;padding:4px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}.mfc-customer-runtime .fp-runtime-header-brand{display:flex;align-items:center;min-width:0;color:var(--fp-dark);font-weight:900;font-size:1.08rem}.mfc-customer-runtime .fp-runtime-header-logo{display:block!important;width:auto!important;height:46px!important;max-width:220px!important;max-height:46px!important;object-fit:contain!important}.mfc-customer-runtime .fp-runtime-header-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}.mfc-customer-runtime .fp-runtime-header-nav a{color:var(--fp-dark);font-weight:750}.mfc-legal-page{background:#f6f8fb;min-height:60vh;padding-bottom:64px}.mfc-legal-hero{background:linear-gradient(135deg,var(--fp-dark),color-mix(in srgb,var(--fp-dark) 82%,var(--fp-primary)))!important;color:#fff!important;padding:56px 0 48px!important}.mfc-legal-wrap{width:min(980px,calc(100% - 36px));margin:auto}.mfc-legal-kicker{display:inline-block;color:#fff;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;margin-bottom:10px}.mfc-legal-hero h1{margin:0;color:#fff!important;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.mfc-legal-content{padding:40px 0}.mfc-legal-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:clamp(24px,4vw,44px);box-shadow:0 14px 34px rgba(15,23,42,.08)}.mfc-legal-card h2{margin:32px 0 10px;color:var(--fp-dark);font-size:1.35rem}.mfc-legal-card h2:first-child{margin-top:0}.mfc-legal-card p{margin:0 0 16px;line-height:1.7;color:#374151}.mfc-legal-card a{color:var(--fp-primary);text-decoration:underline}.mfc-customer-runtime .fp-runtime-footer{display:block!important;width:100%!important;max-width:none!important;margin:0!important;background:var(--fp-dark)!important;color:#fff!important}.mfc-customer-runtime .fp-runtime-footer-inner{width:min(1180px,calc(100% - 36px))!important;min-height:62px!important;margin:auto!important;padding:14px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex-wrap:wrap!important}.mfc-customer-runtime .fp-runtime-footer nav{display:flex!important;align-items:center!important;gap:18px!important;flex-wrap:wrap!important;margin-left:auto!important}.mfc-customer-runtime .fp-runtime-footer a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px!important}@media(max-width:700px){.mfc-customer-runtime .fp-runtime-header-inner{align-items:center;flex-direction:row;padding:4px 0}.mfc-customer-runtime .fp-runtime-header-nav{justify-content:flex-start}.mfc-customer-runtime .fp-runtime-header-logo{height:40px!important;max-width:150px!important}.mfc-customer-runtime .fp-runtime-footer-inner{align-items:flex-start;flex-direction:column}.mfc-customer-runtime .fp-runtime-footer nav{margin-left:0}}
/* 9.1.07: customer header compactness guard */
.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-inner{height:64px!important;min-height:64px!important;padding:4px 0!important}.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{height:46px!important;max-height:46px!important;max-width:220px!important}@media(max-width:700px){.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-inner{height:56px!important;min-height:56px!important;padding:3px 0!important;flex-direction:row!important;align-items:center!important}.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{height:40px!important;max-height:40px!important;max-width:145px!important}.mfc-customer-runtime .fp-runtime-header-nav{margin-left:auto!important;gap:10px!important;font-size:.78rem!important}}

/* 9.1.07 – fixed slim customer header + compact inline form feedback + mobile quick contact. */
.mfc-customer-runtime{padding-top:54px!important}
.mfc-customer-runtime .fp-runtime-header{
 position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;
 z-index:1100!important;background:rgba(255,255,255,.97)!important;
 border-bottom:1px solid #e7ebef!important;box-shadow:0 3px 12px rgba(15,23,42,.055)!important;
 backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px)
}
body.admin-bar .mfc-customer-runtime .fp-runtime-header{top:32px!important}
.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-inner{
 width:min(1180px,calc(100% - 32px))!important;height:54px!important;min-height:54px!important;
 padding:2px 0!important;gap:18px!important
}
.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{
 height:38px!important;max-height:38px!important;max-width:190px!important
}
.mfc-customer-runtime .fp-runtime-header-nav{gap:15px!important;font-size:.82rem!important;line-height:1!important}
.mfc-customer-runtime .fp-runtime-header-nav a{padding:5px 0!important}
.fp-module-contact{scroll-margin-top:66px}
.mfc-form-inline-notice.fp-form-message{
 margin:12px 0 0!important;padding:9px 11px!important;border-width:1px!important;border-radius:9px!important;
 box-shadow:none!important;font-size:.86rem!important;line-height:1.35!important
}
.mfc-form-inline-notice.fp-form-message strong{font-size:.9rem!important}
.mfc-mobile-contact-dock{display:none}
@media(max-width:782px){body.admin-bar .mfc-customer-runtime .fp-runtime-header{top:46px!important}}
@media(max-width:700px){
 .mfc-customer-runtime{padding-top:48px!important}
 .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-inner{
  width:calc(100% - 20px)!important;height:48px!important;min-height:48px!important;padding:2px 0!important;gap:8px!important
 }
 .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{
  height:34px!important;max-height:34px!important;max-width:108px!important
 }
 .mfc-customer-runtime .fp-runtime-header-nav{margin-left:auto!important;gap:10px!important;font-size:.7rem!important;flex-wrap:nowrap!important}
 .mfc-customer-runtime .fp-runtime-header-nav a{padding:4px 0!important;white-space:nowrap!important}
 .mfc-customer-runtime .fp-runtime-header-nav a:nth-child(2),
 .mfc-customer-runtime .fp-runtime-header-nav a:nth-child(3){display:none!important}
 .fp-module-contact{scroll-margin-top:58px}
 body.mfc-customer-standalone{padding-bottom:66px!important}
 .mfc-mobile-contact-dock{
  position:fixed;z-index:1250;left:8px;right:8px;bottom:calc(7px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px;
  border:1px solid rgba(148,163,184,.28);border-radius:14px;background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(15,23,42,.20);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
 }
 .mfc-mobile-contact-dock a{display:flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border-radius:9px;text-decoration:none!important;font-size:.86rem;font-weight:850}
 .mfc-mobile-contact-dock span{font-size:1rem;line-height:1}
 .mfc-mobile-call{background:#e32636;color:#fff!important}
 .mfc-mobile-whatsapp{background:#25d366;color:#07170d!important}
}


/* 9.1.07 – final navigation/performance guard.
   Keep the fixed slim header on desktop + mobile and retain the bottom mobile contact dock. */
.mfc-customer-runtime{padding-top:52px!important}
.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-inner{
 height:52px!important;min-height:52px!important;padding:1px 0!important;gap:14px!important
}
.mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{
 height:36px!important;max-height:36px!important;max-width:178px!important
}
.mfc-customer-runtime .fp-runtime-header-nav{gap:14px!important;font-size:.8rem!important;flex-wrap:nowrap!important}
.mfc-customer-runtime .fp-runtime-header-nav a{display:inline-flex!important;padding:5px 0!important;white-space:nowrap!important}
@media(max-width:700px){
 .mfc-customer-runtime{padding-top:48px!important}
 .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-inner{
  width:calc(100% - 18px)!important;height:48px!important;min-height:48px!important;padding:1px 0!important;gap:7px!important
 }
 .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-brand{flex:0 0 auto!important;max-width:none!important}
 .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{
  height:32px!important;max-height:32px!important;max-width:78px!important
 }
 .mfc-customer-runtime .fp-runtime-header-nav{
  margin-left:auto!important;justify-content:flex-end!important;gap:7px!important;font-size:.64rem!important;line-height:1!important
 }
 .mfc-customer-runtime .fp-runtime-header-nav a,
 .mfc-customer-runtime .fp-runtime-header-nav a:nth-child(2),
 .mfc-customer-runtime .fp-runtime-header-nav a:nth-child(3){display:inline-flex!important;padding:6px 0!important}
}
/* Only on exceptionally narrow devices sacrifice the least important item instead of wrapping. */
@media(max-width:350px){
 .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{max-width:70px!important}
 .mfc-customer-runtime .fp-runtime-header-nav{gap:6px!important;font-size:.62rem!important}
 .mfc-customer-runtime .fp-runtime-header-nav a:nth-child(3){display:none!important}
}
/* Reserve image geometry and reduce avoidable layout movement. */
.mfc-customer-runtime img{height:auto}
.mfc-customer-runtime .fp-runtime-hero-image{aspect-ratio:3/2}
.mfc-customer-runtime .fp-runtime-header-logo{aspect-ratio:3/2}

/* 9.1.07: responsive image delivery is encoded in generated img srcset/sizes attributes. */

/* 9.1.14 – adaptive service media: a service with an image becomes a full-row
   feature on desktop. The complete image is shown without destructive cropping. */
.mfc-customer-runtime .fp-runtime-grid>.fp-runtime-service.mfc-service-has-image{grid-column:1/-1!important;display:block!important;min-height:0!important}
.mfc-customer-runtime .fp-runtime-service.mfc-service-has-image .mfc-service-image{display:block!important;width:min(100%,920px)!important;max-width:920px!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;margin:0 auto 20px!important;object-fit:contain!important;border-radius:14px!important;background:#f6f7f3!important}
.mfc-customer-gallery{max-width:1180px!important;margin:0 auto!important;padding:40px 24px!important}
.mfc-customer-gallery .fp-runtime-media-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin-top:20px!important}
.mfc-customer-gallery .fp-runtime-presentation-image{display:block!important;width:100%!important;height:320px!important;object-fit:cover!important;border-radius:16px!important}
@media(max-width:760px){.mfc-customer-runtime .fp-runtime-grid>.fp-runtime-service.mfc-service-has-image{grid-column:auto!important}.mfc-customer-runtime .fp-runtime-service.mfc-service-has-image .mfc-service-image{width:100%!important;max-width:100%!important;height:auto!important;margin:0 0 16px!important}.mfc-customer-gallery .fp-runtime-media-grid{grid-template-columns:1fr!important}.mfc-customer-gallery .fp-runtime-presentation-image{height:auto!important;aspect-ratio:4/3!important}}

/* 9.1.14 – global footer provider credit: one fixed row; only McXpert® ONE is linked */
.fp-runtime-footer .fp-runtime-footer-inner{
  display:grid!important;
  grid-template-columns:max-content minmax(120px,1fr) max-content!important;
  align-items:center!important;
  column-gap:28px!important;
  row-gap:0!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.fp-runtime-footer .fp-runtime-footer-inner>strong{
  justify-self:start!important;
  white-space:nowrap!important;
}
.fp-runtime-footer .mfc-powered-by{
  justify-self:center!important;
  display:inline-flex!important;
  align-items:baseline!important;
  gap:.28em!important;
  color:rgba(255,255,255,.66)!important;
  font-size:.78em!important;
  font-weight:500!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.fp-runtime-footer .mfc-powered-by .mfc-provider-link,
.fp-runtime-footer .mfc-powered-by .mfc-provider-link:visited{
  color:rgba(255,255,255,.90)!important;
  font:inherit!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
.fp-runtime-footer .mfc-powered-by .mfc-provider-link:hover,
.fp-runtime-footer .mfc-powered-by .mfc-provider-link:focus-visible{color:#fff!important}
.fp-runtime-footer .fp-runtime-footer-inner>nav{
  justify-self:end!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  margin-left:0!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  .fp-runtime-footer .fp-runtime-footer-inner{
    width:calc(100% - 20px)!important;
    grid-template-columns:max-content minmax(70px,1fr) max-content!important;
    column-gap:8px!important;
    padding:9px 0!important;
    font-size:.62rem!important;
  }
  .fp-runtime-footer .mfc-powered-by{font-size:.94em!important;gap:.22em!important}
  .fp-runtime-footer .fp-runtime-footer-inner>nav{gap:7px!important}
}

/* 9.1.15 – footer row hardening */
.fp-runtime-footer .fp-runtime-footer-inner[style]{display:grid!important;grid-template-columns:max-content minmax(180px,1fr) max-content!important;align-items:center!important;column-gap:28px!important;row-gap:0!important;white-space:nowrap!important}.fp-runtime-footer .fp-runtime-footer-inner[style]>strong{grid-column:1!important;grid-row:1!important}.fp-runtime-footer .fp-runtime-footer-inner[style]>.mfc-powered-by{grid-column:2!important;grid-row:1!important;justify-self:center!important}.fp-runtime-footer .fp-runtime-footer-inner[style]>nav{grid-column:3!important;grid-row:1!important;justify-self:end!important;margin:0!important;flex-wrap:nowrap!important}@media(max-width:700px){.fp-runtime-footer .fp-runtime-footer-inner[style]{grid-template-columns:max-content minmax(100px,1fr) max-content!important;column-gap:8px!important;font-size:.62rem!important}}


/* 9.1.16 – canonical global footer component.
   Footer markup is no longer patched inside page content. */
.fp-runtime-footer.mfc-global-footer{
  display:block!important;width:100%!important;max-width:none!important;margin:0!important;
  background:var(--fp-dark,var(--dark,#252a24))!important;color:#fff!important;
  border:0!important
}
.fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner{
  width:min(1180px,calc(100% - 36px))!important;min-height:58px!important;margin:0 auto!important;
  padding:10px 0!important;display:grid!important;
  grid-template-columns:max-content minmax(0,1fr) max-content!important;
  grid-template-areas:"copyright provider legal"!important;
  align-items:center!important;column-gap:24px!important;row-gap:0!important;
  font-size:.72rem!important;line-height:1.1!important;white-space:nowrap!important
}
.fp-runtime-footer.mfc-global-footer .mfc-footer-copyright{
  grid-area:copyright!important;justify-self:start!important;margin:0!important;white-space:nowrap!important
}
.fp-runtime-footer.mfc-global-footer .mfc-powered-by{
  grid-area:provider!important;justify-self:center!important;display:inline-flex!important;align-items:baseline!important;
  gap:.28em!important;margin:0!important;color:rgba(255,255,255,.64)!important;font-size:.92em!important;
  font-weight:500!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important
}
.fp-runtime-footer.mfc-global-footer .mfc-powered-by .mfc-provider-link,
.fp-runtime-footer.mfc-global-footer .mfc-powered-by .mfc-provider-link:visited{
  color:rgba(255,255,255,.92)!important;font:inherit!important;font-weight:650!important;line-height:1!important;
  white-space:nowrap!important;text-decoration:underline!important;text-underline-offset:3px!important
}
.fp-runtime-footer.mfc-global-footer .mfc-powered-by .mfc-provider-link:hover,
.fp-runtime-footer.mfc-global-footer .mfc-powered-by .mfc-provider-link:focus-visible{color:#fff!important}
.fp-runtime-footer.mfc-global-footer .mfc-footer-legal{
  grid-area:legal!important;justify-self:end!important;display:flex!important;align-items:center!important;
  gap:14px!important;margin:0!important;padding:0!important;flex-wrap:nowrap!important;white-space:nowrap!important
}
.fp-runtime-footer.mfc-global-footer .mfc-footer-legal a{
  color:#fff!important;text-decoration:underline!important;text-underline-offset:3px!important;font:inherit!important;font-weight:500!important
}
.fp-runtime-footer.mfc-global-footer .fp-runtime-trademark{font-size:.58em!important;vertical-align:super!important;line-height:0!important}
@media(max-width:700px){
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner{
    width:calc(100% - 18px)!important;min-height:48px!important;padding:8px 0!important;
    grid-template-columns:max-content minmax(0,1fr) max-content!important;column-gap:7px!important;
    font-size:.54rem!important;letter-spacing:-.01em!important
  }
  .fp-runtime-footer.mfc-global-footer .mfc-powered-by{font-size:.96em!important;gap:.18em!important}
  .fp-runtime-footer.mfc-global-footer .mfc-footer-legal{gap:6px!important}
}

/* 9.1.20 – privacy/performance safe click-to-load Google map. No iframe or Google request exists before user activation. */
.mfc-customer-runtime .fp-runtime-map-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.mfc-customer-runtime .fp-map-button{appearance:none;border:0;border-radius:9px;background:var(--fp-primary,#2f6f12);color:#fff;min-height:42px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer}.mfc-customer-runtime .fp-runtime-map-note{margin-top:8px;font-size:.86rem;color:#667085}.mfc-customer-runtime .fp-runtime-map-shell:empty{display:none}.mfc-customer-runtime .fp-runtime-map-shell:not(:empty){width:min(1132px,calc(100% - 48px));margin:18px auto 0;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#eef2f5;aspect-ratio:16/9}.mfc-customer-runtime .fp-runtime-map-shell iframe{display:block;width:100%;height:100%;border:0}@media(max-width:700px){.mfc-customer-runtime .fp-runtime-map-shell:not(:empty){width:calc(100% - 28px);aspect-ratio:4/3}.mfc-customer-runtime .fp-map-button,.mfc-customer-runtime .fp-map-route{width:100%;text-align:center}}


/* 9.1.35 – live mobile shell hardening (Android / iOS / desktop).
   Prevent horizontal layout expansion, keep the customer header fixed, and let the
   compact footer wrap on narrow viewports instead of widening the visual viewport. */
html,body{width:100%;max-width:100%;min-width:0;overflow-x:clip}
body.mfc-customer-standalone,#content,.mfc-customer-runtime{width:100%;max-width:100%;min-width:0}
.mfc-customer-runtime{overflow-x:clip}
.mfc-customer-runtime .fp-runtime-header{position:fixed!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important}
.mfc-customer-runtime .fp-runtime-header-inner,.mfc-customer-runtime .fp-runtime-header-brand,.mfc-customer-runtime .fp-runtime-header-nav{min-width:0!important}
.mfc-customer-runtime .fp-runtime-footer.mfc-global-footer{width:100%!important;max-width:100%!important;overflow:hidden!important}
@media(max-width:700px){
  .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-inner{width:calc(100% - 20px)!important;max-width:100%!important;gap:6px!important}
  .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-brand{flex:0 0 auto!important}
  .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{width:auto!important;height:32px!important;max-height:32px!important;max-width:70px!important}
  .mfc-customer-runtime .fp-runtime-header-nav{flex:1 1 auto!important;justify-content:flex-end!important;gap:6px!important;font-size:.62rem!important;white-space:nowrap!important}
  .mfc-customer-runtime .fp-runtime-header-nav a{display:inline-flex!important;min-width:0!important;padding:5px 0!important;white-space:nowrap!important}
  .mfc-customer-runtime .fp-runtime-hero,.mfc-customer-runtime .fp-runtime-section,.mfc-customer-gallery{width:100%!important;max-width:100%!important}
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner,
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner[style]{
    width:calc(100% - 24px)!important;max-width:100%!important;min-width:0!important;
    display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
    align-items:center!important;justify-content:space-between!important;
    gap:7px 12px!important;padding:10px 0!important;white-space:normal!important;font-size:.72rem!important
  }
  .fp-runtime-footer.mfc-global-footer .mfc-footer-copyright{flex:0 1 auto!important;white-space:nowrap!important}
  .fp-runtime-footer.mfc-global-footer .mfc-powered-by{flex:0 1 auto!important;justify-self:auto!important;white-space:nowrap!important}
  .fp-runtime-footer.mfc-global-footer .mfc-footer-legal,
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner>nav{
    flex:1 0 100%!important;width:100%!important;min-width:0!important;margin:0!important;
    display:flex!important;justify-content:space-between!important;gap:10px!important;white-space:normal!important
  }
}
@media(max-width:360px){
  .mfc-customer-runtime .fp-runtime-header .fp-runtime-header-logo{max-width:58px!important;height:30px!important;max-height:30px!important}
  .mfc-customer-runtime .fp-runtime-header-nav{gap:5px!important;font-size:.59rem!important}
}


/* 9.1.35 – Android width correction without changing the proven single-row footer.
   Keep the 9.1.33 horizontal-overflow/header safeguards, but restore the compact
   one-line footer used successfully on desktop and iOS. The footer must fit inside
   the viewport; it may reduce type/gaps on narrow Android screens, but never wrap. */
@media(max-width:700px){
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner,
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner[style]{
    width:calc(100% - 16px)!important;max-width:100%!important;min-width:0!important;
    display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content!important;
    grid-template-areas:"copyright provider legal"!important;
    align-items:center!important;column-gap:6px!important;row-gap:0!important;
    padding:8px 0!important;white-space:nowrap!important;
    font-size:clamp(.50rem,2.05vw,.62rem)!important;line-height:1.05!important
  }
  .fp-runtime-footer.mfc-global-footer .mfc-footer-copyright{
    grid-area:copyright!important;justify-self:start!important;white-space:nowrap!important;min-width:0!important
  }
  .fp-runtime-footer.mfc-global-footer .mfc-powered-by{
    grid-area:provider!important;justify-self:center!important;display:inline-flex!important;
    flex:none!important;width:auto!important;white-space:nowrap!important;min-width:0!important;
    font-size:.92em!important;gap:.16em!important
  }
  .fp-runtime-footer.mfc-global-footer .mfc-footer-legal,
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner>nav{
    grid-area:legal!important;justify-self:end!important;display:flex!important;
    flex:none!important;width:auto!important;min-width:0!important;margin:0!important;
    gap:5px!important;flex-wrap:nowrap!important;white-space:nowrap!important
  }
}
@media(max-width:390px){
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner,
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner[style]{
    width:calc(100% - 12px)!important;column-gap:4px!important;
    font-size:clamp(.46rem,1.95vw,.56rem)!important
  }
  .fp-runtime-footer.mfc-global-footer .mfc-footer-legal,
  .fp-runtime-footer.mfc-global-footer .fp-runtime-footer-inner>nav{gap:4px!important}
}

/* 9.1.35 – true narrow-viewport containment for Android/Chrome.
   Fix the cause of clipped hero/body text instead of hiding horizontal overflow.
   Keep the established sticky header and single-row footer. */
html,body{max-width:100%;min-width:0;overflow-x:visible!important}
body.mfc-customer-standalone,#content,.mfc-customer-runtime,.mfc-customer-runtime .fp-runtime{max-width:100%!important;min-width:0!important}
@media(max-width:900px){
  .mfc-customer-runtime .fp-runtime-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:18px!important;
    padding-right:18px!important;
    gap:28px!important;
  }
  .mfc-customer-runtime .fp-runtime-hero>*{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .mfc-customer-runtime .fp-runtime-hero h1{
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(2rem,8.4vw,3.1rem)!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .mfc-customer-runtime .fp-runtime-hero p,
  .mfc-customer-runtime .fp-runtime-lead{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:break-word!important;
  }
  .mfc-customer-runtime .fp-runtime-section,
  .mfc-customer-runtime .mfc-customer-gallery,
  .mfc-customer-runtime .mfc-trust-section{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .mfc-customer-runtime .fp-runtime-section{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .mfc-customer-runtime .fp-runtime-section>*,
  .mfc-customer-runtime .fp-runtime-grid,
  .mfc-customer-runtime .fp-runtime-card,
  .mfc-customer-runtime .fp-runtime-location,
  .mfc-customer-runtime .fp-runtime-contact-wrap,
  .mfc-customer-runtime .fp-runtime-contact-info,
  .mfc-customer-runtime .fp-runtime-contact-form{
    max-width:100%!important;
    min-width:0!important;
  }
  .mfc-customer-runtime img,
  .mfc-customer-runtime video,
  .mfc-customer-runtime iframe,
  .mfc-customer-runtime svg{
    max-width:100%!important;
  }
}
@media(max-width:700px){
  .mfc-customer-runtime .fp-runtime-hero{padding-left:16px!important;padding-right:16px!important}
  .mfc-customer-runtime .fp-runtime-section{padding-left:16px!important;padding-right:16px!important}
  .mfc-customer-runtime .fp-runtime-hero h1{font-size:clamp(1.95rem,8.2vw,2.55rem)!important}
  .mfc-customer-runtime .fp-runtime-actions{width:100%!important;max-width:100%!important;min-width:0!important}
  .mfc-customer-runtime .fp-runtime-actions .fp-btn{min-width:0!important;max-width:100%!important}
}


/* 9.1.39 – tuned mobile footer clearance for fixed quick-contact dock.
   Android/Chrome can otherwise reach the document end while the fixed Anrufen/WhatsApp
   dock still covers the single-row footer. Add scrollable clearance below the footer
   without changing footer layout, header behavior, or desktop/iOS content widths. */
@media(max-width:700px){
  body.mfc-customer-standalone{
    padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
  }
  .mfc-customer-runtime .fp-runtime-footer.mfc-global-footer{
    position:relative!important;
    z-index:1!important;
  }
}
@media(max-width:390px){
  body.mfc-customer-standalone{
    padding-bottom:calc(76px + env(safe-area-inset-bottom))!important;
  }
}

/* 9.1.55: Unterseiten nutzen bewusst einen kompakten CTA statt des vollständigen Kontaktformular-Blocks. */
.fp-runtime-subpage-cta{padding-top:34px;padding-bottom:34px}
.fp-runtime-subpage-cta-inner{max-width:920px;margin:0 auto;padding:30px 32px;border:1px solid #dbe3e8;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(18,35,26,.07);text-align:center}
.fp-runtime-subpage-cta .fp-runtime-kicker{display:inline-block;margin-bottom:8px;font-weight:800;color:#267f3b;letter-spacing:.02em}
.fp-runtime-subpage-cta h2{margin:0 0 10px}
.fp-runtime-subpage-cta p{max-width:760px;margin:0 auto 20px;color:#475569}
.fp-runtime-subpage-cta .fp-runtime-actions{justify-content:center;flex-wrap:wrap}
.fp-btn-tertiary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;color:#1f2937;text-decoration:none}
@media(max-width:700px){.fp-runtime-subpage-cta{padding-top:24px;padding-bottom:24px}.fp-runtime-subpage-cta-inner{padding:24px 18px;border-radius:16px}.fp-runtime-subpage-cta .fp-runtime-actions{display:grid;grid-template-columns:1fr;gap:10px}.fp-runtime-subpage-cta .fp-btn{width:100%}}


/* 9.1.55 – Kontaktlayout/Routing-Fix.
   Erzwingt auf Start- und Kontaktseite echtes 60:40, auch wenn ältere Seiteninhalte
   noch eingebettete Layout-CSS enthalten. Aktionspaare füllen die linke Kachel gleichmäßig. */
@media(min-width:701px){
  .mfc-customer-runtime .fp-runtime-contact-wrap{
    grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important;
  }
  .mfc-customer-runtime .fp-runtime-contact-info>.fp-runtime-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    align-items:stretch!important;
  }
  .mfc-customer-runtime .fp-runtime-contact-info>.fp-runtime-actions>.fp-btn{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .mfc-customer-runtime .fp-runtime-contact-info>.fp-runtime-actions>.fp-contact-mail{
    grid-column:1 / -1!important;
    width:100%!important;
  }
  .mfc-customer-runtime .fp-runtime-contact-info>.fp-runtime-map-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
  }
  .mfc-customer-runtime .fp-runtime-contact-info>.fp-runtime-map-actions>.fp-map-button{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
