:root{
  --hdr-height:100px;
  --hdr-bg:transparent;
  --hdr-bg-solid:#ffffff;
  --hdr-text:#ffffff;
  --hdr-text-solid:#0a2342;
  --mega-shadow:0 10px 30px rgba(0,0,0,.08);
  --gnb-tab-w:100px;
  --gnb-tab-w-scrolled:150px;
  --mega-sec-w:150px;
  
  /* Mobile header height */
  --mobile-hdr-height: 70px; /* Reduced from 100px */
  
  /* Apply mobile height by default */
  --current-hdr-height: var(--mobile-hdr-height);
  
  /* Desktop header height */
  @media (min-width: 768px) {
    --current-hdr-height: var(--hdr-height);
  }

/* ===== Desktop enforced visibility (>=1201px) ===== */
@media (min-width:1201px){
  /* PC 전용 버튼 그룹 보이기 */
  .header-right-buttons--pc{ display:flex !important; align-items:center; gap:10px; }
  /* 모바일 전용 버튼/그룹 숨기기 */
  .header-right-buttons--mobile,
  .m_menubox,
  .m_search_btn{ display:none !important; }
  /* GNB와 로고는 기본 노출 */
  .ee-gnb{ display:block !important; }
}
} 

/* Header base */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height: var(--current-hdr-height);
  z-index:1000;
  background:#fff !important; /* Always show white background on mobile */
  box-shadow:0 2px 10px rgba(0,0,0,0.1); /* Add subtle shadow for better visibility */
  transition:background .25s ease, box-shadow .25s ease;}
/* .site-header .headerbx{height:100%;} */
/* 배경: 호버 또는 스크롤에서만 흰색 (fixed 제외) */
.site-header.is-hover .headerbx,
.site-header.is-scrolled .headerbx{background:#fff !important;}
.site-header .max_container{max-width:none;width:100%;padding:0 40px;height:100%;display:flex;align-items:center;position:relative;}


/* ==============================================
   Global initial overlay and scrolled offset
   - Initial: no body/content top padding
   - After scroll: push content by header height
   ============================================== */
/* 초기에는 무조건 최상단 겹침 */
body{ padding-top: 0 !important; }
/* 스크롤 후에만 본문 오프셋 적용 */
.site-header.is-scrolled + .site-content-contain{ padding-top: var(--hdr-height); }
/* 히어로 중복 여백 방지 */
.hero{ padding-top: 0 !important; }



/* 데스크톱에서만 최소 너비 적용 */
@media (min-width:1201px){
  .site-header .max_container{min-width:1200px;}
}

/* Layout: logo | menu | ENG/search */
.site-header .logobx{
  position:absolute;
  left:40;
  display:flex;
  align-items:center;
  z-index:2;
}

.site-header .ee-gnb{
  position:absolute;
  left:60%;
  transform:translateX(-60%);
  z-index:1;
}

.site-header .header_contbx{
  position:absolute;
  right:0;
  display:flex;
  align-items:center;
  width:auto !important;
  border:none !important;
}

.site-header .header_contbx .top_bx{
  display:flex;
  align-items:center;
  gap:16px;
  height:100%;
}

/* Desktop search button (visible icon without Font Awesome) */
.site-header .header_contbx .header_search_btn{
  display:inline-block;
  width:46px;
  height:59px; /* align to header height */
  background:url(/wp-content/themes/postech_ee/images/icon/search_icon_fixed.png) no-repeat center center;
  background-size:16px 16px;
  text-indent:-9999px; /* hide any text/icon markup */
  overflow:hidden;
}

.site-header.is-hover .header_contbx .header_search_btn{
  filter:none; /* keep icon visible on white bg */
}

.site-header .header_contbx .header_search_btn:hover{
  opacity:.8;
}

.site-header .header_contbx .top_bx .f_sns,
.site-header .header_contbx .top_bx .sitemap{display:none;}
.site-header .header_contbx .langbx a{font-weight:700;}

/* Make nav grow in the middle */
.site-header .ee-gnb{justify-self:center;}
.site-header .top_bx{justify-self:end;}

/* Remove inner wrapper effect so GNB can truly center */
.ee-gnb > .ee-container{display:contents;padding:0;margin:0;}

/* 상태 전환 시: 헤더 자체 배경을 흰색으로 */
.site-header.is-hover,
.site-header.is-scrolled{background:#fff !important;}
/* Keep header above fixed mega panel */
.site-header{position:relative;z-index:1000;}

/* 1depth tabs: color transition and padding widen */
.ee-gnb .gnb{display:flex;gap:0;align-items:center;list-style:none;margin:0;padding:0;}
.ee-gnb .gnb>li{flex:0 0 var(--gnb-tab-w);width:var(--gnb-tab-w);text-align:center;transition:flex-basis .25s ease, width .25s ease;}
.ee-gnb .gnb>li>a{display:block;line-height:var(--current-hdr-height);padding:0 0;color:var(--hdr-text);font-weight:800;transition:color .22s ease, padding .22s ease, background .22s ease;white-space:nowrap;text-align:center;}
.site-header.is-hover .ee-gnb .gnb>li>a,
.site-header.is-scrolled .ee-gnb .gnb>li>a{color:#333;}
.ee-gnb .gnb>li:hover>a,
.ee-gnb .gnb>li.open>a{padding:0 0;}

/* 1depth in utility row mirrors same behavior */
.mega-utility-gnb>li>a{transition:color .22s ease, padding .22s ease;}
.mega-utility-gnb>li:hover>a,
.mega-utility-gnb>li.current-menu-item>a{padding:0 12px;}

/* Logo color swap smoothness */
.site-header .logobx .fixed{transition:opacity .25s ease;}

/* Mega Utility Bar (inside panel state) */
.site-header .mega-utility{position:fixed;left:0;top:0;width:100vw;height:var(--hdr-height);background:#fff;z-index:1001;visibility:hidden;opacity:0;transform:translateY(-300px);transition:transform .3s ease, opacity .3s ease;}
.site-header.is-hover .mega-utility{visibility:visible;opacity:1;transform:translateY(0);} 
.mega-utility-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%;}
.mega-utility-left .logo1{display:inline-block;position:relative; }
.mega-utility-left .logo1 img{display:block;height:36px; }
.mega-utility-left .logo1 img.fixed{position:absolute;left:0;top:0;opacity:0;transition:opacity .25s ease;}
.site-header.is-scrolled .mega-utility-left .logo1 img.fixed,.site-header.is-hover .mega-utility-left .logo1 img.fixed{opacity:1;}
.site-header.is-scrolled .mega-utility-left .logo1 img:not(.fixed),.site-header.is-hover .mega-utility-left .logo1 img:not(.fixed){opacity:1;}
.is-scrolled_fixed {
  max-width: 200px;
  padding-right: 10px;
}
.is-scrolled_fixed_ee {
  max-width: 110px;
  padding-left: 10px;
}
.mega-utility-nav .mega-utility-gnb{display:flex;gap:0;list-style:none;margin:0;padding:0;}
.mega-utility-gnb>li{flex:1 1 0;min-width:0;}
.mega-utility-gnb>li>a{display:block;line-height:var(--current-hdr-height);font-weight:700;color:#333;padding:0 6px;text-align:center;}
.mega-utility-gnb>li>a:hover{color:var(--ee-primary);} 

.mega-utility-right{display:flex;align-items:center;gap:16px;}
.mega-util-link,.mega-util-search{color:#333;text-decoration:none;font-weight:700;}
.mega-util-search:hover,.mega-util-link:hover{color:var(--ee-primary);} 
/* Logos color swap handled already by .fixed img in theme; ensure visibility */
.site-header .logobx a{position:relative;display:inline-block;}
.site-header .logobx a img{display:block !important;opacity:1;transition:opacity .25s ease;}
.site-header .logobx a img.fixed{position:absolute;left:0;top:0;opacity:0;}
/* Default: show normal (white) logo, hide fixed */
.site-header:not(.is-scrolled):not(.is-hover) .logobx a img.fixed{opacity:0;}
.site-header:not(.is-scrolled):not(.is-hover) .logobx a img:not(.fixed){opacity:1;}
/* Scrolled or hover: show fixed, hide normal */
.site-header.is-scrolled .logobx a img.fixed,
.site-header.is-hover .logobx a img.fixed{opacity:1;}
.site-header.is-scrolled .logobx a img:not(.fixed),
.site-header.is-hover .logobx a img:not(.fixed){opacity:0;}

/* Hover만으로는 배경을 바꾸지 않음: is-hover가 없을 때만 투명 유지 */
.site-header:not(.is-hover):hover{background:transparent !important;} 
.site-header:hover .logobx img.fixed{opacity:1;}

/* Primary nav (desktop) */
.ee-gnb{height:100%;}
.ee-gnb .gnb{display:flex;gap:0;height:100%;align-items:center;}
.ee-gnb .gnb>li>a{display:block;padding:0;line-height:var(--current-hdr-height);font-weight:700;color:#fff;transition:color .2s ease;}

/* Hanwha-style: header goes solid, 1depth turns dark and expands */
.site-header.is-hover .ee-gnb .gnb>li>a,
.site-header.is-scrolled .ee-gnb .gnb>li>a{color:#333;}

/* Active top tab (synced from JS) */
.ee-gnb .gnb>li.active>a{color:#333;} 

/* Centered GNB using fixed tab widths */
.ee-gnb .gnb{justify-content:center;}
.site-header .ee-gnb .gnb>li, .site-header.is-scrolled .ee-gnb .gnb>li{flex:0 0 var(--gnb-tab-w);width:var(--gnb-tab-w);max-width:none;text-align:center;}
/* is-scrolled or is-hover 상태에서 1depth 폭 150px */
.site-header.is-hover .ee-gnb .gnb>li{flex-basis:var(--gnb-tab-w-scrolled);width:var(--gnb-tab-w-scrolled);} 

/* Reduced motion: disable width animation for users preferring less motion */
@media (prefers-reduced-motion: reduce){
  .ee-gnb .gnb>li{transition:none;}
}

/* 통합 메가메뉴 배경 (한화 사이트 스타일) */
.mega-menu-bg{
  position:fixed;
  left:0;
  top:var(--hdr-height);
  z-index:1200;
  width:100vw;
  height:0;
  overflow:hidden;
  background:#fff;
  transition:height .3s ease;
  opacity:0;
  visibility:hidden;
  display:none;
}

.site-header.is-hover .mega-menu-bg{
  display:block;
  height:258px;
  opacity:1;
  visibility:visible;
  transition:height .3s ease, opacity .3s ease, visibility .3s ease;
}

/* 메가메뉴 패널 (콘텐츠 영역) */
.ee-gnb .mega-menu-panel{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  display:none;
  align-items:flex-start;
  justify-content:flex-start;
  padding:40px 0;
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .3s ease, transform .3s ease;
  z-index:1301;
}

/* GNB hover 시 메가메뉴 표시 및 is-scrolled 상태 유지 */
.ee-gnb:hover ~ .mega-menu-bg,
.site-header.is-hover .mega-menu-bg{
  height:258px;
  opacity:1;
  visibility:visible;
  z-index:1;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.ee-gnb:hover .mega-menu-panel,
.site-header.is-hover .ee-gnb .mega-menu-panel{
  display:flex;
  height:258px;
  pointer-events:auto;
  opacity:1;
  transform:translateY(0);
  position: absolute;
  top: 59px;

}

/* 메가메뉴 활성화시 섹션들 순차적으로 나타나기 */
.site-header.is-hover .ee-gnb .mega-menu-section{
  opacity:1;
  transform:translateY(0);
  min-height:257px;
}

.site-header.is-hover .ee-gnb .mega-menu-section:nth-child(1){
  transition-delay:0.1s;
}

.site-header.is-hover .ee-gnb .mega-menu-section:nth-child(2){
  transition-delay:0.15s;
}

.site-header.is-hover .ee-gnb .mega-menu-section:nth-child(3){
  transition-delay:0.2s;
}

.site-header.is-hover .ee-gnb .mega-menu-section:nth-child(4){
  transition-delay:0.25s;
}

.site-header.is-hover .ee-gnb .mega-menu-section:nth-child(5){
  transition-delay:0.3s;
}

.site-header.is-hover .ee-gnb .mega-menu-section:nth-child(6){
  transition-delay:0.35s;
}

/* 메가메뉴 hover 시에도 헤더 scrolled 상태 유지 */
.site-header.is-hover,
.site-header.is-scrolled.is-hover{
  background:transparent !important;
}

.site-header.is-hover .logobx img.fixed,
.site-header.is-scrolled.is-hover .logobx img.fixed{
  opacity:1 !important;
}

.site-header.is-hover .logobx a img:not(.fixed),
.site-header.is-scrolled.is-hover .logobx a img:not(.fixed){
  opacity:0 !important;
}

/* 메가메뉴 hover시 is-scrolled 스타일 강제 적용 */
.site-header.is-hover .header_contbx .top_bx .slat a{
  color:#999999 !important;
}

.site-header.is-hover .header_contbx .top_bx .sitemap.slat:before{
  color:#999999 !important;
}

.site-header.is-hover .header_contbx .top_bx .slat label{
  color:#d5d5d5 !important;
}

/* 메가메뉴 콘텐츠 - 1depth 메뉴와 정렬 맞추기 */
.ee-gnb .mega-menu-content{
  display:flex;
  justify-content:center;
  padding:0;
  height:100%;
  align-items:flex-start;
  margin:0 auto;
  position:relative;
}

/* 각 메뉴 섹션을 1depth 메뉴 폭에 맞춰 배치 */
.ee-gnb .mega-menu-section{
  flex:0 0 var(--mega-sec-w);
  width:var(--mega-sec-w);
  padding:24px 16px;
  transition:background-color .3s ease, opacity .3s ease, transform .3s ease;
  min-height:210px;
  position:relative;
  opacity:0;
  transform:translateY(20px);
}

/* 2차 메뉴가 없는 경우 빈 공간 스타일 */
.ee-gnb .mega-section-empty{
  height:100%;
  min-height:200px;
}

/* 첫 번째 섹션 왼쪽 라인 */
.ee-gnb .mega-menu-section:first-child::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  background-color:#ddd;
}

/* 모든 섹션 오른쪽 라인 */
.ee-gnb .mega-menu-section::after{
  content:'';
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:1px;
  background-color:#ddd;
}

/* 1depth 메뉴 hover시 해당 2depth 메뉴 배경 변경 */
.ee-gnb .gnb>li:hover + * .mega-menu-section[data-parent-id*="menu-item"],
.ee-gnb .mega-menu-section.active{
  background-color:#efefef;
}

.ee-gnb .mega-section-list{
  list-style:none;
  margin:0;
  padding:0;
  text-align:center;
}

.ee-gnb .mega-section-list li{
  margin-bottom:8px;
}

.ee-gnb .mega-section-list a{
  display:inline-block;
  color:#666;
  text-decoration:none;
  padding:4px 8px;
  font-size:14px;
  font-weight:500;
  transition:color .2s ease;
}

.ee-gnb .mega-section-list a:hover{
  color:var(--ee-primary);
}

/* 기존 sub-menu 스타일 제거 - 새로운 통합 메가메뉴로 대체 */

/* Hover state turns header solid */
.ee-gnb .gnb>li:hover>a{color:var(--hdr-text-solid);}

/* Moving underline indicator (positioned at header bottom) */
.gnb-underline{
  position:absolute;
  bottom:0;
  left:0;
  height:2px;
  background:var(--ee-primary);
  opacity:0;
  pointer-events:none;
  z-index:1003;
  transform:translateZ(0);
}

/* Search dropdown (Hanwha-like header-bottom panel) */
.header-search-overlay{
  position:fixed;left:0;right:0;top:var(--hdr-height);
  height:220px;background:#fff;z-index:1405;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(-16px);
  transition:transform .25s ease, opacity .25s ease, visibility 0s linear .25s;
}
body.search_on .header-search-overlay{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;}
.header-search-box{width:min(920px,90vw);border-radius:40px;border:2px solid #eee;display:flex;gap:12px;padding:14px 18px;background:#fff;box-shadow:none;} 
.header-search-box input[type="text"]{flex:1;border:0;font-size:20px;outline:none;}
.header-search-close{position:absolute;top:12px;right:20px;font-size:24px;cursor:pointer;color:#333;}

/* Mobile hamburger (fullscreen) */
.m_menubox{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
}

.m_menubox .bar{
  width:20px;
  height:2px;
  background-color:#333;
  margin:3px 0;
  transition:0.3s;
  display:block;
}

/* 모바일 아코디언 네비게이션 (한화 스타일) */
.mobile-accordion-nav{
  padding:0;
  margin:0;
}

.mobile-menu-item{
  border-bottom:1px solid #eee;
}

.mobile-menu-toggle,
.mobile-menu-link{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px;
  background:none;
  border:none;
  text-align:left;
  font-size:16px;
  font-weight:600;
  color:#333;
  cursor:pointer;
  transition:background-color .3s ease;
}

.mobile-menu-toggle:hover,
.mobile-menu-link:hover{
  background-color:#f8f8f8;
}

.mobile-menu-toggle .menu-title,
.mobile-menu-link .menu-title{
  flex:1;
}

.mobile-menu-toggle .toggle-icon{
  font-size:18px;
  font-weight:300;
  transition:transform .3s ease;
}

.mobile-menu-toggle.active .toggle-icon{
  transform:rotate(45deg);
}

.mobile-submenu{
  max-height:0;
  overflow:hidden;
  background-color:#f8f8f8;
  transition:max-height .3s ease;
}

.mobile-submenu.active{
  max-height:500px;
}

.mobile-submenu-link{
  display:block;
  padding:12px 24px 12px 48px;
  color:#666;
  font-size:14px;
  text-decoration:none;
  border-bottom:1px solid #eee;
  transition:background-color .3s ease;
}

.mobile-submenu-link:hover{
  background-color:#efefef;
  color:#333;
}

.mobile-submenu-link:last-child{
  border-bottom:none;
}

/* 모바일 레이아웃 (버튼 노출 구간과 일치: <=1260px) */
@media (max-width:1200px){
  /* Prevent horizontal scroll on mobile */
  html, body{ overflow-x:hidden; }
  .site_wrap, .wrap_container, .pagebx, .site, .site-header, .site-content-contain{ max-width:100%; overflow-x:hidden; }
  .site-header .max_container{ max-width:100%; }
  /* 모바일에서 플로팅 퀵메뉴 숨김 */
  .ee-quick-menu{ display:none !important; }
  :root {
    --mobile-hdr-height: 60px; /* Further reduced from 70px */
  }
  
  /* Pin header container */
  .site-header .headerbx{ position:fixed; top:0; left:0; right:0; z-index:1200; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.1); width:100%; }
  .site-header .max_container {
    min-width: auto;
    padding: 0 8px; /* 왼쪽 여백 축소: 로고를 더 왼쪽에 붙임 */
    display: grid; /* Grid로 변경: 로고 중앙, 버튼 우측 */
    grid-template-columns: 1fr auto;
    align-items: center; /* 세로 중앙 정렬 */
    column-gap: 8px; /* 두 영역 간 기본 간격 */
    position: relative; /* avoid double-fixed */
    background: transparent;
    height: 50px;
    width:100%;
    box-sizing:border-box;
    overflow-x:hidden;
    /* 템플릿 기본값 상쇄: 중앙정렬/폰트0 제거 */
    font-size: initial !important;
    line-height: normal !important;
    text-align: left !important;
  }
  /* Fixed header offset: ensure content is not hidden under header */
  .site-header + .site-content-contain{ padding-top: 50px !important; }
  @media (min-width: 783px){ /* WP admin bar height handling on tablets */
    .admin-bar .site-header .headerbx{ top:32px; }
  }
  @media (max-width: 782.98px){ /* WP admin bar on small screens */
    .admin-bar .site-header .headerbx{ top:46px; }
  }
  /* 헤더 우측 버튼 그룹 강제 노출/정렬 */
  /* 버튼 그룹을 플렉스 행에 포함 (absolute 제거) */
  .header-right-buttons{ grid-column: 2; justify-self:end; position:static; transform:none; display:flex !important; align-items:center; gap:6px; z-index:1002; height:32px; flex-wrap:nowrap; white-space:nowrap; margin-left:0; box-sizing:border-box; min-width:110px; isolation:isolate; }
  .header-right-buttons > *{ flex:0 0 30px; flex-shrink:0; }
  /* 로고 박스 폭 보정: 레거시 width:50% 상쇄 */
  .headerbx h1.logobx{ width:auto !important; margin:0 !important; float:none !important; }
  /* 순서: 검색(1) - 퀵(2) - 햄버거(3) */
  .header-right-buttons .m_search_btn{ order:1; }
  .header-right-buttons .quick-menu-toggle{ order:2; }
  .header-right-buttons .m_menubox{ order:3; }
  /* 크기: 30px */
  .header-right-buttons .m_search_btn{ display:inline-flex !important; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid #e5e7eb; border-radius:8px; background:#fff;  padding:0; box-sizing:border-box; flex:0 0 30px; position:absolute; top:2px;}
  .header-right-buttons .quick-menu-toggle{ display:inline-flex !important; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid #e5e7eb; border-radius:8px; background:#fff; padding:0; box-sizing:border-box; flex:0 0 30px; }
  .header-right-buttons .m_menubox{ display:inline-flex !important; width:30px; height:30px; align-items:center; justify-content:center; box-sizing:border-box; position:fixed !important; top:10px !important; right:16px !important; margin:0 !important; flex:0 0 30px; z-index:10020; }
  .header-right-buttons .m_menubox .bar{ width:18px; height:2px; background:#111; margin:2px 0; border-radius:2px; }
  /* 레거시 템플릿 포지셔닝 무력화: 검색 버튼은 컨테이너 플렉스 흐름 사용 */
  .header-right-buttons .m_search_btn{ position:static !important; right:auto !important; top:auto !important; width:30px; height:30px; display:inline-flex !important; align-items:center; justify-content:center; text-indent:-9999px; background-size:18px 18px !important; box-sizing:border-box; }
  
  /* 검색 버튼: 템플릿 배경 아이콘 제거하고 SVG 사용 */
  .header-right-buttons .m_search_btn{
    background:none !important;
    text-indent:0 !important;
    padding:0;
    display:inline-flex !important;
    align-items:center; justify-content:center;
  }
  .header-right-buttons .m_search_btn{ width:30px; height:30px; }
  .header-right-buttons .m_search_btn svg{ width:18px; height:18px; display:block; }
  
  /* 클릭 커서 */
  .header-right-buttons .quick-menu-toggle,
  .header-right-buttons .m_menubox,
  .header-right-buttons .m_search_btn{ cursor:pointer; }

  /* 모바일 사이드(햄버거) 전체화면 오버레이화 */
  .mobile_sidebx{
    position:fixed; inset:0; z-index:1205; background:#fff;
    transform:translateX(100%);
    transition:transform .25s ease, opacity .2s ease, visibility .2s ease;
    opacity:0; visibility:hidden; pointer-events:none;
    display:block;
  }
  .site_wrap.nav_on .mobile_sidebx{ transform:translateX(0); opacity:1; visibility:visible; pointer-events:auto; }
  /* 레거시 좌측 밀기 무효화 */
  .site_wrap.nav_on .wrap_container{ left:0 !important; }

  /* 모바일 퀵 전체화면 오버레이 */
  .mobile_quick_overlay{
    position:fixed; inset:0; z-index:1206; background:rgba(255,255,255,.98);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .2s ease, visibility .2s ease;
    display:flex !important; /* override template.css display:none */
    align-items:flex-start; justify-content:center; padding-top:60px; box-sizing:border-box;
  }
  .mobile_quick_overlay .mq-inner{ width:min(640px, 92%); background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.08); padding:16px; }
  .mobile_quick_overlay .mq-close{ position:absolute; top:12px; right:12px; width:36px; height:36px; border:1px solid #ddd; border-radius:8px; background:#fff; }
  .mobile_quick_overlay .mq-nav ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:8px; }
  .mobile_quick_overlay .mq-nav li a{ display:block; padding:14px 12px; border:1px solid #eee; border-radius:10px; color:#111; }
  .site_wrap.quick_on .mobile_quick_overlay{ opacity:1; visibility:visible; pointer-events:auto; }
  
  @media (max-width:1260px){
    .header-right-buttons--pc{ display:none !important; }
    .header-right-buttons--mobile{ display:flex !important; }
    /* 1260px 이하에서는 플로팅 퀵메뉴도 숨김 (겹침 방지) */
    .ee-quick-menu{ display:none !important; }
  }
  
  /* 데스크톱 협소 구간(1201~1260px)에서 레이아웃 충돌 방지 */
  @media (max-width:1260px) and (min-width:1201px){
    .site-header .max_container{ display:flex; align-items:center; justify-content:space-between; }
    .header-right-buttons--pc{ margin-left:auto; }
    .ee-gnb{ flex: 1 1 auto; }
    .ee-gnb .gnb{ gap:16px; }
    .ee-gnb .gnb > li > a.gnb-link{ padding:16px 4px; font-size:15px; }
    .site-header .headerbx{ box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
    .headerbx h1.logobx{ flex:0 0 auto; }
  }
  /* 버튼들이 보이도록 안전장치 */
  .header-right-buttons *,
  .header-right-buttons button,
  .header-right-buttons .quick-menu-toggle,
  .header-right-buttons .m_menubox{ opacity:1 !important; visibility:visible !important; }
  
  /* Logo size and positioning */
  .site-header .logobx {
    position: relative;
    left: 0;
    transform: none;
  }
  
  .site-header .logobx img {
    max-height: 36px; /* Further reduced from 40px */
    width: auto;
    max-width: 180px; /* Prevent logo from being too wide */
  }
  
  /* Header utility items */
  .mega-utility-right {
    gap: 8px; /* Further reduced from 10px */
  }
  
  .mega-util-search,
  .mega-util-link {
    font-size: 13px; /* Slightly smaller font */
    padding: 6px 8px; /* Better touch target size */
  }
  
  /* Adjust menu button */
  .mega-util-link.mobile-menu-trigger {
    margin-left: 4px;
  }
  
  /* 데스크톱 메가메뉴 및 헤더 컨텐츠 숨기기 */
  .ee-gnb{display:none;}
  .ee-gnb .mega-menu-bg,
  .ee-gnb .mega-menu-panel{
    display:none !important;
  }
  .ee-gnb .gnb{
    display:none !important;
  }
  
  /* 헤더 컨텐츠 박스 숨기기 (ENG, Search 등) */
  .header_contbx{
    display:none !important;
  }
  
  /* 로고를 왼쪽에 배치 */
  .logobx{
    order:1;
    grid-column: 1;             /* 좌측 그리드 컬럼 */
    justify-self: start;        /* 왼쪽 정렬 */
    display:flex;
    align-items:center;         /* 세로 센터 */
    justify-content:flex-start;
    gap:4px; /* 로고 간 간격 축소 */
    min-width:0;                /* 수축 허용 */
    flex-wrap:nowrap;           /* 한 줄 유지 */
    white-space:nowrap;         /* 텍스트/인라인 요소 줄바꿈 방지 */
    overflow:hidden;            /* 초과분 숨김 */
    margin-left:0;              /* 혹시 모를 좌측 마진 제거 */
  }
  
  .logobx .logo1,
  .logobx .logo2{
    display:inline-flex !important; /* 인라인-플렉스로 고정 */
    align-items:center;
    justify-content:center;
    flex:0 0 auto;              /* 고정 50% 대신 자동 폭 */
    width:auto;
    overflow:hidden;
    min-width:0;
  }
  /* 기존 템플릿 padding 보정: 로고 사이 여백 축소 */
  .headerbx h1.logobx a.logo1{ padding-right:4px !important; }
  .headerbx h1.logobx a.logo2{ padding-left:4px !important; }
  .logobx .logo1 img,
  .logobx .logo2 img{
    display:block;              /* 이미지 아래 여백 제거 및 줄바꿈 방지 */
    height:auto;
    max-height:26px;            /* 모바일에서 더 작게 */
    max-width:100%;
    object-fit:contain;
  }
  
  /* 오른쪽 버튼들 그룹 */
  .header-right-buttons{
    order:3;
    display:flex;
    align-items:center;
    gap:5px;
    margin-left:auto;
    flex:0 0 auto;
  }
  
  .m_search_btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    text-indent:-9999px;
    background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/></svg>') no-repeat center;
    background-size:20px 20px;
    order:1;
  }
  
  .m_menubox{
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    cursor:pointer;
    order:2;
    position:fixed !important;
    top:10px; right:16px; z-index:10020;
  }
  
  .mobile_sidebx{
    position:fixed;
    inset:0;
    background:#fff;
    z-index:1300;
    width:100% !important;           /* 전체 화면 */
    transform:translateX(100%);      /* 오른쪽에서 진입 */
    transition:transform .35s ease;  /* 부드러운 슬라이드 */
    overflow:auto;                   /* 컨테이너 자체 스크롤 -> sticky 상단바 동작 */
    -webkit-overflow-scrolling:touch;
    box-shadow:-8px 0 24px rgba(0,0,0,.15); /* 오른쪽 패널 느낌 */
    display:block !important;        /* 레거시 display:none 무효화 */
    visibility:hidden;               /* 초기 비가시 처리 */
    pointer-events:none;             /* 클릭 차단 */
    will-change: transform;          /* 성능 힌트 */
    display:flex;                    /* 상/중앙/하단 레이아웃 */
    flex-direction:column;
  }
  /* 열림 상태: 가시화 */
  .site_wrap.nav_on .mobile_sidebx{transform:translateX(0); visibility:visible; pointer-events:auto;}
  /* 모바일 내비 영역은 중앙 확장 */
  .mobile_sidebx .m_nav{flex:1 1 auto;}
  /* 상단 언어 라인 */
  .mobile_sidebx .mobile_topline{
    order:0;
    position:sticky; top:0; background:#fff; z-index:5;
    display:flex; align-items:center; gap:8px;
    padding:12px 16px; border-bottom:1px solid #eee; font-size:14px; color:#666;
    min-height:48px;
  }
  .mobile_sidebx .mobile_topline .fa-globe{color:#888; margin-right:6px; font-size:16px;}
  .mobile_sidebx .mobile_topline .lang{color:#666; text-decoration:none; padding:6px 8px;}
  .mobile_sidebx .mobile_topline .lang.active{color:#c61065; font-weight:600;}
  .mobile_sidebx .mobile_topline .sep{color:#ccc; margin:0 2px;}
  /* 하단 SNS 아이콘 */
  .mobile_sidebx .mobile_sns{
    order:2;
    margin-top:auto; /* 항상 최하단으로 밀기 */
    padding:16px; border-top:1px solid #eee;
  }
  .mobile_sidebx .mobile_sns ul{display:flex; justify-content:center; gap:18px; align-items:center; margin:0; padding:0;}
  .mobile_sidebx .mobile_sns li{list-style:none;}
  .mobile_sidebx .mobile_sns li a{
    display:block; text-indent:-9999px; overflow:hidden; opacity:.75;
    background:url(../../images/icon/sub_icon_item-1.png) no-repeat; background-size:250px 150px;
    /* 터치 타겟 최소 높이 보장 */
    min-height:24px;
  }
  /* facebook */
  .mobile_sidebx .mobile_sns li.sns1 a{background-position:-29px 0; width:7px; height:16px;}
  /* twitter */
  .mobile_sidebx .mobile_sns li.sns2 a{background-position:-52px 0; width:17px; height:14px;}
  /* instagram (재사용: 적절한 위치로 조정 필요시 알려주세요) */
  .mobile_sidebx .mobile_sns li.sns3 a{background-position:-75px 0; width:16px; height:16px;}
  .mobile_sidebx .mobile_sns li a:hover{opacity:1}
  /* 내비게이션 섹션은 가운데 */
  .mobile_sidebx .m_nav{order:1;}
  /* 닫기 버튼 */
  .mobile_sidebx .mobile_close_btn{
    position:static; margin-left:auto;
    width:40px; height:40px;
    font-size:28px; line-height:40px;
    text-align:center; background:transparent; border:0; cursor:pointer;
  }
  
  .site-header.is-scrolled + .site-content-contain{ padding-top: 0; }

}

/* Ensure content below header */
.hero,
.main-content {
  padding-top: var(--current-hdr-height);
}

/* Adjust spacing for mobile */
@media (max-width: 767px) {
  .hero,
  .main-content {
    padding-top: var(--mobile-hdr-height);
  }
} 

/* Interaction helpers */
body{--scrollY:0px}
body.nav_opened{overflow:hidden; touch-action:none; overscroll-behavior:contain;}

/* ==============================================
   Subpages behavior: is-scrolled without dropdown
   - Keep tab width same as default (like requirement #1)
   - Prevent mega background/panel from opening on hover
   - Only applies when NOT on home page
   ============================================== */
body:not(.home) .site-header.is-scrolled .ee-gnb .gnb>li{
  flex-basis: var(--gnb-tab-w) !important;
  width: var(--gnb-tab-w) !important;
}
/* Block dropdown/bg while scrolled on subpages (but ALLOW on hover) */
body:not(.home) .site-header.is-scrolled:not(.is-hover) .mega-menu-bg{
  display: none !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
body:not(.home) .site-header.is-scrolled:not(.is-hover) .ee-gnb .mega-menu-panel{
  display: none !important;
  height: 0 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateY(-10px) !important;
}

/* 서브페이지에서 is-hover 상태일 때는 탭 폭을 확장(간격 넓힘) */
body:not(.home) .site-header.is-hover .ee-gnb .gnb>li,
body:not(.home) .site-header.is-scrolled.is-hover .ee-gnb .gnb>li{
  flex-basis: var(--gnb-tab-w-scrolled) !important;
  width: var(--gnb-tab-w-scrolled) !important;
}

/* ==============================================
   Home initial state: force transparent header
   ============================================== */
/* 홈 초기(비스크롤/비호버) 상태에서 어떤 파일이 나중에 로드되어도 투명 유지 */
.home .site-header:not(.is-scrolled):not(.is-hover),
.home .site-header:not(.is-scrolled):not(.is-hover) .headerbx{
  background: transparent ;
}
/* 유틸리티 바가 기본 상태에서 흰색을 칠하지 않도록 방지 */
.home .site-header .mega-utility{background: transparent !important;}
.home .site-header.is-hover .mega-utility{background: #fff !important;}

