/* ===== 풀스크린 배너 (헤더 제외) ===== */
#mainCarousel {
  width: 100vw;
  max-width: 100vw;
  height: calc(100vh - 110px);  /* 헤더 제외한 영역 */
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

.carousel-inner,
.carousel-item,
.carousel-item img {
  width: 100%;
  height: calc(100vh - 110px);
  object-fit: cover;
  display: block;
  margin: 0;
  background-color: #000;
}

/* ===== 슬라이드 탭: 배너 하단 고정 ===== */
.slide-tabs-overlay {
  position: absolute;    /* 배너 안쪽 하단에 겹치기 */
  left: 0; right: 0; bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 10;
  padding: 12px 0;
  margin-top: 0;         /* 기존 여백 제거 */
}

.slide-tabs-overlay .nav { justify-content: center; }

.slide-tabs-overlay .nav-link {
  color: #222;
  padding: 6px 16px;
  border-radius: 20px;
  font-weight: 500;
}

.slide-tabs-overlay .nav-link.active {
  background-color: #d32f2f;
  color: #fff;
}

/* ===== 기타 기존 스타일 유지 ===== */
.card-img-top {
  width: 100%;
  height: 200px;
  object-fit: contain;
  border-bottom: 1px solid #eee;
}

.container {
  max-width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

.btn-outline-primary:hover {
  background-color: #d32f2f;
  color: #fff;
  border-color: #d32f2f;
}

.signup-title {
  font-size: 24px;
  margin-bottom: 30px;
  font-weight: bold;
  border-bottom: 2px solid #c0392b;
  padding-bottom: 10px;
}

#mainCarousel {
  height: calc(100vh - 110px);
}
.carousel-inner,
.carousel-item,
.carousel-item img {
  height: calc(100vh - 110px);
}

/* ===== 모바일 (필요 시만 높이 조정, 기본은 100vh 유지 권장) ===== */
@media (max-width: 576px) {
  /* 100vh 유지가 부담되면 주석 해제해 75vh 정도로 낮춰도 됨 */
  /* 
  #mainCarousel,
  .carousel-inner,
  .carousel-item,
  .carousel-item img { height: 75vh; }
  */

  .slide-tabs-overlay .nav-link {
    padding: 4px 10px;
    font-size: 14px;
  }

  .card-img-top { height: 160px; }

  .container {
    padding-left: 10px;
    padding-right: 10px;
  }
}
