.swp-hs{--swp-hs-marker-size:38px;--swp-hs-marker-bg:#dc2626;--swp-hs-marker-color:#fff;--swp-hs-panel-bg:#fff;--swp-hs-text:#172033;--swp-hs-accent:#1d4ed8;--swp-hs-radius:12px;--swp-hs-max:1200px;position:relative;z-index:1;width:100%;max-width:var(--swp-hs-max);margin-inline:auto;color:var(--swp-hs-text)}
.swp-hs *,.swp-hs__dialog *{box-sizing:border-box}
.swp-hs__stage{position:relative;width:100%}
.swp-hs__main-image{display:block;width:100%;height:auto;border-radius:var(--swp-hs-radius)}
/* The hotspot itself is a zero-size anchor. Do not transform this element: a transform would create a containing block and break viewport based panels. */
.swp-hs__hotspot{position:absolute;z-index:2;width:0;height:0}
.swp-hs__marker{position:absolute;top:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;min-width:var(--swp-hs-marker-size);height:var(--swp-hs-marker-size);padding:0 10px;border:3px solid #fff;border-radius:999px;background:var(--swp-hs-marker-bg);box-shadow:0 4px 16px rgba(0,0,0,.3);color:var(--swp-hs-marker-color);font-size:14px;font-weight:800;line-height:1;cursor:pointer;transform:translate(-50%,-50%);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.swp-hs--marker-dot .swp-hs__marker{width:var(--swp-hs-marker-size);min-width:0;padding:0}
.swp-hs--pulse .swp-hs__marker:after{content:"";position:absolute;inset:-3px;border:2px solid var(--swp-hs-marker-bg);border-radius:inherit;animation:swp-hs-pulse 2s infinite;pointer-events:none}
.swp-hs__panel{position:absolute;bottom:calc(var(--swp-hs-marker-size)/2 + 13px);left:0;z-index:8;display:none;width:min(310px,80vw);overflow:hidden;border-radius:var(--swp-hs-radius);background:var(--swp-hs-panel-bg);box-shadow:0 16px 45px rgba(15,23,42,.28);color:var(--swp-hs-text);transform:translateX(calc(-50% + var(--swp-hs-shift,0px)))}
.swp-hs__hotspot.is-open{z-index:10}
.swp-hs__hotspot.is-open .swp-hs__panel,.swp-hs--trigger-hover .swp-hs__hotspot:hover .swp-hs__panel,.swp-hs--trigger-hover .swp-hs__hotspot:focus-within .swp-hs__panel{display:block}
.swp-hs__close{position:absolute;top:7px;right:7px;z-index:3;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(15,23,42,.76);color:#fff;font-size:23px;line-height:30px;cursor:pointer}
.swp-hs__panel-image{display:block;width:100%;height:165px;object-fit:cover}
.swp-hs__panel-body{padding:19px}
.swp-hs__panel h3{margin:0 34px 8px 0!important;color:var(--swp-hs-text)!important;font-size:19px!important;line-height:1.3!important}
.swp-hs__text,.swp-hs__text p{color:var(--swp-hs-text)!important;font-size:14px!important;line-height:1.55!important}
.swp-hs__text>:first-child{margin-top:0}
.swp-hs__text>:last-child{margin-bottom:0}
.swp-hs__button{display:inline-flex;margin-top:14px;padding:9px 14px;border-radius:7px;background:var(--swp-hs-accent);color:#fff!important;font-size:13px;font-weight:700;text-decoration:none!important}

/*
 * Mobile and modal panels are moved into a native <dialog>. A modal dialog is
 * rendered in the browser top layer, so Elementor/theme stacking contexts and
 * sticky headers cannot sit above the backdrop or information card.
 */
.swp-hs__dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;outline:0;background:transparent;color:var(--swp-hs-text);overflow:hidden}
.swp-hs__dialog[open]{display:block}
.swp-hs__dialog::backdrop{background:rgba(15,23,42,.48)}
.swp-hs__dialog .swp-hs__panel{display:block;z-index:2;transform:none}
.swp-hs__dialog--mobile .swp-hs__panel{position:absolute;top:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px;width:auto;max-width:none;max-height:calc(78vh - env(safe-area-inset-bottom));max-height:calc(78dvh - env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.swp-hs__dialog--modal .swp-hs__panel{position:absolute;top:50%;right:auto;bottom:auto;left:50%;width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;transform:translate(-50%,-50%)}
.swp-hs__dialog--fallback{z-index:2147483646}
.swp-hs__dialog--fallback:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(15,23,42,.48)}
.swp-hs__dialog--fallback .swp-hs__panel{z-index:2}
html.swp-hs-dialog-open,body.swp-hs-dialog-open{overflow:hidden!important}

@keyframes swp-hs-pulse{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.65)}}
@media(max-width:700px){
  .swp-hs__marker{min-width:34px;height:34px;font-size:12px}
  .swp-hs__panel-image{height:min(180px,28vh);object-fit:cover}
  .swp-hs__panel-body{padding:17px}
  .swp-hs__panel h3{font-size:18px!important}
  .swp-hs__text,.swp-hs__text p{font-size:15px!important;line-height:1.55!important}
}
@media(prefers-reduced-motion:reduce){.swp-hs--pulse .swp-hs__marker:after{animation:none}}
