/* ============================================================
   موتورِ رزرو — ظاهر
   وابسته به توکن‌های css/redesign.css
   ============================================================ */

#kgReserve{
  max-width:840px; margin-inline:auto;
  background:var(--white,#fff);
  border:1px solid var(--line,#e3ddcd);
  border-radius:var(--r-lg,22px);
  box-shadow:var(--e4,0 24px 40px -12px rgba(11,61,46,.18));
  overflow:hidden;
}

/* ───── سربرگ و نوارِ پیشرفت ───── */
.rz-head{
  padding:var(--s8,32px) var(--s8,32px) var(--s6,24px);
  background:linear-gradient(160deg,var(--g-800,#8a6d16),var(--g-600,#c9a227));
  color:#fff; text-align:center;
}
.rz-prog{ display:flex; align-items:center; justify-content:center; gap:0; margin-block-end:var(--s5,20px); }
.rz-dot{
  flex:0 0 auto; width:36px; height:36px; padding:0;
  border-radius:50%; border:2px solid rgba(255,255,255,.34);
  background:transparent; color:rgba(255,255,255,.7);
  font:800 14px inherit; cursor:pointer;
  display:grid; place-items:center; transition:.2s;
}
.rz-dot:disabled{ cursor:default; }
.rz-dot.done{ background:var(--gold,#c9a227); border-color:var(--gold,#c9a227); color:#1b1b1b; }
.rz-dot.done span{ font-size:0; }
.rz-dot.done::after{ content:'✓'; font-size:16px; }
.rz-dot.on{
  background:#fff; border-color:#fff; color:var(--g-800,#8a6d16);
  transform:scale(1.14); box-shadow:0 0 0 5px rgba(255,255,255,.16);
}
.rz-bar{ flex:1 1 auto; height:3px; max-width:56px; background:rgba(255,255,255,.24); }
.rz-bar.done{ background:var(--gold,#c9a227); }

.rz-stepno{ font-size:12.5px; color:rgba(255,255,255,.72); font-weight:700; letter-spacing:.4px; }
.rz-title{ color:#fff; font-size:clamp(21px,3vw,28px); margin:var(--s2,8px) 0 var(--s1,4px); }
.rz-hint{ color:rgba(255,255,255,.8); font-size:14.5px; margin:0; }

/* ───── بدنه ───── */
.rz-body{ padding:var(--s8,32px); }
@media (max-width:640px){ .rz-head,.rz-body{ padding:var(--s5,20px); } }

/* کارت‌های انتخاب خدمت */
.rz-cards{ display:grid; gap:var(--s3,12px); grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.rz-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:var(--s1,4px);
  min-height:118px; padding:var(--s5,20px);
  background:var(--paper-2,#f7f4ec); border:2px solid transparent;
  border-radius:var(--r,16px); cursor:pointer; text-align:start;
  font-family:inherit; transition:.18s;
}
.rz-card:hover{ background:var(--white,#fff); border-color:var(--gold-400,#e6c866); transform:translateY(-3px);
  box-shadow:var(--e3,0 12px 20px -6px rgba(11,61,46,.12)); }
.rz-card.on{ background:var(--white,#fff); border-color:var(--g-600,#c9a227);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--g-600,#c9a227) 14%,transparent); }
.rz-ico{ font-size:29px; line-height:1; }
.rz-card-t{ font-weight:800; font-size:15.5px; color:var(--g-800,#8a6d16); }
.rz-card-d{ font-size:12.5px; color:var(--muted,#6b7873); line-height:1.75; }

/* نشانه‌های اعتماد */
.rz-trust{
  display:grid; gap:var(--s3,12px); list-style:none; padding:0;
  margin:var(--s6,24px) 0 0; grid-template-columns:repeat(auto-fit,minmax(158px,1fr));
}
.rz-trust li{ display:flex; align-items:flex-start; gap:var(--s2,8px);
  padding:var(--s3,12px); background:var(--g-050,#f6f6f7); border-radius:var(--r-sm,12px); }
.rz-trust b{ font-size:19px; line-height:1.3; }
.rz-trust span{ font-size:13px; font-weight:800; color:var(--g-800,#8a6d16); line-height:1.6; }
.rz-trust em{ display:block; font-style:normal; font-weight:500; font-size:11.5px; color:var(--muted,#6b7873); }

/* فیلدها */
.rz-fields{ display:grid; gap:var(--s5,20px); }
.rz-fields.rz-2{ grid-template-columns:1fr 1fr; }
@media (max-width:640px){ .rz-fields.rz-2{ grid-template-columns:1fr; } }
.rz-f label{ display:block; font-size:14px; font-weight:800; color:var(--ink-2,#3d4a44); margin-block-end:var(--s2,8px); }
.rz-f label small{ font-weight:500; color:var(--muted,#6b7873); }

/* انتخابِ مسیر */
.rz-routes{ display:grid; gap:var(--s2,8px); }
.rz-route{
  display:flex; align-items:center; justify-content:space-between; gap:var(--s3,12px);
  min-height:56px; padding:var(--s3,12px) var(--s5,20px);
  background:var(--white,#fff); border:1.5px solid var(--line,#e3ddcd);
  border-radius:var(--r-sm,12px); cursor:pointer; font-family:inherit;
  text-align:start; transition:.16s;
}
.rz-route:hover{ border-color:var(--gold,#c9a227); background:var(--gold-100,#faf3dd); }
.rz-route.on{ border-color:var(--g-600,#c9a227); border-width:2px; background:var(--g-050,#f6f6f7); }
.rz-route-l{ font-size:14px; font-weight:700; color:var(--ink,#16211c); line-height:1.7; }
.rz-route-p{ font-size:15px; font-weight:900; color:var(--g-700,#3d3d3d); white-space:nowrap; direction:ltr; }

/* کلیدهای دوحالته */
.rz-seg{ display:flex; gap:var(--s2,8px); }
.rz-seg.rz-wrap{ flex-wrap:wrap; }
.rz-seg button{
  flex:1; min-height:48px; padding-inline:var(--s4,16px);
  background:var(--white,#fff); border:1.5px solid var(--line,#e3ddcd);
  border-radius:var(--r-sm,12px); font:800 14px inherit; color:var(--ink-2,#3d4a44);
  cursor:pointer; transition:.16s;
}
.rz-seg button:hover{ border-color:var(--gold,#c9a227); }
.rz-seg button.on{ background:var(--g-800,#8a6d16); border-color:var(--g-800,#8a6d16); color:#fff; }

/* شمارنده */
.rz-step{
  display:flex; align-items:center; gap:var(--s3,12px);
  padding:var(--s2,8px); background:var(--paper-2,#f7f4ec);
  border-radius:var(--r-sm,12px); border:1.5px solid var(--line,#e3ddcd);
}
.rz-step button{
  width:44px; height:44px; flex:0 0 auto;
  border:none; border-radius:var(--r-xs,8px);
  background:var(--white,#fff); box-shadow:var(--e1,0 1px 2px rgba(11,61,46,.06));
  font:900 22px inherit; color:var(--g-700,#3d3d3d); cursor:pointer; transition:.14s;
}
.rz-step button:hover{ background:var(--g-800,#8a6d16); color:#fff; }
.rz-step-v{ flex:1; text-align:center; font:900 21px inherit; color:var(--ink,#16211c); }
.rz-step em{ font-style:normal; font-size:12.5px; color:var(--muted,#6b7873); font-weight:700; }

/* تلفن با پیش‌شماره */
/* پیش‌شمارهٔ کشور سمتِ چپ، مثلِ هر فرمِ تلفنِ بین‌المللی */
.rz-tel{ display:flex; align-items:stretch; gap:0; direction:ltr; }
.rz-dial{
  display:grid; place-items:center; min-width:66px; padding-inline:var(--s3,12px);
  background:var(--paper-2,#f7f4ec); border:1.5px solid var(--line,#e3ddcd);
  border-right:none; border-radius:var(--r-sm,12px) 0 0 var(--r-sm,12px);
  font:800 14px inherit; color:var(--ink-2,#3d4a44); direction:ltr;
}
.rz-tel input{ border-radius:0 var(--r-sm,12px) var(--r-sm,12px) 0;
  text-align:left; direction:ltr; letter-spacing:.6px; }

.rz-callme{ margin:var(--s5,20px) 0 0; font-size:13px; color:var(--muted,#6b7873); text-align:center; }
.rz-msg{
  margin:var(--s4,16px) 0 0; padding:var(--s3,12px) var(--s4,16px);
  background:#fdecea; border:1px solid #f5c6c0; border-radius:var(--r-sm,12px);
  color:#a5251a; font-size:14px; font-weight:700;
}

/* ───── برآوردِ قیمت ───── */
.rz-quote{
  margin:0 var(--s8,32px); padding:var(--s5,20px);
  background:linear-gradient(140deg,#1b1b1b,#2f2f2f);
  border-radius:var(--r,16px); color:#dbeae2;
}
@media (max-width:640px){ .rz-quote{ margin-inline:var(--s5,20px); } }
.rz-q-top{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s3,12px); }
.rz-q-top span{ font-size:13.5px; color:#9fbfae; font-weight:700; }
.rz-q-top b{ font-size:27px; font-weight:900; color:var(--gold-400,#e6c866); direction:ltr; }
.rz-q-top small{ font-size:14px; font-weight:700; }
.rz-q-alt{ font-size:12.5px; color:#8fae9e; margin-block-start:var(--s1,4px); direction:ltr; text-align:end; }
.rz-q-free{ font-size:14px; color:#cfe0d6; line-height:1.9; }

.rz-q-sch{ margin-block-start:var(--s4,16px); padding-block-start:var(--s4,16px);
  border-block-start:1px solid rgba(255,255,255,.12); }
.rz-q-sch-h{ font-size:12.5px; font-weight:800; color:#9fbfae; }
.rz-q-sch ul{ list-style:none; padding:0; margin:var(--s3,12px) 0 0; display:grid; gap:var(--s2,8px); }
.rz-q-sch li{ display:flex; align-items:center; gap:var(--s3,12px); font-size:13px; }
.rz-q-sch i{
  flex:0 0 auto; min-width:46px; padding:3px 9px; border-radius:999px;
  background:rgba(201,162,39,.18); color:var(--gold-400,#e6c866);
  font-style:normal; font-weight:900; font-size:12px; text-align:center;
}
.rz-q-sch b{ color:#fff; font-weight:800; direction:ltr; min-width:74px; }
.rz-q-sch span{ color:#9fbfae; }

/* ───── ناوبری ───── */
.rz-nav{
  display:flex; gap:var(--s3,12px); align-items:center;
  padding:var(--s6,24px) var(--s8,32px);
}
@media (max-width:640px){ .rz-nav{ padding:var(--s5,20px); } }
.rz-nav .btn{ flex:1; }
.rz-nav #rzNext{ flex:2; }

/* ───── پایان ───── */
.rz-done{ padding:var(--s12,48px) var(--s8,32px); text-align:center; }
.rz-done-ico{
  width:76px; height:76px; margin:0 auto var(--s5,20px);
  border-radius:50%; display:grid; place-items:center;
  background:linear-gradient(135deg,#c9a227,#8a6d16); color:#fff; font-size:38px;
  box-shadow:0 16px 32px -12px rgba(201,162,39,.5);
}
.rz-done h2{ margin:0 0 var(--s4,16px); }
.rz-code{
  display:inline-flex; align-items:center; gap:var(--s3,12px);
  padding:var(--s3,12px) var(--s6,24px); margin-block-end:var(--s4,16px);
  background:var(--gold-100,#faf3dd); border:2px dashed var(--gold,#c9a227);
  border-radius:var(--r,16px);
}
.rz-code span{ font-size:13px; color:var(--gold-700,#8a7328); font-weight:700; }
.rz-code b{ font-size:22px; font-weight:900; color:var(--g-800,#8a6d16); letter-spacing:1.5px; }
.rz-done p{ max-width:460px; margin-inline:auto; }
.rz-done-btns{ display:flex; gap:var(--s3,12px); justify-content:center; flex-wrap:wrap; margin-block-start:var(--s6,24px); }

/* ───── بارگذاری و خطا ───── */
.rz-load{ display:grid; place-items:center; min-height:280px; }
.rz-spin{
  width:38px; height:38px; border-radius:50%;
  border:3px solid var(--line,#e3ddcd); border-top-color:var(--gold,#c9a227);
  animation:rzspin .8s linear infinite;
}
@keyframes rzspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .rz-spin{ animation-duration:2s; } }
.rz-err{ padding:var(--s12,48px) var(--s6,24px); text-align:center; color:#a5251a; font-weight:700; }

/* ============================================================
   صفحهٔ اختصاصیِ هر خدمت
   ============================================================ */

.svc-hero{
  padding-block:var(--s16,64px) var(--s12,48px);
  background:linear-gradient(155deg,var(--g-900,#1b1b1b) 0%,var(--g-700,#3d3d3d) 55%,var(--g-800,#8a6d16) 100%);
  color:#fff; text-align:center; position:relative; overflow:hidden;
}
.svc-hero::before{
  content:''; position:absolute; inset-block-start:-140px; inset-inline-start:-110px;
  width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,39,.24),transparent 68%);
}
.svc-hero > .container{ position:relative; }
.svc-hero h1{ color:#fff; margin:var(--s3,12px) 0 var(--s4,16px); }
.svc-hero .eyebrow{ background:rgba(201,162,39,.17); color:var(--gold-400,#e6c866); border:1px solid var(--gold,#c9a227); }
.svc-lead{ color:#dbeae2; font-size:clamp(16px,2vw,18.5px); max-width:640px; margin:0 auto var(--s8,32px); line-height:2; }

.svc-crumb{
  display:flex; align-items:center; justify-content:center; gap:var(--s2,8px);
  flex-wrap:wrap; font-size:12.5px; margin-block-end:var(--s5,20px);
}
.svc-crumb a{ color:#9fbfae; text-decoration:none; }
.svc-crumb a:hover{ color:var(--gold-400,#e6c866); text-decoration:underline; }
.svc-crumb span{ color:#5f7f6e; }
.svc-crumb b{ color:#fff; font-weight:700; }

/* مشخصات */
.svc-specs h2,.svc-feat h2{ text-align:center; margin-block-end:var(--s8,32px); }
.svc-spec-grid{
  display:grid; gap:var(--s4,16px); list-style:none; padding:0; margin:0;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
}
.svc-spec-grid li{
  display:grid; gap:var(--s1,4px); padding:var(--s5,20px);
  background:var(--white,#fff); border:1px solid var(--line,#e3ddcd);
  border-radius:var(--r,16px); box-shadow:var(--e1,0 1px 2px rgba(11,61,46,.06));
  text-align:center; transition:.18s;
}
.svc-spec-grid li:hover{ transform:translateY(-3px); box-shadow:var(--e3,0 12px 20px -6px rgba(11,61,46,.12)); }
.svc-spec-i{ font-size:27px; line-height:1.2; }
.svc-spec-k{ font-size:12.5px; color:var(--muted,#6b7873); font-weight:700; }
.svc-spec-v{ font-size:15px; color:var(--g-800,#8a6d16); font-weight:800; line-height:1.7; }

/* امکانات */
.svc-feat{ background:var(--paper-2,#f7f4ec); }
.svc-feat ul{
  display:grid; gap:var(--s3,12px); list-style:none; padding:0;
  margin:0 auto; max-width:760px;
}
.svc-feat li{
  position:relative; padding:var(--s4,16px) var(--s12,48px) var(--s4,16px) var(--s5,20px);
  background:var(--white,#fff); border-radius:var(--r-sm,12px);
  border:1px solid var(--line,#e3ddcd);
  font-size:15px; color:var(--ink,#16211c); font-weight:600; line-height:1.85;
}
.svc-feat li::before{
  content:'✓'; position:absolute; inset-inline-start:var(--s5,20px); inset-block-start:50%;
  transform:translateY(-50%);
  width:26px; height:26px; border-radius:50%;
  background:var(--g-100,#eef0ef); color:var(--g-700,#3d3d3d);
  display:grid; place-items:center; font-weight:900; font-size:14px;
}
html[dir="rtl"] .svc-feat li{ padding-inline:var(--s12,48px) var(--s5,20px); }
html[dir="rtl"] .svc-feat li::before{ inset-inline-start:var(--s5,20px); }

/* خلاصهٔ مسیرِ از پیش انتخاب‌شده */
.rz-route-sum{
  display:flex; align-items:center; gap:var(--s3,12px);
  padding:var(--s3,12px) var(--s8,32px);
  background:var(--g-050,#f6f6f7); border-block-end:1px solid var(--line,#e3ddcd);
  font-size:15px; font-weight:800; color:var(--g-800,#8a6d16);
}
.rz-route-sum i{ font-style:normal; color:var(--gold,#b8952b); }
.rz-route-sum a{
  margin-inline-start:auto; font-size:12.5px; font-weight:700;
  color:var(--muted,#6a7570); text-decoration:underline;
}
@media (max-width:640px){ .rz-route-sum{ padding-inline:var(--s5,20px); } }

/* دروازهٔ تأییدِ شماره */
.rz-gate-ico{ background:linear-gradient(135deg,var(--gold,#b8952b),var(--gold-400,#d4b755)) !important;
  color:#0b1a14 !important; }
.rz-gate-note{ margin-block-start:var(--s5,20px) !important; font-size:13px; color:var(--muted,#6a7570); }

/* توضیحِ ظرفیتِ وسیله — رزرو دربستی است و تعدادِ نفرات پرسیده نمی‌شود،
   پس ظرفیتِ هر وسیله را همین متن (از پنل) به زائر می‌گوید. */
.rz-cap-note{
  margin:14px 0 0; padding:11px 14px;
  background:rgba(201,162,39,.09); border:1px dashed rgba(201,162,39,.45);
  border-radius:12px; font-size:13.5px; line-height:2; color:#6b5a1f;
}
