/* AI matching layout adapted from u.educe.co.kr-new/css/mobile.css.
   Loaded by AI matching main/login pages; use viewport width instead of UA detection. */
@media (max-width: 1320px) {
    body .ml_wrap.login_wrap { min-width: 0; width: 100%; }
    body .login_wrap .container { min-width: 0; padding-top: 0; }
    body .login_wrap .inner { width: calc(100% - 2rem); min-width: 0; max-width: 1280px; }
    body .login_wrap .login_section { margin: 32px 0 48px; }
    body .login_wrap .login_section > .inner { max-width: 640px; }
    body .login_wrap .login_box,
    body .login_wrap .login_box .form_wrap { width: 100%; min-width: 0; }
    body .login_wrap .login_box .qna_txt { line-height: 1.6; overflow-wrap: anywhere; }
    body .login_wrap .login_box .form_box { margin-bottom: 24px; }
    body .login_wrap .login_box .input_text { box-sizing: border-box; min-width: 0; font-size: 16px; }
    body .login_wrap .login_box .login_bottom { flex-wrap: wrap; justify-content: center; gap: 12px; }
    body .login_wrap .login_box .check_box { min-height: 44px; }
    body .login_wrap .login_box .login_nav { flex-wrap: wrap; min-height: 44px; }
    body .login_wrap .login_box .login_nav .link { padding-block: 10px; }
    body .login_wrap .login_box .login_btn { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
    body .login_wrap .ml_footer .f_inner { flex-wrap: wrap; text-align: center; }
    body .login_wrap .modal .modal_box { min-width: 0; width: calc(100% - 2rem); max-width: 400px; padding: 24px 16px; box-sizing: border-box; }
    body .ml_wrap.main_wrap { min-width: 0; width: 100%; }
    body .main_wrap .container { min-width: 0; padding-top: 0; }
    body .main_wrap .inner { width: calc(100% - 2rem); max-width: 1280px; min-width: 0; }
    body .main_wrap img { max-width: 100%; }

    body :is(.main_wrap, .login_wrap) .ml_header { position: sticky; height: auto; }
    body :is(.main_wrap, .login_wrap) .ml_header .h_inner { flex-wrap: wrap; gap: 12px; padding: 12px 0; }
    body :is(.main_wrap, .login_wrap) .ml_header .hd-logo { margin: 0; }
    body :is(.main_wrap, .login_wrap) .ml_header .hd-logo img { max-width: 160px; max-height: 36px; width: auto; }
    body :is(.main_wrap, .login_wrap) .ml_header .h_side { flex-wrap: wrap; gap: 6px; }
    body :is(.main_wrap, .login_wrap) .ml_header .h_side .small-button.admin { position: static; display: block; width: 36px; padding: 0; background-position: center; }
    body :is(.main_wrap, .login_wrap) .ml_header > .h_inner > nav,
    body :is(.main_wrap, .login_wrap) .ml_header > .h_inner > .h_side { display: none; }
    body :is(.main_wrap, .login_wrap) .ml_header > .h_inner { height: 60px; padding: 0; }
    body :is(.main_wrap, .login_wrap) .ml_header > .mobile-menu-btn { position: absolute; right: 0; top: 18px; }
    body :is(.main_wrap, .login_wrap) .ml_header .mobile-menu .headbox .h_inner { width: 100%; height: 60px; padding: 0; flex-wrap: nowrap; gap: 0; }
    body :is(.main_wrap, .login_wrap) .ml_header .mobile-menu .headbox { flex-shrink: 0; }
    body :is(.main_wrap, .login_wrap) .ml_header nav > ul { display: flex; width: max-content; gap: 20px; margin: 0; }
    body :is(.main_wrap, .login_wrap) .ml_header nav > ul > li { flex-shrink: 0; margin-top: 0; white-space: nowrap; }
    body :is(.main_wrap, .login_wrap) .ml_header nav > ul > li > a { font-size: 14px; }
    body .main_wrap #megamenu { display: none !important; }

    body .main_wrap .ms1 .m_titbox { margin: 2rem 1rem; }
    body .main_wrap .ms1 .m_titbox .tit { font-size: 26px; }
    body .main_wrap .ms1 .m_titbox .desc { overflow-wrap: anywhere; }
    body .main_wrap .ms1 .ms1_cont .contbox { flex-direction: column; gap: 20px; }
    body .main_wrap .ms1 .ms1_cont .contitem { width: 100%; max-width: none; min-width: 0; max-height: none; }
    body .main_wrap .ms1 .ms1_cont .contitem2 { flex: auto; }
    body .main_wrap .ms1 .ms1_cont .contitem1 .profile_box .bottom .infobox { gap: 32px !important; flex-wrap: wrap; }
    body .main_wrap .ms1 .ms1_cont .contitem2 .ms1_swiper { padding-right: 24px; }
    body .main_wrap .ms1 .ms1_cont .contitem2 .ms1_swiper::after { width: 24px; pointer-events: none; }
    body .main_wrap .ms1 .ms1_cont .contitem2 .btnbox { position: relative; width: 100%; }
    body .main_wrap .ms1 .ms1_cont .contitem3 .banner { flex: auto; }
    body .main_wrap .ms1 .ms1_cont .contitem3 .banner img { height: auto; }
    body .main_wrap .ms1 .ms1_bottom .slidebox { flex-direction: column; width: 100%; gap: 8px; }
    body .main_wrap .ms1 .ms1_bottom .slideitem { width: 100%; min-width: 0; gap: 16px; }
    body .main_wrap .ms1 .ms1_bottom .slideitem:nth-child(1) { padding-right: 0; }
    body .main_wrap .ms2 .slidebox .prev_btn,
    body .main_wrap .ms3 .slidebox .prev_btn { left: 0; }
    body .main_wrap .ms2 .slidebox .next_btn,
    body .main_wrap .ms3 .slidebox .next_btn { right: 0; }

    body .main_wrap .ms4 .top_box,
    body .main_wrap .ms4 .top_box .leftbox { flex-direction: column; align-items: stretch; gap: 16px; }
    body .main_wrap .ms4 .top_box .leftbox,
    body .main_wrap .ms4 .top_box .rightbox,
    body .main_wrap .ms4 .leftbox .input_box_sch,
    body .main_wrap .ms4 .top_box .leftbox .select_box { width: 100%; min-width: 0; margin-right: 0; }
    body .main_wrap .ms4 .top_box .rightbox { flex-wrap: wrap; justify-content: space-between; gap: 12px; }
    body .main_wrap .ms4 .top_box .rightbox .check_box { margin-right: 0; }
    body .main_wrap .ms4 .top_box .rightbox .select_box { width: auto; flex: 1; min-width: 120px; }
    body .main_wrap .joblist .item { flex-direction: column; text-align: center; gap: 24px; padding: 24px 0; }
    body .main_wrap .joblist .item .txtbox { min-width: 0; width: 100%; }
    body .main_wrap .joblist .item .txtbox .tit { justify-content: center; flex-wrap: wrap; font-size: 17px; overflow-wrap: anywhere; }
    body .main_wrap .joblist .item .txtbox .tagbox { justify-content: center; }
    body .main_wrap .joblist .item .txtbox .tagbox .tag { white-space: normal; overflow-wrap: anywhere; }
    body .main_wrap .joblist .item .btnbox { flex-wrap: wrap; justify-content: center; }
    body .main_wrap .joblist .item .btnbox .btnitem .msg { max-width: calc(100vw - 3rem); height: auto; min-height: 28px; white-space: normal; }
    body .main_wrap .ml_footer .f_inner { flex-wrap: wrap; text-align: center; }

    body #recruit_view_modal .modal .modal_box { min-width: 0; width: 100%; max-width: 100%; }
    body #detail_modal .inner { width: calc(100% - 2rem); max-width: 100%; min-width: 0; }
    body #detail_modal .detail_top .contbox { height: auto; flex-direction: column; gap: 16px; padding: 16px 0; }
    body #detail_modal .detail_top .contbox .title { width: 100%; overflow: visible; font-size: 18px; }
    body #detail_modal .detail_top .contbox .title .tit { white-space: normal; overflow-wrap: anywhere; }
    body #detail_modal .detail_top .contbox .dday { flex-shrink: 0; }
    body #detail_modal .tab_navbox { flex-wrap: wrap; }
    body #detail_modal .tab_navbox .tab_nav { flex: 1 1 120px; width: auto !important; padding: 8px; }
    body #detail_modal .ds2 .contbox { flex-wrap: wrap; }
    body #detail_modal .ds2 .contbox .item { flex: 1 1 140px; width: auto; padding: 24px 16px; }
    body #detail_modal .ds4 .ds4_swiper .contbox { flex-direction: column; gap: 24px; }
    body #detail_modal .ds4 .ds4_swiper .contbox .item { width: 100% !important; }
    body #detail_modal .ds1 { overflow-wrap: anywhere; }
    body #detail_modal .ds1 img { max-width: 100% !important; height: auto !important; }
    body #detail_modal .ds1 table { max-width: 100%; }
    body #detail_modal .ds1 .inner { overflow-x: auto; }
    body .main_wrap .modal .modal_box { min-width: 0; width: calc(100% - 2rem); max-width: 400px; padding: 24px 16px; }
    body .slide-pop { max-width: calc(100% - 2rem); }
    body .loading-bar { min-width: 0; }
}

@media (max-width: 767px) {
    body :is(.main_wrap, .login_wrap) .ml_header .h_side { width: 100%; }
    body .main_wrap .ms1 .m_titbox .desc br { display: none; }
    body .main_wrap .ms1 .ms1_cont .contitem1 .banner1 .select_box { flex-direction: column; align-items: stretch !important; }
    body .main_wrap .ms1 .ms1_cont .contitem1 .banner1 .select_box > .select { width: 100% !important; }
    body .main_wrap .ms1 .ms1_cont .contitem1 .banner1 .input_box_sch { width: 100%; min-width: 0; }
    body .main_wrap .ms1 .ms1_cont .contitem1 .banner1 .input_box_sch .input_text { padding-right: 36px !important; }
    body .main_wrap .ms1 .ms1_bottom .slideitem { flex-wrap: wrap; }
    body .main_wrap .ms1 .ms1_bottom .slideitem .swiper { min-width: 0; }
}
