/* ===== VISION_3IMG ===== */

/* 헤더 (타이틀 + MORE) */
.VISION_3IMG .v3img_header {
  width: 100%;
  float: left;
  position: relative;
}
.VISION_3IMG .v3img_titles {
  width: 100%;
  float: left;
}

/* MORE 기본 버튼 */
.VISION_3IMG .v3img_more {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.3s;
}
.VISION_3IMG .v3img_more:hover { color: #000; }
.VISION_3IMG .v3img_more_icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.3s;
}
.VISION_3IMG .v3img_more:hover .v3img_more_icon {
  background: #333;
  border-color: #333;
  color: #fff;
}

/* 카드 영역 - INNER 안 100% */
.VISION_3IMG .v3img_area {
  width: 100%;
  float: left;
  position: relative;
  margin-top: clamp(30px, calc(2.34vw + 22.5px), 60px);
}

/* 카드 컨테이너 */
.VISION_3IMG .v3img_cards {
  display: flex;
  align-items: stretch;
  position: relative;
  z-index: 2;
  min-height: var(--v3-h-pc, 54rem);
}

/* 개별 카드 */
.VISION_3IMG .v3img_card {
  flex: 1;
  display: flex;
  align-items: flex-end;
  cursor: pointer;
  position: relative;
}
.VISION_3IMG .v3img_card:not(:first-child) {
  border-left: 1px solid rgba(255, 255, 255, 0.36);
}

/* 카드 바디 */
.VISION_3IMG .v3img_card_body {
  padding: clamp(24px, calc(1.25vw + 20px), 40px);
  width: 100%;
}

/* 카드 제목 */
.VISION_3IMG .v3img_txt1 {
  display: block;
  font-weight: 700;
  font-size: clamp(18px, calc(0.63vw + 16px), 26px);
  color: rgba(255, 255, 255, 0.6);
  transition: color 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: -0.5px;
}
.VISION_3IMG .v3img_card.active .v3img_txt1 {
  color: #fff;
}

/* 카드 설명 */
.VISION_3IMG .v3img_txt2 {
  margin-top: 10px;
  opacity: 0;
  visibility: hidden;
  translate: 0 10px;
  color: #fff;
  font-size: clamp(13px, calc(0.31vw + 12px), 16px);
  line-height: 1.6;
  transition:
    opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s,
    visibility 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s,
    translate 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}
.VISION_3IMG .v3img_card.active .v3img_txt2 {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
}

/* 배경 이미지 영역 - INNER 안 100% */
.VISION_3IMG .v3img_bgs {
  overflow: hidden;
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* 개별 배경 */
.VISION_3IMG .v3img_bg {
  position: absolute;
  inset: 0;
  opacity: 0;
  scale: 1.08;
  filter: blur(8px);
  transition:
    scale 1.2s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 1s cubic-bezier(0.4, 0, 0.2, 1) 0.05s,
    filter 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.VISION_3IMG .v3img_bg.active {
  opacity: 1;
  scale: 1;
  filter: blur(0);
}

/* 오버레이 */
.VISION_3IMG .v3img_bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, var(--v3-overlay, 0.24));
  pointer-events: none;
  z-index: 1;
}

/* 배경 이미지 - v3img_bg 안 모든 img */
.VISION_3IMG .v3img_bg img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* ===== 모바일 ===== */
@media screen and (max-width: 992px) {
  .VISION_3IMG .v3img_cards {
    flex-direction: column;
    min-height: 0;
  }
  .VISION_3IMG .v3img_card {
    flex: none;
    width: 100%;
    min-height: var(--v3-h-mo, 26rem);
  }
  .VISION_3IMG .v3img_card:not(:first-child) {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.36);
  }
  .VISION_3IMG .v3img_card_body {
    padding: 24px;
  }
}

@media screen and (max-width: 640px) {
  .VISION_3IMG .v3img_card {
    min-height: 22rem;
  }
  .VISION_3IMG .v3img_more {
    position: relative;
    margin-top: 10px;
    float: right;
  }
}
