@charset "utf-8";

/*
 * 주요 거래처 최근게시물
 * PC(1680px 기준): 6개 노출
 * 게시판 관리자 > 갤러리 이미지 폭/높이를 로고 최대 크기로 사용
 */
.partner-latest{
    --partner-gap:20px;
    --partner-per-view:6;
    --partner-logo-width:320px;
    --partner-logo-height:100px;
    width:100%;
    position:relative;
}

.partner-viewport{
    width:100%;
    overflow:hidden;
}

.partner-track{
    display:flex;
    gap:var(--partner-gap);
    transition:transform .45s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}

.partner-slide{
    flex:0 0 calc((100% - (var(--partner-gap) * (var(--partner-per-view) - 1))) / var(--partner-per-view));
    min-width:0;
}

.partner-logo-box{
    width:100%;
    min-height:calc(var(--partner-logo-height) + 36px);
    border:1px solid #dedede;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
}

.partner-logo-box a,
.partner-logo-static{
    width:100%;
    min-height:calc(var(--partner-logo-height) + 36px);
    padding:18px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
}

.partner-logo-box img{
    display:block;
    width:auto;
    max-width:100%;
    height:auto;
    max-height:var(--partner-logo-height);
    object-fit:contain;
}

/* 관리자 폭값은 최대치로 사용하되, 6열 카드 폭보다 크면 카드 안에서 자동 축소 */
.partner-logo-box a img,
.partner-logo-static img{
    width:auto;
    max-width:min(100%, var(--partner-logo-width));
}

.partner-logo-box a{
    transition:background-color .25s ease;
}

.partner-logo-box a:hover{
    background:#fafafa;
}

.partner-dots{
    min-height:18px;
    margin-top:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}

.partner-dot{
    width:12px;
    height:12px;
    padding:0;
    border:1px solid #dcdcdc;
    border-radius:50%;
    background:#f4f4f4;
    cursor:pointer;
    transition:background-color .2s ease, border-color .2s ease;
}

.partner-dot.is-active{
    border-color:#aaa;
    background:#aaa;
}

.partner-dot:focus-visible{
    outline:2px solid #159b8b;
    outline-offset:3px;
}

/* 중형 PC */
@media screen and (max-width:1400px){
    .partner-latest{
        --partner-gap:18px;
        --partner-per-view:5;
    }
}

/* 작은 PC / 태블릿 가로 */
@media screen and (max-width:1200px){
    .partner-latest{
        --partner-gap:18px;
        --partner-per-view:4;
    }
}

/* 태블릿 */
@media screen and (max-width:900px){
    .partner-latest{
        --partner-gap:16px;
        --partner-per-view:3;
    }
}

/* 모바일 */
@media screen and (max-width:640px){
    .partner-latest{
        --partner-gap:14px;
        --partner-per-view:2;
    }

    .partner-logo-box,
    .partner-logo-box a,
    .partner-logo-static{
        min-height:calc(var(--partner-logo-height) + 28px);
    }

    .partner-logo-box a,
    .partner-logo-static{
        padding:14px 16px;
    }
}

/* 작은 모바일 */
@media screen and (max-width:420px){
    .partner-latest{
        --partner-gap:0px;
        --partner-per-view:1;
    }
}

@media (prefers-reduced-motion:reduce){
    .partner-track{
        transition:none;
    }
}
