/* 광주대성학원 공통 헤더 (독립형) — school2 메뉴 DB 출력용. 페이지 스타일과 충돌하지 않도록 .kjh-* 로만 적용 */
.kjh-header *{box-sizing:border-box}
.kjh-header{
  position:sticky;top:0;z-index:950;background:#fff;border-bottom:1px solid #e6e8ec;
  font-family:"KJD Sans","Pretendard Variable","Noto Sans KR",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  color:#14243a;
}
.kjh-header .kjh-in{
  width:min(1400px,92%);margin-inline:auto;
  display:flex;align-items:center;gap:18px;height:72px;
}
.kjh-header a{color:inherit;text-decoration:none}

/* 좌측 로고 */
.kjh-brand{display:flex;align-items:center;gap:10px;flex:none}
.kjh-brand img{height:50px;width:auto;display:block}

/* 대메뉴 */
.kjh-nav{flex:1;min-width:0}
.kjh-nav > ul{
  display:flex;justify-content:center;align-items:center;gap:clamp(6px,2vw,30px);
  list-style:none;margin:0;padding:0;
}
.kjh-nav > ul > li{position:relative}
.kjh-nav > ul > li > a{
  display:block;padding:26px 8px;font-size:15.5px;font-weight:700;
  letter-spacing:-.02em;white-space:nowrap;position:relative;
}
.kjh-nav > ul > li > a::after{
  content:"";position:absolute;left:8px;right:8px;bottom:18px;height:2px;
  background:#1F3E78;transform:scaleX(0);transform-origin:left;
  transition:transform .18s ease;
}
.kjh-nav > ul > li:hover > a::after,
.kjh-nav > ul > li > a[aria-current="page"]::after{transform:scaleX(1)}
.kjh-nav > ul > li > a[aria-current="page"]{color:#1F3E78}

/* 하위메뉴 */
.kjh-sub{
  position:absolute;left:50%;top:100%;transform:translateX(-50%) translateY(6px);
  min-width:210px;background:#fff;border:1px solid #e6e8ec;border-radius:10px;
  box-shadow:0 14px 34px rgba(12,28,54,.13);
  list-style:none;margin:0;padding:8px;
  opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease;
}
.kjh-nav > ul > li:hover .kjh-sub,
.kjh-nav > ul > li:focus-within .kjh-sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.kjh-sub a{
  display:block;padding:9px 12px;font-size:13.6px;color:#3C4763;border-radius:6px;
  white-space:nowrap;letter-spacing:-.01em;
}
.kjh-sub a:hover{background:#F1F4F9;color:#1F3E78}

/* 원서접수 — 전환 버튼이므로 알약 형태로 강조 */
.kjh-nav > ul > li > a.kjh-apply{
  background:#1F3E78;color:#fff;border-radius:999px;
  padding:9px 18px;margin-left:4px;font-size:14.5px;
  transition:background .18s ease;
}
.kjh-nav > ul > li > a.kjh-apply:hover{background:#142A52}
.kjh-nav > ul > li > a.kjh-apply::after{display:none}

/* 우측 로고 */
.kjh-side{flex:none;display:flex;align-items:center}
.kjh-side img{height:44px;width:auto;display:block}

/* 모바일 */
.kjh-toggle{
  display:none;flex:none;margin-left:auto;
  width:42px;height:42px;border:1px solid #dfe3ea;border-radius:8px;
  background:#fff;cursor:pointer;position:relative;
}
.kjh-toggle i{position:absolute;left:11px;right:11px;height:2px;background:#14243a;
  transition:transform .2s ease,opacity .2s ease}
.kjh-toggle i:nth-child(1){top:14px}
.kjh-toggle i:nth-child(2){top:20px}
.kjh-toggle i:nth-child(3){top:26px}
.kjh-header.is-open .kjh-toggle i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.kjh-header.is-open .kjh-toggle i:nth-child(2){opacity:0}
.kjh-header.is-open .kjh-toggle i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1100px){
  .kjh-header .kjh-in{height:62px;gap:12px}
  .kjh-brand img{height:40px}
    .kjh-side{display:none}
  .kjh-toggle{display:block}
  .kjh-nav{
    position:absolute;left:0;right:0;top:100%;background:#fff;
    border-bottom:1px solid #e6e8ec;max-height:0;overflow:hidden;
    transition:max-height .25s ease;z-index:960;
  }
  .kjh-header.is-open .kjh-nav{max-height:80vh;overflow-y:auto}
  .kjh-nav > ul{display:block;padding:6px 0 14px}
  .kjh-nav > ul > li > a{padding:14px 22px;font-size:16px;border-top:1px solid #f0f2f6}
  .kjh-nav > ul > li > a::after{display:none}
  .kjh-nav > ul > li > a.kjh-apply{
    margin:10px 22px 4px;border-radius:8px;padding:14px 18px;
    text-align:center;font-size:16px;border-top:none;
  }
  .kjh-sub{
    position:static;transform:none;opacity:1;visibility:visible;
    border:none;box-shadow:none;border-radius:0;padding:0 22px 10px;background:#F7F9FC;
  }
  .kjh-sub a{padding:10px 8px;font-size:14.5px}
}

