/* ── Product listing page ─────────────────────────── */
        .filter-card {
            border: none;
            border-radius: 12px;
            box-shadow: 0 1px 6px rgba(0,0,0,.08);
        }
        .filter-card .card-header {
            background: #fff;
            border-bottom: 1px solid #f0f0f0;
            border-radius: 12px 12px 0 0 !important;
            font-weight: 600;
            font-size: .95rem;
        }
        .filter-card .form-check-label {
            font-size: .9rem;
            cursor: pointer;
        }
        .tag-badge {
            cursor: pointer;
            font-size: .8rem;
            border-radius: 20px;
            padding: 5px 12px;
            transition: background .2s, color .2s;
        }
        .tag-badge:hover,
        .tag-badge.active {
            background: #dc3545 !important;
            color: #fff !important;
            border-color: #dc3545 !important;
        }
        .product-card .card-brand {
            font-size: .75rem;
            color: #888;
            text-transform: uppercase;
            letter-spacing: .04em;
        }
        .product-card .card-category {
            font-size: .78rem;
            color: #6c757d;
        }
        .product-card .card-title {
            font-size: .92rem;
            font-weight: 600;
            margin-bottom: 4px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .product-card .rating-row {
            font-size: .8rem;
            color: #ffc107;
        }
        .product-card .rating-row span {
            color: #555;
            font-size: .78rem;
        }
        .product-card .discount-badge {
            font-size: .75rem;
            background: #fff3f3;
            color: #dc3545;
            border-radius: 4px;
            padding: 1px 6px;
            font-weight: 600;
        }
        .stock-range-val {
            font-size: .82rem;
            color: #555;
        }
        .prod-img-top { height: 400px; object-fit: cover; }
        @media (max-width: 575.98px) { .prod-img-top { height: 600px; } }