:root{--mg-p7-ink:#123d60;--mg-p7-muted:#506b7d;--mg-p7-accent:#4b89a8;--mg-p7-line:#d6e4ec;--mg-p7-pale:#f1f6f8;--mg-p7-shadow:0 12px 30px rgba(18,61,96,.08)}

/* Kontakt-Navigation: Icons liegen paketlokal und sind damit unabhängig von alten Bildpfaden. */
#sp-page-builder#sp-page-builder .mg-register-nav :is(a.mg-nav-house,a.mg-nav-mail,a.mg-nav-map-pin)::before{content:""!important;display:block!important;width:25px!important;height:25px!important;margin:0 auto 8px!important;background-color:currentColor!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-position:center!important;mask-position:center!important;-webkit-mask-size:contain!important;mask-size:contain!important;transition:transform .28s ease,opacity .28s ease!important}
#sp-page-builder#sp-page-builder .mg-register-nav a.mg-nav-house::before{-webkit-mask-image:url("../icons/house.svg")!important;mask-image:url("../icons/house.svg")!important}
#sp-page-builder#sp-page-builder .mg-register-nav a.mg-nav-mail::before{-webkit-mask-image:url("../icons/mail.svg")!important;mask-image:url("../icons/mail.svg")!important}
#sp-page-builder#sp-page-builder .mg-register-nav a.mg-nav-map-pin::before{-webkit-mask-image:url("../icons/map-pin.svg")!important;mask-image:url("../icons/map-pin.svg")!important}
#sp-page-builder#sp-page-builder .mg-register-nav a:is(:hover,:focus-visible)::before{transform:translateY(-2px)!important}

/* Kontakt: vorhandene Formularfelder, Namen, Empfänger und Captcha-Konfiguration bleiben unverändert. */
#sp-page-builder#sp-page-builder .mg-contact-form form{display:block!important;container-type:inline-size}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish{box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-areas:"policy" "captcha" "submit";align-items:center;gap:17px;margin:8px 15px 0!important;padding:21px 23px 19px;border:1px solid var(--mg-p7-line);border-left:4px solid var(--mg-p7-accent);border-radius:0 12px 12px 0;background:linear-gradient(118deg,var(--mg-p7-pale),#fff 82%);box-shadow:var(--mg-p7-shadow);overflow:hidden}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-check{grid-area:policy;box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0 0 17px!important;border-bottom:1px solid var(--mg-p7-line);display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:11px!important;align-items:start!important;float:none!important}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-check .sppb-form-check-input{width:19px!important;height:19px!important;margin:2px 0 0!important;accent-color:var(--mg-p7-ink)}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-check .sppb-form-check-label{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;color:var(--mg-p7-muted)!important;font-size:15px!important;line-height:1.55!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;float:none!important}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-check a{color:var(--mg-p7-ink)!important;text-decoration-thickness:1px;text-underline-offset:3px}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-recaptcha,
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-invisible-recaptcha,
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-powcaptcha{grid-area:captcha;justify-self:start;margin:0!important;padding:0!important;max-width:100%;min-width:0!important;float:none!important}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-btn{grid-area:submit;justify-self:start;margin:0!important;padding:0!important;text-align:left!important;float:none!important}
#sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-btn .sppb-btn{margin:0!important}
@container (min-width:620px){
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish{grid-template-columns:minmax(304px,1fr) auto;grid-template-areas:"policy policy" "captcha submit";column-gap:24px}
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-btn{justify-self:end;text-align:right!important}
}
#sp-page-builder#sp-page-builder .mg-contact-details .mg-p7-email-graphic img{display:block!important;width:215px!important;max-width:100%!important;height:auto!important;margin-top:6px!important;object-fit:contain!important}
#sp-page-builder#sp-page-builder .mg-contact-details .mg-p7-email-graphic{margin-bottom:22px!important}

/* Dezente, wiederholbare Ein-/Ausblendung beim Scrollen; ohne JavaScript bleibt alles sichtbar. */
.mg-p7-contact .mg-p7-motion{opacity:1;transform:none;transition:opacity .48s ease,transform .48s cubic-bezier(.2,.7,.25,1);will-change:opacity,transform}
.mg-p7-contact .mg-p7-motion.mg-p7-away{opacity:.12;transform:translateY(12px)}

/* Standort folgt dem Formular ohne die zuvor gestapelte Leerstelle. */
#sp-page-builder#sp-page-builder #nachricht{padding-bottom:30px!important;margin-bottom:0!important}
#sp-page-builder#sp-page-builder #nachricht>.sppb-row-container,#sp-page-builder#sp-page-builder #nachricht>.sppb-container-inner{padding-bottom:18px!important}
#sp-page-builder#sp-page-builder #standort{padding-top:24px!important;margin-top:0!important}
#sp-page-builder#sp-page-builder #standort>.sppb-row-container,#sp-page-builder#sp-page-builder #standort>.sppb-container-inner{padding-top:0!important;padding-bottom:20px!important}
#sp-page-builder#sp-page-builder #standort-map{padding-top:0!important;margin-top:0!important}

/* Datenschutzdialog: belastbare Lesbarkeit für Banner, Modal und rechtes Flyout. */
#redim-cookiehint#redim-cookiehint,#redim-cookiehint-modal #redim-cookiehint{font-size:16px!important;line-height:1.55!important}
#redim-cookiehint-bottom #redim-cookiehint.redim-tpl{background:#fff!important;color:#17384f!important;border-top:1px solid #d6e2e9!important;box-shadow:0 -12px 32px rgba(18,61,96,.12)!important}
#redim-cookiehint-modal #redim-cookiehint.redim-tpl{background:#fff!important;color:#17384f!important;border:1px solid #d6e2e9!important;border-radius:12px!important;box-shadow:0 20px 55px rgba(10,41,63,.22)!important}
#redim-cookiehint#redim-cookiehint .redim-cc-details,#redim-cookiehint-modal #redim-cookiehint .redim-cc-details{background:#fff!important;color:#17384f!important}
#redim-cookiehint-bottom #redim-cookiehint.redim-tpl .redim-cc-headline,
#redim-cookiehint-modal #redim-cookiehint.redim-tpl .redim-cc-headline{margin:0!important;color:inherit!important;font:700 clamp(21px,2.2vw,27px)/1.22 Arial,Helvetica,sans-serif!important;letter-spacing:-.012em!important;text-transform:none!important}
#redim-cookiehint-bottom #redim-cookiehint.redim-tpl .redim-cc-head,
#redim-cookiehint-modal #redim-cookiehint.redim-tpl .redim-cc-head{align-items:center!important;margin:0 0 10px!important;padding:0!important}
#redim-cookiehint-bottom #redim-cookiehint.redim-tpl .redim-cc-content,
#redim-cookiehint-modal #redim-cookiehint.redim-tpl .redim-cc-content{margin:0 0 14px!important;padding:0!important}
#redim-cookiehint-bottom #redim-cookiehint.redim-tpl .redim-cc-content>p,
#redim-cookiehint-modal #redim-cookiehint.redim-tpl .redim-cc-content>p{margin:0!important}
#redim-cookiehint#redim-cookiehint :is(p,li,.redim-cc-cat-desc,.redim-cc-cookie-desc),
#redim-cookiehint-modal #redim-cookiehint :is(p,li,.redim-cc-cat-desc,.redim-cc-cookie-desc){font-size:15px!important;line-height:1.58!important;letter-spacing:0!important}
#redim-cookiehint#redim-cookiehint :is(.cookiehead,.redim-cc-title,.redim-cc-cat-label),
#redim-cookiehint-modal #redim-cookiehint :is(.cookiehead,.redim-cc-title,.redim-cc-cat-label){line-height:1.3!important;overflow-wrap:anywhere}
#redim-cookiehint#redim-cookiehint :is(.redim-cc-body,.redim-cc-main,.cookiecontent),
#redim-cookiehint-modal #redim-cookiehint :is(.redim-cc-body,.redim-cc-main,.cookiecontent){padding:clamp(19px,2.4vw,30px)!important}
#redim-cookiehint#redim-cookiehint .redim-cc-details,
#redim-cookiehint-modal #redim-cookiehint .redim-cc-details{max-height:min(64vh,590px)!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}
#redim-cookiehint#redim-cookiehint :is(button,.btn,.redim-cc-btn),
#redim-cookiehint-modal #redim-cookiehint :is(button,.btn,.redim-cc-btn){min-height:44px!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important}
#redim-cookiehint#redim-cookiehint :is(a,button):focus-visible,
#redim-cookiehint-modal #redim-cookiehint :is(a,button):focus-visible{outline:3px solid #4b89a8!important;outline-offset:3px!important}

/* Nur markierte historische Joomla-/Kommentarreste verschwinden. EasyBlog selbst ist ausgenommen. */
.mg-p7-easyblog .mg-p7-legacy-hidden{display:none!important}

/* Rechtliche Seiten: vorhandener Wortlaut bleibt unangetastet, nur die Darstellung wird verfeinert. */
body.mg-p7-legal #sp-main-body{background:linear-gradient(180deg,#f6f9fb 0,#fff 290px)}
body.mg-p7-legal #sp-main-body>.container{max-width:1120px}
body.mg-p7-legal #sp-component .article-details{max-width:980px;margin:clamp(26px,4vw,54px) auto clamp(42px,6vw,78px)}
body.mg-p7-legal #sp-component [itemprop="articleBody"]>:is(.privacy-block,.impressum-block){position:relative;isolation:isolate;box-sizing:border-box;margin:0!important;padding:clamp(25px,4vw,52px)!important;border:1px solid #d9e6ed!important;border-top:4px solid var(--mg-p7-accent)!important;border-radius:18px!important;background:linear-gradient(145deg,#fff 0,#fff 75%,#f4f8fa 100%)!important;color:#294b62!important;font-size:16px!important;line-height:1.72!important;box-shadow:0 18px 50px rgba(18,61,96,.09)!important;overflow:hidden}
body.mg-p7-legal :is(.privacy-block,.impressum-block) table,
body.mg-p7-legal :is(.privacy-block,.impressum-block) tbody,
body.mg-p7-legal :is(.privacy-block,.impressum-block) tr{display:block!important;width:100%!important}
body.mg-p7-legal :is(.privacy-block,.impressum-block) td:first-child{display:block!important;position:relative!important;z-index:1!important;width:auto!important;padding:0!important;border:0!important}
body.mg-p7-legal :is(.privacy-block,.impressum-block) td:last-child{position:absolute!important;z-index:0!important;top:19px!important;right:24px!important;width:auto!important;padding:0!important;border:0!important;pointer-events:none!important}
body.mg-p7-legal :is(.privacy-paragraph,.impressum-paragraph){font-size:clamp(76px,11vw,136px)!important;line-height:.8!important;color:rgba(75,137,168,.10)!important;font-weight:700!important}
body.mg-p7-legal :is(.privacy-block,.impressum-block) h2{position:relative;color:var(--mg-p7-ink)!important;letter-spacing:-.012em!important}
body.mg-p7-legal .privacy-block h2:first-child,
body.mg-p7-legal .impressum-block h2:first-child{max-width:75%;margin:0 0 32px!important;font-size:clamp(28px,4vw,42px)!important;line-height:1.12!important}
body.mg-p7-legal .privacy-block h2:not(:first-child){margin:32px 0 10px!important;padding-left:15px;font-size:18px!important;line-height:1.35!important}
body.mg-p7-legal .privacy-block h2:not(:first-child)::before{content:"";position:absolute;left:0;top:.15em;width:3px;height:1.1em;border-radius:2px;background:var(--mg-p7-accent)}
body.mg-p7-legal :is(.privacy-block,.impressum-block) p{margin:0 0 13px!important}
body.mg-p7-legal :is(.privacy-block,.impressum-block) ul{margin:8px 0 17px 1.25em!important;padding:0!important}
body.mg-p7-legal :is(.privacy-block,.impressum-block) li{margin-bottom:6px}
body.mg-p7-legal :is(.privacy-block,.impressum-block) a{color:#17618d!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
body.mg-p7-legal .impressum-block .mg-p7-legal-section{margin:0 0 16px!important;padding:15px 17px!important;border:1px solid #e0eaf0;border-radius:10px;background:rgba(241,246,248,.64)}
body.mg-p7-legal .impressum-block .mg-p7-legal-section>strong:first-child{display:block;margin-bottom:3px;color:var(--mg-p7-ink);font-size:16px}
body.mg-p7-legal .impressum-block .mg-p7-brand-note{margin:28px 0!important;padding:20px!important;border:0!important;border-left:3px solid var(--mg-p7-accent)!important;border-radius:0 10px 10px 0!important;background:#f1f6f8!important;color:#466176!important;font-size:14px!important;line-height:1.65!important}
body.mg-p7-legal .article-details-bottom:has(.folium-tags:empty),
body.mg-p7-legal .article-details-bottom .folium-tags:not(:has(a)){display:none!important}
body.mg-p7-legal .mg-p7-legal-card{animation:mgP7LegalIn .56s cubic-bezier(.2,.7,.25,1) both}
@keyframes mgP7LegalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:767px){
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish{grid-template-columns:1fr;grid-template-areas:"policy" "captcha" "submit";gap:17px;margin-inline:0!important;padding:19px 17px 17px}
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-recaptcha,
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-invisible-recaptcha,
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-powcaptcha{justify-self:start;max-width:100%;overflow:hidden}
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-recaptcha>div{max-width:100%}
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-btn{justify-self:stretch;width:100%;text-align:left!important}
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-btn .sppb-btn{max-width:100%!important}
 #sp-page-builder#sp-page-builder #nachricht{padding-bottom:20px!important}
 #sp-page-builder#sp-page-builder #standort{padding-top:16px!important}
 #redim-cookiehint#redim-cookiehint,#redim-cookiehint-modal #redim-cookiehint{font-size:15px!important;line-height:1.5!important}
 #redim-cookiehint-bottom #redim-cookiehint.redim-tpl .redim-cc-headline,
 #redim-cookiehint-modal #redim-cookiehint.redim-tpl .redim-cc-headline{font-size:21px!important;line-height:1.22!important}
 #redim-cookiehint-bottom #redim-cookiehint.redim-tpl.redim-tpl-flyout-right{padding:15px 16px!important}
 #redim-cookiehint#redim-cookiehint :is(.redim-cc-body,.redim-cc-main,.cookiecontent),
 #redim-cookiehint-modal #redim-cookiehint :is(.redim-cc-body,.redim-cc-main,.cookiecontent){padding:17px 16px!important}
 #redim-cookiehint#redim-cookiehint .redim-cc-details,
 #redim-cookiehint-modal #redim-cookiehint .redim-cc-details{max-height:56vh!important}
 body.mg-p7-legal #sp-component [itemprop="articleBody"]>:is(.privacy-block,.impressum-block){border-radius:13px!important}
 body.mg-p7-legal .privacy-block h2:not(:first-child){margin-top:27px!important;font-size:17px!important}
 body.mg-p7-legal .impressum-block .mg-p7-legal-section{padding:13px 14px!important}
}
@media(max-width:350px){
 #sp-page-builder#sp-page-builder .mg-contact-form .mg-p7-form-finish>.sppb-form-builder-recaptcha{transform:scale(.88);transform-origin:left top;margin-bottom:-7px!important}
}
@media(prefers-reduced-motion:reduce){
 #sp-page-builder#sp-page-builder .mg-contact-form *,#redim-cookiehint *,#redim-cookiehint-modal *,.mg-p7-motion,.mg-p7-legal-card{scroll-behavior:auto!important;transition:none!important;animation:none!important;transform:none!important;opacity:1!important}
}
@media print{#redim-cookiehint-bottom,#redim-cookiehint-modal,#redim-cc-host{display:none!important}}
