/* DALFAST Pro — upgrade modal, toast, badges */
#dfpro-modal { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:1.25rem; opacity:0; transition:opacity .25s; }
#dfpro-modal.open { opacity:1; }
.dfpro-backdrop { position:fixed; inset:0; background:rgba(6,20,30,.62); backdrop-filter:blur(4px); }
.dfpro-card { position:relative; background:#fff; border-radius:22px; max-width:560px; width:100%; padding:2.25rem; box-shadow:0 30px 80px rgba(0,0,0,.4); transform:translateY(12px) scale(.98); transition:transform .25s; max-height:92vh; overflow-y:auto; }
#dfpro-modal.open .dfpro-card { transform:none; }
.dfpro-close { position:absolute; top:1rem; right:1rem; width:34px; height:34px; border:none; background:#f1f5f7; border-radius:50%; font-size:1rem; cursor:pointer; color:#456; }
.dfpro-close:hover { background:#e3edf1; }
.dfpro-badge { display:inline-block; background:linear-gradient(135deg,#0B7EA8,#4DCFE0); color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.12em; padding:.3rem .7rem; border-radius:100px; margin-bottom:.9rem; }
.dfpro-title { font-family:'Syne',sans-serif; font-size:1.6rem; font-weight:800; color:#0A0F14; margin:0 0 .35rem; }
.dfpro-sub { color:#5a6b74; font-size:.95rem; margin:0 0 1.5rem; }
.dfpro-plans { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.dfpro-plan { position:relative; border:2px solid #e3edf1; border-radius:16px; padding:1.35rem 1rem; text-align:center; cursor:pointer; transition:all .18s; }
.dfpro-plan:hover { border-color:#0B7EA8; transform:translateY(-3px); box-shadow:0 12px 30px rgba(11,126,168,.15); }
.dfpro-plan-best { border-color:#0B7EA8; background:linear-gradient(180deg,rgba(77,207,224,.08),rgba(11,126,168,.03)); }
.dfpro-plan-tag { position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,#0B7EA8,#4DCFE0); color:#fff; font-size:.62rem; font-weight:800; padding:.25rem .7rem; border-radius:100px; white-space:nowrap; }
.dfpro-plan-name { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#5a6b74; margin-bottom:.4rem; }
.dfpro-plan-price { font-family:'Syne',sans-serif; font-size:2rem; font-weight:800; color:#0A0F14; line-height:1; }
.dfpro-plan-price span { font-size:.85rem; font-weight:600; color:#8a99a1; }
.dfpro-plan-note { font-size:.72rem; color:#8a99a1; margin-top:.25rem; }
.dfpro-plan-cta { margin-top:.9rem; font-size:.82rem; font-weight:700; color:#0B7EA8; }
.dfpro-plan-cta-primary { background:linear-gradient(135deg,#0B7EA8,#065070); color:#fff; padding:.55rem; border-radius:10px; }
.dfpro-features { list-style:none; padding:0; margin:0 0 1.25rem; display:grid; gap:.5rem; }
.dfpro-features li { font-size:.88rem; color:#2b3840; }
.dfpro-trust { text-align:center; font-size:.78rem; color:#8a99a1; border-top:1px solid #eef3f5; padding-top:1rem; }
@media(max-width:480px){ .dfpro-plans{ grid-template-columns:1fr; } .dfpro-card{ padding:1.5rem; } }

/* Toast */
.dfpro-toast { position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%) translateY(20px); background:#0A0F14; color:#fff; padding:.85rem 1.4rem; border-radius:100px; font-size:.88rem; font-weight:600; box-shadow:0 12px 40px rgba(0,0,0,.3); z-index:10000; opacity:0; transition:all .3s; max-width:90vw; text-align:center; }
.dfpro-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* Plan status pill */
.dfpro-status { display:inline-block; font-size:.68rem; font-weight:800; letter-spacing:.05em; padding:.2rem .6rem; border-radius:100px; }
.dfpro-status.is-free { background:#eef3f5; color:#5a6b74; }
.dfpro-status.is-pro { background:linear-gradient(135deg,#0B7EA8,#4DCFE0); color:#fff; }

/* Pro lock chip on tool cards */
.tool-badge.tb-pro { background:linear-gradient(135deg,#7C5CFC,#4DCFE0); color:#fff; }
.dfpro-lock { display:inline-flex; align-items:center; gap:.25rem; }
