/* Slider Core Styles */
.slick-slider {
   box-sizing: border-box;
   user-select: none;
   -webkit-touch-callout: none;
   touch-action: pan-y;
   -webkit-tap-highlight-color: transparent;
}
.slick-list {
   overflow: hidden;
   margin: 0;
   padding: 0;
}
.slick-list.dragging {
   cursor: pointer;
}
.slick-slider .slick-list,
.slick-slider .slick-track {
   transform: translate3d(0, 0, 0);
}
.slick-track {
   top: 0;
   left: 0;
}
.slick-track:after,
.slick-track:before {
   display: table;
   content: '';
}
.slick-track:after {
   clear: both;
}
.slick-slide {
   display: none;
   float: left;
   height: 100%;
   min-height: 1px;
   background: 0 0;
   border: none;
}
[dir='rtl'] .slick-slide {
   float: right;
}
.slick-slide img {
   display: block;
   max-width: 100%;
}
.slick-slide.slick-loading img {
   display: none;
}
.slick-initialized .slick-slide {
   display: block;
}

/* Main Visual Layout */
#main_visual {
   position: relative;
   overflow: hidden;
   text-align: center;
   color: #fff;
   height: 980px;
   word-break: keep-all;
}

#main_visual .item {
   height: 980px;
   background: no-repeat center center scroll;
   background-size: cover;
}

/* Animations */
#main_visual .item.slick-active h1 {
   animation: fadeInDown 1s both 1s;
}
#main_visual .item.slick-active h5 {
   animation: fadeInLeft 1s both 1.5s;
}

/* Text Styling */
#main_visual .item h1 {
   font-size: 128px;
   font-weight: 900;
   color: var(--op-primary);
   line-height: 1.3;
}
#main_visual .item h5 {
   background-color: var(--op-primary);
   border-radius: 25px;
   color: #fff;
   padding: 0.5rem 0;
   font-size: 20px;
}

/* --- [중요] 컨트롤 영역 스타일 수정 --- */
#main_visual .contols {
   left: 50%; /* 중앙 정렬을 위해 50%로 변경 */
   transform: translateX(-50%); /* 정확한 중앙 정렬 */
   top: 900px;
   width: auto; /* 너비 자동 */
   height: auto;
   padding-top: 0.25rem;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 20px;
}

/* 커스텀 화살표 스타일 */
#main_visual .custom-arrow {
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 30px;
   color: var(--op-primary);
   width: 40px;
   height: 40px;
   border-radius: 50%; /* (선택사항) 원형 테두리, 사각형 원하시면 제거 */
   /* Slick 기본 스타일 덮어쓰기 (중요) */
   z-index: 100;
   text-indent: 0 !important; /* 글자 숨김 해제 */
   position: static !important; /* 절대 위치 해제 */
   background: none !important; /* 배경 이미지 제거 */
}

/* 화살표 호버 효과 */
#main_visual .custom-arrow:hover {
   color: #fff;
}

/* 도트 컨테이너 */
#main_visual .dots_w {
   display: flex;
   align-items: center;
}

#main_visual .slick-dots {
   margin-bottom: 5px;
   padding: 0;
}
#main_visual .slick-dots li {
   display: inline-block;
   margin: 0 15px;
}

/* 도트 버튼 스타일 */
#main_visual .slick-dots button {
   width: 8px;
   height: 8px;
   text-indent: -999px;
   border: none;
   white-space: nowrap;
   overflow: hidden;
   /* background: url('../images/pager_main.png') no-repeat center center; */
   border: 2px solid var(--op-primary);
   border-radius: 25px;
}

#main_visual .slick-active button {
   /* background: url('../images/pager_main_s.png') no-repeat center center; */
   border: 1px solid var(--op-primary);
   border-radius: 25px;
   background-color: var(--op-primary);
   width: 48px;
   height: 8px;
}

/* 반응형 스타일 */
@media (max-width: 1199px) {
   #main_visual .item h1 {
      font-size: 72px;
      line-height: 1.5;
   }
   #main_visual .item h5 {
      font-size: 16px;
      word-break: keep-all;
      padding: 1rem;
   }
   #main_visual .contols {
      display: none;
   }
}

@media (max-width: 567px) {
   #main_visual {
      height: 600px;
   }
   #main_visual .item {
      height: 600px;
   }
   #main_visual .item h1 {
      font-size: 40px;
      margin-bottom: 10px;
   }
   #main_visual .item h5 {
      font-size: 14px;
      word-break: keep-all;
   }
}