/* ========================================================
   HEADER STYLE — 전체 정리본
======================================================== */

/* ── 기본 헤더 ── */
#header {
  position: fixed;
  top: 0;
  z-index: 99999;
  width: 100%;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  transition: none;
}

#header_wrap { padding: 0 !important; }

/* ── 상단 로고행 ── */
#header_top {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #eee;
}

#header_top_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px;
}

/* 좌우 동일 너비 → 로고 자동 중앙 */
.header-info { flex: 1; }
.left-info   { text-align: left; }
.right-info  { text-align: right; }

/* 로고 */
#logo_wrap { flex: 0 0 auto; text-align: center; }
#logo_wrap a { display: inline-block; }
#logo_wrap img { display: block; width: 260px; height: auto; }

/* 좌측 지하철+위치 */
.header-location {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.subway-badges { display: flex; align-items: center; gap: 4px; }
.subway-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border-radius: 50%;
  font-size: 15px; font-weight: 700;
  color: #fff;
  font-family: "GmarketSansBold", sans-serif;
  flex-shrink: 0;
}
.subway-badge.line2 { background: #02a94e; }
.subway-badge.line6 { background: #e97110; }

.location-text { display: flex; flex-direction: column; line-height: 1.4; }
.location-text strong { font-size: 16px; font-family: "GmarketSansBold", sans-serif; color: #1a3a5c; }
.location-text span   { font-size: 12px; color: #666; }

/* 우측 전화 */
.header-tel {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}
.header-tel img { width: 44px; height: 44px; object-fit: contain; flex-shrink: 0; }
.tel-text { display: flex; flex-direction: column; text-align: left; line-height: 1.4; }
.tel-label  { font-size: 20px;font-family: "GmarketSansBold", sans-serif;}
.tel-number {
  font-size: 22px;
  font-family: "GmarketSansBold", sans-serif;
  color: #1a3a5c;
  letter-spacing: -0.5px;
}

/* ── 하단 GNB 네이비바 (PC) ── */
#header_gnb { background: #093e52; width: 100%; }

#header_gnb nav #nav_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  overflow: visible;
}

#header_gnb nav #nav_wrap ul.gnb {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 0;
  overflow: visible;
}

#header_gnb nav #nav_wrap ul.gnb > li {
  flex: 1;
  text-align: center;
  position: relative;
  width: auto;
}

#header_gnb nav #nav_wrap ul.gnb > li > a {
  display: block;
  padding: 16px 8px;
  font-size: 16px;
  color: #fff !important;
  font-family: "GmarketSansBold", sans-serif;
  white-space: nowrap;
  transition: background 0.2s;
}
#header_gnb nav #nav_wrap ul.gnb > li > a:hover,
#header_gnb nav #nav_wrap ul.gnb > li > a.on {
  background: rgba(255,255,255,0.15);
}

/* 드롭다운 서브 */
#header_gnb nav #nav_wrap .sub {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%) translateY(10px);
  min-width: 160px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 10px 24px rgba(0,0,0,.1);
  border-radius: 8px;
  padding: 8px 0;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all .2s ease;
  display: block !important; /* flex 강제 해제 */
}
#header_gnb nav #nav_wrap ul.sub > li { width: 100% !important; float: none !important; }
#header_gnb nav #nav_wrap ul.sub > li > a {
  display: block !important;
  padding: 10px 16px;
  color: #333 !important;
  font-size: 14px;
  text-align: left;
  white-space: nowrap;
}
@media (hover:hover) {
  #header_gnb nav #nav_wrap .has-sub:hover > .sub,
  #header_gnb nav #nav_wrap .has-sub:focus-within > .sub {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}

/* PC 텍스트 분기 */
.pc-only { display: inline; }
.mo-only { display: none; }

/* PC에서 모바일 전용 요소 숨김 */
@media screen and (min-width: 1201px) {
  #logo_m  { display: none !important; }
  #m_menu  { display: none !important; }
  #m_phone { display: none !important; }
}

/* ========================================================
   모바일 (≤1200px)
======================================================== */
@media screen and (max-width: 1200px) {

  /* 상단 로고행 숨김 */
  #header_top { display: none !important; }

  /* header_wrap: 로고 중앙, 좌우 아이콘 배치 */
  #header_wrap {
    position: relative;
    border-bottom: 1px solid #ddd;
    background: #fff;
  }

  /* 모바일 로고 */
  #logo_m { display: block !important; text-align: center; }
  #logo_m img { max-width: 200px;padding: 10px 0 !important; }

  /* 전화 아이콘 — 왼쪽 */
  #m_phone {
    display: block !important;
    position: absolute;
    left: 14px; top: 30px;
    transform: translateY(-50%);
    max-width: 40px;
  }

  /* 햄버거 — 오른쪽 */
  #m_menu {
    display: block !important;
    position: absolute;
    right: 14px; top: 30px;
    transform: translateY(-50%);
    cursor: pointer;
  }
  #m_menu span.show { display: block; }
	#m_menu span.hide { display: none; }

  /* GNB: 기본 숨김 → .open 시 노출 */
  #header_gnb {
    display: none !important;
    background: #093e52 !important;
  }
  #header_gnb.open {
    display: block !important;
  }

  /* 모바일 GNB: 4열 그리드 */
  #header_gnb nav #nav_wrap {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    display: block !important;
  }
  #header_gnb nav #nav_wrap ul.gnb {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
  }
  #header_gnb nav #nav_wrap ul.gnb > li {
    flex: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
	border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
  }
  #header_gnb nav #nav_wrap ul.gnb > li:nth-child(4n) {
    border-right: 0 !important;
  }

  #header_gnb nav #nav_wrap ul.gnb > li > a {
    display: block !important;
    padding: 14px 6px !important;
    font-size: 13px !important;
    color: #fff !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* 모바일에서 서브메뉴 완전 숨김 */
  #header_gnb nav #nav_wrap .sub { display: none !important; }

  /* 텍스트 분기 */
  .pc-only { display: none; }
  .mo-only { display: inline; }
}

/* ── 425px 이하 ── */
@media screen and (max-width: 425px) {
  #logo_m img { max-width: 150px; }
  #m_phone { left: 10px; }
  #m_menu  { right: 10px; }
  #header_gnb nav #nav_wrap ul.gnb > li > a { font-size: 12px !important; padding: 12px 4px !important; }
}

/* ================== sub-menu ===================== */
/* member-menu */
.member-menu{border-top: 1px solid #eee;border-bottom: 1px solid #eee;}
.member-menu ul{display: flex;max-width:900px;margin: auto;}
.member-menu ul li{width: 50%;text-align: center;border-right: 1px solid #eee;}
.member-menu ul li:first-child{border-left: 1px solid #eee;}
.member-menu ul li a{display: block;padding: 10px;}
.member-menu ul li a:hover{background: #093e52;color: #fff;}

