/* ============================================
   히어로 비디오 슬라이더 (container 폭 + 영상 비율 높이)
   ============================================ */
/* 상단 네비가 히어로 슬라이더(prev/next z-index:10) 위에 오도록 */
.site-nav {
  z-index: 20;
}
/* 메인 style.css의 .hero(100vh, min-height 600px) 덮어써서 영상 높이만 사용 */
.hero.hero-v {
  height: auto;
  min-height: 0;
}
.hero-v {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #000;
}
@media (min-width: 576px) {
  .hero-v { max-width: 540px; }
}
@media (min-width: 768px) {
  .hero-v { max-width: 720px; }
}
@media (min-width: 992px) {
  .hero-v { max-width: 960px; }
}
@media (min-width: 1200px) {
  .hero-v { max-width: 1140px; }
}
@media (min-width: 1400px) {
  .hero-v { max-width: 1320px; }
}

/* 뷰포트: 높이는 보이는 슬라이드(영상)에 맞춤 */
.hero-v__inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* 슬라이드: 비활성은 숨김, 활성만 보여서 높이 결정 */
.hero-v__slide {
  display: none;
  width: 100%;
}
.hero-v__slide.active {
  display: block;
}

/* 비디오 래퍼: 영상 크기만큼 영역 차지 */
.hero-v__video-wrap {
  position: relative;
  width: 100%;
  line-height: 0;
}

/* 영상: 가로 100%, 세로는 비율에 맞게 → 영역 높이 = 영상 높이 */
.hero-v__video {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
  background: #000;
}

/* 캡션 오버레이 (video-wrap의 line-height:0 상속 방지) */
.hero-v__caption {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  line-height: normal;
}
.hero-v__caption .container { pointer-events: auto; }
.hero-v__caption .heading {
  color: #c00;
  font-size: clamp(2.25rem, 3.75vw, 3.75rem);
}
.hero-v__caption .lead {
  font-size: 21px;
  line-height: 1.75;
  margin-top: 0.75rem;
  margin-bottom: 0;
  display: block;
}

@media (max-width: 991px) {
  .hero-v__caption {
    align-items: center;
    padding: 1rem 0;
    overflow-y: auto;
  }
  .hero-v__caption .container { max-width: 100%; }
  .hero-v__caption .heading {
    font-size: clamp(1.35rem, 5vw, 2rem);
    line-height: 1.35;
    word-break: keep-all;
    margin-bottom: 0.5rem;
  }
  .hero-v__caption .lead {
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    line-height: 1.75;
    margin-top: 0.5rem;
    margin-bottom: 0;
  }
}
@media (max-width: 575px) {
  .hero-v__caption .heading { font-size: 1.25rem; }
  .hero-v__caption .lead { font-size: 0.875rem; line-height: 1.75; }
}

/* 설치사례 갤러리 슬라이더: 타이틀 크기, 이미지 전체 노출 */
.property-slider-wrap .property-item .gallery-item-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a202c;
}
/* 오버랩 제거 → 이미지 전체가 보이도록 */
.property-slider-wrap .property-item .property-content {
  margin-top: 1rem;
}
.property-slider-wrap .property-item .img {
  overflow: visible;
  display: block;
}
.property-slider-wrap .property-item .img .gallery-slider-img,
.property-slider-wrap .property-item .img img.gallery-slider-img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  display: block;
  vertical-align: top;
}

/* 좌우 클릭 영역 */
.hero-v__prev,
.hero-v__next {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 25%;
  z-index: 10;
  cursor: pointer;
}
.hero-v__prev { left: 0; }
.hero-v__next { right: 0; }

/* 인디케이터 점 */
.hero-v__nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24px;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 0;
  pointer-events: none;
}
.hero-v__dot {
  pointer-events: auto;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.9);
  background: transparent;
  cursor: pointer;
  padding: 0;
  transition: background .25s, transform .25s;
}
.hero-v__dot:hover,
.hero-v__dot.active {
  background: #fff;
}

@media (max-width: 991px) {
  .hero-v__prev,
  .hero-v__next {
    display: none;
  }
}
