html{overflow-y:scroll}.esc-location-map-wrapper{position:relative;color:#2f414b;font-family:Arial Nova,Arial,sans-serif}.esc-location-world-map{position:relative;max-width:1040px;margin:0 auto}.esc-location-world-map>img{display:block;width:100%;height:auto}.esc-world-marker{position:absolute;left:0;top:0;width:0;height:0;transform:none;z-index:2}.esc-marker-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:block;width:13px;height:13px;border:2px solid #fff;background:#2f414b;border-radius:50%;box-shadow:0 3px 9px rgba(0,0,0,.28);margin:0;z-index:4}.esc-location-country-box{position:absolute;left:16px;top:0;transform:translate(var(--esc-auto-x,0px),var(--esc-auto-y,0px)) translateY(-50%);background:#fff;border-radius:7px;box-shadow:0 5px 13px rgba(0,0,0,.22);padding:8px 10px;min-width:96px;font-size:11px;line-height:1.18;color:#2f414b;z-index:3}.esc-location-country-box.has-level-3{background:#2f414b;color:#fff;min-width:132px;padding:8px 9px}.esc-box-title{display:block;font-size:14px;line-height:1.1;margin-bottom:5px;font-weight:700}.esc-box-child>span{display:block;background:#fff;color:#2f414b;border-radius:999px;padding:2px 8px;margin:4px 0 3px;text-align:center;font-size:10px;line-height:1.15}.esc-box-child.is-link>span,.esc-box-title.is-link{cursor:pointer}.esc-box-child ul{margin:2px 0 7px 13px;padding:0}.esc-box-child li{font-size:9.5px;line-height:1.1;margin:0 0 1px}.esc-location-country-box:not(.has-level-3) .esc-box-child>span{background:transparent;padding:0;margin:0;text-align:left}.esc-location-country-box:not(.has-level-3) .esc-box-child{font-size:11px;margin-bottom:4px}.esc-location-modal{display:none}.esc-location-modal.is-open{display:block}.esc-location-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:2147483600}.esc-location-modal-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1120px,calc(100vw - 70px));max-height:calc(100vh - 70px);overflow:auto;background:#fff;z-index:2147483601;padding:42px 52px 45px;box-shadow:0 18px 55px rgba(0,0,0,.32);box-sizing:border-box}.esc-location-modal-close{position:absolute;right:22px;top:18px;width:44px;height:44px;border:0;background:transparent;font-size:0;cursor:pointer}.esc-location-modal-close:before,.esc-location-modal-close:after{content:"";position:absolute;left:21px;top:4px;width:2px;height:36px;background:#2f414b}.esc-location-modal-close:before{transform:rotate(45deg)}.esc-location-modal-close:after{transform:rotate(-45deg)}.esc-location-panel{display:none}.esc-location-panel.is-active{display:block}.esc-location-panel h3{text-align:center;font-size:25px;line-height:1.2;margin:0 54px 34px;color:#2f414b;font-weight:800}.esc-location-panel-grid{display:grid;grid-template-columns:52% 48%;gap:32px;align-items:start}.esc-location-panel-left{padding-top:16px}.esc-location-panel-right{display:flex;justify-content:center}.esc-location-contacts{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:29px}.esc-location-contact-card{position:relative;width:205px;border-radius:18px;overflow:visible;background:transparent}.esc-contact-image{width:94px;height:94px;border-radius:50%;overflow:hidden;margin:0 auto -28px;position:relative;z-index:3;background:#d9e1e5;box-shadow:0 1px 0 rgba(0,0,0,.08)}.esc-contact-image img{width:100%;height:100%;object-fit:cover;display:block}.esc-contact-green{background:#9aaa12;color:#fff;min-height:78px;padding:36px 22px 14px;border-radius:18px 18px 48% 48%/18px 18px 18px 18px}.esc-contact-green strong{display:block;font-size:13px;line-height:1.08;font-weight:800}.esc-contact-green span{display:block;font-size:10.5px;line-height:1.15}.esc-contact-info{background:#f0f0ef;border-radius:0 0 18px 18px;padding:18px 22px 16px;font-size:10.5px;line-height:1.25;color:#2f414b}.esc-contact-info a{color:#2f414b;text-decoration:none}.esc-location-cocs{margin-top:0}.esc-location-cocs h4{font-size:19px;line-height:1.2;margin:0 0 14px;font-weight:800}.esc-coc-list{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.esc-coc{width:55px;height:55px;border-radius:50%;background:#cad82a;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:7.5px;line-height:1.05;padding:5px;box-sizing:border-box}.esc-coc-intern{background:#2f414b;font-size:11px}.esc-coc-fabrikplanung,.esc-coc-logistik-prozess-design,.esc-coc-logistik-automatisierung,.esc-coc-verpackungsplanung{background:#48768a}.esc-employees{display:flex;gap:15px;align-items:center;margin-top:27px;font-size:18px;color:#2f414b}.esc-employees strong{font-size:20px}.esc-employee-icon{font-size:21px;line-height:1;color:#2f414b}.esc-location-region-map{position:relative;width:100%;max-width:455px;margin:0 auto}.esc-location-region-map>img{display:block;width:100%;height:auto}.esc-region-map-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;z-index:3}.esc-region-map-marker img{width:55px;height:55px;object-fit:contain;display:block}.esc-default-pin{display:block;width:46px;height:46px;border-radius:50%;background:#2f414b;box-shadow:0 3px 10px rgba(0,0,0,.16)}.esc-marker-text{font-size:12px;line-height:1.2;white-space:nowrap;color:#2f414b;font-weight:400}.esc-marker-text strong,.esc-marker-text b{font-weight:800}.esc-marker-text p{margin:0}.esc-location-mobile-accordion{display:none}body.esc-location-modal-open{overflow-y:scroll!important}@media(max-width:991px){.esc-location-modal{display:none!important}.esc-location-mobile-accordion{display:block}.esc-location-world-map{margin-bottom:24px}.esc-mobile-trigger{width:100%;padding:14px 16px;border:0;background:#2f414b;color:#fff;text-align:left;margin-bottom:1px}.esc-mobile-content{display:none;padding:18px;background:#fff}.esc-mobile-item.is-open .esc-mobile-content{display:block}.esc-mobile-content .esc-location-panel{display:block}.esc-location-panel-grid{grid-template-columns:1fr}.esc-location-panel h3{text-align:left;margin:0 0 20px}.esc-location-contact-card{width:205px}.esc-location-modal-dialog{width:calc(100vw - 30px);padding:34px 22px}.esc-location-panel-left{padding-top:0}}

/* Modal top layer fix for Avada */
.esc-location-modal{
	position:fixed!important;
	inset:0!important;
	z-index:2147483640!important;
}
.esc-location-modal-backdrop{
	position:fixed!important;
	inset:0!important;
	z-index:2147483641!important;
}
.esc-location-modal-dialog{
	position:fixed!important;
	z-index:2147483642!important;
}
html{overflow-y:scroll!important;}
body.esc-location-modal-open{
	overflow-y:scroll!important;
	padding-right:0!important;
}

/* World marker positioning fix: dot stays exactly on saved X/Y, box is moved independently. */
.esc-location-world-map .esc-world-marker {
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	transform: none !important;
}
.esc-location-world-map .esc-marker-dot {
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	transform: translate(-50%, -50%) !important;
}
.esc-location-world-map .esc-location-country-box {
	position: absolute !important;
	left: 16px !important;
	top: 0 !important;
	transform: translate(var(--esc-auto-x, 0px), var(--esc-auto-y, 0px)) translateY(-50%) !important;
	will-change: transform;
}
.esc-location-country-box.is-auto-flipped {
	left: auto !important;
	right: 16px !important;
}

/* Connector line + dot styling update */
.esc-location-world-map .esc-marker-dot {
	width: 13px !important;
	height: 13px !important;
	background: #ffffff !important;
	border: 3px solid #2f414b !important;
	box-shadow: 0 2px 5px rgba(0,0,0,.25) !important;
	z-index: 6 !important;
}
.esc-location-world-map .esc-marker-line {
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	height: 2px !important;
	background: #2f414b !important;
	transform-origin: 0 50% !important;
	z-index: 1 !important;
	pointer-events: none !important;
}
.esc-location-world-map .esc-location-country-box {
	z-index: 5 !important;
}
