
.blcp-wrap{
    width:100%;
    position:relative;
    background:var(--blcp-section-bg, #fff);
    --blcp-gap:18px;
    --blcp-circle-size:120px;
    --blcp-arrow-size:42px;
    padding:8px 0;
}

.blcp-title{
    margin:0 0 16px;
    font-size:var(--blcp-title-size, 28px);
    font-weight:700;
    line-height:1.2;
    text-align:var(--blcp-title-align, left);
    color:var(--blcp-title-color, #111);
}

.blcp-carousel{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
}

.blcp-viewport{
    overflow:hidden;
    width:100%;
    position:relative;
}

.blcp-track{
    display:flex;
    align-items:center;
    gap:var(--blcp-gap);
    will-change:transform;
    transition:transform .35s ease;
    touch-action:pan-y pinch-zoom;
    user-select:none;
}

.blcp-item{
    flex:0 0 calc((100% - (var(--blcp-gap) * (var(--blcp-items-desktop) - 1))) / var(--blcp-items-desktop));
    min-width:0;
    text-decoration:none !important;
    display:flex;
    align-items:center;
    justify-content:center;
    outline:none;
}

.blcp-circle{
    width:var(--blcp-circle-size);
    height:var(--blcp-circle-size);
    max-width:100%;
    border-radius:999px;
    border:1px solid var(--blcp-circle-border, #dedede);
    background:var(--blcp-circle-bg, #f7f7f7);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    box-sizing:border-box;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.blcp-item:hover .blcp-circle,
.blcp-item:focus .blcp-circle{
    transform:translateY(-2px);
    border-color:var(--blcp-hover-border, #d2a24c);
    background:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.blcp-circle img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    filter:contrast(1.02);
}

.blcp-arrow{
    width:var(--blcp-arrow-size);
    height:var(--blcp-arrow-size);
    min-width:var(--blcp-arrow-size);
    border-radius:999px;
    border:1px solid var(--blcp-arrow-border, #dcdcdc);
    background:var(--blcp-arrow-bg, #fff);
    color:var(--blcp-arrow-color, #333);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    line-height:1;
    padding:0;
    transition:all .2s ease;
    box-shadow:0 4px 14px rgba(0,0,0,.04);
}

.blcp-arrow:hover{
    border-color:var(--blcp-hover-border, #d2a24c);
    transform:translateY(-1px);
}

.blcp-arrow[disabled]{
    opacity:.45;
    cursor:not-allowed;
    transform:none;
}

.blcp-empty{
    padding:14px 16px;
    background:#fff9e8;
    border:1px solid #f0dfaa;
    color:#6b5a23;
    border-radius:10px;
}

@media (max-width: 1024px){
    .blcp-item{
        flex-basis: calc((100% - (var(--blcp-gap) * (var(--blcp-items-tablet) - 1))) / var(--blcp-items-tablet));
    }
    .blcp-wrap{
        --blcp-circle-size:105px;
    }
}

@media (max-width: 767px){
    .blcp-item{
        flex-basis: calc((100% - (var(--blcp-gap) * (var(--blcp-items-mobile) - 1))) / var(--blcp-items-mobile));
    }
    .blcp-wrap{
        --blcp-gap:12px;
        --blcp-circle-size:92px;
        --blcp-arrow-size:36px;
    }
    .blcp-circle{
        padding:16px;
    }
}
