/* KCTL SHOP CAROUSEL - v1.0.0 */

.kctlshop{
    width:100%;
    box-sizing:border-box;
    background:#fffdf9;
    border:1px solid #eadfce;
    border-radius:10px;
    padding:20px 22px;
    overflow:hidden;
}

.kctlshop__header{
    display:flex;
    align-items:center;
    margin:0 0 16px;
}
.kctlshop__header h2{
    margin:0;
    color:#4a2d18;
    font-size:21px;
    line-height:1.3;
    font-weight:700;
}

.kctlshop__slider{
    position:relative;
    width:100%;
}
.kctlshop__viewport{
    width:100%;
    overflow:hidden;
    box-sizing:border-box;
}
.kctlshop__grid{
    display:grid;
    grid-auto-flow:column;
    grid-template-rows:repeat(2,minmax(0,1fr));
    width:max-content;
    padding:2px 0 5px;
    transition:transform .35s ease;
}

.kctlshop__card{
    min-width:0;
    background:#fff;
    border:1px solid #eee2d3;
    border-radius:8px;
    overflow:hidden;
    box-sizing:border-box;
    box-shadow:0 2px 8px rgba(61,38,20,.06);
}
.kctlshop__image{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    background:#f5f0e8;
    overflow:hidden;
}
.kctlshop__image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.kctlshop__placeholder{
    width:100%;
    height:100%;
    min-height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8a775f;
}
.kctlshop__info{
    padding:9px 10px 10px;
}
.kctlshop__name{
    color:#33261d;
    font-size:14px;
    line-height:1.4;
    min-height:40px;
}
.kctlshop__price{
    margin:5px 0 8px;
    color:#9a4d20;
    font-size:15px;
    font-weight:700;
}
.kctlshop__button{
    display:block;
    padding:8px 5px;
    border-radius:5px;
    background:#5a351e;
    color:#fff!important;
    text-decoration:none!important;
    text-align:center;
    font-size:12px;
    font-weight:700;
}

.kctlshop__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:10;
    width:38px;
    height:38px;
    padding:0 0 4px;
    border:1px solid #fff;
    border-radius:50%;
    background:rgba(80,48,27,.92);
    color:#fff;
    font-size:29px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 3px 12px rgba(0,0,0,.18);
}
.kctlshop__arrow:hover{background:#704628}
.kctlshop__arrow.is-hidden{
    display:none;
}
.kctlshop__arrow--prev{left:4px}
.kctlshop__arrow--next{right:4px}

.kctlshop__footer{
    display:flex;
    justify-content:center;
    margin-top:14px;
}
.kctlshop__viewall{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:120px;
    padding:9px 17px;
    border:1px solid #8c633e;
    border-radius:5px;
    background:#fff;
    color:#6b4125!important;
    text-decoration:none!important;
    font-size:14px;
    font-weight:600;
}
.kctlshop__viewall:hover{
    background:#6b4125;
    color:#fff!important;
}

/* Editor */
.kctlshop-editor-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.kctlshop-editor-item{
    padding:14px;
    background:#fff;
    border:1px solid #ddd;
    border-radius:6px;
}
.kctlshop-editor-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
}
.kctlshop-editor-image{
    width:110px;
    height:110px;
    object-fit:cover;
    display:block;
    margin:10px 0;
    border-radius:5px;
}

@media(max-width:767px){
    .kctlshop{
        padding:14px 10px;
    }
    .kctlshop__header h2{
        font-size:18px;
    }
    .kctlshop__name{
        font-size:12.5px;
    }
    .kctlshop__price{
        font-size:14px;
    }
    .kctlshop__button{
        font-size:11px;
        padding:7px 4px;
    }
    .kctlshop__arrow{
        width:34px;
        height:34px;
        font-size:25px;
    }
    .kctlshop__arrow--prev{left:2px}
    .kctlshop__arrow--next{right:2px}
    .kctlshop-editor-list{
        grid-template-columns:1fr;
    }
}
