       /* Prevent horizontal scroll; keep content within viewport */
        .catalog-products-section {
            overflow-x: hidden;
            max-width: 100%;
        }

        .catalog-page-container {
            max-width: 100%;
            width: 100%;
            padding-left: 12px;
            padding-right: 12px;
            box-sizing: border-box;
        }

        @media (min-width: 576px) {
            .catalog-page-container {
                padding-left: 15px;
                padding-right: 15px;
            }
        }

        .catalog-layout-row {
            max-width: 100%;
        }

        .catalog-filters-aside,
        .catalog-products-main {
            min-width: 0;
        }

        .catalog-filter-form {
            min-width: 0;
            max-width: 100%;
        }

        .catalog-filter-form .custom-select {
            width: 100%;
            max-width: 100%;
        }

        /* —— Mobile: sort + Filters button; panel hidden until opened —— */
        .catalog-mobile-filter-bar {
            margin-bottom: 0.75rem;
        }

        .catalog-mobile-filter-bar-inner {
            display: flex;
            align-items: stretch;
            width: 100%;
            max-width: 100%;
        }

        .catalog-mobile-filter-bar-inner>*+* {
            margin-left: 0.5rem;
        }

        .catalog-mobile-filter-sort {
            flex: 1 1 0;
            min-width: 0;
            min-height: 44px;
            border-radius: 10px;
            border-color: #dee2e6;
        }

        .catalog-mobile-filter-trigger {
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 44px;
            padding: 0 1rem;
            background: #1a1f2e;
            color: #fff !important;
            border: none;
            border-radius: 10px;
            font-weight: 600;
            font-size: 0.875rem;
            box-shadow: 0 2px 10px rgba(26, 31, 46, 0.22);
        }

        .catalog-mobile-filter-trigger:hover,
        .catalog-mobile-filter-trigger:focus {
            color: #fff !important;
            background: #2d3548;
            box-shadow: 0 4px 14px rgba(26, 31, 46, 0.28);
        }

        .catalog-mobile-filter-trigger .fa {
            margin-right: 0.35rem;
            font-size: 1rem;
            opacity: 0.95;
        }

        .catalog-mobile-filter-badge {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #f7444e;
            margin-left: 0.35rem;
            display: inline-block;
            vertical-align: middle;
            box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
        }

        .catalog-mobile-filter-done {
            font-size: 0.875rem !important;
        }

        @media (min-width: 992px) {
            .catalog-mobile-filter-panel.collapse {
                display: block !important;
                height: auto !important;
                visibility: visible !important;
                overflow: visible !important;
            }
        }

        /* —— Desktop: sidebar polish —— */
        @media (min-width: 992px) {
            .catalog-filters-panel {
                border-radius: 12px;
                border: 1px solid rgba(0, 44, 62, 0.08);
                box-shadow: 0 8px 32px rgba(0, 44, 62, 0.07);
                background: #fff;
            }

            .catalog-filters-panel-heading {
                margin-bottom: 1.125rem;
                padding-bottom: 1rem;
                border-bottom: 1px solid #eef1f5;
            }

            .catalog-filters-panel-title {
                font-size: 1.0625rem;
                font-weight: 700;
                color: #1a202c;
                letter-spacing: -0.02em;
                margin-bottom: 0.25rem;
            }

            .catalog-filters-panel-sub {
                font-size: 0.8125rem;
                color: #64748b !important;
            }

            .catalog-filter-section-label {
                display: block;
                font-size: 0.6875rem;
                font-weight: 700;
                letter-spacing: 0.11em;
                text-transform: uppercase;
                color: #64748b;
                margin-bottom: 0.65rem;
                padding-left: 0.6rem;
                border-left: 3px solid #f7444e;
            }

            .catalog-filter-section--sort {
                margin-bottom: 1.125rem;
                padding-bottom: 1.125rem;
                border-bottom: 1px solid #eef1f5;
            }

            .catalog-filter-section:not(.catalog-filter-section--sort):not(.catalog-filter-section--last) {
                padding-bottom: 1.125rem;
                margin-bottom: 1.125rem;
                border-bottom: 1px solid #eef1f5;
            }

            .catalog-filter-section--last {
                margin-bottom: 0;
                padding-bottom: 0;
                border-bottom: none;
            }

            .catalog-filter-sort-select {
                border-radius: 8px;
                border-color: #e2e8f0;
                font-weight: 500;
                color: #334155;
            }

            .catalog-filters-panel .catalog-chip-inner {
                border-radius: 8px;
                background: #f1f5f9;
                border: 1px solid transparent;
                font-weight: 600;
            }

            .catalog-filters-panel .catalog-chip input:checked+.catalog-chip-inner {
                background: linear-gradient(135deg, #f7444e 0%, #e11d48 100%);
                border-color: transparent;
                color: #fff;
                box-shadow: 0 2px 8px rgba(247, 68, 78, 0.35);
            }

            .catalog-filters-panel .catalog-chip input:checked+.catalog-chip-inner .catalog-swatch {
                border-color: rgba(255, 255, 255, 0.5);
            }

            .catalog-price-track {
                background: #e2e8f0;
            }

            .catalog-filters-panel .catalog-range::-webkit-slider-thumb {
                background: #f7444e;
                border: 2px solid #fff;
                box-shadow: 0 1px 6px rgba(247, 68, 78, 0.45);
            }

            .catalog-filters-panel .catalog-range::-moz-range-thumb {
                background: #f7444e;
                border: 2px solid #fff;
                box-shadow: 0 1px 6px rgba(247, 68, 78, 0.45);
            }

            .catalog-filter-actions {
                margin-top: 0.25rem;
                padding-top: 1.125rem;
                border-top: 1px solid #eef1f5;
            }
        }

        @media (max-width: 991px) {
            .catalog-filter-section-label {
                display: block;
                font-size: 0.7rem;
                font-weight: 700;
                letter-spacing: 0.07em;
                text-transform: uppercase;
                color: #6c757d;
                margin-bottom: 0.5rem;
            }

            .catalog-filter-section+.catalog-filter-section {
                margin-top: 1rem;
            }

            .catalog-filter-actions {
                margin-top: 1rem;
                padding-top: 1rem;
                border-top: 1px solid #e9ecef;
            }

            .catalog-filters-panel {
                border-radius: 12px;
                border: 1px solid #e9ecef;
                box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
                background: #fff;
            }
        }

        .btn-catalog-apply {
            background: linear-gradient(135deg, #1a1f2e 0%, #2d3548 100%);
            border: none;
            color: #fff !important;
            border-radius: 8px;
            padding-top: 0.55rem;
            padding-bottom: 0.55rem;
            transition: opacity 0.2s, box-shadow 0.2s;
        }

        .btn-catalog-apply:hover,
        .btn-catalog-apply:focus {
            color: #fff !important;
            opacity: 0.94;
            box-shadow: 0 4px 16px rgba(26, 31, 46, 0.28);
        }

        /* Hero: override global inner_page_head (large desktop type) on small screens */
        @media (max-width: 767px) {
            section.inner_page_head.product-catalog-head {
                padding-top: 1.5rem !important;
                padding-bottom: 1.25rem !important;
            }

            section.inner_page_head.product-catalog-head h3 {
                font-size: 1.5rem !important;
                font-weight: 700 !important;
                line-height: 1.2;
                padding-left: 0.5rem;
                padding-right: 0.5rem;
            }

            section.inner_page_head.product-catalog-head .inner_page_sub {
                font-size: 0.8125rem !important;
                line-height: 1.45 !important;
                padding-left: 0.75rem;
                padding-right: 0.75rem;
                max-width: 100% !important;
            }
        }

        /* Layout: spacing (Bootstrap 4 has no gutter utilities) */
        .catalog-layout-row>[class*="col-"] {
            margin-bottom: 1rem;
        }

        @media (min-width: 992px) {
            .catalog-layout-row>[class*="col-"] {
                margin-bottom: 0;
            }
        }

        .catalog-product-col {
            margin-bottom: 1.5rem;
            min-width: 0;
        }

        @media (min-width: 992px) {
            .catalog-filters-sticky-lg {
                position: sticky;
                top: 1rem;
            }
        }

        .catalog-new-badge {
            top: 0.5rem;
            right: 0.5rem;
            font-size: 0.7rem;
            padding: 0.35rem 0.5rem;
        }

        .catalog-card-actions .btn {
            flex: 1 1 0;
            min-width: 0;
            font-weight: 600;
            border-radius: 8px;
        }

        .catalog-card-actions .btn:first-child {
            margin-right: 0.5rem;
        }

        /* Price min/max: stack on narrow phones, row on larger */
        .catalog-price-inputs {
            display: flex;
            flex-direction: column;
            width: 100%;
            max-width: 100%;
        }

        .catalog-price-inputs .catalog-price-field-min {
            margin-bottom: 0.5rem;
        }

        @media (min-width: 576px) {
            .catalog-price-inputs .catalog-price-field-min {
                margin-bottom: 0;
            }
        }

        .catalog-price-field {
            min-width: 0;
            width: 100%;
        }

        .catalog-price-input-min,
        .catalog-price-input-max {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
        }

        .catalog-price-sep {
            display: none;
            align-self: center;
            line-height: 1;
            padding: 0 0.25rem;
        }

        @media (min-width: 576px) {
            .catalog-price-inputs {
                flex-direction: row;
                align-items: center;
                gap: 0;
            }

            .catalog-price-field {
                flex: 1 1 0;
                width: auto;
            }

            .catalog-price-sep {
                display: flex;
            }
        }

        .catalog-pagination-outer {
            width: 100%;
            max-width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            padding-bottom: 2px;
        }

        .catalog-pagination-outer .catalog-pagination {
            min-width: min-content;
            max-width: 100%;
        }

        .catalog-pagination .pagination {
            flex-wrap: wrap;
            justify-content: center;
            margin-bottom: 0;
        }

        @media (max-width: 575px) {
            .catalog-pagination .pagination {
                flex-wrap: nowrap;
                justify-content: flex-start;
            }

            .catalog-pagination .page-item {
                flex-shrink: 0;
            }
        }

        .catalog-pagination .page-link {
            padding: 0.35rem 0.5rem;
            font-size: 0.8125rem;
        }

        .product-card {
            transition: transform 0.3s, box-shadow 0.3s;
            cursor: default;
            border-radius: 12px;
            border: 1px solid rgba(0, 0, 0, 0.05);
        }

        .product-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
        }

        .product-img {
            display: block;
            width: 100%;
            max-width: 100%;
            height: 200px;
            object-fit: cover;
            transition: transform 0.35s;
        }

        .product-card:hover .product-img {
            transform: scale(1.05);
        }

        @media (hover: none) {
            .product-card:hover {
                transform: none;
                box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
            }

            .product-card:hover .product-img {
                transform: none;
            }
        }

        @media (max-width: 576px) {
            .product-card {
                border-radius: 12px;
                max-width: 100%;
            }

            .product-img {
                height: clamp(160px, 42vw, 220px);
            }

            .catalog-products-main .card-body {
                padding: 0.75rem 0.75rem 1rem;
            }

            .catalog-products-main .card-title {
                font-size: 0.9375rem;
            }
        }

        .badge {
            font-size: 0.7rem;
            padding: 0.4rem 0.55rem;
            border-radius: 8px;
        }

        .card-title {
            font-size: 1rem;
            font-weight: 600;
            max-height: 2.6rem;
            overflow: hidden;
            line-height: 1.3;
        }

        .btn-outline-primary:hover {
            background: #0d6efd;
            border-color: #0d6efd;
            color: #fff;
        }

        .btn-warning {
            background: #f59f00;
            border: 1px solid #f59f00;
            color: #fff;
            transition: background-color 0.3s, border-color 0.3s;
        }

        .btn-warning:hover {
            background: #e58e00;
            border-color: #e58e00;
            color: #fff;
        }

        .catalog-filters {
            border-radius: 14px;
            z-index: 2;
            max-width: 100%;
        }

        .product-img-box {
            max-width: 100%;
        }

        @media (max-width: 575px) {
            .catalog-filter-actions .btn {
                min-height: 44px;
                line-height: 1.25;
                font-size: 0.9rem;
            }
        }

        .catalog-filter-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            max-width: 100%;
        }

        .catalog-chip {
            margin: 0;
            cursor: pointer;
        }

        .catalog-chip input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .catalog-chip-inner {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.35rem 0.65rem;
            min-height: 36px;
            border-radius: 999px;
            border: 1px solid rgba(0, 0, 0, 0.12);
            background: #fff;
            font-size: 0.8rem;
            font-weight: 600;
            transition: border-color 0.2s, background 0.2s, color 0.2s;
            max-width: 100%;
            box-sizing: border-box;
        }

        @media (max-width: 575px) {
            .catalog-chip-inner {
                padding: 0.3rem 0.55rem;
                font-size: 0.75rem;
            }

            .catalog-chip-text {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                max-width: 10rem;
            }
        }

        .catalog-chip input:checked+.catalog-chip-inner {
            border-color: #212529;
            background: #212529;
            color: #fff;
        }

        .catalog-swatch {
            width: 14px;
            height: 14px;
            border-radius: 50%;
            border: 1px solid rgba(0, 0, 0, 0.15);
            flex-shrink: 0;
        }

        .catalog-chip input:checked+.catalog-chip-inner .catalog-swatch {
            border-color: rgba(255, 255, 255, 0.6);
        }

        .catalog-price-range {
            position: relative;
            height: 32px;
            margin-top: 0.25rem;
            padding-left: 8px;
            padding-right: 8px;
            max-width: 100%;
            box-sizing: border-box;
        }

        .catalog-price-track {
            position: absolute;
            left: 0;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            height: 6px;
            border-radius: 999px;
            background: #e9ecef;
            pointer-events: none;
        }

        .catalog-range {
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            width: 100%;
            height: 32px;
            margin: 0;
            background: none;
            pointer-events: none;
            -webkit-appearance: none;
            appearance: none;
        }

        .catalog-range::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            pointer-events: auto;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: #212529;
            border: 2px solid #fff;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
            cursor: pointer;
        }

        .catalog-range::-moz-range-thumb {
            pointer-events: auto;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: #212529;
            border: 2px solid #fff;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
            cursor: pointer;
        }

        .catalog-range::-webkit-slider-runnable-track {
            height: 0;
            background: transparent;
        }

        .catalog-range::-moz-range-track {
            height: 0;
            background: transparent;
        }

        /* IMAGE CONTAINER */
.img-hover-container {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

/* MAIN IMAGE */
.main-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

/* HOVER IMAGE */
.hover-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 120%; /* 🔥 bigger = full preview */
    height: 120%;
    object-fit: contain;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.4s ease;
    pointer-events: none;
}

/* 🔥 HOVER EFFECT (Flipkart style preview) */
.img-hover-container:hover .hover-img {
    opacity: 1;
    transform: scale(1.1);
}

.img-hover-container:hover .main-img {
    opacity: 0;
}

.product-img-box {
    border-bottom: 1px solid #eee;
}
