/* Глобально включаем плавные переходы */
.t-container,
.t-col,
.tn-elem,
img,
.t-btn,
.t-input,
.t-text,
.t-title,
.t-descr {
  transition: all 0.25s ease-in-out;
  will-change: transform, opacity, width, height, left, top;
}

/* Для изображений фиксируем пропорции */
img {
  object-fit: contain; /* или cover — зависит от задачи */
  max-width: 100%;
  height: auto;
  transition: transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
}

/* Для кнопок */
.t-btn {
  transition: background-color 0.25s ease-in-out,
              color 0.25s ease-in-out,
              transform 0.25s ease-in-out;
}

/* Для текстов — чтобы не дергались */
.t-title, 
.t-text, 
.t-descr {
  transition: font-size 0.25s ease-in-out,
              line-height 0.25s ease-in-out,
              letter-spacing 0.25s ease-in-out;
}

/* Для адаптивных блоков (колонки/контейнеры) */
.t-col, 
.t-container {
  transition: padding 0.25s ease-in-out,
              margin 0.25s ease-in-out,
              width 0.25s ease-in-out,
              left 0.25s ease-in-out,
              top 0.25s ease-in-out;
}
