:root{
  --gv-h:80px;
  --gv-gap:28px;
  --container-w:1280px;
  --pad-x:16px;

  --logo-h:96px;
  --bleed-left: max(0px, calc((100vw - var(--container-w)) / 2 + var(--pad-x)));
  --logo-nudge: 30px;
  --logo-nudge-m: 0px;

  --nav-underline-w: 56px;
}

/* 가로 스크롤 방지 */
html, body { overflow-x: hidden; }

/* 헤더 */
.gv-header{
  position:fixed; top:0; left:0; right:0; height:var(--gv-h);
  background:#fff; z-index:9999;
  border-bottom:0;
  transition:box-shadow .2s ease;
  overflow:visible;
}
.gv-header.is-stuck{ box-shadow:0 6px 18px rgba(0,0,0,0.06); }
.gv-offset{ height:var(--gv-h); }

/* 하단 짧은 구분선 */
.gv-header::after{ content:none; }

/* 그리드 */
.gv-inner{
  max-width:var(--container-w); margin:0 auto; height:100%;
  display:grid; align-items:center;
  grid-template-columns: 1fr auto 1fr;
  column-gap:24px; padding:0 var(--pad-x);
}

/* 로고 */
.gv-left{
  display:flex; align-items:center; gap:14px;
  justify-self:start;
  margin-left: calc( (var(--bleed-left) * -1) + var(--logo-nudge) );
  z-index:1;
}
.gv-logo{ display:flex; align-items:center; }
.gv-logo img{
  height: var(--logo-h);
  max-height:none;
  display:block;
  margin-top: calc((var(--gv-h) - var(--logo-h)) / 2);
}

/* 메뉴(중앙/수직정렬) */
.gv-nav{
  justify-self:center;
  position:relative; z-index:5;
  height: var(--gv-h);
  overflow: visible;
}
.gv-menu{
  display:flex; align-items:center; gap:var(--gv-gap);
  margin:0; padding:0; list-style:none; white-space:nowrap;
  height: 100%;
}
.gv-item{
  position:relative; height:100%;
  display:flex; align-items:center;
}
.gv-link{
  position:relative;
  font:600 15px/1 system-ui,-apple-system,Segoe UI,Roboto,'Noto Sans KR',Arial;
  color:#111; background:none; border:0; cursor:pointer;
  text-decoration:none;
  display:flex; align-items:center; justify-content:center;
  height:100%;
  padding:0 10px;
}
.gv-link:hover{ color:#000; }

/* 중앙 짧은 밑줄 */
.gv-item.is-active > .gv-link::after,
.gv-link:hover::after{
  content:"";
  position:absolute; left:50%; transform:translateX(-50%);
  bottom:-8px; width:var(--nav-underline-w); height:3px;
  background:#111; border-radius:2px;
}

/* 오른쪽(언어) */
.gv-right{
  display:flex; align-items:center; justify-content:flex-end; gap:16px;
  justify-self:end; height:var(--gv-h);
}
.gv-lang a{ font-size:14px; color:#111; text-decoration:none; }
.gv-lang a:hover{ text-decoration:underline; }
.gv-lang .sep{ color:#c7c7c7; margin:0 8px; }

/* 일반 드롭다운 — 네비와 거의 붙게 */
.gv-dropdown{
  position:absolute; top: calc(100% + 2px);  /* ← 간격 2px (구분선 높이와 동일) */
  left:50%; transform:translateX(-50%);
  min-width:200px;
  background:#fff; border:1px solid rgba(0,0,0,0.06); border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,0.08); padding:8px; display:none;
}
.gv-dropdown.open, .gv-item:hover > .gv-dropdown{ display:block; }
.gv-dd-link{ display:block; padding:10px 12px; border-radius:8px; color:#222; text-decoration:none; white-space:nowrap; }
.gv-dd-link:hover{ background:#f6f6f7; color:#111; }

/* =============== 메가 드롭다운 (PRODUCT) =============== */
.gv-item.mega { position: static; }
.gv-mega{
  position: absolute;
  left:50%; top: calc(100% + 2px);          /* ← 간격 2px */
  transform: translateX(-50%);
  width: min(var(--container-w), calc(100vw - 32px));
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
  padding: 22px 28px;
  display: none;
}
.gv-item.mega:hover .gv-mega{ display:block; }

.gv-mega-grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);   /* 6 x 2 */
  gap: 28px 24px;
}

.gv-mega-card{
  display: block;
  text-decoration: none; color:#222;
}

/* ✅ 테두리/박스 제거 & 이미지만 보이게 */
.gv-mega-card figure{
  position: relative;
  height: 140px;
  display: flex; align-items: center; justify-content: center;
  background: transparent;     /* 박스 제거 */
  border: 0;                   /* 테두리 제거 */
  border-radius: 0;            /* 라운드 제거 */
  overflow: visible;           /* 불필요한 잘림 방지 */
  transition: transform .2s ease;
}
.gv-mega-card img{
  max-width: 90%; max-height: 90%;
  object-fit: contain; display:block;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.06));
}
.gv-mega-card .badge{
  position: absolute; top: 0; right: 0;
  font: 800 11px/1 system-ui,-apple-system,Segoe UI,Roboto,'Noto Sans KR',Arial;
  background: #ff2e51; color:#fff; padding:6px 8px; border-radius: 999px;
}
.gv-mega-card small{
  display:block; margin-top: 10px;
  font: 800 14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,'Noto Sans KR',Arial;
  letter-spacing: .02em; text-transform: uppercase; color:#2a2a2a;
  text-align:center;            /* ✅ 이미지 기준 중앙 정렬 */
}
.gv-mega-card:hover figure{ transform: translateY(-4px); }

/* 반응형 */
@media (max-width:1280px){
  .gv-mega-grid{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width:1024px){
  :root{ --gv-h:76px; --logo-h:56px; }
  .gv-inner{ grid-template-columns:auto 1fr auto; }
  .gv-left{ margin-left: var(--logo-nudge-m); }
  .gv-logo img{ margin-top: calc((var(--gv-h) - var(--logo-h)) / 2); }
  .gv-mega-grid{ grid-template-columns: repeat(2, 1fr); gap:18px; }
}

/* 드롭다운을 네비 바로 아래에 ‘딱’ 붙이기 */
:root{ --dropdown-overlap: 5px; } /* 2~3px로 취향 조절 */

.gv-nav{ position:relative; z-index:20; }  /* 패널이 항상 위로 */
.gv-dropdown,
.gv-mega{
  top: 100%;                 /* calc(100% + 2px) → 100% */
  margin-top: calc(-1 * var(--dropdown-overlap)); /* 구분선만큼 끌어올림 */
}

/* (선택) 구분선 두께를 overlap 값과 맞추면 완전 일체감 */
.gv-header::after{
  height: var(--dropdown-overlap);
}