.spacing{
    height: 50px;
    width: 100%;
}

.badge{
    border-radius: 5px;
    color: white !important;
}

.badge-primary{ background-color: #007bff;}
.badge-secondary{ background-color: #8847ab;}
.badge-success{ background-color: #28a745;}
.badge-danger{ background-color: #dc3545;}
.badge-info{ background-color: #ffc107;}
.badge-light{ background-color: #17a2b8 !important;}


.footer-title{
    margin: 20px;
    font-size: 2em;

}

.footer-title .goto_url_href{
    float:right;
    font-size: 12px;
    color: gray !important;
    padding: 5px;
}

.footer_content{
    padding: 0 30px;
}

.footer_content h1{
    color: #F7B400;
    font-weight: bold;
    font-size: 2em;
}


.my-flex {
    display: flex;
    flex-wrap: wrap;
}

.my-col-6 {
    flex: 0 0 calc(50% - 10px); /* 2개의 열을 나누기 위해 50% 너비를 할당하고, 간격을 위해 10px을 뺍니다. */
    margin-right: 10px; /* 열 간격을 조절합니다. */
    position: relative;
}


.footer-label{
    position: absolute;
    top: 60px;
    right: 60px;
    text-align: center;
    font-size: 1.8em;
}

.right-footer{
    top: 80px;
}

.footer-label h2{
    font-size: 2.4em;
    font-weight: bold;
    color: #F7B400;
}

.right-footer h2{
    font-size: 1.5em;
    color: black;

}

.bottom_tab_content{
    padding: 0 20px 20px 20px;
}


.my-col-6 img {
    max-width: 105%; /* 이미지가 부모 요소의 너비를 초과하지 않도록 합니다. */
    height: auto; /* 이미지의 원래 비율을 유지합니다. */
}

.notice_ul > li > a{
    color: black;
    font-weight: normal;
}

.footer-top .footer-top-nav{
    border-top:1px solid #e5e5e5;
}

.right_ini_service{
    float: left;
    left: 5rem;
    top: 2rem;
}
.footer_bottom_nav_con{
    float: right;
}

.footer-container img{
    width: 60px;
    height: 60px;
}

.footer-parent{
    align-items: center; /* 세로로 중앙 정렬 */
    display: flex;
    height: 130px;
}

.footer-grid {
    position: relative; /* 부모 요소를 상대적으로 위치 지정 */
    margin: 20px 0 ;

}

.footer-grid-left {
    position: absolute; /* 자식 요소를 절대 위치 지정 */
    left: 0; /* 왼쪽 정렬 */
    display: flex;
    width: 53%;
    justify-content: space-evenly;
}

.footer-grid-right {
    position: absolute; /* 자식 요소를 절대 위치 지정 */
    right: 0; /* 오른쪽 정렬 */
}

.footer-grid-left img{
    margin: 0 5px;
}


.footer-grid-right{
    justify-content: flex-end; /* 오른쪽 정렬 */

    display: inline-block;
    width: 45%;
    vertical-align: middle;
}

.footer-grid-right .border{
    padding-left: 20px;
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
}

.footer-grid-right .border img{
    width: 42px;
    height: 42px;

}

.text-span{
    display: inline-block;
    vertical-align: top;
}

.auth-img-span img{
    margin-top: 10px;
    position: absolute;
}

.auth-img-span label{
    text-align: center;
    margin-top: 55px;
    margin-left: 10px;
    margin-right: 10px;
    color: #472d7a
}

.text-span h2{
    padding-top: 20px;
    font-weight: bold;
    font-size: 1.3em;
}

.text-span p{
    margin-top: 20px;
}

.auth-1-img{
    margin: 0 15px;
}

.auth-2-img{
    margin: 0 35px;
}

.border .col-5{
    width: 40%;
    margin: auto;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    color: #472d7a
}


.border .col-5:nth-child(2){
    width: 58%;
}

.col-5 label{
    margin-left: 20px;
}


.mobile-img2{
    margin: 20px 0 !important;
    width: 40px !important;
    height: 40px !important;
}


.mobile-img1{
    width: 40px !important;
    height: 40px !important;
}


.mobile-grid-right{
    display: none;
}

@media screen and (max-width: 1024px) {
    .footer-grid-left{
        margin-top: 20px;
        display: flex;
    }

    .auth-1-img{
        margin: 0 5px;
    }

    .auth-2-img{
        margin: 0 35px;
    }

    .auth-img-span label, .text-span p{
        font-size: 0.9em;
    }

    .auth-img-span label{
        margin-left: 5px;
        margin-right: 5px;
    }
}


@media screen and (max-width: 768px) {



    .mobile-grid-right{
        display: block;
    }



    .auth-img-span img{
        position: relative;
    }
    .footer-parent{
        display: block;
        height: 200px;
    }

    .footer-grid-right {
        display: none;
    }

    .footer-grid-left{
        display: flex;
        position: relative;
        width: 100%;
    }


    .right_ini_service{
        display: none;
    }

    .footer_first_section{
        background-color: white;
        padding: 20px 0;
    }

    .footer_first_section .grid-item1,
    .footer_first_section .grid-item2,
    .footer_first_section .grid-item3{
        border: none;
    }

}



@media screen and (max-width: 425px) {

    .my-col-6{
        flex:initial;
        margin-right: 0;
    }

    .my-col-6 img{
        max-width: 100%;
    }

    .footer-container img{
        width: 40px;
        height: 40px;
    }


    .footer-parent{
        display: block;
        height: 150px;
    }

    .footer-grid-right {
        display: none;
    }

    .footer-grid-left{
        display: block;
        position: relative;
        width: 100%;
    }
}

/* ══════════════════════════════════════════════
   모바일 푸터 종합 픽스 — 각 섹션별 정렬 개선
   ══════════════════════════════════════════════ */

/* ── 1. kp-footer-info (공지사항 / 고객센터 / 입금계좌) ── */
@media (max-width: 768px) {
    .kp-fi-col { padding: 16px 14px !important; }

    /* 고객센터 — 전화번호+버튼 세로 스택 */
    .kp-fi-cs-top {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    .kp-fi-tel { font-size: 20px !important; }
    .kp-fi-qna-btn { width: 100% !important; justify-content: center !important; }

    /* 입금계좌 번호 줄바꿈 허용 */
    .kp-fi-bank-num { white-space: normal !important; word-break: break-all !important; }
    .kp-fi-account-row { padding: 10px 12px !important; }

    /* 공지사항 */
    .kp-fi-notice-list li a { font-size: 13px !important; }
    .kp-fi-hours li { font-size: 12px !important; }
}

/* ── 2. footer-top-nav (이용안내 / 개인정보처리방침 등) ── */
@media (max-width: 768px) {
    .top-nav-list {
        display: flex !important;
        flex-wrap: wrap !important;
        padding: 6px 10px !important;
        margin: 0 !important;
    }
    .top-nav-list > li {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        float: none !important;
    }
    .top-nav-list > li > a {
        display: block !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
        color: #374151 !important;
        border-bottom: 1px solid #f3f4f6;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* ── 3. third_footer_container — 회사정보 / 저작권 텍스트 ── */
@media (max-width: 768px) {
    /* 컨테이너 세로 스택 */
    .third_footer_container .container.relative {
        display: flex !important;
        flex-direction: column !important;
        padding: 16px 14px !important;
        float: none !important;
    }

    /* 로고 이미지 */
    .right_ini_service {
        display: none !important;
    }

    /* 회사정보 텍스트 */
    .footer_bottom_nav_con {
        float: none !important;
        width: 100% !important;
        padding: 0 !important;
    }
    .footer_bottom_nav_con > div > p,
    .footer_bottom_nav_con > p {
        font-size: 11px !important;
        line-height: 1.9 !important;
        color: #6b7280 !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        margin: 0 0 2px !important;
    }
    .footer_bottom_second_txt {
        margin: 10px 0 6px !important;
        padding-top: 8px !important;
        border-top: 1px solid #f3f4f6;
    }
    .footer_bottom_second_txt p,
    .footer_bottom_third_txt p {
        font-size: 10px !important;
        line-height: 1.7 !important;
        color: #9ca3af !important;
        margin: 0 !important;
        word-break: break-word !important;
    }
    .footer_bottom_third_txt {
        margin: 6px 0 0 !important;
    }
}

/* ── 4. 인증 로고 컨테이너 (ISO / 이니시스 등) ── */
@media (max-width: 768px) {
    /* 고정 높이 제거 */
    .footer-parent {
        height: auto !important;
        min-height: unset !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 16px 14px !important;
        gap: 16px !important;
    }

    /* ISO 인증 로고 행 */
    .footer-grid-left {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        position: static !important;
        margin: 0 !important;
    }
    .footer-grid-left img {
        width: 38px !important;
        height: 38px !important;
        object-fit: contain !important;
        margin: 0 !important;
    }

    /* 이니시스 인증 박스 — 좌우 꽉 채움 */
    .mobile-grid-right {
        display: block !important;
        width: 100% !important;
    }
    .mobile-grid-right .border {
        display: flex !important;
        width: 100% !important;
        box-sizing: border-box !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 10px !important;
        padding: 16px 0 !important;
        gap: 0 !important;
    }
    .mobile-grid-right .col-5 {
        display: flex !important;
        flex: 1 1 50% !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        width: auto !important;
        padding: 12px 16px !important;
        gap: 10px !important;
    }
    .mobile-grid-right .col-5:first-child {
        border-right: 1px solid #e5e7eb !important;
    }
    .mobile-grid-right .col-5 img {
        width: 56px !important;
        height: 56px !important;
        object-fit: contain !important;
        margin: 0 !important;
    }
    .mobile-grid-right label {
        font-size: 11px !important;
        color: #4b5563 !important;
        font-weight: 600 !important;
        margin: 0 !important;
        line-height: 1.5 !important;
        text-align: center !important;
    }
}

/* 425px 이하에서도 고정 높이 제거 */
@media (max-width: 425px) {
    .footer-parent { height: auto !important; }
}

.footer_bottom_nav_con > p, .footer_bottom_nav_con > div > p, .footer_bottom_nav_con > div > p > a {
    color: black !important;
}

/* ══════════════════════════════════════════════
   kp-co-info — 회사 정보 (모바일 최적화 그리드)
   ══════════════════════════════════════════════ */
.kp-co-info {
    padding: 24px 18px 20px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
}

/* 로고 */
.kp-co-logo {
    margin-bottom: 16px;
}
.kp-co-logo img {
    height: 36px;
    width: auto;
    max-width: 160px;
    display: block;
    object-fit: contain;
}

/* 회사명 */
.kp-co-name {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #1f2937 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.3px;
    display: block;
}

/* 정보 2열 그리드 */
.kp-co-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
    margin: 0 0 18px;
}
.kp-co-grid span {
    font-size: 13px;
    color: #374151;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.5;
}
.kp-co-grid span em {
    font-style: normal;
    color: #9ca3af;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2px;
    display: block;
}
.kp-co-full { grid-column: 1 / -1; }
.kp-co-grid a { color: #374151 !important; text-decoration: none !important; }

/* 저작권 고지 */
.kp-co-notice {
    font-size: 11px !important;
    color: #9ca3af !important;
    line-height: 1.8 !important;
    margin: 0 0 10px !important;
    padding-top: 14px !important;
    border-top: 1px solid #e5e7eb;
    word-break: keep-all;
}
.kp-co-copyright {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    margin: 0 !important;
}

/* ══════════════════════════════════════════════
   공지사항 / 고객센터 / 입금계좌 — 가독성 개선 (배경 유지)
   ══════════════════════════════════════════════ */
.kp-footer-info {
    background: #fff;
    border-top: 3px solid #f8b500;
    padding: 0;
    font-family: 'Noto Sans KR', sans-serif;
}
.kp-footer-info .container { padding: 0; }

.kp-fi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    min-height: 200px;
}

/* 컬럼 */
.kp-fi-col {
    padding: 26px 28px;
    border-right: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    min-width: 0;   /* 그리드 1fr 제약 적용 — 없으면 콘텐츠 크기로 팽창 */
    overflow: hidden;
}
.kp-fi-col:last-child { border-right: 0; }

/* 헤더 */
.kp-fi-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0f0f0;
}
.kp-fi-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    background: #fff8e6;
    border-radius: 6px;
    color: #f8b500;
    font-size: 12px;
    flex-shrink: 0;
}
.kp-fi-title {
    flex: 1;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #1f2937 !important;
    letter-spacing: 0.2px;
    background: none !important; border: 0 !important; padding: 0 !important;
}
.kp-fi-more {
    font-size: 11px;
    color: #9ca3af !important;
    text-decoration: none !important;
    font-weight: 600;
    white-space: nowrap;
    transition: color .12s;
}
.kp-fi-more:hover { color: #f8b500 !important; }
.kp-fi-more i { font-size: 9px; }

/* 공지사항 목록 */
.kp-fi-notice-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 10px;
}
.kp-fi-notice-list li a {
    display: flex; align-items: center; gap: 8px;
    color: #374151 !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1.5;
    transition: color .12s;
    min-width: 0;
    overflow: hidden;
}
.kp-fi-notice-list li a span {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}
.kp-fi-notice-list li a:hover { color: #b45309 !important; }
.kp-fi-dot { font-size: 5px; color: #f8b500; flex-shrink: 0; }

/* 고객센터 — 전화번호(좌) + 버튼(우) */
.kp-fi-cs-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.kp-fi-tel {
    font-size: 26px !important;
    font-weight: 900;
    color: #1f2937 !important;
    letter-spacing: -1px;
    margin: 0 !important;
    line-height: 1;
    flex-shrink: 0;
}
.kp-fi-email {
    font-size: 13px;
    color: #6b7280 !important;
    margin: 0 0 12px !important;
}
.kp-fi-email i { color: #9ca3af; margin-right: 4px; }

/* 1:1 문의 버튼 — 우측 가로형 */
.kp-fi-qna-btn {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 14px;
    background: #f8b500;
    color: #fff !important;
    border-radius: 8px;
    font-size: 13px; font-weight: 800;
    text-decoration: none !important;
    transition: background .15s;
    white-space: nowrap;
}
.kp-fi-qna-btn i { color: #fff; font-size: 14px; }
.kp-fi-qna-btn:hover { background: #e6a300; }

.kp-fi-hours {
    list-style: none; margin: 0 !important; padding: 0;
    display: flex; flex-direction: column; gap: 6px;
}
.kp-fi-hours li {
    font-size: 13px;
    color: #6b7280;
    display: flex; align-items: center; gap: 7px;
}
.kp-fi-hours li i { color: #d1d5db; font-size: 12px; width: 14px; text-align: center; flex-shrink: 0; }
.kp-fi-hours li strong { color: #1f2937; font-weight: 700; }

/* 입금계좌 */
.kp-fi-bank-body {
    display: flex; flex-direction: column; gap: 8px;
}
.kp-fi-account-row {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}
.kp-fi-bank-icon { color: #f8b500; font-size: 14px; flex-shrink: 0; }
.kp-fi-account-row > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kp-fi-bank-name {
    font-size: 11px; font-weight: 700;
    color: #9ca3af;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    display: block;
}
.kp-fi-bank-num {
    font-size: 14px; font-weight: 800;
    color: #1f2937;
    letter-spacing: 0.5px;
    display: block;
    white-space: nowrap;
}
.kp-fi-account-owner {
    font-size: 13px; color: #9ca3af;
    display: flex; align-items: center; gap: 6px;
    margin-top: 2px;
}
.kp-fi-account-owner i { color: #d1d5db; }
.kp-fi-account-owner strong { color: #4b5563; font-weight: 700; }

/* 반응형 */
@media (max-width: 991px) {
    .kp-fi-grid { grid-template-columns: 1fr; }
    .kp-fi-col {
        border-right: 0;
        border-bottom: 1px solid #f0f0f0;
        padding: 20px 16px;
    }
    .kp-fi-col:last-child { border-bottom: 0; }
    .kp-fi-tel { font-size: 20px !important; }
}