/* login_media.css */

/* 공통: 화면이 작아질 때 고정폭이 튀지 않도록 보정 */
.login-container,
.login-wrap .input-wrap,
.button-wrap button,
.w328,
.w274 {
    max-width: 100%;
}

/* 1280 이하: 여백 줄이기 */
@media (max-width: 1280px) {
    .login-container {
        width: min(47rem, calc(100vw - 6rem));
        margin-top: 8rem;
        padding-bottom: 8rem;
    }

    .login-logo__img {
        width: 18rem;
    }

    .login-container__desc {
        font-size: 2.1rem;
    }
}

/* 768 이하: 태블릿 */
@media (max-width: 768px) {
    body {
        padding: 0 2rem;
    }

    .login-container {
        width: 100%;
        margin-top: 6rem;
        padding-bottom: 6rem;
    }

    .login-logo__img {
        width: 16rem;
        margin: 2rem auto;
    }

    .login-container__desc {
        font-size: 2rem;
        margin-top: 0;
        line-height: 1.5;
        word-break: keep-all;
    }

    .login-wrap {
        padding-top: 3.5rem;
    }

    .login-wrap .input-wrap,
    .button-wrap button,
    .w328,
    .w274 {
        width: 100%;
    }

    .button-wrap {
        margin-top: 3rem;
    }

    .button-wrap button {
        padding: 1.8rem 1.4rem;
        font-size: 1.6rem;
    }

    .input-wrap__inner > img,
    .input-wrap__pw--hide img {
        width: 2.4rem;
        height: 2.4rem;
    }

    .input-wrap__text,
    .input-wrap--np select {
        font-size: 1.5rem;
    }

    .login-wrap__tt {
        font-size: 1.7rem;
        padding-left: 0.6rem;
    }

    .login-wrap__tt::before {
        padding-bottom: 3rem;
    }

    .h8 {
        line-height: 6rem;
    }
}

/* 480 이하: 모바일 */
@media (max-width: 480px) {
    body {
        padding: 0 1.6rem;
    }

    .login-container {
        margin-top: 4rem;
        padding-bottom: 4rem;
    }

    .login-logo__img {
        width: 14rem;
    }

    .login-container__desc {
        font-size: 1.8rem;
    }

    .login-wrap {
        padding-top: 2.8rem;
    }

    .input-wrap {
        padding: 1.4rem 1.2rem;
    }

    .input-wrap__text,
    .input-wrap--np select {
        font-size: 1.4rem;
    }

    .button-wrap {
        gap: 0.8rem;
        margin-top: 2.4rem;
    }

    .button-wrap button {
        padding: 1.6rem 1.2rem;
        font-size: 1.5rem;
    }

    .login-wrap__tt {
        font-size: 1.6rem;
    }

    .login-wrap__tt::before {
        padding-bottom: 2.4rem;
    }

    .h8 {
        line-height: 5rem;
    }
}

/* 아주 작은 화면 */
@media (max-width: 360px) {
    .login-container__desc {
        font-size: 1.6rem;
    }

    .button-wrap button {
        font-size: 1.4rem;
    }

    .input-wrap__text,
    .input-wrap--np select {
        font-size: 1.3rem;
    }
}