/* ⚠ ۲۰۲۶-۰۸-۲۳ — فرمِ رزرو و تقویم (.hs-* و .kgd-*)
   این فایل از css/redesign.css جدا شده است. پیش از این، هر ۲۰۸ صفحهٔ
   سایت یک فایلِ ۳۴۰ کیلوبایتی می‌گرفت که ۸۸٪اش را استفاده نمی‌کرد.
   ترتیبِ قاعده‌ها دقیقاً همانِ فایلِ اصلی است؛ این فایل باید **بعد از**
   redesign.css لود شود. */


/* ── تقویمِ شمسی ── */
.kgd-pop{
  position:absolute; z-index:960; inset-block-start:calc(100% + 6px); inset-inline-start:0;
  min-width:266px; padding:var(--s3);
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--r); box-shadow:var(--e4);
}
.kgd-head{ display:flex; align-items:center; justify-content:space-between; margin-block-end:var(--s2); }
.kgd-ttl{ font-weight:800; font-size:14.5px; color:var(--g-800); }
.kgd-nav{
  width:32px; height:32px; border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--white); color:var(--g-700); cursor:pointer; font-size:17px; line-height:1;
}
.kgd-nav:hover{ background:var(--g-050); }
.kgd-dows{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-block-end:var(--s1); }
.kgd-dows i{ font-style:normal; font-size:11px; color:var(--muted); text-align:center; font-weight:700; }
.kgd-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.kgd-d{
  min-height:34px; border:none; border-radius:var(--r-xs);
  background:transparent; color:var(--ink); font:600 13.5px inherit; cursor:pointer;
}
.kgd-d:hover{ background:var(--g-050); }
.kgd-d.on{ background:var(--g-800); color:#fff; font-weight:800; }
.kgd-foot{ display:flex; gap:var(--s2); margin-block-start:var(--s3); padding-block-start:var(--s2);
  border-block-start:1px solid var(--line); }
.kgd-foot button{
  flex:1; min-height:34px; border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--white); font:700 12.5px inherit; color:var(--g-700); cursor:pointer;
}
.kgd-foot button:hover{ background:var(--g-050); }

/* تقویمِ آمادهٔ سایت (KGDate) وقتی داخلِ برنامه‌ریز باز می‌شود:
   همان هندسه و همان هدفِ لمسِ ۴۰px — بدونِ دست‌زدن به jdate.js */
.tp-wrap .kgd-pop{
  z-index:970;
  min-width:284px;
  border-radius:var(--r);
  box-shadow:var(--e4);
}
.tp-wrap .kgd-d{ min-height:40px; border-radius:var(--r-xs); }
.tp-wrap .kgd-d:hover{ background:var(--tp-acc-soft); }
.tp-wrap .kgd-d.on{ background:var(--tp-acc); color:var(--tp-acc-on); }
.tp-wrap .kgd-nav{ min-height:36px; border-color:var(--tp-line-2); color:var(--tp-acc); }
.tp-wrap .kgd-nav:hover{ background:var(--tp-acc-soft); }
.tp-wrap .kgd-foot button{ min-height:38px; border-color:var(--tp-line-2); color:var(--tp-acc); }

/* ════════════════════════════════════════════════════════════
   جعبهٔ جست‌وجوی صفحهٔ اصلی (js/hero-search.js)
   الگوی سایت‌های بزرگِ حمل‌ونقل: زبانه‌های خدمت + یک ردیفِ فرم + یک دکمه.
   هیچ رنگِ خامی — همه از متغیرهای سایت.
   ════════════════════════════════════════════════════════════ */

.hs-host{
  position:relative; z-index:20;
  max-width:1060px; margin-inline:auto;
  padding-inline:16px;
  margin-block-start:-58px;      /* روی لبهٔ پایینِ هیرو می‌نشیند */
}
@media(max-width:900px){ .hs-host{ margin-block-start:-28px; }}

.hs-boot{ height:96px; }

/* ── زبانه‌ها ── */
.hs-tabs{
  display:flex; gap:2px; overflow-x:auto; scrollbar-width:none;
  padding-inline:6px;
}
.hs-tabs::-webkit-scrollbar{ display:none; }
.hs-tab{
  display:inline-flex; align-items:center; gap:7px;
  flex:none; padding:11px 17px; border:none; cursor:pointer;
  border-radius:12px 12px 0 0;
  background:rgba(255,255,255,.82); color:#3d463f;
  font-family:inherit; font-size:13.5px; font-weight:700; white-space:nowrap;
  transition:background .18s, color .18s;
}
.hs-tab img{ opacity:.68; transition:opacity .18s; }
.hs-tab:hover{ background:rgba(255,255,255,.95); }
.hs-tab.on{ background:#fff; color:var(--green-deep, #8a6d16); }
.hs-tab.on img{ opacity:1; }
.hs-tab:focus-visible{ outline:2px solid var(--gold, #c9a227); outline-offset:-2px; }

/* ── کارتِ فرم ── */
.hs-card{
  background:#fff;
  border-radius:0 16px 16px 16px;
  box-shadow:0 22px 50px -24px rgba(11,61,46,.42), 0 2px 8px rgba(0,0,0,.06);
  padding:14px;
}
.hs-row{
  display:grid; gap:10px; align-items:end;
  grid-template-columns:1fr 38px 1fr 150px 92px 168px;
}
@media(max-width:1023px){
  .hs-row{ grid-template-columns:1fr 38px 1fr; }
  .hs-row .hs-date{ grid-column:1 / 3; }
  .hs-row .hs-pax{ grid-column:3; }
  .hs-row .hs-go{ grid-column:1 / -1; }}
@media(max-width:560px){
  .hs-row{ grid-template-columns:1fr 1fr; }
  .hs-row .hs-pt{ grid-column:1 / -1; }
  .hs-swap{ display:none; }
  .hs-row .hs-date{ grid-column:1; }
  .hs-row .hs-pax{ grid-column:2; }}

.hs-fld{ position:relative; display:flex; flex-direction:column; gap:5px; min-width:0; }
.hs-fld > span{ font-size:11.5px; font-weight:700; color:#6b6459; padding-inline-start:3px; }
.hs-fld input{
  width:100%; box-sizing:border-box;
  padding:12px 13px; border:1.5px solid #e4dcc4; border-radius:11px;
  background:#fdfcf8; color:#1b211d;
  font-family:inherit; font-size:14.5px; font-weight:600;
}
.hs-fld input::placeholder{ color:#a8a293; font-weight:500; }
.hs-fld input:focus{
  outline:none; border-color:var(--green-mid, #c9a227);
  background:#fff; box-shadow:0 0 0 3px rgba(201,162,39,.10);
}

.hs-swap{
  align-self:end; margin-block-end:5px;
  width:38px; height:44px; border:1.5px solid #e4dcc4; border-radius:11px;
  background:#fff; color:var(--green-mid, #c9a227);
  cursor:pointer; font-size:16px; line-height:1;
  transition:border-color .15s, background .15s;
}
.hs-swap:hover{ border-color:var(--green-mid, #c9a227); background:#f3f9f5; }
.hs-swap:focus-visible{ outline:2px solid var(--gold, #c9a227); outline-offset:2px; }

.hs-go{
  padding:13px 18px; border:none; border-radius:11px; cursor:pointer;
  background:linear-gradient(135deg,var(--gold, #c9a227),var(--gold-soft, #e6c866));
  color:#1b211d; font-family:inherit; font-weight:800; font-size:14.5px;
  transition:transform .15s, box-shadow .15s;
}
.hs-go:hover{ transform:translateY(-1px); box-shadow:0 10px 22px -10px rgba(201,162,39,.6); }
.hs-go:focus-visible{ outline:2px solid var(--green-deep, #8a6d16); outline-offset:2px; }

/* ── پیشنهادها ── */
.hs-sug{
  position:absolute; inset-inline:0; top:calc(100% + 6px); z-index:40;
  background:#fff; border:1px solid #e4dcc4; border-radius:12px;
  box-shadow:0 16px 36px -16px rgba(11,61,46,.35);
  overflow:hidden; max-height:262px; overflow-y:auto;
}
.hs-sug-i{
  display:block; width:100%; text-align:start;
  padding:11px 14px; border:none; background:#fff; cursor:pointer;
  font-family:inherit; font-size:14px; color:#1b211d;
  border-bottom:1px solid #f2eee2;
}
.hs-sug-i:last-child{ border-bottom:none; }
.hs-sug-i:hover, .hs-sug-i:focus-visible{ background:#f3f9f5; outline:none; }
.hs-sug-x{ padding:13px 14px; font-size:13px; color:#8a8371; }

/* ── نتیجه ── */
.hs-out{ min-height:0; }
.hs-hint{ display:block; padding:10px 4px 2px; font-size:12.5px; color:#8a8371; }

@media (prefers-reduced-motion: reduce){
  .hs-go:hover{ transform:none; }}
.hs-intro{
  max-width:1060px; margin:var(--s7) auto 0; padding-inline:16px;
  text-align:center;
}
.hs-intro-t{ margin:0 0 var(--s2); font-size:clamp(20px,2.4vw,26px); font-weight:800; color:var(--g-800); }
.hs-intro-l{ margin:0 auto; max-width:640px; font-size:15px; line-height:2; color:var(--ink-2); }
.hs-intro-p{
  list-style:none; padding:0; margin:var(--s5) 0 0;
  display:grid; gap:var(--s2) var(--s5);
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  text-align:start;
}
.hs-intro-p li{
  position:relative; padding-inline-start:var(--s5);
  font-size:13.5px; line-height:1.95; color:var(--ink-2);
}
.hs-intro-p li::before{
  content:"✓"; position:absolute; inset-inline-start:0;
  color:var(--g-600); font-weight:900;
}
.hs-way-b.on{ background:#fff; color:var(--green-deep, #8a6d16); box-shadow:0 1px 3px rgba(0,0,0,.08); }

.hs-note{
  margin:8px 4px 0; min-height:0; font-size:12px; font-weight:700; color:#8a6d12;
}
.hs-note:empty{ display:none; }

/* ردیفِ فرم با فیلدِ برگشت — ستونِ تازه بدونِ به‌هم‌ریختنِ تناسب */
@media(min-width:1024px){
  .hs-row:has(.hs-back){ grid-template-columns:1fr 38px 1fr 138px 138px 84px 150px; }}
@media(max-width:1023px){
  .hs-row .hs-back{ grid-column:3; }
  .hs-row:has(.hs-back) .hs-date:not(.hs-back){ grid-column:1 / 3; }}
@media(max-width:560px){
  .hs-row .hs-back{ grid-column:1 / -1; }}» در بریک‌پوینتِ ۱۰۲۳ نوشته شده بود
        ولی زیرِ ۵۶۰ گرید فقط دو ستون دارد؛ ستونِ سومِ خیالی ساخته می‌شد و
        کلِ کارت را بیرون می‌برد.
   ════════════════════════════════════════════════════════════ */
.hs-host{ width:100%; box-sizing:border-box; overflow-x:clip; }
.hs-card{ box-sizing:border-box; max-width:100%; }
.hs-row{ grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 150px 92px 168px; }

@media(max-width:1023px){
  .hs-row{ grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr); }}
@media(max-width:560px){
  .hs-row{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; }
  /* هر چیزی که در بریک‌پوینتِ بزرگ‌تر ستونِ ۳ گرفته بود، این‌جا تمام‌عرض */
  .hs-row .hs-back,
  .hs-row .hs-pt{ grid-column:1 / -1; }
  .hs-row .hs-date:not(.hs-back){ grid-column:1; }
  .hs-row .hs-pax{ grid-column:2; }
  .hs-row .hs-go{ grid-column:1 / -1; }
  .hs-card{ padding:12px; border-radius:14px; }
  .hs-fld input{ font-size:14px; }}

/* زبانه‌ها: به‌جای بیرون‌زدن، افقی اسکرول شوند */
.hs-tabs{ max-width:100%; overflow-x:auto; scrollbar-width:none; }
.hs-tab{ flex:0 0 auto; }

/* روی موبایل کارت گوشهٔ چپِ بالا هم گرد باشد، چون زبانه‌ها کامل بالایش نیستند */
@media(max-width:560px){ .hs-card{ border-radius:14px; }}

/* زبانه‌های خدمت در موبایل: اسکرولِ افقیِ نرم با لبهٔ محوشونده،
   به‌جای بیرون‌زدن از کادر. زبانهٔ فعال همیشه اول است تا دیده شود. */
@media (max-width:760px){
  .hs-tabs{
    display:flex; flex-wrap:nowrap;
    overflow-x:auto; overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    padding-inline:2px; gap:6px;
    mask-image:linear-gradient(to left, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  }
  .hs-tab{ scroll-snap-align:start; flex:0 0 auto; font-size:12.5px; padding:9px 13px; }
  .hs-tab img{ width:20px; height:20px; }}

/* ── اسلایدِ ویترینِ خدمت ──
   تصویرهای خدمت تصویرسازیِ روشن‌اند، نه عکسِ تیره. بدونِ پرده، متنِ هیرو
   رویشان خوانده نمی‌شود. این پرده تصویر را نگه می‌دارد ولی متن را برمی‌گرداند
   جلو. سمتِ راست (شروعِ خواندن در RTL) تیره‌تر است تا تیتر جا داشته باشد. */
.hero-slide.hs-art{
  background-size:cover; background-position:center 60%;
}
.hero-slide.hs-art::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to left, rgba(7,41,31,.90) 0%, rgba(7,41,31,.72) 42%, rgba(7,41,31,.46) 100%),
    linear-gradient(to top, rgba(7,41,31,.85) 0%, rgba(7,41,31,0) 55%);
  pointer-events:none;
}
@media (max-width:760px){
  .hero-slide.hs-art{ background-position:center 70%; }
  .hero-slide.hs-art::after{
    background:linear-gradient(to top, rgba(7,41,31,.92) 0%, rgba(7,41,31,.70) 60%, rgba(7,41,31,.55) 100%);
  }}

/* ── ردیفِ فرم: قدِ یکسان در هر دو حالت ──
   مشکل: فیلدِ «تاریخ رفت» بالایش انتخابگرِ یک‌طرفه/رفت‌وبرگشت دارد و فیلدِ
   «تاریخ برگشت» یک برچسبِ ساده؛ چون هر ستون قدِ محتوای خودش را می‌گیرد،
   با تعویضِ حالت ورودی‌ها بالا و پایین می‌پریدند و هم‌تراز نبودند.
   راهِ درست: سرِ همهٔ فیلدها یک ارتفاعِ ثابت بگیرد و ورودی‌ها ته ستون
   بچسبند — آن‌وقت هر تعداد ستون که باشد، همه در یک خط می‌مانند. */
.hs-row{ align-items:stretch; }
.hs-fld{ justify-content:flex-end; }
.hs-fld > span,
.hs-fld .hs-way{
  min-height:22px;
  display:flex; align-items:center;
  margin-block-end:5px;
}
.hs-fld .hs-way{ width:max-content; }
.hs-fld input{ height:46px; box-sizing:border-box; }
.hs-go{ height:46px; align-self:end; }
.hs-swap{ align-self:end; height:46px; }

/* دکمهٔ جست‌وجو هم‌قدِ ورودی‌ها بماند، نه کشیده به کلِ ستون */
.hs-row > .hs-go{ margin-block-start:auto; }

@media(max-width:560px){
  .hs-fld > span, .hs-fld .hs-way{ min-height:20px; }
  .hs-fld input, .hs-go{ height:44px; }}

/* ════════════════════════════════════════════════════════════
   جعبهٔ جست‌وجو — بازطراحیِ تمیز مثلِ علی‌بابا
   ------------------------------------------------------------
   · دراپ‌داونِ نوعِ سفر گوشهٔ بالا، پیش‌فرض بسته
   · همهٔ فیلدها هم‌قد و در یک خط (grid با ارتفاعِ یکسان)
   · تاریخِ برگشت در حالتِ یک‌طرفه غیرفعال و کم‌رنگ
   ════════════════════════════════════════════════════════════ */

/* نوارِ بالا: دراپ‌داون در گوشه */
.hs-cardtop{ display:flex; justify-content:flex-start; margin-block-end:12px; }
.hs-trip{ position:relative; }
.hs-trip-btn{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--g-050,#f6f6f7); border:1.5px solid var(--line,#e3ddcd);
  border-radius:9px; padding:8px 14px; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:700; color:var(--g-800, #8a6d16);
}
.hs-trip-btn:hover{ border-color:var(--gold, #c9a227); }
.hs-trip-car{ font-size:10px; transition:transform .2s; }
.hs-trip[data-open="1"] .hs-trip-car{ transform:rotate(180deg); }

/* منو — پیش‌فرض بسته؛ فقط وقتی data-open=1 دیده می‌شود */
.hs-trip-menu{
  position:absolute; inset-block-start:calc(100% + 6px); inset-inline-start:0;
  min-width:160px; z-index:30;
  background:#fff; border:1.5px solid var(--line,#e3ddcd); border-radius:11px;
  box-shadow:0 14px 34px -14px rgba(11,61,46,.4);
  padding:5px; display:none;
}
.hs-trip[data-open="1"] .hs-trip-menu{ display:block; }
.hs-trip-menu button{
  display:block; width:100%; text-align:start;
  background:transparent; border:none; border-radius:8px;
  padding:9px 12px; cursor:pointer;
  font-family:inherit; font-size:13.5px; font-weight:600; color:var(--ink,#16211c);
}
.hs-trip-menu button:hover{ background:var(--g-050,#f6f6f7); }
.hs-trip-menu button[aria-checked="true"]{
  background:var(--g-050,#f6f6f7); color:var(--g-800, #8a6d16); font-weight:800;
}
.hs-trip-menu button[aria-checked="true"]::before{ content:"✓ "; color:var(--gold, #c9a227); }

/* ردیفِ فیلدها — همه هم‌قد، در یک خط.
   ستون‌ها: مبدأ | swap | مقصد | تاریخ‌رفت | تاریخ‌برگشت | نفرات | دکمه */
.hs-row{
  display:grid; gap:10px; align-items:end;
  grid-template-columns:minmax(0,1.3fr) 40px minmax(0,1.3fr) 128px 128px 78px 130px;
}
.hs-fld{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.hs-fld > span{
  font-size:12px; font-weight:700; color:var(--muted,#6b7873);
  height:16px; line-height:16px; padding-inline-start:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hs-fld input{
  height:46px; box-sizing:border-box; width:100%;
  border:1.5px solid var(--line,#e3ddcd); border-radius:10px;
  padding:0 13px; font-family:inherit; font-size:16px; background:#fff;
  /* رنگ عمداً سفت است، نه متغیر: پس‌زمینه‌اش #fff سفت است و اگر رنگِ متن
     متغیر بماند، در حالتِ شب روشن می‌شود و روی سفید ناپدید. ۱۶ پیکسل هم
     برای این است که سافاریِ آیفون هنگامِ تایپ صفحه را زوم نکند. */
  color:#16211c;
}
.hs-fld input:focus{ outline:none; border-color:var(--gold, #c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.14); }
.hs-fld input::placeholder{ color:#a8a293; }

/* دکمهٔ جابه‌جایی هم‌قدِ ورودی‌ها، پایین‌چین */
.hs-swap{
  align-self:end; height:46px; width:40px;
  border:1.5px solid var(--line,#e3ddcd); border-radius:10px;
  background:#fff; cursor:pointer; color:var(--g-700,#3d3d3d); font-size:17px;
}
.hs-swap:hover{ border-color:var(--gold, #c9a227); color:var(--gold, #c9a227); }

/* تاریخِ برگشت غیرفعال در یک‌طرفه */
.hs-fld.is-off input,
.hs-fld input:disabled{
  background:var(--paper-2,#f7f4ec); color:#b3aea1; cursor:not-allowed; border-style:dashed;
}
.hs-fld.is-off > span{ opacity:.6; }

/* دکمهٔ جست‌وجو — هم‌قدِ ردیف، طلایی */
.hs-go{
  align-self:end; height:46px; border:none; border-radius:10px; cursor:pointer;
  font-family:inherit; font-weight:800; font-size:14.5px; color:#1b211d;
  background:linear-gradient(135deg,var(--gold, #c9a227),var(--gold-400, #e6c866));
  white-space:nowrap; padding-inline:8px;
}
.hs-go:hover{ filter:brightness(1.04); }

/* موبایل: فیلدها زیرِ هم، دو ستونه */
@media(max-width:820px){
  .hs-row{ grid-template-columns:1fr 1fr; }
  .hs-swap{ display:none; }
  .hs-fld.hs-pt{ grid-column:1 / -1; }
  .hs-go{ grid-column:1 / -1; }}

/* ════════════════════════════════════════════════════════════
   جعبهٔ جست‌وجو — تراز نهاییِ قاطع
   ------------------------------------------------------------
   چند بلوکِ قدیمیِ .hs-fld در فایل با هم تناقض داشتند و فیلدها را
   بالا-پایین می‌کردند. این بلوک با پیشوندِ .hs (اولویتِ بالاتر) و در
   انتهای فایل، همه را یک‌بار برای همیشه هم‌تراز می‌کند.
   ════════════════════════════════════════════════════════════ */
.hs .hs-row{
  display:grid; align-items:end; gap:10px;
  grid-template-columns:minmax(0,1.25fr) 40px minmax(0,1.25fr) 122px 122px 74px 128px;
}
.hs .hs-fld{
  display:flex; flex-direction:column; justify-content:flex-end;
  gap:6px; min-width:0; margin:0;
}
.hs .hs-fld > span{
  display:block; height:17px; line-height:17px; margin:0;
  font-size:12px; font-weight:700; color:var(--muted,#6b7873);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hs .hs-fld input{
  height:48px; box-sizing:border-box; width:100%; margin:0;
  border:1.5px solid var(--line,#e3ddcd); border-radius:10px;
  padding:0 13px; font-family:inherit; font-size:14px; background:#fff;
}
.hs .hs-swap{ align-self:end; height:48px; margin:0; }
.hs .hs-go{ align-self:end; height:48px; margin:0; }
/* برچسبِ swap ندارد ولی باید هم‌ردیفِ ورودی‌ها بایستد؛ فضای برچسب را می‌گیرد */
.hs .hs-row > .hs-swap::before{ content:none; }

@media(max-width:820px){
  .hs .hs-row{ grid-template-columns:1fr 1fr; }
  .hs .hs-row > .hs-swap{ display:none; }
  .hs .hs-fld.hs-pt{ grid-column:1 / -1; }
  .hs .hs-go{ grid-column:1 / -1; }}

/* ══════════════════════════════════════════════════════════════════════
   فرمِ رزروِ صفحهٔ اصلی — رفعِ سرریزِ موبایل + مودالِ تأیید (۱۴۰۵/۰۵)
   ══════════════════════════════════════════════════════════════════════ */
/* موبایل: هر فیلد یک ردیفِ کامل، بی‌سرریز؛ برچسب‌ها بریده نشوند */
@media(max-width:820px){
  .hs .hs-row{
    display:grid !important; grid-template-columns:1fr 1fr !important;
    gap:10px !important; align-items:end !important;
  }
  .hs .hs-fld{ min-width:0 !important; }
  .hs .hs-fld input{ width:100% !important; box-sizing:border-box !important; }
  .hs .hs-pt{ grid-column:1 / -1 !important; }          /* مبدأ/مقصد تمام‌عرض */
  .hs .hs-swap{ display:none !important; }               /* دکمهٔ جابه‌جایی در موبایل حذف */
  .hs .hs-date{ grid-column:span 1 !important; }
  .hs .hs-pax{ grid-column:span 1 !important; }
  .hs .hs-go{ grid-column:1 / -1 !important; width:100% !important; }}
@media(max-width:460px){
  .hs .hs-row{ grid-template-columns:1fr !important; }
  .hs .hs-date, .hs .hs-pax{ grid-column:1 / -1 !important; }}
.hs-hint-err{ color:#c0392b !important; font-weight:700; }

/* ── مودالِ تأیید و ثبت ── */
:root.hs-modal-open{ overflow:hidden; }
.hs-modal{ position:fixed; inset:0; z-index:4000; display:flex; align-items:center; justify-content:center;
  padding:16px; }
.hs-m-back{ position:absolute; inset:0; background:rgba(15,20,18,.55); backdrop-filter:blur(2px); }
.hs-m-box{ position:relative; z-index:1; width:100%; max-width:440px; background:#fff; border:1px solid var(--line);
  border-radius:18px; box-shadow:0 40px 80px -24px rgba(0,0,0,.5); padding:22px 22px 24px;
  max-height:92vh; overflow:auto; opacity:1; animation:hsMIn .22s ease; }
.hs-m-x{ position:absolute; inset-inline-end:14px; top:12px; width:34px; height:34px; border:none;
  background:#f2f2f2; border-radius:50%; font-size:22px; line-height:1; color:#555; cursor:pointer; }
.hs-m-x:hover{ background:#e6e6e6; color:#000; }
.hs-m-t{ font-size:19px !important; font-weight:900; margin:2px 30px 16px 0; color:#1b1b1b !important; }
.hs-m-sum{ background:#f6f6f7; border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin-bottom:16px; }
.hs-m-sum-h{ display:block; font-size:12px; color:#888; font-weight:700; margin-bottom:6px; }
.hs-m-sum-b{ display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-size:14px; color:#333; }
.hs-m-sum-b b{ color:#1b1b1b; font-weight:800; }
.hs-m-f{ display:block; margin-bottom:13px; }
.hs-m-f > span{ display:block; font-size:13px; font-weight:700; color:#444; margin-bottom:6px; }
.hs-m-f input{ width:100%; box-sizing:border-box; height:48px; border:1px solid var(--line); border-radius:12px;
  padding:0 14px; font-size:15px; font-family:inherit; background:#fff; color:#1b1b1b; transition:border-color .15s; }
.hs-m-f input:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,162,39,.15); }
.hs-m-info{ font-size:14px; color:#444; margin:0 0 12px; }
.hs-m-info b{ color:#1b1b1b; }
.hs-m-err{ min-height:18px; color:#c0392b; font-size:13px; font-weight:700; margin:2px 0 10px; }
.hs-m-go{ display:block; width:100%; box-sizing:border-box; text-align:center; height:50px; line-height:50px;
  border:none; border-radius:12px; font-family:inherit; font-size:16px; font-weight:800; cursor:pointer;
  color:#1b1508; text-decoration:none;
  background:linear-gradient(135deg,var(--gold),var(--gold-400)); transition:filter .15s; }
.hs-m-go:hover{ filter:brightness(1.05); }
.hs-m-go:disabled{ opacity:.6; cursor:default; }
.hs-m-row2{ display:flex; justify-content:space-between; margin-top:12px; }
.hs-m-link{ background:none; border:none; color:var(--green-deep, #8a6d16); font-family:inherit; font-size:13.5px; font-weight:700;
  cursor:pointer; padding:4px; }
.hs-m-link:hover{ text-decoration:underline; }
.hs-m-done{ text-align:center; padding:6px 0 2px; }
.hs-m-check{ width:64px; height:64px; margin:4px auto 14px; border-radius:50%; background:#faf6e8;
  color:var(--gold, #c9a227); font-size:34px; line-height:64px; font-weight:900; }
.hs-m-code{ display:inline-flex; align-items:center; gap:10px; background:#f6f6f7; border:1px dashed var(--gold);
  border-radius:12px; padding:12px 18px; margin:6px 0 14px; }
.hs-m-code span{ font-size:13px; color:#777; font-weight:700; }
.hs-m-code b{ font-size:22px; font-weight:900; color:#1b1b1b; letter-spacing:1px; }
.hs-m-done p{ color:#555; font-size:14px; margin:0 0 18px; line-height:1.8; }

/* ═══ تب‌های ویجتِ رزرو: گزینهٔ انتخاب‌شده کاملاً مشخص باشد ═══ */
.hs .hs-tab{ transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .12s ease; }
.hs .hs-tab:active{ transform:scale(.96); }
.hs .hs-tab.on,
.hs .hs-tab[aria-selected="true"]{
  background:linear-gradient(135deg,#f0d685,var(--gold, #c9a227)) !important;
  color:#1b1508 !important;
  font-weight:800 !important;
  box-shadow:0 10px 22px -10px rgba(201,162,39,.65), inset 0 1px 0 rgba(255,255,255,.4) !important;
  border-color:transparent !important;
}
.hs .hs-tab.on img, .hs .hs-tab[aria-selected="true"] img{ filter:brightness(.2); }

/* ═══════════════════════════════════════════════════════════════
   ویجتِ رزروِ صفحهٔ اصلی — نسخهٔ چندمسیره (۱۴۰۵/۰۵/۱۰)
   هر مسیر یک کارتِ مستقلِ مرزدار است، شمارندهٔ وسیله یک کنترلِ
   پیل‌شکل با آیکونِ همان وسیله، و برآوردِ قیمت کارتِ جدا با نوارِ طلایی.
   ═══════════════════════════════════════════════════════════════ */

/* ── کارتِ هر مسیر: مرزِ پررنگ و کاملاً مشخص ── */
.hs .hs-legs{ display:flex; flex-direction:column; gap:14px; }
.hs .hs-leg{
  background:#fcfaf5; border:2px solid #cfc4a8; border-radius:14px;
  padding:13px 14px 14px; position:relative;
  box-shadow:0 1px 0 #fff inset, 0 2px 8px rgba(60,50,20,.06);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.hs .hs-leg:focus-within{ border-color:var(--gold, #c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.18); }
/* در حالتِ یک‌طرفه، کارتِ تکی قابِ اضافه نگیرد (کارتِ بیرونی کافی است) */
.hs .hs-legs:has(> .hs-leg:only-child) > .hs-leg{
  background:transparent; border:0; padding:0; box-shadow:none;
}
.hs .hs-leg-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:8px; margin:0 0 11px; padding-bottom:9px;
  border-bottom:2px solid #e2d8bf;
}
.hs .hs-leg-n{
  font-size:12.5px; font-weight:900; color:#5f4a0c; letter-spacing:0;
  background:linear-gradient(135deg,#f3e3ae,#e8d190);
  border:1.5px solid var(--gold, #c9a227); border-radius:999px; padding:4px 13px;
}

/* ── فیلدهای داخلِ هر بلوک: کادرِ مشخص، نه لبهٔ محو ── */
.hs .hs-fld > input,
.hs .hs-fld input[type="text"],
.hs .hs-fld input[type="time"]{
  border:1.5px solid #cfc4a8 !important;
  background:#fff !important;
  border-radius:10px !important;
}
.hs .hs-fld > input:focus,
.hs .hs-fld input:focus{
  border-color:var(--gold, #c9a227) !important;
  box-shadow:0 0 0 3px rgba(201,162,39,.15) !important;
  outline:none !important;
}
.hs .hs-fld > span{ color:#5b5449; font-weight:800; }
.hs .hs-swap{
  border:1.5px solid #cfc4a8 !important; background:#fff !important;
  color:var(--green-deep, #8a6d16) !important; border-radius:10px !important;
}
.hs .hs-swap:hover{ background:var(--gold, #c9a227) !important; color:#fff !important; border-color:var(--gold, #c9a227) !important; }
/* خودِ کارتِ ویجت هم مرزِ روشن‌تری بگیرد */
.hs .hs-card{ border:2px solid #d5cbb3 !important; }
.hs .hs-trip-btn{ border:1.5px solid #cfc4a8 !important; background:#fff !important; border-radius:10px !important; }
.hs .hs-leg-x{
  width:28px; height:28px; border-radius:9px; cursor:pointer;
  border:1.5px solid #eddcdc; background:#fdf6f6; color:#a33;
  font-size:14px; font-weight:800; line-height:1; transition:.15s;
}
.hs .hs-leg-x:hover{ background:#a33; border-color:#a33; color:#fff; }

/* ── ساعتِ هر مسیر ── */
.hs .hs-time input{
  font-variant-numeric:tabular-nums; letter-spacing:.5px;
}

/* ── دکمهٔ افزودنِ مسیر ── */
.hs .hs-addleg{
  display:block; width:100%; margin-top:12px; cursor:pointer;
  padding:12px 16px; border-radius:13px;
  border:1.5px dashed #d8c98a; background:#fdfaf2;
  color:var(--green-deep, #8a6d16); font-family:inherit; font-weight:800; font-size:13.5px;
  transition:background .16s ease, border-color .16s ease, color .16s ease;
}
.hs .hs-addleg:hover{ background:#f7edcf; border-color:var(--gold, #c9a227); color:#6b5410; }
.hs .hs-addleg:active{ transform:scale(.99); }

/* ── نوارِ پایین: شمارندهٔ وسیله + دکمهٔ ثبت ── */
.hs .hs-foot{
  display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap;
  margin-top:14px; padding-top:14px; border-top:1.5px solid #efe9db;
}

/* شمارندهٔ وسیله — برچسب کنارِ خودِ کنترل، جمع‌وجور و هم‌ردیفِ دکمهٔ ثبت */
.hs .hs-units{
  display:inline-flex; align-items:center; gap:9px; flex-wrap:nowrap;
  background:#fcfaf5; border:2px solid #cfc4a8; border-radius:13px;
  padding:6px 12px 6px 6px; height:52px; box-sizing:border-box;
}
.hs .hs-units-l{
  font-size:13px; font-weight:800; color:#4a443a; white-space:nowrap;
}
.hs .hs-step{
  display:inline-flex; align-items:stretch; height:38px;
  background:#fff; border:1.5px solid #cfc4a8; border-radius:10px;
  overflow:hidden;
}
.hs .hs-step-b{
  width:34px; border:0; cursor:pointer; background:#f6f1e4; color:var(--green-deep, #8a6d16);
  font:900 18px/1 inherit; transition:background .14s ease, color .14s ease;
}
.hs .hs-step-b:hover:not(:disabled){ background:var(--gold, #c9a227); color:#fff; }
.hs .hs-step-b:disabled{ opacity:.35; cursor:default; }
.hs .hs-step-v{
  display:flex; align-items:center; gap:5px; padding:0 8px;
  border-inline:1.5px solid #e2d8bf; justify-content:center;
}
.hs .hs-step-v img{ width:19px; height:19px; opacity:.85; flex:none; }
.hs .hs-step-v input{
  width:26px; border:0; background:transparent; text-align:center; padding:0;
  font:900 17px/1 inherit; color:#1b1b1b; font-variant-numeric:tabular-nums;
}
.hs .hs-step-v input:focus{ outline:none; }
.hs .hs-step-v.is-bump{ animation:hsBump .26s ease; }
.hs .hs-foot .hs-go{ flex:1; min-width:180px; height:52px; }

/* ── کارتِ برآوردِ قیمت ── */
.hs .hs-quote.is-on{ margin-top:12px; }
.hs .hs-q{
  background:linear-gradient(180deg,#fffdf7,#fbf6e8);
  border:1.5px solid #e4d3a0; border-radius:15px;
  padding:13px 15px 14px; box-shadow:0 3px 14px rgba(201,162,39,.10);
}
.hs .hs-q-h{
  font-size:12.5px; font-weight:900; color:var(--green-deep, #8a6d16);
  padding-bottom:9px; margin-bottom:4px; border-bottom:1px dashed #e4d3a0;
}
.hs .hs-q-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:8px 0; border-bottom:1px solid rgba(228,211,160,.42);
  font-size:13px; color:#3b3416;
}
.hs .hs-q-row:last-of-type{ border-bottom:0; }
.hs .hs-q-leg{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; min-width:0; }
.hs .hs-q-leg b{
  width:20px; height:20px; border-radius:50%; flex:none;
  background:var(--gold, #c9a227); color:#fff; font-size:11px; font-weight:900;
  display:inline-flex; align-items:center; justify-content:center;
}
.hs .hs-q-when{ font-style:normal; font-size:11.5px; color:#8a7c4e; }
.hs .hs-q-p{ font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; }
.hs .hs-q-p u{ text-decoration:none; font-size:11.5px; font-weight:700; opacity:.75; }
.hs .hs-q-p em{ font-style:normal; font-size:12px; font-weight:700; color:#8a7c4e; }
.hs .hs-q-mul{ color:#8a7c4e; font-size:12.5px; }
.hs .hs-q-sum{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:10px; padding-top:11px; border-top:1.5px solid #e4d3a0;
  font-size:13.5px; font-weight:800; color:#3b3416;
}
.hs .hs-q-sum b{ font-size:22px; color:#a9821c; font-variant-numeric:tabular-nums; }

/* خلاصهٔ مودال: جمعِ کل برجسته */
.hs-m-sum .hs-m-tot{ color:var(--green-deep, #8a6d16); font-weight:800; }
.hs-m-sum .hs-m-tot b{ font-size:16px; color:#a9821c; }

/* ── موبایل ── */
@media(max-width:640px){
  .hs .hs-foot{ gap:11px; }
  .hs .hs-units{ width:100%; justify-content:space-between; height:50px; }
  .hs .hs-foot .hs-go{ width:100%; min-width:0; height:50px; }
  .hs .hs-leg{ padding:12px 11px 12px; }}

/* ═══ انتخابِ مدلِ وسیله — کارتِ عکس‌دار با قیمتِ همان مدل ═══
   جای فهرستِ کشویی را گرفت: زائر خودِ خودرو را می‌بیند و قیمتِ همان مدل
   برای همان برنامهٔ سفر روی کارت نوشته است. عکس‌ها و قیمت از CMS می‌آیند. */
/* ═══ انتخابِ مدلِ وسیله — یک «گزینهٔ فرم»، نه یک گالری ═══
   قبلاً کارت‌های بزرگِ عکس‌دار بودند و بخشِ اصلیِ فرم را می‌بلعیدند. حالا یک
   ردیفِ فشرده‌ی چیپ‌مانند است: عکسِ کوچک + نام + قیمت. خواندنی می‌مانَد،
   معلوم است که «انتخاب‌کردنی» است، ولی صفحه را شلوغ نمی‌کند.
   روی صفحهٔ باریک به‌جای شکستن، افقی اسکرول می‌شود. */
.hs .hs-models{ margin:4px 0 0; }
.hs .hs-models-h{
  font-size:12px; font-weight:800; color:#7a7364; margin:0 2px 7px;
}
.hs .hs-models-g{
  display:flex; gap:8px; overflow-x:auto; padding:2px 2px 6px;
  scrollbar-width:thin; scroll-snap-type:x proximity;
}
.hs .hs-models-g::-webkit-scrollbar{ height:6px; }
.hs .hs-models-g::-webkit-scrollbar-thumb{ background:#ddd5c0; border-radius:6px; }
.hs .hs-car{
  flex:0 0 auto; scroll-snap-align:start;
  display:flex; align-items:center; gap:9px; text-align:start; cursor:pointer;
  padding:7px 12px 7px 8px; background:#fff; border:1.5px solid #e3ddcd; border-radius:12px;
  font-family:inherit; transition:border-color .16s, box-shadow .16s, background .16s;
  max-width:250px;
}
.hs .hs-car:hover{ border-color:var(--gold, #c9a227); background:#fffdf6; }
.hs .hs-car.on{
  border-color:var(--gold, #c9a227); background:#fdf8ea;
  box-shadow:0 0 0 2px rgba(201,162,39,.22);
}
.hs .hs-car-i{
  position:relative; flex:none; width:54px; height:40px; border-radius:8px;
  overflow:hidden; background:#f4f1e8; display:flex; align-items:center; justify-content:center;
}
.hs .hs-car-i img{ width:100%; height:100%; object-fit:cover; display:block; }
.hs .hs-car-noi{ font-size:18px; color:#c2b998; }
.hs .hs-car-noi img{ width:22px; height:22px; object-fit:contain; opacity:.5; }
/* دکمهٔ «دیدنِ عکس‌ها» — ریز و گوشهٔ خودِ بندانگشتی */
.hs .hs-car-n{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.45); color:#fff; font-size:13px; font-style:normal;
  opacity:0; transition:opacity .16s; cursor:zoom-in;
}
.hs .hs-car-n b{ display:none; }
.hs .hs-car-i:hover .hs-car-n{ opacity:1; }
.hs .hs-car-b{ display:block; min-width:0; }
.hs .hs-car-t{
  display:block; font-size:12.5px; font-weight:800; color:#1b1b1b; line-height:1.5;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:150px;
}
.hs .hs-car-s{
  display:inline-block; font-style:normal; font-size:10.5px; font-weight:700;
  color:#8a8371; margin-top:1px;
}
/* توضیحِ بلندِ مدل در حالتِ فشرده جا ندارد — روی هاور در تیتر می‌آید */
.hs .hs-car-d{ display:none; }
.hs .hs-car-p{
  display:block; margin-top:2px; font-size:13px; font-weight:900; color:#8a6d0c;
  direction:ltr; text-align:start;
}
.hs .hs-car-p u{ text-decoration:none; font-size:10px; font-weight:800; color:#a89a6a; }
.hs .hs-car-p em{ font-style:normal; font-size:10.5px; font-weight:700; color:#a09781; }
.hs .hs-q-car{
  font-style:normal; font-size:11.5px; font-weight:800; color:#8a6d0c;
  background:#faf4e2; border-radius:20px; padding:2px 9px; margin-inline-start:8px;
}
@media(max-width:640px){
  .hs .hs-car{ padding:6px 10px 6px 7px; max-width:210px; }
  .hs .hs-car-i{ width:46px; height:34px; }
  .hs .hs-car-t{ max-width:120px; font-size:12px; }
  /* روی لمسی هاور نیست: دکمهٔ عکس همیشه کم‌رنگ دیده شود */
  .hs .hs-car-n{ opacity:.85; background:rgba(0,0,0,.3); font-size:11px; }}

/* ═══ بیمهٔ مسافرتی در گامِ تأییدِ سفارش ═══ */
.hs-m-insw{ margin:12px 0 4px; }
.hs-m-ins{
  display:flex; align-items:flex-start; gap:10px; cursor:pointer;
  padding:12px 13px; border:1.5px solid #e3ddcd; border-radius:13px; background:#fbf9f3;
  transition:border-color .18s, background .18s;
}
.hs-m-ins:hover{ border-color:var(--gold, #c9a227); }
.hs-m-ins.on{ border-color:var(--gold, #c9a227); background:#fdf8ea; }
.hs-m-ins input{ width:19px; height:19px; margin-top:2px; accent-color:var(--gold, #c9a227); flex:none; }
.hs-m-ins-b{ flex:1; min-width:0; }
.hs-m-ins-b b{ display:block; font-size:13.5px; font-weight:800; color:#1b1b1b; }
/* ⚠ ۲۰۲۶-۰۸-۲۳ — «اختیاری» باید در همان نگاهِ اول خوانده شود، وگرنه یک
   تیک کنارِ قیمت در فرمی که بقیه‌اش اجباری است «هزینهٔ پنهان» خوانده
   می‌شود. پس نشانِ رنگی، نه متنِ کم‌رنگ. */
.hs-ins-opt{
  display:inline-block; margin-inline-start:7px; vertical-align:1px;
  padding:2px 8px; border-radius:999px;
  background:rgba(201,162,39,.16); border:1px solid rgba(201,162,39,.42);
  color:#7d6110; font-style:normal; font-size:11px; font-weight:800; line-height:1.7;
}
.hs-m-ins-b i{ display:block; font-style:normal; font-size:11.5px; color:#7a7364; line-height:1.8; margin-top:3px; }
.hs-m-ins-p{
  flex:none; font-size:12px; font-weight:800; color:#8a6d0c;
  background:#f4ecd6; border-radius:20px; padding:4px 10px; white-space:nowrap;
}
.hs-m-insr{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-top:9px; padding:10px 13px; border-radius:12px; background:#f4f1e8;
}
.hs-m-insr > span{ font-size:12.5px; font-weight:800; color:#5c564a; }
.hs-m-insr .hs-step{
  display:flex; align-items:center; background:#fff; border:1.5px solid #cfc4a8; border-radius:10px;
  overflow:hidden; height:38px;
}
.hs-m-insr .hs-step-b{
  width:34px; height:100%; border:none; background:transparent; cursor:pointer;
  font-size:17px; font-weight:800; color:#5c564a;
}
.hs-m-insr .hs-step-b:disabled{ opacity:.35; cursor:default; }
.hs-m-insr .hs-step-v{ display:flex; align-items:center; padding:0 4px; }
.hs-m-insr .hs-step-v input{
  width:46px; border:none; text-align:center; font-family:inherit;
  font-size:14px; font-weight:800; background:transparent; color:#1b1b1b;
}
.hs-m-insr .hs-step-v input:focus{ outline:none; }
.hs-m-inssum{
  margin-inline-start:auto; font-size:14.5px; font-weight:900; color:#8a6d0c; direction:ltr;
}

/* لینکِ «برنامهٔ چندروزه» زیرِ ویجت: قبلاً سفید بود (برای زمینهٔ تیرهٔ هیرو) و
   حالا که کارت پایین‌تر از هیرو می‌نشیند، روی زمینهٔ روشن ناخوانا و چسبیده به
   تیترِ بعدی می‌افتاد. حالا یک دکمهٔ کوچکِ مرزدار است با فاصلهٔ کافی. */
.hs .hs-plan{
  display:inline-flex; align-items:center; gap:6px;
  margin:16px auto 4px; padding:9px 18px;
  background:#fff; border:1.5px solid #d8c98a; border-radius:999px;
  color:var(--green-deep, #8a6d16) !important; text-shadow:none !important;
  font-size:13px; font-weight:800;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  transition:background .16s ease, border-color .16s ease;
}
.hs .hs-plan{ align-self:center; }
.hs .hs-plan:hover{ background:#f7edcf; border-color:var(--gold, #c9a227); color:#6b5410 !important; }
.hs-host{ padding-bottom:18px; }

/* ── ساعتِ حرکت (فقط ساعتِ کامل، ۲۴ساعته) ── */
.hs .hs-time-s{
  height:46px; border:1.5px solid #cfc4a8; border-radius:10px; background:#fff;
  font-family:inherit; font-size:13px; font-weight:700; color:#1b1b1b;
  padding:0 8px; width:100%; box-sizing:border-box; cursor:pointer;
}
.hs .hs-time-s:focus{ outline:none; border-color:var(--gold, #c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.15); }

/* ── جملهٔ خوانا زیرِ هر مسیر: «پنجشنبه ۲۵ شهریور ۱۴۰۵ — ساعتِ ۳ عصر» ── */
.hs .hs-when{
  margin-top:11px; padding:9px 12px; border-radius:10px;
  background:#f7f2e2; border:1px dashed #dcc98f;
  font-size:12.5px; font-weight:700; color:#6b5410; line-height:1.9;
}

/* ── مسیرِ ایرادکرده هنگامِ ثبت ── */
.hs .hs-leg.is-bad{
  border-color:#c0392b !important;
  box-shadow:0 0 0 3px rgba(192,57,43,.14) !important;
  animation:hsShake .32s ease;
}

/* ── گامِ «تأییدِ برنامه» در پنجرهٔ ثبت ── */
.hs-m-note{
  margin:12px 0 4px; padding:11px 13px; border-radius:11px;
  background:#faf7ef; border:1px solid #e2dac8;
  font-size:12.5px; line-height:2; color:#4a443a;
}
.hs-m-spin{
  width:26px; height:26px; margin:12px auto 0; border-radius:50%;
  border:3px solid #eee3c4; border-top-color:var(--gold, #c9a227);
  animation:hsSpin .8s linear infinite;
}

/* خلاصهٔ برنامه در پنجرهٔ تأیید: هر سطر جدا، جمعِ کل برجسته */
.hs-m-sum .hs-m-sum-b{ display:flex; flex-direction:column; gap:6px; align-items:stretch; }
.hs-m-sum .hs-m-sum-b > span{ display:block; font-size:13px; line-height:1.95; color:#3b3416; }
.hs-m-sum .hs-m-sum-b > b{ font-size:14px; color:var(--green-deep, #8a6d16); }
.hs-m-sum .hs-m-tot{
  margin-top:6px; padding-top:8px; border-top:1px dashed #e0cf8f;
  font-size:13.5px !important;
}

/* ── زیرگزینهٔ اتوبوس: دربستِ عراق / کاپوتاژ ── */
.hs .hs-kinds{ display:flex; gap:9px; flex-wrap:wrap; margin:0 0 9px; }
.hs .hs-kind{
  flex:1; min-width:180px; cursor:pointer; padding:11px 14px; border-radius:12px;
  border:1.8px solid #cfc4a8; background:#fff; color:#3b3416;
  font-family:inherit; font-weight:800; font-size:13.5px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:background .16s ease, border-color .16s ease, color .16s ease, transform .1s ease;
}
.hs .hs-kind:hover{ border-color:var(--gold, #c9a227); }
.hs .hs-kind:active{ transform:scale(.99); }
.hs .hs-kind.on{
  background:linear-gradient(135deg,#f0d685,var(--gold, #c9a227));
  border-color:#a9861c; color:#1b1508;
  box-shadow:0 6px 16px -8px rgba(201,162,39,.65);
}
.hs .hs-kind-note{
  margin:0 0 13px; padding:10px 13px; border-radius:11px;
  background:#faf7ef; border:1px solid #e2dac8;
  font-size:12.5px; line-height:2; color:#4a443a;
}
.kg-reserve-embed .hs-plan{ margin-bottom:0; }

/* ماژولِ رزروِ جاسازی‌شده: قابِ مخصوصِ هدر (منفیِ margin و پس‌زمینهٔ تیره)
   نباید داخلِ متنِ صفحه اعمال شود. */
.kg-reserve-embed.hs-host{
  margin-block-start:0; padding-inline:20px;
  background:linear-gradient(180deg,#f6f2e6,#efe9d8);
}
@media(max-width:900px){ .kg-reserve-embed.hs-host{ margin-block-start:0; }}
@media(max-width:640px){ .kg-reserve-embed.hs-host{ padding-inline:12px; }}

/* برجسته‌شدنِ ویجت وقتی کاربر از صفحهٔ معرفیِ خودرو می‌آید */
.hs-host.is-picked .hs-card{
  box-shadow:0 0 0 3px rgba(201,162,39,.55), 0 18px 40px -18px rgba(201,162,39,.5);
  transition:box-shadow .3s ease;
}

/* کادرِ توضیحِ هر مسیر در فرمِ رزرو */
.hs .hs-note{ display:block; margin-top:10px; }
.hs .hs-note > span{
  display:block; font-size:11.5px; font-weight:800; color:#6b5410; margin-bottom:5px;
}
.hs .hs-note textarea{
  width:100%; box-sizing:border-box; resize:vertical; min-height:44px;
  padding:9px 12px; border:1.5px solid #cfc4a8; border-radius:10px;
  font-family:inherit; font-size:13px; line-height:1.9; color:#1b1b1b; background:#fff;
}
.hs .hs-note textarea:focus{
  outline:none; border-color:var(--gold, #c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.15);
}
.hs .hs-note textarea::placeholder{ color:#a89f88; font-size:12px; }

/* نشانهٔ فیلدِ الزامی در فرمِ رزرو */
.hs .hs-req{ color:#c0392b; font-style:normal; font-weight:900; margin-inline-start:2px; }

/* ═══ زیارتِ کامل: مرزها و بسته‌ها ═══ */
.hs .hs-ziy{ margin:0 0 12px; }
.hs .hs-ziy-row{ display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.hs .hs-brd{ flex:1; min-width:190px; }
.hs .hs-brd select{
  width:100%; height:46px; box-sizing:border-box; padding:0 10px;
  border:1.5px solid #cfc4a8; border-radius:10px; background:#fff;
  font-family:inherit; font-size:13.5px; font-weight:700; color:#1b1b1b; cursor:pointer;
}
.hs .hs-brd select:focus{ outline:none; border-color:var(--gold, #c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.15); }
.hs .hs-ziy-arrow{ padding-bottom:12px; color:var(--gold, #c9a227); font-weight:900; font-size:18px; }
.hs .hs-ziy-hint{
  margin:10px 0 0; padding:10px 13px; border-radius:11px;
  background:#faf7ef; border:1px dashed #dcc98f; color:#6b5410;
  font-size:12.5px; line-height:2;
}
.hs .hs-pkgs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; margin-top:12px; }
/* ═══════════ کارتِ بسته — روشن در برابر خاموش ═══════════
   مالک ۲۰۲۶-۰۸-۲۲: «اونی که سلکت هست باید روشن باشه بقیه خاموش.»
   نسخهٔ اول فقط شفافیت را کم می‌کرد و مالک درست گفت که فرقی دیده
   نمی‌شود. حالا دو جنسِ متفاوت‌اند، نه دو درجه از یک چیز:
     روشن  = سطحِ طلاییِ پُر با متنِ تیره
     خاموش = خاکستریِ بی‌جان با متنِ کم‌رنگ
   هر دو خوانا می‌مانند؛ خاموش محو نیست، فقط عقب نشسته. */
.hs .hs-pkg{
  position:relative;
  display:flex; flex-direction:column; gap:7px; text-align:start; cursor:pointer;
  padding:15px 17px; border-radius:16px;
  border:1.5px solid #ddd6c6;
  background:#f6f3ec;
  font-family:inherit;
  box-shadow:none;
  transform:scale(.985);
  transition:background .24s ease, border-color .24s ease, color .24s ease,
             box-shadow .28s ease, transform .24s cubic-bezier(.2,.8,.2,1);
  -webkit-tap-highlight-color:transparent;
}
/* خاموش: متن‌ها عقب می‌نشینند */
.hs .hs-pkg .hs-pkg-t{ color:#565044; }
.hs .hs-pkg .hs-pkg-s,
.hs .hs-pkg .hs-pkg-d{ color:#6a6458; }
.hs .hs-pkg .hs-pkg-s b{ color:#b8ac90; }
.hs .hs-pkg .hs-pkg-p{ color:#5c5648; }
.hs .hs-pkg .hs-pkg-p i{ color:#a49d90; }
.hs .hs-pkg .hs-needdate{ color:#6a6458; }

.hs .hs-pkg:hover{
  background:#f7f4ec; border-color:#cfc7b2; transform:scale(1);
}
.hs .hs-pkg:hover .hs-pkg-t{ color:#5a5546; }
.hs .hs-pkg:focus-visible{ outline:3px solid var(--gold, #c9a227); outline-offset:3px; }

/* ═══ روشن ═══ */
.hs .hs-pkg.on{
  border-color:#8f6f10;
  background:linear-gradient(155deg,#d9b436 0%,#eccd63 42%,#c19a1e 100%);
  transform:scale(1) translateY(-2px);
  box-shadow:
    0 0 0 3px rgba(201,162,39,.30),
    0 3px 6px rgba(90,72,12,.18),
    0 22px 42px -18px rgba(120,95,15,.75);
}
.hs .hs-pkg.on .hs-pkg-t{ color:#171410; }
.hs .hs-pkg.on .hs-pkg-s,
.hs .hs-pkg.on .hs-pkg-d{ color:#3d3208; }
.hs .hs-pkg.on .hs-pkg-s b{ color:#5c4a08; }
.hs .hs-pkg.on .hs-pkg-p{ color:#1d1802; }
.hs .hs-pkg.on .hs-pkg-p i{ color:#4a3d0a; }
.hs .hs-pkg.on .hs-needdate{ color:#4a3d0a; font-weight:700; }

/* تیکِ گوشه — تیره روی طلا، تا از خودِ کارت هم جدا دیده شود */
.hs .hs-pkg.on::after{
  content:"\2713";
  position:absolute; inset-block-start:11px; inset-inline-end:13px;
  width:28px; height:28px; border-radius:50%;
  display:grid; place-items:center;
  background:#1b1710; color:#f5d97a;
  font-size:16px; font-weight:900; line-height:1;
  box-shadow:0 3px 9px -3px rgba(0,0,0,.55);
}
.hs .hs-pkg.on .hs-pkg-t{ padding-inline-end:46px; }

@media (prefers-reduced-motion: reduce){
  .hs .hs-pkg{ transition:none; }}

.hs .hs-pkg-t{ font-weight:900; font-size:13.5px; color:#1b1b1b; }
.hs .hs-pkg-s{ font-size:11.5px; color:#5b5449; line-height:1.95; }
.hs .hs-pkg-s b{ color:var(--gold, #c9a227); }
.hs .hs-pkg-d{ font-size:11.5px; color:#6b6459; line-height:1.95; }
.hs .hs-pkg-p{ margin-top:2px; font-weight:900; font-size:14px; color:var(--green-deep, #8a6d16); }
.hs .hs-pkg-p i{ font-style:normal; font-size:10.5px; font-weight:700; color:#8a8371; }

/* ═══ دراپ‌داونِ نوعِ سفر: با طراحی بفهماند که بازشدنی است (بدونِ هیچ متنِ راهنما) ═══ */
.hs .hs-trip{ position:relative; }
.hs .hs-trip-btn{
  display:flex; align-items:center; gap:9px; cursor:pointer;
  padding:9px 14px 9px 12px; border-radius:999px;
  border:1.8px solid #cfc4a8; background:linear-gradient(180deg,#fff,#faf7ef);
  font-family:inherit; font-weight:800; font-size:13.5px; color:#1b1b1b;
  box-shadow:0 2px 8px -4px rgba(60,50,20,.35);
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.hs .hs-trip-btn:hover{
  border-color:var(--gold, #c9a227); background:linear-gradient(180deg,#fffdf6,#f7f1de);
  box-shadow:0 4px 14px -6px rgba(201,162,39,.55);
}
.hs .hs-trip-btn:focus-visible{ outline:none; border-color:var(--gold, #c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.2); }
/* فلشِ رو به پایین در یک قرصِ طلایی — نشانهٔ بصریِ «باز می‌شود» */
.hs .hs-trip-car{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%; font-size:11px; line-height:1;
  background:linear-gradient(135deg,#f0d685,var(--gold, #c9a227)); color:#1b1508;
  transition:transform .2s ease;
}
.hs .hs-trip[data-open="1"] .hs-trip-car{ transform:rotate(180deg); }
.hs .hs-trip[data-open="1"] .hs-trip-btn{ border-color:#a9861c; }
.hs .hs-trip-menu{
  position:absolute; inset-inline-start:0; top:calc(100% + 7px); z-index:40;
  min-width:200px; padding:6px; border-radius:14px;
  background:#fff; border:1.5px solid #e2dac8;
  box-shadow:0 18px 40px -18px rgba(60,50,20,.5);
  display:none; flex-direction:column; gap:3px;
}
.hs .hs-trip[data-open="1"] .hs-trip-menu{ display:flex; }
.hs .hs-trip-menu button{
  text-align:start; cursor:pointer; padding:10px 13px; border-radius:10px;
  border:none; background:none; font-family:inherit; font-weight:700; font-size:13.5px; color:#3b3416;
  transition:background .14s ease;
}
.hs .hs-trip-menu button:hover{ background:#faf7ef; }
.hs .hs-trip-menu button[aria-checked="true"]{
  background:linear-gradient(135deg,#f0d685,var(--gold, #c9a227)); color:#1b1508; font-weight:900;
}

/* ═══ کلاسِ اتوبوس — زیرمجموعهٔ نوعِ اتوبوس، نه گزینهٔ هم‌ردیف ═══
   قابِ مشترک، تورفتگی، و افکتِ انتخابِ متفاوت (زیرخطِ طلایی به‌جای پرشدنِ
   کامل) تا کاربر در یک نگاه بفهمد این‌ها زیرشاخه‌اند. */
.hs .hs-kindwrap{
  border:1.8px solid #e2dac8; border-radius:16px; padding:11px 11px 9px;
  background:linear-gradient(180deg,#fdfcf7,#faf7ef); margin:0 0 12px;
}
.hs .hs-kindwrap .hs-kinds{ margin:0; }
.hs .hs-cls{
  display:flex; gap:7px; flex-wrap:wrap; align-items:center;
  margin:10px 6px 0; padding:9px 10px 3px;
  border-top:1.5px dashed #e2dac8;
}
/* خطِ اتصالِ کوچک — نشانهٔ «زیرمجموعه بودن» */
.hs .hs-cls::before{
  content:''; width:14px; height:14px; margin-inline-end:2px; flex:none;
  border-inline-start:2px solid #dcc98f; border-block-end:2px solid #dcc98f;
  border-end-start-radius:6px; transform:translateY(-4px);
}
.hs .hs-clsb{
  cursor:pointer; display:inline-flex; align-items:center; gap:7px;
  padding:6px 13px; border-radius:999px; background:none;
  border:1.5px solid transparent; font-family:inherit; font-weight:700;
  font-size:12.5px; color:#6b6459;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.hs .hs-clsb:hover{ color:#1b1b1b; background:rgba(201,162,39,.08); }
/* انتخاب‌شده: زیرخط و متنِ طلاییِ تیره — عمداً شبیهِ کارت‌های بالا نیست */
.hs .hs-clsb.on{
  color:var(--green-deep, #8a6d16); background:#fff; border-color:#e0cf8f;
  box-shadow:inset 0 -2.5px 0 var(--gold, #c9a227);
}
.hs .hs-clsb-p{
  font-size:11px; font-weight:800; padding:1px 7px; border-radius:999px;
  background:rgba(201,162,39,.16); color:var(--green-deep, #8a6d16);
}

/* ═══ هر نوعِ اتوبوس یک کارت؛ کلاسش داخلِ خودش ═══ */
.hs .hs-kinds-col{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 12px; align-items:start; }
@media(max-width:640px){ .hs .hs-kinds-col{ grid-template-columns:1fr; }}
.hs .hs-kindcard{
  border:1.8px solid #cfc4a8; border-radius:14px; overflow:hidden; background:#fff;
  transition:border-color .16s ease, box-shadow .16s ease;
}
.hs .hs-kindcard:hover{ border-color:var(--gold, #c9a227); }
.hs .hs-kindcard.on{ border-color:#a9861c; box-shadow:0 6px 18px -10px rgba(201,162,39,.65); }
.hs .hs-kindcard .hs-kind{
  width:100%; border:none; border-radius:0; background:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 14px; font-family:inherit; font-weight:800; font-size:13.5px; color:#3b3416;
}
.hs .hs-kindcard.on .hs-kind{ background:linear-gradient(135deg,#f0d685,var(--gold, #c9a227)); color:#1b1508; }
/* کلاس‌ها داخلِ کارت: زمینهٔ کرم و تورفتگی تا زیرمجموعه بودنشان پیدا باشد */
.hs .hs-kindcard .hs-cls{
  margin:0; padding:9px 12px 10px; border-top:1.5px dashed #e2dac8;
  background:#fdfcf7; justify-content:center;
}
.hs .hs-kindcard .hs-cls::before{ display:none; }
.hs-intro{
  margin:26px 0 6px; padding:24px 26px;
  background:linear-gradient(180deg,#fdfcf7,#f8f4e9);
  border:1.5px solid #e2dac8; border-radius:20px;
  box-shadow:0 10px 30px -22px rgba(60,50,20,.45);
}
@media(max-width:640px){ .hs-intro{ padding:18px 15px; border-radius:16px; }}
.hs-intro-t{
  margin:0 0 8px; font-size:clamp(19px,2.6vw,25px); font-weight:900; color:#1b1b1b;
}
.hs-intro-l{ margin:0 0 14px; font-size:14.5px; line-height:2.1; color:#4a443a; }
.hs-intro-p{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px 18px;
}
.hs-intro-p li{
  position:relative; padding-inline-start:22px;
  font-size:13.5px; line-height:2; color:#3b3416;
}
.hs-intro-p li::before{
  content:'✓'; position:absolute; inset-inline-start:0; top:.05em;
  color:var(--gold, #c9a227); font-weight:900;
}

/* ── گالریِ عکسِ همان وسیله ── */
.hs-gal{
  margin-top:18px; padding-top:16px; border-top:1.5px dashed #e2dac8;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(158px,1fr)); gap:10px;
}
.hs-gal-i{
  margin:0; cursor:zoom-in; border-radius:13px; overflow:hidden;
  background:#fff; border:1.5px solid #e2dac8;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.hs-gal-i:hover{
  border-color:var(--gold, #c9a227); transform:translateY(-2px);
  box-shadow:0 10px 24px -14px rgba(201,162,39,.6);
}
.hs-gal-i img{ display:block; width:100%; height:112px; object-fit:cover; }
.hs-gal-i figcaption{
  padding:7px 10px; font-size:11.5px; line-height:1.85; color:#6b6459;
  border-top:1px solid #efe9db; text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* ── نمایشِ بزرگِ عکس (بدونِ کتابخانهٔ بیرونی) ── */
.hs-gal-lb{
  position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
  padding:28px; background:rgba(16,14,8,.86); backdrop-filter:blur(3px);
}
.hs-gal-lb figure{ margin:0; max-width:min(1000px,92vw); max-height:88vh; text-align:center; }
.hs-gal-lb img{
  max-width:100%; max-height:78vh; border-radius:14px; display:block; margin-inline:auto;
  box-shadow:0 30px 70px -25px rgba(0,0,0,.8);
}
.hs-gal-lb figcaption{ margin-top:12px; color:#f0e9d8; font-size:14px; font-weight:700; }
.hs-gal-x{
  position:absolute; top:18px; inset-inline-end:20px; width:42px; height:42px;
  border-radius:50%; border:none; cursor:pointer; font-size:24px; line-height:1;
  background:rgba(255,255,255,.14); color:#fff;
}
.hs-gal-x:hover{ background:rgba(255,255,255,.26); }
.hs-gal-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%; border:none; cursor:pointer;
  font-size:30px; line-height:1; background:rgba(255,255,255,.14); color:#fff;
}
.hs-gal-nav:hover{ background:rgba(255,255,255,.26); }
.hs-gal-prev{ inset-inline-start:18px; }
.hs-gal-next{ inset-inline-end:18px; }
@media(max-width:640px){
  .hs-gal{ grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); }
  .hs-gal-i img{ height:92px; }
  .hs-gal-nav{ width:40px; height:40px; font-size:24px; }}

/* ═══ تاریخِ حرکتِ بستهٔ زیارتی + برچسبِ بازهٔ فصلی ═══
   بدونِ تاریخ نه سفارش معنا دارد نه قیمتِ فصلی؛ پس در حالتِ بستهٔ آماده هم
   یک ردیفِ تاریخ/ساعت درست زیرِ انتخابِ مرزها می‌آید. */
/* ردیفِ «ورود/خروج» چهار فیلد دارد و نباید از شبکهٔ ۷ستونیِ مسیرها ارث ببرد —
   وگرنه سلکتِ ساعت داخلِ ستونِ ۴۰پیکسلیِ دکمهٔ جابه‌جایی می‌افتد و له می‌شود. */
.hs .hs-row.hs-ziy-when{
  margin-top:10px;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) !important;
}
@media(max-width:820px){
  .hs .hs-row.hs-ziy-when{ grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important; }}
/* ⚠ ۲۰۲۶-۰۸-۲۳ — در گوشی دیگر تک‌ستونی نمی‌شود.
   تا دیروز برچسب بالای کادر بود و دو ستون جا نمی‌شد؛ حالا که
   برچسب داخلِ کادر نشسته، تاریخ و ساعت کنارِ هم جا می‌شوند و
   ردیف از ۲۳۸ پیکسل به نصف می‌رسد — دقیقاً همان «فضای زیادی
   نگیرد»ی که مالک خواست. */
@media(max-width:460px){
  .hs .hs-row.hs-ziy-when{ grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important; }}
.hs .hs-pkg-se{
  display:inline-block; font-style:normal; font-size:10.5px; font-weight:800;
  background:var(--gold, #c9a227); color:#1b1508; border-radius:20px; padding:2px 8px;
  margin-inline-start:7px; vertical-align:middle;
}

/* ═══ فیلدِ اجباریِ خالی — کاربر باید ببیند کجا را پر نکرده ═══ */
.hs .hs-fld.is-miss > span{ color:#c0392b; }
.hs .hs-fld.is-miss input,
.hs .hs-fld.is-miss select{
  border-color:#c0392b !important;
  background:#fff6f5 !important;
  box-shadow:0 0 0 3px rgba(192,57,43,.13) !important;
}
.hs .hs-fld.is-miss .hs-req{ color:#c0392b; }

/* ═══ تقویم: روزهای گذشته واقعاً غیرفعال ═══
   دکمه disabled است، پس کلیک هیچ رویدادی نمی‌سازد؛ این‌ها فقط ظاهرش را
   هم «غیرقابلِ انتخاب» نشان می‌دهند تا کاربر بی‌خود تلاش نکند. */
.kgd-d.kgd-off,
.kgd-d:disabled{
  color:#c9c4ba !important; background:transparent !important;
  cursor:not-allowed !important; opacity:.55; text-decoration:line-through;
}
.kgd-d.kgd-off:hover,
.kgd-d:disabled:hover{ background:transparent !important; }
.kgd-nav:disabled{ opacity:.3; cursor:not-allowed; }

/* ═══ انتخابِ نوعِ اتوبوس — فهرستِ دو گزینه‌ای با توضیحِ یک‌خطی ═══
   قبلاً دو کارتِ بزرگِ بی‌توضیح بود و زائر نمی‌دانست فرقشان چیست. */
.hs .hs-kinds-h{ font-size:12px; font-weight:800; color:#7a7364; margin:0 2px 7px; }
/* ⚠ کنارِ هم و نه زیرِ هم — همان چیدمانِ کارت‌های «رزرو نقل» و «تورهای
   شمال عراق» بالای همین فرم. دو انتخابِ هم‌نوع، یک زبانِ بصری. */
.hs .hs-kinds-col{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:4px; }
@media(max-width:520px){ .hs .hs-kinds-col{ grid-template-columns:1fr; }}
.hs .hs-kindcard{
  position:relative; border:2px solid #e3ddcd; border-radius:16px; background:#fff;
  overflow:hidden; transition:border-color .2s, box-shadow .2s, transform .14s;
}
.hs .hs-kindcard:not(.on){ opacity:.82; }
.hs .hs-kindcard:not(.on):hover{ opacity:1; border-color:#cfc4a4; transform:translateY(-2px); }
.hs .hs-kindcard.on{
  border-color:var(--gold, #c9a227);
  background:linear-gradient(180deg,#fdf8ea,#fffdf7);
  box-shadow:0 0 0 3px rgba(201,162,39,.16), 0 10px 24px -16px rgba(0,0,0,.35);
}
/* نشانِ ✓ گوشه — همان نشانِ کارت‌های بالای فرم */
.hs .hs-kind-mark{
  position:absolute; inset-inline-end:10px; inset-block-start:10px;
  width:20px; height:20px; border-radius:50%;
  display:grid; place-items:center; font-size:12px; font-weight:900;
  background:var(--gold, #c9a227); color:#fff; opacity:0; transform:scale(.6);
  transition:opacity .18s, transform .18s;
}
.hs .hs-kindcard.on .hs-kind-mark{ opacity:1; transform:scale(1); }
.hs .hs-kind{
  display:flex; align-items:flex-start; gap:10px; width:100%; text-align:start;
  padding:14px 14px 13px; border:none; background:none; cursor:pointer; font-family:inherit;
}
.hs .hs-kind-dot{
  flex:none; width:17px; height:17px; margin-top:2px; border-radius:50%;
  border:2px solid #c6bda3; background:#fff; position:relative;
}
.hs .hs-kind.on .hs-kind-dot{ border-color:var(--gold, #c9a227); }
.hs .hs-kind.on .hs-kind-dot::after{
  content:''; position:absolute; inset:3px; border-radius:50%; background:var(--gold, #c9a227);
}
.hs .hs-kind-b{ min-width:0; }
.hs .hs-kind-b b{ display:block; font-size:13.5px; font-weight:800; color:#1b1b1b; line-height:1.7; }
.hs .hs-kind-b i{ display:block; font-style:normal; font-size:11.5px; color:#7a7364; line-height:1.9; margin-top:2px; }
html[dir="ltr"] .hs-q-p, html[dir="ltr"] .hs-car-p{ text-align:start; }

/* ═══ «یکی از این دو» — انتخابِ کاپوتاژ یا دربستِ عراق ═══
   مشکلی که صاحبِ سایت دید: دو کارت کنارِ هم (یکی راست، یکی چپ) به‌نظر
   می‌آمد دو بخشِ مکمّلِ یک فرم‌اند و باید هر دو پر شوند. حالا زیرِ هم‌اند،
   با جداکنندهٔ «یا» در میان و گزینهٔ انتخاب‌نشده کم‌رنگ — یعنی از یک نگاه
   پیداست که فقط یکی انتخاب می‌شود. */
/* ⚠ کنارِ هم و نه زیرِ هم — همان چیدمانِ کارت‌های بالای فرم.
   این قاعده قبلاً با !important یک‌ستونی‌شان می‌کرد. */
.hs .hs-kinds-pick{ grid-template-columns:1fr 1fr; gap:10px; align-items:start; }
@media(max-width:560px){ .hs .hs-kinds-pick{ grid-template-columns:1fr; }}
.hs .hs-kinds-hint{
  font-weight:700; font-size:11px; color:#a2571f; background:#fdf1e3;
  border:1px solid #f0d9bd; border-radius:999px; padding:2px 9px;
  margin-inline-start:6px; white-space:nowrap;
}
.hs .hs-kinds-or{
  display:flex; align-items:center; gap:9px; margin:8px 2px;
  color:#9c9481; font-size:11.5px; font-weight:800;
}
.hs .hs-kinds-or::before, .hs .hs-kinds-or::after{
  content:''; flex:1; height:1px; background:#e6e0cf;
}
.hs .hs-kinds-pick .hs-kindcard.off{ background:#fbfaf6; opacity:.72; }
.hs .hs-kinds-pick .hs-kindcard.off:hover{ opacity:1; border-color:var(--gold, #c9a227); }
.hs .hs-kinds-pick .hs-kindcard.on{ border-width:2px; }
@media(max-width:640px){
  .hs .hs-kinds-hint{ display:block; margin:5px 0 0; width:fit-content; }}

/* ═══ شمارهٔ تلفن با پیش‌شمارهٔ کشور ═══
   زائرِ عراقی «۰۷۸۰…» می‌نویسد و زائرِ ترک «۰۵۳۲…» — هیچ‌کدام کدِ کشور را
   نمی‌زنند. کشور از روی IP خودش انتخاب می‌شود و کنارِ کادر می‌نشیند. */
.hs-tel{ display:flex; gap:8px; align-items:stretch; flex-direction:row-reverse; }
.hs-tel-cc{
  flex:0 0 auto; max-width:118px; padding:11px 8px; border:1.5px solid #e3ddcd;
  border-radius:10px; background:#fbf9f3; font-family:inherit; font-size:13px;
  font-weight:700; color:#2a2620; cursor:pointer; text-align:center;
}
/* روی دامنهٔ تک‌زبانه فقط «‎+۹۸‎» است — بیش از این عرض گرفتن حیف است */
.hs-tel-cc-fixed{ max-width:74px; }
.hs-tel-cc:focus{ outline:none; border-color:var(--gold, #c9a227); }
.hs-tel-n{ flex:1 1 auto; min-width:0; }
.hs-tel-hint{
  display:block; margin-top:5px; font-style:normal; font-size:11.5px;
  color:#8d866f; letter-spacing:.2px;
}
@media(max-width:420px){
  /* ⚠ ستونی نشود: مالک می‌خواهد کد و شماره کنارِ هم بمانند */
  .hs-tel-cc{ max-width:92px; font-size:12.5px; padding:11px 6px; }
  .hs-tel-cc-fixed{ max-width:68px; }}

/* کادرِ ساعت — دستی و ۲۴ساعته، به‌جای فهرستِ کشویی.
   فهرستِ قبلی ۲۴ گزینهٔ «۳ عصر/۸ صبح» داشت که هم واژه‌اش به زبان‌های
   دیگر نشت می‌کرد، هم ساعتِ دقیق (۱۶:۳۰) در آن نبود. */
.hs .hs-time-i{
  width:100%; box-sizing:border-box; text-align:center; letter-spacing:.5px;
  font-variant-numeric:tabular-nums;
}
.hs .hs-when-t{ color:#8a7a3c; font-weight:800; }

/* ظرفیتِ وسیله در ویجتِ رزرو — سفر دربستی است و «چند نفرید؟» پرسیده
   نمی‌شود؛ این متن از پنلِ «ناوگانِ راننده‌دار» می‌آید. */
.hs-cap-note{
  margin-top:8px; font-size:12.5px; line-height:1.9; color:#7a6a3a;
  background:rgba(201,162,39,.10); border:1px dashed rgba(201,162,39,.42);
  border-radius:10px; padding:7px 11px;
}

/* ══════ انتخابِ «حمل‌ونقل یا تور» — فقط روی سایتِ بین‌المللی ══════
   دو کارتِ بزرگ، نه دو دکمهٔ کوچک: اولین تصمیمِ بازدیدکننده باید از دور
   پیدا باشد، وگرنه اصلاً نمی‌فهمد انتخابی هست. */
/* ═══════════ انتخابگرِ «حمل‌ونقل» یا «تورِ عراق» ═══════════
   ⚠ باگی که صاحبِ سایت دید: «احساس می‌کنم صفحه‌ای که انتخاب نشده را
   دارم بررسی می‌کنم.» و درست می‌گفت — کارتِ *انتخاب‌نشده* پس‌زمینهٔ
   تیره و پُر داشت و کارتِ *انتخاب‌شده* سفیدِ خالی بود. چشم همیشه سطحِ
   پُررنگ‌تر را «فعال» می‌خوانَد، پس وزنِ بصری دقیقاً برعکسِ واقعیت بود.

   حالا چهار نشانهٔ هم‌جهت روی کارتِ فعال می‌نشیند تا هیچ ابهامی نمانَد:
     ۱) پُرشدنِ طلایی و کنتراستِ بالا
     ۲) نشانِ ✓ در گوشه
     ۳) برچسبِ صریحِ «همین را می‌بینید»
     ۴) زبانه‌ای که کارت را به محتوای پایینش می‌چسباند
   و کارتِ غیرفعال عمداً کم‌رنگ و تخت می‌شود، با دعوتِ «برای دیدن کلیک کنید». */
.hs-mode{
  /* ⚠ «۱fr ۱fr» یعنی همیشه دو ستون؛ تبِ سوم می‌افتاد خطِ بعد و پهنِ
     کلِ نوار می‌شد. auto-fit هر تعداد تب را در یک ردیف نگه می‌دارد. */
  display:grid; grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
  gap:12px; padding:0 6px 14px;
  align-items:stretch;
}
.hs-mode-b{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:15px 12px 13px; cursor:pointer; text-align:center;
  border:2px solid rgba(255,255,255,.28); border-radius:16px;
  background:rgba(18,22,20,.34); color:rgba(255,255,255,.82);
  font-family:inherit; backdrop-filter:blur(7px);
  text-shadow:0 1px 2px rgba(0,0,0,.3);
  transition:background .2s, border-color .2s, transform .14s, box-shadow .2s, opacity .2s;
}
/* غیرفعال: تخت و آرام — می‌گوید «من گزینهٔ دیگرم، کلیک کن» */
.hs-mode-b:not(.on){ opacity:.72; }
.hs-mode-b:not(.on) img{ filter:brightness(0) invert(1); opacity:.8; }
.hs-mode-b:not(.on):hover{
  opacity:1; background:rgba(18,22,20,.5); border-color:rgba(255,255,255,.55);
  transform:translateY(-2px);
}
.hs-mode-t{ font-size:15.5px; font-weight:900; letter-spacing:.2px; }
.hs-mode-s{ font-size:11.5px; opacity:.8; line-height:1.7; }
/* نشانِ ✓ گوشه */
.hs-mode-mark{
  position:absolute; inset-block-start:-11px; inset-inline-start:50%;
  transform:translateX(50%);
  width:26px; height:26px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:900; line-height:1;
  opacity:0; transition:opacity .2s, transform .2s;
}
html[dir="ltr"] .hs-mode-mark{ transform:translateX(-50%); }

/* ═══ کارتِ فعال ═══ */
.hs-mode-b.on{
  background:linear-gradient(135deg,#f3dc95,var(--gold, #c9a227) 62%,#b08c17);
  color:#1c1a12; border-color:#fff5cf; opacity:1;
  box-shadow:0 12px 30px -10px rgba(201,162,39,.75), 0 0 0 4px rgba(255,255,255,.28);
  text-shadow:none; transform:translateY(-3px);
}
.hs-mode-b.on img{ filter:none; opacity:1; }
.hs-mode-b.on .hs-mode-s{ opacity:.78; }
.hs-mode-b.on .hs-mode-now{
  background:rgba(28,26,18,.86); color:#ffe9a8;
}
.hs-mode-b.on .hs-mode-mark{
  opacity:1; background:#1c1a12; color:#ffd76a;
  box-shadow:0 3px 10px rgba(0,0,0,.35);
}
/* زبانه‌ای که کارت را به محتوای پایین می‌چسباند */
.hs-mode-b.on::after{
  content:''; position:absolute; inset-block-end:-11px; inset-inline-start:50%;
  transform:translateX(50%) rotate(45deg);
  width:20px; height:20px; background:#b08c17; border-radius:4px;
}
html[dir="ltr"] .hs-mode-b.on::after{ transform:translateX(-50%) rotate(45deg); }

@media (max-width:520px){
  .hs-mode{ gap:9px; }
  .hs-mode-b{ padding:12px 8px 11px; }
  .hs-mode-t{ font-size:13.5px; }
  .hs-mode-s{ font-size:10.5px; }
  .hs-mode-mark{ width:22px; height:22px; font-size:12px; inset-block-start:-9px; }}

@media (max-width:640px){
  .hs-mode-b{ flex:1; text-align:center; padding:9px 10px; }}
.hs-tour.on{ border-color:var(--gold, #c9a227); box-shadow:0 3px 14px rgba(201,162,39,.13); }
.hs-tour-d:hover:not(.full){ border-color:var(--gold, #c9a227); background:#fdfaf0; }
.hs-tour-d.on{ border-color:var(--gold, #c9a227); background:#fdf6e3; }
.hs-tour-d.full{ opacity:.45; cursor:not-allowed; }
.kg-tour-go .hs-go{ flex:1; margin:0; }


/* علتِ قیمتِ این تاریخ — زیرِ جمعِ فاکتورِ ویجت */
.hs-q-why{
  margin-top:8px; padding:8px 11px; border-radius:9px;
  background:#fdf8e8; border:1px solid #e8d9a4; color:#6b5510;
  font-size:12.5px; line-height:1.9;
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"] .hs-q-why{ background:rgba(201,162,39,.10); border-color:rgba(201,162,39,.35); color:#e3d5a5; }}


/* ═══ خوانایی — kg-contrast-fix ═══
   بازرسی سه متن را زیرِ حدِ استانداردِ خوانایی (۴٫۵:۱) پیدا کرد؛
   بدترینشان ۲٫۷۲:۱ بود. زائرِ ۵۵ ساله با موبایل در نورِ آفتاب چنین
   متنی را اصلاً نمی‌خوانَد. رنگ‌ها تیره‌تر شدند بدونِ اینکه ظاهر
   عوض شود. */
.hs .hs-kinds-hint{ color:#7a3d10 !important; background:#fbe9d6 !important; }
.hs .hs-kind-dot{ border-color:#8d856f !important; }


/* پیامِ «کلِ مبلغ همان اول» در خلاصهٔ تور */
.hs-m-payfull{ margin:10px 0 0; padding:9px 13px; background:#fdf6e0;
  border:1.5px solid #e8d9a4; border-radius:10px; color:#6b5510;
  font-size:12.5px; line-height:1.95; font-weight:700; }

/* جای قیمت، تا وقتی تاریخ وارد نشده — عمداً کم‌رنگ‌تر و کوچک‌تر از
   عدد، تا کاربر در یک نگاه بفهمد این «قیمت» نیست بلکه راهنماست. */
.hs-needdate{ font-style:normal; font-size:12px; font-weight:600;
  color:var(--gold-soft, #c9a227); opacity:.92; line-height:1.55; }
.hs-q-need{ padding:10px 2px; font-size:13px; font-weight:600;
  color:var(--gold-soft, #c9a227); }


/* «از راهِ دیگر بفرست» — عمداً کم‌رنگ‌تر از «ارسالِ دوباره»:
   راهِ اولِ درست همان تکرارِ کانالِ فعلی است، و این گزینهٔ نجات. */
.hs-m-alt{ margin-top:2px; }
.hs-m-altb{ font-size:12.5px; opacity:.85; text-decoration:underline;
  text-underline-offset:3px; }
.hs-m-altb:hover{ opacity:1; }

/* ═══ چیدنِ شهرهای بستهٔ زیارتی (.hs-zord) ═══
   عمداً ساده: دو دکمهٔ جابه‌جایی و یک کادرِ تاریخ. نه کشیدن‌ورهاکردن
   (روی گوشی شکننده است) نه فرمِ چندمرحله‌ای — زائر باید در چند ثانیه
   کارش تمام شود. */
.hs-zord{ margin-block-start:14px; }
.hs-zord-h{ font-size:13px; font-weight:800; margin-block-end:9px; opacity:.9; }
.hs-zord-l{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; }
.hs-zord-r{ display:flex; align-items:center; gap:9px; padding:9px 11px;
  border-radius:12px; background:rgba(255,255,255,.07);
  border:1.5px solid rgba(255,255,255,.16); }
/* مرزِ ورود و خروج جابه‌جا نمی‌شوند — ابتدا و انتهای سفر ثابت‌اند */
.hs-zord-r.is-fix{ opacity:.72; border-style:dashed; }
.hs-zord-n{ flex:0 0 auto; width:24px; height:24px; border-radius:50%;
  display:grid; place-items:center; font-size:12px; font-weight:800;
  background:rgba(230,200,102,.22); color:var(--gold-soft, #e6c866); }
.hs-zord-c{ flex:1 1 auto; font-size:13.5px; font-weight:600; }

/* «اختیاری» — تا کاربر معطلِ پُرکردنِ چیزی نشود که لازم نیست */
.hs-zord-opt{ font-style:normal; font-size:10.5px; font-weight:800; margin-inline-start:6px;
  padding:2px 7px; border-radius:999px; vertical-align:middle;
  background:rgba(230,200,102,.2); color:var(--gold-soft, #e6c866); }
.hs-zord-skip{ font-size:11.5px; line-height:1.6; opacity:.66; margin:0 0 10px; }

/* نامِ شهر بالا، سه فیلد زیرش — در یک ردیفِ افقی روی گوشی هر سه
   به ۶۰ پیکسل می‌رسیدند و هیچ‌کدام خوانا نبود */
.hs-zord-r{ align-items:flex-start; }
.hs-zord-m{ flex:1 1 auto; min-width:0; }
.hs-zord-f{ display:flex; flex-wrap:wrap; gap:6px; margin-block-start:7px; }
.hs-zord-d,.hs-zord-t,.hs-zord-x{ padding:6px 9px; border-radius:9px; font-size:12.5px;
  border:1.5px solid rgba(255,255,255,.22); background:rgba(0,0,0,.18); color:inherit;
  font-family:inherit; min-width:0; }
.hs-zord-d{ flex:0 0 124px; }
.hs-zord-t{ flex:0 0 72px; text-align:center; }
.hs-zord-x{ flex:1 1 150px; }        /* کشیده، تا معلوم باشد جای جمله است */
.hs-zord-d:focus,.hs-zord-t:focus,.hs-zord-x:focus{ outline:none;
  border-color:rgba(230,200,102,.6); background:rgba(0,0,0,.28); }

/* خلاصهٔ برنامه — همان چیزی که به دستِ ما می‌رسد، پیشِ چشمِ کاربر */
.hs-zord-sum{ margin-block-start:12px; padding:10px 12px; border-radius:12px;
  background:rgba(230,200,102,.09); border:1.5px solid rgba(230,200,102,.24); }
.hs-zord-sum b{ display:block; font-size:12px; margin-block-end:6px;
  color:var(--gold-soft, #e6c866); }
.hs-zord-sum ul{ list-style:none; margin:0; padding:0; display:flex;
  flex-direction:column; gap:4px; }
.hs-zord-sum li{ font-size:12.5px; line-height:1.65; opacity:.92; }

.hs-zord-b{ display:flex; gap:3px; }
.hs-zord-b button{ width:26px; height:26px; border-radius:8px; cursor:pointer;
  border:1.5px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08);
  color:inherit; font-size:11px; line-height:1; }
.hs-zord-b button:disabled{ opacity:.3; cursor:default; }
.hs-zord-b button:not(:disabled):hover{ background:rgba(230,200,102,.24); }
@media(max-width:520px){
  .hs-zord-d{ flex:0 0 104px; } .hs-zord-t{ flex:0 0 64px; }
  .hs-zord-x{ flex:1 1 100%; } .hs-zord-c{ font-size:12.5px; }
  .hs-zord-r{ padding:9px 9px; gap:7px; }}
/* ⚠ خواستهٔ مالک ۲۰۲۶-۰۸-۲۱: «خیلی درشت شده و صفحه را شلوغ کرده،
   باریک‌ترش کن». روی دسکتاپ کارت ۱۰۲۸px پهن می‌شد و کارت‌های وسیله
   کشیده و توخالی می‌شدند. حالا ستونِ فرم سقفِ پهنا دارد و در وسط
   می‌نشیند؛ اندازه‌ها یک درجه جمع‌تر ولی همچنان درشت‌تر از فرمِ
   قدیمی (خوانا برای سالمند). */
/* ⚠ .hs فلکس است؛ بدونِ width:100% کارت تا اندازهٔ محتوا جمع می‌شود
   و ۳۲۳px می‌شد (باریک‌تر از حدِ خوانا). */
.hs-host .hs .hs-card.hsw{ width:100%; max-width:400px; margin-inline:auto; }
/* روی گوشی همان تمامِ عرض — سقف فقط برای صفحه‌های پهن است */
@media (max-width:520px){ .hs-host .hs .hs-card.hsw{ max-width:none; }}
.hs .hsw .hs-quote{ margin:10px 0 0; }
.hs .hsw .hs-cls{ margin-bottom:10px; }

/* ═══ درشت‌خط برای همه — اصلاح‌های خواناییِ سالمندان (هر دو حالت) ═══ */
.hs .hs-fld input{ font-size:16px; }
.hs .hs-fld > span{ font-size:14.5px; height:auto; min-height:20px; line-height:1.55;
  overflow:visible; text-overflow:clip; white-space:normal; }
.hs .hs-tab{ font-size:15px; min-height:48px; }
.hs .hs-step-b{ min-width:46px; min-height:46px; font-size:20px; }
.hs .hs-leg-x{ width:38px; height:38px; }
.hs .hs-sug-i{ font-size:15.5px; min-height:46px; }
.hs .hs-hint{ font-size:14.5px; }
.hs .hs-brd select{ font-size:16px; }
.hs .hs-kind-b b{ font-size:15.5px; }
.hs .hs-kind-b i{ font-size:13px; color:#5d5747; }
.hs .hs-pkg-t{ font-size:15px; }
.hs .hs-pkg-s, .hs .hs-pkg-d{ font-size:12.5px; color:#5d5747; }
.hs-needdate, .hs-q-need{ color:#6b5410 !important; }
.hs .hs-units-l{ font-size:15px; }
.hs .hs-when{ font-size:14px; }
/* مودالِ ثبت (نام/کد ملی/موبایل/کدِ پیامکی) */
.hs-m-f > span{ font-size:15px; }
.hs-m-f input{ font-size:17px; min-height:52px; }
.hs-m-go{ font-size:17px; min-height:54px; }
.hs-m-x{ width:40px; height:40px; }
.hs-m-sum-b{ font-size:15px; }
.hs-m-info{ font-size:15px; }
.hs-m-err{ font-size:14.5px; }
/* تقویمِ باز = سرآیند و همبرگر زیرِ آن (html.kgd-open را jdate می‌گذارد) */
html.kgd-open header{ z-index:5 !important; }
/* تا رسیدنِ داده، جای فرم رزرو شود تا صفحه نپرد */
.hs-boot{ height:auto; min-height:340px; }
/* تقویمِ شمسی — خانه‌های درشت و لمس‌پذیر */
.kgd-pop{ min-width:min(308px, calc(100vw - 20px)); max-width:calc(100vw - 20px);
  /* روی گوشیِ کوتاه‌قد تقویمِ بلند از صفحه بیرون می‌زد (گزارشِ مالک
     ۲۰۲۶-۰۸-۲۱)؛ سقفِ ارتفاع + اسکرولِ داخلی، هرگز بیرونِ دید نمی‌رود */
  max-height:calc(100vh - 110px); max-height:calc(100dvh - 110px);
  overflow-y:auto; overscroll-behavior:contain; }
@media (max-height:740px){
  .kgd-d{ min-height:38px; font:700 14.5px inherit; }
  .kgd-nav{ width:38px; height:38px; }
  .kgd-foot button{ min-height:38px; }}
.kgd-ttl{ font-size:16.5px; }
.kgd-nav{ width:42px; height:42px; font-size:19px; }
.kgd-dows i{ font-size:13px; }
.kgd-d{ min-height:44px; font:700 16px inherit; }
.kgd-foot button{ min-height:42px; font:700 14px inherit; }


/* ══════════════════════════════════════════════════════════════════
   سندِ زیارت — قابِ دسکتاپِ فرمِ ساده (۲۰۲۶-۰۸-۲۱)
   فرم و بلیط یک کاغذِ واحدند با درزِ پانچ‌شده در میان. طلا فقط چهار جا
   می‌آید: قابِ حاشیه، ایستگاه‌های طی‌شده، نشانِ گوشه و دکمهٔ اصلی —
   همین کمیاب‌بودن است که طلا را «قیمتی» نشان می‌دهد.
   ⚠ کلِ این بلوک زیرِ min-width:1024px است؛ روی گوشی حتی خوانده هم
   نمی‌شود و ساختارش هم اصلاً ساخته نمی‌شود (JS: docOn()).
   ══════════════════════════════════════════════════════════════════ */
@media (min-width:1024px){

  /* کارتِ فرم داخلِ سند: قابِ خودش را پس می‌دهد */
  .hs .hsd .hs-card.hsw{
    width:404px !important; max-width:404px !important; flex:none;
    margin:0 !important; background:transparent !important; border:none !important;
    border-radius:0 !important; box-shadow:none !important; padding:20px 24px 18px;
  }
  /* در حالتِ سند، جمعِ کل روی خودِ بلیط است؛ کارتِ قیمتِ زیرِ فرم تکرار
     می‌شد و همان عدد را دو بار نشان می‌داد. */
  .hs .hsd .hs-quote{display:none !important}}

/* ═══════════ قدمِ اولِ فرمِ رزرو ═══════════
   «چه نوع وسیله‌ای می‌خواهید؟» و پس از آن «چه نوع اتوبوسی؟»
   خواستهٔ مالک ۲۰۲۶-۰۸-۲۲؛ ظاهر در همان روز بازنویسی شد چون نسخهٔ اول
   «خام» بود. آیکون عمداً نیست — نقشِ نشانه را نوارِ طلاییِ لبه و حلقهٔ
   فلش بازی می‌کنند، پس صفحه بی‌آنکه شلوغ شود جهت می‌دهد. */
/* ⚠ ۲۰۲۶-۰۸-۲۲ — مالک: «تیتر رفته توی بنر گرافیکی، باید فاصله بگیره.»
   خانهٔ ویجت عمداً کمی زیرِ بنر کشیده می‌شود تا کارتِ فرم توی بنر بنشیند؛
   ولی قدمِ اول کارت نداشت و تیترش روی خودِ بنر می‌افتاد. حالا این قدم هم
   سطحِ خودش را دارد — همان جنسِ کارتِ فرم. */
.hs-gate{
  position: relative;
  margin: 14px 0 4px;
  padding: clamp(18px, 4.5vw, 28px) clamp(16px, 4vw, 24px) clamp(20px, 5vw, 28px);
  background: linear-gradient(180deg, #fffefb 0%, #fdfaf3 100%);
  border: 1px solid rgba(160, 133, 60, .22);
  border-radius: 20px;
  box-shadow:
    0 2px 4px rgba(76, 62, 20, .05),
    0 20px 44px -26px rgba(76, 62, 20, .40);
}
.hs-gate-t{
  margin: 2px 0 6px;
  font-size: clamp(20px, 5.2vw, 25px);
  font-weight: 900; line-height: 1.55;
  letter-spacing: -.2px;
  color: var(--g-900, #1b1b1b);
}
.hs-gate-s{
  margin: 0 0 clamp(14px, 3.5vw, 20px);
  font-size: 16px; line-height: 1.95;
  color: var(--muted, #5d5d5d);
}
.hs-gate-l{ display: grid; gap: 12px; }

/* ── کارت ── */
.hs-gate-c{
  position: relative;
  display: flex; align-items: center; gap: 14px;
  width: 100%; min-height: 84px;
  padding: 16px 18px 16px 16px;
  text-align: start; cursor: pointer;
  font-family: inherit; color: inherit;
  border: 1px solid rgba(160, 133, 60, .28);
  border-radius: 18px;
  background:
    linear-gradient(180deg, #fffefb 0%, #fdf9ef 100%);
  box-shadow:
    0 1px 2px rgba(76, 62, 20, .06),
    0 10px 26px -18px rgba(76, 62, 20, .35);
  overflow: hidden;
  transition: border-color .22s ease, box-shadow .22s ease,
              transform .22s ease, background .22s ease;
  -webkit-tap-highlight-color: transparent;
}
/* نوارِ طلاییِ لبهٔ آغازین — جایگزینِ آیکون */
.hs-gate-c::before{
  content: ""; position: absolute; inset-block: 14px; inset-inline-start: 0;
  width: 4px; border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, var(--gold, #c9a227), #a9821c);
  opacity: .55; transform: scaleY(.55); transform-origin: center;
  transition: transform .26s cubic-bezier(.2,.8,.2,1), opacity .26s ease;
}
.hs-gate-c:hover,
.hs-gate-c:focus-visible{
  border-color: rgba(160, 133, 60, .55);
  background: linear-gradient(180deg, #fffdf6 0%, #fdf6e6 100%);
  box-shadow:
    0 2px 4px rgba(76, 62, 20, .07),
    0 18px 34px -20px rgba(76, 62, 20, .45);
  transform: translateY(-2px);
}
.hs-gate-c:hover::before,
.hs-gate-c:focus-visible::before{ transform: scaleY(1); opacity: 1; }
.hs-gate-c:focus-visible{ outline: 3px solid var(--gold, #c9a227); outline-offset: 3px; }
.hs-gate-c:active{ transform: translateY(0); }

.hs-gate-b{ flex: 1 1 auto; min-width: 0; }
.hs-gate-c b{
  display: block;
  font-size: clamp(18px, 4.6vw, 20px);
  font-weight: 800; line-height: 1.55;
  color: var(--g-900, #1b1b1b);
}
.hs-gate-c i{
  display: block; font-style: normal;
  margin-top: 4px;
  font-size: 16px; line-height: 1.85;
  color: var(--muted, #5d5d5d);
}

/* حلقهٔ فلش */
.hs-gate-c .hs-gate-go{
  flex: 0 0 auto;
  display: grid; place-items: center;
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(201, 162, 39, .10);
  color: var(--gold-700, #8f6f10);
  font-size: 24px; line-height: 1;
  transform: scaleX(-1);
  transition: background .22s ease, transform .26s cubic-bezier(.2,.8,.2,1);
}
.hs-gate-c:hover .hs-gate-go,
.hs-gate-c:focus-visible .hs-gate-go{
  background: rgba(201, 162, 39, .2);
  transform: scaleX(-1) translateX(3px);
}

/* ═══ قدمِ وسیله: بزرگ، وسط‌چین، گرافیک‌دار (۲۰۲۶-۰۸-۲۲) ═══
   مالک: «وسط‌چین کن، بزرگ‌ترشان کن، گرافیک‌دارشان کن.» */
.hs-gate-veh{ gap: 14px; }
.hs-gate-c.hs-gate-big{
  flex-direction: column; justify-content: center; text-align: center;
  gap: 12px; min-height: 168px; padding: 24px 18px;
  border-radius: 22px;
}
.hs-gate-c.hs-gate-big b{
  font-size: clamp(20px, 5.2vw, 23px); font-weight: 900; line-height: 1.5;
}
/* ظرفیت — عددی که زائر واقعاً با آن تصمیم می‌گیرد */
.hs-gate-cap{
  display:block; font-style:normal; margin-top:5px;
  font-size:16px; font-weight:700; line-height:1.6;
  color:#7d6110;
}
.hs-gate-art{
  display: grid; place-items: center;
  width: 96px; height: 96px; border-radius: 50%;
  background: radial-gradient(circle at 50% 42%,
              rgba(201,162,39,.20) 0%, rgba(201,162,39,.08) 55%, transparent 72%);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), background .26s ease;
}
.hs-gate-art img{ width: 76px; height: 76px; display: block; }
.hs-gate-c.hs-gate-big:hover .hs-gate-art,
.hs-gate-c.hs-gate-big:focus-visible .hs-gate-art{
  transform: scale(1.06) translateY(-2px);
  background: radial-gradient(circle at 50% 42%,
              rgba(201,162,39,.32) 0%, rgba(201,162,39,.12) 58%, transparent 74%);
}
/* نوارِ لبه در کارتِ بزرگ به خطِ زیرین تبدیل می‌شود */
.hs-gate-c.hs-gate-big::before{
  inset-block: auto 0; inset-inline: 22%; width: auto; height: 4px;
  border-radius: 4px 4px 0 0;
  transform: scaleX(.4);
}
.hs-gate-c.hs-gate-big:hover::before,
.hs-gate-c.hs-gate-big:focus-visible::before{ transform: scaleX(1); }

@media (min-width: 560px){
  .hs-gate-veh{ grid-template-columns: repeat(3, 1fr); }
  .hs-gate-c.hs-gate-big{ min-height: 190px; }}
@media (max-height: 760px){
  .hs-gate-c.hs-gate-big{ min-height: 140px; padding-block: 18px; }
  .hs-gate-art{ width: 78px; height: 78px; }
  .hs-gate-art img{ width: 62px; height: 62px; }}

/* ── برگشت ── */
.hs-gate-back{
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 48px; margin-top: 14px; padding: 0 4px;
  background: none; border: 0; cursor: pointer;
  font-family: inherit; font-size: 16px; font-weight: 700;
  color: var(--gold-700, #8f6f10);
  border-bottom: 1px solid transparent;
  transition: border-color .18s ease, color .18s ease;
}
.hs-gate-back:hover{ color: #6d5409; border-bottom-color: currentColor; }
.hs-gate-l .hs-gate-c{ animation: kgGateIn .42s cubic-bezier(.2,.8,.2,1) both; }
.hs-gate-l .hs-gate-c:nth-child(2){ animation-delay: .07s; }
.hs-gate-l .hs-gate-c:nth-child(3){ animation-delay: .14s; }
@media (prefers-reduced-motion: reduce){
  .hs-gate-l .hs-gate-c{ animation: none; }
  .hs-gate-c, .hs-gate-c::before, .hs-gate-c .hs-gate-go{ transition: none; }}

/* ── گوشیِ کوتاه: فشرده‌تر تا هر سه گزینه یک‌جا دیده شوند ── */
@media (max-height: 720px){
  .hs-gate{ padding-block: 14px 18px; }
  .hs-gate-t{ margin-bottom: 4px; }
  .hs-gate-l{ gap: 10px; }
  .hs-gate-l .hs-gate-c:not(:has(i)){ min-height: 64px; }}

/* ── دسکتاپ ── */
@media (min-width: 760px){
  .hs-gate-l{ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
  .hs-gate-c{ min-height: 96px; }}

/* ═══ سه کارتِ بسته، بالای فرم (۲۰۲۶-۰۸-۲۲) ═══
   جای کشوی برداشته‌شدهٔ «پکیجِ کامل» را گرفتند. */
.hs-pkgs-top{ margin:0 0 14px; display:grid; gap:11px; }
@media (min-width:760px){ .hs-pkgs-top{ grid-template-columns:repeat(3,1fr); }}
.hs-pkgs-top .hs-pkg{ min-height:64px; }

/* ═══ نوارِ «وسیلهٔ انتخاب‌شده» — جایگزینِ سه تب (۲۰۲۶-۰۸-۲۲) ═══
   مالک: «چیزی که انتخاب کرده باید نوشته بشه و یک لینکِ بازگشت.» */
.hs .hs-chosen{
  /* چسبان: کاربر مرز را پایین‌تر انتخاب می‌کند؛ اگر نوار بالا بماند،
     روی گوشی تغییرِ قیمت را اصلاً نمی‌بیند. */
  position:sticky; inset-block-start:0; z-index:6;
  display:flex; align-items:center; gap:10px;
  flex-wrap:nowrap;
  margin:0 0 10px; padding:11px 14px;
  border-radius:14px;
  background:linear-gradient(180deg,#fffefb 0%,#fdf9ef 100%);
  border:1px solid rgba(160,133,60,.26);
  box-shadow:0 1px 2px rgba(76,62,20,.05);
}
.hs .hs-chosen-v{
  position:relative; padding-inline-start:14px;
  font-size:18px; font-weight:900; color:#1b1b1b; line-height:1.6;
}
.hs .hs-chosen-v::before{
  content:""; position:absolute; inset-block:4px; inset-inline-start:0;
  width:4px; border-radius:4px;
  background:linear-gradient(180deg,var(--gold,#c9a227),#a9821c);
}
.hs .hs-chosen-b{
  display:inline-flex; align-items:center; gap:6px;
  min-height:48px; padding:0 12px;
  background:none; border:0; cursor:pointer;
  font-family:inherit; font-size:16px; font-weight:700;
  color:var(--gold-700,#8f6f10);
  border-bottom:1px solid transparent;
  transition:color .18s ease, border-color .18s ease;
}
.hs .hs-chosen-b:hover{ color:#6d5409; border-bottom-color:currentColor; }
.hs .hs-chosen-b:focus-visible{ outline:3px solid var(--gold,#c9a227); outline-offset:3px; }

/* قیمتِ زندهٔ نوارِ بالا — «کارنامه» */
.hs .hs-chosen-v{ flex:0 1 auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hs .hs-chosen-p{
  flex:0 0 auto; margin-inline-start:auto;
  padding:5px 11px; border-radius:11px;
  background:linear-gradient(180deg,#d9b436,#c19a1e);
  color:#171410; font-size:17px; font-weight:900; white-space:nowrap;
  box-shadow:0 2px 6px -2px rgba(140,110,20,.6);
}
/* ⚠ گریزِ ba را مرورگر «ba» خواند (اسکنرِ سی‌اس‌اس تا ۶ رقم جلو
   می‌رود و مرزِ اِسکیپ مبهم شد). نویسهٔ واقعی گذاشته شد. */
.hs .hs-chosen.has-p .hs-chosen-b{
  flex:0 0 auto; width:44px; min-width:44px; padding:0;
  justify-content:center; overflow:hidden; text-indent:-9999px;
}
.hs .hs-chosen.has-p .hs-chosen-b::before{
  content:"↺"; text-indent:0; float:right; width:44px; text-align:center;
  font-size:23px; line-height:48px; color:var(--gold-700,#8f6f10);
}
@media (min-width:560px){
  .hs .hs-chosen.has-p .hs-chosen-b{
    width:auto; min-width:0; padding-inline:12px; text-indent:0; overflow:visible;
  }
  .hs .hs-chosen.has-p .hs-chosen-b::before{ content:none; }}

/* ⚠ ۲۰۲۶-۰۸-۲۲ — مالک: «دیتاپیکر را باز می‌کنم می‌رود زیرِ کارنامه.»
   ریشه‌اش ترتیبِ لایه نبود بلکه **بسترِ انباشت** بود: .hs-card خودش
   z-index:2 دارد، پس تقویمِ داخلش هرچقدر هم عددِ بزرگ بگیرد از کارت
   بالاتر نمی‌رود؛ و نوارِ چسبان با z-index:6 بالاتر از کلِ کارت بود.
   jdate هنگام باز شدن html.kgd-open می‌گذارد — از همان استفاده شد تا
   فقط در همان لحظه نوار عقب برود. */
html.kgd-open .hs .hs-chosen{ z-index:0; }
html.kgd-open .hs .hs-card{ z-index:8; }

/* ═══ هویت و اطمینان داخلِ فرم (۲۰۲۶-۰۸-۲۳) ═══
   بازرسی: «نامِ شرکت صفر بار در موتورِ فرم هست؛ شماره فقط یک دایره است.»
   این بلوک آخرین چیزی است که زائر پیش از زدنِ دکمه می‌بیند. */
.hs .hs-assure{
  margin-top:16px; padding:14px 15px;
  border:1px solid rgba(160,133,60,.26); border-radius:14px;
  background:linear-gradient(180deg,#fffefb 0%,#fdf9ef 100%);
}
.hs .hs-assure p{ margin:0 0 8px; font-size:16px; line-height:1.9; color:#3f3f3f; }
.hs .hs-assure-w{ font-weight:700; color:#2a2a2a !important; }
.hs .hs-assure-f{ color:#14663a !important; font-weight:700; }
.hs .hs-assure-t{
  display:flex; align-items:center; justify-content:center; gap:8px;
  min-height:52px; margin:10px 0 8px;
  border:1.5px solid rgba(160,133,60,.4); border-radius:12px; background:#fff;
  font-size:18px; font-weight:800; color:#1b1b1b; text-decoration:none;
}
.hs .hs-assure-t:hover{ border-color:var(--gold,#c9a227); }
.hs .hs-assure-b{
  margin:0 !important; font-size:14.5px !important; color:#6b6b6b !important;
  text-align:center; line-height:1.8;
}

/* ═══ دکمهٔ برگشت: برچسب برنمی‌دارد (۲۰۲۶-۰۸-۲۳) ═══
   بازرسی: «به یک ↺ِ ۴۴×۴۹ جمع می‌شود، ۱۰ پیکسل کنارِ قیمت، و بی‌هشدار
   همه‌چیز را پاک می‌کند.» حالا در همهٔ عرض‌ها برچسبِ کوتاه دارد. */
.hs .hs-chosen.has-p .hs-chosen-b{
  width:auto !important; min-width:0 !important; padding-inline:10px !important;
  text-indent:0 !important; overflow:visible !important; font-size:15px !important;
}
.hs .hs-chosen.has-p .hs-chosen-b::before{ content:none !important; }
/* ═══ ۲۰۲۶-۰۸-۲۳ — چهار اصلاحِ سهولت ═══ */

/* ۱) پیامِ خطا، زیرِ همان فیلد */
.hs .hs-fld-err{
  display:block; font-style:normal; margin-top:5px;
  font-size:12.5px; font-weight:800; line-height:1.75; color:#c0392b;
}
.hs .hs-fld-err::before{ content:'⚠ '; }

/* ۲) واحدِ قیمت خوانا — پیش از این ۱۰٫۵ پیکسل بود، ریزترین متنِ سایت */
.hs .hs-pkg-p i{ font-size:13px !important; opacity:1; }
.hs .hs-chosen-p{ font-size:17px; }

/* ═══ ۲۰۲۶-۰۸-۲۳ — خطِ «تقریباً نفری … تومان» ═══
   ⚠ نامِ کلاس عمداً hs-pkg-tm است نه hs-pkg-t: دومی از قبل «عنوانِ
   بسته» بود و یک‌بار قاعده‌ها روی هم افتادند. */
.hs .hs-pkg-tm{
  display:block; margin-top:3px;
  font-size:12.5px; font-weight:700; line-height:1.8; color:#7d6110;
}
.hs .hs-q-toman{
  margin-top:6px; padding-top:7px;
  border-top:1px dashed rgba(0,0,0,.10);
  font-size:13px; font-weight:700; color:#5d5d5d; text-align:center;
}

/* ═══ ۲۰۲۶-۰۸-۲۳ — کادرهای جمع‌وجورِ تاریخ و ساعت ═══
   مالک: «برچسب داخلِ کادر برود که فضای زیادی نگیرد، و خطا هم جای همان
   برچسب بنشیند که فرم deform نشود.»
   پیش از این هر فیلد ۲۳ پیکسل بیشتر از کادرش جا می‌گرفت (۱۷ برچسب +
   ۶ فاصله) و چهار فیلد روی هم ۹۲ پیکسل. */
.hs .hs-fld.hs-date,
.hs .hs-fld.hs-time,
.hs .hs-fld.hs-brd{ position:relative; gap:0; }

.hs .hs-fld.hs-date > span,
.hs .hs-fld.hs-time > span,
.hs .hs-fld.hs-brd > span,
.hs .hs-fld.hs-date > .hs-fld-err,
.hs .hs-fld.hs-time > .hs-fld-err,
.hs .hs-fld.hs-brd > .hs-fld-err{
  position:absolute; inset-block-start:6px; inset-inline-start:13px;
  height:auto; line-height:1.5; margin:0; padding:0;
  font-size:11px; font-weight:800; font-style:normal;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  max-width:calc(100% - 26px); pointer-events:none; z-index:2;
}
.hs .hs-fld.hs-date > span,
.hs .hs-fld.hs-time > span,
.hs .hs-fld.hs-brd > span{ color:var(--muted,#7a7364); }

.hs .hs-fld.hs-date > .hs-fld-err,
.hs .hs-fld.hs-time > .hs-fld-err{ color:#c0392b; margin-top:0; }
.hs .hs-fld.hs-date > .hs-fld-err::before,
.hs .hs-fld.hs-time > .hs-fld-err::before{ content:'⚠ '; }

/* ⚠ بازنگری: برچسب پنهان نمی‌شود، فقط قرمز می‌شود.
   نسخهٔ اولِ امروز برچسب را برمی‌داشت و فیلدِ دومِ قرمز بی‌نام می‌مانْد —
   کاربر نمی‌فهمید کدام ورود است کدام خروج. حالا نام می‌مانَد، ⚠ اضافه
   می‌شود، و ارتفاع هم عوض نمی‌شود. */
.hs .hs-fld.hs-date.is-miss > span,
.hs .hs-fld.hs-time.is-miss > span,
.hs .hs-fld.hs-brd.is-miss > span{ color:#c0392b !important; }
.hs .hs-fld.hs-date.is-miss > span::before,
.hs .hs-fld.hs-time.is-miss > span::before,
.hs .hs-fld.hs-brd.is-miss > span::before{ content:'⚠ '; }

/* ورودی جای برچسب را باز می‌کند */
.hs .hs-fld.hs-date input,
.hs .hs-fld.hs-time input{
  height:52px; padding-block:22px 6px; padding-inline:13px;
  line-height:1.4;
}

/* ⚠ ۲۰۲۶-۰۸-۲۳ — مرزها هم مثلِ تاریخ: برچسب داخلِ کادر.
   ارتفاع از ۴۶ به ۵۲ می‌رود ولی سطرِ ۱۷ پیکسلیِ برچسب و ۶ پیکسل فاصلهٔ
   بالایش حذف می‌شود ⇒ خالص ۱۷ پیکسل کمتر برای هر مرز. */
.hs .hs-fld.hs-brd select{
  height:52px !important;
  padding-block:20px 4px !important;
  padding-inline:11px !important;
  line-height:1.4;
}

/* ⚠ ۲۰۲۶-۰۸-۲۳ — تاریخِ خوانا، زیرِ کادرِ خودش */
.hs .hs-fld.hs-date .hs-when{
  margin:5px 2px 0; padding:0; border:0; background:none;
  font-size:11.5px; font-weight:700; line-height:1.7;
  color:#1f7a3d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* ⚠ ۲۰۲۶-۰۸-۲۳ — در ≤۴۶۰ یک قاعدهٔ عمومی هر .hs-date را
   تمام‌عرض می‌کند (برای ردیفِ چندمسیره درست است). ولی در ردیفِ
   ورود/خروج، تاریخ و ساعت باید کنارِ هم باشند. */
@media(max-width:460px){
  .hs .hs-row.hs-ziy-when .hs-date{ grid-column:auto !important; }
}

/* ⚠ ۲۰۲۶-۰۸-۲۳ — دکمهٔ کم/زیادِ تعداد ۲۶ پیکسل عرض داشت
   (حداقلِ لمسی ۴۴ است) و گلیفِ منها هم کم‌رنگ بود. دقیقاً همین دکمه
   جایی است که سفارش از یک اتوبوس به چند تا می‌رسد. */
.hs .hs-step-b{
  min-width:46px !important; width:46px !important; min-height:46px;
  font-size:21px !important; color:#6d5409 !important;
}

/* ═══ ۲۰۲۶-۰۸-۲۳ — کادرِ تاریخ: نوارِ پایین همیشه رزرو است ═══
   مالک: «قسمتِ پایینِ کادر را بردار تا توضیحاتِ تاریخ را بنویسی، برای
   اینکه فرم هل داده نشود به بالا؛ و وقتی تاریخ وارد شد نرم و زیبا
   ظاهر شود.»
   پس خودِ label کادر می‌شود و input بی‌قاب داخلش می‌نشیند؛ نوارِ پایین
   همیشه همان ارتفاع را دارد، فقط محتوایش محو/ظاهر می‌شود. */
.hs .hs-fld.hs-date{
  border:1.5px solid #cfc4a8; border-radius:10px; background:#fff;
  overflow:hidden;
}
.hs .hs-fld.hs-date > input{
  border:0 !important; background:transparent !important;
  height:auto !important; box-shadow:none !important;
  padding:20px 13px 4px !important;
}
.hs .hs-fld.hs-date > input:focus{ outline:none; }
.hs .hs-fld.hs-date:focus-within{
  border-color:var(--gold,#c9a227);
  box-shadow:0 0 0 3px rgba(201,162,39,.15);
}
.hs .hs-fld.hs-date.is-miss{ border-color:#d95757; background:#fff6f6; }

.hs .hs-whenslot{
  height:23px; margin:0; padding:0 12px;
  display:flex; align-items:center;
  border-top:1px dashed transparent;
  opacity:0; transition:opacity .24s ease, border-color .24s ease;
  overflow:hidden;
}
.hs .hs-whenslot.is-on{ opacity:1; border-top-color:rgba(0,0,0,.10); }
.hs .hs-whenslot .hs-when{
  margin:0; padding:0; border:0; background:none;
  font-size:11.5px; font-weight:700; line-height:1.6; color:#1f7a3d;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; width:100%;
}
/* فیلدِ ساعت هم‌قد بماند تا ردیف ناهموار نشود */
.hs .hs-fld.hs-time > input{ height:75px !important; padding-block:20px 4px !important; }

/* ⚠ ۲۰۲۶-۰۸-۲۳ — کارت‌های انتخابِ وسیله کمی جمع‌تر تا صحنهٔ متحرک جا
   پیدا کند. مالک قبلاً گفته بود «بزرگ‌ترشان کن» و همچنان بزرگ‌اند
   (۱۸۰ پیکسل، آیکونِ ۶۸، نامِ ۲۰ پیکسلی)؛ فقط فضای مردهٔ دورشان کم شد
   تا انیمیشن دیده شود و هر سه وسیله هم زیرِ تا نروند. */
@media (max-width:760px){
  .hs-gate-c.hs-gate-big{ min-height:0 !important; padding:14px 16px !important; gap:8px !important; }
  .hs-gate-art{ width:74px !important; height:74px !important; }
  .hs-gate-art img{ width:60px !important; height:60px !important; }
  .hs-gate-c.hs-gate-big b{ font-size:19px !important; line-height:1.4 !important; }
  .hs-gate-cap{ font-size:14.5px !important; margin-top:2px !important; }
  .hs-gate-veh{ gap:10px !important; }
  .hs-gate-t{ margin-bottom:10px !important; }
}

/* ═══ ۲۰۲۶-۰۸-۲۳ — کادرِ دونیمه، شبیهِ فیلدهای گوگل ═══
   مالک: «خودِ کادر را نیمه بکن و مقدار را آن‌جا بنویس؛ و خطا نصفِ
   کادرِ بالا را بگیرد.»
   نیمهٔ بالا برچسب (یا موقعِ خطا، جمله)، خطِ باریکِ جداکننده، نیمهٔ
   پایین مقدار. ارتفاع ثابت است، پس هیچ‌چیز نمی‌پرد. */
.hs .hs-fld.hs-brd,
.hs .hs-fld.hs-time{
  border:1.5px solid #cfc4a8; border-radius:10px; background:#fff;
  overflow:hidden;
}
.hs .hs-fld.hs-brd select,
.hs .hs-fld.hs-time > input{
  border:0 !important; background:transparent !important; box-shadow:none !important;
}
.hs .hs-fld.hs-brd:focus-within,
.hs .hs-fld.hs-time:focus-within{
  border-color:var(--gold,#c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.15);
}

/* خطِ نیمه — زیرِ برچسب، سراسرِ کادر */
.hs .hs-fld.hs-brd > span::after,
.hs .hs-fld.hs-time > span::after,
.hs .hs-fld.hs-date > span::after{
  content:''; position:absolute;
  inset-inline:-13px; inset-block-start:calc(100% + 3px);
  height:1px; background:rgba(0,0,0,.08);
}

/* موقعِ خطا: نیمهٔ بالا قرمزِ کم‌رنگ می‌شود و جمله همان‌جا می‌نشیند */
.hs .hs-fld.is-miss{ border-color:#d95757 !important; }
.hs .hs-fld.hs-brd.is-miss > span,
.hs .hs-fld.hs-time.is-miss > span,
.hs .hs-fld.hs-date.is-miss > span{
  background:#fdecec; padding-inline:13px; padding-block:3px;
  inset-inline-start:0; inset-block-start:0;
  width:100%; max-width:100%; box-sizing:border-box;
}
.hs .hs-fld.hs-brd.is-miss > span::after,
.hs .hs-fld.hs-time.is-miss > span::after,
.hs .hs-fld.hs-date.is-miss > span::after{ background:rgba(217,87,87,.28); }
.hs .hs-fld.is-miss select,
.hs .hs-fld.is-miss > input{ background:#fff8f8 !important; }

/* ⚠ ۲۰۲۶-۰۸-۲۳ — سطرِ بازگشت، بیرون از نوارِ چسبان */
.hs .hs-backrow{ display:flex; margin:0 0 6px; }
.hs .hs-backrow .hs-chosen-b{
  width:auto !important; min-width:0 !important; min-height:44px;
  padding-inline:4px !important; text-indent:0 !important;
  overflow:visible !important; font-size:15px !important;
}
.hs .hs-backrow .hs-chosen-b::before{ content:none !important; }
/* نوار دیگر فقط دو عنصر دارد — جای عنوان باز می‌شود */
.hs .hs-chosen-v{ flex:1 1 auto; }

/* ═══ ۲۰۲۶-۰۸-۲۳ — کدِ تخفیف ═══ */
.hs .hs-disc{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px;
  align-items:stretch; margin:12px 0 4px;
}
.hs .hs-disc-s{ grid-column:1 / -1; margin-top:2px; }
.hs .hs-disc-f{ position:relative; gap:0;
  border:1.5px solid #cfc4a8; border-radius:10px; background:#fff; overflow:hidden; }
.hs .hs-disc-f > span{
  position:absolute; inset-block-start:6px; inset-inline-start:13px;
  margin:0; height:auto; line-height:1.5; font-size:11px; font-weight:800;
  color:var(--muted,#7a7364); pointer-events:none; z-index:2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:calc(100% - 26px);
}
.hs .hs-disc-f > input{
  height:52px !important; border:0 !important; background:transparent !important;
  padding-block:22px 6px !important; padding-inline:13px !important;
  font-weight:700; letter-spacing:.6px;
}
.hs .hs-disc-b{
  min-width:84px; min-height:52px; padding:0 16px;
  border:1.5px solid #ded2ab; border-radius:10px; background:#fdf9ef;
  font-family:inherit; font-size:14.5px; font-weight:800; color:#6d5409; cursor:pointer;
  transition:background .16s ease, color .16s ease;
}
.hs .hs-disc-b:hover:not(:disabled){ background:var(--gold,#c9a227); color:#fff; }
.hs .hs-disc-b:disabled{ opacity:.5; cursor:default; }
.hs .hs-disc-ok{ display:block; font-size:13px; font-weight:800; color:#1f7a3d; line-height:1.9; }
.hs .hs-disc-no{ display:block; font-size:12.5px; font-weight:700; color:#c0392b; line-height:1.9; }
.hs .hs-q-disc{
  display:flex; justify-content:space-between; gap:10px;
  font-size:13px; font-weight:800; color:#1f7a3d; padding-top:5px;
}

/* ═══ ۲۰۲۶-۰۸-۲۳ — سه اصلاحِ آخرِ بازرسی ═══ */

/* ۱) «برآوردِ هزینه» حالا بالای دکمهٔ ثبت است و باید مثلِ یک جمع‌بندی
      دیده شود، نه یک یادداشتِ ته صفحه. */
.hs .hs-quote.is-on{
  margin:14px 0 4px; padding:13px 15px;
  border:1.5px solid rgba(160,133,60,.30); border-radius:14px;
  background:linear-gradient(180deg,#fffdf6 0%,#fdf8ea 100%);
}

/* ۲) نوارِ پای کارتِ وسیله بریده به‌نظر می‌رسید (۴ پیکسل، چسبیده به لبه،
      نصفه‌مانده با scaleX). حالا یک زیرخطِ کوتاه و کامل است. */
.hs .hs-gate-c.hs-gate-big::before{
  inset-block:auto 10px !important; inset-inline:38% !important;
  height:3px !important; border-radius:3px !important;
  transform:scaleX(1) !important; opacity:.30 !important;
}
.hs .hs-gate-c.hs-gate-big:hover::before,
.hs .hs-gate-c.hs-gate-big:focus-visible::before{
  inset-inline:26% !important; opacity:1 !important;
}

/* ۳) کارتِ بسته باید «قابلِ انتخاب» به‌نظر برسد.
      بازرس: «کارتِ خاموش یک مستطیلِ کِرمیِ تخت است؛ کاربر گزینهٔ
      ارزان‌تر را متنِ توضیحی می‌پندارد.» یک حلقهٔ انتخاب می‌گذاریم —
      همان نشانه‌ای که هرکس از رادیو‌باتن می‌شناسد. */
.hs .hs-pkg{ padding-inline-end:52px !important; }
.hs .hs-pkg::after{
  content:''; position:absolute;
  inset-block-start:16px; inset-inline-end:16px;
  width:22px; height:22px; border-radius:50%;
  border:2px solid rgba(120,100,45,.38); background:#fff;
  transition:border-color .2s ease, background .2s ease;
}
.hs .hs-pkg:hover::after{ border-color:var(--gold,#c9a227); }
.hs .hs-pkg.on::after{
  border-color:#1b1b1b; background:#1b1b1b;
  box-shadow:inset 0 0 0 4px #fff, inset 0 0 0 9px #1b1b1b;
}

/* ═══ ۲۰۲۶-۰۸-۲۳ — سه یافتهٔ آخرِ بازرسی ═══ */

/* ۱) آیکنِ تقویم داخلِ کادرِ تاریخ.
      بازرس (هر دو، مستقل): «فیلدِ اختیاری راهنما دارد و فیلدِ اجباری
      یک مستطیلِ سفیدِ خالی است.» مالک گفته بود متنِ راهنما برداشته شود
      — پس متن برنمی‌گردد، فقط نشانه. */
.hs .hs-fld.hs-date::after{
  content:'🗓';
  position:absolute; inset-block-start:26px; inset-inline-end:12px;
  font-size:16px; line-height:1; opacity:.42; pointer-events:none;
  transition:opacity .18s ease;
}
.hs .hs-fld.hs-date:focus-within::after{ opacity:.85; }
/* وقتی تاریخ پر شد، نشانه لازم نیست */
.hs .hs-fld.hs-date:has(.hs-when)::after{ opacity:0; }
/* جا برای آیکن، تا با عددِ تاریخ روی هم نیفتد */
.hs .hs-fld.hs-date input{ padding-inline-end:34px !important; }

/* ۲) پیامِ خطا از ۱۱ به ۱۲٫۵ پیکسل — ریزترین متنِ صفحه بود، در حالی که
      حیاتی‌ترین جملهٔ فرم است. */
.hs .hs-fld.hs-date.is-miss > span,
.hs .hs-fld.hs-time.is-miss > span,
.hs .hs-fld.hs-brd.is-miss > span{
  font-size:12.5px !important;
  letter-spacing:-.2px;
}
/* موقعِ خطا آیکن کنار می‌رود تا جمله جا بگیرد */
.hs .hs-fld.hs-date.is-miss::after{ opacity:0; }

/* ⚠ ۲۰۲۶-۰۸-۲۳ — در حالتِ خطا برچسب باید کلِ عرضِ کادر را
   داشته باشد. قاعدهٔ پایه max-width:calc(100% - 26px) دارد که برای برچسبِ
   کوتاه درست است ولی جملهٔ خطا را می‌برید (اندازه‌گیری: ۱۲۱ پیکسل
   جا برای ۱۲۵ پیکسل متن). */
.hs .hs-fld.hs-date.is-miss > span,
.hs .hs-fld.hs-time.is-miss > span,
.hs .hs-fld.hs-brd.is-miss > span{
  max-width:100% !important; width:100% !important;
  padding-inline:8px !important; inset-inline-start:0 !important;
}

/* ⚠ ۲۰۲۶-۰۸-۲۳ — نشانِ ⚠ داخلِ کادر برداشته شد: حدودِ ۱۶
   پیکسل می‌گرفت و دقیقاً همین باعثِ بریده‌شدنِ جمله بود
   (اندازه‌گیری: ۱۵۸ پیکسل متن در ۱۴۵ پیکسل جا). کادرِ قرمز و
   پس‌زمینهٔ صورتی خودشان خطا را می‌گویند. */
/* ⚠ نشانِ هشدار ماند — جا هست و دیده‌شدنِ خطا را قوی‌تر می‌کند. */

/* ۲۰۲۶-۰۸-۲۳ — کشوی ماه در سرِ تقویم */
.kgd-pop .kgd-ms{
  flex:1; min-width:0; max-width:180px; margin-inline:6px;
  height:38px; padding:0 8px;
  border:1.5px solid #e0d8c6; border-radius:9px; background:#fff;
  font-family:inherit; font-size:14.5px; font-weight:800; color:#1b1b1b;
  text-align:center; text-align-last:center; cursor:pointer;
}
.kgd-pop .kgd-ms:focus{ outline:none; border-color:var(--gold,#c9a227); }

/* ═══ ۲۰۲۶-۰۸-۲۴ — کارت‌های «مرز به مرز» و «کاپوتاژ» حالتِ انتخابی ═══
   مالک: «این دو کارت هم حالتِ انتخابی دربیار.»
   تا امروز فقط یک فلشِ «›» داشتند — همان ایرادی که بازرس دربارهٔ
   کارت‌های بسته گرفت: «معلوم نیست قابلِ انتخاب است یا متنِ توضیحی.»
   حالا همان حلقه‌ای که روی بسته‌ها نشست، این‌جا هم هست. */
.hs .hs-gate-c[data-gate]{ padding-inline-end: 56px; }

/* فلشِ قدیمی جایش را به حلقه می‌دهد */
.hs .hs-gate-c[data-gate] .hs-gate-go{ display: none; }

.hs .hs-gate-c[data-gate]::after{
  content: ''; position: absolute;
  inset-inline-end: 18px; inset-block-start: 50%;
  transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%;
  border: 2px solid rgba(120, 100, 45, .38); background: #fff;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.hs .hs-gate-c[data-gate]:hover::after,
.hs .hs-gate-c[data-gate]:focus-visible::after{
  border-color: var(--gold, #c9a227);
}
.hs .hs-gate-c[data-gate].on{
  border-color: rgba(160, 133, 60, .75);
  background: linear-gradient(180deg, #fffdf4 0%, #fbf3dd 100%);
}
.hs .hs-gate-c[data-gate].on::after{
  border-color: #1b1b1b; background: #1b1b1b;
  box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 10px #1b1b1b;
}

/* ═══ ۲۰۲۶-۰۸-۲۴ — تقویمِ دوماهه ═══
   مالک: «دو روز مانده ماه تمام شود و کاربرِ سن‌بالا نمی‌داند ماه را
   چطور عوض کند.» دو ماه پشتِ سرِ هم، با اسکرول — نه یک ماه و یک معما. */
.kgd-pop .kgd-months{
  max-height: 46vh; overflow-y: auto; overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.kgd-pop .kgd-mt{
  margin: 14px 0 6px; padding-top: 12px;
  border-top: 1px dashed rgba(0,0,0,.10);
  font-size: 14px; font-weight: 900; color: #1b1b1b; text-align: center;
}
/* سرِ ستون‌ها در ماهِ دوم هم تکرار می‌شود؛ کمی کم‌رنگ‌تر تا شلوغ نشود */
.kgd-pop .kgd-mt + .kgd-dows{ opacity: .75; }

/* ═══ ۲۰۲۶-۰۸-۲۴ — برچسب روی خطِ کادر (نه داخلش) ═══
   مالک با عکس: «روی کادر نوشته شود، که باعثِ گشاد شدنِ فیلد نشه. اگر
   خطا بده اونجا بده، اگر توضیحات بنویسی اونجا بنویس.»
   پیش از این برچسب داخل بود و ورودی ۲۰ پیکسل padding بالا می‌گرفت —
   دقیقاً همان گشاد شدن. ارتفاعِ فیلدِ تاریخ ۷۳ پیکسل شده بود.
   ⚠ پس‌زمینهٔ برچسب باید همان پس‌زمینهٔ پشتِ کادر باشد تا خط را ببُرد؛
   سنجیده شد: .hs-card سفیدِ تخت است. */
.hs .hs-fld.hs-date > span,
.hs .hs-fld.hs-time > span,
.hs .hs-fld.hs-brd  > span{
  inset-block-start: -8px !important;
  inset-inline-start: 11px !important;
  width: auto !important; max-width: calc(100% - 30px) !important;
  padding: 0 6px !important;
  background: #fff !important;
  line-height: 1.4 !important;
  border-radius: 4px;
  z-index: 3;
}
/* خطِ جداکنندهٔ داخلِ کادر دیگر معنا ندارد */
.hs .hs-fld.hs-date > span::after,
.hs .hs-fld.hs-time > span::after,
.hs .hs-fld.hs-brd  > span::after{ content: none !important; }

/* ورودی تمامِ ارتفاع را می‌گیرد و متنش وسط می‌ماند */
.hs .hs-fld.hs-date input,
.hs .hs-fld.hs-time input{
  height: 48px !important;
  padding-block: 0 !important;
  padding-inline: 13px !important;
}
.hs .hs-fld.hs-date input{ padding-inline-end: 34px !important; }
.hs .hs-fld.hs-brd select{
  height: 48px !important;
  padding-block: 0 !important;
  padding-inline: 11px !important;
}
.hs .hs-fld.hs-date::after{ inset-block-start: 16px !important; }

/* ── خطا: جای همان برچسب، روی خط ── */
.hs .hs-fld.hs-date.is-miss > span,
.hs .hs-fld.hs-time.is-miss > span,
.hs .hs-fld.hs-brd.is-miss  > span{
  background: #fff !important;
  color: #c0392b !important;
  inset-inline-start: 11px !important;
  width: auto !important; max-width: calc(100% - 22px) !important;
  padding: 0 6px !important;
}

/* ── تاریخِ انتخاب‌شده: آن هم روی خط، نه سطرِ جدا زیرِ کادر ──
   سطرِ جدا فیلد را از ۵۲ به ۷۳ پیکسل می‌برد؛ همان گشاد شدنی که مالک
   نمی‌خواست. حالا کنارِ نامِ فیلد روی خط می‌نشیند. */
/* ⚠ ۲۰۲۶-۰۸-۲۵ — مالک: تاریخِ خوانا روی خطِ **پایین** بنشیند،
   نه بالا. خطِ بالا نامِ فیلد را دارد و دوتایی شلوغ می‌شد؛ خطِ
   پایین خالی است. */
.hs .hs-fld.hs-date .hs-when{
  position: absolute; inset-block-start: auto; inset-block-end: -8px;
  inset-inline-end: 11px; inset-inline-start: auto;
  margin: 0 !important; padding: 0 6px !important;
  background: #fff; border-radius: 4px; z-index: 3;
  max-width: 62%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-size: 11px; font-weight: 800; line-height: 1.4; color: #1f7a3d;
}
/* وقتی تاریخ آمد، نامِ فیلد کوتاه‌تر می‌شود تا جا باز کند */
.hs .hs-fld.hs-date:has(.hs-when) > span{ max-width: 36% !important; }

/* ⚠ ۲۰۲۶-۰۸-۲۴ — .hs-whenslot حتی خالی ۲۳ پیکسل می‌گرفت و کادرِ تاریخ
   را از ۵۰ به ۷۳ پیکسل می‌برد. مالک با عکس گفته بود فیلد نباید گشاد
   شود. حالا ارتفاعش صفر است و تاریخِ خوانا از دلش روی خطِ کادر می‌نشیند
   (قاعدهٔ .hs-when بالاتر، absolute). */
.hs .hs-fld.hs-date .hs-whenslot{
  height: 0 !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important;
  border: 0 !important; overflow: visible !important;
}

/* ⚠ ۲۰۲۶-۰۸-۲۴ — برچسب روی خط می‌نشیند (top:-8px)، پس
   نیمهٔ بالایش بیرونِ کادر است. overflow:hidden که برای «کادرِ دونیمه»
   گذاشته بودم دقیقاً همان نیمه را می‌برید — مالک: «مرز ورود و خروج و
   ساعت، فیلد به درستی نمایش داده نمی‌شه.» */
.hs .hs-fld.hs-brd,
.hs .hs-fld.hs-time,
.hs .hs-fld.hs-date{ overflow: visible !important; }

/* ═══ ۲۰۲۶-۰۸-۲۴ — چیدمانِ کتابی، فقط جایی که واقعاً جا هست ═══
   مالک: «اگر به‌صورتِ کتابی بتوانی دو ماه را کنارِ هم بگذاری بهتر است،
   ببین قابلیتش هست یا نه.»
   روی گوشی نه: عرضِ پنجره حدودِ ۳۳۰ پیکسل است؛ دو ماه کنارِ هم یعنی هر
   خانهٔ روز حدودِ ۲۰ پیکسل — کمتر از نصفِ حداقلِ لمسیِ ۴۴، یعنی همان
   کاربرِ سن‌بالا دیگر نمی‌تواند روز را بزند.
   از ۷۲۰ پیکسل به بالا جا هست و کنارِ هم می‌نشینند. */
@media (min-width: 720px){
  /* ⚠ قاعدهٔ قدیمی max-width:370px دارد؛ بدونِ important پنجره
     ۳۰۸ پیکسل می‌ماند و دو ماهِ کنارِ هم، خانهٔ روز را ۲۶ پیکسل می‌کرد. */
  .kgd-pop{ max-width: 720px !important; width: 720px !important; }
  .kgd-pop .kgd-months{
    display: grid; grid-template-columns: 1fr 1fr; gap: 22px;
    max-height: none; overflow: visible;
  }
  .kgd-pop .kgd-mb{ min-width: 0; }
  /* در چیدمانِ کتابی، ماهِ اول هم باید نامش را داشته باشد */
  .kgd-pop .kgd-mb:first-child .kgd-mt{ display: block; }
  .kgd-pop .kgd-mt{
    margin-top: 0; padding-top: 0; border-top: 0;
  }
}

/* روی گوشی نامِ ماهِ اول زائد است — کشوی بالا همان را می‌گوید */
@media (max-width: 719px){
  .kgd-pop .kgd-mb:first-child .kgd-mt{ display: none; }
}

/* ═══ ۲۰۲۶-۰۸-۲۵ — خانهٔ روز به حدِ لمسی برسد ═══
   اندازه‌گیری: پنجره ۳۰۸ پیکسل می‌ماند در حالی که ۳۷۰ جا هست، پس
   هر خانه ۳۹ پیکسل می‌شد — زیرِ حداقلِ ۴۴. علتش min-width بود:
   محتوا پنجره را پهن‌تر نمی‌کرد و max-width هیچ‌وقت به کار نمی‌آمد.
   حساب: ۳۵۲ − ۲۰ حاشیه = ۳۳۲؛ (۳۳۲ − ۶×۲ فاصله) ÷ ۷ = ۴۵٫۷ پیکسل. */
@media (max-width: 719px){
  .kgd-pop{
    width: min(352px, calc(100vw - 16px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 16px) !important;
    padding: 10px !important;
  }
  .kgd-pop .kgd-d{ min-height: 44px !important; font-size: 15px !important; }
  .kgd-pop .kgd-grid{ gap: 2px !important; }
}

/* ⚠ ۲۰۲۶-۰۸-۲۵ — عنوانِ نوارِ چسبان دوباره بریده می‌شد
   («اتوبوس مرز ب…») چون قرصِ قیمت جایش را می‌گرفت. قرص کمی جمع‌تر
   می‌شود تا نامِ محصول — چیزی که مشتری دارد می‌خرد — کامل دیده شود. */
@media (max-width: 480px){
  .hs .hs-chosen-p{ font-size: 14.5px !important; padding: 4px 9px !important; }
  .hs .hs-chosen-v{ font-size: 16px !important; }
}

/* ═══ ۲۰۲۶-۰۸-۲۵ — بسته‌ها به‌شکلِ انتخابگرِ فرمی ═══
   مالک: «دو کارت را به‌صورتِ دو نوع پکیجِ فرمی دربیار.»
   دیگر کارتِ بلند نیست: دو سطرِ هم‌قد، نام در یک طرف و قیمت در طرفِ
   دیگر، با همان حلقهٔ انتخابی که بقیهٔ فرم دارد. */
.hs .hs-pkgs.hs-pkgs-top{
  display: grid; gap: 8px; margin-block-end: 12px;
}
.hs .hs-pkg{
  flex-direction: row !important; align-items: center !important;
  gap: 10px !important;
  /* ⚠ حاشیه باید منطقی باشد: حلقهٔ انتخاب روی inset-inline-end
     می‌نشیند که در راست‌به‌چپ سمتِ چپ است؛ بارِ اول حاشیه را
     راست گذاشتم و قیمت زیرِ حلقه رفت. */
  min-height: 60px;
  padding-block: 10px !important;
  padding-inline: 14px 56px !important;
  transform: none !important;
  border-radius: 12px !important;
}
.hs .hs-pkg .hs-pkg-t{
  flex: 1 1 auto; min-width: 0;
  font-size: 14.5px !important; font-weight: 800; line-height: 1.6;
}
.hs .hs-pkg .hs-pkg-p{
  flex: 0 0 auto; margin: 0 !important;
  font-size: 15px !important; font-weight: 900; white-space: nowrap;
}
.hs .hs-pkg::after{ inset-block-start: 50% !important; transform: translateY(-50%); }
.hs .hs-pkg.on .hs-pkg-p{ color: #171410; }

/* عنوانِ کارتِ «مسیر و برآوردِ هزینه» */
.hs .hs-q-h{ font-size: 14px; font-weight: 900; }

/* ⚠ دو سطر هم‌قد بمانند: نامِ بلند دوخطی می‌شد و یک کارت
   ۶۸ پیکسل و دیگری ۵۶ می‌شد. */
.hs .hs-pkg .hs-pkg-t{
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

/* جای تاریخِ خوانا روی خطِ پایین باز بماند تا به ردیفِ بعد نچسبد */
.hs .hs-row.hs-ziy-when{ row-gap: 20px !important; }
/* نامِ فیلد دیگر لازم نیست کوتاه شود — تاریخ از خطِ بالا رفت */
.hs .hs-fld.hs-date:has(.hs-when) > span{ max-width: calc(100% - 30px) !important; }

/* ═══ ۲۰۲۶-۰۸-۲۵ — انتخابِ تعدادِ صندلی (۴۰/۵۰/۵۵ نفره) ═══ */
.hs .hs-seats{ margin: 12px 0 4px; }
.hs .hs-seats-t{ font-size: 13px; font-weight: 800; color: #6b5a12; margin-bottom: 8px; }
.hs .hs-seats-r{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.hs .hs-seat{
  min-height: 52px; padding: 8px 6px; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  font-family: inherit; color: #1b1b1b;
  border: 1.6px solid rgba(160, 133, 60, .35); border-radius: 12px;
  background: #fff; transition: border-color .15s ease, background .15s ease;
}
.hs .hs-seat b{ font-size: 14.5px; font-weight: 900; }
.hs .hs-seat i{ font-style: normal; font-size: 11.5px; font-weight: 800; color: #8a6d16; }
.hs .hs-seat.on{ border-color: #b9962a; background: linear-gradient(180deg, #fff9e6, #f6e7b6); box-shadow: inset 0 0 0 1px #b9962a; }

/* ═══ گامِ اولِ حرفه‌ای — کارت + ظرفیت + حلقه، صندلیِ اتوبوس همین‌جا (۲۰۲۶-۰۸-۲۶) ═══ */
.hs-gate-prow .hs-gate-s{ margin-bottom: 14px; }
.hs-gate-prol{ gap: 12px; }
.hs-gate-c.hs-gate-pro{
  flex-direction: row; align-items: center; gap: 14px; text-align: start;
  min-height: 100px; padding: 14px 16px; border-radius: 22px;
  background: #fff; border: 1.5px solid #e6e0d2;
  box-shadow: 0 10px 26px -20px rgba(76,62,20,.35);
}
.hs-gate-c.hs-gate-pro::before{ display: none; }
.hs-gate-pro .hs-gate-art{ flex: 0 0 150px; width: 150px; height: 84px; background: none; border-radius: 0; overflow: visible; }
.hs-gate-pro .hs-gate-art img{ width: 100%; height: 100%; display: block; max-width: none; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.hs-gate-c.hs-gate-pro.on .hs-gate-art img{ transform: translateX(-6px); }
.hs-gate-c.hs-gate-pro:hover .hs-gate-art, .hs-gate-c.hs-gate-pro:focus-visible .hs-gate-art{ transform: none; background: none; }
.hs-gplan{ display: flex; justify-content: center; gap: 2px; margin: 6px auto 0; width: max-content; }
.hs-gplan span{ width: 4px; height: 4px; border-radius: 1px; background: #cfc6b0; display: block; }
.hs-gchip.on .hs-gplan span{ background: #c9a227; }
.hs-gate-pro .hs-gate-b{ flex: 1 1 auto; min-width: 0; }
.hs-gate-pro b{ font-size: clamp(18px, 4.6vw, 21px); font-weight: 900; line-height: 1.45; }
.hs-gate-pro .hs-gate-cap{ margin-top: 3px; font-size: 14px; font-weight: 600; color: #6b6459; }
.hs-gate-pro .hs-gate-r{
  flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%;
  border: 2px solid #cfc6b0; display: grid; place-items: center;
  transition: background .2s ease, border-color .2s ease;
}
.hs-gate-pro .hs-gate-r svg{ display: none; }
.hs-gate-c.hs-gate-pro:hover, .hs-gate-c.hs-gate-pro:focus-visible{ border-color: #c9a227; background: #fffdf6; transform: translateY(-2px); }
.hs-gate-c.hs-gate-pro.on{
  background: linear-gradient(135deg, #171410 0%, #2a241a 100%);
  border-color: #c9a227; color: #fff;
  box-shadow: 0 18px 40px -22px rgba(23,20,16,.55);
}
.hs-gate-c.hs-gate-pro.on b{ color: #fff; }
.hs-gate-c.hs-gate-pro.on .hs-gate-cap{ color: #d9d2c0; }
.hs-gate-c.hs-gate-pro.on .hs-gate-r{ background: #c9a227; border-color: #c9a227; }
.hs-gate-c.hs-gate-pro.on .hs-gate-r svg{ display: block; }
.hs-gate-seats{ margin-top: 14px; animation: kgGateIn .32s cubic-bezier(.2,.8,.2,1) both; }
.hs-gate-seats-t{ font-size: 14px; font-weight: 800; color: #6b6459; margin-bottom: 8px; }
.hs-gate-seats-r{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.hs-gchip{
  font-family: inherit; cursor: pointer; text-align: center;
  padding: 10px 6px; border-radius: 14px; border: 1.5px solid #e6e0d2; background: #fff;
  transition: background .18s ease, border-color .18s ease;
}
.hs-gchip b{ display: block; font-size: 17px; font-weight: 900; color: #171410; }
.hs-gchip i{ display: block; font-style: normal; font-size: 12px; color: #6b6459; margin-top: 2px; }
.hs-gchip.on{ background: #fff6d9; border-color: #c9a227; }
.hs-gchip.on i{ color: #8a6d16; font-weight: 800; }
.hs-gate-ready{ margin-top: 14px; text-align: center; font-size: 13px; color: #6b6459; }
.hs-gate-cta{
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 56px; margin-top: 8px; border: 0; border-radius: 16px; cursor: pointer;
  background: linear-gradient(135deg, #c9a227, #a9821c); color: #171410;
  font-family: inherit; font-size: 16px; font-weight: 900;
  box-shadow: 0 14px 30px -16px rgba(201,162,39,.8);
  transition: transform .18s ease;
}
.hs-gate-cta:hover{ transform: translateY(-2px); }
@media (min-width: 760px){
  .hs-gate-prol{ grid-template-columns: repeat(3, 1fr); }
  .hs-gate-c.hs-gate-pro{ flex-direction: column; text-align: center; min-height: 230px; padding: 26px 16px 20px; position: relative; }
  .hs-gate-pro .hs-gate-art{ flex: 0 0 auto; width: 210px; height: 118px; transition: width .25s ease, height .25s ease; }
  .hs-gate-c.hs-gate-pro.on .hs-gate-art{ width: 250px; height: 140px; }
  .hs-gate-pro .hs-gate-r{ position: absolute; inset-inline-end: 14px; inset-block-start: 14px; }
  .hs-gate-seats-r{ max-width: 520px; margin-inline: auto; }
  .hs-gate-seats-t{ text-align: center; }
  .hs-gate-cta{ max-width: 520px; margin-inline: auto; }
}

/* ⚠ غلبه بر اندازه‌های !important قدیمیِ .hs-gate-art (خطِ ~۲۰۲۹) و هر جعبه/سایهٔ دورِ نشان */
.hs-gate-c.hs-gate-pro .hs-gate-art{ width: 150px !important; height: 84px !important; flex: 0 0 150px !important; background: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
.hs-gate-c.hs-gate-pro .hs-gate-art img{ width: 100% !important; height: 100% !important; max-width: none !important; background: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; object-fit: contain; }
@media (min-width: 760px){
  .hs-gate-c.hs-gate-pro .hs-gate-art{ width: 210px !important; height: 118px !important; flex: 0 0 auto !important; }
  .hs-gate-c.hs-gate-pro.on .hs-gate-art{ width: 250px !important; height: 140px !important; }
}

/* ⚠ ۲۰۲۶-۰۸-۲۶ — مالک: «کادرِ نوعِ اتوبوس با مرزِ ورود و دکمهٔ ۵۵ تداخل دارد.»
   کارت حالا فقط ردیفِ صندلی را نگه می‌دارد: تمام‌عرض، با تورفتگیِ داخلی و فاصلهٔ
   کافی از ردیفِ مرزها (حلقهٔ ۳ پیکسلیِ .on هم دیگر روی فیلد نمی‌افتد). */
.hs .hs-kinds-col{ grid-template-columns: 1fr !important; margin: 0 0 16px !important; }
.hs .hs-kindcard.on{ transform: none; }
.hs .hs-kindcard .hs-seats{ margin: 0 !important; padding: 12px 14px 14px; }
.hs .hs-kindcard .hs-seats-t{ margin-bottom: 10px; }

/* ⚠ ۲۰۲۶-۰۸-۲۶ — مالک: «نوعِ اتوبوس — چند نفره؟ را روی کادر بنویس، مثلِ بقیهٔ فیلدها.»
   همان الگوی مرزِ ورود/تاریخ: عنوان کوچک و کم‌رنگ، گوشهٔ بالای قاب؛ قاب هم مثلِ
   فیلدها (بی‌حلقهٔ طلایی و بی‌گرادیان). */
.hs .hs-kindcard.on{ border:1.5px solid #cfc4a8 !important; background:#fff !important; box-shadow:none !important; border-radius:10px !important; }
.hs .hs-kindcard .hs-seats{ position:relative; margin:0 !important; padding:30px 13px 13px !important; }
.hs .hs-kindcard .hs-seats-t{
  position:absolute; inset-block-start:6px; inset-inline-start:13px; margin:0;
  font-size:11px; font-weight:800; line-height:1.5; color:var(--muted,#7a7364);
  white-space:nowrap; pointer-events:none;
}
/* کدِ تخفیف: دقیقاً همان مقادیرِ برچسبِ روی قابِ مرزها */
.hs .hs-disc-f > span{ inset-block-start:6px; inset-inline-start:13px; font-size:11px; font-weight:800; color:var(--muted,#7a7364); }

/* ⚠ ۲۰۲۶-۰۸-۲۶ — مالک: «کارت‌های زیارتِ کامل و بدونِ کاظمین باید خوانا باشند.»
   متنِ بلندِ «برای دیدن قیمت…» با nowrap عنوان را تا «بدو ک…» می‌فشرد. حالا قیمت/راهنما
   می‌شکند، در موبایل زیرِ عنوان می‌نشیند، و کارتِ خاموش هم پررنگ و سفید است. */
.hs .hs-pkg{ background:#fff; border-color:#d8d0bc; opacity:1; }
.hs .hs-pkg .hs-pkg-t{ font-size:15.5px !important; font-weight:900; color:#1f1b15; line-height:1.55; }
.hs .hs-pkg .hs-pkg-p{ white-space:normal !important; flex:0 1 auto !important; max-width:52%; text-align:end; font-size:14.5px !important; line-height:1.7; color:#3f3626; }
.hs .hs-pkg .hs-pkg-p .hs-needdate{ font-size:12.5px; font-weight:700; color:#6b6459; font-style:normal; }
.hs .hs-pkg.on .hs-pkg-p .hs-needdate{ color:#3d3208; }
@media (max-width:640px){
  .hs .hs-pkg{ flex-wrap:wrap !important; row-gap:4px !important; }
  .hs .hs-pkg .hs-pkg-t{ flex:1 1 100% !important; -webkit-line-clamp:3; }
  .hs .hs-pkg .hs-pkg-p{ flex:1 1 100% !important; max-width:none; text-align:start; }
}

/* ═══ ۲۰۲۶-۰۸-۲۶ — مسیرِ نو: گامِ «کجا؟» + نوارِ مراحل + ویزاردِ هم‌سبکِ کارت‌های حرفه‌ای ═══ */
.hs-steps{ display:flex; align-items:flex-start; justify-content:center; gap:0; list-style:none; margin:0 0 16px; padding:0; }
.hs-steps li{ position:relative; flex:1 1 0; display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; }
.hs-steps li::before{ content:""; position:absolute; top:14px; inset-inline-start:calc(-50% + 14px); width:calc(100% - 28px); height:2px; background:#e6e0d2; }
.hs-steps li:first-child::before{ display:none; }
.hs-steps li.done::before, .hs-steps li.on::before{ background:#c9a227; }
.hs-steps-n{ width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:900;
  background:#fff; border:2px solid #e6e0d2; color:#8a8375; position:relative; z-index:1; }
.hs-steps li.on .hs-steps-n{ background:#171410; border-color:#171410; color:#fff; box-shadow:0 0 0 4px rgba(201,162,39,.25); }
.hs-steps li.done .hs-steps-n{ background:#c9a227; border-color:#c9a227; color:#171410; }
.hs-steps-l{ font-size:11.5px; font-weight:800; color:#8a8375; white-space:nowrap; }
.hs-steps li.on .hs-steps-l{ color:#171410; }
.hs-steps li.done .hs-steps-l{ color:#8a6d16; }
.hs-steps-wrap{ background:linear-gradient(180deg,#fffefb,#fdfaf3); border:1px solid rgba(160,133,60,.22); border-radius:20px; padding:14px 14px 4px; margin:14px 0 10px; }
/* کارت‌های «کجا؟» */
.hs-gate-c.hs-gate-pro.hs-gate-where{ min-height:118px; }
.hs-gate-where .hs-gate-art{ position:relative; }
.hs-gate-where .hs-gate-flag{ position:absolute !important; width:34px !important; height:24px !important; inset-inline-start:2px; inset-block-start:2px; border-radius:4px; box-shadow:0 2px 6px rgba(0,0,0,.25); border:1.5px solid #fff; object-fit:cover; }
.hs-gate-where .hs-gate-cap{ white-space:normal; line-height:1.7; }
@media (min-width:760px){
  .hs-gate-where-l{ grid-template-columns:repeat(2, 1fr) !important; max-width:820px; margin-inline:auto; }
  .hs-gate-where .hs-gate-cap{ max-width:300px; margin-inline:auto; }
}
/* ویزارد — همان زبانِ کارت‌های حرفه‌ای */
.hs .hsw{ border-radius:22px; }
.hs .hsw-top{ margin-bottom:10px; }
.hs .hsw-q{ font-size:clamp(20px,5vw,24px); font-weight:900; text-align:start; margin:2px 0 4px; }
.hs .hsw-s{ text-align:start; font-size:14.5px; margin-bottom:14px; }
.hs .hsw-veh{ border:1.5px solid #e6e0d2 !important; border-radius:22px !important; padding:14px 16px !important; min-height:84px; gap:14px;
  box-shadow:0 10px 26px -20px rgba(76,62,20,.35); transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.hs .hsw-veh:hover{ transform:translateY(-2px); border-color:#c9a227 !important; }
.hs .hsw-veh.on{ background:linear-gradient(135deg,#171410,#2a241a) !important; border-color:#c9a227 !important; color:#fff; }
.hs .hsw-veh.on .hsw-b b, .hs .hsw-veh.on .hsw-b i{ color:#fff; }
.hs .hsw-num{ width:40px !important; height:40px !important; border-radius:50% !important; background:#fff6d9 !important; color:#8a6d16 !important; font-weight:900; font-size:16px; border:1.5px solid #e6d9a8; display:grid; place-items:center; }
.hs .hsw-veh.on .hsw-num{ background:#c9a227 !important; color:#171410 !important; border-color:#c9a227; }
.hs .hsw-b b{ font-size:17px; font-weight:900; line-height:1.45; }
.hs .hsw-b i{ font-size:13.5px; color:#6b6459; }
.hs .hsw-nav{ margin-top:16px; }
.hs .hsw-prev{ border-radius:14px !important; border:1.5px solid #d8d0bc !important; background:#fff !important; color:#171410; font-weight:800; }
.hs .hsw-go{ border-radius:14px !important; background:linear-gradient(135deg,#c9a227,#a9821c) !important; color:#171410 !important; font-weight:900; box-shadow:0 14px 30px -16px rgba(201,162,39,.8); }
.hs .hsw-pro{ color:#8a6d16; }
/* نشانِ پرچم روی کارتِ «کجا؟» — باید از قاعدهٔ ۱۰۰٪ِ نشانِ وسیله قوی‌تر باشد */
.hs-gate-c.hs-gate-pro.hs-gate-where .hs-gate-art img.hs-gate-flag{ position:absolute !important; width:36px !important; height:25px !important; inset-inline-start:0; inset-block-start:0; border-radius:4px; border:1.5px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.28); object-fit:cover; z-index:2; }
.hs-gate-c.hs-gate-pro.hs-gate-where .hs-gate-art{ position:relative; overflow:visible; }
@media (max-width:759px){
  .hs-gate-c.hs-gate-pro.hs-gate-where .hs-gate-art{ width:118px !important; height:66px !important; flex:0 0 118px !important; }
  .hs-gate-where .hs-gate-cap{ font-size:12.5px; }
  .hs-gate-where .hs-gate-b b{ font-size:17px; }
}

/* ═══ فرمِ «اتوبوس داخلِ ایران (شهر به مرز به شهر)» داخلِ ویجت (۲۰۲۶-۰۸-۲۶) ═══ */
.hs .ib-sec{ font-size:13px; font-weight:900; color:#8a6d16; margin:14px 0 8px; }
.hs .ib-row2{ display:grid; grid-template-columns:1fr; gap:10px; }
@media (min-width:640px){ .hs .ib-row2{ grid-template-columns:1fr 1fr; } }
.hs .ib-fld > input, .hs .ib-fld > select{ height:58px !important; box-sizing:border-box; width:100%; border:1.5px solid #cfc4a8; border-radius:10px; padding:22px 13px 6px !important; font-family:inherit; font-size:15px; font-weight:700; background:#fff; }
.hs .ib-fld > input:focus, .hs .ib-fld > select:focus{ outline:none; border-color:#c9a227; box-shadow:0 0 0 3px rgba(201,162,39,.15); }
.hs .ib-date{ display:block; width:100%; height:58px; box-sizing:border-box; border:1.5px solid #cfc4a8; border-radius:10px; background:#fff; padding:22px 13px 6px; text-align:start; font-family:inherit; font-size:15px; font-weight:800; color:#171410; cursor:pointer; }
.hs .ib-date.placeholder{ color:#8a8375; font-weight:600; }
.hs .ib-time{ min-height:58px; border:1.5px solid #cfc4a8; border-radius:10px; background:#fff; padding:24px 13px 8px; }
.hs .ib-chips{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.hs .ib-chip{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:58px; padding:8px 10px; border:1.5px solid #e6e0d2; border-radius:14px; background:#fff; cursor:pointer; text-align:center; }
.hs .ib-chip input{ position:absolute; opacity:0; pointer-events:none; }
.hs .ib-chip b{ font-size:15px; font-weight:900; color:#171410; }
.hs .ib-chip i{ font-style:normal; font-size:12px; color:#6b6459; }
.hs .ib-chip.on{ background:#fff6d9; border-color:#c9a227; }
.hs .ib-chip.on i{ color:#8a6d16; font-weight:800; }
.hs .ib-price{ margin-top:12px; padding:12px 14px; border:1.5px dashed #c9a227; border-radius:14px; background:#fffdf4; display:grid; gap:6px; }
.hs .ib-price > div{ display:flex; justify-content:space-between; align-items:center; font-size:14px; color:#4b4538; }
.hs .ib-price b{ font-weight:900; color:#171410; }
.hs .ib-price b.tot{ font-size:18px; color:#8a6d16; }
.hs .ib-otp, .hs .ib-otp2{ grid-template-columns:1fr auto !important; align-items:end; }
.hs .ib-otp-send{ min-height:58px; padding:0 16px; border:1.5px solid #c9a227; border-radius:10px; background:#fff6d9; color:#6d5409; font-family:inherit; font-size:14px; font-weight:800; cursor:pointer; white-space:nowrap; }
.hs .ib-otp-send[hidden]{ display:none; }
.hs .ib-otp-msg{ min-height:18px; margin-top:6px; font-size:13px; font-weight:700; }
.hs .ib-otp-msg.ok{ color:#1f5a33; } .hs .ib-otp-msg.err{ color:#a23030; }
.hs .ib-submit{ width:100%; margin-top:14px; min-height:56px !important; }
.hs .ib-err{ display:none; margin-top:10px; padding:10px 14px; border-radius:12px; background:#fdecea; border:1px solid #f5c6c0; color:#a5251a; font-size:13.5px; font-weight:700; line-height:1.9; }
.hs .ib-err[style*="block"]{ display:block; }
.hs .ib .success{ text-align:center; padding:10px 0; }
.hs .ib .success .check{ width:56px; height:56px; margin:0 auto 8px; border-radius:50%; background:#c9a227; color:#171410; display:grid; place-items:center; font-size:28px; font-weight:900; }
.hs .ib .success h3{ margin:0 0 6px; font-size:19px; font-weight:900; }
.hs .ib .success .track-code{ font-size:15px; }
.hs .ib .success .cross{ margin-top:14px; font-size:13.5px; color:#4b4538; }
.cal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; align-items:center; justify-content:center; z-index:9999; padding:16px; }
.cal-overlay.show{ display:flex; }
.cal-modal{ background:#fff; border-radius:18px; max-width:340px; width:100%; padding:18px; box-shadow:0 24px 70px rgba(0,0,0,.35); font-family:inherit; direction:rtl; }
.cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.cal-head button{ background:none; border:none; font-size:22px; cursor:pointer; color:#8a6d16; padding:4px 10px; }
.cal-head .my{ font-weight:800; color:#171410; }
.cal-week,.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal-week span{ text-align:center; font-size:12px; color:#6b6459; font-weight:700; padding:4px 0; }
.cal-grid button{ aspect-ratio:1; border:none; background:#f7f2e7; border-radius:9px; font-family:inherit; font-size:14px; cursor:pointer; color:#171410; }
.cal-grid button:hover{ background:#fff6d9; }
.cal-grid button.today{ outline:2px solid #c9a227; }
.cal-grid button.sel{ background:#c9a227; color:#171410; font-weight:800; }
.cal-grid button.empty{ background:none; cursor:default; }
.cal-foot{ text-align:center; margin-top:10px; }
.cal-foot button{ border:1.5px solid #d8d0bc; background:#fff; border-radius:10px; padding:8px 18px; font-family:inherit; font-weight:800; cursor:pointer; }

/* ⚠ ۲۰۲۶-۰۸-۲۶ — مالک: «بین جدول‌های فرمِ اتوبوس ایران فاصلهٔ منطقی بگذار، داخلِ هم رفته‌اند.»
   فیلدها دیگر از .hs-fld ارث نمی‌برند (قابِ دوبل می‌ساخت)؛ قابِ مستقل + فاصلهٔ بخش‌ها. */
.hs .ib-fld{ position:relative; display:block; margin:0; min-height:58px; }
.hs .ib-fld > span{ position:absolute; inset-block-start:7px; inset-inline-start:13px; z-index:2; font-size:11px; font-weight:800; color:#7a7364; line-height:1.5; pointer-events:none; white-space:nowrap; max-width:calc(100% - 26px); overflow:hidden; text-overflow:ellipsis; }
.hs .ib-fld > span .hs-req{ color:#c0392b; font-style:normal; }
.hs .ib-fld > input, .hs .ib-fld > select, .hs .ib-fld > .ib-date{ display:block; width:100%; height:58px; margin:0; box-sizing:border-box; border:1.5px solid #cfc4a8; border-radius:10px; background:#fff; padding:22px 13px 6px; font-family:inherit; font-size:15px; font-weight:800; color:#171410; text-align:start; }
.hs .ib-fld > .ib-date{ cursor:pointer; }
.hs .ib-fld > .ib-date.placeholder{ color:#8a8375; font-weight:600; }
.hs .ib-time{ height:auto; min-height:58px; box-sizing:border-box; border:1.5px solid #cfc4a8; border-radius:10px; background:#fff; padding:26px 13px 10px; display:flex; align-items:center; justify-content:center; }
.hs .ib-time > div{ margin:0 !important; }
.hs .ib-row2{ gap:12px; }
.hs .ib-sec{ margin:22px 0 10px; padding-top:14px; border-top:1px dashed #e6e0d2; }
.hs .ib-sec:first-of-type{ margin-top:8px; padding-top:0; border-top:0; }
.hs .ib-chips{ gap:10px; }
.hs .ib-price{ margin-top:14px; }
.hs .ib-otp, .hs .ib-otp2{ margin-top:12px; }
.hs .ib .hs-chosen{ margin-bottom:6px; }

.hs .ib-time > label{ position:absolute; inset-block-start:7px; inset-inline-start:13px; z-index:2; font-size:11px; font-weight:800; color:#7a7364; line-height:1.5; pointer-events:none; margin:0; }
.hs .ib-time > label .hs-req{ color:#c0392b; font-style:normal; }
.hs-m-sum-b .hs-m-tot i{ font-style:normal; font-weight:600; font-size:12px; color:#6b6459; }

/* فرمِ ایران v3: خطا روی قاب، تاریخ/ساعتِ سایت، شمارندهٔ دستگاه */
.hs .ib-fld.is-miss > input, .hs .ib-fld.is-miss > select{ border-color:#c0392b !important; background:#fff8f7; }
.hs .ib-fld.is-miss > span{ visibility:hidden; }
.hs .ib-fld > .hs-fld-err{ position:absolute; inset-block-start:7px; inset-inline-start:13px; z-index:3; margin:0; padding:0; font-style:normal; font-size:11px; font-weight:800; color:#c0392b; line-height:1.5; white-space:nowrap; max-width:calc(100% - 26px); overflow:hidden; text-overflow:ellipsis; pointer-events:none; }
.hs .ib-when{ margin:0; }
.hs .ib-when + #backWrap{ margin-top:0; }
.hs .ib-cnt{ padding:24px 12px 8px; border:1.5px solid #cfc4a8; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; min-height:58px; box-sizing:border-box; }
.hs .ib-cnt .hs-step{ margin:0; }
.hs .ib-cnt input#count{ width:56px; text-align:center; font-weight:900; font-size:16px; border:0; background:transparent; }
.hs .ib-dummy{ display:none !important; }
.hs .ib-err{ display:none; }

/* فرمِ ایران v4: جمع‌وجورتر، فاصلهٔ ردیف‌های تاریخ، سه چیپِ ظرفیت، شمارندهٔ قابلِ تایپ */
.hs .ib .hs-chosen{ margin-bottom:10px; }
.hs .ib-sec{ margin:14px 0 8px; padding-top:0; border-top:0; font-size:12.5px; }
.hs .ib-row-route{ margin-top:4px; }
.hs .ib-row-opts > div > .ib-sec{ margin-top:12px; }
.hs .ib-chips3{ grid-template-columns:repeat(3,1fr); }
.hs .ib-chip{ min-height:52px; padding:6px 8px; border-radius:12px; }
.hs .ib-chip b{ font-size:14.5px; }
.hs .ib-chip i{ font-size:11.5px; }
.hs .ib-when{ margin:0 0 12px !important; row-gap:12px !important; }
.hs #backWrap .ib-when{ margin-top:2px !important; }
.hs .ib-row-cnt{ margin-top:4px; }
.hs .ib-price{ margin-top:12px; padding:10px 14px; }
.hs .ib-cnt input#count{ width:64px; }
.hs .ib-submit{ margin-top:12px; }
@media (min-width:640px){
  .hs .ib-when{ margin-bottom:14px !important; }
  .hs #backWrap .ib-when{ margin-top:4px !important; }
}
/* ردیف‌های تاریخ/ساعتِ فرمِ ایران تمام‌عرض (شبکهٔ ۴ستونیِ عراق نصفِ عرض می‌گذاشت) */
.hs .ib-when{ display:grid !important; grid-template-columns:1fr 1fr !important; width:100%; }
.hs .hs-row.hs-ziy-when.ib-when{ display:grid !important; grid-template-columns:1fr 1fr !important; width:100% !important; max-width:none !important; }
.hs .hs-row.hs-ziy-when.ib-when > .hs-fld{ width:auto !important; max-width:none !important; flex:none !important; }
/* ⚠ ۲۰۲۶-۰۸-۲۷ — مالک: «تعدادِ دستگاه و محلِ سوار شدن روی کادر نیستند.» همان قاعدهٔ برچسبِ
   روی خطِ فیلدهای عراق (top:-8px با پس‌زمینهٔ سفید) روی همهٔ فیلدهای فرمِ ایران. */
.hs .ib-fld > span, .hs .ib-cnt > span, .hs .ib-time > label{
  inset-block-start:-8px !important; inset-inline-start:11px !important; width:auto !important; max-width:calc(100% - 30px) !important;
  padding:0 6px !important; background:#fff !important; line-height:1.4 !important; border-radius:4px; z-index:3; font-size:11px; font-weight:800; color:#7a7364; visibility:visible;
}
.hs .ib-fld > input, .hs .ib-fld > select, .hs .ib-fld > .ib-date{ height:52px !important; padding-block:0 !important; padding-inline:13px !important; }
.hs .ib-time{ min-height:52px; padding:8px 13px !important; }
.hs .ib-cnt{ min-height:52px; padding:6px 12px !important; }
.hs .ib-fld.is-miss > span{ visibility:hidden; }
.hs .ib-fld > .hs-fld-err{ inset-block-start:-8px !important; inset-inline-start:11px !important; padding:0 6px !important; background:#fff !important; border-radius:4px; line-height:1.4; z-index:4; }
.hs .ib-fld{ overflow:visible; }

/* ردیف‌های اتوبوس (نوع × تعداد × قیمت) */
.hs .ib-buses{ border:1.5px solid #e6e0d2; border-radius:14px; background:#fff; overflow:hidden; }
.hs .ib-bus{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px dashed #ece6d8; }
.hs .ib-bus:last-of-type{ border-bottom:0; }
.hs .ib-bus.on{ background:#fffbef; }
.hs .ib-bus-n b{ display:block; font-size:15px; font-weight:900; color:#171410; }
.hs .ib-bus-n i{ display:block; font-style:normal; font-size:11.5px; color:#8a6d16; font-weight:800; }
.hs .ib-bus-step{ margin:0; }
.hs .ib-bus-step .ib-cnt-i{ width:52px; text-align:center; font-weight:900; font-size:16px; border:0; background:transparent; }
.hs .ib-bus-p{ text-align:start; display:flex; flex-direction:column; align-items:flex-start; gap:2px; direction:rtl; }
.hs .ib-bus-u{ font-size:12px; color:#6b6459; }
.hs .ib-bus-l{ font-size:14px; font-weight:900; color:#171410; }
.hs .ib-bus-tot{ background:#fffdf4 !important; border-top:1.5px solid #e6d9a8; }
.hs .ib-bus-tot .tot{ font-size:17px; font-weight:900; color:#8a6d16; }
.hs .ib-bus-err{ display:none; padding:8px 12px; font-size:13px; font-weight:800; color:#c0392b; background:#fdecea; }
.hs .ib-bus-err:not(:empty){ display:block; }
@media (max-width:480px){ .hs .ib-bus{ grid-template-columns:1fr auto; } .hs .ib-bus-p{ grid-column:1 / -1; flex-direction:row; justify-content:space-between; } }
/* ⚠ ۲۰۲۶-۰۸-۲۷ — نگهبانِ چیدمانِ کارتِ فرم: ویرایشگرِ بصری روی هاست برای #kgHeroSearch .hs-card
   «text-align:center; margin:0 auto» ذخیره کرده بود (کارت ۷۴۰px و همه‌چیز وسط‌چین). حتی اگر دوباره
   چنین چیزی ذخیره شود، این قاعدهٔ اختصاصی‌تر چیدمان را نگه می‌دارد. */
#kgHeroSearch .hs .hs-card:not(.hsw){ margin-inline:0 !important; width:100% !important; max-width:none !important; text-align:start !important; }
#kgHeroSearch .hs .hs-kindcard{ margin-inline:0 !important; text-align:start !important; }
/* ردیف‌های اتوبوس — خلوت‌تر (مالک ۲۰۲۶-۰۸-۲۷) */
.hs .ib-buses{ border:1.5px solid #e6e0d2; border-radius:12px; background:#fff; }
.hs .ib-bus{ grid-template-columns:1.1fr auto 1fr !important; gap:8px !important; padding:6px 12px !important; border-bottom:1px solid #f0ebe0 !important; min-height:48px; }
.hs .ib-bus.on{ background:#fff !important; }
.hs .ib-bus-n b{ display:inline !important; font-size:14.5px !important; }
.hs .ib-bus-n i{ display:inline !important; font-size:11px !important; font-weight:800; color:#8a6d16; margin-inline-start:4px; }
.hs .ib-bus-step .hs-step-b{ min-width:36px !important; min-height:36px !important; font-size:18px !important; }
.hs .ib-bus-step .ib-cnt-i{ width:44px !important; font-size:15px !important; }
.hs .ib-bus-p{ flex-direction:row !important; justify-content:flex-start; }
.hs .ib-bus-u{ font-size:12.5px !important; color:#8a8375; }
.hs .ib-bus-u.is-line{ font-size:14px !important; font-weight:900; color:#171410; }
.hs .ib-bus-tot{ background:#fffdf4 !important; border-top:1.5px solid #e6d9a8 !important; min-height:44px; }
.hs .ib-bus-tot .ib-bus-n i{ color:#6b6459; font-weight:700; }
.hs .ib-bus-tot .tot{ font-size:16px !important; }
@media (max-width:480px){ .hs .ib-bus{ grid-template-columns:1fr auto !important; } .hs .ib-bus-p{ grid-column:1 / -1; justify-content:flex-end; padding-bottom:2px; } }
/* ⚠ ۲۰۲۶-۰۸-۲۷ — مالک: «هیچ آیکونی روی دکمه نباشد.» وقتی پنجرهٔ ثبت (مودال) باز است،
   شناورهای تماس/بله/گفتگو و نوارِ پایین کاملاً کنار می‌روند تا روی «ارسالِ کدِ تأیید» نیفتند. */
html.hs-modal-open .kg-m2 a, html.hs-modal-open .fab-stack, html.hs-modal-open .kg-bar,
html.hs-modal-open .kgc-fab, html.hs-modal-open .kg-bale-fab, html.hs-modal-open .kg-call-fab, html.hs-modal-open .to-top{
  transform:translateY(160%) !important; opacity:0 !important; pointer-events:none !important; transition:transform .2s ease, opacity .15s ease;
}
/* و خودِ پنجره پایینش کمی جا دارد تا آخرین دکمه به لبهٔ گوشی نچسبد */
@media (max-width:820px){ .hs-m-box{ padding-bottom:max(18px, env(safe-area-inset-bottom)) !important; } }
