/* =========================================================
   OLLCORRECT CATEGORY PAGE
   category.css
========================================================= */

/* =========================================================
   ROOT
========================================================= */

:root {
    --primary: #079f34;
    --primary-dark: #057c29;
    --navy: #031e43;

    --blue: #1687d9;
    --light-blue: #eaf8ff;
    --page-bg: #f1fbff;

    --white: #ffffff;
    --text: #10284b;
    --muted: #6e8199;
    --border: #d9edf7;

    --success: #16b957;
    --danger: #ff5b78;
    --yellow: #ffae00;

    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;

    --shadow:
        0 5px 20px rgba(23, 93, 130, 0.07);

    --shadow-hover:
        0 12px 30px rgba(23, 93, 130, 0.13);
}


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Poppins", sans-serif;
    background:
        radial-gradient(circle at 10% 35%, rgba(75, 225, 185, 0.28), transparent 40%),
        radial-gradient(circle at 90% 45%, rgba(65, 215, 245, 0.28), transparent 42%),
        radial-gradient(circle at 55% 80%, rgba(110, 170, 255, 0.15), transparent 40%),
        radial-gradient(circle at 50% 85%, rgba(180, 150, 255, 0.13), transparent 45%);
    background-color: #eef2f9;
    color: var(--text);
    font-size: 13px;
    line-height: 1.5;
    min-height: 100vh;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    display: block;
}

button,
input {
    font-family: inherit;
}

button {
    border: none;
    background: none;
    cursor: pointer;
}

a {
    text-decoration: none;
    color: inherit;
}


/* =========================================================
   CONTAINER
========================================================= */

.container {
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
}


/* =========================================================
   SEARCH BAR (relocated from old header)
========================================================= */

.category-search {
    margin: 4px 0 2px;
}

.category-search.header-search {
    flex: none;

    width: 100%;
    height: 44px;

    display: flex;
    align-items: center;

    background: #f9fdff;

    border: 1px solid #b9dced;
    border-radius: 24px;

    box-shadow:
        0 6px 18px rgba(30, 84, 117, 0.08);
}

.category-search > i {
    margin-left: 15px;
    color: #8ba3b8;
    font-size: 13px;
}

.category-search input {
    flex: 1;

    width: 100%;
    height: 100%;

    padding: 0 10px;

    border: none;
    outline: none;

    background: transparent;

    color: var(--text);
    font-size: 12px;
}

.category-search input::placeholder {
    color: #91a5b8;
}

.category-search button {
    height: 32px;

    margin-right: 6px;
    padding: 0 18px;

    color: white;
    background: linear-gradient(
        135deg,
        #0a8fe0,
        #079f34
    );

    border: none;
    border-radius: 18px;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;

    transition: 0.2s ease;
}

.category-search button:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(7, 159, 52, 0.25);
}


/* =========================================================
   BREADCRUMB
========================================================= */

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 14px 2px;

    color: #71879b;

    font-size: 9px;
}

.breadcrumb a:hover {
    color: var(--primary);
}

.breadcrumb i {
    color: #a6b8c7;
    font-size: 7px;
}

.breadcrumb span {
    color: #3c5872;
    font-weight: 500;
}


/* =========================================================
   CATEGORY LAYOUT
========================================================= */

.category-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 14px;

    align-items: start;
}


/* =========================================================
   SIDEBAR
========================================================= */

.category-sidebar {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sidebar-card {
    background: rgba(255, 255, 255, 0.88);

    border: 1px solid #d8edf6;
    border-radius: 14px;

    box-shadow: var(--shadow);
}


/* =========================================================
   CATEGORY NAVIGATION
========================================================= */

.category-navigation {
    padding: 14px 12px;
}

.sidebar-title {
    display: flex;
    align-items: center;
    gap: 7px;

    padding: 3px 4px 13px;

    border-bottom: 1px solid #edf4f8;
}

.sidebar-title i {
    color: var(--primary);
    font-size: 12px;
}

.sidebar-title h3 {
    color: var(--navy);

    font-size: 11px;
    font-weight: 700;
}

.category-navigation ul {
    list-style: none;

    margin-top: 7px;
}

.category-navigation li {
    min-height: 30px;

    display: flex;
    align-items: center;
    gap: 9px;

    padding: 0 8px;

    color: #526a82;

    border-radius: 7px;

    font-size: 9px;

    cursor: pointer;

    transition: 0.2s ease;
}

.category-navigation li i {
    width: 15px;

    color: #48637d;

    text-align: center;
}

.category-navigation li:hover {
    color: var(--primary);
    background: #eefbf5;
}

.category-navigation li.active {
    color: var(--primary);
    background: #e7f8f0;

    font-weight: 600;
}

.category-navigation li.active i {
    color: var(--primary);
}


/* =========================================================
   FILTERS
========================================================= */

.filters-card {
    padding: 15px 13px;
}

.filter-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-bottom: 12px;

    border-bottom: 1px solid #e8f2f6;
}

.filter-heading h3 {
    color: var(--navy);

    font-size: 12px;
    font-weight: 700;
}

.filter-heading button {
    color: var(--primary);

    font-size: 8px;
    font-weight: 600;
}


/* =========================================================
   FILTER GROUP
========================================================= */

.filter-group {
    padding: 14px 0;

    border-bottom: 1px solid #e9f2f6;
}

.filter-group:last-child {
    border-bottom: none;
}

.filter-title {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 10px;

    color: var(--navy);

    font-size: 9px;
    font-weight: 700;
}

.filter-title i {
    color: #8298aa;
    font-size: 8px;
}

.filter-group label {
    display: flex;
    align-items: center;
    gap: 6px;

    margin: 7px 0;

    color: #64798d;

    font-size: 8.5px;

    cursor: pointer;
}

.filter-group label input {
    width: 12px;
    height: 12px;

    accent-color: var(--primary);
}

.filter-group small {
    color: #9aacbb;
    font-size: 7.5px;
}

.stars {
    color: var(--yellow);

    letter-spacing: -1px;
}

.show-more {
    margin-top: 5px;

    color: #1687d9;

    font-size: 8px;
    font-weight: 600;
}

.price-inputs {
    display: grid;
    grid-template-columns: 1fr 10px 1fr;
    align-items: center;
    gap: 4px;
}

.price-inputs input {
    width: 100%;
    height: 27px;

    padding: 0 7px;

    color: #516a82;
    background: #fff;

    border: 1px solid #d7e8f0;
    border-radius: 6px;

    outline: none;

    font-size: 8px;
}

.price-inputs span {
    color: #8498a9;
    text-align: center;
}

.range-slider {
    display: flex;
    align-items: center;

    margin-top: 12px;
}

.range-slider > span {
    width: 10px;
    height: 10px;

    background: var(--primary);

    border: 2px solid white;
    border-radius: 50%;

    box-shadow: 0 0 0 1px var(--primary);
}

.range-line {
    flex: 1;
    height: 3px;

    background: var(--primary);
}


/* =========================================================
   CATEGORY CONTENT
========================================================= */

.category-content {
    min-width: 0;
}


/* =========================================================
   CATEGORY HERO
========================================================= */

.category-hero {
    position: relative;

    min-height: 245px;

    display: flex;
    align-items: center;

    overflow: hidden;

    padding: 30px;

    background:
        radial-gradient(
            circle at 78% 40%,
            rgba(126, 218, 255, 0.45),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #e9f9ff,
            #d9f4ff 55%,
            #edfaff
        );

    border: 1px solid #c9eaf6;
    border-radius: 17px;

    box-shadow: var(--shadow);
}

.category-hero::before {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: 50px;
    top: -110px;

    border: 1px solid rgba(17, 152, 217, 0.12);
    border-radius: 50%;
}

.category-hero::after {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    right: 145px;
    top: -50px;

    border: 1px solid rgba(7, 159, 52, 0.12);
    border-radius: 50%;
}

.category-hero-content {
    position: relative;
    z-index: 4;

    width: 53%;
}

.hero-small-title {
    display: block;

    margin-bottom: 2px;

    color: var(--navy);

    font-size: 10px;
    font-weight: 700;
}

.category-hero h1 {
    margin-bottom: 8px;

    color: var(--navy);

    font-size: 29px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -1px;
}

.category-hero h1 span {
    color: var(--primary);
}

.category-hero p {
    max-width: 330px;

    margin-bottom: 15px;

    color: #557087;

    font-size: 9.5px;
    line-height: 1.6;
}

.hero-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 10px 16px;

    color: white;

    background: var(--primary);

    border-radius: 20px;

    font-size: 9px;
    font-weight: 600;

    box-shadow:
        0 7px 16px rgba(7, 159, 52, 0.18);
}

.hero-button i {
    font-size: 8px;
}


/* =========================================================
   HERO IMAGE
========================================================= */

.category-hero-image {
    position: absolute;

    z-index: 2;

    right: 35px;
    bottom: 0;

    width: 45%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.category-hero-image::before {
    content: "";

    position: absolute;

    width: 245px;
    height: 245px;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,0.95),
            rgba(180,232,250,0.35)
        );

    border-radius: 50%;
}

.category-hero-image img {
    position: relative;
    z-index: 2;

    width: 230px;
    height: 190px;

    object-fit: cover;

    border-radius: 20px;

    mix-blend-mode: multiply;

    opacity: 0.94;
}


/* =========================================================
   HERO BADGES
========================================================= */

.hero-badge {
    position: absolute;
    z-index: 8;

    display: flex;
    align-items: center;
    gap: 8px;

    padding: 9px 12px;

    background: rgba(255,255,255,0.95);

    border: 1px solid #d4ebf4;
    border-radius: 10px;

    box-shadow:
        0 8px 20px rgba(27, 95, 125, 0.11);
}

.hero-badge > i {
    width: 26px;
    height: 26px;

    display: grid;
    place-items: center;

    color: var(--primary);
    background: #e9f9f0;

    border-radius: 50%;

    font-size: 11px;
}

.hero-badge strong,
.hero-badge span {
    display: block;
}

.hero-badge strong {
    color: var(--navy);
    font-size: 8px;
}

.hero-badge span {
    margin-top: 1px;
    color: #8295a7;
    font-size: 6.5px;
}

.badge-best {
    top: 54px;
    right: 285px;
}

.badge-compare {
    right: 105px;
    top: 78px;
}

.badge-verified {
    right: 50px;
    bottom: 45px;
}


/* =========================================================
   PRODUCT TOOLBAR
========================================================= */

.product-toolbar {
    min-height: 54px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 14px;
    padding: 0 16px;

    background: rgba(255,255,255,0.86);

    border: 1px solid #d9edf6;
    border-radius: 13px;

    box-shadow: var(--shadow);
}

.product-count {
    color: #657a8f;
    font-size: 10px;
}

.product-count strong {
    color: var(--navy);
}

.toolbar-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sort-button {
    height: 34px;

    display: flex;
    align-items: center;
    gap: 5px;

    padding: 0 12px;

    color: #70869a;
    background: white;

    border: 1px solid #dcecf3;
    border-radius: 17px;

    font-size: 8.5px;

    position: relative;
}

.sort-button strong {
    color: var(--navy);
}

.sort-button i {
    margin-left: 4px;
    font-size: 7px;
}

.view-button {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    color: #8297a9;
    background: white;

    border: 1px solid #dcecf3;
    border-radius: 8px;

    font-size: 11px;
}

.view-button.active {
    color: var(--blue);
    background: #eef9ff;
    border-color: #bfe4f4;
}


/* =========================================================
   SECTION COMMON
========================================================= */

.brands-section,
.products-section,
.recent-section,
.related-section {
    margin-top: 14px;

    padding: 17px;

    background: rgba(255,255,255,0.82);

    border: 1px solid #d9edf6;
    border-radius: 15px;

    box-shadow: var(--shadow);
}

.section-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 14px;
}

.section-top h2 {
    color: var(--navy);

    font-size: 13px;
    font-weight: 700;
}

.section-top a {
    display: flex;
    align-items: center;
    gap: 5px;

    color: var(--blue);

    font-size: 8px;
    font-weight: 600;
}

.section-top a i {
    font-size: 7px;
}


/* =========================================================
   BRANDS
========================================================= */

.brand-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 8px;
}

.brand-card {
    height: 62px;

    display: grid;
    place-items: center;

    background: white;

    border: 1px solid #e2eff5;
    border-radius: 9px;

    transition: 0.25s ease;
}

.brand-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover);
}

.brand-card strong {
    font-size: 13px;
}

.brand-apple {
    color: #111;
}

.brand-samsung {
    color: #142f82;
    font-size: 9px !important;
}

.brand-xiaomi {
    color: #ff6900;
}

.brand-realme {
    color: #111;
    font-weight: 500;
}

.brand-vivo {
    color: #1674e8;
}

.brand-oppo {
    color: #19994a;
}

.brand-oneplus {
    color: #ef313b;
    font-size: 7px !important;
}

.brand-motorola {
    color: #1e6db5;
    font-size: 8px !important;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.product-card {
    position: relative;

    min-height: 300px;

    padding: 12px;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fafdff
        );

    border: 1px solid #d9edf6;
    border-radius: 11px;

    overflow: hidden;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.product-card:hover {
    transform: translateY(-4px);

    border-color: #bde2f0;

    box-shadow:
        0 14px 30px rgba(35, 105, 135, 0.12);
}


/* =========================================================
   PRODUCT LABEL
========================================================= */

.product-label {
    position: absolute;

    top: 9px;
    left: 9px;

    padding: 4px 7px;

    border-radius: 6px;

    font-size: 6px;
    font-weight: 700;

    z-index: 3;
}

.product-label.green {
    color: #078b38;
    background: #e5f9ed;
}

.product-label.offer {
    color: #0c9d3d;
    background: #e5f9ed;
}

.product-label.blue {
    color: #1686cf;
    background: #e8f7ff;
}

.product-label.teal {
    color: #0b9985;
    background: #e5faf7;
}


/* =========================================================
   WISHLIST
========================================================= */

.wishlist {
    position: absolute;

    top: 8px;
    right: 8px;

    width: 26px;
    height: 26px;

    display: grid;
    place-items: center;

    color: #ff6681;
    background: white;

    border: 1px solid #e2edf2;
    border-radius: 50%;

    z-index: 5;

    transition: 0.2s ease;
}

.wishlist:hover,
.wishlist.liked {
    color: white;
    background: #ff6681;
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-image {
    height: 155px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 12px;
    margin-bottom: 8px;

    background: #fbfdff;

    border-radius: 8px;
}

.product-image img {
    width: 85%;
    height: 145px;

    object-fit: contain;

    transition: 0.3s ease;
}

.product-card:hover .product-image img {
    transform: scale(1.04);
}


/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.product-card h3 {
    min-height: 30px;

    margin-bottom: 4px;

    color: var(--navy);

    font-size: 9px;
    line-height: 1.45;
    font-weight: 600;
}

.product-price {
    color: var(--navy);

    font-size: 13px;
    font-weight: 800;
}

.product-price del {
    margin-left: 4px;

    color: #9babb9;

    font-size: 7px;
    font-weight: 400;
}

.rating {
    display: flex;
    align-items: center;
    gap: 4px;

    margin-top: 4px;

    font-size: 7px;
}

.rating span {
    color: var(--yellow);
    font-weight: 600;
}

.rating small {
    color: #8396a8;
    font-size: 6.5px;
}

.stock {
    display: flex;
    align-items: center;
    gap: 5px;

    margin-top: 5px;

    color: #22a95a;

    font-size: 7px;
}

.stock span {
    width: 6px;
    height: 6px;

    background: #1abb59;
    border-radius: 50%;
}

.compare-check {
    display: flex;
    align-items: center;
    gap: 5px;

    margin-top: 8px;

    color: #64798d;

    font-size: 7.5px;

    cursor: pointer;
}

.compare-check input {
    width: 11px;
    height: 11px;

    accent-color: var(--primary);
}


/* =========================================================
   PAGINATION
========================================================= */

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    margin: 17px 0;
}

.pagination button {
    width: 31px;
    height: 31px;

    display: grid;
    place-items: center;

    color: #597087;
    background: white;

    border: 1px solid #dcecf4;
    border-radius: 8px;

    font-size: 8px;

    transition: 0.2s ease;
}

.pagination button:hover {
    color: var(--primary);
    border-color: var(--primary);
}

.pagination button.active {
    color: white;
    background: var(--blue);
    border-color: var(--blue);
}

.pagination button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.pagination span {
    color: #8ba0b2;
    font-size: 10px;
}


/* =========================================================
   RECENTLY VIEWED
========================================================= */

.recent-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
}

.recent-product {
    min-height: 80px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 7px;

    background: #fbfeff;

    border: 1px solid #e0eef4;
    border-radius: 9px;

    transition: 0.2s ease;
}

.recent-product:hover {
    transform: translateY(-2px);
    border-color: #bfe3ef;
}

.recent-product img {
    width: 48px;
    height: 48px;

    object-fit: contain;
}

.recent-product span {
    margin-top: 3px;

    color: var(--navy);

    font-size: 6.5px;
    font-weight: 600;

    text-align: center;
}


/* =========================================================
   RELATED CATEGORIES
========================================================= */

.related-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 8px;
}

.related-grid a {
    min-height: 70px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;

    padding: 7px;

    color: #526a82;

    background: #fbfeff;

    border: 1px solid #e0eef4;
    border-radius: 9px;

    font-size: 7px;
    font-weight: 500;

    text-align: center;

    transition: 0.2s ease;
}

.related-grid a i {
    color: var(--blue);
    font-size: 18px;
}

.related-grid a:hover {
    color: var(--primary);
    transform: translateY(-2px);
    border-color: #bde4ef;
}


/* =========================================================
   NEWSLETTER
========================================================= */

/* =========================================================
   RESPONSIVE — 1100px
========================================================= */

@media (max-width: 940px) {

    .category-layout {
        grid-template-columns: 200px 1fr;
    }

}


/* =========================================================
   RESPONSIVE — 900px
========================================================= */

@media (max-width: 900px) {

    .container {
        width: min(100% - 30px, 1200px);
    }

    .category-layout {
        grid-template-columns: 180px 1fr;
    }

    .product-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .brand-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .related-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .recent-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


/* =========================================================
   RESPONSIVE — 700px
========================================================= */

@media (max-width: 700px) {

    .category-layout {
        grid-template-columns: 1fr;
    }

    .category-sidebar {
        display: none;
    }

    /* Mobile filter: show sidebar as overlay */
    .category-sidebar.mobile-visible {
        display: flex;
        position: fixed;
        inset: 0;
        top: 0;
        z-index: 1100;
        overflow-y: auto;
        padding: 20px;
        background:
            rgba(3, 30, 67, 0.55);
    }

    .category-sidebar.mobile-visible .sidebar-card {
        flex-shrink: 0;
        background: rgba(255, 255, 255, 0.99);
    }

    .mobile-filter-button {
        display: inline-flex;
        align-items: center;
        gap: 6px;

        margin-right: auto;

        padding: 0 14px;

        height: 34px;

        color: white;
        background: var(--blue);

        border-radius: 9px;

        font-size: 9px;
        font-weight: 600;
    }

    .category-hero {
        min-height: 300px;

        padding: 25px;
    }

    .category-hero-content {
        width: 60%;
    }

    .category-hero h1 {
        font-size: 24px;
    }

    .category-hero-image {
        width: 48%;
        right: -15px;
    }

    .hero-badge {
        display: none;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-card {
        min-height: 290px;
    }

    .brand-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .related-grid {
        grid-template-columns: repeat(4, 1fr);
    }

}


/* =========================================================
   RESPONSIVE — 480px
========================================================= */

@media (max-width: 480px) {

    body {
        font-size: 12px;
    }

    .container {
        width: calc(100% - 20px);
    }

    .category-hero {
        min-height: 350px;

        align-items: flex-start;
    }

    .category-hero-content {
        width: 100%;
    }

    .category-hero-image {
        width: 100%;
        height: 180px;

        right: 0;
        bottom: -20px;
    }

    .category-hero-image img {
        width: 210px;
    }

    .product-toolbar {
        padding: 0 10px;
    }

    .product-count {
        font-size: 8px;
    }

    .sort-button {
        padding: 0 8px;
    }

    .view-button {
        width: 29px;
        height: 29px;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 7px;
    }

    .product-card {
        padding: 9px;
        min-height: 280px;
    }

    .product-image {
        height: 130px;
    }

    .product-image img {
        height: 120px;
    }

    .product-price {
        font-size: 11px;
    }

    .brand-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .recent-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .related-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
   JS-GENERATED COMPONENTS
========================================================= */

/* ---- Filter collapse (JS uses .filter-collapsed) ---- */

.filter-group.filter-collapsed label,
.filter-group.filter-collapsed .price-inputs,
.filter-group.filter-collapsed .range-slider,
.filter-group.filter-collapsed .show-more {
    display: none;
}

/* ---- Sort dropdown ---- */

.toolbar-actions {
    position: relative;
}

.sort-dropdown {
    position: absolute;

    top: calc(100% + 8px);
    right: 0;

    z-index: 60;

    min-width: 150px;

    padding: 7px;

    background: rgba(255, 255, 255, 0.98);

    border: 1px solid #d9edf7;
    border-radius: 10px;

    box-shadow:
        0 16px 40px rgba(18, 70, 105, 0.16);
}

.sort-dropdown button {
    display: block;
    width: 100%;

    padding: 7px 10px;

    color: #526a82;
    background: transparent;

    text-align: left;

    border-radius: 7px;

    font-size: 9px;

    transition: 0.2s ease;
}

.sort-dropdown button:hover {
    color: var(--primary);
    background: #eefbf5;
}

/* ---- Compare floating bar ---- */

.compare-selected {
    border-color: var(--primary);

    box-shadow:
        0 0 0 2px rgba(7, 159, 52, 0.25),
        var(--shadow-hover);
}

.compare-floating-bar {
    position: fixed;
    bottom: 20px;
    left: 50%;

    z-index: 999;

    display: flex;
    align-items: center;
    gap: 14px;

    padding: 11px 18px;

    color: white;
    background: rgba(3, 30, 67, 0.94);

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 40px;

    box-shadow:
        0 18px 44px rgba(3, 30, 67, 0.4);

    transform: translateX(-50%);

    font-size: 9px;
    white-space: nowrap;
}

.compare-floating-bar .compare-count {
    color: var(--yellow);
    font-size: 13px;
}

.compare-floating-bar button {
    padding: 7px 14px;

    border-radius: 18px;

    font-size: 8.5px;
    font-weight: 600;
}

.compare-floating-bar .compare-now {
    color: white;
    background: var(--primary);
}

.compare-floating-bar .compare-clear {
    color: #b9cdd9;
    background: rgba(255, 255, 255, 0.12);
}

/* ---- Site notification toast ---- */

.site-notification {
    position: fixed;
    top: 20px;
    left: 50%;

    z-index: 2000;

    display: flex;
    align-items: center;
    gap: 9px;

    padding: 12px 20px;

    color: white;
    background: rgba(3, 30, 67, 0.96);

    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 30px;

    box-shadow:
        0 14px 40px rgba(3, 30, 67, 0.4);

    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -16px);

    transition:
        0.3s ease;

    font-size: 9.5px;
    white-space: nowrap;
}

.site-notification.show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.site-notification i {
    color: #2fd87d;
    font-size: 13px;
}

/* ---- List view ---- */

.product-grid.list-view {
    grid-template-columns: 1fr;
}

.product-grid.list-view .product-card {
    display: flex;
    align-items: center;
    gap: 16px;

    min-height: 0;
}

.product-grid.list-view .product-image {
    width: 110px;
    height: 110px;
    flex-shrink: 0;
    margin: 0;
}

.product-grid.list-view .product-image img {
    width: 100%;
    height: 100%;
}

/* The store badge is a normal inline element in both views now, so list view
   needs no corner positioning for it. */

.product-grid.list-view .product-card h3 {
    min-height: 0;
    margin: 0;
}

.product-grid.list-view .product-card .compare-check {
    margin-left: auto;
    margin-top: 0;
}

@media (max-width: 700px) {
    .product-grid.list-view .product-card {
        flex-wrap: wrap;
    }

    .product-grid.list-view .product-card .compare-check {
        margin-left: 0;
    }
}

/* ---- Mobile filter button (hidden on desktop) ---- */

.mobile-filter-button {
    display: none;
}

/* ---- Show-more hidden brands ---- */

.filter-group .hidden-filter {
    display: none;
}

.filter-group.more-open .hidden-filter {
    display: flex;
}

/* ---- Out-of-stock card ---- */

.product-card .stock.out {
    color: #d92d20;
}

.product-card .stock.out span {
    background: #d92d20;
}

@media (max-width: 700px) {
    .mobile-filter-button {
        display: inline-flex;
        align-items: center;
        gap: 6px;

        margin-right: auto;

        padding: 0 14px;

        height: 34px;

        color: white;
        background: var(--blue);

        border-radius: 9px;

        font-size: 9px;
        font-weight: 600;

        cursor: pointer;
        border: none;
    }
}

/* =========================================================
   INDEX HEADER / FOOTER (ported from index.html)
========================================================= */

/* ===== INDEX SITE HEADER ===== */
    .max-w-7xl { max-width: 80rem; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
    @media (min-width: 640px) { .max-w-7xl { padding-left: 1.5rem; padding-right: 1.5rem; } }
    @media (min-width: 1024px) { .max-w-7xl { padding-left: 2rem; padding-right: 2rem; } }

/* ==========================================================
       HEADER
    ========================================================== */
    .brand-name .row { display: flex; align-items: baseline; gap: 2px; }
    .brand-name .row span { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; }
    .brand-name .sub { font-size: 10.5px; font-weight: 600; letter-spacing: 0.05em; color: #64748b; text-transform: none; margin-top: -2px; margin-left: 2px; }

    .nav-links { display: none; gap: 2rem; font-size: 14.5px; font-weight: 500; color: #334155; }
    @media (min-width: 1024px) { .nav-links { display: flex; } }
    .nav-links a, .nav-links button { background: none; border: none; cursor: pointer; color: #334155; position: relative; padding: 4px 0; font-family: inherit; font-size: 14.5px; }
    .nav-links a:hover, .nav-links button:hover { color: #079F34; }
    .nav-links a .underline { position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: #079F34; transition: width 0.3s; }
    .nav-links a:hover .underline { width: 100%; }
    .partner-badge { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 999px; background: #f0fdfa; color: #079F34; border: 1px solid #99f6e4; margin-left: 5px; }

    .header-actions { display: none; gap: 14px; align-items: center; }
    @media (min-width: 640px) { .header-actions { display: flex; } }
    .lang-btn {
      display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 12px;
      font-size: 12px; font-weight: 600; color: #334155; background: none; border: 1px solid rgba(226,232,240,0.8);
      cursor: pointer; font-family: inherit;
    }
    .lang-btn:hover { background: rgba(255,255,255,0.8); }
    .lg-dropdown {
      position: absolute; right: 0; top: calc(100% + 8px); width: 150px; z-index: 50;
      background: rgba(255,255,255,0.95); backdrop-filter: blur(12px); border-radius: 12px;
      border: 1px solid rgba(226,232,240,0.8); box-shadow: 0 10px 30px rgba(0,0,0,0.15); padding: 6px 0;
    }
    .lg-dropdown button { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; text-align: left; font-size: 12px; font-weight: 500; background: none; border: none; cursor: pointer; font-family: inherit; }
    .lg-dropdown button:hover { background: #f0fdfa; color: #079F34; }
    .login-btn { padding: 8px 16px; font-size: 14px; font-weight: 600; color: #334155; background: none; border: none; cursor: pointer; border-radius: 12px; font-family: inherit; }
    .login-btn:hover { background: rgba(255,255,255,0.8); }
    .cta-btn {
      display: flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 999px;
      background: linear-gradient(90deg,#1d4ed8,#079F34); color: #fff; font-size: 14px; font-weight: 600;
      border: none; cursor: pointer; box-shadow: 0 4px 14px rgba(29,78,216,0.25); font-family: inherit;
      transition: all 0.3s;
    }
    .cta-btn:hover { transform: scale(1.02); box-shadow: 0 6px 20px rgba(29,78,216,0.35); }

    .mobile-actions { display: flex; align-items: center; gap: 8px; }
    @media (min-width: 640px) { .mobile-actions { display: none; } }
    .mobile-compare { padding: 6px 12px; border-radius: 999px; background: #1d4ed8; color: #fff; font-size: 12px; font-weight: 700; border: none; cursor: pointer; }
    .hamburger { padding: 8px; border-radius: 12px; background: rgba(255,255,255,0.8); border: 1px solid #e2e8f0; cursor: pointer; display: flex; }
    .mobile-menu { display: none; margin-top: 8px; padding: 16px; background: rgba(255,255,255,0.95); backdrop-filter: blur(20px); border-radius: 16px; border: 1px solid rgba(226,232,240,0.8); box-shadow: 0 20px 50px rgba(0,0,0,0.15); }
    .mobile-menu.open { display: block; }
    .mobile-menu a, .mobile-menu button { display: block; width: 100%; text-align: left; padding: 8px 12px; border-radius: 8px; font-size: 14px; font-weight: 500; color: #1e293b; text-decoration: none; border: none; background: none; cursor: pointer; font-family: inherit; }
    .mobile-menu a:hover, .mobile-menu button:hover { background: #f8fafc; }
/* ===== INDEX CHIPS (lang) ===== */
    .chips-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12px; }
    .chips-row .lbl { font-weight: 600; color: #64748b; margin-right: 4px; }
    .chip { padding: 4px 12px; border-radius: 999px; background: rgba(255,255,255,0.7); color: #334155; font-weight: 500; border: 1px solid rgba(226,232,240,0.7); cursor: pointer; font-family: inherit; transition: all 0.2s; }
    .chip:hover { background: #fff; color: #079F34; transform: scale(1.05); }
/* ===== INDEX TOAST ===== */
    .toast {
      position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 60;
      background: rgba(15,23,42,0.75); color: #fff; font-size: 12px; font-weight: 600;
      padding: 10px 20px; border-radius: 999px; box-shadow: 0 20px 40px rgba(0,0,0,0.3);
      backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.15);
      display: flex; align-items: center; gap: 8px; opacity: 0; transition: opacity 0.3s; pointer-events: none;
    }
    .toast.show { opacity: 1; }
    .toast svg { width: 15px; height: 15px; color: #2dd4bf; }
/* ===== INDEX GLASS FOOTER ===== */
    /* =========================================================
       OLLCORRECT PREMIUM GLASS FOOTER
    ========================================================== */
    .oll-footer {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      margin: 24px 20px 20px;
      border-radius: 30px;
      background:
        radial-gradient(circle at 8% 20%, rgba(16, 185, 129, 0.18), transparent 30%),
        radial-gradient(circle at 92% 18%, rgba(72, 190, 255, 0.20), transparent 32%),
        radial-gradient(circle at 52% 110%, rgba(116, 167, 255, 0.16), transparent 38%),
        linear-gradient(135deg, rgba(241, 253, 251, 0.94), rgba(238, 248, 255, 0.90));
      border: 1px solid rgba(255,255,255,0.88);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.95),
        inset 4px 4px 12px rgba(255,255,255,0.75),
        inset -5px -6px 14px rgba(145,190,205,0.12),
        0 20px 55px rgba(45, 85, 110, 0.12);
      backdrop-filter: blur(28px) saturate(150%);
      -webkit-backdrop-filter: blur(28px) saturate(150%);
    }
    .oll-footer-orb {
      position: absolute;
      pointer-events: none;
      border-radius: 50%;
      z-index: -1;
      background: rgba(255,255,255,0.18);
      border: 1px solid rgba(255,255,255,0.65);
      box-shadow:
        inset 8px 8px 14px rgba(255,255,255,0.65),
        inset -8px -8px 15px rgba(95,170,190,0.10),
        0 15px 35px rgba(65,130,160,0.08);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .oll-footer-orb-1 { width: 210px; height: 210px; left: -80px; top: 90px; }
    .oll-footer-orb-2 { width: 280px; height: 280px; right: -110px; top: -150px; }
    .oll-footer-orb-3 { width: 170px; height: 170px; left: 48%; bottom: -110px; }
    .oll-footer-inner { position: relative; z-index: 2; padding: 42px 42px 24px; }
    .oll-footer-top {
      display: grid;
      grid-template-columns: 1.45fr 0.8fr 1.15fr 1.05fr 1.25fr;
      gap: 42px;
      align-items: start;
    }
    .oll-footer-brand { max-width: 290px; }
.oll-footer-logo { display: inline-flex; align-items: center; text-decoration: none; margin-bottom: 18px; gap: 2px; }
    .oll-footer-logo img { width: 140px; height: 52px; object-fit: contain; object-position: left center; display: block; }
    .oll-footer-brandname { display: flex; flex-direction: column; margin-left: -14px; }
    .oll-footer-brandline { color: #0b1938; font-size: 21px; font-weight: 900; line-height: 1; letter-spacing: -0.02em; }
    .oll-footer-brandsub { color: #617493; font-size: 11px; font-weight: 700; letter-spacing: 0.04em; margin-top: 3px; }
    .oll-footer-brand-text { margin: 0; color: #617493; font-size: 13px; line-height: 1.65; font-weight: 500; }
    .oll-footer-tagline { margin-top: 17px; color: #079b82; font-size: 12px; font-weight: 800; letter-spacing: -0.01em; }
    .oll-footer-column h4 { margin: 4px 0 17px; color: #0b1938; font-size: 12px; font-weight: 900; letter-spacing: 0.06em; }
    .oll-footer-column > a {
      position: relative;
      display: block;
      width: fit-content;
      margin-bottom: 11px;
      color: #617493;
      font-size: 12px;
      line-height: 1.35;
      font-weight: 500;
      text-decoration: none;
      transition: color 0.25s ease, transform 0.25s ease;
    }
    .oll-footer-column > a:hover { color: #079b82; transform: translateX(3px); }
    .oll-search-tags { display: flex; flex-wrap: wrap; gap: 8px; max-width: 260px; }
    .oll-search-tags a {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 5px 10px;
      border-radius: 9px;
      color: #617493;
      font-size: 10px;
      font-weight: 600;
      text-decoration: none;
      background: rgba(255,255,255,0.42);
      border: 1px solid rgba(255,255,255,0.72);
      box-shadow:
        inset 1px 1px 3px rgba(255,255,255,0.85),
        inset -1px -1px 3px rgba(90,130,150,0.05),
        0 4px 10px rgba(50,90,110,0.035);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
    }
    .oll-search-tags a:hover { transform: translateY(-2px); color: #079F34; background: rgba(220,250,243,0.72); }
    .oll-footer-divider {
      height: 1px;
      margin: 28px 0 20px;
      background: linear-gradient(90deg, transparent, rgba(105,145,165,0.20) 15%, rgba(105,145,165,0.20) 85%, transparent);
    }
    .oll-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
    .oll-footer-payments { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
    .oll-payment-label { margin-right: 5px; color: #64748b; font-size: 10px; font-weight: 900; letter-spacing: 0.04em; }
    .oll-payment {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 42px;
      height: 23px;
      padding: 0 8px;
      border-radius: 6px;
      background: rgba(255,255,255,0.70);
      border: 1px solid rgba(255,255,255,0.90);
      box-shadow: 0 3px 8px rgba(30,70,90,0.05), inset 0 1px 0 rgba(255,255,255,1);
      font-size: 8px;
      font-weight: 900;
    }
    .oll-payment.visa { color: #334155; }
    .oll-payment.mastercard { color: #475569; min-width: 69px; }
    .oll-payment.rupay { color: #2563eb; }
    .oll-payment.upi { color: #0d9488; }
    .oll-payment.paytm { color: #0ea5e9; }
    .oll-secure {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      margin-left: 5px;
      color: #10a982;
      font-size: 9px;
      font-weight: 700;
    }
    .oll-secure-icon {
      width: 16px;
      height: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      border: 1px solid rgba(16,185,129,0.35);
      background: rgba(220,252,246,0.55);
      font-size: 9px;
    }
    .oll-footer-copy { color: #8191a8; font-size: 10px; font-weight: 500; text-align: right; }
    .oll-footer::before {
      content: "";
      position: absolute;
      left: 8%;
      top: 0;
      width: 34%;
      height: 90px;
      background: radial-gradient(ellipse, rgba(255,255,255,0.85), rgba(255,255,255,0));
      filter: blur(14px);
      pointer-events: none;
    }
    @media (max-width: 940px) {
      .oll-footer-top { grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
      .oll-footer-brand { grid-row: span 2; }
    }
    @media (max-width: 760px) {
      .oll-footer { margin: 18px 12px 12px; border-radius: 24px; }
      .oll-footer-inner { padding: 30px 24px 20px; }
      .oll-footer-top { grid-template-columns: repeat(2, 1fr); gap: 30px 24px; }
      .oll-footer-brand { grid-column: 1 / -1; grid-row: auto; max-width: 100%; }
      .oll-footer-bottom { flex-direction: column; align-items: flex-start; }
      .oll-footer-copy { text-align: left; }
    }
    @media (max-width: 480px) {
      .oll-footer-top { grid-template-columns: 1fr; }
      .oll-footer-searches { max-width: 100%; }
      .oll-footer-inner { padding: 26px 18px 18px; }
      .oll-footer-divider { margin: 24px 0 18px; }
      .oll-footer-payments { gap: 6px; }
    }

/* =========================================================
   CATEGORY STRIP (horizontal boxes)
========================================================= */

.category-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;

    padding: 14px 0 10px;
}

.category-strip::-webkit-scrollbar {
    height: 4px;
}

.category-strip::-webkit-scrollbar-thumb {
    background: rgba(148,163,184,0.35);
    border-radius: 999px;
}

/* =========================================================
   MAIN CATEGORY CARD (strip)
========================================================= */

.category-card {
    min-height: 104px;

    display: flex;
    align-items: center;

    padding: 12px 15px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.94),
            rgba(255,255,255,0.72)
        );

    border: 1px solid rgba(255,255,255,0.92);

    border-radius: 16px;

    box-shadow:
        0 8px 24px rgba(15, 40, 70, 0.07),
        inset 1px 1px 0 rgba(255,255,255,0.95),
        inset -1px -1px 0 rgba(220,230,240,0.35);

    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);

    position: relative;
    overflow: hidden;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.category-card::before {
    content: "";

    position: absolute;

    width: 90px;
    height: 90px;

    top: -48px;
    right: -35px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,0.85),
            rgba(255,255,255,0)
        );

    pointer-events: none;
    z-index: 0;
}

.category-card:hover {
    transform: translateY(-2px);

    border-color: rgba(16, 185, 129, 0.55);

    box-shadow:
        0 14px 30px rgba(15, 40, 70, 0.11),
        inset 1px 1px 0 rgba(255,255,255,1);
}

.category-card.active {
    border-color: rgba(16, 185, 129, 0.6);
    box-shadow:
        inset 0 0 0 1px rgba(16, 185, 129, 0.18),
        0 14px 30px rgba(16, 185, 129, 0.14);
}

.category-card .category-icon {
    width: 52px;
    height: 52px;

    min-width: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-right: 13px;

    border-radius: 50%;

    font-size: 20px;

    position: relative;
    z-index: 1;

    box-shadow:
        inset 3px 3px 8px rgba(255,255,255,0.9),
        inset -3px -3px 8px rgba(180,200,220,0.18),
        0 5px 12px rgba(30,70,110,0.06);
}

.category-card .category-icon.green {
    color: #079f34;

    background:
        radial-gradient(
            circle at 35% 30%,
            #ffffff,
            #e9f8ef 52%,
            #d9f1e2
        );
}

.category-card .category-icon.blue {
    color: #1556c0;

    background:
        radial-gradient(
            circle at 35% 30%,
            #ffffff,
            #edf3ff 52%,
            #e1ebff
        );
}

.category-card .category-icon img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    border-radius: 50%;

    position: relative;
    z-index: 1;

    display: block;
}

.category-card .category-content {
    min-width: 0;
    position: relative;
    z-index: 1;
}

.category-card .category-content h3 {
    margin: 0 0 5px;

    font-size: 12px;
    line-height: 1.15;

    font-weight: 800;

    color: #101827;

    white-space: nowrap;
}

.category-card .category-content p {
    margin: 0 0 7px;

    font-size: 9px;
    line-height: 1.45;

    font-weight: 500;

    color: #526071;
}

.category-card .category-content span {
    display: inline-flex;
    align-items: center;

    padding: 3px 8px;

    border-radius: 999px;

    background: rgba(241,245,249,0.9);

    color: #334155;

    font-size: 8px;
    font-weight: 600;

    border: 1px solid rgba(226,232,240,0.8);
}

.category-card.explore-card .explore-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 4px 9px;

    border: 1px solid #dce5f0;

    border-radius: 999px;

    background: rgba(255,255,255,0.75);

    color: #031e43;

    font-size: 8px;
    font-weight: 700;

    cursor: pointer;

    transition: all 0.2s ease;
}

.category-card.explore-card .explore-btn i {
    color: #079f34;
    font-size: 7px;
}

.category-card.explore-card .explore-btn:hover {
    background: #079f34;
    color: #fff;
}

.category-card.explore-card .explore-btn:hover i {
    color: #fff;
}

/* =========================================================
   CATEGORY STRIP — responsive columns
========================================================= */

@media (max-width: 1024px) {
    .category-strip {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 860px) {
    .category-strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .category-card {
        min-height: 98px;
        padding: 10px 13px;
    }
}

@media (max-width: 640px) {
    .category-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .category-card {
        min-height: 92px;
        padding: 10px;
    }

    .category-card .category-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;

        margin-right: 9px;

        font-size: 16px;
    }

    .category-card .category-content h3 {
        font-size: 10px;
    }

    .category-card .category-content p {
        font-size: 7.5px;
    }

    .category-card .category-content span {
        font-size: 6.5px;
        padding: 3px 6px;
    }
}

@media (max-width: 420px) {
    .category-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   WATER-DROP GLASS OVERRIDES (mirrors index.html look)
========================================================= */

.sidebar-card,
.product-card,
.product-toolbar,
.brands-section,
.products-section,
.recent-section,
.related-section,
.category-search.header-search,
.category-hero,
.sort-dropdown {
    background-color: rgba(255, 255, 255, 0.30) !important;
    -webkit-backdrop-filter: blur(30px) saturate(150%) !important;
    backdrop-filter: blur(30px) saturate(150%) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 16px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 8px 24px rgba(0, 0, 0, 0.06) !important;
    transition: all 0.3s ease;
}

.product-card:hover,
.brand-card:hover {
    border-color: rgba(16, 185, 129, 0.55) !important;
    transform: translateY(-2px) !important;
}

.brand-card {
    background-color: rgba(255, 255, 255, 0.30) !important;
    -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
    backdrop-filter: blur(24px) saturate(150%) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 12px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.pagination {
    margin: 18px 0;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.30) !important;
    -webkit-backdrop-filter: blur(30px) saturate(150%) !important;
    backdrop-filter: blur(30px) saturate(150%) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 8px 24px rgba(0, 0, 0, 0.06) !important;
}

.pagination button {
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 2px 6px rgba(0, 0, 0, 0.04);
}

.pagination button:hover {
    border-color: var(--primary);
}

.pagination button.active {
    background: var(--blue);
    border-color: var(--blue);
}

.sort-button,
.view-button {
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 2px 6px rgba(0, 0, 0, 0.04);
}

.view-button.active {
    background: #eef9ff;
    border-color: #bfe4f4;
}

.product-label.green,
.product-label.offer {
    background: rgba(229, 249, 237, 0.85);
}

.product-label.blue {
    background: rgba(232, 247, 255, 0.85);
}

/* ---- Store filter icons ---- */

.store-filter-icon {
    width: 18px;
    height: 18px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
}

.filter-group label[data-filter="store"] {
    gap: 8px;
}


/* =========================================================
   CATEGORY HERO — water-drop glass (new design)
   Appended at end → wins cascade over old hero (block 501+)
========================================================= */

.category-hero {
    position: relative;
    min-height: 245px;

    display: flex;
    align-items: center;

    overflow: hidden;

    padding: 34px 32px;
}

.category-hero .hero-glow {
    position: absolute;
    z-index: 0;
    pointer-events: none;

    border-radius: 50%;
    filter: blur(50px);
}

.category-hero .hero-glow-green {
    width: 300px;
    height: 300px;

    right: -60px;
    top: -120px;

    background: radial-gradient(
        circle,
        rgba(111, 220, 177, 0.45),
        transparent 65%
    );
}

.category-hero .hero-glow-blue {
    width: 260px;
    height: 260px;

    right: -20px;
    bottom: -140px;

    background: radial-gradient(
        circle,
        rgba(65, 215, 245, 0.40),
        transparent 65%
    );
}

.hero-container {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    gap: 30px;

    width: 100%;
}

.hero-content {
    flex: 1 1 52%;

    min-width: 0;
}

.category-hero .hero-badge {
    position: static;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 14px;

    padding: 8px 14px;

    border-radius: 999px;

    background-color: rgba(255, 255, 255, 0.301);
    -webkit-backdrop-filter: blur(30px) saturate(150%);
    backdrop-filter: blur(30px) saturate(150%);

    border: 1px solid rgba(255, 255, 255, 0.55);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 6px 16px rgba(0, 0, 0, 0.06);

    color: var(--navy);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.category-hero .hero-badge .india-flag {
    font-size: 14px;
    line-height: 1;
}

.category-hero h1 {
    margin-bottom: 10px;

    color: var(--navy);

    font-size: clamp(27px, 2.6vw, 38px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -1px;
}

.category-hero h1 .green-text {
    color: var(--primary);
}

.category-hero h1 .blue-text {
    color: var(--blue);
}

.category-hero .hero-description {
    max-width: 470px;

    margin-bottom: 18px;

    color: #56718c;

    font-size: 12px;
    line-height: 1.6;
}

.hero-search {
    display: flex;
    align-items: center;
    gap: 7px;

    max-width: 620px;

    margin-bottom: 16px;

    padding: 7px;

    border-radius: 16px;

    background-color: rgba(255, 255, 255, 0.301);
    -webkit-backdrop-filter: blur(30px) saturate(150%);
    backdrop-filter: blur(30px) saturate(150%);

    border: 1px solid rgba(255, 255, 255, 0.55);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 6px 16px rgba(0, 0, 0, 0.06);
}

.hero-search .location-select {
    display: flex;
    align-items: center;
    gap: 7px;

    padding: 0 10px;

    border-right: 1px solid rgba(11, 42, 66, 0.18);

    color: var(--navy);

    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.hero-search .location-select i:first-child {
    color: var(--primary);

    font-size: 12px;
}

.hero-search .location-select i:last-child {
    color: #8aa0b3;

    font-size: 10px;
}

.hero-search .search-input {
    flex: 1;

    display: flex;
    align-items: center;
    gap: 8px;

    min-width: 0;

    padding: 0 10px;
}

.hero-search .search-input i {
    color: #8aa0b3;

    font-size: 12px;
}

.hero-search .search-input input {
    flex: 1;

    min-width: 0;

    border: 0;
    outline: 0;

    background: transparent;

    color: var(--text);

    font-size: 12px;
}

.hero-search .search-input input::placeholder {
    color: #9db0bf;
}

.hero-search .search-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 10px 16px;

    border: 0;
    border-radius: 11px;

    cursor: pointer;

    background: linear-gradient(120deg, #0fc75c, #079f34);

    color: #fff;

    font-size: 12px;
    font-weight: 700;

    box-shadow: 0 6px 14px rgba(7, 159, 52, 0.28);

    transition: transform 0.2s, box-shadow 0.2s;
}

.hero-search .search-button:hover {
    transform: translateY(-1px);

    box-shadow: 0 8px 18px rgba(7, 159, 52, 0.34);
}

.hero-search .search-button i {
    font-size: 11px;
    font-weight: 700;
}

.hero-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.hero-benefits .benefit-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 7px 12px;

    border-radius: 12px;

    background-color: rgba(255, 255, 255, 0.301);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    backdrop-filter: blur(24px) saturate(150%);

    border: 1px solid rgba(255, 255, 255, 0.55);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 5px 12px rgba(0, 0, 0, 0.05);

    color: #3e5670;

    font-size: 10px;
    font-weight: 600;
}

.hero-benefits .benefit-icon {
    width: 22px;
    height: 22px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    font-size: 9px;

    flex-shrink: 0;
}

.hero-benefits .benefit-icon.green {
    color: var(--primary);

    background: rgba(226, 250, 239, 0.9);
}

.hero-benefits .benefit-icon.blue {
    color: var(--blue);

    background: rgba(230, 245, 255, 0.9);
}

/* ---------------- HERO VISUAL (right orbit) ---------------- */

.hero-visual {
    position: relative;

    flex: 0 0 350px;

    height: 300px;
}

.visual-orbit {
    position: absolute;

    top: 50%;
    left: 50%;

    border-radius: 50%;
}

.orbit-one {
    width: 290px;
    height: 290px;

    transform: translate(-50%, -50%);

    border: 1px dashed rgba(7, 159, 52, 0.25);
}

.orbit-two {
    width: 215px;
    height: 215px;

    transform: translate(-50%, -50%);

    border: 1px solid rgba(22, 135, 217, 0.22);
}

.category-tile {
    position: absolute;

    z-index: 3;

    width: 76px;
    height: 76px;

    display: grid;
    place-items: center;

    border-radius: 22px;

    background-color: rgba(255, 255, 255, 0.301);
    -webkit-backdrop-filter: blur(30px) saturate(150%);
    backdrop-filter: blur(30px) saturate(150%);

    border: 1px solid rgba(255, 255, 255, 0.55);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 5px 12px rgba(0, 0, 0, 0.05);

    color: var(--navy);

    font-size: 29px;
}

.tile-headphone {
    top: 18px;
    left: 50px;

    color: var(--primary);
}

.tile-laptop {
    right: 18px;
    top: 62px;

    color: var(--blue);
}

.tile-shopping {
    bottom: 20px;
    left: 24px;

    color: var(--blue);
}

.tile-sofa {
    right: 44px;
    bottom: 4px;

    color: var(--primary);
}

.center-logo-card {
    position: absolute;

    z-index: 4;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;

    padding: 12px 16px;

    border-radius: 18px;

    background-color: rgba(255, 255, 255, 0.301);
    -webkit-backdrop-filter: blur(30px) saturate(150%);
    backdrop-filter: blur(30px) saturate(150%);

    border: 1px solid rgba(255, 255, 255, 0.55);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 6px 16px rgba(0, 0, 0, 0.06);
}

.oll-logo {
    position: relative;

    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;
}

.logo-q {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border-radius: 12px;

    background: linear-gradient(135deg, #0fc75c, #048a2f);

    color: #fff;

    font-size: 21px;
    font-weight: 800;

    box-shadow: 0 6px 12px rgba(7, 159, 52, 0.3);
}

/* the check is now the main logo mark (Q removed) */
.logo-check {
    position: static;

    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border-radius: 12px;

    background: linear-gradient(135deg, #0fc75c, #048a2f);

    color: #fff;

    font-size: 19px;

    box-shadow: 0 6px 12px rgba(7, 159, 52, 0.3);

    border: none;
}

.logo-text {
    font-size: 12px;
    font-weight: 800;

    color: var(--navy);
}

/* ---- center logo card — real SVG brand logo ---- */
.center-logo-card {
    padding: 12px 18px;
    gap: 0;
}

.center-logo-img {
    display: block;

    width: 61px;
    height: 43px;

    object-fit: contain;
    object-position: center;
}

.logo-text .green-text {
    color: var(--primary);
}

.floating-ball {
    position: absolute;

    z-index: 2;

    border-radius: 50%;

    border: 1px solid rgba(255, 255, 255, 0.55);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 4px 10px rgba(0, 0, 0, 0.05);
}

.floating-ball.green-ball {
    background: rgba(120, 228, 180, 0.55);
}

.floating-ball.blue-ball {
    background: rgba(110, 208, 245, 0.55);
}

.ball-one {
    width: 30px;
    height: 30px;

    right: 30px;
    top: 2px;
}

.ball-two {
    width: 20px;
    height: 20px;

    left: 46px;
    top: 124px;
}

.ball-three {
    width: 24px;
    height: 24px;

    right: 50px;
    bottom: 26px;
}

/* ---------------- HERO RESPONSIVE ---------------- */

@media (max-width: 700px) {
    .category-hero {
        padding: 26px 20px;
    }

    .hero-container {
        flex-direction: column;
        gap: 24px;
    }

    .category-hero .hero-badge {
        font-size: 8px;
        letter-spacing: 0.2px;
    }

    .category-hero h1 {
        font-size: 24px;
    }

    .hero-search {
        flex-wrap: wrap;
    }

    .hero-search .location-select {
        width: 100%;

        padding: 0 10px 8px;

        border-right: 0;
        border-bottom: 1px solid rgba(11, 42, 66, 0.15);
    }

    .hero-search .search-button {
        justify-content: center;

        width: 100%;
    }

    .hero-visual {
        display: none;
    }
}

@media (max-width: 480px) {
    .category-hero {
        padding-top: 20px;
    }

    .category-hero h1 {
        font-size: 22px;
    }

    .hero-benefits {
        gap: 8px;
    }

    .hero-benefits .benefit-item {
        font-size: 9px;

        padding: 6px 10px;
    }
}


/* =========================================================
   HERO — anti-conflict tidy-up (appended last → wins)
   Kills old hero pseudo-orbits, restores row centering,
   keeps pill badge children inline on flex row.
========================================================= */

.category-hero::before,
.category-hero::after {
    content: none;
}

.hero-container {
    min-height: 0;
}

.hero-search .search-input {
    min-width: 0;
}

.hero-search input {
    min-width: 0;
}

@media (max-width: 700px) {
    .category-hero {
        min-height: 0;
        align-items: stretch;
    }

    .category-hero h1 {
        font-size: 25px;
    }
}

@media (max-width: 480px) {
    .category-hero {
        min-height: 0;
    }

    .category-hero h1 {
        font-size: 22px;
    }

    .hero-search {
        flex-wrap: wrap;
    }

    .hero-search .location-select {
        border-right: 0;
        border-bottom: 1px solid rgba(11, 42, 66, 0.15);
    }
}

/* =====================================================
   REVEAL-ON-CATEGORY: products + filters hidden until a
   category is clicked (only horizontal strip shows)
===================================================== */

.category-layout.products-hidden {
    display: none;
}

.category-layout.products-hidden .category-sidebar,
.category-layout.products-hidden .products-section,
.category-layout.products-hidden .pagination,
.category-layout.products-hidden .product-toolbar {
    visibility: hidden;
}


/* =========================================================
   UI SCALE-UP (wider layout + bigger fonts)
   Appended last -> wins cascade
========================================================= */

body {
    font-size: 15px;
}

.container {
    width: min(100% - 40px, 1680px);
}

.category-layout {
    grid-template-columns: 300px 1fr;
    gap: 24px;
}

/* ---- Sidebar / filters ---- */

.category-navigation {
    padding: 18px 16px;
}

.filters-card {
    padding: 5px 18px;
}

.sidebar-title {
    gap: 10px;
    padding: 4px 4px 16px;
}

.sidebar-title i {
    font-size: 17px;
}

.sidebar-title h3 {
    font-size: 17px;
}

.category-navigation li {
    min-height: 42px;
    gap: 12px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 15px;
}

.category-navigation li i {
    width: 22px;
    font-size: 16px;
}

.filter-heading h3 {
    font-size: 17px;
}

.filter-heading button {
    font-size: 13px;
}

.filter-title {
    margin-bottom: 13px;
    font-size: 15px;
}

.filter-title i {
    font-size: 13px;
}

.filter-group label {
    gap: 9px;
    margin: 10px 0;
    font-size: 14px;
}

.filter-group label input {
    width: 17px;
    height: 17px;
}

.filter-group small {
    font-size: 12px;
}

.stars {
    font-size: 16px;
    letter-spacing: -1px;
}

.show-more {
    margin-top: 7px;
    font-size: 13px;
}

.price-inputs {
    gap: 7px;
}

.price-inputs input {
    height: 40px;
    padding: 0 10px;
    border-radius: 9px;
    font-size: 14px;
}

.range-slider {
    margin-top: 16px;
}

.range-slider > span {
    width: 16px;
    height: 16px;
}

.range-line {
    height: 5px;
}

/* ---- Category strip cards ---- */

.category-card {
    min-height: 138px;
    padding: 18px 20px;
    border-radius: 20px;
}

.category-card .category-icon {
    width: 70px;
    height: 70px;
    min-width: 70px;
    margin-right: 17px;
    font-size: 28px;
}

.category-card .category-content h3 {
    margin-bottom: 7px;
    font-size: 19px;
    white-space: normal;
    text-wrap: balance;
    line-height: 1.2;
}

.category-card .category-content p {
    margin-bottom: 10px;
    font-size: 14px;
}

.category-card .category-content span {
    padding: 5px 12px;
    font-size: 13px;
}

.category-card.explore-card .explore-btn {
    gap: 9px;
    padding: 7px 13px;
    font-size: 14px;
}

.category-card.explore-card .explore-btn i {
    font-size: 12px;
}

/* ============================================================
   CATEGORY CARDS — FULL-IMAGE DESIGN (same as home "Shop By Category")
   Overrides the old horizontal icon cards so each box is a
   full-bleed image with a glass info bar (title + description
   + round arrow) at the bottom.
   ============================================================ */

.category-strip .category-card {
    min-height: 0;
    height: 190px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    background: #eef3f8;
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 8px 20px rgba(25, 65, 100, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.category-strip .category-card::before {
    display: none;
}

.category-strip .category-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 15px 30px rgba(25, 65, 100, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.category-strip .category-card.active {
    border-color: rgba(7, 159, 52, 0.75);
    box-shadow: 0 0 0 3px rgba(7, 159, 52, 0.22), 0 12px 26px rgba(25, 65, 100, 0.14);
}

/* full-bleed image */
.category-strip .category-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-strip .category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.category-strip .category-card:hover .category-image img {
    transform: scale(1.05);
}

/* glass info bar */
.category-strip .category-info {
    position: relative;
    z-index: 2;
    width: calc(100% - 20px);
    min-height: 66px;
    margin: auto 10px 10px;
    padding: 10px 12px 10px 14px;
    box-sizing: border-box;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.category-strip .category-info .cat-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
}

.category-strip .category-info h3 {
    margin: 0;
    min-width: 0;
    font-size: 15px;
    line-height: 1.15;
    font-weight: 800;
    color: #08245c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.category-strip .category-info .cat-desc {
    margin: 0;
    font-size: 10.5px;
    line-height: 1.25;
    font-weight: 600;
    color: #4a6280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.category-strip .category-info .category-arrow {
    width: 36px;
    height: 36px;
    min-width: 36px;
    flex: 0 0 auto;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    color: #08245c;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 8px rgba(8, 36, 92, 0.16);
    pointer-events: none;
}

/* pastel backgrounds (same palette as home page) */
.category-strip .category-electronics { background: #dcefff; }
.category-strip .category-kitchen     { background: #fff0d7; }
.category-strip .category-fashion      { background: #f7ddf4; }
.category-strip .catc-beauty           { background: #ffe4ef; }
.category-strip .catc-decor            { background: #e6f0ff; }
.category-strip .catc-health           { background: #dcf7df; }
.category-strip .catc-automotive       { background: #e7e9f6; }
.category-strip .catc-hospitals        { background: #e2f6fa; }
.category-strip .catc-education        { background: #fff0d7; }
.category-strip .catc-realestate       { background: #eaf3e4; }
.category-strip .catc-travel           { background: #dff3ff; }
.category-strip .catc-sportsout        { background: #d8f5e9; }
.category-strip .catc-food             { background: #fff5d8; }
.category-strip .catc-babykids         { background: #ffe9e1; }
.category-strip .catc-toys             { background: #e8e1ff; }

/* responsive heights */
@media (max-width: 860px) {
    .category-strip .category-card { height: 165px; border-radius: 18px; }
    .category-strip .category-info h3 { font-size: 13px; }
    .category-strip .category-info .cat-desc { font-size: 9.5px; }
}

@media (max-width: 640px) {
    .category-strip .category-card { height: 150px; border-radius: 16px; }
    .category-strip .category-info { min-height: 58px; width: calc(100% - 16px); margin: auto 8px 8px; padding: 8px 10px; }
    .category-strip .category-info h3 { font-size: 12px; }
    .category-strip .category-info .cat-desc { font-size: 9px; }
    .category-strip .category-info .category-arrow { width: 30px; height: 30px; min-width: 30px; }
}

/* ---- Toolbar ---- */

.product-toolbar {
    min-height: 70px;
}

.product-count {
    font-size: 15px;
}

.sort-button {
    height: 46px;
    gap: 7px;
    padding: 0 16px;
    font-size: 15px;
}

.sort-button strong {
    font-size: 15px;
}

.sort-button i {
    font-size: 11px;
}

.view-button {
    width: 46px;
    height: 46px;
    font-size: 17px;
}

/* ---- Sections & products ---- */

.section-top {
    margin-bottom: 18px;
}

.section-top h2 {
    font-size: 21px;
}

.section-top a {
    gap: 7px;
    font-size: 14px;
}

.section-top a i {
    font-size: 12px;
}

.product-card {
    min-height: 350px;
    padding: 18px;
    border-radius: 16px;
}

.product-label {
    top: 12px;
    left: 12px;
    padding: 6px 10px;
    font-size: 11px;
}

.wishlist {
    top: 11px;
    right: 11px;
    width: 36px;
    height: 36px;
    font-size: 16px;
}

.product-image {
    height: 200px;
    margin-top: 16px;
    margin-bottom: 12px;
}

.product-image img {
    height: 190px;
}

.product-card h3 {
    min-height: auto;
    margin-bottom: 7px;
    font-size: 15px;
}

.product-price {
    font-size: 20px;
}

.product-price del {
    font-size: 12px;
}

.rating {
    gap: 6px;
    margin-top: 7px;
    font-size: 12px;
}

.rating small {
    font-size: 12px;
}

.stock {
    gap: 7px;
    margin-top: 8px;
    font-size: 12px;
}

.stock span {
    width: 9px;
    height: 9px;
}

.compare-check {
    gap: 8px;
    margin-top: 12px;
    font-size: 13px;
}

.compare-check input {
    width: 16px;
    height: 16px;
}

/* ---- Pagination ---- */

.pagination {
    gap: 9px;
}

.pagination button {
    width: 44px;
    height: 44px;
    font-size: 14px;
}

.pagination span {
    font-size: 15px;
}

/* ---- Sort dropdown ---- */

.sort-dropdown {
    padding: 9px;
}

.sort-dropdown button {
    padding: 9px 14px;
    font-size: 14px;
}

/* ---- Hero bump ---- */

.category-hero .hero-badge {
    padding: 11px 18px;
    font-size: 13px;
}

.category-hero .hero-badge .india-flag {
    font-size: 17px;
}

.category-hero h1 {
    font-size: clamp(32px, 3vw, 46px);
}

.category-hero .hero-description {
    margin-bottom: 22px;
    font-size: 16px;
}

.hero-search .location-select {
    font-size: 14px;
}

.hero-search .search-input input {
    font-size: 16px;
}

.hero-search .search-button {
    padding: 13px 20px;
    font-size: 16px;
}

.hero-search .search-button i {
    font-size: 13px;
}

.hero-benefits .benefit-item {
    gap: 10px;
    padding: 10px 16px;
    font-size: 14px;
}

.hero-benefits .benefit-icon {
    width: 30px;
    height: 30px;
    font-size: 13px;
}

/* ---- Product grid: fewer, larger columns ---- */

.product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

/* ---- Responsive: keep wider sidebar on medium screens ---- */

@media (max-width: 1040px) {
    .category-layout {
        grid-template-columns: 280px 1fr;
    }
}

@media (max-width: 940px) {
    .category-layout {
        grid-template-columns: 260px 1fr;
    }

    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .category-layout {
        grid-template-columns: 240px 1fr;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   FILTER SIDEBAR — FINAL UNIFORMITY OVERRIDES
   ========================================================= */

.filters-card {
    background-color: rgba(255, 255, 255, 0.30) !important;
    -webkit-backdrop-filter: blur(30px) saturate(150%) !important;
    backdrop-filter: blur(30px) saturate(150%) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 18px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 8px 24px rgba(0, 0, 0, 0.06) !important;
}

.filter-heading {
    padding-bottom: 14px;
}

.filter-heading h3 {
    font-size: 16px;
}

.filter-heading button {
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, #16b957, #079f34);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 20px;
    box-shadow: 0 4px 10px rgba(7, 159, 52, 0.28);
    transition: transform 0.2s ease, filter 0.2s ease;
}

.filter-heading button:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
}

.filter-group {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.filter-group.collapsed,
.filter-group.filter-collapsed {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.filter-title {
    margin-bottom: 12px;
    padding: 6px 2px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.2px;
    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
}

.filter-title:hover {
    color: var(--primary);
}

.filter-title i {
    font-size: 12px;
    color: #6f8aa0;
    transition: transform 0.25s ease;
}

.filter-group.collapsed .filter-title i,
.filter-group.filter-collapsed .filter-title i {
    transform: rotate(-90deg);
}

.filter-group label {
    display: flex;
    align-items: center;
    gap: 9px;

    margin: 8px 0;
    padding: 0 2px;

    font-size: 13.5px;
    color: #47637e;

    transition: color 0.18s ease;
}

.filter-group label:hover {
    color: #0f3a6d;
}

.filter-group label > i,
.filter-group label > img {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    object-fit: contain;
    text-align: center;
}

.filter-group label > i {
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.filter-group label .fname {
    min-width: 0;
    flex: 1;
}

.filter-group label small {
    margin-left: auto;
    font-size: 11.5px;
    font-weight: 600;
    color: #8299ae;
}

.filter-group label input {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    accent-color: var(--primary);
    cursor: pointer;
}

.filter-group label:has(input:checked) {
    color: var(--primary);
    font-weight: 600;
}

.filter-group label:has(input:checked) small {
    color: var(--primary);
}

.stars {
    font-size: 13px;
    letter-spacing: -1.5px;
    color: var(--yellow);
    font-weight: 400;
    flex-shrink: 0;
}

.show-more {
    margin-top: 2px;
    padding: 5px 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: #1687d9;
    background: rgba(255, 255, 255, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 16px;
    transition: background 0.2s ease, color 0.2s ease;
}

.show-more:hover {
    background: rgba(255, 255, 255, 0.85);
    color: var(--primary);
}

.price-inputs {
    gap: 8px;
}

.price-inputs input {
    height: 38px;
    padding: 0 10px;
    font-size: 13px;
    color: #33506b;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 9px;
    box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.06);
    transition: border 0.2s ease;
}

.price-inputs input:focus {
    border-color: var(--primary);
    outline: none;
}

.range-slider {
    margin-top: 14px;
}

.range-slider > span {
    width: 15px;
    height: 15px;
    background: var(--primary);
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 0 2px var(--primary), 0 2px 6px rgba(7, 159, 52, 0.3);
}

.range-line {
    height: 5px;
    border-radius: 10px;
}

@media (max-width: 900px) {
    .filters-card {
        border-radius: 16px;
    }
}

/* =========================================================
   PRODUCT CARD — COMPACT/UNIFORM OVERRIDES
   ========================================================= */

.product-card {
    min-height: 0;
    padding: 12px;
    border-radius: 14px;
}

.product-label {
    top: 9px;
    left: 9px;
    padding: 4px 8px;
    font-size: 10px;
    border-radius: 7px;
}

.wishlist {
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    font-size: 14px;
}

.product-image {
    height: 150px;
    margin-top: 12px;
    margin-bottom: 9px;
    border-radius: 10px;
}

.product-image img {
    height: 140px;
    width: 86%;
}

.product-card h3 {
    min-height: auto;
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 1.35;
}

.product-price {
    font-size: 16px;
}

.product-price del {
    font-size: 11px;
}

.rating {
    gap: 5px;
    margin-top: 6px;
    font-size: 11px;
}

.rating small {
    font-size: 11px;
}

.stock {
    gap: 6px;
    margin-top: 6px;
    font-size: 11px;
}

.stock span {
    width: 8px;
    height: 8px;
}

.compare-check {
    gap: 6px;
    margin-top: 9px;
    font-size: 11px;
}

.compare-check input {
    width: 14px;
    height: 14px;
}

