/* ============================================
   step123 - 스텝 섹션 (배경이미지 + 호버 이미지 슬라이드)
   ============================================ */

/* 최상위 - 패딩은 mbt_widget_padding 인라인 스타일로 적용 */
.step123 {
  position: relative;
  overflow: hidden;
}

/* 내부 래퍼 - 높이 + 수직 중앙정렬 (bg/overlay 위) */
.step123 .step123_inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--step123-height, auto);
}

/* ── 배경이미지 (항목1 이미지1) ── */
.step123 .step123_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  filter: blur(var(--step123-blur, 0px));
}
.step123 .step123_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.step123 .step123_bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
.step123 .step123_bg .step123_bg_alt {
  width: 100%;
  height: 100%;
}
.step123 .step123_bg .step123_bg_alt img,
.step123 .step123_bg .step123_bg_alt video,
.step123 .step123_bg .step123_bg_alt iframe,
.step123 .step123_bg .step123_bg_alt lottie-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ── 오버레이 ── */
.step123 .step123_overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, var(--step123-overlay, 0.9));
  z-index: 1;
}

/* ── 콘텐츠 영역 (flex 자식 → 전체 너비 유지) ── */
.step123 .contents-container {
  position: relative;
  z-index: 2;
  width: 100% !important;
}
.step123 .step123_content {
  width: 100%;
}

/* ── 타이틀 영역 ── */
.step123 .step123_title_area {
  width: 100%;
}
.step123 .step123_tit {
  color: #fff;
  font-size: clamp(32px, calc(3.75vw + 20px), 80px);
  font-weight: 700;
  line-height: 1.1;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.1);
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 100%;
  background-repeat: no-repeat;
}
.step123 .step123_desc {
  color: #fff;
  font-size: clamp(14px, calc(0.47vw + 12.5px), 20px);
  line-height: 1.6;
  margin-top: clamp(4px, calc(0.47vw + 2.5px), 10px);
  overflow: hidden;
}
.step123 .step123_desc > span {
  display: block;
  transform: translateY(100%);
}

/* ── 스텝 리스트 ── */
.step123 .step123_list {
  display: flex;
  align-items: stretch;
  position: relative;
  width: 100%;
  float: left;
  margin-top: clamp(40px, calc(3.13vw + 30px), 80px);
}

/* ── 스텝 아이템 ── */
.step123 .step123_item {
  flex: 1;
  height: auto;
}
.step123 .step123_item:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

/* ── 텍스트 영역 ── */
.step123 .step123_textset {
  padding: 0 clamp(20px, calc(1.56vw + 15px), 40px) clamp(50px, calc(3.91vw + 37.5px), 100px);
}
.step123 .step123_item:first-child .step123_textset {
  padding-left: 0;
}
.step123 .step123_subtit {
  color: #b2c4d5;
  font-weight: 700;
  font-size: clamp(14px, calc(0.47vw + 12.5px), 20px);
}
.step123 .step123_item_tit {
  display: block;
  color: #fff;
  font-size: clamp(18px, calc(0.94vw + 15px), 30px);
  font-weight: 700;
  line-height: 1.3;
  margin: clamp(6px, calc(0.47vw + 4.5px), 12px) 0 clamp(12px, calc(0.94vw + 9px), 24px);
}
.step123 .step123_item_desc {
  color: rgba(255, 255, 255, 0.65);
  font-size: clamp(13px, calc(0.23vw + 12.26px), 16px);
  line-height: 1.6;
}

/* ── 버튼 ── */
.step123 .step123_btn {
  display: inline-flex;
  align-items: center;
  margin-top: clamp(12px, calc(0.78vw + 9.5px), 22px);
  padding: clamp(8px, calc(0.39vw + 6.75px), 13px) clamp(18px, calc(0.78vw + 15.5px), 28px);
  border: 2px solid #FF6E00;
  color: #FF6E00;
  font-size: clamp(13px, calc(0.23vw + 12.26px), 16px);
  font-weight: 700;
  border-radius: 50px;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
}
.step123 .step123_btn:hover {
  background: #FF6E00;
  color: #fff;
}

/* ── 이미지 영역 ── */
.step123 .step123_imgwrap {
  overflow: hidden;
}
.step123 .step123_imgset {
  overflow: hidden;
  position: relative;
  transform: translateX(-150%);
  height: clamp(150px, calc(10.16vw + 117.5px), 280px);
}
/* 일반 이미지 + 대체이미지 모두 대응 */
.step123 .step123_imgset img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translateX(150%);
}

/* ── 반응형: 태블릿/모바일 ── */
@media screen and (max-width: 992px) {
  .step123 .step123_list {
    flex-direction: column;
    gap: clamp(40px, calc(6.25vw + 20px), 80px);
    margin-top: clamp(20px, calc(3.13vw + 10px), 40px);
  }
  .step123 .step123_item {
    flex: none;
    display: flex;
    flex-direction: column-reverse;
  }
  .step123 .step123_item:not(:last-child) {
    border-right: none;
  }
  .step123 .step123_textset {
    padding: clamp(10px, calc(1.56vw + 5px), 20px) 0;
    width: 100%;
  }
  .step123 .step123_item_tit {
    margin: clamp(2px, calc(0.31vw + 1px), 4px) 0 clamp(8px, calc(0.63vw + 6px), 16px);
  }
  .step123 .step123_imgwrap {
    overflow: visible;
  }
  .step123 .step123_imgset {
    margin-left: -1.6rem;
    width: calc(100% + 3.2rem);
    height: clamp(150px, calc(7.81vw + 125px), 200px);
  }
  .step123 .step123_imgset,
  .step123 .step123_imgset img {
    transform: none;
  }
}

/* ── 배경 고정 (bg-fixed) ── */
.step123.bg-fixed {
  clip-path: inset(0);
}
.step123.bg-fixed .step123_bg,
.step123.bg-fixed .step123_overlay {
  position: fixed;
}

/* ── 편집 모드 ── */
.step123 .wg_edit_txt,
.step123 .wg_edit_img,
.step123 .wg_edit_link {
  transition: none !important;
}
