/* Overlay */
.mw-ap-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;

  opacity: 0;
  visibility: hidden;
  transition: opacity .28s ease, visibility .28s ease;
  padding: 16px;
}

/* sichtbar */
.mw-ap-overlay.is-visible{
  opacity: 1;
  visibility: visible;
}

/* Modal */
.mw-ap-modal{
  width: min(720px, 96vw);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
  position: relative;
  padding: 34px 34px 24px;
  text-align: center;

  transform: translateY(10px) scale(.99);
  transition: transform .28s ease;
}

.mw-ap-overlay.is-visible .mw-ap-modal{
  transform: translateY(0) scale(1);
}

/* Close button oben rechts */
.mw-ap-close{
  position:absolute;
  top:16px;
  right:16px;
  width:44px;
  height:44px;
  border-radius: 999px;
  border: none;
  background: #2f3fae; /* dunkelblau wie Screenshot */
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

/* Title / subtitle */
.mw-ap-title{
  margin: 4px 0 10px;
  font-size: clamp(26px, 3.2vw, 40px);
  letter-spacing: .5px;
  font-weight: 800;
}

.mw-ap-subtitle{
  margin: 0 0 20px;
  font-size: 18px;
  color: #222;
}

/* Progress image */
.mw-ap-progress{
  display:flex;
  justify-content:center;
  margin: 8px 0 14px;
}

.mw-ap-progress img{
  max-width: 520px;
  width: 100%;
  height: auto;
}

/* Text */
.mw-ap-text{
  margin: 10px auto 18px;
  font-size: 18px;
  color:#222;
  max-width: 560px;
}

/* Button */
.mw-ap-btn{
  display:block;
  width: min(520px, 100%);
  margin: 0 auto 10px;
  background: #2f3fae;
  color: #fff;
  text-decoration: none;
  padding: 16px 18px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .5px;
  font-size: 18px;
}

.mw-ap-btn:hover{
  filter: brightness(1.05);
}

/* “Free Popup Widget” Footer-Ding wie im Screenshot */
.mw-ap-widget{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  color: #777;
  font-size: 13px;
  user-select: none;
  padding: 8px 42px 8px 12px;
  border-radius: 999px;
}

.mw-ap-widget-icon{
  opacity: .75;
  font-size: 14px;
}

.mw-ap-widget-close{
  position:absolute;
  right: 8px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: none;
  background: #ff3b30; /* rot wie Screenshot */
  color:#fff;
  cursor: pointer;
  line-height: 1;
  font-size: 16px;
}