/* =====================================================================
   K-MOTION GLOBAL WEEK — 공통 크롬(헤더/푸터/레이아웃)
   헤더는 Figma top_nav(node 79:816) 기준. 폰트: Helvetica(nav) / Pretendard.
   ===================================================================== */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

:root{
  --km-black:#101010;
  --km-white:#ffffff;
  --km-primary:#e9e9e9;
  --km-gray:#8a8a8a;
  --km-maxw:1920px;
  --km-nav-font:"Helvetica Neue",Helvetica,Arial,"Pretendard",sans-serif;
  --km-body-font:"Pretendard","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--km-body-font);
  color:var(--km-black);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* 그누보드 기본 헤더/검색 등 잔재 숨김 */
#hd_login_msg{position:absolute;left:-9999px;}

/* ---------------- 헤더 (top_nav) ---------------- */
#km-header{
  background:var(--km-black);
  width:100%;
  position:fixed;   /* Figma: nav가 상단밴드 위에 겹침(공간 차지 X) */
  top:0;left:0;right:0;
  z-index:100;
  transition:box-shadow .3s ease, padding .3s ease;
}
#km-header.km-scrolled{box-shadow:0 4px 24px rgba(0,0,0,.45);}
#km-header.km-scrolled .km-header-inner{padding-top:9px;padding-bottom:9px;}
.km-header-inner{
  max-width:var(--km-maxw);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 65px;
  position:relative;
}
.km-logo{width:100px;flex:0 0 auto;}
.km-logo img{width:100px;height:auto;}

/* 중앙 GNB */
.km-gnb{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:0;
}
.km-gnb a{
  font-family:var(--km-nav-font);
  font-weight:700;
  font-size:16px;
  line-height:20px;
  color:var(--km-white);
  padding:14px 26px;
  white-space:nowrap;
}
.km-gnb a:hover{opacity:.7;}

/* 우측 유틸 */
.km-util{display:flex;align-items:center;gap:10px;}
.km-util .km-inquiry{
  background:var(--km-primary);
  color:var(--km-black);
  font-family:"Pretendard",sans-serif;
  font-weight:600;
  font-size:16px;
  line-height:20px;
  border-radius:500px;
  padding:9px 17px;
  white-space:nowrap;
}
.km-util .km-auth{
  color:var(--km-white);
  font-family:var(--km-nav-font);
  font-size:16px;
  line-height:20px;
  padding:9px 6px 9px 16px;
  white-space:nowrap;
}
.km-util .km-lang{
  display:flex;align-items:center;gap:6px;
  color:var(--km-white);
  font-family:var(--km-nav-font);
  font-weight:700;font-size:18px;line-height:26px;
  padding:7px 10px;background:none;border:0;cursor:pointer;
}
.km-util .km-lang img{width:10px;height:auto;}

/* ---------------- 본문 래퍼 ---------------- */
#km-main{min-height:60vh;}
/* 그누보드 기본 페이지(게시판/회원정보 등): 고정 헤더 높이만큼만 상단 확보(과여백 방지) */
#km-main.km-offset{padding-top:84px;}
@media (max-width:960px){ #km-main.km-offset{padding-top:64px;} }
.km-container{max-width:var(--km-maxw);margin:0 auto;}

/* ---------------- 푸터 ---------------- */
#km-footer{
  background:var(--km-black);
  color:#d4d4d8;
  font-family:var(--km-body-font);
  font-size:16px;
  line-height:26px;
}
.km-footer-inner{
  max-width:var(--km-maxw);
  margin:0 auto;
  padding:48px 65px;
  display:flex;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}
#km-footer h4{
  color:#d4d4d8;font-size:18px;font-weight:700;margin:0 0 14px;
}
.km-foot-row{display:flex;gap:15px;}
.km-foot-row .k{color:#d4d4d8;min-width:64px;}
#km-footer .km-foot-right{text-align:left;}
.km-copy{color:#d4d4d8;margin-top:14px;font-size:14px;line-height:20px;}

/* ---------------- 플로팅 버튼(우측 top) ---------------- */
#km-float{
  position:fixed;right:28px;bottom:40px;z-index:120;
  display:flex;flex-direction:column;gap:10px;
}
#km-float .km-top{
  width:44px;height:44px;border-radius:50%;
  background:var(--km-black);color:#fff;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:18px;
}

/* ---------------- 반응형 ---------------- */
@media (max-width:1280px){
  .km-header-inner,.km-footer-inner{padding-left:24px;padding-right:24px;}
  .km-gnb a{padding:14px 16px;font-size:15px;}
}
/* 태블릿·모바일: 중앙 절대배치 nav 해제 → 아래로 흐르는 스크롤 행 */
@media (max-width:960px){
  .km-header-inner{flex-wrap:wrap;padding:12px 16px;gap:10px;}
  .km-logo{width:80px;}.km-logo img{width:80px;}
  .km-gnb{position:static;transform:none;order:3;width:100%;overflow-x:auto;gap:0;
    justify-content:flex-start;border-top:1px solid rgba(255,255,255,.12);padding-top:4px;-webkit-overflow-scrolling:touch;}
  .km-gnb a{padding:10px 14px;font-size:14px;flex:0 0 auto;}
  .km-util{margin-left:auto;gap:6px;}
  .km-util .km-inquiry{font-size:13px;padding:7px 12px;}
  .km-util .km-auth{font-size:13px;padding:7px 4px;}
  .km-util .km-lang{font-size:15px;padding:6px 6px;}
  #km-footer{font-size:12px;}
  .km-footer-inner{padding:32px 20px;gap:24px;}
  #km-float{right:14px;bottom:20px;}
}
@media (max-width:480px){
  .km-util .km-inquiry{display:none;} /* 좁은 화면: 문의 숨김, 로그인은 유지 */
  .km-gnb a{padding:10px 10px;font-size:13px;}
}

/* ================= 인터랙티브 기능 ================= */
/* 스크롤 등장 애니메이션 (JS 없으면 항상 보임) */
html.km-js .km-reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform;}
html.km-js .km-reveal.km-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html.km-js .km-reveal{opacity:1 !important;transform:none !important;transition:none;}
}
body.km-noscroll{overflow:hidden;}

/* 네비 활성 상태 */
.km-gnb a.on{position:relative;opacity:1;}
.km-gnb a.on::after{content:"";position:absolute;left:26px;right:26px;bottom:6px;height:2px;background:var(--km-purple,#7d1bf6);}

/* 햄버거 버튼 */
.km-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:0;cursor:pointer;padding:8px;flex:0 0 auto;}
.km-burger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .3s ease;}
#km-header.km-nav-open .km-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
#km-header.km-nav-open .km-burger span:nth-child(2){opacity:0;}
#km-header.km-nav-open .km-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* 아코디언 */
.ainfo .aboxes{align-items:flex-start;}
.abox.acc .bh.acc-h{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;background:none;border:0;text-align:left;padding:0;margin:0;}
.abox.acc.open .bh.acc-h,.abox.acc .bh.acc-h:hover{color:#050505;}
.abox.acc .acc-ico{flex:0 0 auto;position:relative;width:18px;height:18px;}
.abox.acc .acc-ico::before,.abox.acc .acc-ico::after{content:"";position:absolute;background:currentColor;transition:transform .3s ease,opacity .3s ease;}
.abox.acc .acc-ico::before{left:0;top:8px;width:18px;height:2px;}
.abox.acc .acc-ico::after{left:8px;top:0;width:2px;height:18px;}
.abox.acc.open .acc-ico::after{transform:scaleY(0);opacity:0;}
.abox.acc .acc-b{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.abox.acc .acc-b>div{padding-top:10px;}

/* 갤러리 라이트박스 */
.km-lb{position:fixed;inset:0;z-index:9999;background:rgba(5,5,5,.94);display:none;align-items:center;justify-content:center;}
.km-lb.on{display:flex;animation:kmLbIn .25s ease;}
@keyframes kmLbIn{from{opacity:0}to{opacity:1}}
.km-lb-img{max-width:88vw;max-height:86vh;object-fit:contain;box-shadow:0 10px 60px rgba(0,0,0,.6);}
.km-lb button{position:absolute;background:rgba(255,255,255,.08);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.km-lb button:hover{background:rgba(255,255,255,.2);}
.km-lb-close{top:24px;right:24px;width:48px;height:48px;font-size:30px;border-radius:50%;}
.km-lb-prev,.km-lb-next{top:50%;transform:translateY(-50%);width:56px;height:56px;font-size:40px;border-radius:50%;}
.km-lb-prev{left:24px;}.km-lb-next{right:24px;}
.km-lb-count{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#e9e9e9;font-size:15px;letter-spacing:1px;}
.ad-gallery .im{cursor:zoom-in;}

/* 햄버거/오프캔버스 메뉴 제거 → 원래 수평 nav 사용 (버거는 .km-burger 기본 display:none 유지) */
