/* ══════════════════════════════════════════════════════════════
   IA Checkout Popup - Lean upgrade flow for existing students
   ══════════════════════════════════════════════════════════════ */

/* ── Overlay ── */
.ia-pop-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:16px}
.ia-pop-overlay.active{display:flex}
.ia-pop-backdrop{position:absolute;inset:0;background:rgba(5,5,16,0.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:ia-pop-fade 0.25s ease}
@keyframes ia-pop-fade{from{opacity:0}to{opacity:1}}

/* ── Card ── */
.ia-pop-card{position:relative;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;overflow-x:hidden;border-radius:20px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);animation:ia-pop-up 0.3s cubic-bezier(0.16,1,0.3,1);-webkit-overflow-scrolling:touch}
@keyframes ia-pop-up{from{opacity:0;transform:translateY(16px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}

/* ── Close button ── */
.ia-pop-close{position:absolute;top:6px;right:8px;z-index:10;width:44px;height:44px;border:none;background:rgba(0,0,0,0.04);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#94a3b8;line-height:1;transition:all 0.2s}
.ia-pop-close:hover{background:rgba(0,0,0,0.08);color:#1a1a1a}
.ia-pop-close:focus-visible{outline:2px solid #a855f7;outline-offset:2px}

/* ── Inner padding ── */
.ia-pop-inner{padding:28px 24px 24px}

/* ── Header ── */
.ia-pop-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:20px;color:#0f172a;margin:0 0 2px;text-align:center}
.ia-pop-sub{font-size:13px;color:#64748b;margin:0 0 20px;text-align:center;line-height:1.4}

/* ── Plan cards ── */
.ia-pop-plans{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.ia-pop-plan{position:relative;border:2px solid #e2e8f0;border-radius:14px;padding:14px 16px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:space-between;background:#fff}
.ia-pop-plan.hero{border-color:#c4b5fd;background:linear-gradient(135deg,rgba(168,85,247,0.03),rgba(236,72,153,0.03));padding:18px 16px}
.ia-pop-plan.hero .ia-pop-plan-name{font-size:16px}
.ia-pop-plan.hero .ia-pop-plan-price{font-size:22px}
.ia-pop-plan:hover{border-color:#c4b5fd}
.ia-pop-plan.selected{border-color:#a855f7;background:#faf5ff;box-shadow:0 0 0 3px rgba(168,85,247,0.1)}
.ia-pop-plan-left{display:flex;flex-direction:column;gap:2px}
.ia-pop-plan-name{font-weight:700;font-size:14px;color:#0f172a}
.ia-pop-plan-desc{font-size:12px;color:#64748b}
.ia-pop-plan-price{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;color:#0f172a;white-space:nowrap}
.ia-pop-plan-badge{position:absolute;top:-9px;right:12px;padding:2px 10px;background:linear-gradient(90deg,#a855f7,#ec4899);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:9999px}
.ia-pop-plan-pricesub{font-size:10px;font-weight:500;color:#64748b;font-family:'Inter',sans-serif;margin-top:2px}
.ia-pop-plan-radio{width:18px;height:18px;border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;margin-right:12px;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.ia-pop-plan.selected .ia-pop-plan-radio{border-color:#a855f7;background:#a855f7}
.ia-pop-plan.selected .ia-pop-plan-radio::after{content:'';width:6px;height:6px;border-radius:50%;background:#fff}
.ia-pop-plan:focus-visible{outline:2px solid #a855f7;outline-offset:2px;border-color:#a855f7}

/* ── Email line ── */
.ia-pop-email{font-size:12px;color:#64748b;text-align:center;margin-bottom:16px}
.ia-pop-email strong{color:#64748b;font-weight:600}

/* ── Payment section ── */
.ia-pop-pay{display:none;animation:ia-pop-fade 0.25s ease}
.ia-pop-pay.active{display:block}

/* ── Payment tabs ── */
.ia-pop-tabs{display:flex;gap:0;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;margin-bottom:16px}
.ia-pop-tab{flex:1;padding:10px 0;background:#fff;border:none;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;color:#64748b;transition:all 0.2s}
.ia-pop-tab.on{background:#f5f3ff;color:#7c3aed;border-bottom:2px solid #a855f7}
.ia-pop-tab:focus-visible{outline:2px solid #a855f7;outline-offset:-2px}

/* ── Card form ── */
.ia-pop-card-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}
.ia-pop-field{margin-bottom:12px}
.ia-pop-field:last-child{margin-bottom:0}
.ia-pop-label{display:block;color:#475569;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:4px}
.ia-pop-input{width:100%;padding:12px 14px;background:#fff;color:#1a1a1a;border:1.5px solid #d1d5db;border-radius:8px;font-family:'Inter',sans-serif;font-size:15px;outline:none;transition:border-color 0.2s,box-shadow 0.2s}
.ia-pop-input:focus{border-color:#a855f7;box-shadow:0 0 0 3px rgba(168,85,247,0.1)}
.ia-pop-hf{display:block;height:48px;padding:2px 8px;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;transition:border-color 0.2s,box-shadow 0.2s;overflow:hidden}
.ia-pop-hf:focus-within{border-color:#a855f7;box-shadow:0 0 0 3px rgba(168,85,247,0.12)}
.ia-pop-hf .__payplus_hosted_fields_item_fld-wrapper,.__payplus_hosted_fields_item_fld-wrapper{display:block !important}
.ia-pop-row .ia-pop-field{display:block !important;flex:1 !important;visibility:visible !important}
#ia-pop-expmw,#ia-pop-expyw,#ia-pop-cvvw{display:block !important;flex:1 !important;visibility:visible !important}
.ia-pop-row{display:flex;gap:10px}
.ia-pop-row > *{flex:1}

/* ── CTA button ── */
.ia-pop-cta{width:100%;padding:14px;margin-top:14px;background:linear-gradient(to bottom,#fcd34d 0%,#f59e0b 40%,#b45309 100%);color:#1a1a1a;border:none;border-radius:10px;border-top:1px solid rgba(255,255,255,0.4);font-family:'Inter',sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:all 0.2s;box-shadow:0 6px 20px -4px rgba(245,158,11,0.35);display:flex;align-items:center;justify-content:center;gap:6px}
.ia-pop-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 28px -4px rgba(245,158,11,0.45)}
.ia-pop-cta:disabled{opacity:0.35;cursor:not-allowed;transform:none}
.ia-pop-cta:focus-visible{outline:2px solid #92400e;outline-offset:2px}

/* ── Spinner ── */
.ia-pop-spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(26,26,26,0.25);border-top-color:#1a1a1a;border-radius:50%;animation:ia-pop-s 0.6s linear infinite}
@keyframes ia-pop-s{to{transform:rotate(360deg)}}

/* ── Microcopy ── */
.ia-pop-micro{text-align:center;margin-top:10px;font-size:11px;color:#64748b}

/* ── Error ── */
.ia-pop-err{display:none;margin-top:12px;padding:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;text-align:center;color:#92400e;font-size:13px;animation:ia-pop-fade 0.2s}

/* ── PayPal container ── */
.ia-pop-paypal{display:none;min-height:48px;margin-top:4px}

/* ── Success state ── */
.ia-pop-success{display:none;text-align:center;padding:32px 20px}
.ia-pop-success.active{display:block}
.ia-pop-success-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);display:flex;align-items:center;justify-content:center}
.ia-pop-success h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;color:#0f172a;margin:0 0 6px}
.ia-pop-success p{color:#64748b;font-size:14px;margin:0 0 20px}
.ia-pop-success-btn{display:inline-block;padding:12px 28px;background:linear-gradient(to bottom,#fcd34d,#f59e0b,#b45309);color:#1a1a1a;border:none;border-radius:10px;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:all 0.2s}
.ia-pop-success-btn:hover{transform:translateY(-1px)}
.ia-pop-success-link{display:block;margin-top:10px;color:#64748b;font-size:13px;cursor:pointer;background:none;border:none;font-family:'Inter',sans-serif;text-decoration:underline}

/* ── Responsive ── */
@media(max-width:480px){
    .ia-pop-card{max-width:100%;border-radius:16px 16px 0 0;max-height:95vh;position:fixed;bottom:0;left:0;right:0;animation:ia-pop-slide 0.3s cubic-bezier(0.16,1,0.3,1)}
    @keyframes ia-pop-slide{from{transform:translateY(100%)}to{transform:translateY(0)}}
    .ia-pop-inner{padding:20px 16px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
    .ia-pop-overlay{padding:0;align-items:flex-end}
}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important}
}
