/* Source: /components/content-type.css */
/* Shared compact content role in the document, initial HTML and native shadow roots.
   Four configurator cards and four homepage package previews retain their original type. */
:is(main,.sl-inline-body) :is(.text-xs,.text-sm):not(button,a,svg):not([class~="group/card"], [class~="group/card"] *, .sl-promo-package, .sl-promo-package *){font-size:var(--sl-compact-copy-size,16px)!important;line-height:1.6!important}

/* Legacy CMS body utilities use the same reading role as newer sections.
   Media artwork and the approved package cards keep their separate hierarchy. */
html[data-sl-finish] main :is(p,div,span,li):is(.text-s4,.text-s4-medium,.text-s4-xs,.text-s5-xs,.text-s5-light,.text-s5-regular):not(.sl-promo *, .sl-campaign *, .sl-media-copy *, [class~="group/card"], [class~="group/card"] *, .sl-promo-package, .sl-promo-package *){font-size:var(--sl-copy-size)!important;line-height:1.6!important;font-weight:400}

/* Source: /components/service-contacts.css */
.sl-services-section,.sl-service-page,.sl-service-context{max-width:1300px;margin:56px auto;padding:0 16px;box-sizing:border-box;color:var(--sl-ink,#263329);font-family:var(--sl-font,Inter,Arial,sans-serif)}
.sl-services-section *,.sl-service-page *,.sl-service-context *{box-sizing:border-box}
.sl-services-intro{max-width:760px;margin-bottom:28px}
.sl-service-eyebrow{display:block;font-size:14px;line-height:1.5;font-weight:600;color:#387538;letter-spacing:.04em;margin-bottom:12px}
.sl-services-intro h2,.sl-service-final h2{margin:0 0 16px!important;font-size:var(--sl-section-title-size)!important;line-height:1.3!important}
.sl-services-section p,.sl-service-page p,.sl-service-context p{font-size:var(--sl-copy-size,18px);line-height:1.65;margin:0 0 20px;overflow-wrap:anywhere}
.sl-services-grid,.sl-service-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.sl-service-card,.sl-service-hero,.sl-service-steps>article,.sl-service-faq,.sl-service-final{min-width:0;border:0;border-radius:14px;background:var(--sl-glow-calm,linear-gradient(135deg,#f3f8f4,#fff));box-shadow:var(--sl-card-shadow,0 4px 18px rgb(22 39 29 / .125));overflow:hidden}
.sl-service-image{min-width:0;margin:0;position:relative;background:#f6f7f9}
.sl-service-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:0;border-radius:0;box-shadow:none}
.sl-service-image figcaption{position:absolute;right:10px;bottom:10px;max-width:calc(100% - 20px);font-size:12px;font-weight:400;line-height:1.35;padding:0;color:#fff;text-shadow:0 1px 3px rgb(0 0 0 / .65)}
.sl-service-copy{padding:clamp(24px,3vw,40px);min-width:0}
.sl-service-card h3{margin:12px 0 14px!important;font-size:var(--sl-card-title-size)!important;line-height:1.4!important}
.sl-service-symbol{display:inline-flex;color:#49ab49}
.sl-service-symbol svg{width:28px;height:28px}
.sl-service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.sl-service-actions .btn,.sl-service-final .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;min-height:44px;border-radius:999px;white-space:nowrap}
.sl-service-actions svg,.sl-service-final svg,.sl-service-inline-phone svg{width:20px;height:20px;flex:none}
.sl-service-details{font-size:16px;font-weight:600;color:#367736;text-underline-offset:4px}
.sl-service-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;line-height:1.6;margin-bottom:24px}
.sl-service-breadcrumb a,.sl-service-faq a,.sl-service-context a{color:#367736;text-underline-offset:4px}
.sl-service-page>section{margin-bottom:48px}
.sl-service-hero{gap:0;align-items:center}
.sl-service-hero h1{font-size:var(--sl-page-title-size)!important;line-height:1.25!important;margin:0 0 24px!important;overflow-wrap:break-word}
.sl-service-hero .sl-service-image{align-self:stretch}
.sl-service-hero .sl-service-image img{height:100%;min-height:360px}
.sl-service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sl-service-steps>article{padding:28px;background:var(--sl-glow-tech,#fff)}
.sl-service-steps h3{font-size:var(--sl-card-title-size)!important;margin:16px 0 12px!important}
.sl-step-number{font-size:24px;font-weight:700;color:#49ab49}
.sl-service-faq,.sl-service-final{padding:clamp(24px,4vw,40px)}
.sl-service-faq details{margin-top:16px;padding:16px 0}
.sl-service-faq summary{font-size:18px;font-weight:600;cursor:pointer}
.sl-service-faq details p{margin:16px 0 0}
.sl-service-inline-phone{display:inline-flex;align-items:center;gap:6px}
.sl-service-context{padding:24px;background:var(--sl-glow-calm,#f6f7f9);border-radius:14px}
.sl-service-context h2{font-size:var(--sl-section-title-size)!important;line-height:1.3!important}
.sl-services-section :is(a,button),.sl-service-page :is(a,summary){scroll-margin-top:210px}
.sl-services-section :focus-visible,.sl-service-page :focus-visible{outline:2px solid #388438;outline-offset:4px}
/* Service links get their own header row instead of compressing existing controls. */
body>header>.navbar{flex-wrap:wrap}
body>header>.navbar>.container-fluid{flex-basis:100%;width:100%;min-width:0}
body>header .sl-service-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%;width:100%;min-height:56px;padding:0;background:none}
body>header .sl-service-bar a{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:56px;padding:6px 16px;box-sizing:border-box;color:inherit;text-decoration:none;font-size:14px;font-weight:600;line-height:1.3;border-radius:0}
body>header .sl-service-bar .sl-service-bar-stoerung{background:#fff2e5;color:#91420d}
body>header .sl-service-bar .sl-service-bar-meldungen{background:#edf7ed;color:#2c6330}
body>header .sl-service-bar a>span{display:flex;align-items:center;gap:12px;min-width:0;white-space:nowrap}
body>header .sl-service-bar svg{width:22px;height:22px;flex:none}
body>header .sl-service-bar small{font-size:14px;font-weight:500;margin:0;font-variant-numeric:tabular-nums}
body>header .sl-service-bar .sl-service-label-compact{display:none}
body>header .sl-service-bar a:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
body>header .sl-service-bar a:hover{filter:brightness(.97)}
@media(max-width:767px){body>header .sl-service-bar a{font-size:12px;gap:6px;padding:6px 8px}body>header .sl-service-bar a>span{display:grid;gap:3px}body>header .sl-service-bar .sl-service-label{display:none}body>header .sl-service-bar .sl-service-label-compact{display:block}body>header .sl-service-bar svg{width:18px;height:18px}}
@media(max-width:379px){body>header .sl-service-bar svg{display:none}}
@media(max-width:767px){.sl-services-section,.sl-service-page{margin-block:32px}.sl-services-grid,.sl-service-hero,.sl-service-steps{grid-template-columns:minmax(0,1fr)}.sl-service-hero .sl-service-image img{min-height:0;height:auto}.sl-service-copy{padding:24px}.sl-service-actions{gap:14px}}


/* Temporary contact announcement: a real flow element, never an overlay. */
.sl-service-announcement{position:relative;flex:none;display:block;overflow:hidden;background:#f6f7f9;color:#263329;font:400 16px/1.5 var(--sl-font,Inter,Arial,sans-serif);overflow-anchor:none}
.sl-service-announcement[hidden]{display:none}
.sl-service-announcement *{box-sizing:border-box}
.sl-service-announcement-content{position:relative;max-width:1300px;margin:0 auto;padding:28px 16px}
.sl-service-announcement h2{margin:0 56px 10px 0;font-size:24px;line-height:1.3;font-weight:600;color:#2c6330}
.sl-service-announcement p{margin:0 56px 20px 0;font-size:16px;line-height:1.5}
.sl-service-announcement [data-service-notice-close]{position:absolute;top:18px;right:16px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;padding:10px;background:#fff;color:#263329;cursor:pointer}
.sl-service-announcement svg{width:24px;height:24px;flex:none}
.sl-service-announcement-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sl-service-announcement-options a{display:flex;align-items:center;gap:12px;min-width:0;min-height:76px;padding:16px;border:0;border-radius:14px;background:#fff;color:#263329;text-decoration:none}
.sl-service-announcement-options a>span{display:grid;gap:4px;min-width:0}
.sl-service-announcement-options strong{font-size:16px;line-height:1.4;font-weight:600;overflow-wrap:break-word}
.sl-service-announcement-options a>span>span{font-size:16px;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}
.sl-service-announcement-options .sl-announcement-stoerung{background:#fff2e5;color:#91420d}
.sl-service-announcement-options .sl-announcement-meldungen{background:#edf7ed;color:#2c6330}
.sl-service-announcement-options .sl-announcement-office:hover{background:#eceef1;color:#263329}
.sl-service-announcement-options .sl-announcement-stoerung:hover{background:#ffe8d0;color:#91420d}
.sl-service-announcement-options .sl-announcement-meldungen:hover{background:#e2f1e2;color:#2c6330}
.sl-service-announcement :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:799px){.sl-service-announcement-options{grid-template-columns:minmax(0,1fr)}.sl-service-announcement-content{padding-block:24px}.sl-service-announcement h2{font-size:22px}.sl-service-announcement p{margin-right:0}}
/* The existing header stack reserves its own flow space below the notice. */
body:has(>.sl-service-announcement){padding-top:0!important}
body:has(>.sl-service-announcement)>header{position:sticky;top:0;flex-shrink:0}
body:has(>.sl-service-announcement)>header #sl-shop-navigation{position:relative!important;inset:auto!important}
/* Legacy overflow-y:auto creates a second sticky containing block. The document
   remains the scroller; existing menu/modal scroll locks are kept. */
body:has(>.sl-service-announcement):not(.modal-open):not(.menu-open){overflow:visible}

