/* ==========================================================================
   Section 04
   ========================================================================== */

.section04 {
    width: 100%;
    min-height: clamp(40rem, 41.67vw, 50rem);

    padding:
        clamp(3rem, 3.65vw, 4.375rem)
        clamp(1rem, 12.5vw, 15rem);

    background: #012554;

    display: flex;

    box-sizing: border-box;
    overflow: hidden;
}


/* ==========================================================================
   전체 박스
   ========================================================================== */

.section04 .box {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(3rem, 6.25vw, 7.5rem);
    box-sizing: border-box;
}


/* ==========================================================================
   텍스트 영역
   ========================================================================== */

.recoating-box {
    width: min(100%, 40rem);

    display: flex;
    flex-direction: column;

    align-items: flex-end;

    gap:
        clamp(1rem, 1.25vw, 1.5rem);

    flex: 1 1 0;

    box-sizing: border-box;
}


/* ==========================================================================
   메인 제목
   ========================================================================== */

.recoating-text01 {
    width: auto;

    text-align: right;

    color: #ffffff;

    font-size:
        clamp(1.75rem, 2.08vw, 2.5rem);

    font-family: "Noto Sans KR", sans-serif;

    font-weight: 700;

    line-height: 1.3;

    word-break: keep-all;
}


/* ==========================================================================
   설명
   ========================================================================== */

.recoating-text02 {
    width: auto;

    text-align: right;

    color: #D1910C;

    font-size:
        clamp(0.9rem, 1.04vw, 1.25rem);

    font-family: "Noto Sans KR", sans-serif;

    font-weight: 500;

    line-height: 1.7;

    word-break: keep-all;
}


/* ==========================================================================
   태그 행
   ========================================================================== */

.recoating-box > div:nth-child(3),
.recoating-box > div:nth-child(4) {
    width: 100%;

    display: flex !important;

    justify-content: flex-end !important;
    align-items: center !important;

    gap:
        clamp(0.5rem, 1.25vw, 1.5rem) !important;

    flex-wrap: wrap;
}


/* ==========================================================================
   태그
   ========================================================================== */

.tag-box {
    padding:
        clamp(0.25rem, 0.42vw, 0.5rem)
        clamp(0.5rem, 0.83vw, 1rem);

    border-radius: 999px;

    outline:
        clamp(1px, 0.16vw, 3px) solid #ffffff;

    outline-offset:
        clamp(-1px, -0.16vw, -3px);

    box-sizing: border-box;

    flex-shrink: 0;
}


.tag-text {
    text-align: center;

    color: #ffffff;

    font-size:
        clamp(0.75rem, 1.04vw, 1.25rem);

    font-family: "Noto Sans KR", sans-serif;

    font-weight: 500;

    line-height: 1.8;

    white-space: nowrap;

    word-break: keep-all;
}


/* ==========================================================================
   이미지
   ========================================================================== */

.recoating-img-box {
    width: min(100%, 41rem);

    flex: 0 1 41rem;

    display: flex;

    justify-content: center;
    align-items: center;

    box-sizing: border-box;
}

.recoating-img-wrapper {
    width: 100%;
    aspect-ratio: 1 / 1;           /* 1:1 정사각형 비율 유지 */
    border-radius: 999px;         /* 완벽한 원형 선언 */
    overflow: hidden !important;   /* 원 밖으로 나가는 이미지 차단 */
    isolation: isolate;            /* 원형 밖으로 튀어나오는 렌더링 버그 방지 */
    transform: translateZ(0);
}


.recoating-img-box img {
    width: min(100%, 41rem) !important;

    height: auto !important;

    aspect-ratio: 1 / 1;

    padding: clamp(0.25rem, 0.52vw, 0.625rem) !important;

    border-radius: 50% !important;

    object-fit: cover;

    box-sizing: border-box;

    display: block;
}


/* ==========================================================================
   대형 PC
   ========================================================================== */

@media (min-width: 1441px) {

    .section04 {
        height: 800px;
        min-height: 800px;

        padding-left: 240px;
        padding-right: 240px;
    }


    .section04 .box {
        gap: 120px;
    }


    .recoating-box {
        gap: 24px;
    }


    .recoating-text01 {
        font-size: 40px;
        line-height: 40px;
    }


    .recoating-text02 {
        font-size: 20px;
        line-height: 40px;
    }


    .tag-text {
        font-size: 20px;
        line-height: 40px;
    }


    .recoating-img-box img {
        width: 656px !important;
        height: 656px !important;
        padding: 10px !important;
    }
}


/* ==========================================================================
   태블릿
   ========================================================================== */

@media (max-width: 1100px) {

    .section04 {
        padding-left: clamp(2rem, 6vw, 5rem);
        padding-right: clamp(2rem, 6vw, 5rem);
    }


    .section04 .box {
        gap: clamp(2rem, 4vw, 4rem);
    }


    .recoating-box {
        min-width: 0;
    }


    .recoating-img-box {
        flex-basis: 45%;
    }


    .recoating-img-box img {
        width: 100% !important;
    }


    .recoating-box > div:nth-child(3),
    .recoating-box > div:nth-child(4) {
        gap: 0.75rem !important;
    }
}


/* ==========================================================================
   모바일
   ========================================================================== */

@media (max-width: 767px) {

    .section04 {
        min-height: auto;

        padding:
            3.5rem
            1.25rem;
    }


    .section04 .box {
        flex-direction: column;

        justify-content: center;
        align-items: stretch;

        gap: 2.5rem;
    }


    /* 텍스트 영역 */

    .recoating-box {
        width: 100%;

        align-items: center;

        gap: 1rem;
    }


    /* 제목 */

    .recoating-text01 {
        width: 100%;

        text-align: center;

        font-size:
            clamp(1.6rem, 7vw, 2.5rem);

        line-height: 1.35;
    }


    /* 설명 */

    .recoating-text02 {
        width: 100%;

        text-align: center;

        font-size:
            clamp(0.8rem, 3.5vw, 1.1rem);

        line-height: 1.7;
    }


    /* 태그 행 */

    .recoating-box > div:nth-child(3),
    .recoating-box > div:nth-child(4) {
        width: 100%;

        justify-content: center !important;

        gap: 0.75rem !important;
    }


    /* 태그 */

    .tag-box {
        padding:
            0.25rem
            0.65rem;

        outline: 2px solid #ffffff;
        outline-offset: -2px;
    }


    .tag-text {
        font-size:
            clamp(0.7rem, 3vw, 0.95rem);

        line-height: 1.8;
    }


    /* 이미지 */

    .recoating-img-box {
        width: 100%;

        flex: none;

        display: flex;

        justify-content: center;
        align-items: center;
    }


    .recoating-img-box img {
        width: min(100%, 28rem) !important;

        height: auto !important;

        aspect-ratio: 1 / 1;

        padding: 0.4rem !important;

        border-radius: 50% !important;
    }
}


/* ==========================================================================
   작은 모바일
   ========================================================================== */

@media (max-width: 480px) {

    .section04 {
        padding:
            2.5rem
            1rem;
    }


    .section04 .box {
        gap: 2rem;
    }


    .recoating-text01 {
        font-size:
            clamp(1.45rem, 7vw, 2rem);
    }


    .recoating-text02 {
        font-size: 0.85rem;
    }


    .recoating-box > div:nth-child(3),
    .recoating-box > div:nth-child(4) {
        gap: 0.5rem !important;
    }


    .tag-box {
        padding:
            0.2rem
            0.5rem;

        outline: 1px solid #ffffff;
        outline-offset: -1px;
    }


    .tag-text {
        font-size: 0.7rem;
    }


    .recoating-img-box img {
        width: 100% !important;

        padding: 0.25rem !important;
    }
}