@media (max-width: 1240px) {

    /* ==========================
       공통
    ========================== */
    section .inner {
        padding: 0px 20px;
    }
}

@media (max-width: 1180px) {
    .select-item-wrap .group-item {
        height: 220px;
    }
}

@media (max-width: 960px) {

    /* ==========================
       공통
    ========================== */
    .section-title {
        font-size: var(--fs-3xl);
        font-weight: 700;
    }

    .section-subtitle {
        font-size: var(--fs-lg);
    }

    .block-head h1 {
        font-size: var(--fs-2xl);
    }

    /* ==========================
       상품 선택
    ========================== */
    .select-item-wrap {
        flex-direction: column;
    }

    /* ==========================
       약관 동의
    ========================== */
    .app-term-box-head {
        padding: 24px 0px 12px 24px;
    }

    .app-term-list {
        padding: 0px 24px 24px;
    }

    .app-term .app-term-toggle {
        padding-right: 0px;
    }
}

@media (max-width: 768px) {

    /* ==========================
       공통
    ========================== */
    .price-main-title,
    .accodion-head,
    .promotion-title-wrap h2 {
        font-size: 28px;
    }

    .price-main-desc {
        font-size: var(--fs-md);
    }

    .price-main .price-main-desc br {
        display: none;
    }

    /* ==========================
        신규가입 혜택
    ========================== */
    .promotion-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .promotion-card:first-child {
        grid-column: span 2;
    }

    .select-item-wrap .group-list {
        flex-direction: column;
    }

    .select-item-wrap .group-item:first-child:has(input:checked) {
        border-radius: 0;
    }

    .select-item-wrap .group-item:last-child:has(input:checked) {
        border-radius: 0 0 12px 12px;
    }

    .select-item-wrap .group-item {
        height: auto;
        padding: 20px 20px 32px;
        border-right: 0px;
        border-bottom: 1px dashed var(--wf-400);
    }

    .select-item-wrap .group-item:last-child {
        border-bottom: 0px;
    }

    .select-item-wrap .card-desc br {
        display: none;
    }

    .app-term-section .inner {
        padding-top: 80px;
        border-top: 20px solid var(--bg);
    }

    /* ==========================
        약관 동의
    ========================== */
    .app-agree-wrap {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .m-br {
        display: block;
    }

    .promotion-list {
        display: flex;
        flex-direction: column;
    }

    .promotion-card {
        padding: 20px;
    }

    .after-price,
    .promotion-title {
        font-size: var(--fs-lg);
    }

    .app-term-box-head {
        padding: 20px 0px 12px 20px;
    }

    .app-term-list {
        padding: 0px 16px 20px;
    }

    .app-term .app-term-toggle {
        padding: 8px 0px;
    }

    .section-btn-wrap .section-btn-noti {
        text-align: center;
        line-height: 1.5;
    }

    .section-btn-wrap .section-btn {
        width: 100%;
    }

    /* ==========================
       약관 모달
    ========================== */
    #app-term-modal .modal {
        width: 100vw;
        max-height: 100vh;
        border-radius: 0px;
    }

    #app-term-modal .modal-body {
        padding: 20px 0px;
    }

    #app-term-modal .modal-footer {
        padding: 20px 0px;
    }

    #app-term-modal .btn-term {
        width: 100% !important;
    }
}

@media (max-width: 375px) {

    /* ==========================
       공통
    ========================== */
    section .inner {
        padding: 0px 16px;
    }

    /* ==========================
       약관 동의
    ========================== */
    .app-term {
        flex-direction: column;
    }

    .app-term .app-term-toggle {
        width: 100%;
        text-align: right;
    }
}