/* ===== 부대시설 페이지 ===== */
.dg-flower-page{ color:#1f2937; font-family:'Pretendard','Noto Sans KR',sans-serif; letter-spacing:-.02em; }

/* ── 메인 카드 ── */
.dg-flower-gallery{
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(2,6,23,.08);
  box-shadow: 0 2px 12px rgba(2,6,23,.06);
}

/* ── 카드 헤더 (세이지 그린 파스텔) ── */
.dg-flower-gallery__head{
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--dg-primary-gradient);
}
.dg-flower-gallery__icon{
  width: 38px; height: 38px; min-width: 38px;
  border-radius: 10px;
  background: rgba(45,74,30,.10);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: #2d4a1e;
}
.dg-flower-gallery__title{
  margin: 0;
  font-family: 'Noto Serif KR', serif;
  font-weight: 800;
  font-size: 1.05rem;
  color: #2d4a1e;
  letter-spacing: -.02em;
}
.dg-flower-gallery__desc{
  margin: 0;
  font-size: .78rem;
  color: rgba(45,74,30,.5);
}
.dg-flower-gallery__count{
  margin-left: auto;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(45,74,30,.08);
  border: 1px solid rgba(45,74,30,.15);
  font-weight: 700;
  font-size: .75rem;
  color: #2d4a1e;
  white-space: nowrap;
}

/* ── 좌우 레이아웃 ── */
.dg-facility-wrap{
  display: flex;
  align-items: stretch;
}

/* 왼쪽: 시설 목록 */
.dg-facility-list{
  flex: 1 1 55%;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-right: 1px solid rgba(2,6,23,.06);
}
.dg-facility-item{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(2,6,23,.05);
}
.dg-facility-item:last-child{ border-bottom: none; }

.dg-facility-badge{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  padding: 5px 14px;
  border-radius: 20px;
  background: linear-gradient(135deg, #f4a261 0%, #e76f51 100%);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(231,111,81,.2);
}
.dg-facility-desc{
  font-size: .82rem;
  color: #374151;
  line-height: 1.7;
  word-break: keep-all;
  padding-top: 2px;
}
.dg-facility-desc .text-link{
  color: var(--dg-primary, #0f5132);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 오른쪽: 캐러셀 */
.dg-facility-carousel{
  flex: 1 1 45%;
  display: flex;
  flex-direction: column;
}

/* ── 캐러셀 (기존 유지) ── */
.dg-flower-carousel .carousel-inner{ border-radius: 0; }
.dg-flower-carousel .carousel-item{
  background: #f8faf8;
  text-align: center;
}
.dg-flower-carousel .carousel-item img{
  width: 100%;
  height: 380px;
  display: block;
  object-fit: cover;
}

/* 좌우 버튼 */
.dg-flower-carousel .carousel-control-prev,
.dg-flower-carousel .carousel-control-next{
  width: 38px; height: 38px;
  top: 50%; bottom: auto;
  transform: translateY(-50%);
  background: rgba(0,0,0,.35);
  border-radius: 50%;
  opacity: 1;
  margin: 0 10px;
  transition: background .2s;
}
.dg-flower-carousel .carousel-control-prev:hover,
.dg-flower-carousel .carousel-control-next:hover{
  background: rgba(0,0,0,.55);
}
.dg-flower-carousel .carousel-control-prev-icon,
.dg-flower-carousel .carousel-control-next-icon{
  width: 14px; height: 14px;
}

/* 인디케이터 */
.dg-flower-carousel .carousel-indicators{
  bottom: 12px;
  gap: 5px;
  margin: 0;
  padding: 5px 10px;
  justify-content: center;
  left: 50%; right: auto;
  transform: translateX(-50%);
  background: rgba(0,0,0,.3);
  border-radius: 999px;
}
.dg-flower-carousel .carousel-indicators button{
  width: 8px; height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.5);
  opacity: 1;
  margin: 0; padding: 0;
  transition: all .25s;
}
.dg-flower-carousel .carousel-indicators button.active{
  background: #fff;
  transform: scale(1.2);
}

/* 슬라이드 카운터 */
.dg-flower-carousel__counter{
  position: absolute;
  top: 12px; right: 12px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  z-index: 5;
  pointer-events: none;
}
.dg-facility-carousel{
  flex: 1 1 45%;
  display: flex;
  flex-direction: column;
  padding-top: 20px;
}
/* ── 썸네일 ── */
.dg-flower-thumbs{
  padding: 12px 14px;
  display: flex;
  justify-content: center;
  gap: 6px;
  overflow-x: auto;
  background: rgba(2,6,23,.02);
  border-top: 1px solid rgba(2,6,23,.06);
}
.dg-flower-thumbs::-webkit-scrollbar{ height: 0; }
.dg-flower-thumb{
  flex: 0 0 auto;
  width: 64px; height: 46px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  opacity: .5;
  transition: all .25s;
}
.dg-flower-thumb:hover{ opacity: .8; }
.dg-flower-thumb.active{
  border-color: var(--dg-primary, #0f5132);
  opacity: 1;
  box-shadow: 0 2px 8px rgba(15,81,50,.2);
}
.dg-flower-thumb img{
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* ── 반응형 ── */
@media (max-width: 991px) {
  .dg-facility-wrap{ flex-direction: column; }
  .dg-facility-list{
    border-right: none;
    border-bottom: 1px solid rgba(2,6,23,.06);
  }
  .dg-facility-carousel{ width: 100%; }
  .dg-flower-carousel .carousel-item img{ height: 320px; }
}
@media (max-width: 575px) {
  .dg-facility-list{ padding: 16px; }
  .dg-facility-badge{ min-width: 90px; font-size: .72rem; padding: 4px 10px; }
  .dg-facility-desc{ font-size: .78rem; }
  .dg-flower-carousel .carousel-item img{ height: 240px; }
  .dg-flower-gallery__count{ display: none; }
}