/* DokPay — cards de aviso estilo push iOS / Hotmart */
.apex-ios-stack{
  position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);
  z-index:10060;display:flex;flex-direction:column;align-items:center;gap:10px;
  width:min(392px,calc(100vw - 24px));pointer-events:none;
}
.apex-ios-toast{
  pointer-events:auto;width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  padding:13px 14px;border-radius:18px;
  background:#1c1c1e;border:1px solid rgba(255,255,255,.09);
  box-shadow:0 12px 32px rgba(0,0,0,.35);
  color:#f4f4f5;font-family:Inter,system-ui,sans-serif;
  opacity:0;transform:translateY(-12px) scale(.97);
  transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1);
}
html.light .apex-ios-toast{
  background:#fff;color:#18181b;border-color:rgba(0,0,0,.08);
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.apex-ios-toast.show{opacity:1;transform:translateY(0) scale(1)}
.apex-ios-toast.is-leaving{opacity:0;transform:translateY(-8px) scale(.98);transition-duration:.22s}
.apex-ios-toast-icon{
  flex-shrink:0;width:42px;height:42px;border-radius:11px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.apex-ios-toast-icon img{width:100%;height:100%;object-fit:contain;display:block}
.apex-ios-toast-body{min-width:0}
.apex-ios-toast-title{margin:0 0 3px;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:-.02em;color:inherit}
.apex-ios-toast-msg{margin:0;font-size:13px;line-height:1.4;color:#a1a1aa}
html.light .apex-ios-toast-msg{color:#52525b}
.apex-ios-toast-time{font-size:11px;color:#71717a;white-space:nowrap;align-self:start;padding-top:2px}
.apex-ios-toast-close{
  position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;border-radius:8px;
  background:transparent;color:#71717a;cursor:pointer;display:none;
}
.apex-ios-toast--persist .apex-ios-toast-close{display:grid;place-items:center}
.apex-ios-toast--success .apex-ios-toast-icon{box-shadow:0 0 0 2px rgba(34,197,94,.35)}
.apex-ios-toast--error .apex-ios-toast-icon{box-shadow:0 0 0 2px rgba(239,68,68,.35)}
.apex-ios-toast--warn .apex-ios-toast-icon{box-shadow:0 0 0 2px rgba(48,255,0,.35)}

/* Confirmação estilizada (substitui confirm() nativo) */
.apex-confirm-back{
  position:fixed;inset:0;z-index:10070;display:flex;align-items:center;justify-content:center;
  background:rgba(8,10,14,.62);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .2s ease;padding:18px;
  font-family:Inter,system-ui,sans-serif;
}
.apex-confirm-back.show{opacity:1}
.apex-confirm-back.is-leaving{opacity:0}
.apex-confirm-card{
  width:min(380px,100%);background:#1c1c1e;color:#f4f4f5;
  border:1px solid rgba(255,255,255,.09);border-radius:20px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);padding:20px;
  transform:translateY(10px) scale(.97);transition:transform .24s cubic-bezier(.22,1,.36,1);
}
.apex-confirm-back.show .apex-confirm-card{transform:translateY(0) scale(1)}
.apex-confirm-head{display:flex;gap:13px;align-items:flex-start}
.apex-confirm-icon{flex-shrink:0;width:40px;height:40px;border-radius:11px;overflow:hidden;display:grid;place-items:center;box-shadow:0 0 0 2px rgba(48,255,0,.3)}
.apex-confirm-icon img{width:100%;height:100%;object-fit:contain}
.apex-confirm-title{margin:0 0 4px;font-size:16px;font-weight:600;letter-spacing:-.02em}
.apex-confirm-msg{margin:0;font-size:13.5px;line-height:1.45;color:#a1a1aa}
.apex-confirm-actions{display:flex;gap:10px;margin-top:20px}
.apex-confirm-btn{flex:1;height:42px;border:0;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .12s,filter .12s}
.apex-confirm-btn:active{transform:scale(.97)}
.apex-confirm-cancel{background:rgba(255,255,255,.08);color:#e4e4e7}
.apex-confirm-cancel:hover{background:rgba(255,255,255,.14)}
.apex-confirm-ok{background:linear-gradient(135deg,#30FF00,#30FF00);color:#1a0800}
.apex-confirm-danger{background:linear-gradient(135deg,#ff5a5a,#d61f1f);color:#fff}
.apex-confirm-danger:hover,.apex-confirm-ok:hover{filter:brightness(1.06)}

html.light .apex-confirm-card{
  background:#fff;color:#18181b;border-color:rgba(0,0,0,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.14);
}
html.light .apex-confirm-msg{color:#52525b}
html.light .apex-confirm-cancel{background:#f4f4f5;color:#3f3f46}
html.light .apex-confirm-cancel:hover{background:#e4e4e7}

/* Stack inferior para eventos de funil (venda / pix) */
.apex-funnel-stack{
  position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));right:18px;z-index:9999;
  display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none;
  max-width:min(392px,calc(100vw - 24px));
}
.apex-funnel-stack .apex-ios-toast{position:relative}
@media(max-width:768px){
  .apex-funnel-stack{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));max-width:none}
}

/* Banner “Adicionar aplicativo” / “Permitir notificações” (estilo Hotmart) */
.apex-prompt-banner{
  display:none;align-items:center;gap:12px;padding:12px 14px;
  background:#fff;border-bottom:1px solid #e5e7eb;
  position:sticky;top:0;z-index:100;font-family:Inter,system-ui,sans-serif;
  width:100%;box-sizing:border-box;
}
.apex-prompt-banner.apex-prompt-banner--pay{
  position:relative;top:auto;z-index:90;flex-shrink:0;
  padding-top:calc(12px + env(safe-area-inset-top,0px));
  padding-left:calc(14px + env(safe-area-inset-left,0px));
  padding-right:calc(14px + env(safe-area-inset-right,0px));
}
.apex-prompt-banner.is-visible{display:flex}
.apex-prompt-banner-icon{
  width:44px;height:44px;border-radius:11px;overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;background:#0a0a0a;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.apex-prompt-banner-icon img{width:100%;height:100%;object-fit:contain;display:block}
.apex-prompt-banner-text{flex:1;min-width:0}
.apex-prompt-banner-title{display:block;font-size:15px;font-weight:700;color:#111827;line-height:1.25;letter-spacing:-.02em}
.apex-prompt-banner-sub{display:block;font-size:13px;color:#6b7280;margin-top:2px;line-height:1.35}
.apex-prompt-banner-action{
  flex-shrink:0;height:36px;padding:0 16px;border:0;border-radius:999px;cursor:pointer;
  background:#111111;color:#fff;
  font-size:13px;font-weight:700;white-space:nowrap;
}
.apex-prompt-banner-action:active{transform:scale(.98)}
.apex-prompt-banner-close{
  flex-shrink:0;width:32px;height:32px;border:0;background:transparent;color:#9ca3af;
  font-size:22px;line-height:1;cursor:pointer;border-radius:8px;display:grid;place-items:center;
}
.apex-prompt-banner-close:hover{background:#f3f4f6;color:#374151}
@media(max-width:380px){
  .apex-prompt-banner{padding:10px 12px;gap:10px}
  .apex-prompt-banner-action{padding:0 12px;font-size:12px}
  .apex-prompt-banner-sub{font-size:12px}
}
