.promo-section {
  width: 100%;
  max-width: 980px;
  margin: 32px auto;
  position: relative;
  padding: 0;
}

.promo-image-container {
  border-radius: 48px;
  background-size: cover;
  background-position: center;
  width: 100%;
  aspect-ratio: 2.22 / 1; /* نسبت تصویر اصلی */
  min-height: 420px;
  overflow: hidden;
  position: relative;
}
.promo-image-gradient {
  background: radial-gradient(
    circle at 50% 120%,
    var(--color-white) 0%,
    var(--color-green-teal) 25%,
    var(--color-blue-mid) 55%,
    #01509e00 100%
  );
  position: absolute;
  bottom: -81px;
  width: 100%;
  height: 74%;
  filter: blur(32px);
  opacity: 81%;
}
.promo-image-container img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.promo-image-text{
  position: absolute;
  bottom: 16%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  color: var(--color-white);
}
.promo-image-text-static{
  font-size: 36px;
  font-weight: 700;
}
.promo-image-text-typed-container {
  font-size: 50px;
  font-weight: 700;
  text-align: center;
}

/* ظرفِ مخصوصِ جای‌گیری bar در سکشن promo */
.promo-bar-slot {
  position: absolute;
  left: 50%;
  bottom: -38px;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 2;
  pointer-events: none; /* کلیک‌ها فقط روی خود bar */
}
.promo-bar-slot > .make-project-bar {
  pointer-events: auto;
}

@media (max-width: 640px) {
  .promo-bar-slot { bottom: -28px; }
  .promo-image-text-static{
      font-size: 20px;
  }
  .promo-image-text-typed-container{
      font-size: 20px;
  }
}


/* --- Slides fade --- */
.promo-image-container { position: relative; }
.promo-image-slides {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.promo-image-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity var(--fade-duration, 800ms) ease-in-out;
    will-change: opacity;
}
.promo-image-slide.is-active {
    opacity: 1;
}


/* لایه‌بندی: اطمینان از اینکه کپشن بالاتر از اسلاید و گرادیانه */
.promo-image-container { position: relative; }
.promo-image-slides { position: absolute; inset: 0; z-index: 1; }
.promo-image-gradient { z-index: 2; }
.promo-image-text { z-index: 3; }

/* کپشن: ظرف تمام‌قد و وسط‌چین عمودی/راست‌چین افقی (دسکتاپ) */
.promo-image-caption {
    position: absolute;
    inset: 0;               /* هم‌قدِ تصویر */
    z-index: 4;
    pointer-events: none;
    display: flex;
    align-items: center;     /* وسطِ عمودی */
    justify-content: flex-start; /* راستِ کادر */
    padding-right: 16px;     /* فاصله از راست */
}

/* فقط آیتم فعال دیده شود؛ بقیه حذف از فلو */
.promo-caption-item {
    display: none;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: .5px;
    color: #fff;
    opacity: .7;            /* ~70% */
    white-space: nowrap;
}
.promo-caption-item.is-active {
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: center;
}

/* روش ترجیحی: متن عمودی واقعی (اگر پشتیبانی شود) */
@supports (writing-mode: vertical-rl) {
    .promo-caption-item {
        writing-mode: vertical-rl;
        text-orientation: mixed;
        /* هیچ rotateای لازم نیست */
    }
}

/* فallback برای مرورگرهایی که writing-mode ندارند */
@supports not (writing-mode: vertical-rl) {
    .promo-caption-item {
        transform: rotate(90deg);
        transform-origin: center center;
    }
}

/* آیکن داخل کپشن (اختیاری) */
.promo-caption-item img {
    width: 18px;
    object-fit: contain;
    height: unset;
    transform: rotate(90deg);
}

/* موبایل: بالا-وسط و افقی */
@media (max-width: 640px) {
    .promo-image-caption {
        align-items: flex-start;   /* بالا */
        justify-content: center;   /* وسط افقی */
        padding-right: 0;
        padding-top: 8px;
    }

    .promo-caption-item {
        font-size: 11px;
        line-height: 1.5;
    }

    @supports (writing-mode: vertical-rl) {
        .promo-caption-item {
            writing-mode: horizontal-tb; /* در موبایل افقی نمایش بده */
        }
    }

    @supports not (writing-mode: vertical-rl) {
        .promo-caption-item {
            transform: none; /* فallback هم افقی شود */
        }
    }

    .promo-caption-item img {
        transform: rotate(0deg);
    }
}
