/* 작업본 CSS — theme/14 별빛쉼터 (반려동물 추모공원) */

html { font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; }
body { -webkit-text-size-adjust: 100%; }

/* 줄임 처리 */
.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

input[type="search"]::placeholder { color: rgba(255,255,255,.45); }

/* ===== 네비 언더라인 hover ===== */
#mainNav ul > li > a { position: relative; }
#mainNav ul > li > a::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 6px;
    height: 2px;
    background: #C7A17A;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}
#mainNav ul > li:hover > a::after { transform: scaleX(1); }

/* ===== HERO 슬라이드 ===== */
.hero-slide .swiper-pagination-bullet { background: rgba(255,255,255,.5); opacity: 1; transition: all .25s ease; }
.hero-slide .swiper-pagination-bullet-active { background: #C7A17A; width: 26px; border-radius: 4px; }
.hero-prev, .hero-next { background: rgba(0,0,0,.25); backdrop-filter: blur(4px); transition: background .2s ease; }
.hero-prev:hover, .hero-next:hover { background: rgba(0,0,0,.5); }
/* Swiper가 슬라이드에 display:block 강제 → flex 정렬 유지 */
.hero-slide .swiper-slide { display: block; }

/* ===== 추모공원 2컬럼 그리드 (minmax(0,1fr) 강제) ===== */
.park-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
@media (min-width: 1024px) {
    .park-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; }
}
.park-grid > div { min-width: 0; }

/* ===== 게시판 위젯 그리드 (3 위젯 + 로그인 사이드, 원본 골격 DNA) ===== */
.board-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
@media (min-width: 640px)  { .board-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }
@media (min-width: 1024px) { .board-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 300px; } }
.board-grid > div { min-width: 0; }

/* ===== 로그인 탭 ===== */
.login-tab { transition: all .2s ease; color: rgba(255,255,255,.55); }
.login-tab.active { background: #C7A17A; color: #2A2723; }
.login-tab:not(.active):hover { color: #fff; }

/* ===== 갤러리 슬라이드 (right-full) ===== */
.gallery-slide .swiper-slide { width: 240px; }
@media (min-width: 768px)  { .gallery-slide .swiper-slide { width: 280px; } }
@media (min-width: 1280px) { .gallery-slide .swiper-slide { width: 300px; } }

/* ===== 후기 슬라이드 ===== */
.review-slide .swiper-slide { height: auto; }

/* ===== FAQ 아코디언 ===== */
.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-item.open .faq-a { max-height: 320px; }
.faq-item.open .faq-icon { transform: rotate(45deg); }

/* ===== TOP 버튼 ===== */
#topBtn.show { opacity: 1; visibility: visible; }

/* ===== 푸터 패밀리사이트 셀렉트 (드롭다운 가독성) ===== */
#familySiteSelect option { color: #2A2723; background: #fff; }

/* ===== 진입 팝업 (공지/이벤트) ===== */
.popup-layer { position: fixed; inset: 0; z-index: 80; display: none; align-items: center; justify-content: center; padding: 1rem; }
.popup-layer.show { display: flex; }
.popup-layer .popup-box { transform: translateY(14px); opacity: 0; transition: transform .3s ease, opacity .3s ease; }
.popup-layer.show .popup-box { transform: translateY(0); opacity: 1; }

/* ===== 모바일 드로어 ===== */
#mobileDrawer.open { display: block; }
#mobileDrawer aside { transform: translateX(-100%); transition: transform .28s ease; }
#mobileDrawer.open aside { transform: translateX(0); }
