/*
 * KK WooCommerce Filter Combinations 6.0.5
 * Runs inside the normal WordPress / BeTheme Page template.
 */
body.kk-filter-combo-page .kk-fc-dynamic{
    width:100%;
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body.kk-filter-combo-page .kk-fc-shell{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:24px 0 10px;
    box-sizing:border-box;
}

.kk-fc-header{
    margin-bottom:22px;
}

.kk-fc-header .page-title{
    margin:0 0 12px;
}

.kk-fc-intro{
    max-width:900px;
    line-height:1.95;
}

.kk-fc-loop-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 0 18px;
}

.kk-fc-loop-bar .woocommerce-result-count{
    float:none;
    margin:0;
}

/* Filter panel */
.kk-fc-filter-panel{
    margin:18px 0 22px;
    padding:12px 14px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:10px;
    background:rgba(0,0,0,.018);
}

.kk-fc-filter-help{
    margin:0 0 9px;
    font-size:11px;
    line-height:1.7;
    color:#777;
}

.kk-fc-active-filters{
    margin:0;
    padding:0;
    border:0;
    display:flex;
    flex-direction:column;
    gap:9px;
}

.kk-fc-filter-group{
    display:flex;
    align-items:flex-start;
    gap:8px;
    min-width:0;
}

.kk-fc-filter-label{
    flex:0 0 auto;
    padding-top:5px;
    font-size:11px;
    font-weight:700;
}

.kk-fc-filter-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-width:0;
}

.kk-fc-filter-toggle{
    display:inline-flex;
    align-items:center;
    gap:5px;
    max-width:100%;
    padding:5px 9px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:16px;
    font-size:11px;
    line-height:1.3;
    text-decoration:none!important;
    transition:opacity .15s ease, background .15s ease, border-color .15s ease;
}

.kk-fc-filter-toggle.is-on{
    background:#fff;
    color:inherit;
    opacity:1;
    font-weight:600;
}

.kk-fc-filter-toggle.is-off{
    background:transparent;
    color:#888;
    opacity:.58;
    text-decoration:line-through!important;
}

.kk-fc-toggle-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    flex:0 0 7px;
    background:currentColor;
}

.kk-fc-filter-toggle.is-off .kk-fc-toggle-dot{
    background:transparent;
    border:1px solid currentColor;
}

/*
 * Manual product grid. There is deliberately NO BeTheme products_wrapper,
 * isotope_wrapper, lm_wrapper or isotope-item layout engine on this page.
 */
body.kk-filter-combo-page ul.kk-fc-products-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px 18px;
    width:100%;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
}

body.kk-filter-combo-page ul.kk-fc-products-grid::before,
body.kk-filter-combo-page ul.kk-fc-products-grid::after{
    display:none!important;
    content:none!important;
}

body.kk-filter-combo-page ul.kk-fc-products-grid > li.product{
    float:none!important;
    clear:none!important;
    position:static!important;
    transform:none!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box;
}

body.kk-filter-combo-page ul.kk-fc-products-grid > li.product img{
    max-width:100%;
    height:auto;
}

body.kk-filter-combo-page nav.woocommerce-pagination{
    margin:24px 0 0!important;
}

@media (max-width:991px){
    body.kk-filter-combo-page ul.kk-fc-products-grid{
        gap:22px 14px;
    }
}

@media (max-width:767px){
    body.kk-filter-combo-page .kk-fc-shell{
        padding-top:16px;
    }

    .kk-fc-filter-panel{
        padding:10px;
        margin:14px 0 18px;
        overflow:hidden;
    }

    .kk-fc-filter-group{
        display:block;
    }

    .kk-fc-filter-label{
        display:block;
        padding:0;
        margin-bottom:5px;
    }

    .kk-fc-filter-buttons{
        max-width:100%;
        gap:5px;
    }

    .kk-fc-filter-toggle{
        padding:5px 8px;
        font-size:10.5px;
        white-space:normal;
        overflow-wrap:anywhere;
    }

    body.kk-filter-combo-page ul.kk-fc-products-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px 10px;
    }
}


/* 6.0.7 — /filter-combo/ archive */
body.kk-filter-combo-index-page .kk-fc-index{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:22px 0 10px;
    box-sizing:border-box;
}

body.kk-filter-combo-index-page .kk-fc-index-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px 18px;
    width:100%;
}

body.kk-filter-combo-index-page .kk-fc-index-card{
    min-width:0;
    margin:0;
}

body.kk-filter-combo-index-page .kk-fc-index-card-link{
    display:block;
    color:inherit;
    text-decoration:none!important;
}

body.kk-filter-combo-index-page .kk-fc-index-image{
    display:block;
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:rgba(0,0,0,.035);
}

body.kk-filter-combo-index-page .kk-fc-index-image img{
    display:block;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    object-fit:cover;
}

body.kk-filter-combo-index-page .kk-fc-index-title{
    display:block;
    padding:10px 4px 0;
    text-align:center;
    font-size:14px;
    line-height:1.6;
    font-weight:600;
}

body.kk-filter-combo-index-page .kk-fc-index-pagination{
    margin:28px 0 0;
}

body.kk-filter-combo-index-page .kk-fc-index-pagination ul.page-numbers{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    margin:0;
    padding:0;
    list-style:none;
}

body.kk-filter-combo-index-page .kk-fc-index-pagination .page-numbers{
    box-sizing:border-box;
}

@media(max-width:767px){
    body.kk-filter-combo-index-page .kk-fc-index{
        padding-top:16px;
    }

    body.kk-filter-combo-index-page .kk-fc-index-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px 10px;
    }

    body.kk-filter-combo-index-page .kk-fc-index-title{
        padding-top:8px;
        font-size:12px;
    }
}


/* 6.0.13 — mobile filter chips stay in one horizontal row */
@media(max-width:767px){
    .kk-fc-filter-panel{
        overflow:hidden;
    }

    .kk-fc-filter-group{
        display:block;
        min-width:0;
    }

    .kk-fc-filter-label{
        display:block;
        margin-bottom:6px;
    }

    .kk-fc-filter-buttons{
        display:flex!important;
        flex-wrap:nowrap!important;
        gap:6px;
        width:100%;
        max-width:100%;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        overscroll-behavior-inline:contain;
        padding:0 0 4px;
        scroll-snap-type:x proximity;
    }

    .kk-fc-filter-buttons::-webkit-scrollbar{
        display:none;
    }

    .kk-fc-filter-toggle{
        flex:0 0 auto!important;
        width:auto!important;
        max-width:none!important;
        white-space:nowrap!important;
        overflow-wrap:normal!important;
        scroll-snap-align:start;
    }
}


/* 6.1.0 — rare mixed state if a grouped URL is manually partially disabled */
.kk-fc-filter-toggle.is-partial{
    opacity:.78;
    border-style:dashed;
}


/* 6.1.4 grouped category details */
.kk-fc-category-details{
    margin-top:12px;
}
.kk-fc-category-details summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    padding:10px 18px;
    border-radius:999px;
    background:#f7f7f7;
    border:1px solid #e5e5e5;
    font-size:13px;
    font-weight:600;
    transition:.2s ease;
    list-style:none;
}
.kk-fc-category-details summary::-webkit-details-marker{
    display:none;
}
.kk-fc-category-details summary:before{
    content:'＋';
    margin-left:6px;
    font-size:15px;
}
.kk-fc-category-details[open] summary:before{
    content:'−';
}
.kk-fc-category-details-inner{
    padding:14px;
    margin-top:10px;
    background:#fafafa;
    border-radius:14px;
    border:1px solid #eee;
}
.kk-fc-category-details-inner{
    margin-top:12px;
}
.kk-fc-category-detail-row{
    margin-bottom:10px;
}
.kk-fc-category-detail-title{
    display:block;
    font-weight:600;
    margin-bottom:6px;
}
.kk-fc-filter-buttons{
    overflow-x:auto;
    white-space:nowrap;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch;
}
.kk-fc-filter-buttons .kk-fc-filter-toggle{
    display:inline-flex;
}


/* 6.1.6 category details inline chip */
.kk-fc-category-details-inline{
    display:inline-block;
    margin:0;
    vertical-align:middle;
}
.kk-fc-category-details-inline summary{
    background:#fff;
    border:1px dashed #999;
    color:#555;
    min-height:36px;
}
.kk-fc-category-details-panel{
    margin-top:12px;
}
.kk-fc-category-details-inner .kk-fc-filter-buttons{
    display:flex;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
}
@media(max-width:768px){
    .kk-fc-filter-buttons{
        display:flex!important;
        flex-wrap:nowrap!important;
        overflow-x:auto;
        white-space:nowrap;
        scrollbar-width:none;
    }
    .kk-fc-category-details-inline summary{
        padding:9px 14px;
    }
}


/* 6.1.7 compact category details UI */
.kk-fc-category-details-inline{
    flex:0 0 auto;
    margin:0;
}

.kk-fc-category-details-inline summary{
    list-style:none;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:5px 10px;
    border:1px dashed rgba(0,0,0,.25);
    border-radius:16px;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
    background:#fff;
}

.kk-fc-category-details-inline summary::-webkit-details-marker{
    display:none;
}

.kk-fc-category-details-inline[open] summary{
    border-style:solid;
}

.kk-fc-category-details-panel{
    margin-top:8px;
}

.kk-fc-category-details-panel .kk-fc-category-details-inner{
    padding:8px 0;
}

.kk-fc-category-detail-row{
    margin-bottom:8px;
}

.kk-fc-category-detail-title{
    display:block;
    font-size:11px;
    font-weight:700;
    margin-bottom:4px;
}

.kk-fc-category-detail-buttons{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:2px;
}

.kk-fc-category-detail-buttons::-webkit-scrollbar{
    display:none;
}

.kk-fc-category-details-icon{
    font-size:13px;
    line-height:1;
}

.kk-fc-filter-group-categories .kk-fc-filter-buttons{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
}

.kk-fc-filter-group-categories .kk-fc-filter-buttons::-webkit-scrollbar{
    display:none;
}

@media(max-width:767px){
    .kk-fc-filter-buttons{
        flex-wrap:nowrap;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .kk-fc-filter-toggle{
        flex:0 0 auto;
    }

    .kk-fc-category-details-panel{
        max-height:180px;
        overflow:hidden;
    }
}


/* 6.1.8 category details structure fix */
.kk-fc-category-details-panel{
    display:block;
    margin-top:8px;
}

.kk-fc-category-details-panel summary{
    list-style:none;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 12px;
    border:1px dashed rgba(0,0,0,.28);
    border-radius:18px;
    font-size:12px;
    font-weight:700;
    background:#fff;
    white-space:nowrap;
}

.kk-fc-category-details-panel summary::-webkit-details-marker{
    display:none;
}

.kk-fc-category-details-panel[open] summary .kk-fc-category-details-icon:before{
    content:'−';
}

.kk-fc-category-details-panel[open] summary .kk-fc-category-details-icon{
    font-size:0;
}

.kk-fc-category-details-panel[open] summary .kk-fc-category-details-icon:before{
    font-size:13px;
}

.kk-fc-category-details-panel .kk-fc-category-details-inner{
    margin-top:8px;
    padding:8px 0;
    background:transparent;
    border:0;
}

.kk-fc-category-detail-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}

.kk-fc-category-detail-buttons::-webkit-scrollbar,
.kk-fc-filter-group-categories .kk-fc-filter-buttons::-webkit-scrollbar{
    display:none;
}

.kk-fc-filter-group-categories .kk-fc-filter-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
}

/* 6.1.9 category layout correction */
.kk-fc-filter-group-categories{
    display:block!important;
    width:100%;
}
.kk-fc-filter-group-categories > .kk-fc-filter-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%;
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
}
.kk-fc-filter-group-categories > .kk-fc-filter-buttons::-webkit-scrollbar{
    display:none;
}
.kk-fc-category-details-panel{
    display:block!important;
    width:100%;
    margin-top:8px;
}
.kk-fc-category-details-panel summary{
    display:inline-flex!important;
    width:auto!important;
    min-height:32px;
    padding:5px 10px!important;
}
.kk-fc-category-details-icon{
    font-size:13px!important;
}
.kk-fc-category-details-inner{
    width:100%;
}
.kk-fc-category-detail-row{
    width:100%;
}
.kk-fc-category-detail-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
}
@media(max-width:767px){
 .kk-fc-filter-group-categories > .kk-fc-filter-buttons,
 .kk-fc-category-detail-buttons{
    -webkit-overflow-scrolling:touch;
 }
}


/* 6.1.10 compact inline category group labels */
.kk-fc-category-detail-row{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    margin-bottom:6px;
}
.kk-fc-category-detail-title{
    display:inline-flex!important;
    align-items:center;
    flex:0 0 auto;
    margin:0!important;
    font-size:12px!important;
    font-weight:700!important;
    color:#555;
    white-space:nowrap;
}
.kk-fc-category-detail-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#555;
    display:inline-block;
    margin-left:5px;
}
.kk-fc-category-detail-buttons{
    flex:1 1 auto;
    min-width:0;
}
.kk-fc-category-details-inner{
    padding-top:4px!important;
}


/* 6.1.11 compact category details UI */
.kk-fc-category-details-panel{
    display:inline-flex;
    vertical-align:middle;
    margin:0;
    margin-inline-start:6px;
}

.kk-fc-category-details-panel summary{
    list-style:none;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:5px 9px;
    border:1px dashed rgba(0,0,0,.25);
    border-radius:16px;
    font-size:11px;
    white-space:nowrap;
}

.kk-fc-category-details-panel summary::-webkit-details-marker{
    display:none;
}

.kk-fc-category-details-inner{
    margin-top:10px;
    width:100%;
}

.kk-fc-category-detail-row{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:7px;
    overflow-x:auto;
    scrollbar-width:none;
}

.kk-fc-category-detail-row::-webkit-scrollbar{
    display:none;
}

.kk-fc-category-detail-title{
    flex:0 0 auto;
    font-weight:700;
    font-size:11px;
}

.kk-fc-category-detail-buttons{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    scrollbar-width:none;
}

.kk-fc-category-detail-buttons::-webkit-scrollbar{
    display:none;
}

@media(max-width:767px){
    .kk-fc-category-details-panel{
        max-width:100%;
    }
}


/* 6.1.12 - category details button inline with product type chips */
.kk-fc-filter-buttons .kk-fc-category-details-panel{
    display:inline-flex;
    vertical-align:middle;
    margin-inline-start:6px;
}
.kk-fc-category-details-panel summary{
    white-space:nowrap;
}


/* 6.1.13 - small desktop spacing between filter rows only */
@media (min-width:768px){
    body.kk-filter-combo-page .kk-fc-filter-group + .kk-fc-filter-group{
        margin-top:6px;
    }
}


/* 6.1.14 - hide duplicate group labels in category details */
.kk-fc-category-detail-title{
    display:none!important;
}

/* small desktop breathing room before size row */
@media (min-width:768px){
    .kk-fc-filter-group + .kk-fc-filter-group{
        margin-top:8px;
    }
}


/* 6.1.15 - desktop compact filter rows */
@media (min-width:768px){

    body.kk-filter-combo-page .kk-fc-active-filters{
        display:flex;
        flex-direction:row;
        align-items:flex-start;
        flex-wrap:wrap;
        gap:8px 14px;
    }

    body.kk-filter-combo-page .kk-fc-filter-group{
        display:flex;
        align-items:center;
        margin-top:0!important;
        gap:8px;
    }

    body.kk-filter-combo-page .kk-fc-filter-label{
        padding-top:0;
        white-space:nowrap;
    }

    body.kk-filter-combo-page .kk-fc-filter-buttons{
        align-items:center;
    }
}


/* 6.1.16 - desktop filter row alignment */
@media (min-width:768px){

    body.kk-filter-combo-page .kk-fc-active-filters{
        display:flex;
        flex-direction:column;
        gap:6px;
    }

    body.kk-filter-combo-page .kk-fc-filter-group{
        display:flex;
        align-items:center;
        gap:8px;
        margin-top:0!important;
    }

    body.kk-filter-combo-page .kk-fc-filter-buttons{
        align-items:center;
    }

    body.kk-filter-combo-page .kk-fc-category-details-panel{
        padding:4px 8px;
        min-height:0;
    }

    body.kk-filter-combo-page .kk-fc-category-details-panel summary{
        padding:4px 8px;
        line-height:1.3;
    }
}


/* 6.1.17 - desktop product type row only */
@media (min-width:768px){
    body.kk-filter-combo-page .kk-fc-filter-group.kk-fc-product-type-row{
        display:flex;
        align-items:center;
        gap:8px;
    }

    body.kk-filter-combo-page .kk-fc-filter-group.kk-fc-product-type-row .kk-fc-filter-buttons{
        display:flex;
        align-items:center;
        flex-wrap:wrap;
    }
}


@media (min-width:768px){
    body.kk-filter-combo-page .kk-fc-filter-group:first-child{
        display:flex;
        align-items:center;
        gap:8px;
    }
}
