@charset "UTF-8";

/* ==========================================================================
   KOIMA Index Footer - KRDS Style (koimaCms 동일)
   ========================================================================== */

/* Paperlogy 폰트 (koimaCms 동일) */
@font-face {
    font-family: 'Paperlogy';
    font-style: normal;
    font-weight: 400;
    src: url('/fonts/Paperlogy-Regular.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    font-style: normal;
    font-weight: 500;
    src: url('/fonts/Paperlogy-Medium.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    font-style: normal;
    font-weight: 700;
    src: url('/fonts/Paperlogy-Bold.woff2') format('woff2');
    font-display: swap;
}

html {
    font-size: 62.5%; /* 1rem = 10px */
}

body {
    font-family: 'Paperlogy', -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif !important;
    font-size: 1.6rem !important;
    line-height: 1.6 !important;
    color: #333 !important;
    letter-spacing: -0.02em !important;
}

/* 공통 넓이 1480px (패딩 20px 포함) */
.inner,
#wrap .bg,
#body .bg,
#footer .bg,
#footer .foot-quick .inner {
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* Body padding adjustment for taller footer */
#body {
    padding-bottom: 320px !important;
}

/* Reset footer styles from ui.css */
#footer.krds-footer {
    position: relative;
    background-color: #fff;
    border-top: none;
    margin-top: -280px;
    height: auto;
    min-height: 280px;
}

/* Quick Links Bar - KRDS Style */
#footer .foot-quick {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    background-color: #fff;
    padding: 0;
}

#footer .foot-quick .inner {
    display: flex;
    padding: 0 20px !important;
    max-width: 1480px;
    margin: 0 auto;
    box-sizing: border-box;
}

#footer .foot-quick .inner .link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
    gap: 12px;
    height: 46px;
    padding: 0 24px;
    background-color: #f8f9fa;
    border-right: 1px solid #e5e5e5;
    color: #333;
    font-size: 1.6rem;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

#footer .foot-quick .inner .link:first-child {
    border-left: none;
}

#footer .foot-quick .inner .link:last-child {
    border-right: none;
}

#footer .foot-quick .inner .link:hover {
    background-color: #e9ecef;
    color: #314597;
}

#footer .foot-quick .inner .link::after {
    content: '+';
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 300;
    color: #666;
    flex-shrink: 0;
}

#footer .foot-quick .inner .link:hover::after {
    color: #314597;
}

/* Main Footer Content */
#footer.krds-footer .inner {
    position: relative;
    margin: 0 auto;
    max-width: 1480px;
    width: 100%;
    padding: 35px 20px 25px;
    box-sizing: border-box;
}

#footer.krds-footer .inner:after {
    content: " ";
    display: block;
    clear: both;
}

/* KRDS Button Style */
#footer .krds-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #555;
    font-size: 1.6rem;
    text-decoration: none;
    transition: color 0.2s;
}

#footer .krds-btn:hover {
    color: #314597;
}

#footer .krds-btn .ico-arrow {
    font-size: 1.4rem;
}

/* Content Area - 전체 넓이 사용 */
#footer .f-cnt {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

#footer .f-info {
    flex: 1;
}

#footer .info-addr {
    color: #666;
    font-size: 1.6rem;
    line-height: 2;
    margin: 0 0 16px 0;
}

#footer .info-cs {
    list-style: none;
    margin: 0 0 12px 0;
    padding: 0;
}

#footer .info-cs li {
    display: inline;
    font-size: 1.6rem;
    line-height: 2.2;
    color: #666;
    margin-right: 10px;
}

#footer .info-cs .strong {
    color: #333;
    font-weight: 600;
}

#footer .info-cs .strong a {
    color: #314597;
    text-decoration: none;
}

#footer .info-cs .strong a:hover {
    text-decoration: underline;
}

#footer .info-cs .span {
    color: #888;
    font-size: 1.6rem;
}

#footer .info-cs .span a {
    color: #314597;
    text-decoration: none;
}

#footer .info-cs .span a:hover {
    text-decoration: underline;
}

#footer .info-email {
    margin-top: 8px;
}

#footer .info-email li {
    display: block;
    margin-bottom: 4px;
}

/* Link Area */
#footer .f-link {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
    flex-shrink: 0;
    margin-left: 40px;
}

#footer .link-go {
    display: flex;
    gap: 20px;
}


/* Bottom */
#footer .f-btm {
    clear: both;
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #eee;
}

#footer .f-btm-text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

#footer .f-menu {
    display: flex;
    gap: 25px;
}

#footer .f-menu a {
    color: #666;
    font-size: 1.6rem;
    text-decoration: none;
    transition: color 0.2s;
}

#footer .f-menu a:hover {
    color: #314597;
}

#footer .f-menu a.point {
    color: #314597;
    font-weight: 600;
}

#footer .f-copy {
    color: #999;
    font-size: 1.6rem;
    margin: 0;
}

/* TOP Button */
#footer .iTop {
    position: absolute;
    top: 35px;
    right: 20px;
    background: #314597;
    color: #fff;
    text-indent: -9999px;
    font-size: 0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(49, 69, 151, 0.25);
    transition: all 0.3s;
}

#footer .iTop::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -30%) rotate(-45deg);
    width: 12px;
    height: 12px;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
}

#footer .iTop:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(49, 69, 151, 0.35);
}

/* Responsive */
@media (max-width: 1200px) {
    #footer.krds-footer .bg {
        width: 100%;
        max-width: 1180px;
        box-sizing: border-box;
    }
}

@media (max-width: 900px) {
    #footer .f-cnt {
        flex-direction: column;
    }

    #footer .f-link {
        align-items: flex-start;
        margin-left: 0;
        margin-top: 20px;
    }
}

@media (max-width: 768px) {
    #footer.krds-footer {
        margin-top: -380px;
        min-height: 380px;
    }

    #footer .foot-quick .inner {
        flex-direction: column;
    }

    #footer .foot-quick .inner .link {
        font-size: 13px;
        border-right: none;
        border-bottom: 1px solid #e5e5e5;
        justify-content: center;
    }

    #footer .foot-quick .inner .link:last-child {
        border-bottom: none;
    }

    #footer.krds-footer .bg {
        padding: 25px 15px;
    }

    #footer .f-logo {
        float: none;
        text-align: center;
        margin: 0 0 20px 0;
    }

    #footer .f-cnt {
        flex-direction: column;
    }

    #footer .info-addr {
        font-size: 13px;
        text-align: center;
    }

    #footer .info-cs {
        text-align: center;
    }

    #footer .info-cs li {
        display: block;
        margin: 5px 0;
    }

    #footer .info-email li {
        margin-bottom: 8px;
    }

    #footer .f-link {
        align-items: center;
        margin-left: 0;
        margin-top: 20px;
        width: 100%;
    }

    #footer .link-go {
        flex-wrap: wrap;
        justify-content: center;
    }

    #footer .f-btm-text {
        flex-direction: column;
        text-align: center;
    }

    #footer .f-menu {
        justify-content: center;
        flex-wrap: wrap;
        gap: 15px;
    }

    #footer .iTop {
        right: 15px;
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 480px) {
    #footer .foot-quick .inner .link {
        font-size: 12px;
        height: 40px;
        padding: 0 16px;
    }

    #footer .link-go {
        flex-direction: column;
        width: 100%;
    }

    #footer .btn-link {
        width: 100%;
        text-align: center;
    }

    #footer .f-menu {
        gap: 10px;
    }

    #footer .f-menu a {
        font-size: 12px;
    }

    #footer .info-addr {
        font-size: 12px;
    }

    #footer .f-copy {
        font-size: 11px;
    }
}
