
.campaign-popup{
 position:fixed;
 inset:0;
 z-index:99990;
 opacity:0;
 visibility:hidden;
 pointer-events:none;
 transition:opacity .2s ease,visibility .2s ease;
}

.campaign-popup.is-open{
 opacity:1;
 visibility:visible;
 pointer-events:auto;
}

.campaign-popup__backdrop{
 position:absolute;
 inset:0;
 background:var(--popup-overlay,rgba(0,0,0,.72));
 backdrop-filter:blur(var(--popup-blur,4px));
 -webkit-backdrop-filter:blur(var(--popup-blur,4px));
}

.campaign-popup__position{
 position:absolute;
 inset:0;
 display:flex;
 padding:clamp(18px,4vw,55px);
 pointer-events:none;
 overflow:auto;
 overscroll-behavior:contain;
}

.popup-position-top-left{
 align-items:flex-start;
 justify-content:flex-start;
}

.popup-position-top-center{
 align-items:flex-start;
 justify-content:center;
}

.popup-position-top-right{
 align-items:flex-start;
 justify-content:flex-end;
}

.popup-position-middle-left{
 align-items:center;
 justify-content:flex-start;
}

.popup-position-center{
 align-items:center;
 justify-content:center;
}

.popup-position-middle-right{
 align-items:center;
 justify-content:flex-end;
}

.popup-position-bottom-left{
 align-items:flex-end;
 justify-content:flex-start;
}

.popup-position-bottom-center{
 align-items:flex-end;
 justify-content:center;
}

.popup-position-bottom-right{
 align-items:flex-end;
 justify-content:flex-end;
}

.campaign-popup__dialog{
 position:relative;
 z-index:2;
 width:min(var(--popup-max-width,520px),calc(100vw - 36px));
 max-width:100%;
 pointer-events:auto;
 filter:drop-shadow(0 28px 65px rgba(0,0,0,.35));
}

.campaign-popup__image-link,
.campaign-popup__image{
 display:block;
 width:100%;
 max-width:100%;
 height:auto;
}

.campaign-popup__image{
 object-fit:contain;
 border:0;
 outline:0;
 background:transparent;
}

.campaign-popup__fallback{
 background:#fff;
 color:#1733c4;
 padding:35px;
 text-align:center;
 border-radius:16px;
}

.campaign-popup__fallback strong{
 display:block;
 font-size:clamp(1.5rem,4vw,2.5rem);
 line-height:1;
 margin-bottom:18px;
}

.campaign-popup__fallback a{
 display:inline-flex;
 align-items:center;
 gap:7px;
 background:#f35c1b;
 color:#fff;
 padding:12px 17px;
 font-size:.78rem;
 font-weight:1000;
 text-transform:uppercase;
 letter-spacing:.05em;
}

.campaign-popup__close{
 position:absolute;
 z-index:8;
 border:0;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:42px;
 height:42px;
 padding:0 12px;
 background:var(--popup-close-bg,#f35c1b);
 color:var(--popup-close-color,#fff);
 font-size:1.15rem;
 font-weight:1000;
 line-height:1;
 cursor:pointer;
 box-shadow:0 8px 24px rgba(0,0,0,.22);
 transition:transform .16s ease,filter .16s ease;
}

.campaign-popup__close:hover{
 transform:scale(1.06);
 filter:brightness(1.06);
}

.popup-close-shape-circle{
 width:42px;
 padding:0;
 border-radius:50%;
}

.popup-close-shape-square{
 width:42px;
 padding:0;
 border-radius:6px;
}

.popup-close-shape-pill{
 border-radius:999px;
}

.popup-close-inside-right{
 top:10px;
 right:10px;
}

.popup-close-inside-left{
 top:10px;
 left:10px;
}

.popup-close-outside-right{
 top:-17px;
 right:-17px;
}

.popup-close-outside-left{
 top:-17px;
 left:-17px;
}

.campaign-popup.popup-enter .popup-animation-fade{
 animation:popupFade .42s ease both;
}

.campaign-popup.popup-enter .popup-animation-zoom{
 animation:popupZoom .48s cubic-bezier(.2,.9,.2,1.12) both;
}

.campaign-popup.popup-enter .popup-animation-slide-up{
 animation:popupSlideUp .5s cubic-bezier(.2,.8,.2,1) both;
}

.campaign-popup.popup-enter .popup-animation-slide-down{
 animation:popupSlideDown .5s cubic-bezier(.2,.8,.2,1) both;
}

.campaign-popup.popup-enter .popup-animation-slide-left{
 animation:popupSlideLeft .5s cubic-bezier(.2,.8,.2,1) both;
}

.campaign-popup.popup-enter .popup-animation-slide-right{
 animation:popupSlideRight .5s cubic-bezier(.2,.8,.2,1) both;
}

.campaign-popup.popup-enter .popup-animation-bounce{
 animation:popupBounce .62s cubic-bezier(.2,.9,.3,1.25) both;
}

.campaign-popup.popup-enter .popup-animation-pulse{
 animation:popupPulse .7s ease both;
}

@keyframes popupFade{
 from{opacity:0}
 to{opacity:1}
}

@keyframes popupZoom{
 from{opacity:0;transform:scale(.72)}
 to{opacity:1;transform:scale(1)}
}

@keyframes popupSlideUp{
 from{opacity:0;transform:translateY(80px)}
 to{opacity:1;transform:translateY(0)}
}

@keyframes popupSlideDown{
 from{opacity:0;transform:translateY(-80px)}
 to{opacity:1;transform:translateY(0)}
}

@keyframes popupSlideLeft{
 from{opacity:0;transform:translateX(90px)}
 to{opacity:1;transform:translateX(0)}
}

@keyframes popupSlideRight{
 from{opacity:0;transform:translateX(-90px)}
 to{opacity:1;transform:translateX(0)}
}

@keyframes popupBounce{
 0%{opacity:0;transform:scale(.72)}
 65%{opacity:1;transform:scale(1.06)}
 82%{transform:scale(.97)}
 100%{transform:scale(1)}
}

@keyframes popupPulse{
 0%{opacity:0;transform:scale(.82)}
 45%{opacity:1;transform:scale(1.04)}
 70%{transform:scale(.98)}
 100%{transform:scale(1)}
}

body.campaign-popup-open{
 overflow:hidden;
}

@media(max-width:767.98px){
 .campaign-popup__position{
  padding:24px 12px;
 }

 .campaign-popup__dialog{
  width:min(var(--popup-mobile-width,92vw),var(--popup-max-width,520px));
 }

 .popup-close-outside-right{
  top:-13px;
  right:-6px;
 }

 .popup-close-outside-left{
  top:-13px;
  left:-6px;
 }

 .campaign-popup__close{
  min-width:40px;
  height:40px;
 }
}

@media(prefers-reduced-motion:reduce){
 .campaign-popup,
 .campaign-popup__dialog,
 .campaign-popup__close{
  transition:none!important;
  animation:none!important;
 }
}
