.psy-wrap{direction:rtl;max-width:960px;margin:1.5rem auto;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 18px 40px rgba(15,23,42,.12);padding:22px 28px;font-family:IRANSans,yekan,tahoma,sans-serif}
.psy-title{margin-top:0;margin-bottom:6px;color:#0f172a;font-size:1.6rem}
.psy-hero{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:16px;background:linear-gradient(135deg,#eef2ff,#f8fafc);border-radius:18px;padding:18px 20px;border:1px solid #e0e7ff}
.hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;padding:4px 10px;border-radius:999px;background:#e0e7ff;color:#1e3a8a;font-weight:600}
.hero-body{flex:2;min-width:220px}
.hero-note{margin:0;font-size:.95rem}
.hero-meta{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex:1;min-width:220px;justify-content:flex-end}
.hero-meta li{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 14px;min-width:120px;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.hero-meta span{display:block;font-size:.8rem;color:#64748b;margin-bottom:4px}
.hero-meta strong{font-size:1.2rem;color:#0f172a}
.hero-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.hero-hint{margin:0;font-size:.8rem;color:#475569;line-height:1.7}
.psy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.psy-form{scroll-margin-top:90px}
.psy-form.form-active .progress{margin-top:0}
.field input{border:1px solid #dfe7f3;border-radius:10px;padding:.6rem .8rem;width:100%;transition:border-color .2s, background .2s}
.field.field-error input{border-color:#f97316;background:#fff7ed}
.field.field-error label{color:#b45309}
.badge-required{display:inline-flex;align-items:center;font-size:.65rem;background:#fee2e2;color:#b91c1c;border-radius:999px;padding:0 8px;margin-inline-start:6px}
.btn{background:#2563eb;color:#fff;border:0;border-radius:10px;padding:.7rem 1rem;cursor:pointer;box-shadow:0 2px 8px rgba(37,99,235,.25)}
.btn:hover{background:#1d4ed8}
.btn:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}
.progress{display:none;align-items:center;gap:14px;margin:18px 0;background:#f8fafc;border-radius:16px;padding:12px 16px;border:1px solid #e2e8f0}
.progress .bar{flex:1;height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;position:relative}
.progress .bar span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#2563eb);width:0;transition:width .3s ease}
.progress .progress-stat{display:flex;flex-direction:column;min-width:90px;color:#475569;font-size:.85rem}
.progress .progress-stat strong{font-size:1.1rem;color:#0f172a}
.slides{list-style:none;margin:0;padding:0;min-height:160px}
.slide{display:none;animation:fade .2s ease}
.q{font-weight:700;margin-bottom:12px;color:#0f172a}
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opts label{display:flex;align-items:center;gap:8px;margin:0;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;min-width:140px;cursor:pointer;background:#fff;transition:border-color .2s,background .2s}
.opts label:hover{border-color:#cbd5f5;background:#f8fafc}
.opts input{margin:0}
.nav{display:none;justify-content:space-between;gap:12px;margin-top:14px}
.nav .btn{flex:1}
.chart{margin:1rem 0}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.psy-note{color:#64748b;font-size:.9rem}
.psy-price{background:#f8fafc;border:1px dashed #cbd5e1;padding:14px;border-radius:14px;margin:12px 0;display:flex;flex-direction:column;gap:4px}
.psy-price strong{color:#0f172a;font-size:1.2rem}
.psy-price .price-meta{font-size:.85rem;color:#475569}
.mode-box{margin:.5rem 0;padding:.6rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.toast{display:none;background:#16a34a;color:#fff;padding:.5rem .8rem;border-radius:8px;margin-top:10px}
.toast.err{background:#dc2626}
.toast.warn{background:#f97316}
.toast-inline{margin-top:16px}
.psy-result{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px;margin-top:20px}
.psy-result h3{margin-top:0}
.phone-gate{border:1px dashed #fbbf24;border-radius:12px;padding:12px;margin:12px 0;background:#fffbea}
.phone-gate-inner{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.phone-gate-input{flex:1;min-width:160px;border:1px solid #fcd34d;border-radius:8px;padding:.55rem .7rem}
.phone-gate-msg{margin-top:8px;font-size:.85rem;color:#b45309}
.phone-gate-msg.success{color:#15803d}
.phone-gate-msg.err{color:#b91c1c}
.phone-gate-msg.warn{color:#b45309}
.phone-gate-msg.info{color:#0f172a}
.mobile-only{display:none}


/* touch targets */
.psy-form button, .psy-form .button, .psy-form input[type=submit]{ min-height:44px; }
@media (max-width:768px){
  .psy-wrap{padding:18px 16px;}
  .psy-hero{flex-direction:column;}
  .hero-meta{flex-direction:column;width:100%;}
  .hero-meta li{width:100%;}
  .hero-actions .btn{width:100%;text-align:center}
  .psy-grid{grid-template-columns:1fr}
  .progress{flex-direction:column;align-items:flex-start;gap:8px}
  .psy-form .nav{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:12px 0;border-top:1px solid #e5e7eb;box-shadow:0 -8px 30px rgba(15,23,42,.06)}
  .psy-form .nav .btn{width:100%}
  .mobile-only{display:flex}
  .phone-gate-inner{flex-direction:column}
  .phone-gate-inner .btn{width:100%}
}
@media (max-width:420px){
  .psy-wrap{margin:1rem;border-radius:16px}
  .hero-meta{gap:10px}
}
@media (min-width:769px){
  .mobile-only{display:none!important}
}
