.lab147-map-element{height:var(--lab147-map-height,460px);position:relative;background:#171a21;overflow:hidden;width:100%}.lab147-map-canvas{width:100%;height:100%}.lab147-map-error{position:absolute;left:10px;bottom:10px;background:#171a21;color:#fff;padding:10px}.lab147-map-marker{width:16px;height:16px;border-radius:50%;background:var(--lab147-marker-color,#a3e635);border:2px solid #fff;box-shadow:0 0 0 7px color-mix(in srgb,var(--lab147-marker-color,#a3e635) 22%,transparent)}.lab147-map-marker.is-pulsing{animation:lab147-map-pulse 2.5s infinite}@keyframes lab147-map-pulse{50%{box-shadow:0 0 0 24px transparent}}@media(prefers-reduced-motion:reduce){.lab147-map-marker.is-pulsing{animation:none}}
/* Native YOOtheme content overlay */
.lab147-map-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;pointer-events:none;padding:var(--lab147-overlay-padding,48px);box-sizing:border-box;color:#fff}
.lab147-map-overlay--left{justify-content:flex-start}
.lab147-map-overlay--center{justify-content:center}
.lab147-map-overlay--right{justify-content:flex-end}
.lab147-map-overlay--top{align-items:flex-start}
.lab147-map-overlay--middle{align-items:center}
.lab147-map-overlay--bottom{align-items:flex-end}
.lab147-map-overlay::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}
.lab147-map-overlay--gradient.lab147-map-overlay--left::before{background:linear-gradient(90deg,rgba(20,24,31,.96),rgba(20,24,31,.7) 34%,transparent 78%)}
.lab147-map-overlay--gradient.lab147-map-overlay--right::before{background:linear-gradient(270deg,rgba(20,24,31,.96),rgba(20,24,31,.7) 34%,transparent 78%)}
.lab147-map-overlay--gradient.lab147-map-overlay--center::before{background:linear-gradient(90deg,transparent,rgba(20,24,31,.82) 30%,rgba(20,24,31,.82) 70%,transparent)}
.lab147-map-overlay__inner{max-width:var(--lab147-overlay-width,440px);width:100%;pointer-events:none}
.lab147-map-overlay__meta{color:#a3e635!important;text-transform:uppercase;letter-spacing:.18em;margin-bottom:15px}
.lab147-map-overlay__title{color:#fff!important;margin:0 0 18px}
.lab147-map-overlay__content{color:#e0e3e7;margin-bottom:20px;line-height:1.7}
.lab147-map-overlay__content a,.lab147-map-overlay__button{pointer-events:auto}
.lab147-map-overlay__button{margin-top:4px}
@media(max-width:767px){.lab147-map-element:has(.lab147-map-overlay){height:auto!important;display:flex;flex-direction:column}.lab147-map-element:has(.lab147-map-overlay) .lab147-map-canvas{height:320px;order:2;flex:none}.lab147-map-overlay{position:relative;order:1;padding:28px 24px;background:#171a21;pointer-events:auto}.lab147-map-overlay::before{display:none}.lab147-map-overlay__inner{max-width:none}}

/* 3.1: Full-bleed map, independently sized overlay container. */
.lab147-map-overlay{display:block;padding:0}
.lab147-map-overlay__container{position:relative;box-sizing:border-box;width:100%;height:100%;margin-left:auto;margin-right:auto}
.lab147-map-overlay__layout{display:flex;width:100%;height:100%;box-sizing:border-box;padding-top:var(--lab147-overlay-padding,48px);padding-bottom:var(--lab147-overlay-padding,48px)}
.lab147-map-overlay--left .lab147-map-overlay__layout{justify-content:flex-start}
.lab147-map-overlay--center .lab147-map-overlay__layout{justify-content:center}
.lab147-map-overlay--right .lab147-map-overlay__layout{justify-content:flex-end}
.lab147-map-overlay--top .lab147-map-overlay__layout{align-items:flex-start}
.lab147-map-overlay--middle .lab147-map-overlay__layout{align-items:center}
.lab147-map-overlay--bottom .lab147-map-overlay__layout{align-items:flex-end}
@media(max-width:767px){.lab147-map-overlay__container{height:auto}.lab147-map-overlay__layout{height:auto;padding-top:28px;padding-bottom:28px}.lab147-map-overlay{padding:0}.lab147-map-overlay__inner{max-width:none}}

/* 3.3: Mobile content stays over the map, with top-to-bottom gradient. */
@media (max-width:767px) {
  .lab147-map-element:has(.lab147-map-overlay) {display:block!important; height:var(--lab147-mobile-height,650px)!important; position:relative;}
  .lab147-map-element:has(.lab147-map-overlay) .lab147-map-canvas {position:absolute;inset:0;width:100%;height:100%;order:initial;}
  .lab147-map-overlay {position:absolute;inset:0;z-index:3;display:block;background:transparent;pointer-events:none;padding:0;order:initial;}
  .lab147-map-overlay::before {display:block;content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to bottom,rgba(20,24,31,var(--lab147-mobile-gradient,.95)) 0%,rgba(20,24,31,.70) 32%,rgba(20,24,31,.15) 70%,transparent 100%);}
  .lab147-map-overlay__container {position:relative;z-index:1;height:100%;}
  .lab147-map-overlay__layout {position:relative;display:flex;align-items:flex-start!important;justify-content:flex-start!important;height:100%;padding:var(--lab147-mobile-padding,30px)!important;box-sizing:border-box;}
  .lab147-map-overlay__inner {width:100%;max-width:var(--lab147-overlay-width,440px);pointer-events:none;}
  .lab147-map-overlay__inner a {pointer-events:auto;}
}

/* 3.4: independent desktop/mobile gradient directions and transparent-header offset. */
.lab147-map-overlay--gradient::before {
  background:linear-gradient(to right,rgba(20,24,31,.96) 0%,rgba(20,24,31,.70) 34%,transparent 78%);
}
.lab147-map-overlay--gradient.lab147-map-overlay--desktop-to-left::before {background:linear-gradient(to left,rgba(20,24,31,.96) 0%,rgba(20,24,31,.70) 34%,transparent 78%);}
.lab147-map-overlay--gradient.lab147-map-overlay--desktop-to-right::before {background:linear-gradient(to right,rgba(20,24,31,.96) 0%,rgba(20,24,31,.70) 34%,transparent 78%);}
.lab147-map-overlay--gradient.lab147-map-overlay--desktop-to-bottom::before {background:linear-gradient(to bottom,rgba(20,24,31,.96) 0%,rgba(20,24,31,.70) 34%,transparent 78%);}
.lab147-map-overlay--gradient.lab147-map-overlay--desktop-to-top::before {background:linear-gradient(to top,rgba(20,24,31,.96) 0%,rgba(20,24,31,.70) 34%,transparent 78%);}
.lab147-map-overlay--desktop-none::before {background:none!important;}
@media (max-width:767px) {
  .lab147-map-overlay__layout {padding-top:calc(var(--lab147-mobile-padding,30px) + var(--lab147-mobile-content-offset-top,90px))!important;}
  .lab147-map-overlay--gradient.lab147-map-overlay--mobile-to-bottom::before {background:linear-gradient(to bottom,rgba(20,24,31,var(--lab147-mobile-gradient,.95)) 0%,rgba(20,24,31,.70) 32%,rgba(20,24,31,.15) 70%,transparent 100%)!important;}
  .lab147-map-overlay--gradient.lab147-map-overlay--mobile-to-top::before {background:linear-gradient(to top,rgba(20,24,31,var(--lab147-mobile-gradient,.95)) 0%,rgba(20,24,31,.70) 32%,rgba(20,24,31,.15) 70%,transparent 100%)!important;}
  .lab147-map-overlay--gradient.lab147-map-overlay--mobile-to-right::before {background:linear-gradient(to right,rgba(20,24,31,var(--lab147-mobile-gradient,.95)) 0%,rgba(20,24,31,.70) 32%,rgba(20,24,31,.15) 70%,transparent 100%)!important;}
  .lab147-map-overlay--gradient.lab147-map-overlay--mobile-to-left::before {background:linear-gradient(to left,rgba(20,24,31,var(--lab147-mobile-gradient,.95)) 0%,rgba(20,24,31,.70) 32%,rgba(20,24,31,.15) 70%,transparent 100%)!important;}
  .lab147-map-overlay--mobile-none::before, .lab147-map-overlay:not(.lab147-map-overlay--gradient)::before {background:none!important;}
}

/* 3.6: address popup, scoped to map element */
.lab147-map-element .maplibregl-popup-content{background:#20242c;color:#f3f4f6;border-radius:9px;padding:14px 18px;box-shadow:0 8px 30px rgba(0,0,0,.3);font-size:13px;line-height:1.55;}
.lab147-map-element .maplibregl-popup-content strong{display:block;color:#a3e635;margin-bottom:3px;}
.lab147-map-element .maplibregl-popup-tip{border-top-color:#20242c;}
.lab147-map-element .maplibregl-popup-close-button{color:#fff;font-size:19px;padding:3px 8px;}
.lab147-map-element .lab147-map-marker{cursor:pointer;}

/* 3.8: SVG editor icons and overlay-content popup */
.lab147-map-overlay__content svg,.lab147-map-popup-rich svg{display:inline-block;vertical-align:middle;flex-shrink:0;}
.lab147-map-element .lab147-map-popup-rich{color:#e0e3e7;line-height:1.65;}
.lab147-map-element .lab147-map-popup-rich a{color:#c4f27c;}
.lab147-map-element .lab147-map-popup-rich p{margin:0 0 10px;}
.lab147-map-element .lab147-map-popup-rich p:last-child{margin-bottom:0;}
