@import url("/SiteCollectionDocuments/assets/css/theme.css") layer(kbank-theme);
@import url("/SiteCollectionDocuments/sustainable-development/css/layout.css") layer(kbank-theme);

@layer kbank-theme;

.sc-target-result {
    padding: 64px 16px;
}

.sc-target-result .section-header {
    margin-bottom: 24px;
}

.sc-target-result .title {
    font-size: 33px;
    font-weight: 600;
    line-height: 1.5;
    color: #111111;
    text-align: center;
    margin-bottom: 32px;
}

.sc-target-result .desc {
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: #666666;
}

.sc-target-result .table-responsive {
    overflow-x: auto;
    border-radius: 8px;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
    padding-bottom: 0;
}

.target-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 1140px;
    table-layout: fixed;
    background-color: #fff;
    margin: 0;
}

.target-table th {
    background-color: #00A94F;
    color: #fff;
    font-family: "kurious-looped";
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    padding: 12px 16px;
    border-right: 1px solid #E8E8E8;
    border-bottom: 1px solid #E8E8E8;
    text-align: center;
    vertical-align: middle;
}

.target-table th.strategy-col {
    width: 320px;
}

.target-table th.target-short,
.target-table th.target-long {
    width: 100%;
    max-width: 410px;
}

/* .target-table th.sub-header {
    font-size: 14px;
    padding: 12px 10px;
    background-color: #00A652;
} */

.target-table td {
    padding: 8px;
    border-right: 1px solid #E8E8E8;
    border-bottom: 1px solid #E8E8E8;
    color: #666666;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    vertical-align: middle;
}

.target-table tr.group-header td {
    background: linear-gradient(116.53deg, #215367 16.68%, #43948A 83.38%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    padding: 8px 16px;
    border-right: 1px solid #E8E8E8;
    border-bottom: 1px solid #E8E8E8;
}

.target-table td.bg-td-head {
    padding-inline: 16px;
    background: #00A94F08;
    font-weight: 600;
}

.target-table .text-green {
    color: #00A652;
}

.target-table .text-center {
    text-align: center;
}

.scroll-guide-icon {
    display: none;
}

@media (max-width: 1023px) {
    .hide-w1023 {
        display: none;
    }
}

@media (max-width: 1200px) {
    .sc-target-result .title {
        font-size: 24px;
        margin-bottom: 32px;
    }
    .sc-target-result {
        padding: 40px 0;
    }

    .sc-target-result .table-responsive-wrapper {
        position: relative;
        margin: 0 -16px;
        padding: 0 16px;
    }

    .sc-target-result .table-responsive {
        overflow-x: scroll;
        border-radius: unset;
        box-shadow: none;
        transform: rotateX(180deg);
        padding-bottom: 16px;
        -webkit-overflow-scrolling: touch;
        
        /* Standard Scrollbar (Firefox only) */
        @supports (-moz-appearance: none) {
            scrollbar-width: thin;
            scrollbar-color: #00A94F #D9DCDF;
        }
    }

    /* WebKit Scrollbar (Chrome/Safari/Edge) */
    .sc-target-result .table-responsive::-webkit-scrollbar {
        height: 4px !important;
        width: 8px !important;
        display: block !important;
    }

    .sc-target-result .table-responsive::-webkit-scrollbar-track {
        background: #D9DCDF !important;
        border-radius: 10px !important;
        display: block !important;
    }

    .sc-target-result .table-responsive::-webkit-scrollbar-thumb {
        background: #00A94F !important;
        border-radius: 10px !important;
        /* border: 1px solid #D9DCDF !important; */
        display: block !important;
    }

    .target-table {
        min-width: 1032px;
        transform: rotateX(180deg);
        border-collapse: separate;
        border-spacing: 0;
        border: 1px solid #E8E8E8;
        border-radius: 8px;
        box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
        overflow: hidden;
    }

    .target-table th {
        font-size: 16px;
        padding: 8px 16px;
    }

    .target-table th.strategy-col {
        width: 177px;
    }

    /* Fix border-radius for table with borders */
    .target-table thead tr:first-child th:first-child { border-top-left-radius: 8px; }
    .target-table thead tr:first-child th:last-child { border-top-right-radius: 8px; border-right: none; }
    .target-table tbody tr:last-child td:first-child { border-bottom-left-radius: 8px; }
    .target-table tbody tr:last-child td:last-child { border-bottom-right-radius: 8px; border-right: none; }
    
    .target-table th:last-child, 
    .target-table td:last-child { border-right: none; }
    
    .target-table tbody tr:last-child td { border-bottom: none; }

    .target-table th.target-short,
    .target-table th.target-long {
        max-width: 308px;
    }

    /* Fade Right Effect */
    .table-responsive-wrapper::after {
        content: "";
        position: absolute;
        top: 19px; 
        right: 16px;
        width: 48px;
        height: calc(100% - 19px);
        background: linear-gradient(270deg, #E3E3E3 0%, rgba(227, 227, 227, 0) 100%);
        pointer-events: none;
        transition: opacity 0.3s ease;
        z-index: 5;
    }

    .table-responsive-wrapper.is-scrolled::after {
        opacity: 0;
    }

    /* Scroll Guide Icon */
    .scroll-guide-icon {
        display: block;
        position: absolute;
        top: 237px;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        pointer-events: none;
        transition: opacity 0.3s ease;
        animation: anim-scroll-guide 2s infinite;
    }

    .table-responsive-wrapper.is-scrolled .scroll-guide-icon {
        opacity: 0;
    }

    @keyframes anim-scroll-guide {
        0%, 100% { transform: translate(-50%, -50%) translateX(0); }
        50% { transform: translate(-50%, -50%) translateX(-15px); }
    }
}

