/*==================================================
    TIPA MART
    SEARCH RESULTS
==================================================*/


/*==================================================
    SEARCH PAGE
==================================================*/

.search-page{

    padding:40px 0 70px;

    background:#F7F8FA;

}


/*==================================================
    SEARCH HEADER
==================================================*/

.search-page__header{

    margin-bottom:30px;

}


.search-page__title{

    margin:0 0 8px;

    color:#082C6C;

    font-size:32px;

    font-weight:700;

    line-height:1.2;

}


.search-page__subtitle{

    margin:0;

    color:#777;

    font-size:15px;

    line-height:1.6;

}


/*==================================================
    SEARCH LAYOUT
==================================================*/

.search__layout{

    display:grid;

    grid-template-columns:290px minmax(0,1fr);

    gap:30px;

    align-items:start;

}


/*==================================================
    SEARCH SIDEBAR
==================================================*/

.search__sidebar{

    width:100%;

    min-width:0;

}


/*==================================================
    SIDEBAR CARD
==================================================*/

.search-sidebar{

    width:100%;

}


.search-sidebar .shop-widget{

    margin-bottom:24px;

    padding:22px;

    background:#FFFFFF;

    border:1px solid #E5E5E5;

    border-radius:10px;

}


.search-sidebar .shop-widget:last-child{

    margin-bottom:0;

}


.search-sidebar .shop-widget__title{

    margin:0 0 18px;

    padding-bottom:12px;

    border-bottom:1px solid #EEEEEE;

    color:#082C6C;

    font-size:17px;

    font-weight:700;

    line-height:1.3;

}


/*==================================================
    SEARCH CONTENT
==================================================*/

.search__content{

    min-width:0;

}


/*==================================================
    SEARCH SUMMARY
==================================================*/

.search-summary{

    display:flex;

    align-items:center;

    justify-content:space-between;

    flex-wrap:wrap;

    gap:15px;

    margin:0 0 24px;

    padding:16px 20px;

    background:#FFFFFF;

    border:1px solid #E5E5E5;

    border-radius:10px;

    color:#666;

    font-size:14px;

}


.search-summary p{

    margin:0;

    line-height:1.6;

}


.search-summary strong{

    color:#082C6C;

    font-weight:700;

}


/*==================================================
    SEARCH RESULTS GRID
==================================================*/

/*
|--------------------------------------------------------------------------
| IMPORTANT
|--------------------------------------------------------------------------
|
| Keep search results at 4 products per row on desktop,
| matching the products.php layout.
|
|--------------------------------------------------------------------------
*/

.search-page .products__grid{

    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:24px;

    width:100%;

}


/*==================================================
    SEARCH CATEGORY TREE
==================================================*/

.search-categories{

    width:100%;

}


.search-category-tree{

    list-style:none;

    margin:0;

    padding:0;

}


.search-category-tree ul{

    list-style:none;

}


/*==================================================
    CATEGORY ITEM
==================================================*/

.search-category-item{

    margin:0;

    padding:0;

}


/*==================================================
    CATEGORY ROW
==================================================*/

.search-category-row{

    display:flex;

    align-items:center;

    width:100%;

    min-height:44px;

}


/*==================================================
    CATEGORY TOGGLE
==================================================*/

.search-category-toggle{

    width:28px;

    height:28px;

    flex:0 0 28px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-right:4px;

    padding:0;

    border:none;

    border-radius:5px;

    background:transparent;

    color:#082C6C;

    cursor:pointer;

    transition:

        background-color .2s ease,

        color .2s ease;

}


.search-category-toggle:hover{

    background:#F3F5F8;

}


.search-category-toggle i{

    font-size:10px;

    transition:transform .2s ease;

}


.search-category-item.is-expanded
> .search-category-row
.search-category-toggle i{

    transform:rotate(90deg);

}


/*==================================================
    TOGGLE PLACEHOLDER
==================================================*/

.search-category-toggle-placeholder{

    width:28px;

    height:28px;

    flex:0 0 28px;

    margin-right:4px;

}


/*==================================================
    CHECKBOX LABEL
==================================================*/

.search-category-checkbox{

    display:flex;

    align-items:center;

    flex:1;

    min-width:0;

    gap:9px;

    padding:7px 0;

    cursor:pointer;

}


/*==================================================
    HIDE NATIVE CHECKBOX
==================================================*/

.search-category-checkbox input{

    position:absolute;

    width:1px;

    height:1px;

    opacity:0;

    pointer-events:none;

}


/*==================================================
    CUSTOM CHECKMARK
==================================================*/

.search-category-checkmark{

    position:relative;

    width:17px;

    height:17px;

    flex:0 0 17px;

    border:1px solid #C9CED6;

    border-radius:4px;

    background:#FFFFFF;

    transition:

        background-color .2s ease,

        border-color .2s ease;

}


.search-category-checkbox input:checked
+ .search-category-checkmark{

    background:#082C6C;

    border-color:#082C6C;

}


.search-category-checkbox input:checked
+ .search-category-checkmark::after{

    content:"";

    position:absolute;

    left:5px;

    top:2px;

    width:4px;

    height:8px;

    border:solid #FFFFFF;

    border-width:0 2px 2px 0;

    transform:rotate(45deg);

}


/*==================================================
    CATEGORY NAME
==================================================*/

.search-category-name{

    flex:1;

    min-width:0;

    overflow:hidden;

    color:#333;

    font-size:14px;

    font-weight:500;

    line-height:1.4;

    text-overflow:ellipsis;

    white-space:nowrap;

    transition:color .2s ease;

}


.search-category-checkbox:hover
.search-category-name{

    color:#082C6C;

}


.search-category-item.is-selected
.search-category-name{

    color:#082C6C;

    font-weight:600;

}


/*==================================================
    CATEGORY COUNT
==================================================*/

.search-category-count{

    min-width:25px;

    height:24px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    margin-left:auto;

    padding:0 7px;

    border-radius:20px;

    background:#F3F5F8;

    color:#082C6C;

    font-size:11px;

    font-weight:700;

}


.search-category-item.is-selected
.search-category-count{

    background:#FFF3CC;

}


/*==================================================
    CHILDREN
==================================================*/

.search-category-children{

    display:none;

    margin-left:14px;

    padding-left:13px;

    border-left:1px solid #E2E5E9;

}


.search-category-item.is-expanded
> .search-category-children{

    display:block;

}


/*==================================================
    DEEPER CATEGORY LEVELS
==================================================*/

.search-category-tree--level-1{

    margin-top:2px;

}


.search-category-tree--level-2{

    margin-top:2px;

}


.search-category-tree--level-3{

    margin-top:2px;

}


.search-category-tree--level-4{

    margin-top:2px;

}


/*==================================================
    PRICE FILTER
==================================================*/

.search-sidebar .price-filter{

    display:flex;

    flex-direction:column;

    gap:12px;

}


.search-sidebar .price-filter input{

    width:100%;

    height:44px;

    padding:0 13px;

    border:1px solid #DCDCDC;

    border-radius:6px;

    background:#FFFFFF;

    color:#222;

    font-family:inherit;

    font-size:14px;

    outline:none;

    transition:

        border-color .25s ease,

        box-shadow .25s ease;

}


.search-sidebar .price-filter input:focus{

    border-color:#082C6C;

    box-shadow:
        0 0 0 3px rgba(8,44,108,.08);

}


.search-sidebar .price-filter input::placeholder{

    color:#999;

}


/*==================================================
    APPLY FILTER BUTTON
==================================================*/

.search-filter-button{

    width:100%;

    height:44px;

    margin-top:3px;

    padding:0 15px;

    border:none;

    border-radius:6px;

    background:#082C6C;

    color:#FFFFFF;

    font-family:inherit;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:

        background-color .25s ease,

        transform .2s ease,

        box-shadow .2s ease;

}


.search-filter-button:hover{

    background:#061F4D;

    transform:translateY(-1px);

    box-shadow:
        0 5px 12px rgba(8,44,108,.15);

}


.search-filter-button:active{

    transform:translateY(0);

}


/*==================================================
    EMPTY SIDEBAR
==================================================*/

.search-sidebar__empty{

    padding:10px 0;

    color:#777;

    font-size:14px;

    line-height:1.5;

}


/*==================================================
    EMPTY SEARCH RESULTS
==================================================*/

.search-page .product-grid__empty{

    grid-column:1 / -1;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    min-height:300px;

    padding:40px;

    background:#FFFFFF;

    border:1px solid #E8E8E8;

    border-radius:10px;

    text-align:center;

}


.search-page .product-grid__empty i{

    margin-bottom:15px;

    color:#082C6C;

    font-size:40px;

}


.search-page .product-grid__empty h2{

    margin:0 0 8px;

    color:#222;

    font-size:22px;

}


.search-page .product-grid__empty p{

    margin:0;

    color:#777;

    font-size:14px;

}


/*==================================================
    OLD ALERT SUPPORT
==================================================*/

.search-page .alert{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    min-height:280px;

    padding:50px 30px;

    background:#FFFFFF;

    border:1px solid #E8E8E8;

    border-radius:12px;

    color:#777;

    text-align:center;

    font-size:15px;

}


.search-page .alert::before{

    content:"\f002";

    margin-bottom:18px;

    color:#F5B51D;

    font-family:"Font Awesome 6 Free";

    font-size:48px;

    font-weight:900;

}


/*==================================================
    LARGE TABLET / SMALL DESKTOP
==================================================*/

@media (max-width:1200px){

    .search__layout{

        grid-template-columns:
            260px minmax(0,1fr);

        gap:25px;

    }


    .search-page .products__grid{

        grid-template-columns:
            repeat(3,minmax(0,1fr));

        gap:20px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:992px){

    .search-page{

        padding:35px 0 60px;

    }


    .search-page__title{

        font-size:30px;

    }


    .search__layout{

        grid-template-columns:
            240px minmax(0,1fr);

        gap:20px;

    }


    .search-page .products__grid{

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:20px;

    }


    .search-sidebar .shop-widget{

        padding:18px;

    }

}


/*==================================================
    SMALL TABLET
==================================================*/

@media (max-width:768px){

    .search-page{

        padding:30px 0 50px;

    }


    .search-page__title{

        font-size:28px;

    }


    .search__layout{

        grid-template-columns:1fr;

        gap:25px;

    }


    .search__sidebar{

        width:100%;

    }


    .search-page .products__grid{

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:18px;

    }


    .search-summary{

        padding:14px 16px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:576px){

    .search-page{

        padding:25px 0 45px;

    }


    .search-page__title{

        font-size:24px;

    }


    .search-page__subtitle{

        font-size:14px;

    }


    .search-sidebar .shop-widget{

        padding:17px;

    }


    .search-sidebar .shop-widget__title{

        font-size:16px;

    }


    .search-page .products__grid{

        grid-template-columns:1fr;

        gap:18px;

    }


    .search-category-name{

        font-size:13px;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:400px){

    .search-page{

        padding:20px 0 35px;

    }


    .search-page__title{

        font-size:23px;

    }


    .search-sidebar .shop-widget{

        padding:15px;

    }


    .search-page .products__grid{

        gap:16px;

    }

}