/* headings: no automatic hyphenation ("Un-ternehmen"), break only at spaces */
h1,h2,h3,.h1,.h2{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;word-break:normal;text-wrap:balance}
/* GRAEF next add-on: uses the GRAEF theme tokens, with fallbacks */
.gn-anchor{position:absolute;top:0;left:0;width:1px;height:1px}
html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.gn-totop{background:var(--navy,#0B1F3A);text-align:center;padding:0 16px 34px}.gn-totop a{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:40px;border:1px solid rgba(255,255,255,.2);color:#fff;font:600 15px/1.2 var(--ff,'Inter',system-ui,sans-serif);text-decoration:none}.gn-totop a:hover{border-color:var(--blue,#1C63BF);background:var(--navy2,#132B4D)}.gn-totop svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gn-chat{position:fixed;right:18px;bottom:18px;z-index:9998;font-family:var(--ff,'Inter',system-ui,sans-serif)}.gn-chat>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;background:var(--blue,#1C63BF);color:#fff;font:600 15px/1 var(--ff-h,var(--ff,'Inter',system-ui,sans-serif));padding:15px 20px;border-radius:40px;box-shadow:0 14px 34px rgba(28,99,191,.35)}.gn-chat>summary::-webkit-details-marker{display:none}.gn-chat>summary:hover{background:var(--blue-d,#154E99)}.gn-chat>summary svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.gn-chat[open]>summary{background:var(--navy,#0B1F3A)}.gn-chat[open]>summary span:after{content:" ✕"}
.gn-panel{position:absolute;right:0;bottom:64px;width:min(380px,calc(100vw - 36px));max-height:min(640px,calc(100vh - 120px));overflow:auto;background:#fff;border:1px solid var(--line,#DDE3EA);border-radius:var(--r,18px);box-shadow:0 30px 70px rgba(11,31,58,.28)}
.gn-head{display:flex;gap:12px;align-items:center;background:var(--navy,#0B1F3A);color:#fff;padding:16px 18px}.gn-head b{display:block;font:600 16px/1.3 var(--ff-h,inherit)}.gn-head span{font-size:13px;color:var(--muted-l,#A9B6C8)}.gn-av{width:42px;height:42px;border-radius:12px;background:var(--blue,#1C63BF);display:grid;place-items:center;flex:none}.gn-av svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round}
.gn-body{padding:16px 18px 18px;color:var(--ink,#0B1F3A)}.gn-msg{background:var(--bg,#F5F7FA);border-radius:4px 16px 16px 16px;padding:12px 14px;font-size:14.5px;line-height:1.5;margin:0 0 12px}.gn-ok{background:#EAF7EF;color:#1B5E36}.gn-err{background:#FDEDED;color:#8A1C1C}
.gn-lbl{font:600 12px/1.2 var(--ff,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#5B6676);margin:12px 0 8px}
.gn-topics{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.gn-topics a{padding:8px 12px;border-radius:30px;border:1px solid var(--line2,#C9D2DD);color:var(--ink,#0B1F3A);background:#fff;text-decoration:none;font-weight:600;font-size:13.5px}.gn-topics a:hover,.gn-topics a[aria-current]{border-color:var(--blue,#1C63BF);background:var(--blue-l,#EAF2FC);color:var(--blue-d,#154E99)}
.gn-form textarea,.gn-form input{width:100%;box-sizing:border-box;font:inherit;font-size:14.5px;padding:11px 12px;border:1px solid var(--line2,#C9D2DD);border-radius:var(--rb,10px);margin:0 0 8px;background:#fff;color:var(--ink,#0B1F3A)}.gn-form textarea:focus,.gn-form input:focus{outline:2px solid var(--blue,#1C63BF);border-color:var(--blue,#1C63BF)}.gn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gn-btn{width:100%;min-height:48px;border:0;border-radius:var(--rb,10px);background:var(--blue,#1C63BF);color:#fff;font:600 15px/1 var(--ff,inherit);cursor:pointer}.gn-btn:hover{background:var(--blue-d,#154E99)}
.gn-hp{position:absolute;left:-9999px}.gn-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gn-note{font-size:12px;color:var(--muted,#5B6676);margin:8px 0 0}.gn-note a,.gn-foot a{color:var(--blue-d,#154E99);text-decoration:underline}.gn-foot{font-size:13.5px;margin:12px 0 0;color:var(--muted,#5B6676)}
@media(max-width:760px){.gn-chat{right:12px;bottom:12px}.gn-chat>summary{padding:13px 16px}.gn-row{grid-template-columns:1fr}}
/* keep the theme cookie banner above the chat button */
.cookie:not([hidden]) ~ .gn-chat{bottom:120px}
/* v1.1 mobile: the chat never covers the theme's own UI */
body:has(.cookie:not([hidden])) .gn-chat,body.menu-open .gn-chat{display:none}
body:has(.mcta.is-on) .gn-chat{bottom:84px}
.gn-chat{transition:bottom .3s}
@media(max-width:760px){
.gn-chat>summary{width:54px;height:54px;padding:0;justify-content:center;border-radius:50%}
.gn-chat>summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gn-chat[open]>summary svg{display:none}.gn-chat[open]>summary:before{content:"✕";font-size:20px}
.gn-panel{position:fixed;left:12px;right:12px;bottom:76px;width:auto;max-height:calc(100vh - 160px)}
body:has(.mcta.is-on) .gn-panel{bottom:148px}
body:has(.contact input:focus,.contact textarea:focus,.contact select:focus,.b24form input:focus,.b24form textarea:focus) .gn-chat:not([open]){display:none}
}
/* v1.1 theme fixes for phones (scoped to existing theme classes) */
@media(max-width:560px){
.cookie__b{flex-direction:column}.cookie__b .btn{width:100%}
.statement__stats span{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal}
/* shorter home: brands as 2-up tiles, KRITIS items as a swipe row, footer links in two columns */
.brandz__grid{grid-template-columns:1fr 1fr!important;grid-auto-rows:150px!important;gap:10px!important}
.brandz__t--big{grid-column:1/-1;grid-row:span 1}
.brandz__body span{display:none}.brandz__t--big .brandz__body span{display:block}
.kr__grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.kr__item{flex:0 0 82%;scroll-snap-align:start}
.ftr__grid{grid-template-columns:1fr 1fr!important;gap:28px 18px!important}
.ftr__grid>.ftr__brand,.ftr__grid>div:last-child{grid-column:1/-1}
.ftr__grid>div:last-child ul{grid-template-columns:1fr 1fr;column-gap:18px}
.ftr ul a{font-size:14.5px}
}
@media(max-width:560px){
.brandz__t:not(.brandz__t--big) .tile__go{display:none}
.brandz__t:not(.brandz__t--big) .brandz__body strong{font-size:16px;line-height:1.2}
/* breadcrumbs on phones: one line back to the parent page instead of 3-4 lines of long SEO titles */
nav.crumbs li{display:none!important}
nav.crumbs,nav.crumbs ol{min-width:0;max-width:calc(100vw - 48px);overflow:hidden}
nav.crumbs li:nth-last-child(2){display:block!important;max-width:calc(100vw - 64px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
nav.crumbs li:nth-last-child(2)::before{content:"‹ "!important;display:inline!important}
}
/* v1.1 iOS Safari: overflow:hidden + border-radius does not clip transformed / negative z-index images
   (brand tiles showed product photos spilling into the next tile). clip-path clips them reliably. */
@media(hover:none){.brandz__t,.tile,.case,.refcard,.bcard,.lcard__img,.branch__img,.feat__img,.media__box,.hx__card{-webkit-clip-path:inset(0 round var(--r,18px));clip-path:inset(0 round var(--r,18px))}.hx__card{-webkit-clip-path:inset(0 round var(--rl,24px));clip-path:inset(0 round var(--rl,24px))}.kcase__img{-webkit-clip-path:inset(0 round 12px);clip-path:inset(0 round 12px)}}
/* v1.2 live site: TranslatePress floating language switcher ("German") covered the cookie button,
   the mobile bar "Angebot anfordern" and content on every screen. The site has one language,
   so the floater is hidden; turn it off in TranslatePress -> Settings -> Language Switcher as well. */
.trp-floating-switcher,#trp-floater-ls{display:none!important}
/* v1.3 language menu in the header (TranslatePress), replaces the floating corner button */
.gn-lang{position:relative;flex:none}
.gn-lang>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;height:46px;min-width:46px;padding:0 10px;border:1px solid var(--line2,#C9D2DD);border-radius:var(--rb,10px);font:600 14px/1 var(--ff,'Inter',system-ui,sans-serif);color:var(--ink,#0B1F3A);background:#fff}
.gn-lang>summary::-webkit-details-marker{display:none}.gn-lang>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gn-lang[open]>summary{border-color:var(--blue,#1C63BF);color:var(--blue,#1C63BF)}
.gn-lang ul{position:absolute;right:0;top:calc(100% + 8px);z-index:80;list-style:none;margin:0;padding:6px;min-width:190px;background:#fff;border:1px solid var(--line,#DDE3EA);border-radius:var(--rb,10px);box-shadow:0 18px 40px rgba(11,31,58,.18)}
.gn-lang li a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--ink,#0B1F3A);text-decoration:none;font:500 14.5px/1.2 var(--ff,inherit)}
.gn-lang li a:hover,.gn-lang li a[aria-current]{background:var(--blue-l,#EAF2FC);color:var(--blue-d,#154E99)}.gn-lang li img{border-radius:2px;flex:none}
@media(max-width:760px){.gn-lang>summary{padding:0 8px}}
