/* 애니메이션 초기 상태 설정 */
.intro-header {
    display: flex;
    justify-content: center;
    padding: 10px 0;
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    background-color: rgba(255, 255, 255, 0.3);
    z-index: 100;
    /* 애니메이션 초기 상태 */
    opacity: 0;
    transform: translateY(-100px);
    a {
        max-width: 200px;
        position: relative;

        &:after {
            background: url(../../images/introLogoBg.png) no-repeat center center;
            position: absolute;
            left: 50%;
            top: 50%;
            content: "";
            width: 100%;
            max-width: 360px;
            height: 100%;
            min-height: 210px;
            transform: translate(-50%, -50%);
            z-index: -1;
        }
    }
    button {
        position: absolute;
        display: inline-flex;
        align-items: center;
        color: #fff;
        top: 50%;
        right: 30px;
        line-height: 44px;
        background-color: #5a4ef9;
        border-radius: 10px;
        padding: 0 10px;
        transform: translateY(-50%);
        font-size: 18px;
        img {
            max-width: 24px;
            margin-right: 10px;
        }
    }
}
@media (max-width: 500px) {
    .intro-header {
        a {
            max-width: 120px;
            &:after {
                max-width: 120px;
                background-size: 100% auto;
                transform: translate(-50%, -43%);
            }
        }
        button {
            right: 10px;
            line-height: 34px;
            font-size: 14px;
            img {
                max-width: 16px;
            }
        }
    }
}
.intro-container {
    background-color: #fff;
}
.firstSection {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
    padding-bottom: 60px;
    /* CSS 변수로 애니메이션 제어 */
    --bg-opacity: 0;
    --bg-translateX: 100%;
    &:after {
        background: url(../../images/section01bg.png) no-repeat right center;
        background-size: auto 100%;
        position: absolute;
        top: 50%;
        right: 0;
        content: "";
        height: 80%;
        width: 100%;
        opacity: var(--bg-opacity);
        transform: translateY(-50%) translateX(var(--bg-translateX));
        transition: opacity 0.4s ease, transform 0.4s ease;
    }
    .cobotImg {
        max-width: 600px;
        position: relative;
        padding-top: 140px;
        z-index: 10;

        /* cobotFront.png 애니메이션 초기 상태 */
        > img:first-child {
            opacity: 0;
            transform: scale(0);
        }

        .cobotbubble {
            position: absolute;
            right: 100%;
            max-width: 480px;
            /* 애니메이션 초기 상태 */
            top: 15%;
            opacity: 0;
            transform: translateY(-100px);
        }
    }
    .firstSectionFeatures {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        z-index: 11;

        /* 애니메이션 초기 상태 */
        a {
            color: #fff;
            font-size: 24px;
            border: 1px solid #fff;
            padding: 10px 50px;
            border-radius: 50px;
            opacity: 0;
            transform: translateY(30px);
        }
        > p {
            font-size: 24px;
            color: #fff;
            margin-top: 30px;
            opacity: 0;
            transform: translateY(30px);
        }
        ul {
            display: flex;
            padding-top: 80px;
            gap: 20px;
            max-width: 1920px;
            position: relative;
            z-index: 11;
            li {
                display: flex;
                flex-direction: column;
                align-items: center;
                background-color: #fff;
                border-radius: 10px;
                box-shadow: 20px 30px 30px rgba(0, 0, 0, 0.15);
                padding: 0 20px;
                opacity: 0;
                transform: translateY(50px);
                span {
                    display: inline-flex;
                    background-color: #483af6;
                    padding: 20px;
                    max-width: 120px;
                    border-radius: 20px;
                    transform: translateY(-50%);
                    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15);
                }
                h4 {
                    font-size: 24px;
                    color: #5a4ef9;
                    border-bottom: 2px solid #5a4ef9;
                    line-height: 49px;
                    width: 100%;
                    max-width: 500px;
                    text-align: center;
                    font-weight: 700;
                    transform: translateY(-50%);
                }
                > p {
                    font-size: 18px;
                    color: #333;
                    margin-top: 20px;
                    padding: 0 80px;
                    text-align: center;
                    line-height: 1.5;
                    transform: translateY(-50%);
                }
            }
        }
    }
}

@media (max-width: 1550px) {
    .firstSection {
        .cobotImg {
            max-width: 400px;
            .cobotbubble {
                max-width: 320px;
                right: 85%;
                tOP: 16%;
            }
        }
    }
}
@media (max-width: 1400px) {
    .firstSection {
        & .firstSectionFeatures {
            & ul {
                & li {
                    > p {
                        font-size: 16px;
                    }
                }
            }
        }
    }
}
@media (max-width: 1280px) {
    .firstSection {
        & .firstSectionFeatures {
            & ul {
                & li {
                    h4 {
                        font-size: 20px;
                    }
                    > p {
                        font-size: 14px;
                    }
                }
            }
        }
    }
}
@media (max-width: 980px) {
    .firstSection {
        .cobotImg {
            max-width: 200px;
            .cobotbubble {
                max-width: 320px;
                right: 85%;
            }
        }
        .firstSectionFeatures {
            & ul {
                & li {
                    span {
                        max-width: 80px;
                        padding: 20px;
                    }
                    p {
                        transform: translateY(-20%);
                        padding: 0 15px;
                    }
                }
            }
        }
    }
}
@media (max-width: 768px) {
    .firstSection {
        .cobotImg {
            max-width: 160px;
            .cobotbubble {
                max-width: 220px;
            }
        }
        .firstSectionFeatures {
            a {
                font-size: 18px;
                padding: 10px 30px;
            }
            > p {
                font-size: 14px;
                margin-top: 15px;
            }
            & ul {
                flex-direction: column;
                gap: 50px;
                & li {
                    span {
                        max-width: 80px;
                        padding: 20px;
                    }
                    p {
                        transform: translateY(-50%);
                        padding: 0 15px;
                    }
                }
            }
        }
    }
}
@media (max-width: 440px) {
    .firstSection {
        .cobotImg {
            max-width: 200px;
            .cobotbubble {
                right: 0;
                bottom: 200px;
            }
        }
    }
}
.secondSection {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 100px 0;
    min-height: 100vh;

    h2 {
        font-size: 48px;
        color: #5a4ef9;
        text-align: center;
        font-weight: 700;
        color: #333;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateY(50px);
        span {
            color: #5a4ef9;
        }
    }
    .secondSectionUpbitText {
        font-size: 18px;
        color: #333;
        margin-top: 20px;
        text-align: center;
        line-height: 1.5;
        border: 1px solid #5a4ef9;
        border-radius: 40px;
        padding: 0 80px;
        font-weight: 700;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateY(50px);
    }
    .secondSectionUpbit {
        display: flex;
        flex-direction: column;
        align-items: center;
        background-color: #5a4ef9;
        margin-top: 120px;
        width: 100%;
        border-radius: 300px;
        padding: 0 40px;
        position: relative;
        /* 애니메이션 초기 상태 */
        transform: scaleX(0);
        transform-origin: center;
        p {
            font-size: 24px;
            background: url(../../images/textbracketbg.png) no-repeat center center;
            background-size: 100% 100%;
            padding: 0 40px;
            color: #fff;
            font-weight: 500;
            line-height: 1.5;
            text-align: center;
            /* 애니메이션 초기 상태 */
            opacity: 0;
            transform: translateY(-50%) scale(0);
            span {
                text-decoration: underline;
            }
        }
        .upbitLogo {
            width: 100%;
            max-width: 358px;
            background-color: #fff;
            padding: 40px;
            box-shadow: 20px 30px 30px rgba(0, 0, 0, 0.15);
            border-radius: 20px;
            /* 애니메이션 초기 상태 */
            opacity: 0;
            transform: translateY(-60%) translateY(50px);
        }
        .cobotSecond {
            max-width: 450px;
            position: absolute;
            right: 0;
            top: 0;
            background-color: none;
            /* 애니메이션 초기 상태 */
            opacity: 0;
            transform: translateX(170px);
        }
    }
.secondSectionFeatures {
ul {
    gap: 10px;
li {
    flex-basis: 33.3333%;
p {
br {
    display: none;
}
}
}
}
}

    h3 {
        font-size: 40px;
        color: #5a4ef9;
        text-align: center;
        font-weight: 700;
        color: #333;
        margin-top: 150px;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateY(50px);
        span {
            color: #5a4ef9;
        }
    }
    .secondSectionText {
        font-size: 18px;
        color: #000;
        margin-top: 10px;
        text-align: center;
        line-height: 1.2;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateY(50px);
    }
    .secondSectionUpbitContainer {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 20px;
        width: 100%;
        max-width: 1920px;
        padding: 0 40px;
    }
    .secondSectionFeatures {
        display: flex;
        width: 100%;
        margin-top: 10px;
        ul {
            display: flex;
            width: 100%;
            max-width: 1920px;
            justify-content: space-between;
            li {
                display: flex;
                flex-direction: column;
                align-items: center;
                border-radius: 10px;
                padding: 0 20px;
                /* 애니메이션 초기 상태 */
                opacity: 0;
                transform: translateY(50px);

                img {
                    /* 애니메이션 초기 상태 */
                    opacity: 0;
                    transform: translateY(30px);
                }

                h4 {
                    font-size: 18px;
                    color: #5a4ef9;
                    position: relative;
                    margin-top: 20px;
                    line-height: 2;
                    font-weight: 700;
                    /* 애니메이션 초기 상태 */
                    opacity: 0;
                    transform: translateY(30px);
                    &:after {
                        content: "";
                        position: absolute;
                        bottom: 0;
                        left: 50%;
                        width: 20px;
                        height: 3px;
                        background-color: #5a4ef9;
                        transform: translateX(-50%);
                    }
                }
                p {
                    font-size: 16px;
                    color: #333;
                    margin-top: 10px;
                    line-height: 1.2;
                    text-align: center;
                    /* 애니메이션 초기 상태 */
                    opacity: 0;
                    transform: translateY(30px);
                }
            }
        }
    }
}

@media (max-width: 1920px) {
    .secondSection {
        .secondSectionUpbitContainer {
            overflow: hidden;
        }
        & .secondSectionUpbit {
            .cobotSecond {
                max-width: 450px;
                position: absolute;
                right: 0;
                top: 0;
                transform: translatex(70px);
                background-color: none;
            }
        }
.secondSectionFeatures {
ul {
    gap: 10px;
li {
    flex-basis: 33.3333%;
p {
br {
    display: none;
}
}
}
}
}

    }
}
@media (max-width: 1280px) {
    .secondSection {
        h2 {
            font-size: 32px;
        }
        h3 {
            font-size: 32px;
        }
        & .secondSectionUpbit {
            .upbitLogo {
                max-width: 250px;
            }
            p {
                font-size: 16px;
            }
            .cobotSecond {
                max-width: 300px;
            }
        }
        .secondSectionFeatures {
            ul {
                gap: 10px;
                li {
                    flex-basis: 33.3333%;
                    p {
                        br {
                            display: none;
                        }
                    }
                }
            }
        }
    }
}
@media (max-width: 900px) {
    .secondSection {
        h2 {
            font-size: 20px;
        }
        h3 {
            font-size: 20px;
        }
        .secondSectionUpbitText {
            font-size: 14px;
            padding: 0 20px;
            margin-top: 10px;
        }
        .secondSectionUpbit {
            margin-top: 60px;
            .upbitLogo {
                max-width: 160px;
                padding: 20px;
            }
            .cobotSecond {
                max-width: 160px;
                transform: translateX(20px);
            }
        }
        .secondSectionFeatures {
            ul {
                flex-direction: column;
                gap: 40px;
            }
        }
    }
}
@media (max-width: 650px) {
    .secondSection {
        padding: 40px 10px;
        .secondSectionUpbitContainer {
            padding: 0;
        }
        h2 {
            font-size: 18px;
        }
        h3 {
            margin-top: 40px;
            font-size: 18px;
        }
        .secondSectionText {
            font-size: 14px;
            margin-top: 0;
            br {
                display: none;
            }
        }
        .secondSectionUpbit {
            margin-top: 40px;
            min-height: 300px;
            padding: 20px 10px;
            border-radius: 20px;
            p {
                margin-top: 20px;
                font-size: 14px;
                transform: translateY(0);
                padding: 0 5px;
                br {
                    display: none;
                }
            }
            .upbitLogo {
                max-width: 120px;
                padding: 10px;
                transform: translateY(0);
            }
            .cobotSecond {
                max-width: 120px;
                bottom: 0;
                left: 50%;
                transform: translate(-50%, 20%);
                right: auto;
                top: auto;
            }
        }
        .secondSectionFeatures {
            ul {
                width: 100%;
                max-width: 100%;
                li {
                    padding: 0;
                    h4 {
                        font-size: 16px;
                    }
                    p {
                        font-size: 14px;
                    }
                }
            }
        }
    }
}

.thirdSection {
    display: flex;
    align-items: center;
    padding: 100px 0;
    overflow: hidden;
    .thirdSectionLeft {
        background-color: #5a4ef9;
        border-radius: 0 20px 20px 0;
        min-height: 600px;
        max-height: 900px;
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: center;
        flex-basis: 50%;
        position: relative;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateX(-100px);

        .thirdSectionText {
            display: flex;
            flex-direction: column;
            max-width: 720px;
            h2 {
                position: relative;
                font-size: 40px;
                color: #fff;
                font-weight: 700;
                line-height: 1.2;
                text-align: center;
                text-align: left;
                /* 애니메이션 초기 상태 */
                opacity: 0;
                transform: translateY(50px);
                &:after {
                    content: "";
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 45px;
                    height: 38px;
                    background: url(../../images/textTopImg.png) no-repeat center center;
                    transform: translate(-110%, -100%);
                }
            }
            p {
                font-size: 18px;
                color: #fff;
                line-height: 1.5;
                text-align: left;
                width: 100%;
                margin-top: 10px;
                /* 애니메이션 초기 상태 */
                opacity: 0;
                transform: translateY(50px);
            }
        }
        .textBgImg {
            position: absolute;
            top: 0;
            right: 0;
            width: 100%;
            max-width: 640px;
            object-fit: cover;
            /* 애니메이션 초기 상태 */
            opacity: 0;
            transform: translateX(100px);
        }
        .timeIconBgImg {
            position: absolute;
            left: 0;
            bottom: -100px;
            width: 100%;
            max-width: 320px;
            object-fit: cover;
            /* 애니메이션 초기 상태 */
            opacity: 0;
            transform: translateX(-100px);
        }
    }
    .thirdSectionright {
        flex-basis: 50%;
        position: relative;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateX(100px);

        .templateImg {
            width: 100%;
            max-width: 820px;
            transform: translate(-10%, 10%);
        }
        .templateshadow {
            width: 100%;
            max-width: 620px;
            transform: translate(-10%, 10%);
            margin-top: 20px;
        }
    }
}
@media (max-width: 1700px) {
    .thirdSection {
        .thirdSectionLeft {
            .thirdSectionText {
                max-width: 500px;
                h2 {
                    font-size: 32px;
                }
            }
        }
        .thirdSectionright {
            .templateImg {
                transform: translate(0, 10%);
            }
            .templateshadow {
                transform: translate(0, 10%);
            }
        }
    }
}
@media (max-width: 1280px) {
    .thirdSection {
        flex-direction: column;
        align-items: flex-start;
        .thirdSectionLeft {
            flex-basis: 100%;
            max-width: 95%;
            .thirdSectionText {
                max-width: 80%;
                h2 {
                    font-size: 32px;
                }
            }
        }
        .thirdSectionright {
            flex-basis: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
            padding: 15px;
            .templateImg {
                transform: translate(0, -50%);
            }
            .templateshadow {
                transform: translate(0, -70%);
                margin-top: 0;
            }
        }
    }
}
@media (max-width: 768px) {
    .thirdSection {
        padding: 40px 0;
        .thirdSectionLeft {
            flex-basis: 100%;
            max-width: 95%;
            min-height: 450px;
            .textBgImg {
                max-width: 200px;
            }
            .timeIconBgImg {
                max-width: 160px;
                transform: translate(0, -50%);
            }
            .thirdSectionText {
                max-width: 80%;
                h2 {
                    font-size: 20px;
                    &:after {
                        width: 24px;
                        transform: translate(-110%, -100%);
                        background-size: 100% auto;
                    }
                }
                p {
                    font-size: 14px;
                }
            }
        }
        .thirdSectionright {
            flex-basis: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
            padding: 15px;
            .templateImg {
                transform: translate(0, -50%);
            }
            .templateshadow {
                transform: translate(0, -70%);
                margin-top: 0;
            }
        }
    }
}
.introFooter {
    display: flex;
    border-top: 1px solid #ddd;
    align-items: center;
    padding: 0;
    overflow: hidden;
    .introFooterContainer {
        background: url(../../images/footbg.png) no-repeat right center;
        flex-basis: 95%;
        display: flex;
        justify-content: center;
        align-items: center;
        background-size: auto 100%;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateX(-100px);
        padding: 0;

        button {
            display: flex;
            align-items: center;
            border-radius: 10px;
            padding: 0 20px;
            /* 애니메이션 초기 상태 */
            opacity: 0;
            transform: translateY(50px);

            p {
                color: #fff;
                line-height: 80px;
            }
            img {
                max-width: 24px;
                margin-right: 10px;
            }
        }
    }
    span {
        font-size: 14px;
        /* 애니메이션 초기 상태 */
        opacity: 0;
        transform: translateY(50px);
    }
}
@media (max-width: 440px) {
    .introFooter {
        .introFooterContainer {
            justify-content: flex-start;
            button {
                p {
                    font-size: 14px;
                    line-height: 40px;
                }
            }
        }
    }
}

.signInForm {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    min-height: 100vh;
    &:after {
        background: url(../../images/section01bg.png) no-repeat right center;
        background-size: auto 100%;
        position: absolute;
        top: 50%;
        right: 0;
        content: "";
        height: 85%;
        width: 100%;
        transform: translateY(-50%);
    }
    .cobotFormImg {
        max-width: 420px;
        position: relative;
        margin-top: -150px;

        z-index: 10;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        img {
            width: 50%;
        }
    }
    .signInFormContainer {
        background-color: #fff;
        border-radius: 20px;
        box-shadow: 20px 30px 30px rgba(0, 0, 0, 0.15);
        border: 1px solid #f2f2f2;
        position: relative;
        z-index: 10;
        width: 100%;
        max-width: 1000px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 30px 10px;
        min-height: 600px;
        margin-top: 280px;
        margin-bottom: 60px;
    }
    .signInFormTitle {
        h2 {
            font-size: 24px;
            color: #5a4ef9;
            font-weight: 700;
            margin: 20px 0;
            text-align: center;
        }
        p {
            font-size: 14px;
            color: #333;
            line-height: 1.5;
            text-align: center;
            font-weight: 700;
            b {
                color: #5a4ef9;
                text-decoration: underline;
            }
        }
    }
    .signInFormContent {
        width: 100%;
        max-width: 486px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin-top: 40px;
        button {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            width: 100%;
            border: 1px solid #ddd;
            border-radius: 91px;
            padding: 10px 20px;
            font-size: 24px;
            line-height: 91px;
            font-weight: 700;
            img {
                max-width: 50px;
                margin-right: 10px;
                border-radius: 50px;
            }
            &:hover {
                background-color: #5a4ef9;
                color: #fff;
                border-color: #5a4ef9;
                transition: all 0.3s ease;
            }
        }
    }
}
.signInTermstitle {
    display: flex;
    align-items: center;
    justify-content: center;
    span {
        display: inline-flex;
        width: 40px;
        height: 1px;
        background-color: #ddd;
    }
    button {
        font-size: 20px;
        line-height: 49px;
        font-weight: 700;
        border: 1px solid #ddd;
        border-radius: 500px;
        padding: 0 20px;
        background-color: #fff;
        color: #5a4ef9;
        &:hover {
            background-color: #5a4ef9;
        }
        &.active {
            background-color: #5a4ef9;
            color: #fff;
            border-color: #5a4ef9;
        }
    }
}

/* 약관 동의 폼 스타일 */
.signInFormTerms {
    width: 100%;
    max-width: 800px;
    align-self: center;
    padding: 20px;
}

.termsAgreementHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border: 2px solid #5a4ef9;
    border-radius: 10px;
    background-color: #f8f9ff;
    margin-bottom: 20px;
}

.termsCheckboxGroup {
    display: flex;
    align-items: center;
    gap: 10px;
}

.termsCheckbox {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 4px;
    appearance: none;
    background-color: #fff;
    cursor: pointer;
    position: relative;

    &:checked {
        background-color: #5a4ef9;
        border-color: #5a4ef9;

        &::after {
            content: "✓";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: #fff;
            font-size: 14px;
            font-weight: bold;
        }
    }
}

.termsLabel {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    cursor: pointer;
}

.termsDetailBtn {
    background-color: #5a4ef9;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;

    &:hover {
        background-color: #483af6;
    }

    &:after {
        content: "▼";
        margin-left: 8px;
        font-size: 12px;
        transition: transform 0.3s ease;
    }

    &.active {
        background-color: #483af6;

        &:after {
            transform: rotate(180deg);
        }
    }
}

.termsDescription {
    margin-bottom: 30px;

    p {
        font-size: 14px;
        color: #666;
        line-height: 1.5;
        margin-bottom: 5px;

        &:last-child {
            margin-bottom: 0;
        }
    }
}

.termsIndividualList {
    margin-bottom: 30px;
    overflow-y: auto;
}

.termsIndividualItem {
    border-bottom: 1px solid #eee;

    &:last-child {
        border-bottom: none;
    }
}

.termsItemHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;

    .termsLabel {
        font-size: 16px;
        font-weight: 500;
    }

    .termsDetailBtn {
        padding: 6px 15px;
        font-size: 13px;
    }
}

/* 토글 콘텐츠 스타일 */
.termsToggleContent {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 10px;
    margin-bottom: 15px;

    &.active {
        max-height: 500px;
        transition: max-height 0.3s ease-in, padding 0.3s ease-in;
    }
}

.termsContentInner {
    padding: 25px;
    max-height: 90px;
    overflow-y: auto;

    h3 {
        font-size: 20px;
        color: #333;
        font-weight: 700;
        margin-bottom: 20px;
        text-align: center;
    }
}

/* 전체 동의 영역의 토글 콘텐츠 */
#termsContent-all-main {
    margin-bottom: 20px;
}

/* 개별 약관의 토글 콘텐츠 */
.termsIndividualItem .termsToggleContent {
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 0 0 10px 10px;
}

.termsContent {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 30px;
    max-height: 400px;
    overflow-y: auto;

    h3 {
        font-size: 20px;
        color: #333;
        font-weight: 700;
        margin-bottom: 20px;
        text-align: center;
    }
}

.termsArticle {
    margin-bottom: 20px;

    &:last-child {
        margin-bottom: 0;
    }

    h4 {
        font-size: 16px;
        color: #333;
        font-weight: 700;
        margin-bottom: 10px;
    }

    p {
        font-size: 14px;
        color: #555;
        line-height: 1.6;
        margin-bottom: 8px;

        &:last-child {
            margin-bottom: 0;
        }
    }
}

.referralEmail {
    display: flex;
    flex-direction: column;
    gap: 10px;

    label {
        font-size: 16px;
        color: #333;
        font-weight: 600;
    }

    .referralEmailInput {
        padding: 15px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        color: #333;
        background-color: #fff;

        &:focus {
            outline: none;
            border-color: #5a4ef9;
            box-shadow: 0 0 0 2px rgba(90, 78, 249, 0.1);
        }

        &::placeholder {
            color: #aaa;
        }
    }
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .signInFormTerms {
        padding: 15px;
    }

    .termsAgreementHeader {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .termsItemHeader {
        gap: 10px;
        align-items: flex-start;
    }

    .termsLabel {
        font-size: 14px;
    }

    .termsContentInner {
        padding: 15px;
    }

    .termsToggleContent {
        &.active {
            max-height: 600px;
        }
    }
}

@media (max-width: 490px) {
    .signInFormContainer {
        margin-top: 200px !important;
    }
    .termsCheckboxGroup {
        flex-direction: column;
        gap: 8px;
    }

    .termsLabel {
        font-size: 13px !important;
        text-align: center;
    }

    .termsDetailBtn {
        padding: 5px 12px;
        font-size: 12px;

        &:after {
            margin-left: 5px;
            font-size: 10px;
        }
    }

    .termsToggleContent {
        &.active {
            max-height: 800px;
        }
    }
    .termsItemHeader {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .termsContentInner {
        padding: 10px;

        h3 {
            font-size: 16px;
        }

        h4 {
            font-size: 14px;
        }

        p {
            font-size: 12px;
        }
    }

    /* API Key 폼 모바일 스타일 */
    .apiKeyForm {
        padding: 20px 10px !important;
        gap: 20px;
    }

    .apiKeyLabel {
        font-size: 16px !important;
    }

    .apiKeyIconWrapper,
    .passwordToggleBtn {
        min-width: 40px !important;
        height: 40px !important;
    }

    .apiKeyIcon {
        font-size: 18px !important;
    }

    .apiKeyInput {
        padding: 15px 10px !important;
        font-size: 14px !important;
    }

    .passwordToggleBtn .eyeIcon img {
        width: 20px;
        height: 20px;
    }

    /* 모바일에서 버튼 그룹 스타일 */
    .bottonBtnGroup {
        /* flex-direction: column; */
        gap: 15px;

        .apiKeyFormBtn {
            width: 100%;
            max-width: 300px;
            justify-content: center;
            padding: 10px !important;

            span {
                font-size: 16px !important;
            }

            img {
                max-width: 18px;
            }
        }
    }
}
/* API Key 폼 스타일 */
.apiKeyForm {
    width: 100%;
    max-width: 800px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.apiKeyInputGroup {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.apiKeyLabel {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin-bottom: 5px;
}

.apiKeyInputWrapper {
    position: relative;
    display: flex;
    align-items: center;
    border: 2px solid #ddd;
    border-radius: 10px;
    background-color: #fff;
    padding: 0;
    transition: border-color 0.3s ease;

    &:focus-within {
        border-color: #5a4ef9;
        box-shadow: 0 0 0 3px rgba(90, 78, 249, 0.1);
    }
}

.apiKeyIconWrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    height: 60px;
    background-color: #5a4ef9;
    border-radius: 8px 0 0 8px;
    margin: 2px;
}

.apiKeyIcon {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}

.apiKeyInput {
    flex: 1;
    border: none;
    outline: none;
    padding: 20px 15px;
    font-size: 16px;
    color: #333;
    background-color: transparent;
    letter-spacing: 1px;

    &::placeholder {
        color: #aaa;
        font-family: inherit;
        letter-spacing: normal;
    }

    &:focus {
        outline: none;
    }
}

.passwordToggleBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    height: 60px;
    background-color: #5a4ef9;
    border: none;
    border-radius: 0 8px 8px 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin: 2px;

    &:hover {
        background-color: #483af6;
    }

    .eyeIcon {
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;

        img {
            width: 24px;
            height: 24px;
            filter: brightness(0) invert(1);
        }
    }
}

/* 패스워드가 보일 때 아이콘 스타일 변경 */
.passwordToggleBtn.visible {
    background-color: #5a4ef9;

    &:hover {
        background-color: #5a4ef9;
    }
}

/* 입력 필드 포커스 및 값 입력 상태 */
.apiKeyInputWrapper.focused {
    border-color: #5a4ef9;
    box-shadow: 0 0 0 3px rgba(90, 78, 249, 0.1);
}

.apiKeyInputWrapper.has-value {
    border-color: #4caf50;

    .apiKeyIconWrapper {
        background-color: #4caf50;
    }
}

.termsSubmitBtn {
    position: absolute;
    bottom: 0;
    left: 50%;
    background-color: #5a4ef9;
    color: #fff;
    border: none;
    border-radius: 5px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    line-height: 43px;
    font-weight: 700;
    transform: translate(-50%, 50%);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;

    &:hover {
        background-color: #483af6;
        transform: translate(-50%, 50%) scale(1.05);
        transition: all 0.3s ease;
    }
    span {
        font-size: 20px;
    }
    img {
        max-width: 20px;
    }
}

.bottonBtnGroup {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 100%;
    max-width: 800px;
    padding: 0 20px;

    .apiKeyFormBtn {
        background-color: #5a4ef9;
        color: #fff;
        border: none;
        border-radius: 5px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 20px;
        line-height: 43px;
        font-weight: 700;
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;

        &:hover {
            background-color: #483af6;
            transform: scale(1.05);
        }

        span {
            font-size: 20px;
        }

        img {
            max-width: 20px;
        }
    }
}

/* 바운싱 애니메이션 키프레임 */
@keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

.cobotbubble-bouncing {
    animation: bounce 2s infinite;
}
