.zw-popup{--anim:.25s forwards ease-in-out;position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.zw-popup.is-visible{display:flex;animation:zw-in var(--anim)}
.zw-popup.is-hiding{animation:zw-out var(--anim)}
@keyframes zw-in{from{opacity:0}to{opacity:1}}
@keyframes zw-out{from{opacity:1}to{opacity:0}}

.zw-popup__overlay{position:fixed;inset:0;background-color:rgba(14,58,87,.6);cursor:pointer}

.zw-popup__content{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;background-color:#fff;border-radius:16px;box-sizing:border-box}

.zw-popup__close{position:absolute;top:12px;right:12px;z-index:3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.92);border:none;border-radius:50%;cursor:pointer;color:#141414;padding:0;transition:background-color .2s}
.zw-popup__close:hover{background:#fff}

.zw-popup__media{position:relative;border-radius:16px 16px 0 0;overflow:hidden;background:#1F699F}
.zw-popup__image{display:block;width:100%;height:auto}

.zw-popup__badge{position:absolute;left:16px;bottom:16px;width:96px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;justify-items:center;text-align:center;background:#E3467E;color:#fff;transform:rotate(-8deg);box-shadow:0 12px 26px -10px rgba(0,0,0,.45),0 0 0 4px #fff}
.zw-popup__badge span{font:700 10px/1 var(--text-font-family);letter-spacing:.12em;text-transform:uppercase}
.zw-popup__badge b{font:800 32px/1 var(--heading-font-family);letter-spacing:-.02em}

.zw-popup__body{display:flex;flex-direction:column;align-items:center;padding:20px 36px 32px;text-align:center;box-sizing:border-box}

.zw-popup__tag{display:inline-block;margin:0 0 12px;padding:4px 14px;background-color:#CCE1EB;color:#0E3A57;border-radius:999px;font-family:var(--text-font-family);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.zw-popup__title{margin:0 0 10px;font-family:var(--heading-font-family);font-weight:var(--heading-font-weight);font-size:clamp(24px,4vw,30px);line-height:1.12;color:#141414}

.zw-popup__text{margin:0 0 12px;font-family:var(--text-font-family);font-size:15px;line-height:1.6;color:#33414a}
.zw-popup__text p{margin:0}

.zw-popup__legend{margin:0 0 20px;font-family:var(--text-font-family);font-size:13px;font-weight:600;color:#1F699F}

.zw-popup__btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 20px;background-color:#E3467E;color:#fff;border-radius:var(--button-border-radius);font-family:var(--text-font-family);font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:opacity .2s;box-sizing:border-box}
.zw-popup__btn:hover{opacity:.88;color:#fff}

@media(max-width:480px){
  .zw-popup__body{padding:16px 22px 26px}
  .zw-popup__badge{width:80px}
  .zw-popup__badge b{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.zw-popup.is-visible,.zw-popup.is-hiding{animation:none}}

.zw-popup__media--combo{background:linear-gradient(180deg,#eaf4fb,#ffffff);padding:28px 12px 4px}
