/* Contact attachments and space for the hydraulic power units menu entry. */
#formContact .contact-attachments{width:100%;grid-column:1/-1;padding:18px!important;margin:12px 0!important;border:1px solid #dedee2;border-radius:12px;background:#fafafa;box-sizing:border-box}
#formContact .attachment-picker{position:relative;display:inline-flex!important;align-items:center;gap:9px;width:auto!important;max-width:100%;padding:12px 18px!important;margin:0!important;border:1px solid #bc161b;border-radius:8px;background:#fff;color:#b91419;font-family:inherit;font-size:16px;line-height:1.3;font-weight:600;cursor:pointer;overflow:hidden}
#formContact .attachment-picker:hover{background:#fff2f2}
#formContact .attachment-picker:focus-within{outline:3px solid #e0b346;outline-offset:3px}
#formContact #contactFiles{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer;margin:0!important;padding:0!important}
#formContact #attachmentHint{font-size:13px!important;line-height:1.5!important;color:#666;margin:12px 0 0!important;padding:0!important}
#formContact #attachmentList{list-style:none;padding:0;margin:10px 0 0}
#formContact #attachmentList li{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #e5e5e5;font-size:14px;line-height:1.4}
#formContact #attachmentList li span{flex:1;overflow-wrap:anywhere;min-width:0}
#formContact #attachmentList button{position:static!important;display:block!important;flex:none;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:1px solid #ddd;border-radius:7px;background:#fff;color:#a51216;font:24px/1 sans-serif;cursor:pointer}
#formContact #attachmentError[hidden]{display:none!important}
@media(min-width:768px){body>header nav.main ul.main{white-space:nowrap}body>header nav.main ul li a{padding-left:9px;padding-right:9px}.site-header nav{gap:18px}.site-header nav a{white-space:nowrap}}
@media(min-width:768px) and (max-width:1100px){body>header nav.main ul li a,body>header nav.main ul li a:first-child{padding:0 5px!important;font-size:13px!important}body>header div.logo{flex-basis:130px!important}body>header div.logo img{width:125px!important}.site-header{gap:14px;padding-inline:24px}.site-header .logo{width:145px}.site-header nav{gap:13px}.site-header nav a{font-size:14px}.site-header .header-phone{display:none}}
@media(max-width:767px){#formContact .contact-attachments{padding:15px!important}#formContact .attachment-picker{width:100%!important;justify-content:center;box-sizing:border-box}}

/* Header language menu: flags supplement language names rather than replace them. */
header .ht-language-item{position:relative;list-style:none;overflow:visible!important}
header .ht-language{position:relative;margin-left:10px;font:14px/1.3 'Fira Sans',sans-serif;color:#25252b;white-space:normal}
header .ht-language summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:9px 10px;border:1px solid #e2e2e5;border-radius:8px;background:#fff;min-height:38px;box-sizing:border-box;font-weight:500}
header .ht-language summary::-webkit-details-marker{display:none}
header .ht-language summary:hover,header .ht-language[open] summary{border-color:#c41920;background:#fff8f8}
header .ht-language summary:focus-visible{outline:2px solid #c41920;outline-offset:3px}
header .ht-language-flag{display:block;width:25px;height:17px;flex:0 0 25px;border-radius:3px;box-shadow:0 0 0 1px #00000017}
header .ht-language-chevron{width:11px;height:8px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .15s}
header .ht-language[open] .ht-language-chevron{transform:rotate(180deg)}
header .ht-language-options{position:absolute;top:calc(100% + 8px);right:0;width:190px;padding:6px;background:#fff;border:1px solid #e6e6e9;border-radius:10px;box-shadow:0 12px 35px #0002;z-index:60}
body>header .ht-language-options a,body>header nav.main .ht-language-options a,body>header nav.main .ht-language-options a:first-child{display:flex!important;align-items:center;gap:10px;padding:11px 10px!important;margin:0!important;height:auto!important;line-height:1.3!important;font-size:14px!important;color:#303037!important;text-decoration:none;border:0!important;float:none!important;white-space:nowrap}
header .ht-language-options a::after,header .ht-language-options a::before{display:none!important}
header .ht-language-options a:hover,header .ht-language-options a[aria-current=true]{background:#fff0f0;border-radius:6px;color:#b91419!important}
header .ht-language-options small{margin-left:auto;font-size:11px;color:#777}
@media(min-width:768px){body>header nav.main ul.main{display:flex;align-items:center}.site-header nav{gap:14px}body>header .ht-language-item{display:flex!important;align-items:center}}
@media(min-width:768px) and (max-width:1200px){body>header div.telephone{display:none!important}.site-header .header-phone{display:none}.site-header nav{gap:10px}header .ht-language{margin-left:3px}header .ht-language summary{gap:5px;padding:7px}.site-header{padding-inline:20px}.site-header .logo{width:130px}body>header nav.main ul li a,body>header nav.main ul li a:first-child{padding-inline:4px!important;font-size:12px!important}}
@media(max-width:767px){
 body>header nav.main ul.main>li.ht-language-item{display:block!important;width:100%!important;border:0!important}
 body>header nav.main ul.main>li.contact{border-bottom:0!important}
 body>header nav.main ul.main>li.contact>a,.site-header nav>a:last-of-type{border-bottom:0!important}
 header .ht-language{margin:12px 0 0;padding:0;border:0;width:100%}
 header .ht-language summary{width:max-content}
 header .ht-language-options{position:absolute;top:auto;bottom:calc(100% + 8px);left:0;right:auto;width:210px;max-width:100%;margin:0;box-sizing:border-box;box-shadow:0 -8px 28px #0002;border:1px solid #e6e6e9;background:#fff}
 header .ht-language-chevron{transform:rotate(180deg)}
 header .ht-language[open] .ht-language-chevron{transform:rotate(0)}
 .site-header nav .ht-language{grid-column:1/-1}
 header .ht-language-options a{min-height:44px}
}

/* V1: component tile has no destination until its V2 scope is defined. */
.ht-offer-static{position:relative;height:100%;pointer-events:none}.ht-offer-static img.main{display:block;max-width:100%}

.ht-official-address{white-space:pre-line}html[lang="de"] .hero h1{overflow-wrap:anywhere;hyphens:manual}

/* Keep the transparent file input inside its own picker on mobile. */
#formContact label.attachment-picker{position:relative!important}
