/**
 * استایل ویجت TextFlip – نسخه هندسی و ضد تداخل GSAP
 */

.ft-text-flip-container {
  color: #2c3e50;
  text-transform: uppercase;
  font-size: 38px;
  font-weight: 800;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--container_gap, 15px);
  margin: 20px 0; /* تعبیه فاصله عمومی بومی بدون ایجاد تداخل با تراز موقعیت */
  width: 100%;
  box-sizing: border-box;
}

.ft-text-flip-prefix,
.ft-text-flip-suffix {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block;
  line-height: 1.2 !important;
}

/* ظرف بیرونی با پشتیبانی عمیق */
.ft-text-flip-wrapper {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  box-sizing: border-box;
  transform-style: preserve-3d;
  min-width: 50px;
  transition: width 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* در افکت‌های اسلایدی، باکس سرریز را پنهان می‌کنیم تا کلمات روی هم نیفتند */
.ft-text-flip-wrapper.ft-effect-slide-up,
.ft-text-flip-wrapper.ft-effect-slide-down,
.ft-text-flip-wrapper.ft-effect-fade,
.ft-text-flip-wrapper.ft-effect-zoom {
  overflow: hidden;
}

/* در افکت ۳بعدی، سرریز باید حتماً باز باشد تا پرسپکتیو ۳بعدی دچار باگ ۲بعدی (روی هم افتادن) نشود */
.ft-text-flip-wrapper.ft-effect-3d {
  overflow: visible;
}

/* باکس داخلی نگهدارنده لایه‌ها */
.ft-text-flip-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
}

/* کلمات که به صورت لایه‌های مطلق سه‌بعدی کنار هم قرار می‌گیرند */
.ft-text-flip-word-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important; 
  padding: 0 !important;
  display: block;
  flex-shrink: 0;
  box-sizing: border-box;
  transform-style: preserve-3d;
  backface-visibility: hidden; /* پشت کلمات کاملاً نامرئی می‌شود */
}

/* محتوای داخلی کلمه‌ها */
.ft-text-flip-word-wrapper div {
  width: 100%;
  height: 100%;
  color: #fff;
  display: flex; /* بازگشت به فلکس‌باکس جهت تضمین هم‌ترازی عمودی پایدار با هر نوع پدینگ و مارجین */
  align-items: center;
  box-sizing: border-box;
  white-space: nowrap;
  justify-content: center; /* تراز افقی پیش‌فرض کلمات */
}

/* ریسپانسیو */
@media (max-width: 768px) {
  .ft-text-flip-container {
    font-size: 26px;
    gap: 10px;
  }
}

@media (max-width: 480px) {
  .ft-text-flip-container {
    font-size: 20px;
    gap: 8px;
  }
}