/* پس‌زمینه موجی */
.sb-ocean-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.65}
.sb-ocean-bg svg{width:100%;height:100%}
.wave{fill:var(--sb-bg-alt);opacity:.35}
.wave-1{animation:waveMove 18s linear infinite;opacity:.45}
.wave-2{animation:waveMove 26s linear infinite reverse;opacity:.35}
.wave-3{animation:waveMove 34s linear infinite;opacity:.28}
@keyframes waveMove{0%{transform:translateX(0)}100%{transform:translateX(-25%)}}

/* کانتینر */
.sb-consult-shell{max-width:880px}
.sb-consult-header{text-align:center;margin:2rem 0 1rem}
.sb-consult-sub{color:var(--sb-text-soft)}

/* پیشرفت */
.sb-progress{position:relative;margin:1rem auto 1.4rem;max-width:720px}
.sb-progress-bar{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--sb-accent-blue),var(--sb-accent-green));box-shadow:0 6px 16px rgba(0,0,0,.2);transition:width .35s ease}
.sb-progress-dots{display:flex;justify-content:space-between;list-style:none;margin:.4rem .25rem 0;padding:0}
.sb-progress-dots li{width:10px;height:10px;border-radius:50%;background:var(--sb-border);opacity:.6}
.sb-progress-dots li.is-active{background:var(--sb-accent-blue);opacity:1}

/* کارت ویزارد */
.sb-consult-card{padding:1.1rem 1.2rem}
.sb-consult-card h2{font-size:1.05rem;margin-bottom:.7rem}
.hint{font-size:.8rem;color:var(--sb-text-soft)}
.sb-step{display:none}
.sb-step.is-active{display:block}

/* گریدها */
.sb-grid-1{display:grid;gap:.6rem}
.sb-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
@media (max-width:640px){.sb-grid-2{grid-template-columns:minmax(0,1fr)}}

/* گزینه‌ها (از استایل‌های نرم موجود پیروی می‌کند) */
.sb-option,.sb-radio{
  display:flex;align-items:center;gap:.6rem;
  background:var(--sb-bg-card-soft);border:1px solid var(--sb-border);
  border-radius:14px;padding:.55rem .7rem;cursor:pointer
}
.sb-option input,.sb-radio input{accent-color:var(--sb-accent-green)}
.sb-option .icon,.sb-radio .icon{font-size:1.1rem}
.sb-option-other{justify-content:flex-start}
.sb-other-input{margin-top:.4rem}

/* استفاده‌ مجدد از الگوی فرم‌های قبلی */
.sb-form-row input,.sb-form-row select,.sb-form-row textarea{
  width:100%;border-radius:10px;border:1px solid var(--sb-border);
  background:var(--sb-bg-card);color:var(--sb-text-main);
  padding:.5rem .6rem;font-size:.9rem
}
.sb-label{display:block;margin-bottom:.25rem}
.req{color:#fb7185}
.sb-error-text{display:none;color:#fb7185;margin-top:.25rem}
.sb-text-soft{color:var(--sb-text-soft);font-size:.85rem}

/* دکمه‌ها (از sb-btn موجود + کمی CTA) */
.sb-actions{display:flex;gap:.6rem;justify-content:space-between;margin-top:.9rem}
.sb-actions .sb-btn{min-width:140px}
.anim-shine{position:relative;overflow:hidden}
.anim-shine::after{
  content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-25deg);animation:btnShine 5s infinite ease-in-out
}
@keyframes btnShine{0%{left:-120%}10%{left:140%}100%{left:140%}}

/* پسوند واحد */
.sb-input-inline{position:relative;display:flex;align-items:center}
.sb-input-inline .suffix{position:absolute;inset-inline-start:.6rem;color:var(--sb-text-soft);font-size:.85rem}

/* فوتر */
.sb-consult-footer{text-align:center;color:var(--sb-text-soft);margin-top:.8rem}


    :root{
      --mm-blur: 22px;
      --mm-glass: rgba(10,16,30,.55);
      --mm-card: rgba(20,28,48,.65);
      --mm-border: rgba(148,163,184,.22);
      --accent-1: rgba(56,189,248,.28);
      --accent-2: rgba(34,197,94,.22);
    }

    /* موج پس‌زمینه عقب بماند */
    .sb-ocean-bg{position:fixed; inset:0; z-index:0; pointer-events:none;}

    /* ===== Mobile Menu (Glass) ===== */
    .sb-mobile-menu{position:fixed; inset:0; z-index:9999; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease, visibility .25s ease;}
    .sb-mobile-menu.is-open{opacity:1; visibility:visible; pointer-events:auto;}
    .sb-mm-backdrop{position:absolute; inset:0; background:
        radial-gradient(1200px 800px at 85% -10%, var(--accent-1), transparent 60%),
        radial-gradient(1000px 700px at 10% 110%, var(--accent-2), transparent 65%),
        var(--mm-glass);
      backdrop-filter: blur(var(--mm-blur));
      -webkit-backdrop-filter: blur(var(--mm-blur));
      animation: mmPulse 10s ease-in-out infinite;
    }
    @keyframes mmPulse{0%{filter:saturate(1)}50%{filter:saturate(1.25)}100%{filter:saturate(1)}}

    .sb-mm-panel{position:absolute; inset:0; display:flex; flex-direction:column;
      background: linear-gradient( to bottom, rgba(12,20,36,.35), rgba(12,20,36,.6) );
      border-inline-start:1px solid var(--mm-border);
      transform: translateY(12px) scale(.985); opacity:0; transition: transform .28s ease, opacity .28s ease;
    }
    .sb-mobile-menu.is-open .sb-mm-panel{transform:none; opacity:1;}

    .sb-mm-header{position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:1rem; border-bottom:1px solid var(--mm-border); background:rgba(10,16,30,.35); backdrop-filter: blur(8px);}
    .sb-mm-brand{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit}
    .sb-mm-mark{width:30px; height:30px; border-radius:999px; border:1px solid rgba(56,189,248,.5);
      background: radial-gradient(circle at top, rgba(56,189,248,.85), rgba(8,47,73,1));
      display:grid; place-items:center; font-weight:700; color:#e0f2fe; box-shadow:0 0 18px rgba(56,189,248,.9)}
    .sb-mm-title{font-weight:800; letter-spacing:.04em}

    /* دکمه بستن: بزرگ، ثابت و همیشه در دسترس */
    .sb-mm-close{
      position:sticky; top:0; margin-inline-start:auto;
      min-width:44px; height:44px; padding:0 .6rem;
      border-radius:12px; border:1px solid var(--mm-border);
      background: var(--mm-card); color:#e2e8f0; font-size:22px; line-height:42px; text-align:center;
      cursor:pointer; z-index:3;
    }
    .sb-mm-close:focus-visible{outline:2px solid #38bdf8; outline-offset:2px}

    .sb-mm-search{display:flex; gap:.5rem; padding:.9rem 1rem; border-bottom:1px solid var(--mm-border)}
    .sb-mm-search input{flex:1; border:1px solid var(--mm-border); border-radius:14px; background:var(--mm-card); color:inherit; padding:.6rem .8rem}
    .sb-mm-search button{border:1px solid var(--mm-border); background:var(--mm-card); border-radius:14px; padding:.6rem .9rem}

    .sb-mm-list{list-style:none; margin:0; padding:.7rem}
    .sb-mm-list li{margin:.18rem 0}
    .sb-mm-list a, .sb-mm-theme, .mm-accordion-toggle{
      width:100%; text-align:start; display:block; padding:.75rem 1rem; border-radius:14px;
      border:1px solid var(--mm-border); background:var(--mm-card); color:inherit; text-decoration:none;
    }
    .sb-mm-list a:hover,.sb-mm-theme:hover{border-color:#38bdf8}
    .mm-sep{height:1px; margin:.6rem 0; background:var(--mm-border)}
    .mm-accordion .mm-sub{list-style:none; margin:.35rem 0 0 .2rem; padding:0}
    .mm-accordion .mm-sub li a{margin-top:.3rem}

    .sb-mm-footer{margin-top:auto; display:flex; gap:.6rem; padding:1rem; border-top:1px solid var(--mm-border); background:linear-gradient(to top, rgba(10,16,30,.55), transparent)}
    .sb-mm-pill{flex:1; text-align:center; padding:.7rem; border-radius:12px; border:1px solid var(--mm-border); background:var(--mm-card); text-decoration:none; color:inherit}

    /* ===== Wizard/Form hardening ===== */
    .sb-consult-shell{position:relative; z-index:1}
    .sb-consult-card{position:relative}
    .sb-step{display:none;}
    .sb-step.is-active{display:block;}
    .sb-grid-1{display:grid; grid-template-columns:1fr; gap:.8rem}
    .sb-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:.8rem}
    @media (max-width:700px){ .sb-grid-2{grid-template-columns:1fr} }

    .sb-form-row{display:flex; align-items:center; gap:.6rem}
    .sb-form-row input[type="text"],
    .sb-form-row input[type="tel"],
    .sb-form-row input[type="number"],
    .sb-form-row input[type="file"],
    .sb-form-row select,
    .sb-form-row textarea{
      width:100%; border:1px solid var(--mm-border); border-radius:12px; background:var(--mm-card);
      color:inherit; padding:.6rem .8rem;
    }
    .sb-option, .sb-radio{display:flex; align-items:center; gap:.5rem; border:1px solid var(--mm-border); border-radius:12px; background:var(--mm-card); padding:.6rem .8rem}
    .sb-option .icon, .sb-radio .icon{width:1.4rem; text-align:center}
    .sb-option input, .sb-radio input{accent-color:#22d3ee}
    .sb-input-inline{position:relative}
    .sb-input-inline .suffix{position:absolute; inset-inline-end:.6rem; top:50%; transform:translateY(-50%); opacity:.8}
    .sb-actions{display:flex; justify-content:space-between; gap:.6rem; margin-top:1rem}
    .sb-btn{cursor:pointer}
    .sb-error-text{color:#ef4444; font-size:.85rem; display:none}
    .sb-error-text.is-show{display:block}

    .sb-progress{margin:.8rem 0}
    .sb-progress-bar{height:6px; border-radius:999px; background:linear-gradient(90deg, #38bdf8, #22c55e)}
    .sb-progress-dots{display:flex; gap:.35rem; justify-content:center; margin-top:.5rem}
    .sb-progress-dots li{width:6px; height:6px; border-radius:999px; background:#64748b; opacity:.5}
    .sb-progress-dots li.is-active{opacity:1; background:#38bdf8}