* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    user-select: none;
}

.first-section {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: calc(100% - 7rem);
    width: 100%;
    gap: 2.3rem;
    background-color: #111111;
    padding-bottom: 0;
    aspect-ratio: 7682 / 2256;
}

.title-container {
    position: absolute;
    max-width: 1536px;
    top: 6.4rem;
    height: calc(100% - 6.4rem);
    display: flex;
    justify-content: center;
    align-items: center;
}

.title-inner-container h2{
    display: flex;
    justify-content: center;
    color: #60E0E0;
    font-family: "Paperlogy", sans-serif;
    font-size: 1rem;
    font-weight: 200;
    padding-bottom: 0.5rem;
}

.title-inner-container h1{
    color: white;
    font-family: "Capitana", sans-serif;
    font-size: 2.8rem;
    font-weight: 600;
}

.warranty-page-content-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    padding: 6rem calc((100% - 1000px) / 2);
    gap: 100px;
}

/* 버튼 컨테이너 부분 */
.warranty-service-usage-info {
    border: 1px solid rgba(228, 228, 228, 1);
    border-radius: 1rem;
    width: 100%;
    padding: 3rem 29px;
    max-width: 1000px;
}

[lang="ko"] .warranty-service-usage-info {
    padding: 3rem 4rem;
}

.warranty-service-usage-info-title {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    gap: 1rem;
    font-family: 'Pretendard', sans-serif;
    color: #1e1e1e;
}

.warranty-service-usage-info-title > h3 {
    font-size: 1.28rem;
    font-weight: 700;
}

.warranty-service-usage-info-title > p{
    font-size: 0.9rem;
    font-weight: 400;
}

.button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    width: 100%;
    padding-top: 1.5rem;
}

.warranty-service-usage-card {
    width: 100%;
    padding: 2rem 2rem 1rem 2rem;
    border: 1px solid rgba(228, 228, 228, 1);
    border-radius: 0.5rem;
}

[lang="ko"] .warranty-service-usage-card {
    padding: 2rem 1.5rem 1rem 4rem;
}

.warranty-service-usage-card:hover {
    background-color: rgba(246, 246, 246, 1);
    cursor: pointer;
}

.card-upper-layer {
    display: flex;
}

.card-upper-layer > .icon {
    height: auto;
    margin-right: 1rem;
    padding: 1.5rem 0;
    align-self: center;
    flex-shrink: 0;
}

#download-icon {
    width: 37px;
}

#register-icon {
    width: 39px;
}

#check-icon {
    width: 45px;
}

.warranty-service-usage-card {
    background-color: transparent;
}

.card-text-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.9rem;
    max-height: 130px;
    max-width: 200px;
}

.card-text-title {
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
}

.card-text-description {
    font-size: 0.9rem;
    font-weight: 400;
    text-align: left;
    white-space: pre-line;
}

.card-lower-layer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.card-lower-layer > button {
    background-color: transparent;
    border: none;
    cursor: pointer;
}

/*content 부분*/
.content-container {
    width: 100%;
    max-width: 1700px;
    font-family: 'Paperlogy', sans-serif;
    color: #1e1e1e;
    margin: 0 auto;
}

.explain-content > .title {
    font-family: 'Paperlogy', sans-serif;
    font-size: 2rem;
    font-weight: 600;
    color: #1e1e1e;
}

.explain-content > .sub-title {
    font-family: 'Paperlogy', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    color: #60E0E0
}

.explain-content > .description {
    margin-top: 58px;
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 37pt;
}

.explain-sub-content-container {
    max-width: 1700px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 90px;
    row-gap: 45px;
    padding: 5rem 4rem 0 4rem;
    grid-auto-rows: 1fr;
    align-items: stretch;
}

.explain-sub-content {
    margin-bottom: 42px;
    max-width: 910px;
}

.explain-sub-content > .icon {
    object-fit: contain;
    object-position: left center;
    margin-bottom: 1.5rem;
}

.explain-sub-content > p {
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 0.9rem;
    color: #000000;
    width: calc((1000px - 20rem) / 2);
    white-space: pre-line;
}

.explain-sub-content > .download {
    max-width: 580px;           /* 원하는 너비로 조정 */
    height: auto;           /* 가로 기준으로 비율 유지 */
    margin-top: 20px;
    cursor: pointer;
    width: 100%;                /* 부모 컨테이너 기준으로 꽉 채우기 */
    aspect-ratio: 2296 / 396;
    background-color: #60E0E0;
    border: 1px solid #60E0E0;
    border-radius: 100px;
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-weight: 700;
    font-size: 25px;
    color: #1e1e1e;
}

.explain-sub-content > .download:hover {
    opacity: 0.8;
}

.explain-sub-content .register-button{
    max-width: 580px;           /* 원하는 너비로 조정 */
    height: auto;           /* 가로 기준으로 비율 유지 */
    cursor: pointer;
    width: 100%;                /* 부모 컨테이너 기준으로 꽉 채우기 */
    aspect-ratio: 2296 / 396;
    background-color: #60E0E0;
    border: 1px solid #60E0E0;
    border-radius: 100px;
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-weight: 700;
    font-size: 25px;
    color: #1e1e1e;
}

.explain-sub-content > .register-button:hover {
    opacity: 0.8;
}

.explain-sub-content .check-button{
    max-width: 580px;           /* 원하는 너비로 조정 */
    height: auto;           /* 가로 기준으로 비율 유지 */
    margin-bottom: 142px;
    cursor: pointer;
    width: 100%;                /* 부모 컨테이너 기준으로 꽉 채우기 */
    aspect-ratio: 2296 / 396;
    background-color: #60E0E0;
    border: 1px solid #60E0E0;
    border-radius: 100px;
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-weight: 700;
    font-size: 25px;
    color: #1e1e1e;
}

.explain-sub-content > .check-button:hover {
    opacity: 0.8;
}

/* 데스크탑 (최대 1920px) */
@media (max-width: 1920px) {

    .explain-content > .description {
        font-size: 32pt;
        margin-top: 20px;
        padding-left: 40px;
    }
}

/* 노트북 & 테블릿 가로 (1024px ~ 1279px) */
@media (max-width: 1024px) {
    .first-section .title-container .title-inner-container {
        font-size: 2rem;
    }

    .title-container h1 {
        font-size: 2rem;
    }

    .warranty-page-content-container {
        padding: 6rem 49px;
    }

    .card-upper-layer {
        height: 83px;
        padding: 0 4.5vw;
    }

    #download-icon {
        width: 35px;
    }

    #register-icon {
        width: 40px;
    }

    #check-icon {
        width: 40px;
    }

    .card-text-container {
        max-width: 900px;
    }

    .warranty-service-usage-info-title > h3,
    .warranty-service-usage-info-title > p,
    .card-text-title,
    .card-text-description {
        font-size: 1.3rem;
    }

    .button-container {
        flex-direction: column;
        gap: 2.5rem;
    }

    .explain-sub-content-container {
        column-gap: 45px;
    }

    .explain-content > .title {
        font-size: 28pt;
    }

    .explain-content > .description {
        font-size: 28pt;
        padding-left: 40px;
    }

    .explain-sub-content {
        margin-right: 2rem;
    }

    .explain-sub-content > p {
        font-size: 15pt;
    }
}

/* 테블릿 (768px ~ 1023px) */
@media all and (min-width: 768px) and (max-width: 1023px) {
    [lang="ko"] .warranty-service-usage-card {
        padding: 2rem 2rem 1rem 2rem;
    }

    .explain-content > .title {
        font-size: 24pt;
    }

    .explain-content > .description {
        font-size: 22pt;
        padding-left: 20px;
    }

    .explain-sub-content {
        margin-right: 1rem;
        padding-left: 20px;
    }

    .explain-sub-content > p {
        font-size: 14pt;
        width: 100%;
    }

    .explain-sub-content > .download {
        margin-left: calc((100% - 580px) / 2);
    }

    .explain-sub-content .check-button{
        margin-left: calc((100% - 580px) / 2);
    }
}

/* 모바일 (480px ~ 767px) */
@media (max-width: 767px) {
    .first-section {
        height: 219px;
    }

    .first-section {
        aspect-ratio: auto;
        max-height: 300px;
    }


    .title-container h1 {
        font-size: 1.5rem;
    }

    .title-inner-container {
        font-size: 28pt;
        text-align: center;
        font-weight: 600;
    }

    .title-container {
        top: 5.5rem;
        height: calc(100% - 5.5rem);
        justify-content: center;
    }

    .warranty-page-content-container {
        padding-top: 4.5rem;
    }

    [lang="ko"] .warranty-service-usage-info {
        padding: 0;
    }

    .warranty-service-usage-info {
        padding: 0;
        border: none;
    }

    [lang="ko"] .warranty-service-usage-card {
        padding: 2rem 2rem 1rem 2rem;
    }

    .warranty-service-usage-info-title {
        color: var(--text-color);
    }
    .warranty-service-usage-info-title > h3 {
        font-size: 1.5rem;
    }
    .warranty-service-usage-info-title > p {
        font-size: 1.3rem;
    }

    .warranty-service-usage-card:hover {
        background-color: var(--button-bg-color-hover);
        cursor: pointer;
    }

    .card-text-container {
        max-width: 400px;
    }

    .card-text-title,
    .card-text-description {
        color: var(--text-color);
    }
    .card-text-title {
        font-size: 1.5rem;
    }
    .card-text-description {
        font-size: 1.15rem;
        line-height: 3.5vw;
    }
    .card-upper-layer > .icon {
        filter: var(--img-filter);
    }

    .explain-sub-content-container {
        display: flex;
        flex-direction: column;
        padding: 40px 0 0 0;
    }

    .content-container {
        color: var(--text-color);
    }

    .explain-content > .title {
        font-size: 20pt;
        color: var(--text-color);
    }

    .explain-content > .description {
        font-size: 18pt;
        text-align: center;
    }

    .explain-sub-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        max-width: 100%;
    }

    .explain-sub-content > .icon {
        width: 100px;
        margin-bottom: 20px;
        filter: var(--img-filter);
    }

    .explain-sub-content > p {
        font-size: 14pt;
        width: 100%;
        color: var(--text-color);
    }

    .explain-sub-content > .download {
        max-width: 80%;
        margin-top: 30px;
        margin-left: 10%;
        font-size: 3.5vw;
        color: var(--text-color);
    }

    .explain-sub-content .register-button{
        max-width: 80%;
        margin-left: 10%;
        font-size: 3.5vw;
        color: var(--text-color);
    }

    .explain-sub-content .check-button{
        max-width: 80%;
        margin-left: 10%;
        margin-bottom: 30px;
        font-size: 3.5vw;
        color: var(--text-color);
    }
}

/* 모바일 세로 (~ 479px) */
@media (max-width: 479px) {
    .title-container {
        /*contact/index.css와 맞추기 위한 작업*/
        /*height: 200px;*/
        /*justify-content: center;*/
        top: 4rem;
        height: calc(100% - 4rem);
    }

    .title-inner-container {
        font-size: 1.63rem;
        /*contact/index.css와 맞추기 위한 작업*/
        white-space: normal;
        /*padding-bottom: 60px;*/
    }

    .warranty-page-content-container {
        gap: 50px;
    }

    .warranty-service-usage-info-title > h3 {
        font-size: 4.01vw;
    }

    .warranty-service-usage-info-title > p {
        font-size: 3.11vw;
    }

    .warranty-service-usage-card {
        padding: 6vw 4vw 5vw 4vw;
    }

    .warranty-service-usage-info-title > p {
        width: 80%;
    }

    .card-upper-layer > .icon{
        padding: 1.5rem 0;
        margin-right: 4.5vw;
    }

    .card-text-container {
        gap: 2.01vw
    }

    .card-text-title {
        font-size: 4.01vw;
    }

    .card-text-description {
        font-size: 3.11vw;
    }


    .explain-content .sub-title {
        font-size: 2.5vw;
    }

    .explain-content > .title {
        font-size: 4.01vw;
        padding: 0;
    }

    .explain-content > .description {
        font-size: 14pt;
    }

    .explain-sub-content-container {
        row-gap: 0;
    }

    .explain-sub-content > p {
        font-size: 3.11vw;
    }
}

/* lang=ko 전용 폰트 */
:lang(ko) .title-inner-container h1,
:lang(ko) .warranty-service-usage-info-title > h3,
:lang(ko) .card-text-title,
:lang(ko) .card-text-description,
:lang(ko) .explain-content > .title,
:lang(ko) .explain-sub-content > p {
    font-family: "Paperlogy", sans-serif;
}