/* 기본 GNB */

/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.gnb-icons {
  width: auto !important;
  padding-right: clamp(0px, 3.906vw, 50px)
}
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.gnb-icons {
  width: auto !important;
  padding-right:0px; 
}
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


.gnb-icons button, .gnb-icons select {
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
  color: white;
  margin-left: 10px;
}
.gnb-icons button::before {
  font-family: 'unicons-line';
  margin-right: 6px;
}
.loginbtn::before {
  content: "\e855";
}
.logoutbtn::before {
  content: "\eaf1";
}
.joinbtn::before {
  content: "\ea0e";
}
.memberbtn::before {
  content: "\ea0d";
}
.adminbtn::before {
  content: "\e877";
}
.adminbtn2::before {
  content: "\ec60";
}


.adminbtn.noview {
display: block
}
.gnb {
  width: 100%;
  float: left;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: background-color 0.3s;
  z-index: 9999999999999;
  background-color: transparent;
  height: var(--header-h);
  display: flex;
  flex-direction: column;
  justify-content: center; /* ✅ 세로 중앙 정렬 */
}
/* 구분 -----------------------------------*/


.gnb-inner {
  width: 100%;
}
.gnb.transparent {
  background-color: transparent;
}
.gnb.scrolled, .gnb.depth2-open, .gnb.fullmenu-open {
  background-color: #fff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.gnb .depth1 > li > a {
  color: white;
  transition: color 0.3s;
}
.gnb.scrolled .logo img, .gnb.depth2-open .logo img, .gnb.fullmenu-open .logo img {
  filter: none;
}
.gnb.scrolled .depth1 > li > a, .gnb.depth2-open .depth1 > li > a, .gnb.fullmenu-open .depth1 > li > a, .gnb.scrolled .menu-toggle-btn, .gnb.depth2-open .menu-toggle-btn, .gnb.fullmenu-open .menu-toggle-btn, .gnb.scrolled .gnb-icons button, .gnb.depth2-open .gnb-icons button, .gnb.fullmenu-open .gnb-icons button, .gnb.scrolled .gnb-icons select, .gnb.depth2-open .gnb-icons select, .gnb.fullmenu-open .gnb-icons select {
  color: #000;
}
.depth1 li a {
  font-size: var(--top1d-font-size) !important;
  color: var(--top1d-font-color);
  font-weight: var(--top1d-font-weight);
}
.depth2 li a {
  font-size: var(--top2d-font-size) !important;
  color: var(--top2d-font-color);
  font-weight: var(--top2d-font-weight);
}
/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.gnb-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0px;
}
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.gnb-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 20px;
}
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/



/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
#logo a img {
width:var(--logo-size-w)!important;
}
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
#logo a img {
width:calc(var(--logo-size-w)* 0.7)!important;
}
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/



/**** pc ****/
@media only all and (min-width:1024px) {
  .main-nav .depth1 {
    display: flex;
    list-style: none;
    gap: clamp(0px, 6.250vw, 80px);
    margin: 0;
    padding: 0;
  }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:1024px) {}
/**** 모바일 ****/
@media only all and (max-width:1024px) {
  .main-nav .depth1 {
    display: flex;
    list-style: none;
    gap: 30px;
    margin: 0;
    padding: 0;
    display: none
  }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {}
/* 구분 //end -----------------------------------*/
.depth1 > li > a {
  padding: 10px 0px;
  font-weight: bold;
  font-size: 18px;
  display: block;
}
.has-sub .on {}
/* 하위메뉴 고정형 */
.depth2-wrap {
  position: fixed;
  top: var(--header-h);
  left: 0;
  width: 100vw;
  background: #fff;
  border-top: 1px solid #ddd;
  padding: 20px 0;
  z-index: 9999;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  /* 애니메이션 초기값 */
  opacity: 0;
  transform: translateY(-10px);
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
/* showSubMenu()로 보여질 때 이 클래스가 붙음 */
.depth2-wrap.active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

/*  ✅ 하위 2뎁스 위치 : 나누기 -----------------------------------*/
.depth2-inner {
  display: grid;
  grid-template-columns: 29% auto;
  padding: 30px 0px;
  justify-content: flex-start;
}
.menu-header {
  font-weight: 700;
  text-align: left;
  display: flex;
  flex-direction: column;
  grid-gap: 15px; padding-left: 130px; position: relative
}
.menu-title {
  font-size: var(--tit-md-size);
  font-weight: 700;
  text-align: left;
  margin-bottom:10px
}
.menu-tx {
  font-size: 14px;
  color: #999;
  text-align: left;
  font-weight: 400
}
.menu-banner {
width: 100px; height:auto; position: absolute; left: 0px; top:-20px
}




.depth2 {
  width: 100%;
  margin: 0 auto;
  list-style: none;
  display: flex;
  flex-direction: row; display: flex;  justify-content: center;  align-items: center;
}
.depth2 li {
  width: 100%;
}
.depth2 li a {
  padding: 8px 20px;
  font-weight: bold;
 font-size:var(--top2d-font-size);
  border-radius: 6px;
  white-space: nowrap;
  color: #333;
  transition: background 0.2s;
}
.depth2 li a:hover {
  background: var(--primary);
  ;
  color: #fff;
}
/* 전체 메뉴 */
.fullmenu {
  position: fixed;
  top: var(--header-h);
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;

  opacity: 0;
  transform: translateY(-20px);
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease;
}
.fullmenu.active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
}

/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
.fullmenu-inner {
  max-width: 100%; height:calc(100% - 100px); 
  margin: auto;
  padding: 20px; display: flex;  justify-content: center;  align-items: center;
}
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
.fullmenu-inner {
  max-width: 100%; 
  margin: auto;
  padding: 0px; display: flex;  justify-content: center;  align-items: center;
}
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


.fullmenu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
}
.menu-cols {
 display: grid;   grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));  
 
}
.menu-cols>div.inbox { width: 100%; float: left; position: relative}

.accordion-toggle {
  background: none;
  border: none;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  padding: 15px;
  width: 100%;
  cursor: pointer;
}
.accordion-panel {
  display: none;
  padding: 10px 20px;
  list-style: none;
  margin: 0;
}
.accordion-panel li a {
  display: block;
  padding: 8px 0;
  color: #000;
  text-decoration: none;
}
.accordion-panel li a:hover {
  text-decoration: underline;
}
@media (min-width: 1025px) {
  .fullmenu-inner {
    padding: 0;
  }
  .fullmenu-header {
    display: none;
  }
  .menu-cols {
    flex-direction: row;
    gap: 40px;
  }
  .accordion-toggle {
    background: none;
    border: none;
    font-weight: bold;
    font-size: 16px;
    cursor: default;
    padding: 0;
    pointer-events: none;
  }
  .accordion-panel {
    display: block !important;
    padding: 0;
  }
  .accordion-panel li a {
    font-size: 14px;
    padding: 4px 0;
  }
}
.menu-toggle-btn {
  position: relative;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; display: block!important
}



.menu-toggle-btn .bar {
  position: absolute;
  width: 24px;
  height: 2px;
  background-color: white;
  transition: all 0.3s ease;
}
.menu-toggle-btn .bar.top {
  top: 10px;
}
.menu-toggle-btn .bar.middle {
  top: 19px;
}
.menu-toggle-btn .bar.bottom {
  top: 28px;
}
.menu-toggle-btn.active .bar.top {
  transform: rotate(45deg);
  top: 19px;
}
.menu-toggle-btn.active .bar.middle {
  opacity: 0;
}
.menu-toggle-btn.active .bar.bottom {
  transform: rotate(-45deg);
  top: 19px;
}
.gnb.depth2-open .menu-toggle-btn .bar {
  background-color: #000 !important;
}
.gnb.scrolled .menu-toggle-btn .bar, .gnb.fullmenu-open .menu-toggle-btn .bar {
  background-color: #000 !important;
}
/* 기본은 white */
.menu-toggle-btn .bar {
  background-color: white;
}
.menu-toggle-btn, .gnb-icons button, .gnb-icons select {
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
  color: white;
  margin-left: 10px;
}
.gnb-icons button.up{
margin-bottom: 5px;
}

.gnb-icons button::before {
  font-family: 'unicons-line';
  margin-right: 6px;
}
.loginbtn::before {
  content: "\e855";
}
.logoutbtn::before {
  content: "\eaf1";
}
.joinbtn::before {
  content: "\ea0e";
}
.memberbtn::before {
  content: "\ea0d";
}
.adminbtn::before {
  content: "\e877";
}
.adminbtn2::before {
  content: "\ec60";
}
.loginbtn:before {
  content: "\e855";
  font-family: unicons-line;
}
.logoutbtn:before {
  content: "\eaf1";
  font-family: unicons-line;
}
.joinbtn:before {
  content: "\ea0e";
  font-family: unicons-line;
}
.memberbtn:before {
  content: "\ea0d";
  font-family: unicons-line;
}
.adminbtn:before {
  content: "\e877" !important;
  font-family: unicons-line;
}
.adminbtn2:before {
  content: "\ec60";
  font-family: unicons-line;
}
.loginbtn_m:before {
  content: "\e855";
  font-family: unicons-line;
}
.logoutbtn_m:before {
  content: "\eaf1";
  font-family: unicons-line;
}
.joinbtn_m:before {
  content: "\ea0e";
  font-family: unicons-line;
}
.memberbtn_m:before {
  content: "\ea0d";
  font-family: unicons-line;
}
.adminbtn_m:before {
  content: "\e877" !important;
  font-family: unicons-line;
}
.adminbtn2_m:before {
  content: "\ec60";
  font-family: unicons-line;
}
/*메뉴가 투명하지 않을때 */
.gnb:not(.transparent) {
  background-color: #fff;
}
.gnb:not(.transparent) .logo img {
  filter: none;
}
.col {
  border-bottom: none
}
.gnb:not(.transparent) .depth1 > li > a, .gnb.scrolled .depth1 > li > a, .gnb.depth2-open .depth1 > li > a, .gnb.fullmenu-open .depth1 > li > a {
  color: #000 !important;
}
.gnb:not(.transparent) .menu-toggle-btn {
  color: #000 !important;
}
.gnb:not(.transparent) .menu-toggle-btn, .gnb:not(.transparent) .gnb-icons button, .gnb:not(.transparent) .gnb-icons select {
  color: #000 !important;
}
.gnb.small #logo img {
  filter: none !important;
}
.gnb:hover #logo a img {
  filter: none !important;
}
.gnb.transparen:hover #logo a img.White {
  filter: none !important;
}
.gnb.transparent:hover #logo a img.White, .gnb.transparent.depth2-open #logo a img.White {
  filter: none !important;
}
.gnb.transparent:hover #logo a img.White, .gnb.transparent.depth2-open #logo a img.White, .gnb.transparent.fullmenu-open #logo a img.White {
  filter: none !important;
}
.depth1 > li > a {
  height: var(--header-h);
  line-height: 110%;
  color: #002f87;
  border-bottom: 2px solid rgba(0, 0, 0, 0.00);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.depth1 > li > a:before {
  content: "";
  width: 0%;
  height: 2px;
  float: left;
  position: absolute;
  left: 0px;
  bottom: -2px;
  background-color: var(--primary);
  transition: all 0.5s;
  -moz-transition: all 0.5s;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
}
.depth1 > li.on > a:before {
  content: "";
  width: 100%;
  height: 2px;
  float: left;
  position: absolute;
  left: 0px;
  bottom: -2px;
  background-color: var(--primary);
}

/* 언어 셀렉트   추가*/
/* 기본 스타일 */
.language-dropdown {
  position: relative;
  display: inline-block;
  display: none
}
.language-dropdown.view {
  position: relative;
  display: block !important;
}
.dropdown-button {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 15px;
  border: 1px solid #ddd;
  background: #f1f1f1;
  cursor: pointer;
  border-radius: 30px;
  transition: background 0.3s ease;
  font-size: 13px;
  color: #333
}
.language-dropdown:hover {
  position: relative;
  display: inline-block;
}
.language-dropdown:hover .dropdown-button {
  background: #f1f1f1;
  ;
  font-size: 13px;
  color: #333
}
.dropdown-button img {
  width: 20px;
  height: auto;
}
.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 130px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 12px;
  cursor: pointer;
  transition: background 0.3s ease;
  font-size: 13px;
  color: #333
}
.dropdown-item:hover {
  background: #f1f1f1;
}
.dropdown-item img {
  width: 20px;
  height: auto;
}
/* 버튼 스타일 */
.tooltip_ov {
  position: relative;
}
/* 말풍선 스타일 */
.tooltip_ov .tooltip {
  position: absolute;
  bottom: -65%;
  left: 42%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.75);
  color: white;
  padding: 5px 5px !important;
  ;
  line-height: 120% !important;
  border-radius: 5px;
  font-size: 11px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-in-out;
}
/* 말풍선 화살표 */
.tooltip_ov .tooltip::after {
  content: "";
  position: absolute;
  top: -12px;
  left: 17px;
  border-width: 6px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.75) transparent transparent transparent;
  transform: rotate(180deg)
}
/* 마우스 오버 시 말풍선 표시 */
.tooltip_ov:hover .tooltip {
  opacity: 1;
  visibility: visible;
}
/* sns 아이콘 //end -----------------------------------*/
.topSNSbtn {
  width: auto;
  float: left;
  display: flex;
  grid-gap: 5px;
  flex-direction: row;
  margin-right: 10px
}
.topSNSbtn.noview {
  display: none;
}
.topSNSbtn .icon_btn {
  width: auto;
  float: left;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: var(--top1d-font-color);
  font-size: 0.9em;
  position: relative;
  cursor: pointer;
  height: 40px;
  min-width: 30px;
  line-height: 38px;
}

.icon_btn.noview {display: none!important}

.topSNSbtn .icon_btn i {
  font-size: 23px;
  color: #333;
}
.topSNSbtn .icon_btn img {
  width: 100%
}
.topSNSbtn .icon_btn:before {
  font-family: unicons-line;
  font-size: 23px;
}
.opacity .topSNSbtn .icon_btn i {
  font-size: 23px;
  color: #Fff;
}
header.small .topSNSbtn .icon_btn i {
  font-size: 23px;
  color: #333;
}
header:hover .topSNSbtn .icon_btn i {
  font-size: 23px;
  color: #333;
}
header.large:hover .topSNSbtn .icon_btn i {
  font-size: 23px;
  color: #333 !important;
}
.member_btn_box {
  width: auto;
  float: left;
  display: flex;
  grid-gap: 5px;
  flex-direction: row;
}
.member_btn_box.noview {
  display: none;
}
.member_btn_box .icon_btn {
  width: auto;
  float: left;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: var(--top1d-font-color);
  font-size: 0.9em;
  position: relative;
  cursor: pointer;
  height: 40px;
  width: 30px;
  line-height: 38px;
}
.member_btn_box .icon_btn::before {
  font-family: unicons-line;
  font-size: 25px;
}
/* ✅ PC: 전체 메뉴 항상 펼쳐짐 */
.depth2-panel, .depth3-panel {
  display: block;
}
@media (min-width: 1025px) {
  .fullmenu {
    background: #fff;
    padding: 40px 60px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  }
  .fullmenu-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
  }
  .menu-cols {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
  }
  .col {
    flex: 1 1 200px;
    min-width: 200px;
  }
  .accordion-toggle {
    font-size: 18px;
    font-weight: bold;
    background: none;
    border: none;
    padding: 0 0 8px;
    margin-bottom: 10px;
    text-align: left;
    color: #222;
    cursor: default;
  }
  .accordion-panel {
    display: block !important;
    padding: 0;
    list-style: none;
  }
  .accordion-panel > li > a {
    display: block;
    padding: 6px 0;
    font-size: 15px;
    color: #444;
    text-decoration: none;
    transition: color 0.2s;
  }
  .accordion-panel > li > a:hover {
    color: #0066cc;
  }
  /* 3뎁스 (들여쓰기) */
  .accordion-panel li ul {
    margin-top: 6px;
    padding-left: 16px;
  }
  .accordion-panel li ul li a {
    font-size: 14px;
    color: #666;
    padding: 4px 0;
  }
  .accordion-panel li ul li a:hover {
    color: #0077cc;
  }
  .depth1-btn {
    width: 100%;
    float: left;
    padding: 15px 0px 25px;
    border-bottom: 2px solid #ccc;
    background-color: transparent;
    font-size: var(--tit-mds-size);
    font-weight: 600; letter-spacing: -1px;
    text-align: left; position: relative
   
  }
	
.menu-cols>div.inbox .depth1-btn:before{content: "";    position: absolute; left: 0px;bottom:-2px; height: 2px; background-color: var(--primary); width: 0%; float: left; transition: all 0.5s;-moz-transition: all 0.5s; -webkit-transition: all 0.5s;-o-transition: all 0.5s; 
}
.menu-cols>div.inbox:hover .depth1-btn:before{content: "";    position: absolute; left: 0px;bottom:-2px; height: 2px; background-color: var(--primary); width: 100%; float: left; }
.menu-cols>div.inbox:hover .depth1-btn a{color: var(--primary); }

	
  .depth2-panel {
    padding: 10px 0px;
    width: 100%;
    float: left;
    background-color: transparent
  }
  .depth2-panel > li {
    width: 100%;
    float: left;
    padding: 15px 0px;
    background-color: transparent; position: relative; padding-left: 0px; color: #999;-moz-transition: all 0.5s; -webkit-transition: all 0.5s;-o-transition: all 0.5s; 
  }  
	.depth2-panel > li:hover {padding-left: 15px;  }
	
	
	
	.depth2-panel > li .depth2-btn a{color: #666;transition: all 0.5s;-moz-transition: all 0.5s; -webkit-transition: all 0.5s;-o-transition: all 0.5s;   }
	.depth2-panel > li:hover .depth2-btn a{color: #000}
	

	
	.depth2-panel > li:before {    float: left;  content: "";   position: absolute; left: 0px; top: 50%; width: 0px; border-radius: 5px; background-color: #333; height: 2px ;-moz-transition: all 0.5s; -webkit-transition: all 0.5s;-o-transition: all 0.5s;  }
	.depth2-panel > li:hover:before {  width: 12px; }
	
  .depth2-panel > li button {
    width: 100%;
    float: left;
    background-color: transparent;
    text-align: left;
    font-size: var(--tx-sm-size);
    ;
  }
  .depth3-panel {
    padding: 15px 0px 0px;
    width: 100%;
    float: left;
    background-color: transparent
  }
  .depth3-panel > li {
    width: 100%;
    float: left;
    padding: 5px 0px 5px 20px;
    position: relative;
    background-color: transparent;
    font-size: calc(var(--tx-sm-size) * 0.9);
  }
  .depth3-panel > li:before {
    content: "-";
    position: absolute;
    left: 0px;
    top: 5px;
    font-size: calc(var(--tx-sm-size) * 0.9);
    color: #666
  }
}
/* ✅ 모바일 전용 아코디언 스타일 */
@media (max-width: 1024px) {
  /* 아코디언 버튼 (1뎁스, 2뎁스 공통) */
  .mo-accordion-toggle {
    display: block;
    width: 100%;
    padding: 0px 0px;
    font-size: 16px;
    font-weight: 500;
    background: #f4f4f4;
    border: none;
    text-align: left;
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
  }
  .mo-accordion-toggle.depth1-btn {
    display: block;
    width: 100%;
    padding: 14px;
    font-size: 16px;
    font-weight: 500;
    background: #f4f4f4;
    border: none;
    border-bottom: 1px solid #ccc;
    text-align: left;
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
  }
	
  .mo-accordion-toggle.depth2-panel a {
    display: block;
    width: 100%;
    padding: 0px;
    font-size: 16px;
    font-weight: 500;
    background: #fff;
    border: none;
    text-align: left;
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
  }
  /* 2뎁스부터 흰 배경 */
  .mo-accordion-toggle.depth2-btn {
    background: #ffffff;
  }
  /* 클릭된 버튼 배경 */
  .mo-accordion-toggle.active {
    background: #f0f0f0;
  }
  /* + / - 아이콘 */
  .mo-accordion-toggle.depth1-btn::after, .mo-accordion-toggle.depth2-btn::after {
    content: '＋';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: #888;
    transition: all 0.2s ease;
  }
  .mo-accordion-toggle.active::after {
    content: '－';
    color: #333;
  }
  /* 하위 메뉴 없을 경우 아이콘 제거 */
  .mo-accordion-toggle.no-sub::after {
    content: '';
    display: none;
  }
  /* 아코디언 패널 기본 상태 (닫힘) */
  .mo-accordion-panel {
    max-height: 0;
    overflow: hidden;
    background: #ffffff;
    transition: max-height 0.3s ease;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  /* 열릴 때 상태 */
  .mo-accordion-panel.open {
    max-height: 1000px; /* 충분한 높이 설정 */
  }
  /* 메뉴 항목 스타일 */
  .mo-accordion-panel li a {
    display: block;
    padding: 12px 20px;
    color: #333;
    font-size: 15px;
    text-decoration: none;
    border-bottom: 1px solid #eee;
    transition: background 0.2s;
  }
  .mo-accordion-panel li a:hover {
    background: #f8f8f8;
    color: #0077cc;
  }
  /* 3뎁스는 들여쓰기 */
  .depth3-panel li a {
    padding-left: 30px;
    font-size: 14.5px;
    background: #fdfdfd;
  }
}
/* 기본 숨김 */
.depth2-item {
  position: relative;
}
.depth2-item.has-depth3:hover .depth3 {
  display: block;
}

.depth3 {
  display: none;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 1000;
  width: 400px !important;
}
.depth3 > li {
  width: auto !important
}
/* 2뎁스 hover 또는 3뎁스 hover 시 같이 보이게 */
.depth2-item:hover .depth3, .depth2-item:has(.depth3:hover) .depth3 {
  display: block;
}
.depth2-item .depth3 {
  display: none;
}
/* hover 클래스로 표시할 수 있도록 준비 */
.depth2-item.hover .depth3 {
  display: block;
}
.depth2-item:hover > a {
  background-color: var(--primary);
  color: #fff
}
.depth2-item:hover .depth3 {
  color: #333
}
.depth3 > li > a {
  float: left;
  margin-right: 5px;
  display: flex;
  flex-direction: row !important;
  width: auto !important;
  background-color: #f7f7f7;
  font-size: calc(var(--tx-sm-size) * 0.9);
}


.menu-toggle-btn.noview{ display: none!important
}
