@charset "utf-8";

#shGnb{display:flex;align-items:center;justify-content:space-between;position:relative;width:100%;height:90px;padding:0 100px}
.sh_lnb_bg{display:none;position:absolute;top:0;left:0;width:100%;height:240px;background-color:rgba(255,255,255,.55);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:0px 8px 5px rgba(0,0,0,10%)}

/* 로고 */
#shGnb .sh_logo{position:relative;z-index:20}

/* 대분류  */
#shGnb .sh_nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content}
#shGnb .sh_nav > li{float:left;position:relative;padding:0 33px;line-height:70px}
#shGnb .sh_nav > li > a{display:block;font-size:18px;font-weight:500;color:#fff;text-transform:uppercase;transition:all .2s}
#shGnb.on .sh_nav > li > a{color:#0d1b26;text-shadow:0 1px 3px rgba(255,255,255,.7)}
#shGnb.on #pfBtn span, #shGnb.on #pfBtn span:after, #shGnb.on #pfBtn span:before{background:var(--primary)}

/* 소분류 */
#shGnb .sh_lnb_s{display:none;position:absolute;left:50%;transform:translateX(-50%);min-width:100%;width:max-content;min-height:145px}
#shGnb .sh_lnb_s li a{display:block;font-size:15px;line-height:1.8;text-align:center;color:#333;font-weight:500;text-shadow:0 1px 3px rgba(255,255,255,.7);transition:all .2s}
#shGnb .sh_lnb_s li a:hover{color:var(--primary)}

.sh_tip{font-size:14px;font-weight:600;font-family:var(--k-font)}
.sh_tip li{display:inline-block}
.sh_tip li+li{margin-left:15px}
.sh_tip li a{color:rgba(255, 255, 255, .5);transition:all .2s}
.sh_tip li a:hover{color:#fff}
#shGnb.on .sh_tip li a{color:#aaa}

/* 상단 버튼 및 오픈메뉴 */
#topmenuM{display:none;width:100%;line-height:1.8;padding:15px}
#m_navBtn{position:absolute;top:50%;right:15px;z-index:30;width:30px;height:30px;transform:translateY(-50%);cursor:pointer}
#m_navBtn span{display:block;position:relative;top:50%;width:100%;height:2px;transform:translateY(-50%)}
#m_navBtn span::before{display:block;position:absolute;top:-6px;width:100%;height:100%;background-color:#fff;content:""}
#m_navBtn span::after{display:block;position:absolute;top:6px;right:0%;width:40%;height:100%;background-color:#fff;content:""}
#m_navBtn.on{position:fixed;top:27px}
#m_navBtn.on span:before{top:0;right:-4px;transform:rotate(45deg);background-color:#000}
#m_navBtn.on span:after{top:0;right:-4px;width:100%;transform:rotate(-45deg);background-color:#222}
#navWrap{position:fixed;left:0;top:0;z-index:15;width:100%;height:100%;background-color:rgba(0,0,0,.7)}
#navWrap .inner{overflow-y:scroll;opacity:0;position:fixed;right:-40px;top:0;z-index:999;min-width:300px;width:75%;height:100%;padding:60px 0;background-color:#fff;-webkit-transition:all .1s;transition:all .1s}
#navWrap.on .inner{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#navWrap .inner:before, #navWrap .inner:after{opacity:0;display:block;position:fixed;top:0;right:-40px;z-index:1;content:"";min-width:300px;width:70%;height:60px;background-color:#fff;-webkit-transition:all .1s;transition:all .1s}
#navWrap .inner:after{top:auto;bottom:0}
#navWrap.on .inner:before, #navWrap.on .inner:after{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#navWrap .inner .mo_hd_copy{position:fixed;right:0;bottom:15px;z-index:2;min-width:300px;width:70%;font-size:12px;text-align:center;color:#888}
#navWrap .user_tip{padding:10px 20px;background-color:#f5f5f5}
#navWrap .user_tip li{display:inline-block}
#navWrap .user_tip li+li{margin-left:10px}
/* 대분류 */
#topmenuM .m_lnb .m_bmenu{display:block;position:relative;width:100%;height:52px;padding:0 20px;border:none;border-bottom:1px solid #ddd;background:none;font-size:16px;line-height:52px;color:#222;text-align:left;font-weight:500;font-family:'Noto Sans KR'}
#topmenuM .m_lnb .m_bmenu:after{float:right;content:"\f107";font-family:'fontawesome'}
#topmenuM .m_lnb .m_bmenu.on:after{content:"\f106"}
/* 소분류 */
#topmenuM .m_smenu{display:none;padding:15px 20px;border-bottom:1px solid #ddd;background-color:#f2f3f5}
#topmenuM .m_smenu li a{font-size:14px;color:#777}


/* 반응형 [s] */
@media (max-width:1440px){
#shGnb .sh_nav > li > a{font-size:16px}
}
@media (max-width:1024px){
#shGnb{display:none}
#topmenuM{display:block}
}
/* 반응형 [e] */

/* BeyondCare 언어 스위처 */
.sh_tip li.bc_lang{padding-right:15px;border-right:1px solid rgba(255,255,255,.2)}
.sh_tip li.bc_lang a{display:inline-block;padding:0 4px;letter-spacing:.5px}
.sh_tip li.bc_lang a.on{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px}
#shGnb.on .sh_tip li.bc_lang{border-right-color:#ddd}
#shGnb.on .sh_tip li.bc_lang a.on{color:#333}
.user_tip li.bc_lang_m a.on{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* BeyondCare: 영어/일본어 등 긴 메뉴명이 우측 영역을 덮는 문제 수정
   - 절대위치 중앙정렬(.sh_nav) 대신 flex 흐름에 포함시켜 로고/우측메뉴와 겹치지 않게 함 */
#shGnb .sh_nav{position:static;transform:none;display:flex;flex:1;justify-content:center;min-width:0;margin:0 15px}
#shGnb .sh_nav > li{float:none;padding:0 clamp(10px,1.6vw,33px)}
#shGnb .sh_nav > li > a{font-size:clamp(15px,1.15vw,18px);white-space:nowrap}
@media (max-width:1500px){
#shGnb{padding:0 30px}
}

/* BeyondCare: 스크롤 시 따라오는 고정 헤더 */
#sh_hd_wrapper.bc_sticky{position:fixed;top:0;left:0;z-index:999;background:rgba(255,255,255,.55);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:0 5px 20px rgba(0,0,0,.12);animation:bcSlideDown .35s ease}
@keyframes bcSlideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
#sh_hd_wrapper.bc_sticky #shGnb .sh_nav > li > a{color:#0d1b26;text-shadow:0 1px 3px rgba(255,255,255,.7)}
#sh_hd_wrapper.bc_sticky #shGnb .sh_nav > li > a:hover{color:var(--primary)}
#sh_hd_wrapper.bc_sticky .sh_tip li a{color:#555;text-shadow:0 1px 3px rgba(255,255,255,.7)}
#sh_hd_wrapper.bc_sticky .sh_tip li a:hover{color:#111}
#sh_hd_wrapper.bc_sticky .sh_tip li.bc_lang{border-right-color:#ddd}
#sh_hd_wrapper.bc_sticky .sh_tip li.bc_lang a.on{color:#14394E}
/* 고정 상태에서 메뉴를 펼치면 반투명 패널이 헤더 아래로 이어짐 (동일 투명도) */
#sh_hd_wrapper.bc_sticky .sh_lnb_bg{background-color:rgba(255,255,255,.55)}
/* 모바일에서도 헤더가 따라오도록 고정 유지
   - backdrop-filter는 내부 position:fixed 메뉴 패널(#navWrap)의 기준을 헤더로 바꿔 메뉴가 잘리므로 모바일에선 불투명 배경으로 대체
   - #topmenuM 배경이 항상 파란색(var(--primary))이므로 햄버거 라인은 고정 상태에서도 흰색 유지 */
@media (max-width:1024px){
#sh_hd_wrapper.bc_sticky{background:rgba(255,255,255,.95);backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* BeyondCare: 로고 원본이 2배 해상도(300x96)이므로 표시 크기를 150px로 고정 (레티나 선명도) */
#shGnb .sh_logo img,#m_logo img{width:150px;height:auto}

/* BeyondCare: 모바일 오픈 메뉴 개선 */
/* 홈 링크 (로고) */
#navWrap .bc_m_home{padding:5px 20px 15px;border-bottom:1px solid #eee}
#navWrap .bc_m_home img{width:130px;height:auto}
/* 소분류 1개짜리 메뉴 — 바로 이동 링크, 화살표는 오른쪽 방향으로 */
#topmenuM .m_lnb a.m_bmenu.bc_direct:after{content:"\f105"}
/* 언어 스위처 — 터치 영역 확대 및 간격 */
#navWrap .user_tip li.bc_lang_m a.small_tip{display:inline-block;min-width:48px;padding:7px 0;margin:2px 8px 2px 0;border:1px solid #ddd;border-radius:6px;background:#fff;text-align:center}
#navWrap .user_tip li.bc_lang_m a.small_tip.on{border-color:var(--primary);color:var(--primary);font-weight:700;text-decoration:none}

/* BeyondCare: 투명 배경 로고 — 어두운 배너 위에서도 보이도록 흰 글로우, 밝은 배경(펼침/고정)에서는 제거 */
#shGnb .sh_logo img{filter:drop-shadow(0 0 4px rgba(255,255,255,.9)) drop-shadow(0 0 10px rgba(255,255,255,.55))}
#shGnb.on .sh_logo img,
#sh_hd_wrapper.bc_sticky .sh_logo img{filter:none}
