/* =========================================================
   menu_merged_clean.css
   (중복/덮어쓰기 제거한 정리본)
========================================================= */

/* anchor 이동 시 상단바 높이만큼 여백 */
html{
  scroll-behavior: smooth;
  scroll-padding-top: 115px;
}

/* -------------------- TOP AREA -------------------- */
#toparea{
  width:100%;
  position:fixed;
  top:0;
  left:0;
  z-index:9999;
  height:100px;
  background:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,0.08);
}

/* 로고 */
#logo{
  position:absolute;
  left:30px;
  top:50%;
  transform:translateY(-50%);
}

/* 공통 */
.gnb{ background:transparent; }
.gnb li{ list-style:none !important; }

/* -------------------- PC MENU -------------------- */
@media (min-width:1024px){

  .gnb{
    height:100px;
    display:flex;
    align-items:center; /* 세로 중앙 */
  }

  .gnb > ul{
    /*아래쪽 선*/
    border-bottom:2px solid #000;
    width:100% !important;
    height:100px;
    padding-right:40px !important;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:nowrap;
    box-sizing:border-box;
    margin:0;
  }

  .gnb .menu{
    float:none !important;
    width:auto !important;
    margin:8px 1px 0 !important;
    padding:0 1px !important;
  }

  /* 로고가 첫번째 li라면 메뉴 밀기 */
  .gnb .menu:first-child{
    margin-left:250px !important;
  }

  /* 글씨 크기 */
  .gnb .depth1{
    font-size:20px !important;
    line-height:normal !important;
  }

  .gnb .depth1 a{
    color:#111 !important;
    font-family: 'Pretendard', sans-serif;/*폰트스타일*/
    font-weight:900 !important; /* 1200은 CSS 표준 밖이라 800으로 정리 */
    letter-spacing:-0.2px !important;

    display:flex;
    align-items:center;
    height:100px;                 /* 상단바 높이와 동일 */
    padding:0 14px !important;

    white-space:nowrap;
    text-decoration:none;
    text-shadow:none !important;
    transform:none !important;
    transition: color .2s ease, opacity .2s ease !important;

    position:relative;
  }

  .gnb .depth1 a:hover{
    color:#888 !important;
    opacity:1 !important;
  }

  /* 은은한 밑줄 (흰색) */
  .gnb .depth1 a::after{
    content:"";
    position:absolute;
    left:0; right:0;
    bottom:18px;                  /* 밑줄 위치: 필요하면 숫자만 조절 */
    height:2px;
    background: rgba(255,255,255,.75);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .2s ease, opacity .2s ease;
    opacity:0;
  }
  .gnb .depth1 a:hover::after{
    transform:scaleX(1);
    opacity:.8;
  }

  /* 기존 점/장식 제거 */
  .gnb .menu::after,
  .gnb .depth1::after{
    display:none !important;
    content:none !important;
  }
}

/* -------------------- MOBILE -------------------- */
.button_container{ display:none; }

@media (max-width:1023px){

  .gnb{ display:none; }

  .button_container{
    display:block;
    position:absolute;
    top:20px;
    right:20px;
    height:27px;
    width:35px;
    cursor:pointer;
    z-index:100;
    transition:opacity .25s ease;
  }
  .button_container:hover{ opacity:0.7; }

  .button_container div.txt{
    display:none;
    position:absolute;
    top:-2px;
    right:47px;
    font-size:22px;
    color:#999;
    letter-spacing:0;
    font-weight:normal;
  }
  .button_container.active div.txt{ color:#fff; }

  .button_container span{
    background:#fff;
    border:none;
    height:5px;
    width:100%;
    position:absolute;
    left:0;
    top:0;
    transition:all .35s ease;
  }
  .button_container span:nth-of-type(2){ top:11px; }
  .button_container span:nth-of-type(3){ top:22px; }

  .button_container.active .top{
    transform:translateY(11px) rotate(45deg);
    background:#fff;
  }
  .button_container.active .middle{
    opacity:0;
    background:#fff;
  }
  .button_container.active .bottom{
    transform:translateY(-11px) rotate(-45deg);
    background:#fff;
  }

  /* 모바일 전체 메뉴 오버레이 */
  .open{
    position:absolute;
    top:0; left:0;
    z-index:99;
    width:100%;
    min-height:1000px;
    padding:35px 0;
    box-sizing:border-box;

    font-size:25px;
    text-align:center;

    display:block !important;
    opacity:.9;
    visibility:visible;

    overflow-x:hidden;
    background:linear-gradient(180deg,#1b1b2f,#2e1f47);
    transition:opacity .35s, visibility .35s, height .35s;
  }

  .open ul{
    list-style:none;
    padding:0 0 20px 0;
    margin:0 auto;
    display:inline-block;
    position:relative;
  }

  .open ul li{
    display:block;
    position:relative;
  }

  .open ul li a{
    color: rgba(255,255,255,.92);
    display:block;
    position:relative;
    text-decoration:none;
    overflow:hidden;
    transition: color .2s ease, opacity .2s ease;
  }
  .open ul li a:hover{
    color: rgba(255,255,255,.70);
  }

  .open ul li ul{ padding-top:10px; }
  .open ul li ul li a{
    font-size:17px;
    line-height:33px;
    color:#fff;
  }
}

#logo{
  left:0;
  margin-left:300px;
}

.gnb .menu:last-child{
  margin-right:300px !important;
}