/**
 * ncondesign.com 리뉴얼 공통 기반 (시안 v6 기준)
 * - 토큰은 시안 :root 와 같은 이름을 body.nc-site 에 정의 (Divi/플러그인 변수와 섞이지 않게 body 범위)
 * - 초기화(reset)는 새 영역(.nc-hdr, .nc-mnav, .nc-ftr, .nc-kfab, .nc-page) 안에서만
 * - 클래스명에 ad/ads/banner-ad/sponsor 단어 금지 (광고 차단기)
 */

/* ---------- 토큰, 기본 ---------- */
body.nc-site{
  --p:#016F6B;--p2:#015a57;--p-50:#ECFDF5;--p-100:#d5f5ea;--em:#059669;
  --ink:#111827;--body:#4B5563;--mute:#6B7280;--line:#E5E7EB;--bg2:#F9FAFB;--kakao:#FEE500;--r:16px;
  --nc-font:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
  --nc-hdr-h:76px;
  font-family:var(--nc-font);
  word-break:keep-all;
  -webkit-font-smoothing:antialiased;
}
html,body.nc-site{overflow-x:clip} /* hidden 이면 sticky 헤더가 깨짐 */
body.nc-site #page-container{padding-top:0 !important} /* Divi 고정 헤더 여백 제거 (자체 sticky 헤더 사용) */

.nc-hdr,.nc-hdr *,.nc-mnav,.nc-mnav *,.nc-ftr,.nc-ftr *,.nc-kfab,.nc-page,.nc-page *{box-sizing:border-box}
.nc-page h1,.nc-page h2,.nc-page h3,.nc-page h4,.nc-page h5,.nc-page h6{color:inherit} /* Divi 의 h1~h6 글자색(#333)이 어두운 배경 카드 제목을 덮지 않게 */
.nc-hdr,.nc-mnav,.nc-ftr,.nc-page{font-family:var(--nc-font);line-height:1.6;color:var(--ink)}
.nc-hdr a,.nc-mnav a,.nc-ftr a{color:inherit;text-decoration:none}
.nc-hdr ul,.nc-mnav ul,.nc-ftr ul{list-style:none;margin:0;padding:0}
.nc-hdr button,.nc-mnav button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer}
.nc-ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}

.nc-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* 버튼 (시안 .btn) */
.nc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;border-radius:12px;font-weight:700;font-size:16px;line-height:1;transition:.2s;border:1px solid transparent;white-space:nowrap;text-decoration:none}
.nc-btn .nc-ic{width:18px;height:18px}
.nc-btn-p{background:var(--p);color:#fff !important}.nc-btn-p:hover{background:var(--p2)}
.nc-btn-o{background:#fff;color:var(--ink) !important;border-color:var(--line)}.nc-btn-o:hover{border-color:var(--p);color:var(--p) !important}
.nc-btn-k{background:var(--kakao);color:#191600 !important}.nc-btn-k:hover{filter:brightness(.97)}

/* ---------- 헤더 ---------- */
.nc-hdr{position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid var(--line)} /* 반투명 금지: 로고 PNG 배경이 비침 */
body.admin-bar .nc-hdr{top:32px}
@media (max-width:782px){body.admin-bar .nc-hdr{top:46px}}
@media (max-width:600px){body.admin-bar .nc-hdr{top:0}}
.nc-hd{height:var(--nc-hdr-h);display:flex;align-items:center;gap:36px}
.nc-logo{display:flex;align-items:center;flex:none}
.nc-logo img{height:44px;width:auto;display:block}

.nc-nav{display:flex;align-items:center;gap:30px;font-size:15.5px;font-weight:600;color:#374151}
.nc-nav > li{position:relative;display:flex;align-items:center}
.nc-nav-a{display:inline-flex;align-items:center;gap:4px;height:var(--nc-hdr-h);transition:color .15s}
.nc-nav-a:hover,.nc-dd.is-open > .nc-nav-a,.nc-dd:focus-within > .nc-nav-a{color:var(--p)}
.nc-nav-a .nc-ic{width:16px;height:16px;color:var(--mute);transition:transform .2s}
.nc-dd.is-open > .nc-nav-a .nc-ic{transform:rotate(180deg)}

.nc-dd-menu{position:absolute;top:calc(100% - 8px);left:-18px;min-width:248px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 48px -18px rgba(17,24,39,.22);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .15s,transform .15s,visibility .15s}
.nc-dd:hover > .nc-dd-menu,.nc-dd:focus-within > .nc-dd-menu,.nc-dd.is-open > .nc-dd-menu{opacity:1;visibility:visible;transform:none}
.nc-dd-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:10px;font-size:15px;font-weight:600;color:var(--ink)}
.nc-dd-menu a:hover,.nc-dd-menu a:focus-visible{background:var(--p-50);color:var(--p)}
.nc-dd-menu a .nc-ic{width:15px;height:15px;color:var(--mute)}
.nc-dd-menu .nc-dd-all{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 10px 10px;color:var(--p)}

.nc-hd-r{margin-left:auto;display:flex;gap:10px;align-items:center}
.nc-hd-r .nc-btn{height:44px;padding:0 18px;font-size:15px}
.nc-ic-k{width:44px;height:44px;border-radius:12px;background:var(--kakao);display:grid;place-items:center;color:#191600}
.nc-ic-k .nc-ic{width:22px;height:22px}
.nc-burger{display:none;width:44px;height:44px;place-items:center;border-radius:12px;color:var(--ink)}
.nc-burger .nc-ic-close{display:none}
body.nc-menu-open .nc-burger .nc-ic-menu{display:none}
body.nc-menu-open .nc-burger .nc-ic-close{display:block}

/* 모바일 메뉴 패널 */
.nc-mnav{display:none}
@media (max-width:1080px){
  .nc-nav{display:none}
  .nc-burger{display:grid}
  .nc-mnav{display:block;position:fixed;left:0;right:0;top:var(--nc-mnav-top,64px);bottom:0;z-index:998;background:#fff;overflow-y:auto;overscroll-behavior:contain;
    padding:8px 18px 32px;border-top:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
  body.nc-menu-open .nc-mnav{opacity:1;visibility:visible;transform:none}
  body.nc-menu-open{overflow:hidden}
}
.nc-mnav h3{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--mute);margin:22px 0 6px;padding:0}
.nc-mnav ul a{display:flex;align-items:center;justify-content:space-between;padding:13px 4px;border-bottom:1px solid var(--line);font-size:16.5px;font-weight:600;color:var(--ink)}
.nc-mnav ul a .nc-ic{width:16px;height:16px;color:var(--mute)}
.nc-mnav-cta{display:grid;gap:10px;margin-top:26px}
.nc-mnav-cta .nc-btn{width:100%}

@media (max-width:640px){
  body.nc-site{--nc-hdr-h:64px}
  .nc-wrap{padding:0 18px}
  .nc-hd{gap:16px}
  .nc-logo img{height:36px}
  .nc-hd-r{gap:6px}
  .nc-hd-r .nc-ic-k{display:none}
  .nc-hd-r .nc-btn{height:40px;padding:0 14px;font-size:14px}
}

/* ---------- 푸터 ---------- */
.nc-ftr{background:#111827;color:#9CA3AF;font-size:14.5px}
.nc-ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-top:64px;padding-bottom:48px}
.nc-ftr h4{color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em;margin:0 0 16px;padding:0}
.nc-ft-logo{display:inline-block;background:#fff;border-radius:10px;padding:6px 10px;margin-bottom:18px} /* 흰 배경 PNG 라 흰 타일 위에 */
.nc-ft-logo img{height:32px;width:auto;display:block}
.nc-ftr ul{display:grid;gap:8px}
.nc-ftr li{padding:0;line-height:1.6}
.nc-ftr a:hover{color:#fff}
.nc-ftr p{padding:0;margin:0;line-height:1.7}
.nc-copy{border-top:1px solid #1F2937;padding-top:20px;padding-bottom:20px;font-size:13px;display:flex;justify-content:space-between;gap:12px}
@media (max-width:1080px){.nc-ft{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.nc-ft{grid-template-columns:1fr;padding-top:48px;padding-bottom:36px}.nc-copy{flex-direction:column;gap:6px}}

/* ---------- 카카오 플로팅 ---------- */
.nc-kfab{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border-radius:18px;background:var(--kakao);display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.35);z-index:997;color:#191600 !important}
.nc-kfab .nc-ic{width:30px;height:30px}
body.nc-menu-open .nc-kfab{display:none}
/* 글 상세 모바일: 하단 고정 바와 겹치므로 숨김 */
@media (max-width:640px){body.nc-tpl-single .nc-kfab{display:none}} /* 글 상세는 하단 바에 카카오 버튼이 있음 */
@media (max-width:640px){.nc-kfab{right:16px;bottom:16px;width:54px;height:54px;border-radius:16px}}

/* 기존 카카오 채팅 버튼 플러그인(kakao-chat-button)의 플로팅 버튼: 새 플로팅 버튼과 같은 자리라 숨김 */
body.nc-site #kakao-chat-button{display:none !important}

/* ---------- 이전 Divi 헤더/푸터 잔재 숨김 ---------- */
body.nc-site #main-header,body.nc-site #top-header,body.nc-site #main-footer{display:none !important}
