/* //////////////////////// */
.xf-main-slide-banner {
  display: block;
  position: relative;
  margin: 0 auto;
  max-width: 1200px;
}

.xf-main-slide-banner .main-banner-control {
  position: relative;
  height: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.xf-main-slide-banner .main-banner-control .main-banner-btn {
  position: absolute;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  bottom: 160px;
  display: none;
}

/* 기존 화살표 버튼 스타일 숨기기 */
.xf-main-slide-banner .main-banner-control .swiper-button-next,
.xf-main-slide-banner .main-banner-control .swiper-button-prev {
  display: none;
}

/* Swiper Container 스타일 */
.xf-main-slide-banner .main-visual-slide-banner {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}

.xf-main-slide-banner .swiper-wrapper {
  align-items: center;
  display: flex;
  transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1) !important;
  height: 100%;
}

/* 기존 fraction 페이지네이션 숨기기 */
.xf-main-slide-banner .xf-slide-pagination-box {
  display: none !important;
}

/* 도트 페이지네이션 - 왼쪽 아래 */
.xf-main-slide-banner .swiper-pagination {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  right: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px;
  z-index: 30;
}

.xf-main-slide-banner .swiper-pagination-bullets {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  right: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px;
  z-index: 30;
}

.xf-main-slide-banner .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  opacity: 1;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.1);
  outline: none;
  margin: 0 !important;
}

.xf-main-slide-banner .swiper-pagination-bullet:hover {
  background: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.2);
  transform: scale(1.2);
}

.xf-main-slide-banner .swiper-pagination-bullet-active {
  background: rgba(0, 0, 0, 0.6);
  width: 24px;
  border-radius: 12px;
  transform: scale(1);
  border-color: rgba(0, 0, 0, 0.3);
}

.xf-main-slide-banner .swiper-pagination-bullet-active:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: scale(1.1);
}

/* 컨트롤 그룹 - 오른쪽 아래 */
.xf-main-slide-banner .control-group {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 30;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-radius: 20px;
  padding: 6px 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.xf-main-slide-banner .control-group:hover {
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* 화살표 및 재생/정지 버튼 공통 스타일 */
.xf-main-slide-banner .control-btn {
  width: 28px;
  height: 28px;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
}

.xf-main-slide-banner .control-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}

.xf-main-slide-banner .control-btn:active {
  transform: scale(0.95);
}

.xf-main-slide-banner .control-btn::after,
.xf-main-slide-banner .control-btn::before {
  font-family: 'xeicon';
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  font-weight: normal;
  transition: color 0.2s ease;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.xf-main-slide-banner .control-btn:hover::after,
.xf-main-slide-banner .control-btn:hover::before {
  color: rgba(255, 255, 255, 1);
}

/* 기존 화살표 버튼 숨기기 */
.xf-main-slide-banner .swiper-button-prev,
.xf-main-slide-banner .swiper-button-next {
  display: none !important;
}

/* 새로운 화살표 버튼 스타일 */
.xf-main-slide-banner .control-prev::after {
  content: "\e93c";
  margin-right: 0.5px;
}

.xf-main-slide-banner .control-next::after {
  content: "\e93f";
  margin-left: 0.5px;
}

/* 재생/정지 버튼 스타일 */
.xf-main-slide-banner .control-play {
  position: relative;
}

.xf-main-slide-banner .control-play::after {
  content: "\ea3b"; /* 정지 아이콘 (일시정지) */
  transition: all 0.2s ease;
}

.xf-main-slide-banner .control-play.paused::after {
  content: "\ea3e"; /* 재생 아이콘 (플레이) */
}

.xf-main-slide-banner .control-play:hover {
  background: rgba(0, 200, 0, 0.3);
}

.xf-main-slide-banner .control-play.paused:hover {
  background: rgba(255, 150, 0, 0.3);
}

/* 드래그 방지 */
.xf-main-slide-banner .swiper-container {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

.xf-main-slide-banner .swiper-slide {
  pointer-events: auto;
}

.xf-main-slide-banner .banner-slide-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

/* 배너 슬라이드 아이템 - 모바일 반응형 */
.xf-main-slide-banner .banner-slide-item {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  background-color: #444;
  height: 200px; /* 모바일 기본 높이를 200px로 설정 */
  overflow: hidden;
  border-radius: 12px; /* 모바일에서 둥근 모서리 축소 */
  width: 100%;
  display: block;
}

/* Swiper 슬라이드 기본 스타일 */
.xf-main-slide-banner .swiper-slide {
  opacity: 0;
  position: relative;
  transition: opacity 0.3s ease;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
}

/* 활성 슬라이드 */
.xf-main-slide-banner .swiper-slide-active {
  opacity: 1 !important;
}

/* 이전/다음 슬라이드 약간 보이게 */
.xf-main-slide-banner .swiper-slide-prev,
.xf-main-slide-banner .swiper-slide-next {
  opacity: 0.3;
}

.xf-main-slide-banner .banner-slide-item .banner-dimmed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  display: block;
  z-index: 1;
}

.xf-main-slide-banner .banner-slide-item .slide-inner {
  position: relative;
  padding: 20px 15px 15px; /* 모바일 패딩 */
  width: 100%;
  height: 200px; /* 기본 높이 200px 설정 */
  max-width: 1140px;
  margin: 0 auto;
}

.xf-main-slide-banner .banner-slide-item .banner-img {
  position: absolute;
  background-size: contain; /* 모바일에서 이미지가 잘리지 않도록 */
  background-position: right center;
  background-repeat: no-repeat;
  width: 60%; /* 모바일에서 이미지 크기 축소 */
  right: 10px;
  bottom: 0;
  top: 0;
  z-index: 0;
}

.xf-main-slide-banner .banner-slide-item .banner-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right center;
}

.xf-main-slide-banner .banner-slide-item .xf-banner-slide-content {
  padding-left: 0px;
  padding-top: 0px;
  z-index: 5;
  max-width: 55%; /* 모바일에서 텍스트 영역 축소 */
  position: relative;
}

.xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title {
  color: #fff;
  margin: 0;
  letter-spacing: -0.5px;
  font-size: 16px; /* 모바일 제목 크기 축소 */
  font-weight: 700;
  line-height: 22px;
}

.xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title a {
  color: #fff;
  margin: 0;
  font-weight: 700;
  font-size: 16px; /* 모바일 제목 크기 축소 */
  line-height: 22px;
  letter-spacing: -0.5px;
  text-transform: lowercase;
  color: #FFFFFF;
  text-decoration: none;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.3);
}

.xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title a:hover {
  text-decoration: none;
}

.xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-content {
  font-weight: 400;
  font-size: 12px; /* 모바일 내용 크기 축소 */
  line-height: 16px;
  letter-spacing: -0.3px;
  color: #FFFFFF;
  mix-blend-mode: normal;
  opacity: 0.8;
  margin: 3px 0 0 0;
}

.xf-main-slide-banner .banner-slide-item .xf-banner-detail-btn {
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: -0.6px;
  line-height: 24px;
  padding: 4px 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  text-decoration: none;
}

/* PC 스타일 (기존 PC 스타일 유지) */
@media (min-width: 992px) {
  .xf-main-slide-banner {
    margin: 40px 0 40px 0;
  }
  
  .xf-main-slide-banner .main-banner-control {
    position: relative;
  }
  
  .xf-main-slide-banner .main-banner-control .main-banner-btn {
    display: block;
  }
  
  .xf-main-slide-banner .main-visual-slide-banner {
    padding-top: 0px;
  }
  
  /* PC 도트 페이지네이션 */
  .xf-main-slide-banner .swiper-pagination,
  .xf-main-slide-banner .swiper-pagination-bullets {
    bottom: 36px !important;
    left: 40px !important;
    gap: 10px;
  }
  
  .xf-main-slide-banner .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }
  
  .xf-main-slide-banner .swiper-pagination-bullet-active {
    width: 32px;
    border-radius: 16px;
  }
  
  /* PC 컨트롤 그룹 */
  .xf-main-slide-banner .control-group {
    bottom: 20px;
    right: 25px;
    gap: 6px;
    padding: 8px 10px;
    border-radius: 24px;
    background: rgba(0, 0, 0, 0.6);
  }
  
  .xf-main-slide-banner .control-group:hover {
    background: rgba(0, 0, 0, 0.6);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  }
  
  .xf-main-slide-banner .control-btn {
    width: 32px;
    height: 32px;
  }
  
  .xf-main-slide-banner .control-btn::after,
  .xf-main-slide-banner .control-btn::before {
    font-size: 16px;
  }
  
  /* PC 배너 아이템 */
  .xf-main-slide-banner .banner-slide-item {
    height: 380px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 30px;
    overflow: hidden;
  }
  
  .xf-main-slide-banner .banner-slide-item .slide-inner {
    position: relative;
    padding: 42px 0 60px;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    align-items: center;
  }
  
  .xf-main-slide-banner .banner-slide-item .banner-img {
    width: 400px;
    height: 100%;
    right: 50px;
    top: -10px;
    display: flex;
    align-items: center;
    background-size: 100%;
    background-position: 0 0;
  }

  .xf-main-slide-banner .banner-slide-item .banner-img img {
    width: 100%;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content {
    padding-left: 74px;
    max-width: 70%;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title {
    font-size: 48px;
    font-weight: 700;
    line-height: 54px;
    letter-spacing: -2px;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title a {
    font-size: 48px;
    font-weight: 700;
    line-height: 54px;
    letter-spacing: -2px;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-content {
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: -0.8px;
    color: #FFFFFF;
    mix-blend-mode: normal;
    opacity: 0.8;
    margin: 15px 0 0 0;
    max-width: 370px;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-detail-btn {
    display: inline-block;
  }
}

/* 태블릿 스타일 */
@media (min-width: 768px) and (max-width: 991px) {
  .xf-main-slide-banner .banner-slide-item {
    height: 250px; /* 태블릿 높이 */
    border-radius: 20px;
  }
  
  .xf-main-slide-banner .banner-slide-item .slide-inner {
    padding: 30px 20px 20px;
  }
  
  .xf-main-slide-banner .banner-slide-item .banner-img {
    width: 70%;
    right: 20px;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content {
    max-width: 60%;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title,
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title a {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -1px;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-content {
    font-size: 14px;
    line-height: 20px;
    margin: 8px 0 0 0;
  }
  
  .xf-main-slide-banner .swiper-pagination,
  .xf-main-slide-banner .swiper-pagination-bullets {
    bottom: 28px !important;
    left: 30px !important;
    gap: 9px;
  }
  
  .xf-main-slide-banner .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
  }
  
  .xf-main-slide-banner .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 14px;
  }
  
  .xf-main-slide-banner .control-group {
    bottom: 28px;
    right: 30px;
    gap: 8px;
    padding: 8px 12px;
  }
  
  .xf-main-slide-banner .control-btn {
    width: 30px;
    height: 30px;
  }
  
  .xf-main-slide-banner .control-btn::after,
  .xf-main-slide-banner .control-btn::before {
    font-size: 15px;
  }
}

/* 모바일 스타일 - 완전 최적화 */
@media (max-width: 767px) {
  .xe-col-md-12 {
    margin-top: 20px;
  }

  /* 메인 컨테이너 반응형 */
  .relative.h-\[230px\].w-full.lg\:h-\[380px\] {
    height: 200px !important; /* 모바일 높이를 slide-inner와 맞춤 */
  }
  
  /* slide-inner 고정 높이 설정 */
  .xf-main-slide-banner .banner-slide-item .slide-inner {
    height: 200px !important; /* 고정 높이 설정 */
    padding: 15px 10px 10px; /* 패딩 조정 */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  /* 컨트롤 그룹 - 작고 하단 여백 확보 */
  .xf-main-slide-banner .control-group {
    bottom: 8px !important;
    right: 12px !important;
    gap: 2px;
    padding: 4px 6px;
    background: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    border-radius: 16px;
  }
  
  .xf-main-slide-banner .control-group:active {
    background: rgba(0, 0, 0, 0.8) !important;
    transform: scale(0.98);
  }
  
  .xf-main-slide-banner .control-btn {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
  }
  
  .xf-main-slide-banner .control-btn::after,
  .xf-main-slide-banner .control-btn::before {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.9);
  }
  
  .xf-main-slide-banner .control-btn:active {
    background: rgba(255, 255, 255, 0.2) !important;
    transform: scale(0.9);
  }
  
  /* 재생/정지 버튼 모바일 최적화 */
  .xf-main-slide-banner .control-play:active {
    background: rgba(0, 200, 0, 0.3) !important;
  }
  
  .xf-main-slide-banner .control-play.paused:active {
    background: rgba(255, 150, 0, 0.3) !important;
  }
  
  /* 배너 내용 모바일 최적화 */
  .xf-main-slide-banner .banner-slide-item {
    height: 200px !important; /* slide-inner와 동일한 높이 */
  }
  
  .xf-main-slide-banner .banner-slide-item .banner-img {
    width: 50%; /* 이미지 영역 더 축소 */
    right: 8px;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content {
    max-width: 48%; /* 텍스트 영역 더 축소 */
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title,
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-title a {
    font-size: 14px; /* 제목 크기 더 축소 */
    line-height: 18px;
    letter-spacing: -0.3px;
  }
  
  .xf-main-slide-banner .banner-slide-item .xf-banner-slide-content .xf-slide-content {
    font-size: 11px; /* 내용 크기 더 축소 */
    line-height: 14px;
    letter-spacing: -0.2px;
    margin: 2px 0 0 0;
  }
}

/* 애니메이션 유지 */
@-webkit-keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}