/* =============================================
   FOOTER
   ============================================= */

/* line 1834, scss/cmm/ncmm.scss */
footer {
    width: 100%;
    background: #222;
    clear: both;
}

/* line 1839, scss/cmm/ncmm.scss */
.footer {
    width: 1200px;
    margin: 0 auto;
    padding: 50px 0;
    clear: both;
    overflow: hidden;
    box-sizing: border-box;
}

/* line 1847, scss/cmm/ncmm.scss */
.footer h5 {
    float: left;
}

/* line 1850, scss/cmm/ncmm.scss */
.footerCenter {
    float: left;
    margin-left: 67px;
}

/* line 1854, scss/cmm/ncmm.scss */
.footerCenter .lnb ul li {
    float: left;
    padding-right: 10px;
    padding-left: 10px;
    font-family: 'Noto Sans';
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -0.7px;
    color: #fff;
    border-right: 2px solid #919191;
}

/* line 1866, scss/cmm/ncmm.scss */
.footerCenter .lnb ul li:last-child {
    border-right: none;
}

/* line 1869, scss/cmm/ncmm.scss */
.footerCenter .lnb ul li:nth-child(1) {
    padding-left: 0;
}

/* line 1872, scss/cmm/ncmm.scss */
.address {
    margin-top: 30px;
    font-family: 'Noto Sans';
    font-size: 12px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -0.6px;
    color: #fff;
    opacity: 0.5;
}

/* line 1882, scss/cmm/ncmm.scss */
.footerSite {
    float: right;
    margin: 25px 0;
    padding-right: 2px;
}

/* body color 침투 방지 */
#footer.web,
#footer.web * {
    color: inherit;
}

/* ── 기본 레이아웃 ── */
#footer.web {
    background: #33373c;
    width: 100%;
}

#footer.web .inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
}

#footer.web .inner:after {
    content: "";
    display: block;
    clear: both;
}

/* ── 1. 로고 단독 행 ── */
#footer.web .footer-logo-row {
    padding: 18px 0 12px;
    border-bottom: none;
}

#footer.web .footer-logo-row .logo {
    margin: 0;
    padding: 0;
    float: none;
    display: block;
}

#footer.web .footer-logo-row .logo img {
    display: block;
    max-height: 80px;
    width: auto;
}

/* ── 2. 중간 행: 연락처 + 유틸리티 ── */
#footer.web .footer-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    padding: 0 0 24px;
    border-bottom: none;
}

/* 연락처 */
#footer.web .footer-top .company {
    flex: 1;
    min-width: 0;
    float: none;
    padding: 0;
    text-align: left;
}

#footer.web .footer-top .company .siteInfo {
    color: #9b9ea5;
    font-family: "맑은 고딕", sans-serif;
    font-size: 14px;
    margin-bottom: 14px;
    line-height: 1.6;
    text-align: left;
}

#footer.web .footer-top .company .siteInfo address {
    display: block;
    font-style: normal;
    text-align: left;
}

/* 고객센터 라벨 */
#footer.web .customer-label {
    display: block;
    font-size: 15px;
    color: #d7d7d7;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

/* 고객센터 + tel + email 가로 한 줄 */
#footer.web .customer-inline {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 12px;
}

#footer.web .customer-inline-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 16px;
}

#footer.web .customer-inline .tel {
    font-size: 28px;
    font-weight: bold;
    color: #ffffff;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: -0.5px;
}

#footer.web .customer-inline .email {
    font-size: 16px;
    color: #9b9ea5;
    font-family: "Noto Sans DemLight", sans-serif;
}

/* 유틸리티 링크 */
#footer.web .footer-util {
    flex-shrink: 0;
    min-width: 180px;
}

#footer.web .footer-util #footerUl {
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer.web .footer-util #footerUl li {
    float: none;
    margin-bottom: 10px;
}

#footer.web .footer-util #footerUl li:last-child {
    margin-bottom: 0;
}

#footer.web .footer-util #footerUl li::after {
    display: none !important;
}

#footer.web .footer-util .util-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #c0c3ca;
    font-size: 16px;
    gap: 12px;
    padding: 2px 0;
}

#footer.web .footer-util .util-link::after {
    content: "›";
    font-size: 20px;
    color: #7d7f81;
    flex-shrink: 0;
}

#footer.web .footer-util .util-link:hover {
    color: #fff;
}

/* ── 3. 하단 행: 정책 + 저작권 ── */
#footer.web .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 0 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* 정책 링크 */
#footer.web .footer-policy-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer.web .footer-policy-links li {
    float: none;
    display: flex;
    align-items: center;
    font-size: 14px;
}

#footer.web .footer-policy-links li::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 12px;
    background: #5a5c60;
    margin: 0 12px;
    vertical-align: middle;
}

#footer.web .footer-policy-links li:last-child::after {
    display: none;
}

#footer.web .footer-policy-links a {
    color: #c0c3ca;
    font-size: 14px;
    font-family: "Noto Sans", sans-serif;
}

#footer.web .footer-policy-links a.highlight {
    color: #e0c055;
    font-weight: bold;
}

#footer.web .footer-policy-links a:hover {
    color: #fff;
}

/* 저작권 */
#footer.web .copyright {
    color: #9b9ea5;
    font-family: "Noto Sans", sans-serif;
    font-size: 12px;
    margin: 0;
    white-space: nowrap;
}

/* 기존 float 구조 비활성화 */
#footer.web .logo { float: none; }
#footer.web .customer { display: none !important; }


/* =============================================
   반응형 - 태블릿 (768px ~ 1199px)
   ============================================= */
@media screen and (max-width: 1199px) {
    #footer.web .inner {
        width: 100%;
        padding: 0 30px;
    }

    #footer.web .footer-top {
        flex-wrap: wrap;
        gap: 24px;
    }

    #footer.web .footer-util {
        width: 100%;
        min-width: 100%;
    }

    /* [중복 제거] flex-direction: row 선언 1개로 통합 */
    #footer.web .footer-util #footerUl {
        display: flex;
        flex-direction: row;
        gap: 28px;
    }

    #footer.web .footer-util #footerUl li {
        margin-bottom: 0;
    }

    #footer.web .copyright {
        white-space: normal;
        text-align: right;
        font-size: 12px;
    }
}

/* =============================================
   반응형 - 모바일 (~767px)
   ============================================= */
@media screen and (max-width: 767px) {
    #footer.web .inner {
        padding: 0 16px;
    }

    #footer.web .footer-logo-row {
        padding: 18px 0 12px;
    }

    #footer.web .footer-logo-row .logo img {
        max-height: 60px;
    }

    #footer.web .footer-top {
        flex-direction: column;
        gap: 20px;
        padding: 0 0 18px;
    }

    #footer.web .footer-top .company {
        width: 100%;
    }

    #footer.web .footer-top .company .siteInfo {
        font-size: 12px;
    }

    #footer.web .customer-label {
        font-size: 14px;
    }

    #footer.web .customer-inline {
        flex-direction: row;
        align-items: baseline;
        flex-wrap: wrap;
    }

    #footer.web .customer-inline .tel {
        font-size: 24px;
    }

    #footer.web .customer-inline .email {
        font-size: 14px;
    }

    #footer.web .customer-inline-row {
        flex-direction: row;
        gap: 10px;
    }

    #footer.web .footer-util {
        width: 100%;
    }

    /* [중복 제거] flex-direction: column 선언 1개로 통합 */
    #footer.web .footer-util #footerUl {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    #footer.web .footer-util .util-link {
        font-size: 15px;
    }

    #footer.web .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 14px 0 24px;
    }

    #footer.web .footer-policy-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    #footer.web .footer-policy-links li::after {
        display: none;
    }

    #footer.web .footer-policy-links a {
        font-size: 14px;
    }

    #footer.web .copyright {
        text-align: left;
        white-space: normal;
        line-height: 1.6;
        font-size: 12px;
    }
}

/* =============================================
   반응형 - 소형 모바일 (~374px)
   ============================================= */
@media screen and (max-width: 374px) {
    #footer.web .inner {
        padding: 0 12px;
    }

    #footer.web .footer-logo-row .logo img {
        max-height: 48px;
    }

    #footer.web .customer-inline .tel {
        font-size: 20px;
    }
}