/* سیستم طراحی مشترک سایت‌استودیو — متغیرها از Theme::css() می‌آید */
.vx-root,.vs-wrap,.vsn-wrap,.vss-wrap{font-family:var(--vs-font,inherit);color:var(--vs-ink,#1c1b29);direction:rtl;box-sizing:border-box}
.vx-root *,.vx-root *::before,.vx-root *::after{box-sizing:border-box}
.vx-card{background:var(--vs-surface,#fff);border:1px solid var(--vs-line,rgba(20,20,40,.12));border-radius:var(--vs-r,14px);box-shadow:var(--vs-shadow);padding:calc(var(--vs-gap,16px) * 1.1)}
.vx-grid{display:grid;gap:var(--vs-gap,16px);grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.vx-muted{color:var(--vs-mut,#6b6980)}
.vx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;font:inherit;font-weight:600;font-size:.95em;padding:.7em 1.3em;border-radius:calc(var(--vs-r,14px) * .8);border:1.5px solid var(--vs-line,#ddd);background:var(--vs-surface,#fff);color:var(--vs-ink,#222);cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s}
.vx-btn:hover{transform:translateY(-1px);box-shadow:var(--vs-shadow)}
.vx-btn-main{background:var(--vs-accent,#6d3df5);border-color:var(--vs-accent,#6d3df5);color:#fff}
.vx-btn-ghost{background:transparent}
.vx-badge{display:inline-flex;align-items:center;gap:.3em;font-size:.78em;font-weight:700;padding:.2em .7em;border-radius:99px;background:color-mix(in srgb,var(--vs-accent,#6d3df5) 13%,transparent);color:var(--vs-accent,#6d3df5)}
.vx-field{display:flex;flex-direction:column;gap:.35em;margin:0 0 var(--vs-gap,16px)}
.vx-field label,.vx-lbl{font-weight:600;font-size:.92em}
.vx-field input[type=text],.vx-field input[type=number],.vx-field input[type=tel],.vx-field input[type=email],.vx-field input[type=password],.vx-field input[type=url],.vx-field select,.vx-field textarea{width:100%;font:inherit;padding:.7em .9em;border-radius:calc(var(--vs-r,14px) * .7);border:1.5px solid var(--vs-line,#ddd);background:var(--vs-surface,#fff);color:var(--vs-ink,#222)}
.vx-field input:focus,.vx-field select:focus,.vx-field textarea:focus{outline:0;border-color:var(--vs-accent,#6d3df5);box-shadow:0 0 0 3px color-mix(in srgb,var(--vs-accent,#6d3df5) 22%,transparent)}
.vx-field.has-err input,.vx-field.has-err select,.vx-field.has-err textarea{border-color:#dc2626}
.vx-hint{font-size:.82em;color:var(--vs-mut,#6b6980)}
.vx-choice{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.vx-choice label{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:14px 10px;border:1.5px solid var(--vs-line,#ddd);border-radius:var(--vs-r,14px);cursor:pointer;background:var(--vs-surface,#fff);font-weight:600;transition:.12s}
.vx-choice input{position:absolute;opacity:0;pointer-events:none}
.vx-choice label:has(input:checked){border-color:var(--vs-accent,#6d3df5);background:color-mix(in srgb,var(--vs-accent,#6d3df5) 9%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--vs-accent,#6d3df5) 18%,transparent)}
.vx-choice small{font-weight:400;color:var(--vs-mut,#6b6980)}
/* ویزارد */
.vx-wiz-prog{list-style:none;margin:0 0 6px;padding:0;display:flex;gap:6px;overflow-x:auto}
.vx-wiz-dot{flex:1 1 0;min-width:84px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:calc(var(--vs-r,14px) * .8);background:var(--vs-soft);color:var(--vs-mut);cursor:default}
.vx-wiz.is-js .vx-wiz-dot{cursor:pointer}
.vx-wiz-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85em;background:var(--vs-surface);border:1.5px solid var(--vs-line);flex:none}
.vx-wiz-t{display:flex;flex-direction:column;line-height:1.3;min-width:0}.vx-wiz-t svg{display:none}.vx-wiz-t b{font-size:.88em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-wiz-t small{font-size:.72em;opacity:.8}
.vx-wiz-dot.is-on{background:color-mix(in srgb,var(--vs-accent) 12%,transparent);color:var(--vs-ink)}
.vx-wiz-dot.is-on .vx-wiz-n,.vx-wiz-dot.is-done .vx-wiz-n{background:var(--vs-accent);border-color:var(--vs-accent);color:#fff}
.vx-wiz-bar{height:4px;border-radius:4px;background:var(--vs-soft);margin:0 0 var(--vs-gap,16px);overflow:hidden;display:none}.vx-wiz.is-js .vx-wiz-bar{display:block}
.vx-wiz-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--vs-accent),var(--vs-accent-2));transition:width .3s}
.vx-wiz.is-js .vx-step{display:none}.vx-wiz.is-js .vx-step.is-on{display:block;animation:vxin .25s}
.vx-step:not(.is-on) + .vx-step{margin-top:var(--vs-gap)}.vx-wiz.is-js .vx-step{margin-top:0}
@keyframes vxin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vx-wiz-nav{display:flex;gap:10px;justify-content:space-between;margin-top:var(--vs-gap,16px);flex-wrap:wrap}
.vx-wiz-review{border:1.5px dashed var(--vs-line);border-radius:var(--vs-r);padding:var(--vs-gap);margin-top:var(--vs-gap)}
.vx-wiz-review dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.vx-wiz-review dt{color:var(--vs-mut);font-weight:600}.vx-wiz-review dd{margin:0;overflow-wrap:anywhere}
.vx-price-box{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--vs-r);background:color-mix(in srgb,var(--vs-accent) 10%,transparent);font-weight:700}
.vx-price-box strong{font-size:1.25em;color:var(--vs-accent)}
.vx-steps-list{margin:8px 0 0;padding:0;list-style:none;font-size:.82em;color:var(--vs-mut)}
/* پنل کاربر */
.vx-panel{display:grid;grid-template-columns:230px 1fr;gap:var(--vs-gap,16px);align-items:start}
.vx-panel-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:16px}
.vx-panel-nav a{display:flex;align-items:center;gap:10px;padding:.65em .9em;border-radius:calc(var(--vs-r) * .7);color:var(--vs-ink);text-decoration:none;font-weight:600}
.vx-panel-nav a:hover{background:var(--vs-soft)}.vx-panel-nav a.is-on{background:var(--vs-accent);color:#fff}
.vx-stat{display:flex;flex-direction:column;gap:2px}.vx-stat b{font-size:1.6em;color:var(--vs-accent)}.vx-stat span{color:var(--vs-mut);font-size:.85em}
.vx-table{width:100%;border-collapse:collapse}.vx-table th,.vx-table td{padding:.7em .6em;text-align:right;border-bottom:1px solid var(--vs-line)}.vx-table th{color:var(--vs-mut);font-size:.82em}
.vx-empty{text-align:center;padding:36px 16px;color:var(--vs-mut)}
@media(max-width:700px){.vx-panel{grid-template-columns:1fr}.vx-panel-nav{flex-direction:row;overflow-x:auto;position:static}.vx-panel-nav a{white-space:nowrap}.vx-wiz-t small{display:none}.vx-wiz-dot{min-width:56px}.vx-wiz-t b{display:none}.vx-wiz-dot.is-on .vx-wiz-t b{display:block}.vx-wiz-review dl{grid-template-columns:1fr}.vx-table{display:block;overflow-x:auto}}
.vx-wiz [hidden],.vx-wiz-nav [hidden]{display:none!important}
.vx-grid:has(.vx-stat){grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.vx-wiz-dot.is-on{flex:3 1 0}
@media(max-width:700px){.vx-wiz-dot.is-on{flex:4 1 0}.vx-wiz-dot.is-on .vx-wiz-t b{overflow:visible;text-overflow:clip}}
