/* Opt in from the renewal header only; preserve the /busan layout and menus.
   Keep selectors more specific than page-level styles loaded after the header. */
@media (max-width: 1320px) {
    body.renewal-body.mobile-layout-enabled {
        line-height: 1.4;
    }

    /* Override popup coordinates set inline by the legacy positioning code. */
    body.renewal-body.mobile-layout-enabled .layer_pop_common:not(.modal_wrap) {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        min-width: min(300px, calc(100vw - 20px)) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 20px);
        max-height: calc(100dvh - 20px);
        overflow: auto;
        box-sizing: border-box;
    }

    body.renewal-body.mobile-layout-enabled .layer_pop_common:not(.modal_wrap) img {
        max-width: 100%;
        height: auto;
    }

    body.renewal-body.mobile-layout-enabled .layer_pop_common.mobile-help > .arrow {
        display: none;
    }

    /* Modal wrappers already center their contents; keep the full-screen wrapper. */
    body.renewal-body.mobile-layout-enabled .layer_pop_common.modal_wrap .modal_cont {
        min-width: min(300px, calc(100vw - 20px));
        max-width: calc(100vw - 20px);
    }

    body.renewal-body.mobile-layout-enabled.main .section section > a.bottom-3r {
        display: none;
    }

    body.renewal-body.mobile-layout-enabled .aisolution-wrapper {
        max-width: calc(100% - 2rem);
        min-width: 0;
    }

    body.renewal-body.mobile-layout-enabled main .aisolution-wrapper {
        overflow-wrap: anywhere;
    }

    body.renewal-body.mobile-layout-enabled main .mt-8.flex.items-center.justify-center {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    body.renewal-body.mobile-layout-enabled main .grid > *,
    body.renewal-body.mobile-layout-enabled main .flex > * {
        min-width: fit-content;
    }

    body.renewal-body.mobile-layout-enabled main .grid.px-\[120px\] {
        padding-left: 0;
        padding-right: 0;
        gap: 1.5rem;
    }

    body.renewal-body.mobile-layout-enabled main .mt-6.grid.grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
    }

    body.renewal-body.mobile-layout-enabled .interview-main-view .text-center {
        width: 100%;
        max-width: 340px;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout {
        width: calc(100% - 2rem);
        max-width: 1294px;
        margin-inline: auto;
        flex-direction: column;
        gap: 2rem;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout .l-left,
    body.renewal-body.mobile-layout-enabled main > .n-layout .l-right,
    body.renewal-body.mobile-layout-enabled main > .n-layout .l-intro-summary,
    body.renewal-body.mobile-layout-enabled main > .n-layout .l-intro-summary .l-fixed-inner {
        width: 100%;
        min-width: 0;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout .l-intro-summary {
        min-height: 0;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout .l-intro-summary.n-fixed .l-fixed-inner {
        position: static;
        margin-left: 0;
    }

    body.renewal-body.mobile-layout-enabled .aiBtn .msgbox {
        max-width: calc(100vw - 2rem);
    }

    body.renewal-body.mobile-layout-enabled .aiBtn .msgbox .msg {
        min-width: 0;
    }
}

@media (max-width: 767px) {

    body.renewal-body.mobile-layout-enabled .h300:is(.bg-layout01, .bg-layout02, .bg-layout03, .bg-layout04, .bg-layout05) {
        height: 200px;
    }

    body.renewal-body.mobile-layout-enabled .coaching7-input {
        width:initial
    }
    body.renewal-body.mobile-layout-enabled main.mt-20,
    body.renewal-body.mobile-layout-enabled main .mt-20,
    body.renewal-body.mobile-layout-enabled main .mt76,
    body.renewal-body.mobile-layout-enabled main .mt100 {
        margin-top: 2rem;
    }

    body.renewal-body.mobile-layout-enabled main .pt-20 {
        padding-top: 2rem;
    }

    body.renewal-body.mobile-layout-enabled main .pb-\[100px\],
    body.renewal-body.mobile-layout-enabled main .pb100,
    body.renewal-body.mobile-layout-enabled main .pb150 {
        padding-bottom: 3rem;
    }

    body.renewal-body.mobile-layout-enabled main.mb150 {
        margin-bottom: 3rem;
    }

    body.renewal-body.mobile-layout-enabled main .mt-8.flex.items-center.justify-center > a,
    body.renewal-body.mobile-layout-enabled main .mt-8.flex.items-center.justify-center > button {
        width: 100%;
        max-width: 100%;
    }

    body.renewal-body.mobile-layout-enabled main .mt-8.flex.items-center.justify-center > a > button {
        width: 100%;
    }

    body.renewal-body.mobile-layout-enabled main .button {
        max-width: 100%;
        width: 100%;
        height: auto;
        min-height: 44px;
        white-space: normal;
        overflow-wrap: anywhere;
        padding-inline: 1rem;
    }

    body.renewal-body.mobile-layout-enabled main .grid.px-\[120px\],
    body.renewal-body.mobile-layout-enabled main .mt76.grid.grid-cols-3,
    body.renewal-body.mobile-layout-enabled main .mt100.grid.grid-cols-3,
    body.renewal-body.mobile-layout-enabled main .mt-6.grid.grid-cols-4,
    body.renewal-body.mobile-layout-enabled main .check-words.grid,
    body.renewal-body.mobile-layout-enabled main .coaching-area {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }

    body.renewal-body.mobile-layout-enabled main .coaching-area,
    body.renewal-body.mobile-layout-enabled main .find-pd,
    body.renewal-body.mobile-layout-enabled main .coupon_main .conbox {
        max-width: 100%;
        padding: 1rem;
    }

    body.renewal-body.mobile-layout-enabled main .gpt-catcher-area,
    body.renewal-body.mobile-layout-enabled main .plagiarism-check-area,
    body.renewal-body.mobile-layout-enabled main .spelling-check-area {
        flex-direction: column;
        gap: 1rem;
        min-height: 0;
    }

    body.renewal-body.mobile-layout-enabled main .gpt-catcher-area > .shadow-box,
    body.renewal-body.mobile-layout-enabled main .plagiarism-check-area > .shadow-box,
    body.renewal-body.mobile-layout-enabled main .spelling-check-area > .shadow-box {
        flex-basis: auto;
        width: 100%;
        padding: 1rem;
    }

    body.renewal-body.mobile-layout-enabled main .gpt-catcher-area > .flex > img,
    body.renewal-body.mobile-layout-enabled main .plagiarism-check-area > .flex > img,
    body.renewal-body.mobile-layout-enabled main .spelling-check-area > .flex > img {
        transform: rotate(90deg);
    }

    body.renewal-body.mobile-layout-enabled main .spelling-check-area > .shadow-box > p.absolute {
        position: static;
        text-align: right;
    }

    body.renewal-body.mobile-layout-enabled main.correct1-body textarea,
    body.renewal-body.mobile-layout-enabled main.correct2-body textarea {
        height: 20rem;
        margin-bottom: 3rem;
    }

    body.renewal-body.mobile-layout-enabled main .coupon_main.reg h3 {
        font-size: 1.25rem;
    }

    body.renewal-body.mobile-layout-enabled main .join_input,
    body.renewal-body.mobile-layout-enabled main .join_select {
        max-width: 100%;
        box-sizing: border-box;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout .l-top-title {
        font-size: 1.25rem;
        margin-bottom: 2rem;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout .l-intro {
        padding-left: 1rem;
        flex-wrap: wrap;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout .l-fixed-inner {
        padding: 2rem 1rem;
    }

    body.renewal-body.mobile-layout-enabled main > .n-layout .l-fixed-inner::after {
        display: none;
    }

    body.renewal-body.mobile-layout-enabled .modal_wrap .modal_cont {
        min-width: 0;
        max-width: calc(100vw - 2rem);
        max-height: calc(100vh - 2rem);
        max-height: calc(100dvh - 2rem);
        overflow-y: auto;
        box-sizing: border-box;
    }

    body.renewal-body.mobile-layout-enabled .modal_wrap .modal_inner {
        padding-inline: 1rem;
    }

    body.renewal-body.mobile-layout-enabled #loginLayer .modal_cont .layerPopupContent {
        padding: 1.5rem 1rem;
    }

    body.renewal-body.mobile-layout-enabled .gpt-catcher-area .word-cnt {
        top: -14px;
    }
}
