/* =====================================================
   CATEGORY PAGE HERO
===================================================== */

.categories-hero {

    padding: 48px 0 52px;

    background: #f7f7f8;

    border-bottom: 1px solid #ededed;

}


.categories-breadcrumb {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 28px;

    color: #999;

    font-size: 10px;

}


.categories-breadcrumb a {

    color: #555;

    text-decoration: none;

}


.categories-breadcrumb a:hover {

    color: #111;

}


.categories-hero-content {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 30px;

}


.categories-overline {

    display: block;

    margin-bottom: 8px;

    color: #999;

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 1.7px;

}


.categories-hero h1 {

    margin: 0 0 10px;

    color: #171717;

    font-size: 34px;

    font-weight: 800;

    line-height: 1.15;

}


.categories-hero p {

    max-width: 560px;

    margin: 0;

    color: #777;

    font-size: 11px;

    line-height: 1.7;

}


.categories-hero-count {

    min-width: 105px;

    padding: 15px 18px;

    border: 1px solid #e2e2e2;

    border-radius: 9px;

    background: #fff;

    text-align: center;

}


.categories-hero-count strong {

    display: block;

    color: #111;

    font-size: 22px;

    font-weight: 800;

    line-height: 1;

}


.categories-hero-count span {

    display: block;

    margin-top: 6px;

    color: #999;

    font-size: 8px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .5px;

}


/* =====================================================
   CATEGORY SECTION
===================================================== */

.categories-section {

    padding: 52px 0 80px;

    background: #fff;

}


/* =====================================================
   TOOLBAR
===================================================== */

.categories-toolbar {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    margin-bottom: 25px;

}


.categories-toolbar-left {

    flex: 1;

}


.toolbar-label {

    display: block;

    margin-bottom: 5px;

    color: #999;

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 1.2px;

}


.categories-toolbar-left h2 {

    margin: 0;

    color: #171717;

    font-size: 20px;

    font-weight: 800;

}


/* =====================================================
   SEARCH
===================================================== */

.categories-search {

    position: relative;

    width: 290px;

}


.categories-search > i {

    position: absolute;

    top: 50%;

    left: 13px;

    transform: translateY(-50%);

    color: #999;

    font-size: 12px;

    pointer-events: none;

}


.categories-search input {

    width: 100%;

    height: 40px;

    padding: 0 38px 0 36px;

    border: 1px solid #ddd;

    border-radius: 6px;

    outline: none;

    background: #fff;

    color: #222;

    font-family: inherit;

    font-size: 9px;

    transition: border-color .2s ease;

}


.categories-search input:focus {

    border-color: #00409e;

}


.categories-search input::placeholder {

    color: #aaa;

}


#clearCategorySearch {

    position: absolute;

    top: 50%;

    right: 8px;

    width: 25px;

    height: 25px;

    display: flex;

    align-items: center;

    justify-content: center;

    transform: translateY(-50%);

    border: 0;

    border-radius: 50%;

    background: transparent;

    color: #888;

    cursor: pointer;

}


#clearCategorySearch:hover {

    background: #f1f1f1;

    color: #111;

}


/* =====================================================
   FILTER TABS
===================================================== */

.category-filter-tabs {

    display: flex;

    align-items: center;

    gap: 7px;

    margin-bottom: 30px;

    padding-bottom: 4px;

    overflow-x: auto;

    scrollbar-width: none;

}


.category-filter-tabs::-webkit-scrollbar {

    display: none;

}


.category-filter-btn {

    flex-shrink: 0;

    min-height: 32px;

    padding: 0 13px;

    border: 1px solid #e1e1e1;

    border-radius: 20px;

    background: #fff;

    color: #666;

    font-family: inherit;

    font-size: 12px;

    font-weight: 600;

    cursor: pointer;

    transition: all .2s ease;

}


.category-filter-btn:hover {

    border-color: #00409e;

    color: #111;

}


.category-filter-btn.active {

    border-color: #00409e;

    background: #00409e;

    color: #fff;

}


/* =====================================================
   CATEGORY CARD
===================================================== */

.category-card {

    position: relative;

    height: 100%;

    overflow: hidden;

    border: 1px solid #e7e7e7;

    border-radius: 10px;

    background: #fff;

    transition:

        transform .25s ease,

        box-shadow .25s ease,

        border-color .25s ease;

}


.category-card:hover {

    transform: translateY(-5px);

    border-color: #ddd;

    box-shadow:

        0 14px 35px rgba(0, 0, 0, .07);

}


/* =====================================================
   CATEGORY IMAGE
===================================================== */

.category-card-image {

    position: relative;

    aspect-ratio: 1.25 / 1;

    overflow: hidden;

    background: #f3f3f3;

}


.category-card-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .4s ease;

}


.category-card:hover
.category-card-image img {

    transform: scale(1.06);

}


/* =====================================================
   IMAGE OVERLAY
===================================================== */

.category-card-overlay {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: flex-end;

    padding: 15px;

    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, .55),
            transparent 55%
        );

    pointer-events: none;

}


.category-card-product-count {

    padding: 5px 8px;

    border-radius: 20px;

    background: rgba(255, 255, 255, .92);

    color: #222;

    font-size: 7px;

    font-weight: 700;

}


/* =====================================================
   CATEGORY CONTENT
===================================================== */

.category-card-content {

    padding: 16px;

}


.category-card-title {

    display: block;

    margin-bottom: 5px;

    color: #171717;

    font-size: 12px;

    font-weight: 800;

    line-height: 1.4;

    text-decoration: none;

}


.category-card-title:hover {

    color: #555;

}


.category-card-description {

    display: -webkit-box;

    min-height: 28px;

    margin: 0 0 13px;

    overflow: hidden;

    color: #999;

    font-size: 12px;

    line-height: 1.7;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

}


.category-card-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

}


.category-card-subcategories {

    display: flex;

    align-items: center;

    gap: 4px;

    overflow: hidden;

}


.category-card-subcategories span {

    flex-shrink: 0;

    padding: 4px 6px;

    border-radius: 4px;

    background: #f5f5f5;

    color: #777;

    font-size: 10px;

    font-weight: 600;

}


.category-card-subcategories .more {

    background: transparent;

    color: #aaa;

}


.category-card-arrow {

    width: 31px;

    height: 31px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid #ddd;

    border-radius: 50%;

    color: #222;

    font-size: 11px;

    text-decoration: none;

    transition: all .2s ease;

}


.category-card:hover
.category-card-arrow {

    border-color: #00409e;

    background: #00409e;

    color: #fff;

}


/* =====================================================
   EMPTY STATE
===================================================== */

.category-empty {

    padding: 75px 20px;

    border: 1px dashed #ddd;

    border-radius: 10px;

    text-align: center;

}


.category-empty-icon {

    width: 62px;

    height: 62px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 16px;

    border-radius: 50%;

    background: #f4f4f4;

    color: #888;

    font-size: 22px;

}


.category-empty h3 {

    margin: 0 0 7px;

    color: #222;

    font-size: 17px;

    font-weight: 800;

}


.category-empty p {

    margin: 0 0 18px;

    color: #999;

    font-size: 9px;

}


.category-reset-btn {

    min-height: 38px;

    padding: 0 16px;

    border: 0;

    border-radius: 6px;

    background: #00409e;

    color: #fff;

    font-family: inherit;

    font-size: 9px;

    font-weight: 700;

    cursor: pointer;

}


.category-reset-btn:hover {

    background: #333;

}


/* =====================================================
   HEADER COUNTS
===================================================== */

.wishlist-header-count {

    position: absolute;

    top: -6px;

    right: -8px;

    min-width: 15px;

    height: 15px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #00409e;

    color: #fff;

    font-size: 7px;

    font-weight: 700;

}


/* =====================================================
   FOOTER
===================================================== */

.site-footer {

    padding: 25px 0;

    border-top: 1px solid #eee;

    background: #fff;

}


.footer-bottom {

    text-align: center;

}


.footer-bottom p {

    margin: 0;

    color: #999;

    font-size: 10px;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .categories-hero-content {

        align-items: flex-start;

        flex-direction: column;

    }


    .categories-hero-count {

        min-width: 95px;

    }


    .categories-search {

        width: 250px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .categories-hero {

        padding: 35px 0 40px;

    }


    .categories-hero h1 {

        font-size: 27px;

    }


    .categories-hero p {

        font-size: 10px;

    }


    .categories-section {

        padding: 35px 0 55px;

    }


    .categories-toolbar {

        align-items: stretch;

        flex-direction: column;

        gap: 17px;

    }


    .categories-search {

        width: 100%;

    }


    .category-filter-tabs {

        margin-bottom: 22px;

    }


    .category-card-content {

        padding: 13px;

    }


    .category-card-title {

        font-size: 10px;

    }


    .category-card-description {

        font-size: 7px;

    }

}