
/* CEM v28 footer / sticky / mobile final optimization */
html,body{overflow-x:hidden!important}
:root{--cem-page-width:1240px;--navy:#16004D;--line:#E7E3EF;--bg-soft:#F6F2FA}

/* header */
.topbar{position:sticky!important;top:0!important;z-index:9999!important;background:rgba(255,255,255,.985)!important;backdrop-filter:blur(14px)!important;border-bottom:1px solid var(--line)!important}
.topbar>.wrap{height:92px!important;display:grid!important;grid-template-columns:220px minmax(0,1fr) 180px!important;align-items:center!important;gap:24px!important;width:min(var(--cem-page-width),calc(100% - 56px))!important;margin:0 auto!important}
.cem-brand-logo{display:flex!important;align-items:center!important}
.cem-brand-logo img{height:64px!important;width:auto!important;max-width:160px!important;display:block!important;object-fit:contain!important}
.topbar .nav{display:flex!important;justify-content:center!important;align-items:center!important;gap:34px!important;font-size:15px!important;font-weight:850!important;white-space:nowrap!important;color:var(--navy)!important}
.topbar .nav a{color:var(--navy)!important;text-decoration:none!important}
.header-socials{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important}
.header-socials a{width:44px!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.header-socials img{width:42px!important;height:42px!important;display:block!important}
.mobile-actions{display:none!important}
.brand-mark,.brand-name,.brand-sub{display:none!important}

/* remove legacy contact widgets */
.floating,.sticky,.sticky-contact,.floating-contact,.quick-contact,.fixed-contact,.contact-sticky,.side-contact,.right-sticky,.support-sticky,.mobile-sticky,.sticky-buttons,
[class*="sticky"]:not(.cem-floating-final),[class*="floating"]:not(.cem-floating-final){display:none!important;visibility:hidden!important;pointer-events:none!important}

/* PC sticky */
.cem-floating-final{position:fixed!important;right:24px!important;top:50%!important;bottom:auto!important;left:auto!important;transform:translateY(-50%)!important;z-index:9998!important;display:grid!important;gap:8px!important;visibility:visible!important;pointer-events:auto!important}
.cem-floating-final a{height:46px!important;min-width:166px!important;border-radius:999px!important;background:#fff!important;color:var(--navy)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;padding:0 16px 0 12px!important;font-size:14px!important;font-weight:900!important;line-height:1!important;box-shadow:0 10px 22px rgba(22,0,77,.16)!important;border:1px solid var(--line)!important;text-decoration:none!important;visibility:visible!important;pointer-events:auto!important}
.cem-floating-final .primary{background:var(--navy)!important;color:#fff!important;border:2px solid #fff!important;padding-left:8px!important}
.cem-floating-final .ico{width:32px!important;height:32px!important;min-width:32px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#fff!important;flex:0 0 32px!important}
.cem-floating-final .logo-ico img{width:27px!important;height:27px!important;object-fit:contain!important}
.cem-floating-final .naver .ico{background:#03C75A!important;color:#fff!important;font-size:14px!important;font-weight:900!important}
.cem-floating-final .kakao .ico{background:#FEE500!important}
.cem-floating-final .kakao .ico img{width:32px!important;height:32px!important;display:block!important;object-fit:cover!important;border-radius:50%!important}
.cem-floating-final .tel .ico{background:#38374A!important;color:#fff!important;font-size:13px!important}

/* footer - PC 상세보기 기준으로 통일 */
.cem-footer-final{background:#fff!important;border-top:1px solid var(--line)!important;color:#3a344a!important}
.cem-footer-final .wrap{width:min(var(--cem-page-width),calc(100% - 56px))!important;margin:0 auto!important;padding:24px 0 22px!important}
.cem-footer-final .footer-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding-bottom:14px!important;border-bottom:1px solid var(--line)!important}
.cem-footer-final .footer-brand-wrap{display:flex!important;align-items:center!important;gap:12px!important}
.cem-footer-final .footer-brand-wrap img{width:50px!important;height:50px!important;object-fit:contain!important;border-radius:50%!important}
.cem-footer-final .footer-brand{font-weight:950!important;font-size:17px!important;color:var(--navy)!important}
.cem-footer-final .footer-slogan{font-size:14px!important;color:#6b6677!important;white-space:nowrap!important}
.cem-footer-final .footer-info{padding-top:13px!important;display:flex!important;flex-wrap:wrap!important;gap:7px 12px!important;font-size:13px!important;color:#565066!important;line-height:1.55!important}
.cem-footer-final .footer-info b{color:var(--navy)!important}
.cem-footer-final .copyright{margin-top:6px!important;font-size:12.5px!important;color:#777184!important}

/* board/form */
.cem-board-page{display:none!important}.cem-board-page.active{display:table-row-group!important}.cem-pagination a{cursor:pointer!important}
.cem-inquiry-list{list-style:none!important;margin:0!important;padding:0!important}
.cem-inquiry-list li{padding:16px 18px!important;border-bottom:1px solid var(--line)!important;font-size:15px!important;color:#201538!important;line-height:1.5!important}
.cem-inquiry-list li:last-child{border-bottom:none!important}
.cem-inquiry-list .cem-status.checking{color:#7562B3!important;font-weight:850!important}
.cem-inquiry-list .cem-status{color:#23705A!important;font-weight:850!important}
.cem-inquiry-list .cem-empty{text-align:center!important;padding:28px!important;color:#8B8798!important;font-size:14px!important}
.cem-form-msg{margin-top:12px!important;font-size:14px!important;font-weight:850!important}
.cem-form-msg.ok{color:#23705A!important}
.cem-form-msg.err{color:#B42318!important}
.cem-q details{position:relative!important;overflow:hidden!important;background:#fff!important}
.cem-q details[open]{overflow:visible!important}
.cem-options{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;border-top:1px solid var(--line)!important;max-height:190px!important;overflow:auto!important;background:#fff!important;position:relative!important;z-index:3!important}
.cem-options.two-col{grid-template-columns:1fr 1fr!important}
.cem-options label{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important;width:100%!important;min-height:26px!important;font-size:13px!important;line-height:1.35!important;color:var(--navy)!important}
.cem-options input[type="checkbox"],.cem-options input[type="radio"]{width:16px!important;height:16px!important;margin:0!important;justify-self:center!important;position:static!important;appearance:auto!important;-webkit-appearance:auto!important}
.cem-q summary{user-select:none!important}
.cem-q summary::-webkit-details-marker{display:none!important}

/* mobile */
.cem-swipe-hint{display:none!important}
.cem-swipe-progress{display:none}

@media(max-width:900px){
  html,body{overflow-x:hidden!important;max-width:100vw!important}
  body{padding-bottom:60px!important}
  .cem-floating-final{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    top:auto!important;
    z-index:9998!important;
  }
  .topbar>.wrap{height:64px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:calc(100% - 28px)!important}
  .cem-brand-logo,.topbar .nav,.header-socials{display:none!important}
  .mobile-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:10px!important;position:relative!important}
  .mobile-program{height:38px!important;padding:0 16px!important;border-radius:999px!important;background:var(--navy)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:13.5px!important;font-weight:900!important;text-decoration:none!important}
  .mobile-menu{height:38px!important;width:58px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:var(--navy)!important;font-size:22px!important;font-weight:900!important;line-height:1!important}
  .mobile-menu-panel{display:none!important;position:absolute!important;right:0!important;top:48px!important;width:156px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:0 12px 28px rgba(22,0,77,.14)!important;padding:10px 0!important;z-index:10000!important}
  .mobile-actions.open .mobile-menu-panel{display:block!important}
  .mobile-menu-panel a{display:block!important;padding:10px 16px!important;color:var(--navy)!important;text-decoration:none!important;font-size:13px!important;font-weight:850!important}

  /* 모바일 sticky: 아이콘 제거, 텍스트 3개만 */
  .cem-floating-final{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    top:auto!important;
    transform:none!important;
    gap:6px!important;
    z-index:9998!important;
  }
  .cem-floating-final a{
    height:40px!important;
    min-width:0!important;
    width:auto!important;
    padding:0 6px!important;
    justify-content:center!important;
    font-size:12.2px!important;
    border-radius:999px!important;
    box-shadow:0 8px 20px rgba(22,0,77,.14)!important;
    white-space:nowrap!important;
  }
  .cem-floating-final .primary{
    background:var(--navy)!important;
    color:#fff!important;
    border:1px solid var(--navy)!important;
  }
  .cem-floating-final .naver,
  .cem-floating-final .kakao{
    background:#fff!important;
    border:1px solid var(--line)!important;
    color:var(--navy)!important;
  }
  .cem-floating-final .ico,
  .cem-floating-final .tel{display:none!important}
  .cem-floating-final .primary span:last-child{display:inline!important}
  .cem-floating-final .primary span:last-child{font-size:0!important}
  .cem-floating-final .primary span:last-child::after{content:"교육문의";font-size:12.2px!important}
  .cem-floating-final .tel{display:none!important}

  /* 모바일 footer: 상세보기 톤 유지 + 정보량 축소 */
  .cem-footer-final{padding-bottom:0!important}
  .cem-footer-final .wrap{width:calc(100% - 32px)!important;padding:20px 0 18px!important}
  .cem-footer-final .footer-top{display:block!important;text-align:left!important;padding-bottom:11px!important}
  .cem-footer-final .footer-brand-wrap{gap:10px!important}
  .cem-footer-final .footer-brand-wrap img{width:38px!important;height:38px!important}
  .cem-footer-final .footer-brand{font-size:15px!important}
  .cem-footer-final .footer-slogan{display:block!important;margin-top:7px!important;white-space:normal!important;font-size:12.5px!important;line-height:1.35!important}
  .cem-footer-final .footer-info{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;padding-top:10px!important;font-size:11.8px!important;line-height:1.45!important}
  .cem-footer-final .footer-info .sep{display:none!important}
  .cem-footer-final .copyright{font-size:11px!important;margin-top:8px!important}

  /* 교육문의 가로 스와이프: 기본바 숨기고 커스텀바 하나만 */
  .cem-compact-form{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:6px!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  .cem-compact-form::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .cem-form-panel{min-width:88%!important;scroll-snap-align:start!important}
  .cem-swipe-progress{
    display:block!important;
    width:92px!important;
    height:4px!important;
    background:#E4DDF0!important;
    border-radius:999px!important;
    margin:12px auto 0!important;
    overflow:hidden!important;
  }
  .cem-swipe-progress .bar{
    display:block!important;
    height:100%!important;
    width:36px!important;
    background:#7562B3!important;
    border-radius:999px!important;
    transform:translateX(0)!important;
    transition:transform .15s ease!important;
  }
}
