/* ═══════════════════════════════════════════════
   وبزی تیم — استایل صفحه اصلی (webziteam.ir)
   موبایل-اول، راست‌چین، فقط از توکن‌های tokens.css
   ═══════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  font-family:var(--font-sans);
  background:var(--bg);
  color:var(--ink);
  line-height:1.9;
  font-size:var(--fs-body);
  overflow-x:hidden; /* بیمه‌ی اسکرول افقی */
}
img,svg{max-width:100%;vertical-align:middle}
[hidden]{display:none!important}
a{color:var(--primary-dark);text-decoration:none}
ul,ol{list-style:none}
fieldset{border:none}
button{font-family:inherit}

.wrap{max-width:1120px;margin-inline:auto;padding-inline:var(--sp-5)}

/* ─── دکمه‌ها ─── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:10px 26px;
  border-radius:var(--radius);border:none;cursor:pointer;
  font-family:inherit;font-size:.95rem;font-weight:700;
  transition:background .2s,color .2s,box-shadow .2s,transform .2s;
}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark)}
.btn-cta{background:var(--accent);color:#fff}
.btn-cta:hover{background:var(--accent-dark)}
.btn-outline{background:var(--card);color:var(--primary-dark);border:2px solid var(--primary)}
.btn-outline:hover{background:var(--primary-pale)}
.btn-ghost{background:var(--primary-pale);color:var(--primary-dark)}
.btn-ghost:hover{background:#E0E7FF}
.btn-sm{padding:8px 18px;font-size:.85rem}
.btn-block{width:100%}
.btn:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--primary);outline-offset:2px}

/* ─── نوار بالا ─── */
.header{
  position:sticky;top:0;z-index:50;
  background:#FFFFFFF2;backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding-block:var(--sp-3)}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.15rem;color:var(--ink)}
.nav-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--card);color:var(--ink);cursor:pointer;
}
.nav-toggle .i-close{display:none}
.nav-toggle[aria-expanded="true"] .i-open{display:none}
.nav-toggle[aria-expanded="true"] .i-close{display:block}
.nav-menu{
  display:none;
  position:absolute;inset-inline:0;top:100%;
  background:var(--card);border-bottom:1px solid var(--line);
  padding:var(--sp-4) var(--sp-5) var(--sp-5);
  box-shadow:var(--shadow-card);
}
.nav-menu.open{display:block}
.nav-links{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--sp-4)}
.nav-links a{
  display:block;padding:10px 12px;border-radius:var(--radius);
  color:var(--slate);font-weight:500;font-size:.95rem;
}
.nav-links a:hover{background:var(--primary-pale);color:var(--primary-dark)}

@media (min-width:860px){
  .nav-toggle{display:none}
  .nav-menu{
    display:flex;align-items:center;gap:var(--sp-5);
    position:static;background:none;border:none;box-shadow:none;padding:0;
  }
  .nav-links{flex-direction:row;gap:var(--sp-2);margin:0}
  .nav-links a{padding:8px 12px;font-size:.88rem}
}

/* ─── هیرو ─── */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#EEF2FF80,transparent 80%);
  padding-block:var(--sp-7) var(--sp-7);
}
/* حباب‌های محو: مطلق و زیر محتوا — هرگز جای layout نمی‌گیرند */
.blob{
  position:absolute;z-index:0;border-radius:50%;
  filter:blur(70px);opacity:.5;pointer-events:none;
}
.blob.b1{width:340px;height:340px;background:var(--primary-light);top:-120px;left:-80px}
.blob.b2{width:260px;height:260px;background:#10B98155;bottom:-110px;right:-60px}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:var(--sp-7);align-items:center}
.hero h1{font-size:1.8rem;font-weight:900;line-height:1.5}
.hero h1 em{font-style:normal;color:var(--primary-dark)}
.hero-sub{color:var(--muted);margin:var(--sp-4) 0 var(--sp-5);font-size:1.02rem}
.hero-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}

.hero-visual{position:relative;min-height:320px;perspective:1100px}
.mock-browser{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:0 18px 50px #4f46e522;overflow:hidden;width:88%;
  transform:rotateY(-14deg) rotateX(7deg);transform-style:preserve-3d;
  transition:transform .5s ease;
}
.hero-visual:hover .mock-browser{transform:rotateY(-6deg) rotateX(3deg)}
.mb-bar{display:flex;gap:6px;background:var(--primary-pale);padding:9px 12px}
.mb-bar i{width:9px;height:9px;border-radius:50%;background:#C7D2FE;display:block}
.mock-body{padding:18px}
.sk{border-radius:8px;background:var(--primary-pale);margin-bottom:10px}
.sk-row{display:flex;gap:8px;margin-top:14px}
.sk-row .sk{flex:1;height:52px;margin:0}
.mock-phone{
  position:absolute;bottom:-14px;left:0;width:120px;
  background:var(--ink);border-radius:22px;padding:8px;
  box-shadow:0 18px 40px #0f172a44;
  transform:rotateY(10deg) rotateX(4deg) translateZ(40px);
  animation:wzFloat 5s ease-in-out infinite;
}
.mock-phone .scr{background:var(--card);border-radius:var(--radius-lg);padding:12px 10px;min-height:170px}
.float-badge{
  position:absolute;top:6px;left:18px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 10px 30px #0f172a14;
  font-size:.75rem;font-weight:700;padding:8px 14px;
  display:flex;align-items:center;gap:7px;
  animation:wzFloat 4s ease-in-out infinite reverse;
}
@keyframes wzFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}

@media (min-width:900px){
  .hero-grid{grid-template-columns:1.05fr .95fr}
  .hero h1{font-size:var(--fs-h1)}
}

/* ─── نوار آمار ─── */
.stats{background:var(--card);border-block:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.stats-grid div{padding:22px 10px;text-align:center;border-inline-start:1px solid var(--line)}
.stats-grid div:first-child,.stats-grid div:nth-child(3){border-inline-start:none}
.stats-grid b{display:block;font-size:1.5rem;font-weight:900;color:var(--primary-dark)}
.stats-grid span{font-size:var(--fs-small);color:var(--muted)}
@media (min-width:700px){
  .stats-grid{grid-template-columns:repeat(4,1fr)}
  .stats-grid div:nth-child(3){border-inline-start:1px solid var(--line)}
}

/* ─── بخش‌ها ─── */
.section{padding-block:var(--sp-8)}
.sec-title{text-align:center;font-size:var(--fs-h2);font-weight:900;margin-bottom:6px}
.sec-sub{text-align:center;color:var(--muted);font-size:.92rem;margin-bottom:var(--sp-6)}
.cards{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
@media (min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){
  .services-grid,.quotes-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .works-grid{grid-template-columns:repeat(2,1fr)} /* چهار کارت: ۲×۲ در دسکتاپ */
}

/* ─── کارت خدمات (هاور سه‌بعدی) ─── */
.services-grid{perspective:900px}
.scard{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--sp-5);transition:transform .2s,box-shadow .2s,border-color .2s;
}
.scard:hover{
  border-color:var(--primary);
  transform:translateY(-6px) rotateX(4deg) rotateY(-3deg);
  box-shadow:0 22px 48px #4f46e529;
}
.scard .ic{
  width:46px;height:46px;border-radius:var(--radius);background:var(--primary-pale);
  display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3);
}
.scard h3{font-size:1.02rem;margin-bottom:6px}
.scard p{font-size:.84rem;color:var(--muted)}

/* ─── تکنولوژی (تیره) ─── */
.tech{background:var(--ink);color:#fff;text-align:center}
.tech .sec-title{color:#fff}
.tech .sec-sub{color:#94A3B8}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:640px;margin-inline:auto}
.chip{
  border:1px solid var(--slate);background:#1E293B;color:#C7D2FE;
  border-radius:99px;font-size:var(--fs-small);font-weight:500;padding:6px 16px;
}
.chip.hl{background:#10B98122;border-color:var(--accent);color:#6EE7B7}
.tech-how-title{font-size:var(--fs-h3);font-weight:800;margin:var(--sp-7) 0 var(--sp-2)}
.tech-how-sub{color:#94A3B8;font-size:.9rem;max-width:560px;margin:0 auto var(--sp-6)}
.steps{
  display:grid;grid-template-columns:1fr;gap:var(--sp-4);
  max-width:960px;margin-inline:auto;counter-reset:wstep;
}
.steps li{
  background:#1E293B;border:1px solid var(--slate);border-radius:var(--radius-lg);
  padding:var(--sp-5) var(--sp-4);text-align:center;
}
.step-ic{
  width:44px;height:44px;border-radius:var(--radius);
  background:#312E81;color:#C7D2FE;
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3);
}
.steps b{display:block;font-size:.98rem}
.steps li>span:last-child{display:block;font-size:.8rem;color:#94A3B8}
@media (min-width:700px){.steps{grid-template-columns:repeat(4,1fr)}}

/* ─── ویزارد سفارش ─── */
.order{background:linear-gradient(135deg,#312E81,var(--primary-dark))}
.order .sec-title{color:#fff}
.order .sec-sub{color:#C7D2FE}
.wizard{
  max-width:640px;margin-inline:auto;
  background:var(--card);border-radius:var(--radius-xl);
  padding:var(--sp-5);color:var(--ink);
  box-shadow:var(--shadow-pop);
}
@media (min-width:640px){.wizard{padding:var(--sp-6)}}

.progress{display:flex;gap:8px;margin-bottom:var(--sp-2)}
.pstep{height:6px;flex:1;border-radius:99px;background:var(--line);transition:background .3s}
.pstep.is-active{background:var(--primary)}
.progress-label{font-size:var(--fs-small);color:var(--muted);margin-bottom:var(--sp-4)}

.wstep{animation:wzStepIn .35s ease both}
@keyframes wzStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wstep-title{font-size:1.05rem;font-weight:800;margin-bottom:var(--sp-4)}
.wstep-title small{font-weight:500;font-size:.8rem;color:var(--muted)}

/* مرحله ۱: کارت‌های انتخاب نوع */
.type-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}
@media (min-width:520px){.type-grid{grid-template-columns:repeat(2,1fr)}}
.type-card{
  position:relative;
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  border:1.5px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--sp-4);cursor:pointer;color:var(--slate);
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.type-card:hover{border-color:var(--primary-light)}
.type-card input{position:absolute;opacity:0;pointer-events:none}
.type-card b{color:var(--ink);font-size:.98rem}
.type-price{font-size:.8rem;font-weight:700;color:var(--primary-dark)}
.type-card:has(input:checked),.type-card.is-checked{
  border-color:var(--primary);background:var(--primary-pale);
  box-shadow:0 0 0 1px var(--primary);color:var(--primary-dark);
}
.type-card:has(input:focus-visible),.type-card.is-focused{outline:3px solid var(--primary);outline-offset:2px}

/* مرحله ۲: افزونه‌ها */
.addon-list{display:flex;flex-direction:column;gap:var(--sp-2)}
.addon{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
  border:1.5px solid var(--line);border-radius:var(--radius);
  padding:12px var(--sp-4);cursor:pointer;min-height:48px;
  transition:border-color .2s,background .2s;flex-wrap:wrap;
}
.addon:hover{border-color:var(--primary-light)}
.addon input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0}
.addon-t{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;color:var(--slate);flex:1}
.addon-p{font-size:.82rem;font-weight:800;color:var(--primary-dark);white-space:nowrap}
.addon:has(input:checked),.addon.is-checked{border-color:var(--primary);background:var(--primary-pale)}

.estimate{
  margin-top:var(--sp-5);
  background:var(--primary-pale);border:1px solid #C7D2FE;border-radius:var(--radius-lg);
  padding:var(--sp-4);text-align:center;
}
.estimate-label{display:block;font-size:.78rem;color:var(--primary-darker);margin-bottom:4px}
.estimate-num{font-size:1.3rem;font-weight:900;color:var(--primary-dark)}
.estimate-recap{
  background:var(--primary-pale);border-radius:var(--radius);
  font-size:.88rem;padding:10px var(--sp-4);margin-bottom:var(--sp-4);color:var(--primary-darker);
}

/* مرحله ۳: فرم تماس */
.field{margin-bottom:var(--sp-4)}
.field label{display:block;font-size:.86rem;font-weight:700;margin-bottom:6px}
.field .req{color:var(--danger)}
.field input{
  width:100%;border:1.5px solid var(--line);border-radius:var(--radius);
  padding:11px 14px;font-family:inherit;font-size:.92rem;background:var(--card);color:var(--ink);
  min-height:44px;
}
.field input:focus{outline:2px solid var(--primary);border-color:var(--primary)}
.field input[dir="ltr"]{text-align:right} /* شماره در RTL از سمت راست خوانده شود اما جهت رقم درست بماند */
.field.has-error input{border-color:var(--danger)}
.field-hint{font-size:.76rem;color:var(--muted);margin-top:5px}
.field-error{font-size:.8rem;color:var(--danger);font-weight:600;margin-top:5px}

.wnav{display:flex;gap:var(--sp-3);margin-top:var(--sp-5);flex-wrap:wrap}
.wnav .btn{flex:1;min-width:150px}
.wnav-col{flex-direction:column}
.wnav-col .btn{width:100%}

/* پیام موفقیت */
.wsuccess{text-align:center;padding:var(--sp-6) var(--sp-4);color:var(--accent-dark);animation:wzStepIn .35s ease both}
.wsuccess h3{color:var(--ink);font-size:1.2rem;margin:var(--sp-3) 0 var(--sp-2)}
.wsuccess p{color:var(--slate);font-size:.92rem}

/* ─── تعرفه‌ها ─── */
.plans{display:grid;grid-template-columns:1fr;gap:var(--sp-4);align-items:stretch}
@media (min-width:860px){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:var(--sp-6) var(--sp-5);text-align:center;display:flex;flex-direction:column;
}
.plan.pop{border:2px solid var(--primary);position:relative;box-shadow:var(--shadow-pop)}
.plan .tag{
  position:absolute;top:-13px;right:50%;transform:translateX(50%);
  background:var(--primary);color:#fff;font-size:.72rem;font-weight:700;
  border-radius:99px;padding:3px 16px;white-space:nowrap;
}
.plan h3{font-size:1.05rem}
.plan .pr{font-size:1.45rem;font-weight:900;color:var(--primary-dark);margin:var(--sp-3) 0 2px}
.plan .pr small{font-size:.75rem;color:var(--muted);font-weight:500}
.plan ul{text-align:right;font-size:.84rem;color:var(--slate);margin:var(--sp-4) 0 var(--sp-5);flex:1}
.plan li{padding:6px 0;display:flex;gap:8px;align-items:flex-start}
.plan li::before{content:"✓";color:var(--accent);font-weight:900}

/* ─── نمونه‌کارها ─── */
.wcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.wcard .thumb{
  position:relative;
  height:150px;background:linear-gradient(135deg,#C7D2FE,var(--primary-pale));
  display:flex;align-items:center;justify-content:center;
  color:var(--primary-dark);font-weight:900;font-size:1.35rem;letter-spacing:.02em;
}
/* اسکرین‌شات واقعی پروژه */
.thumb-img{padding:0}
.thumb-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .4s ease}
.wcard:hover .thumb-img img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.wcard:hover .thumb-img img{transform:none}}
/* گرادیان اختصاصی هر پروژه — همه در خانواده ایندیگو */
.thumb-a{background:linear-gradient(135deg,#C7D2FE,var(--primary-pale))}
.thumb-b{background:linear-gradient(135deg,#A5B4FC,#E0E7FF)}
.thumb-c{background:linear-gradient(135deg,#818CF8,#C7D2FE);color:#312E81}
.thumb-d{background:linear-gradient(135deg,#E2E8F0,var(--primary-pale));color:var(--slate)}
.wsoon{
  position:absolute;top:10px;inset-inline-start:10px;
  background:var(--ink);color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:0;
  border-radius:99px;padding:3px 12px;
}
.wtag{
  display:inline-block;background:var(--primary-pale);color:var(--primary-dark);
  font-size:.7rem;font-weight:700;border-radius:99px;padding:3px 12px;
  margin-bottom:8px;
}
.wcard .winfo{padding:var(--sp-4) var(--sp-4) var(--sp-5)}
.wcard h3{font-size:.95rem}
.wcard p{font-size:.78rem;color:var(--muted);margin:4px 0 var(--sp-3)}
.live-link[hidden]{display:none}

/* ─── نظر مشتری‌ها ─── */
.quotes{background:var(--card);border-block:1px solid var(--line)}
.quote{
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--sp-5);font-size:.9rem;color:var(--slate);
}
.quote .who{display:flex;align-items:center;gap:10px;margin-top:var(--sp-4)}
.quote .av{
  width:38px;height:38px;border-radius:50%;background:var(--primary-pale);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:var(--primary-dark);font-size:.85rem;flex-shrink:0;
}
.quote .who b{font-size:.85rem;display:block}
.quote .who small{font-size:.74rem;color:var(--muted)}

/* ─── بررسی رایگان سایت (لید مگنت) ─── */
.audit-form{
  max-width:520px;margin-inline:auto;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-xl);
  padding:var(--sp-5);box-shadow:var(--shadow-card);
}
@media (min-width:640px){.audit-form{padding:var(--sp-6)}}
.audit-form .btn{margin-top:var(--sp-2)}

/* ─── فوتر ─── */
.footer{background:var(--ink);color:#94A3B8;padding:var(--sp-7) 0 var(--sp-5);font-size:.85rem}
.footer .cols{display:grid;grid-template-columns:1fr;gap:var(--sp-6);margin-bottom:var(--sp-5)}
@media (min-width:640px){.footer .cols{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.footer .cols{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer h4{color:#fff;font-size:.92rem;margin-bottom:var(--sp-3)}
.footer .fl{display:block;margin:7px 0;color:#94A3B8}
a.fl:hover{color:#C7D2FE}
.fbrand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:1.05rem;margin-bottom:var(--sp-3)}
.footer .copy{border-top:1px solid #1E293B;padding-top:var(--sp-4);text-align:center;font-size:.76rem}

/* ─── دکمه شناور گفتگو ─── */
.chat-fab{position:fixed;bottom:var(--sp-4);inset-inline-end:var(--sp-4);z-index:60}
.chat-btn{
  width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;
  background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px #10b98155;
  transition:background .2s,transform .2s;
}
.chat-btn:hover{background:var(--accent-dark);transform:translateY(-2px)}
.chat-pop{
  position:absolute;bottom:calc(100% + 10px);inset-inline-end:0;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-pop);padding:var(--sp-2);
  display:flex;flex-direction:column;gap:2px;min-width:170px;
  animation:wzStepIn .25s ease both;
}
.chat-pop[hidden]{display:none}
.chat-opt{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;min-height:44px;border-radius:var(--radius);
  color:var(--slate);font-weight:700;font-size:.9rem;
}
.chat-opt:hover{background:var(--primary-pale);color:var(--primary-dark)}

/* ─── حرکت کمتر ─── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mock-phone,.float-badge{animation:none}
  .mock-browser,.scard,.btn,.chat-btn{transition:none}
  .hero-visual:hover .mock-browser{transform:rotateY(-14deg) rotateX(7deg)}
  .scard:hover{transform:none}
  .wstep,.wsuccess,.chat-pop{animation:none}
}
