/* 분양 사이트 공용 스타일 (메인 랜딩 + 카테고리 페이지) */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Noto Sans KR',sans-serif; color:#333; background:#fff0f0; padding-bottom:60px; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

/* 헤더 */
.site-header { background:#fff; color:#333; position:sticky; top:0; z-index:100; box-shadow:0 1px 4px rgba(0,0,0,.1); }
.header-top { padding:25px 16px; display:flex; align-items:center; justify-content:space-between; max-width:1400px; margin:0 auto; }
.site-header .logo { font-size:clamp(13px, 4vw, 19px); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex-shrink:1; min-width:0; color:#e00; }
.site-header .header-phone { display:flex; align-items:center; justify-content:flex-end; gap:6px; font-size:17px; font-weight:500; color:#e00; white-space:nowrap; flex-shrink:0; }
.site-header .header-phone .phone-icon { height:1em; width:auto; vertical-align:middle; }
.menu-toggle { display:none; background:none; border:none; color:#333; font-size:26px; cursor:pointer; padding:6px 10px; margin-right:8px; flex-shrink:0; line-height:1; }

/* 카테고리 네비게이션 */
.category-nav { display:flex; justify-content:center; flex:1; min-width:0; }
.category-nav a, .category-nav .cat-nav-item { display:inline-block; padding:8px 16px; font-size:15px; font-weight:500; color:#666; border-bottom:2px solid transparent; transition:all .2s; white-space:nowrap; cursor:pointer; }
.category-nav a:hover, .category-nav .cat-nav-item:hover { color:#333; }
.category-nav a.active, .category-nav .cat-nav-item.active { color:#333; border-bottom-color:#015152; font-weight:700; }
.cat-nav-wrap { position:relative; display:inline-block; }
.cat-nav-dropdown { display:none; position:absolute; top:100%; left:0; background:#fff; min-width:160px; box-shadow:0 4px 12px rgba(0,0,0,.15); border-radius:0 0 8px 8px; z-index:200; padding:4px 0; }
.cat-nav-wrap:hover .cat-nav-dropdown { display:block; }
.cat-nav-dropdown a { display:block; padding:8px 16px; font-size:13px; color:#666; border-bottom:none; white-space:nowrap; }
.cat-nav-dropdown a:hover { color:#333; background:#f5f5f5; }

/* content-wrap */
.content-wrap { background:#fff; }

/* 대표 썸네일 */
.hero-thumb { width:100%; overflow:hidden; }
.hero-thumb img { width:100%; display:block; }

/* Naver carousel */
.naver-carousel { position: relative; margin: 0 16px 16px; border-radius: 10px; overflow: hidden; background: #fff; }
.naver-carousel-track { display: flex; transition: transform .4s ease; }
.naver-carousel-item { min-width: 100%; position: relative; }
.naver-carousel-item img { width: 100%; display: block; }
.naver-carousel-caption { position:absolute; left:0; right:0; bottom:0; padding:12px; color:#fff; background:linear-gradient(transparent, rgba(0,0,0,.7)); }
.naver-carousel-caption h3 { font-size:16px; margin-bottom:4px; }
.naver-carousel-caption p { font-size:13px; opacity:.95; }
.naver-carousel-btn { position:absolute; top:50%; transform:translateY(-50%); width:34px; height:34px; border:none; border-radius:50%; background:rgba(0,0,0,.45); color:#fff; cursor:pointer; z-index:2; }
.naver-carousel-btn.prev { left:8px; }
.naver-carousel-btn.next { right:8px; }
.naver-carousel-dots { position:absolute; left:0; right:0; bottom:8px; display:flex; justify-content:center; gap:6px; z-index:2; }
.naver-carousel-dot { width:8px; height:8px; border-radius:50%; border:none; background:rgba(255,255,255,.6); cursor:pointer; }
.naver-carousel-dot.active { background:#fff; }

/* 프로젝트 제목 영역 */
.project-title-section { padding:20px 16px; background:#fff; border-bottom:1px solid #eee; }
.project-title-section h1 { font-size:23px; font-weight:700; margin-bottom:4px; }
.project-title-section .subtitle { font-size:16px; color:#e00; font-weight:500; }
.project-title-section .status-badge { display:inline-block; padding:3px 10px; background:#015152; color:#fff; font-size:14px; border-radius:12px; margin-bottom:8px; }

/* 기본정보 박스 */
.info-box { background:#f8f9fa; margin:0 16px 0; border-radius:10px; padding:16px; }
.info-grid { display:grid; grid-template-columns:1fr; gap:0; }
.info-item { padding:10px 0; border-bottom:1px solid #e9ecef; display:flex; gap:8px; }
.info-item:last-child { border-bottom:none; }
.info-label { font-size:15px; color:#888; min-width:70px; flex-shrink:0; }
.info-value { font-size:15px; color:#333; font-weight:500; }

/* 상담 전화 */
.contact-box { margin:16px; background:#f0fff0; border-radius:10px; padding:20px; text-align:center; }
.contact-box .contact-label { font-size:19px; color:#333; margin-bottom:6px; }
.contact-box .contact-phone { font-size:26px; font-weight:700; color:#e00; }
.contact-box .contact-phone a { color:#e00; display:flex; align-items:center; justify-content:center; gap:8px; }
.contact-box .contact-phone .phone-icon { height:1em; width:auto; vertical-align:middle; }

/* 카테고리 섹션 */
.category-section { padding:20px 16px; }
.category-section h2 { font-size:23px; font-weight:700; margin-bottom:12px; padding-left:10px; border-left:4px solid #6a0dad; color:#6a0dad; }
.category-images img { width:100%; margin-bottom:8px; border-radius:6px; cursor:pointer; }

/* 하위 카테고리 */
.subcategory-section { padding:12px 0 0 0; }
.subcategory-section h3 { font-size:17px; font-weight:600; margin-bottom:10px; padding-left:14px; border-left:3px solid #999; color:#555; }

/* 상세 이미지 + 상담 폼 */
.desc-consult-wrap { padding:20px 16px; }
.desc-section { text-align:center; margin-bottom:20px; background:#f0fff0; border-radius:10px; padding:20px 0; }
.desc-section img { width:100%; border-radius:8px; margin-bottom:16px; }
.desc-notice { font-size:16px; color:#555; line-height:1.8; margin-bottom:12px; }
.desc-phone { font-size:20px; font-weight:700; color:#e00; }
.desc-phone a { color:#e00; text-decoration:none; display:inline-flex; align-items:center; gap:5px; }
.desc-phone .phone-icon { height:1em; width:auto; margin:0; border-radius:0; flex-shrink:0; }
.desc-phone .consult-label { color:#555; font-size:18px; }

/* 상담 신청 폼 */
.consult-section { padding:20px; background:#ececec; border-radius:10px; }
.consult-section h2 { font-size:20px; font-weight:700; margin-bottom:16px; text-align:center; }
.consult-form { padding:0; }
.consult-form .form-group { margin-bottom:14px; }
.consult-form .form-label { font-size:14px; font-weight:600; color:#333; margin-bottom:6px; }
.consult-form input, .consult-form textarea { width:100%; padding:12px; border:1px solid #ddd; border-radius:6px; font-size:16px; font-family:inherit; }
.consult-form input:focus, .consult-form textarea:focus { outline:none; border-color:#015152; }
.consult-form textarea { resize:vertical; min-height:80px; }
.consult-form .btn-submit { width:100%; padding:14px; background:#0066cc; color:#fff; border:none; border-radius:6px; font-size:18px; font-weight:600; cursor:pointer; }
.consult-form .btn-submit:active { background:#0052a3; }
.consult-result { text-align:center; padding:10px; margin-top:10px; border-radius:6px; font-size:16px; display:none; }
.consult-result.success { display:block; background:#d4edda; color:#155724; }
.consult-result.error { display:block; background:#f8d7da; color:#721c24; }

/* 유튜브 */
.youtube-section { padding:20px 16px; }
.youtube-section h2 { font-size:20px; font-weight:700; margin-bottom:12px; }
.video-wrapper { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:8px; }
.video-wrapper iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }

/* 갤러리 이미지 */
.gallery-section { padding:20px 16px; }
.gallery-section h2 { font-size:20px; font-weight:700; margin-bottom:12px; }
.gallery-section img { width:100%; margin-bottom:8px; border-radius:6px; cursor:pointer; }

/* 커스텀 링크 버튼 */
.custom-links { padding:16px; display:flex; gap:10px; flex-wrap:wrap; }
.custom-link-btn { display:flex; align-items:center; gap:8px; padding:12px 16px; background:#f8f9fa; border:1px solid #ddd; border-radius:8px; font-size:16px; font-weight:500; flex:1; min-width:140px; justify-content:center; transition:background .2s; }
.custom-link-btn:active { background:#e9ecef; }
.custom-link-btn img { width:24px; height:24px; border-radius:4px; }

/* 하단 고정 바 */
.bottom-bar { position:fixed; bottom:0; left:0; right:0; display:flex; z-index:200; background:#fff; box-shadow:0 -2px 10px rgba(0,0,0,.1); }
.bottom-bar a { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:14px 0; font-size:17px; font-weight:600; color:#fff; }
.bottom-bar .btn-sms { background:#722f37; border-right:1px solid #fff; }
.bottom-bar .btn-call { background:#722f37; color:#ffd700; }
.bottom-bar .btn-call .fa-phone-alt { display:inline-block; transform:rotate(90deg); }

/* 이미지 모달 */
.img-modal { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.9); z-index:999; align-items:center; justify-content:center; cursor:pointer; }
.img-modal.show { display:flex; }
.img-modal img { max-width:90vw; max-height:90vh; border-radius:4px; }
.img-modal .close-btn { position:absolute; top:15px; right:20px; color:#fff; font-size:32px; cursor:pointer; }

/* 팝업 */
.popup-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.5); z-index:1000; align-items:center; justify-content:center; }
.popup-overlay.show { display:flex; }
.popup-box { background:#fff; border-radius:10px; overflow:hidden; max-width:320px; width:90vw; }
.popup-box img { width:100%; display:block; }
.popup-bottom { display:flex; align-items:center; justify-content:space-between; background:#f5f0e0; padding:2px 12px; border-top:1px solid #e0d8c0; }
.popup-bottom label { display:flex; align-items:center; gap:4px; font-size:13px; color:#333; cursor:pointer; }
.popup-bottom button { padding:4px; font-size:13px; font-weight:600; color:#333; background:none; border:none; cursor:pointer; }

/* 프로젝트 문의 안내 */
.info-consult-box { margin:16px; background:#59f63b17; border-radius:10px; padding:20px; text-align:center; }
.info-consult-box h3 { font-size:18px; font-weight:700; margin-bottom:12px; color:#333; }
.info-consult-box .big-phone { font-size:30px; font-weight:700; color:#e00; margin:10px 0; }
.info-consult-box .big-phone a { color:#e00; display:inline-flex; align-items:center; gap:8px; }
.info-consult-box .big-phone .phone-icon { height:1em; width:auto; vertical-align:middle; }
.info-consult-box p { font-size:15px; color:#666; line-height:1.6; }

/* 안내 문구 */
.disclaimer { margin:0 16px 16px; padding:16px; background:#f8f8f8; border-radius:8px; }
.disclaimer p { font-size:13px; color:#999; line-height:1.7; margin-bottom:4px; }
.disclaimer p:last-child { margin-bottom:0; }

/* 푸터 */
.site-footer { background:#333; color:#ccc; padding:24px 16px; font-size:14px; line-height:1.8; margin-bottom:0; text-align:center; position:relative; }
.site-footer .footer-title { color:#fff; font-size:16px; font-weight:700; margin-bottom:8px; }
.site-footer .footer-symbol { position:absolute; left:16px; top:50%; transform:translateY(-50%); height:50px; }

/* 모바일 메뉴 */
.mobile-menu-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.5); z-index:300; }
.mobile-menu-overlay.show { display:block; }
.mobile-menu { position:fixed; top:0; left:-280px; width:280px; height:100%; background:#fff; z-index:301; transition:left .3s ease; box-shadow:2px 0 10px rgba(0,0,0,.1); overflow-y:auto; }
.mobile-menu.open { left:0; }
.mobile-menu-header { background:#015152; color:#fff; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; }
.mobile-menu-header span { font-size:18px; font-weight:700; }
.mobile-menu-header button { background:none; border:none; color:#fff; font-size:26px; cursor:pointer; }
.mobile-menu a { display:block; padding:14px 20px; font-size:17px; color:#333; border-bottom:1px solid #f0f0f0; font-weight:500; transition:background .2s; }
.mobile-menu a:active { background:#f0f0f0; }
.mobile-menu a i { margin-right:8px; color:#015152; font-size:15px; }
.mobile-menu .mobile-submenu a { padding:10px 20px 10px 44px; font-size:15px; color:#555; }

/* 모바일 반응형 */
@media (max-width:767px) {
    .header-top { padding:12px 16px; }
    .menu-toggle { display:block; }
    .category-nav { display:none; }
    .site-header .logo { max-width:calc(100vw - 100px); font-size:clamp(13px, 4.5vw, 19px); }
    .header-phone .phone-text { display:none; }
    .site-header .header-phone { font-size:0; }
    .site-header .header-phone .phone-icon { height:26px; margin-left:20px; }
    body { font-size:15px; }
    .project-title-section h1 { font-size:21px; }
    .desc-notice { font-size:17px; }
    .desc-phone { font-size:21px; }
    .info-label, .info-value { font-size:16px; }
    .contact-box .contact-phone { font-size:27px; }
    .contact-box .contact-label { font-size:18px; }
    .category-section h2 { font-size:24px; }
    .site-footer { font-size:13px; line-height:1.5; }
    .site-footer .footer-symbol { position:static; display:block; margin:12px auto 0; height:40px; transform:none; }
}

/* 데스크톱 레이아웃 */
@media (min-width:768px) {
    body { padding-bottom:0; }
    .content-wrap { max-width:1400px; margin:0 auto; box-shadow:0 0 20px rgba(0,0,0,.05); }
    .site-header .logo { max-width:350px; font-size:23px; }
    .category-nav a, .category-nav .cat-nav-item { font-size:20px; }
    .site-header .header-phone { font-size:23px; }
    .info-grid { grid-template-columns:1fr 1fr; }
    .info-item:nth-last-child(-n+2) { border-bottom:none; }
    .bottom-bar { display:none; }
    .desc-consult-wrap { display:flex; gap:24px; align-items:stretch; }
    .desc-consult-wrap .desc-section { flex:1; margin-bottom:0; }
    .desc-consult-wrap .consult-section { flex:1; }
}

/* ===== 카테고리 페이지 (/분양안내/ 등) ===== */
:root { --header-h:70px; --subnav-h:0px; }
html { scroll-behavior:smooth; }
[id] { scroll-margin-top:calc(var(--header-h) + var(--subnav-h) + 12px); }

/* 헤더 메뉴 링크 공통 */
.cat-nav-wrap > a.cat-nav-item { color:#666; }
.cat-nav-wrap > a.cat-nav-item.active { color:#333; }

/* 페이지 상단 제목 */
.page-head { padding:24px 16px 18px; background:#fff; border-bottom:1px solid #eee; }
.breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13px; color:#999; margin-bottom:8px; }
.breadcrumb a { color:#999; }
.breadcrumb a:hover { color:#333; }
.breadcrumb .sep { color:#ccc; }
.page-head h1 { font-size:26px; font-weight:700; color:#6a0dad; }
.page-head .page-project { font-size:15px; color:#666; margin-top:4px; }

.page-head .page-desc { font-size:15px; color:#555; line-height:1.7; margin-top:12px; max-width:720px; margin-left:auto; margin-right:auto; }
.category-page .section-desc { font-size:15px; color:#555; line-height:1.7; margin:-4px 0 12px; }

/* 서브카테고리 탭 (상단 고정) */
.sub-nav { position:sticky; top:var(--header-h); z-index:90; background:#fff; border-bottom:1px solid #eee; }
.sub-nav-inner { display:flex; gap:8px; overflow-x:auto; padding:10px 16px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.sub-nav-inner::-webkit-scrollbar { display:none; }
.sub-nav a { flex-shrink:0; padding:8px 16px; border:1px solid #ddd; border-radius:20px; font-size:15px; font-weight:500; color:#555; background:#fff; white-space:nowrap; transition:all .2s; }
.sub-nav a:hover { border-color:#015152; color:#015152; }
.sub-nav a.active { background:#015152; border-color:#015152; color:#fff; }

/* 카테고리 페이지의 서브 섹션 제목 */
.category-page .subcategory-section { padding-top:20px; }
.category-page .subcategory-section h2 { font-size:20px; font-weight:700; margin-bottom:12px; padding-left:12px; border-left:4px solid #6a0dad; color:#333; }

/* 메인 랜딩의 '자세히 보기' 링크 */
.category-section .section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.category-section .section-head h2 { margin-bottom:0; }
.category-section .more-link { flex-shrink:0; font-size:14px; color:#015152; font-weight:500; }
.subcategory-section h3 a { color:inherit; }

/* 이전/다음 카테고리 */
.page-pager { display:flex; gap:10px; padding:8px 16px 20px; }
.page-pager a { flex:1; display:flex; flex-direction:column; gap:2px; padding:14px 16px; border:1px solid #e5e5e5; border-radius:10px; background:#fafafa; transition:background .2s; }
.page-pager a:hover { background:#f0f0f0; }
.page-pager .pager-label { font-size:12px; color:#999; }
.page-pager .pager-title { font-size:16px; font-weight:600; color:#333; }
.page-pager .next { text-align:right; }

/* 모바일 메뉴: 대 카테고리(페이지 이동) + 펼침 버튼 */
.mobile-menu-row { display:flex; align-items:stretch; border-bottom:1px solid #f0f0f0; }
.mobile-menu-row > a { flex:1; border-bottom:none; }
.mobile-menu-row .mobile-sub-toggle { width:52px; background:none; border:none; border-left:1px solid #f0f0f0; color:#888; font-size:13px; cursor:pointer; }
.mobile-menu-row .mobile-sub-toggle i { transition:transform .2s; }
.mobile-menu-row.open .mobile-sub-toggle i { transform:rotate(180deg); }
.mobile-menu a.current { color:#015152; font-weight:700; }

/* 카테고리 페이지 하단 상담 폼 */
.consult-only .consult-section { width:100%; max-width:640px; margin:0 auto; }

/* 404 */
.not-found { text-align:center; padding:80px 20px; }
.not-found h1 { font-size:22px; margin-bottom:12px; }
.not-found p { color:#888; margin-bottom:20px; }
.not-found a { display:inline-block; padding:12px 24px; background:#015152; color:#fff; border-radius:6px; }

@media (max-width:767px) {
    .page-head h1 { font-size:23px; }
    .sub-nav a { font-size:14px; padding:7px 14px; }
}
@media (min-width:768px) {
    .sub-nav-inner { justify-content:center; max-width:1400px; margin:0 auto; }
    .page-head { text-align:center; }
    .breadcrumb { justify-content:center; }
}
