@charset "UTF-8";
/* ==========================================================================
   صفحه اصلی — فقط در «/» لود می‌شود (SPEC §۴)
   ========================================================================== */

/* ---------- هیرو ---------- */
.hero{padding-top:var(--sp-5)}
/* flex نه grid: اگر بنر کناری نباشد، ستون ۲۸۰ پیکسلی رزرو نمی‌ماند و
   اسلایدر خودش تمام‌عرض می‌شود — بدون نیاز به :has() یا کلاس اضافه. */
.hero-wrap{display:flex;gap:16px;align-items:stretch}
.hero-slider{flex:1 1 auto;min-width:0}
.hero-side{flex:0 0 280px}
@media (max-width:1023px){.hero-wrap{flex-direction:column}.hero-side{flex:0 0 auto}}

/* ارتفاع کاملاً خودکار: هیچ aspect-ratio ثابتی نداریم و object-fit:cover هم
   نیست، پس بنر هیچ‌وقت بریده نمی‌شود — نه در دسکتاپ نه در موبایل.
   ارتفاعِ ریل برابرِ بلندترین اسلاید می‌شود (چون همه در یک ردیفِ flex‌اند)،
   پس اگر بنرها هم‌اندازه باشند هیچ فضای خالی‌ای هم نمی‌ماند. */
.hero-slider{
  position:relative;border-radius:var(--r-md);overflow:hidden;
  background:var(--c-line-2);box-shadow:var(--sh-1);
}
@media (max-width:639px){.hero-slider{border-radius:var(--r-sm)}}
.hero-track{
  display:flex;align-items:stretch;
  transition:transform .5s var(--ease);
  will-change:transform;
}
.hero-slide{flex:0 0 100%;position:relative;min-width:0}
.hero-slide>a{display:block}
/* height:auto ⇒ نسبتِ ذاتیِ تصویر حفظ می‌شود */
.hero-slide img{width:100%;height:auto;display:block;object-fit:contain}
.hero-caption{
  position:absolute;inset-block-end:0;inset-inline:0;
  padding:28px 32px;
  background:linear-gradient(to top,rgba(16,21,27,.72),transparent);
  color:#fff;
}
.hero-caption h2{color:#fff;font-size:clamp(18px,2.4vw,28px);margin-bottom:8px}
.hero-caption p{color:rgba(255,255,255,.85);font-size:14px;margin-bottom:14px}
@media (max-width:639px){.hero-caption{padding:16px 18px}.hero-caption p{display:none}}

.hero-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:42px;height:42px;border-radius:var(--r-full);
  display:grid;place-items:center;
  background:rgba(255,255,255,.9);color:var(--c-ink);
  box-shadow:var(--sh-2);transition:background var(--t-fast);
}
.hero-nav svg{width:20px;height:20px;stroke-width:2}
/* ⚠ در RTL محتوا از راست شروع می‌شود: دکمهٔ «قبلی» باید سمت راست (لبهٔ
   شروع) باشد و فلشش ► رو به راست، و «بعدی» سمت چپ با فلش ◄. قبلاً جای
   دکمه‌ها برعکس بود و هر فلش خلافِ جهتِ حرکتش را نشان می‌داد. */
.hero-nav.prev{inset-inline-start:14px}
.hero-nav.next{inset-inline-end:14px}
.hero-nav:hover{background:#fff}
@media (max-width:639px){.hero-nav{display:none}}

.hero-dots{
  position:absolute;inset-block-end:14px;inset-inline:0;z-index:3;
  display:flex;justify-content:center;gap:7px;
}
.hero-dots button{
  width:8px;height:8px;border-radius:var(--r-full);
  background:rgba(255,255,255,.55);transition:all var(--t-fast);
}
.hero-dots button.is-active{width:24px;background:#fff}

/* بنرهای کنار هیرو */
.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.hero-side a{
  position:relative;border-radius:var(--r-md);overflow:hidden;
  background:var(--c-line-2);box-shadow:var(--sh-1);
}
.hero-side img{width:100%;height:100%;object-fit:cover}
@media (max-width:1023px){.hero-side{grid-template-rows:none;grid-template-columns:1fr 1fr;height:130px}}
@media (max-width:560px){.hero-side{display:none}}

/* ---------- نوار اعتماد ---------- */
.trustbar{
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:var(--r-lg);box-shadow:var(--sh-1);
  margin-top:var(--sp-5);
}
.trustbar ul{display:grid;grid-template-columns:repeat(4,1fr)}
.trustbar li{
  display:flex;align-items:center;gap:12px;
  padding:18px 20px;
}
.trustbar li+li{border-inline-start:1px solid var(--c-line-2)}
.trustbar svg{width:34px;height:34px;flex:none;color:var(--c-primary);stroke-width:1.5}
.trustbar b{display:block;font-size:13.5px;font-weight:700;line-height:1.7}
.trustbar span{display:block;font-size:12px;color:var(--c-ink-3);line-height:1.7}
@media (max-width:900px){
  .trustbar ul{grid-template-columns:repeat(2,1fr)}
  .trustbar li:nth-child(odd){border-inline-start:0}
  .trustbar li:nth-child(-n+2){border-bottom:1px solid var(--c-line-2)}
}
@media (max-width:480px){
  .trustbar li{padding:14px;gap:9px;flex-direction:column;text-align:center}
  .trustbar svg{width:26px;height:26px}
  .trustbar span{display:none}
}

/* ---------- کاشی دسته‌ها ---------- */
/* ---------- کروسل دسته‌بندی ----------
   قبلاً گریدِ ۶ستونی بود و با نُه دسته، ردیف دوم سه‌تایی و بدقواره می‌شد.
   حالا ریلِ افقیِ اسنپ‌دار است: در هر عرضی منظم می‌ماند، در موبایل با
   انگشت کشیده می‌شود و در دسکتاپ دکمهٔ چپ/راست دارد. */
.cat-carousel{position:relative}
.cat-rail{
  display:grid;grid-auto-flow:column;
  grid-auto-columns:minmax(190px,1fr);
  gap:16px;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:2px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:4px 2px 10px;
}
.cat-rail::-webkit-scrollbar{display:none}

.cat-tile{
  scroll-snap-align:start;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:18px 12px 16px;text-align:center;
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:var(--r-md);
  transition:border-color var(--t-slow),box-shadow var(--t-slow);
  position:relative;overflow:hidden;
}
/* نوار قرمزِ پایین به‌جای پرشِ کارت — هم‌زبان با کارت محصول */
.cat-tile::after{
  content:'';position:absolute;inset-inline:0;bottom:0;height:3px;
  background:var(--c-primary);transform:scaleX(0);transform-origin:center;
  transition:transform var(--t-slow);
}
.cat-tile .ic{
  width:100%;aspect-ratio:1/1;border-radius:var(--r-sm);
  display:grid;place-items:center;overflow:hidden;
  background:#fff;transition:background var(--t-fast);
}
.cat-tile .ic img{
  width:100%;height:100%;object-fit:contain;
  transition:transform var(--t-slow);
}
.cat-tile .ic svg{width:44px;height:44px;color:#C4CBD8;stroke-width:1.4}
.cat-tile b{font-size:14px;font-weight:700;line-height:1.7}
.cat-tile small{font-size:11.5px;color:var(--c-ink-3)}
@media (hover:hover){
  .cat-tile:hover{border-color:var(--c-line);box-shadow:var(--sh-2)}
  .cat-tile:hover::after{transform:scaleX(1)}
  .cat-tile:hover .ic img{transform:scale(1.05)}
  .cat-tile:hover b{color:var(--c-primary)}
}

/* دکمه‌های ناوبری — فقط جایی که ماوس هست */
.cat-nav{
  position:absolute;top:calc(50% - 14px);transform:translateY(-50%);z-index:3;
  width:40px;height:40px;border-radius:var(--r-full);
  display:none;place-items:center;
  background:var(--c-surface);color:var(--c-ink);
  border:1px solid var(--c-line);box-shadow:var(--sh-2);
  transition:background var(--t-fast),color var(--t-fast);
}
.cat-nav svg{width:20px;height:20px;stroke-width:2}
.cat-nav.prev{inset-inline-start:-8px}
.cat-nav.next{inset-inline-end:-8px}
.cat-nav[disabled]{opacity:.35;pointer-events:none}
@media (hover:hover) and (min-width:900px){
  .cat-nav{display:grid}
  .cat-nav:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
}
@media (max-width:639px){
  .cat-rail{grid-auto-columns:minmax(144px,1fr);gap:10px}
  .cat-tile{padding:12px 8px 12px;gap:9px}
  .cat-tile b{font-size:12.5px}
}

/* ---------- تب‌های بخش محصولات ---------- */
.sec-tabs{display:flex;gap:6px;background:var(--c-line-2);padding:4px;border-radius:var(--r-full)}
.sec-tabs button{
  padding:8px 16px;border-radius:var(--r-full);
  font-size:13.5px;font-weight:500;color:var(--c-ink-3);
  transition:all var(--t-fast);white-space:nowrap;
}
.sec-tabs button.is-active{background:var(--c-surface);color:var(--c-primary);box-shadow:var(--sh-1)}
@media (max-width:639px){.sec-tabs{overflow-x:auto;scrollbar-width:none;max-width:100%}.sec-tabs::-webkit-scrollbar{display:none}}

/* بخش محصولات با پس‌زمینه متمایز */
.sec-boxed{
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--sh-1);
}
.sec-boxed .section-head{margin-bottom:var(--sp-4)}

/* ---------- بنر عریض ---------- */
.wide-banner{
  display:block;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-2);background:var(--c-line-2);
}
.wide-banner img{width:100%;height:auto}
.banner-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:639px){.banner-duo{grid-template-columns:1fr}}

/* ---------- بلوک درباره ما ---------- */
.about-block{
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:var(--r-lg);padding:var(--sp-6);
  display:grid;grid-template-columns:1fr 320px;gap:var(--sp-6);align-items:center;
}
.about-block h2{margin-bottom:14px}
.about-block .prose{max-height:260px;overflow:hidden;position:relative}
.about-block .prose.is-open{max-height:none}
.about-block .prose:not(.is-open)::after{
  content:'';position:absolute;inset-inline:0;bottom:0;height:70px;
  background:linear-gradient(to top,var(--c-surface),transparent);
}
.about-more{margin-top:14px}
.about-figure img{border-radius:var(--r-md);width:100%;height:auto}
@media (max-width:900px){
  /* تصویر قبلاً در موبایل حذف می‌شد چون عکسی وجود نداشت. حالا که تصویر
     واقعی داریم، بالای متن می‌نشیند — نه حذف. */
  .about-block{grid-template-columns:1fr;padding:var(--sp-5)}
  .about-figure{display:block;order:-1;margin-bottom:var(--sp-4)}
  .about-figure img{max-height:220px;object-fit:cover}
}

/* ---------- کارت مقاله ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1023px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.blog-grid{grid-template-columns:1fr}}
.bcard{
  display:flex;flex-direction:column;
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:var(--r-md);overflow:hidden;
  transition:all var(--t-slow);
  content-visibility:auto;contain-intrinsic-size:320px;
}
@media (hover:hover){
  .bcard:hover{box-shadow:var(--sh-2);transform:translateY(-3px);border-color:#D6DEEE}
  .bcard:hover img{transform:scale(1.04)}
}
.bcard-img{aspect-ratio:16/9;overflow:hidden;background:var(--c-line-2)}
.bcard-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.bcard-body{padding:16px;display:flex;flex-direction:column;gap:9px;flex:1 1 auto}
.bcard-cat{font-size:11.5px;color:var(--c-primary);font-weight:500}
.bcard h3{font-size:15px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcard p{font-size:13px;color:var(--c-ink-3);line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcard-meta{
  margin-top:auto;padding-top:12px;border-top:1px solid var(--c-line-2);
  display:flex;align-items:center;gap:14px;font-size:12px;color:var(--c-ink-3);
}
.bcard-meta span{display:inline-flex;align-items:center;gap:5px}
.bcard-meta svg{width:14px;height:14px;stroke-width:1.75}

/* ---------- باکس مشاوره / خبرنامه ---------- */
.consult-box{
  background:var(--c-surface);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  padding:var(--sp-6);
  display:grid;grid-template-columns:1fr 380px;gap:var(--sp-6);align-items:center;
  position:relative;overflow:hidden;
}
/* نوار قرمز لبهٔ شروع — امضای برند، بدون اینکه کل بلوک قرمز شود */
.consult-box::before{
  content:'';position:absolute;inset-block:0;inset-inline-start:0;width:5px;
  background:var(--c-primary);
}
.consult-box h2{
  color:var(--c-ink);font-size:clamp(19px,2vw,24px);
  display:flex;align-items:center;gap:10px;
}
.consult-box h2::before{
  content:'';width:6px;height:20px;background:var(--c-primary);flex:none;
}
.consult-box p{color:var(--c-ink-2);font-size:14.5px;margin-top:10px;line-height:2}

/* شماره‌ها: تلفن ثابت پررنگ، بقیه خطی — همه روی زمینهٔ روشن و خوانا */
.consult-box .btn{font-variant-numeric:tabular-nums}
.consult-box .btn-soft{
  --btn-bg:var(--c-primary);--btn-fg:#fff;--btn-bd:var(--c-primary);
  font-size:16px;font-weight:700;
}
.consult-box .btn-ghost{
  --btn-bg:var(--c-surface);--btn-fg:var(--c-ink);--btn-bd:var(--c-line);
  font-weight:700;
}
@media (hover:hover){
  .consult-box .btn-soft:hover{--btn-bg:var(--c-primary-dark);--btn-bd:var(--c-primary-dark)}
  .consult-box .btn-ghost:hover{--btn-bd:var(--c-primary);--btn-fg:var(--c-primary)}
}

/* فرم روی زمینهٔ روشن — ورودی‌های شفافِ قبلی روی قرمز ناخوانا بودند */
.consult-form{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  background:var(--c-bg);border:1px solid var(--c-line);
  border-radius:var(--r-md);padding:var(--sp-4);
}
.consult-form .input{
  background:var(--c-surface);border-color:var(--c-line);color:var(--c-ink);
  grid-column:span 1;
}
.consult-form .input::placeholder{color:#98A0AA}
.consult-form .btn{
  grid-column:1/-1;
  background:var(--c-primary);color:#fff;border-color:var(--c-primary);font-weight:700;
}
@media (hover:hover){.consult-form .btn:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}}

@media (max-width:1023px){.consult-box{grid-template-columns:1fr}}
@media (max-width:560px){
  .consult-box{padding:var(--sp-5) var(--sp-4)}
  .consult-form{grid-template-columns:1fr}
}

/* ---------- متن سئوی پایین صفحه اصلی ---------- */
.home-seo{
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:var(--r-lg);padding:var(--sp-6);
}
.home-seo .prose{columns:2;column-gap:44px}
@media (max-width:900px){.home-seo .prose{columns:1}.home-seo{padding:var(--sp-5)}}

/* .home-grid به app.css منتقل شد — شورت‌کد [imb-products] در هر صفحه‌ای
   قابل استفاده است و این فایل فقط در صفحه اصلی لود می‌شود. */

/* ==========================================================================
   باندهای صفحهٔ اصلی — مرزِ بخش‌ها
   --------------------------------------------------------------------------
   هر بخش تمام‌عرض است و پس‌زمینهٔ خودش را دارد، تا چشم بفهمد کجا یک بخش
   تمام و بخش بعدی شروع شد. عمداً فقط سه پس‌زمینه:
     .band--plain  سفید — بخش‌های «کاری» (کالا، بنر، سوالات)
     .band--tint   شست‌وشوی فیروزه‌ای — بخش‌های «روایتی» (معرفی، مقالات)
     .band--soft   شست‌وشوی قرمز کم‌رنگ — ریل‌های محصول
   هر سه از پالت رسمی بوش‌اند و رنگشان آن‌قدر کم‌رنگ است که متن روی همه
   با کنتراست کامل خوانده می‌شود.
   ========================================================================== */
.band{position:relative}
.band > .container{position:relative;z-index:1}
.band--plain{background:var(--c-surface)}

/* فیروزه‌ای بوش، آن‌قدر رقیق که فقط حس شود */
.band--tint{
  background:
    radial-gradient(120% 90% at 88% 0%, rgba(0,166,184,.10), transparent 60%),
    linear-gradient(180deg, #F4FBFC 0%, #FFFFFF 100%);
}
/* قرمز بوش، همان‌قدر رقیق */
.band--soft{
  background:
    radial-gradient(110% 90% at 12% 0%, rgba(226,0,26,.07), transparent 62%),
    linear-gradient(180deg, #FFF7F7 0%, #FFFFFF 100%);
}

/* لبهٔ بالای مورب — «خط کج» به‌جای مرز صاف.
   با clip-path انجام می‌شود نه transform، چون transform روی عنصرِ
   تمام‌عرض می‌تواند اسکرول افقی بسازد و clip-path هیچ‌وقت نمی‌سازد. */
.band--slant-top{
  clip-path:polygon(0 26px, 100% 0, 100% 100%, 0 100%);
  margin-top:-26px;
  padding-top:26px;
}
[dir=ltr] .band--slant-top{clip-path:polygon(0 0, 100% 26px, 100% 100%, 0 100%)}
@media (max-width:639px){
  .band--slant-top{clip-path:polygon(0 14px, 100% 0, 100% 100%, 0 100%);margin-top:-14px;padding-top:14px}
}
@media (prefers-reduced-motion:reduce){
  /* برای کسی که ترجیح می‌دهد صفحه آرام باشد، لبهٔ مورب هم حذف می‌شود */
  .band--slant-top{clip-path:none;margin-top:0;padding-top:0}
}

/* آخرین باند تا خودِ فوتر ادامه پیدا کند، وگرنه یک نوار خاکستری بینشان می‌ماند */
.band:last-of-type{padding-bottom:var(--sp-6)}

/* ---------- بلوک معرفی (تنها H1 صفحهٔ اصلی) ---------- */
.about-title{
  font-size:clamp(21px,2.4vw,28px);line-height:1.6;margin-bottom:14px;
  display:flex;align-items:center;gap:11px;
}
.about-title::before{
  content:'';width:6px;height:26px;flex:none;background:var(--c-primary);
}
.about-body{min-width:0}
