/*
 * Biizaa Flex Search v1.7.0
 * Responsive near-full-width, slim, modern UI.
 */

.bfs-wrap{
    --bfs-accent:#1677ff;
    --bfs-border:#dbe3ec;
    --bfs-text:#172033;
    --bfs-muted:#6b778c;
    --bfs-bg:#ffffff;
    --bfs-soft:#f7f9fc;
    --bfs-height:40px;
    --bfs-radius:10px;
    --bfs-gap:6px;
    position:relative;
    width:calc(100% - 10px);
    max-width:calc(100% - 10px);
    min-width:0;
    margin-left:auto;
    margin-right:auto;
    color:var(--bfs-text);
    font-family:inherit;
    box-sizing:border-box;
}

.bfs-wrap,
.bfs-wrap *{
    box-sizing:border-box;
}

.bfs-form,
.bfs-main-row,
.bfs-input-wrap,
.bfs-filter-row{
    min-width:0;
    max-width:100%;
}

.bfs-form{
    width:100%;
    margin:0;
}

.bfs-main-row{
    display:flex;
    align-items:center;
    gap:var(--bfs-gap);
    width:100%;
}

.bfs-input-wrap{
    flex:1 1 auto;
    min-width:0;
    height:var(--bfs-height);
    display:flex;
    align-items:center;
    border:1px solid var(--bfs-border);
    border-radius:var(--bfs-radius);
    background:var(--bfs-bg);
    box-shadow:0 1px 2px rgba(15,23,42,.025);
    overflow:hidden;
    transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.bfs-input-wrap:hover{
    border-color:#cbd5e1;
}

.bfs-input-wrap:focus-within{
    border-color:var(--bfs-accent);
    box-shadow:0 0 0 2px color-mix(in srgb, var(--bfs-accent) 10%, transparent);
    background:#fff;
}

.bfs-search-icon{
    width:34px;
    min-width:34px;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8290a3;
}

.bfs-search-icon svg,
.bfs-btn-icon svg,
.bfs-filter-icon svg{
    display:block;
    fill:currentColor;
}

.bfs-query{
    width:100%;
    height:100%;
    min-width:0;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    padding:0 7px 0 0!important;
    margin:0!important;
    font-family:inherit!important;
    font-size:13px!important;
    line-height:1.2!important;
    color:var(--bfs-text)!important;
}

.bfs-query::placeholder{
    color:#96a1b2;
    opacity:1;
}

.bfs-query::-webkit-search-cancel-button{
    display:none;
}

.bfs-clear{
    width:30px;
    min-width:30px;
    height:30px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#8b97a8;
    font:400 19px/1 Arial,sans-serif;
    cursor:pointer;
    padding:0;
    margin:0 3px 0 0;
    transition:background-color .15s ease,color .15s ease;
}

.bfs-clear:hover{
    background:#f1f5f9;
    color:#475569;
}

.bfs-submit{
    height:var(--bfs-height);
    min-width:82px;
    border:1px solid transparent;
    border-radius:var(--bfs-radius);
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    background:var(--bfs-accent);
    color:#fff;
    font-family:inherit;
    font-size:12px;
    font-weight:650;
    line-height:1;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:0 2px 7px color-mix(in srgb, var(--bfs-accent) 18%, transparent);
    transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;
}

.bfs-submit:hover{
    filter:brightness(.97);
    transform:translateY(-1px);
    box-shadow:0 4px 10px color-mix(in srgb, var(--bfs-accent) 20%, transparent);
}

.bfs-submit:active{
    transform:translateY(0);
}

.bfs-btn-style-icon{
    min-width:var(--bfs-height);
    width:var(--bfs-height);
    padding:0;
}

.bfs-btn-style-icon .bfs-btn-text{
    display:none;
}

.bfs-btn-style-text .bfs-btn-icon{
    display:none;
}

.bfs-filter-row{
    display:flex;
    align-items:center;
    gap:var(--bfs-gap);
    margin-top:var(--bfs-gap);
    flex-wrap:wrap;
}

.bfs-select-wrap{
    height:34px;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:0 8px;
    border:1px solid var(--bfs-border);
    border-radius:9px;
    background:var(--bfs-soft);
    color:#7b8798;
    transition:border-color .15s ease,background-color .15s ease;
}

.bfs-select-wrap:hover{
    border-color:#cbd5e1;
    background:#fff;
}

.bfs-filter-icon{
    flex:0 0 auto;
}

.bfs-select-wrap select{
    min-width:0;
    max-width:180px;
    min-height:0!important;
    height:32px!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:var(--bfs-text)!important;
    font-family:inherit!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    padding:0 20px 0 0!important;
    margin:0!important;
}

.bfs-compact .bfs-filter-row{
    margin-top:5px;
}

.bfs-compact .bfs-select-wrap{
    height:32px;
}

.bfs-compact .bfs-select-wrap select{
    height:30px!important;
}

.bfs-results{
    position:absolute;
    z-index:99999;
    top:calc(100% + 6px);
    left:0;
    right:0;
    background:#fff;
    border:1px solid var(--bfs-border);
    border-radius:12px;
    box-shadow:0 14px 34px rgba(15,23,42,.12);
    overflow:hidden;
}

.bfs-results-head{
    min-height:34px;
    padding:7px 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:#fbfcfe;
    border-bottom:1px solid #edf1f5;
    font-size:10px;
    font-weight:600;
    color:var(--bfs-muted);
    letter-spacing:.035em;
    text-transform:uppercase;
}

.bfs-result-item{
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px 10px;
    border-bottom:1px solid #eef2f6;
    color:inherit!important;
    text-decoration:none!important;
    transition:background-color .14s ease;
}

.bfs-result-item:last-child{
    border-bottom:0;
}

.bfs-result-item:hover{
    background:#f8fafc;
}

.bfs-result-thumb,
.bfs-result-noimage{
    width:40px;
    height:40px;
    min-width:40px;
    border-radius:8px;
    background:#eef2f7;
}

.bfs-result-thumb{
    object-fit:cover;
}

.bfs-result-noimage{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#94a3b8;
    font-size:16px;
}

.bfs-result-body{
    min-width:0;
    flex:1;
}

.bfs-result-title{
    display:block;
    overflow:hidden;
    color:#1e293b;
    font-size:12.5px;
    font-weight:650;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.bfs-result-meta{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:2px;
    color:#6f7d90;
    font-size:10.5px;
    line-height:1.3;
}

.bfs-result-price{
    color:var(--bfs-accent);
    font-weight:650;
}

.bfs-empty,
.bfs-loading{
    padding:14px 12px;
    text-align:center;
    color:#6f7d90;
    font-size:11.5px;
}

/* Desktop: field -> filters -> button, one slim horizontal line. */
@media (min-width:1025px){
    .bfs-form{
        display:flex;
        align-items:center;
        gap:var(--bfs-gap);
    }

    .bfs-main-row{
        display:contents;
    }

    .bfs-input-wrap{
        order:1;
        flex:1 1 420px;
        min-width:220px;
    }

    .bfs-filter-row{
        order:2;
        flex:0 0 auto;
        flex-wrap:nowrap;
        margin:0;
        gap:var(--bfs-gap);
    }

    .bfs-submit{
        order:3;
        flex:0 0 auto;
    }

    .bfs-select-wrap{
        height:var(--bfs-height);
        min-width:118px;
        max-width:174px;
        border-radius:var(--bfs-radius);
        background:#fff;
    }

    .bfs-select-wrap select,
    .bfs-compact .bfs-select-wrap select{
        height:calc(var(--bfs-height) - 2px)!important;
        max-width:148px;
        font-size:11.5px!important;
    }

    .bfs-compact .bfs-select-wrap{
        height:var(--bfs-height);
    }

    .bfs-filter-desktop-hide .bfs-filter-row{
        display:none;
    }
}

/* Tablet: near-full-width and compact. */
@media (min-width:768px) and (max-width:1024px){
    .bfs-wrap{
        width:calc(100% - 8px);
        max-width:calc(100% - 8px);
        --bfs-height:39px;
    }

    .bfs-form{
        display:flex;
        flex-direction:column;
    }

    .bfs-main-row{
        order:1;
    }

    .bfs-filter-row{
        order:2;
    }

    .bfs-filter-tablet-hide .bfs-filter-row{
        display:none;
    }

    .bfs-submit{
        min-width:74px;
        padding:0 11px;
    }

    .bfs-filter-tablet-show .bfs-select-wrap{
        flex:1 1 150px;
    }

    .bfs-filter-tablet-show .bfs-select-wrap select{
        width:100%;
        max-width:none;
    }
}

/* Mobile: almost edge-to-edge, slim search and compact controls. */
@media (max-width:767px){
    .bfs-wrap{
        width:calc(100% - 8px)!important;
        max-width:calc(100% - 8px)!important;
        margin-left:auto!important;
        margin-right:auto!important;
        --bfs-height:38px;
        --bfs-gap:5px;
    }

    .bfs-form{
        display:flex;
        flex-direction:column;
    }

    .bfs-main-row{
        order:1;
    }

    .bfs-filter-row{
        order:2;
    }

    .bfs-filter-mobile-hide .bfs-filter-row{
        display:none;
    }

    .bfs-search-icon{
        width:31px;
        min-width:31px;
    }

    .bfs-search-icon svg{
        width:16px;
        height:16px;
    }

    .bfs-query{
        font-size:12.5px!important;
    }

    .bfs-submit{
        width:auto;
        min-width:58px;
        padding:0 10px;
        border-radius:9px;
        box-shadow:none;
    }

    .bfs-submit .bfs-btn-icon{
        display:none!important;
    }

    .bfs-submit .bfs-btn-text{
        display:inline!important;
        font-size:11.5px;
    }

    .bfs-filter-mobile-show .bfs-filter-row{
        width:100%;
        margin-top:5px;
        gap:5px;
    }

    .bfs-filter-mobile-show .bfs-select-wrap{
        flex:1 1 calc(50% - 3px);
        min-width:0;
    }

    .bfs-filter-mobile-show .bfs-select-wrap select{
        width:100%;
        max-width:none;
    }

    .bfs-results{
        top:calc(100% + 5px);
        border-radius:10px;
    }

    .bfs-result-item{
        gap:8px;
        padding:7px 9px;
    }

    .bfs-result-thumb,
    .bfs-result-noimage{
        width:38px;
        height:38px;
        min-width:38px;
        border-radius:7px;
    }
}

@media (max-width:430px){
    .bfs-wrap{
        width:calc(100% - 6px)!important;
        max-width:calc(100% - 6px)!important;
    }

    .bfs-submit{
        min-width:54px;
        padding:0 9px;
    }
}

/* Same width behavior inside WooCommerce / workshop containers. */
.single-product .bfs-wrap,
.post-type-archive-product .bfs-wrap,
.woocommerce .bfs-wrap{
    box-sizing:border-box;
}

/* Full-page result UI; scoped so theme and Elementor remain unaffected. */
.bfs-full-page{padding:32px 18px 72px;min-height:65vh;background:#f7f9fc;color:#17253d}
.bfs-page-inner{max-width:1200px;margin:0 auto}
.bfs-page-heading h1{font-size:clamp(25px,3vw,36px);margin:0 0 7px;color:#173866}
.bfs-page-heading p{margin:0 0 22px;color:#5c6c81}
.bfs-full-page .bfs-wrap{max-width:100%!important;width:100%!important;margin-bottom:26px}
.bfs-page-summary{font-size:15px;margin:10px 0 20px}
.bfs-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bfs-page-card{background:#fff;border:1px solid #e2e8f1;border-radius:13px;overflow:hidden;box-shadow:0 3px 14px rgba(20,40,80,.04);min-width:0}
.bfs-page-image{display:flex;align-items:center;justify-content:center;background:#edf2fa;aspect-ratio:16/11;text-decoration:none}
.bfs-page-image img{width:100%;height:100%;object-fit:cover}
.bfs-page-placeholder{font-size:14px;color:#61758e}
.bfs-page-card-body{padding:17px}
.bfs-page-kind{font-size:12px;color:#4778b9;font-weight:700}
.bfs-page-card h2{font-size:17px;line-height:1.4;margin:9px 0;color:#193653}
.bfs-page-card h2 a{text-decoration:none;color:inherit}
.bfs-page-card p{font-size:13px;color:#657589;line-height:1.6;margin:8px 0}
.bfs-page-price{font-weight:700;color:#17578b;margin:10px 0}
.bfs-page-link{display:inline-block;margin-top:10px;color:#1565aa;font-size:13px;font-weight:700;text-decoration:none}
.bfs-page-empty{background:white;border:1px solid #dce5ee;border-radius:12px;padding:28px}
.bfs-page-pagination ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:30px 0}
.bfs-page-pagination a,.bfs-page-pagination span{display:block;padding:9px 13px;background:white;border:1px solid #d7e1ec;border-radius:8px;text-decoration:none}
.bfs-page-pagination .current{background:#155d9a;color:white}
@media(max-width:1000px){.bfs-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.bfs-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bfs-page-card-body{padding:12px}.bfs-page-card h2{font-size:15px}.bfs-full-page{padding:20px 12px 48px}}
@media(max-width:400px){.bfs-page-grid{grid-template-columns:1fr}}

/* v1.9 Windows-style category and content filters */
.bfs-wrap .bfs-filter-row{gap:10px;align-items:center}
.bfs-wrap .bfs-select-wrap{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;height:44px;min-width:190px;max-width:100%;padding:0 13px;gap:9px;border:1px solid #c8d3e2;border-radius:9px;background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%);box-shadow:0 1px 3px rgba(20,45,80,.06);color:#526783;transition:border-color .18s,box-shadow .18s}
.bfs-wrap .bfs-select-wrap:hover{border-color:#7bafe8;background:#fff}
.bfs-wrap .bfs-select-wrap:focus-within{border-color:#2478d4;box-shadow:0 0 0 3px rgba(36,120,212,.16);background:#fff}
.bfs-wrap .bfs-select-wrap select,.bfs-wrap .bfs-compact .bfs-select-wrap select{appearance:none;-webkit-appearance:none;box-sizing:border-box;height:42px!important;min-height:42px!important;max-width:none;width:100%;flex:1;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#24364c!important;font-size:13px!important;font-weight:500;line-height:1.4!important;padding:0 24px 0 0!important;cursor:pointer;text-overflow:ellipsis;white-space:nowrap}
.bfs-wrap .bfs-select-wrap::after{content:'';position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid #607893;border-bottom:2px solid #607893;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.bfs-wrap .bfs-filter-icon{display:flex;align-items:center;color:#3773b5}
.bfs-wrap .bfs-filter-icon svg{fill:currentColor}
@media(max-width:767px){.bfs-wrap .bfs-filter-mobile-show .bfs-select-wrap{min-width:0;width:100%;max-width:100%}.bfs-wrap .bfs-filter-mobile-show .bfs-select-wrap select{width:100%;max-width:none}}

/* v2.0: Fluent/Windows category menu, scoped to BIIZAA search */
.bfs-wrap .bfs-category-holder{position:relative;min-width:215px;max-width:100%;overflow:visible;padding-right:8px;z-index:30}
.bfs-wrap .bfs-category-holder::after{display:none!important}
.bfs-wrap .bfs-native-category{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%);left:0}
.bfs-wrap .bfs-category-toggle{appearance:none;border:0!important;background:transparent!important;box-shadow:none!important;color:#1e293b!important;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0;width:100%;height:42px;padding:0 4px 0 0!important;font-size:13px;font-weight:600;text-align:left;cursor:pointer}
.bfs-wrap .bfs-category-current{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bfs-wrap .bfs-menu-chevron{display:block;flex:none;width:8px;height:8px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg) translateY(-2px);transition:transform .18s}
.bfs-wrap .bfs-menu-open .bfs-menu-chevron{transform:rotate(225deg) translate(-2px,-1px)}
.bfs-wrap .bfs-category-menu{position:absolute;top:calc(100% + 7px);left:0;width:max(290px,100%);max-width:min(420px,calc(100vw - 30px));padding:9px;background:#fff;border:1px solid #d7e0eb;border-radius:12px;box-shadow:0 14px 40px rgba(15,23,42,.16),0 3px 8px rgba(15,23,42,.07);z-index:999999;text-align:left}
.bfs-wrap .bfs-category-menu[hidden],.bfs-wrap .bfs-menu-option[hidden],.bfs-wrap .bfs-menu-group[hidden],.bfs-wrap .bfs-menu-empty[hidden]{display:none!important}
.bfs-wrap .bfs-menu-search{padding:3px 3px 9px;border-bottom:1px solid #e9eef5}
.bfs-wrap .bfs-menu-filter{display:block!important;box-sizing:border-box;width:100%!important;height:36px!important;min-height:36px!important;padding:7px 12px!important;border:1px solid #ccd9e8!important;border-radius:7px!important;background:#f8fafc!important;color:#24364b!important;font-size:13px!important;box-shadow:none!important}
.bfs-wrap .bfs-menu-filter:focus{outline:2px solid rgba(37,99,235,.15);border-color:#2563eb!important;background:#fff!important}
.bfs-wrap .bfs-menu-items{max-height:290px;overflow-y:auto;overscroll-behavior:contain;padding:5px 2px;scrollbar-width:thin}
.bfs-wrap .bfs-menu-group{padding:12px 9px 6px;color:#64748b;font-size:10px;letter-spacing:.08em;font-weight:800}
.bfs-wrap .bfs-menu-option{display:flex!important;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;min-height:37px;margin:2px 0;padding:8px 10px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#334155!important;font-size:13px!important;font-weight:500;text-align:left;cursor:pointer;box-shadow:none!important;line-height:1.45}
.bfs-wrap .bfs-menu-option[hidden]{display:none!important}
.bfs-wrap .bfs-menu-option:hover,.bfs-wrap .bfs-menu-option:focus-visible{background:#eff6ff!important;color:#1559ac!important;outline:0}
.bfs-wrap .bfs-menu-option.is-active{background:#e8f2ff!important;color:#1459ac!important;font-weight:700}
.bfs-wrap .bfs-menu-check{display:none;color:#1766c2;font-weight:900}
.bfs-wrap .bfs-menu-option.is-active .bfs-menu-check{display:block}
.bfs-wrap .bfs-menu-empty{padding:16px 10px;color:#64748b;text-align:center;font-size:12px}
@media(max-width:767px){.bfs-wrap .bfs-category-holder{width:100%;min-width:0}.bfs-wrap .bfs-category-menu{width:100%;max-width:100%;box-sizing:border-box}.bfs-wrap .bfs-category-toggle{width:100%}}

/* v2.1 hierarchical category tree */
.bfs-wrap .bfs-tree-line{display:flex;align-items:center;gap:3px;padding-left:calc(var(--bfs-level,0) * 15px);min-width:0}
.bfs-wrap .bfs-tree-expand,.bfs-wrap .bfs-tree-spacer{flex:0 0 25px;width:25px;height:33px;display:flex;align-items:center;justify-content:center}
.bfs-wrap .bfs-tree-expand{border:0!important;background:transparent!important;border-radius:6px!important;color:#64748b!important;cursor:pointer;padding:0!important;box-shadow:none!important}
.bfs-wrap .bfs-tree-expand:hover{background:#eaf2fd!important;color:#1559ac!important}
.bfs-wrap .bfs-tree-expand span{display:inline-block;transition:transform .15s}
.bfs-wrap .bfs-tree-expand.is-expanded span{transform:rotate(90deg)}
.bfs-wrap .bfs-tree-line .bfs-menu-option{flex:1;min-width:0;width:auto!important}
.bfs-wrap .bfs-tree-children[hidden]{display:none!important}
.bfs-wrap .bfs-menu-items{max-height:min(380px,55vh)}
