/* ============================================================
   Popup styles — toast + overlay (shared across templates)
   ============================================================ */

/* ---- Generic toast popup (#aff-popup) ---- */
.aff-toast{
  position:fixed;right:18px;bottom:18px;z-index:80;
  width:min(340px,calc(100vw - 36px));
  background:#fff;border:1px solid var(--aff-line,#e6e9ee);
  border-radius:14px;box-shadow:0 12px 38px rgba(20,40,70,.22);
  padding:18px 18px 16px;
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .25s,transform .25s,visibility .25s;
}
.aff-toast.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.aff-toast-head{font-weight:800;font-size:15.5px;margin:0 0 6px;padding-right:24px}
.aff-toast-body{font-size:13.5px;color:var(--aff-muted,#5b6573);margin:0 0 12px;line-height:1.5}
.aff-toast-cta{display:block;text-align:center;background:var(--aff-green,#1f9d57);color:#fff;font-weight:700;padding:11px;border-radius:9px;font-size:14px;transition:background .15s}
.aff-toast-cta:hover{background:var(--aff-green-d,#178045)}

/* ---- Overlay / exit-intent popup (#aff-overlay) ---- */
.aff-overlay{
  position:fixed;inset:0;z-index:90;
  background:rgba(16,24,38,.62);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;
}
.aff-overlay.is-visible{opacity:1;visibility:visible}
.aff-overlay-box{
  position:relative;background:#fff;border-radius:18px;
  max-width:420px;width:100%;padding:34px 30px 28px;text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.3);
  transform:scale(.94);transition:transform .25s;
}
.aff-overlay.is-visible .aff-overlay-box{transform:scale(1)}
.aff-overlay-gift{font-size:46px;margin-bottom:8px}
.aff-overlay-box h2{font-size:23px;font-weight:800;margin:4px 0 10px}
.aff-overlay-box p{font-size:15px;color:var(--aff-muted,#5b6573);margin:0 0 20px;line-height:1.55}
.aff-overlay-box .aff-btn-primary{width:100%;font-size:16px;padding:14px}
.aff-overlay-skip{display:block;width:100%;margin-top:12px;background:none;border:none;color:#9aa3af;font-size:13px;cursor:pointer;text-decoration:underline}

/* ---- Close buttons ---- */
.aff-popup-close,.aff-overlay-close{
  position:absolute;top:11px;right:12px;
  width:28px;height:28px;border:none;border-radius:50%;
  background:#f0f2f5;color:#5b6573;font-size:14px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.aff-popup-close:hover,.aff-overlay-close:hover{background:#e2e6ec}

body.aff-overlay-open{overflow:hidden}

@media (max-width:640px){
  .aff-toast{right:12px;left:12px;bottom:12px;width:auto}
  .aff-overlay-box{padding:28px 22px 22px}
  .aff-overlay-box h2{font-size:20px}
}
