:root{
  --mppro-bg:#111111;
  --mppro-text:#ffffff;
  --mppro-btn-bg:#f5c542;
  --mppro-btn-text:#000000;
  --mppro-overlay:0.70;
}
html.mppro-lock, html.mppro-lock body{ overflow:hidden; }

.mppro-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,var(--mppro-overlay));
  z-index:999999;
  padding:16px;
}

.mppro-popup{
  background:var(--mppro-bg);
  color:var(--mppro-text);
  max-width:480px;
  width:100%;
  margin:7vh auto 0;
  padding:22px 20px 18px;
  border-radius:16px;
  position:relative;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.mppro-close{
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:var(--mppro-text);
  cursor:pointer;
  font-size:18px;
  line-height:1;
}
.mppro-close:hover{ background:rgba(255,255,255,.14); }

.mppro-image{ width:100%; height:auto; border-radius:12px; margin-bottom:14px; display:block; }

.mppro-title{ margin:0 0 10px; font-size:22px; }

.mppro-content{ font-size:14px; line-height:1.45; opacity:.95; }

.mppro-coupon{
  margin:14px auto 10px;
  display:inline-block;
  padding:10px 12px;
  border-radius:10px;
  background:var(--mppro-btn-bg);
  color:var(--mppro-btn-text);
  font-weight:800;
  letter-spacing:.6px;
  font-size:18px;
}

.mppro-form{ margin-top:10px; display:grid; gap:8px; }
.mppro-form input{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--mppro-text);
  outline:none;
}
.mppro-form input::placeholder{ color:rgba(255,255,255,.65); }

.mppro-submit{
  padding:11px 12px;
  border-radius:10px;
  border:0;
  background:var(--mppro-btn-bg);
  color:var(--mppro-btn-text);
  font-weight:800;
  cursor:pointer;
}

.mppro-cta{
  margin-top:10px;
  display:inline-block;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:var(--mppro-text);
  text-decoration:none;
  cursor:pointer;
}

.mppro-msg{ min-height:18px; font-size:13px; opacity:.9; }

@media (max-width:480px){
  .mppro-popup{ margin-top:10vh; padding:20px 16px 16px; border-radius:14px; }
  .mppro-title{ font-size:20px; }
}