/* css/plans.css - plans page only (plan cards, purchase popup) */
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);}
.badge.ok{background:rgba(34,197,94,.14);color:var(--ok);}
.badge.warn{background:rgba(245,158,11,.16);color:var(--warn);}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;}
.plan{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);border-radius:1rem;padding:1.4rem 1.1rem;text-align:center;transition:border-color .2s,transform .2s,box-shadow .2s;}
.plan:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 10px 26px rgba(37,99,235,.14);}
.plan.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.plan .tag{position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .7rem;border-radius:999px;white-space:nowrap;}
.plan h3{color:var(--muted);font-weight:600;font-size:.95rem;margin-bottom:.4rem;}
.plan .price{font-size:2.1rem;font-weight:800;line-height:1.1;}
.plan .per{color:var(--muted);font-size:.85rem;margin:.3rem 0;min-height:1.3em;}
.plan .save{font-size:.8rem;font-weight:700;color:var(--ok);min-height:1.3em;margin-bottom:.9rem;}
.plan .btn,.plan .btn-ghost{margin-top:auto;justify-content:center;padding:.65rem 1rem;font-size:.95rem;}
.modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(5,10,25,.62);backdrop-filter:blur(4px);}
.modal.open{display:flex;animation:fade .2s ease;}
.modal-box{width:100%;max-width:34rem;max-height:calc(100vh - 2rem);overflow:auto;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:1.2rem;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;background:var(--surface);border-bottom:1px solid var(--line);}
.modal-head h3{flex:1;font-size:1.1rem;font-weight:700;margin:0;}
.icon-btn{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.7rem;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;}
.icon-btn:hover{background:var(--surface-2);}
.modal-body{padding:1.1rem;}
.method{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:.9rem;padding:.8rem .9rem;margin-bottom:.6rem;cursor:pointer;transition:.15s;}
.method:hover:not([disabled]){border-color:var(--accent);background:var(--accent-soft);}
.method[disabled]{opacity:.5;cursor:not-allowed;}
.method>.mi{font-size:1.5rem;color:var(--accent);background:var(--accent-soft);border-radius:.7rem;padding:.5rem;}
.method b{display:block;}
.method small{color:var(--muted);}
.method .badge{margin-left:auto;flex:none;}
.sum{background:var(--surface-2);border-radius:.9rem;padding:.2rem 1rem;margin-bottom:1rem;}
.sum div{display:flex;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-bottom:1px dashed var(--line);}
.sum div:last-child{border-bottom:0;font-weight:700;}
.sum span:first-child{color:var(--muted);}
.modal h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:1.1rem 0 .5rem;font-weight:700;}
.modal ol{list-style:none;padding:0;margin:0;counter-reset:m;}
.modal ol li{position:relative;padding:0 0 .7rem 2.2rem;color:var(--muted);font-size:.94rem;line-height:1.55;}
.modal ol li::before{counter-increment:m;content:counter(m);position:absolute;left:0;top:.05rem;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700;}
.modal ol li b{color:var(--fg);}
@media (max-width:600px){
  .modal{align-items:center;padding:1rem}
  .modal-box{max-width:none;max-height:70vh;max-height:70dvh;border-radius:1.2rem}
  .modal-head{padding:.7rem .9rem}
  .modal-head h3{font-size:1rem}
  .icon-btn{width:2.1rem;height:2.1rem}
  .modal-body{padding:.8rem}
  .sum{padding:.1rem .85rem;margin-bottom:.7rem}
  .sum div{padding:.4rem 0;font-size:.92rem}
  .method{gap:.6rem;padding:.6rem .7rem;margin-bottom:.5rem}
  .method>.mi{font-size:1.2rem;padding:.4rem}
  .method b{font-size:.95rem;line-height:1.3}
  .method small{display:block;font-size:.78rem;line-height:1.35}
  .method .badge{font-size:.7rem;padding:.2rem .55rem}
  .modal ol li{font-size:.9rem;line-height:1.45;padding-bottom:.55rem}
}