
        .products-wrapper {
            max-width: 800px;
            margin: 0 auto;
        }

        .products-wrapper h1 {
            text-align: center;
            font-size: 2rem;
            margin-bottom: 30px;
            color: #1a1a2e;
            letter-spacing: 1px;
        }

        /* ── Category Card ── */
        .category-card {
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 2px 10px rgba(0,0,0,.08);
            margin-bottom: 16px;
            overflow: hidden;
            transition: box-shadow .2s;
        }
        .category-card:hover { box-shadow: 0 4px 18px rgba(0,0,0,.13); }

        /* ── Toggle Button ── */
        .category-toggle {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 18px 24px;
            background: #1F242E;
            color: #fff;
            border: none;
            cursor: pointer;
            font-size: 1.05rem;
            font-weight: 600;
            letter-spacing: .4px;
            transition: background .2s;
        }
        .category-toggle:hover {     background: #1F242E;}
        .category-toggle .meta {     display: flex;    justify-content: space-between;
    width: 100%;}

        .badge {
            background: #F18C08;
            border-radius: 20px;
            padding: 2px 10px;
            font-size: .78rem;
            font-weight: 500;
            margin-right: 15px;
        }

        .chevron {
            width: 20px; height: 20px;
            transition: transform .3s ease;
            fill: none; stroke: #fff;
            stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
            flex-shrink: 0;
        }
        .category-toggle[aria-expanded="true"] .chevron { transform: rotate(180deg); }

        /* ── Product List ── */
        .product-list {
            list-style: none;
            max-height: 0;
            overflow: hidden;
            transition: max-height .35s ease, padding .35s ease;
            padding: 0 24px;
            height: auto;
            display: none;
        }
        .product-list.open {    
            max-height: 500px;
            padding: 12px 24px 16px;
            display: block;
            overflow: auto; 
        }

        .product-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 0;
            border-bottom: 1px solid #f0f2f5;
            font-size: .95rem;
            animation: fadeIn .25s ease;
            gap: 12px;
        }
        .product-item:last-child { border-bottom: none; }
        .product-name { color: #333; flex: 1; }
        .product-price {
            font-weight: 700;
            border-radius: 6px;
            color: #1F242E;
            background: transparent;
            padding: 3px 10px; font-size: .9rem; white-space: nowrap;
        }
        .product-list .block-title {
    font-size: 16px;
    font-weight: 500;
    color: #000;
}

.product-list li.custom-product-add-box {
    padding: 15px 0;
    width: 100%;
}

.custom-product-add-box .add-listing-product {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    gap: 15px;
}

.custom-product-add-box .add-listing-product input.custom-product-input.fill_inited {
    width: 100%;
}

.add-listing-product button {
    background: #000;
    font-size: 16px;
    font-weight: 500;
    padding: 6px 20px;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
}
        /* Checkbox styling */
        .product-check {
            width: 18px; 
            height: 18px;
            accent-color: #0f3460;
            cursor: pointer;
            flex-shrink: 0;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-6px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        /* ── Floating Quote Bar ── */
        #quote-bar {
            position: fixed;
            bottom: 0; left: 0; right: 0;
            background: #1F242E;
            color: #fff;
            padding: 14px 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            transform: translateY(100%);
            transition: transform .3s ease;
            z-index: 999;
            box-shadow: 0 -4px 20px rgba(0,0,0,.2);
        }
        #quote-bar.visible { transform: translateY(0); }
        #quote-bar .bar-info { font-size: .95rem; }
        #quote-bar .bar-info span { font-weight: 700; font-size: 1.1rem; }
        #quote-btn {
            background: #fff;
            color: #0f3460;
            border: none;
            border-radius: 8px;
            padding: 10px 22px;
            font-weight: 700;
            font-size: .95rem;
            cursor: pointer;
            transition: background .2s;
        }
        #quote-btn:hover { background: #e8f0fe; }

        /* ── Modal ── */
        #modal-overlay {
            position: fixed; inset: 0;
            background: rgba(0,0,0,.5);
            display: flex; align-items: center; justify-content: center;
            z-index: 1000;
            opacity: 0; pointer-events: none;
            transition: opacity .25s;
        }
        #modal-overlay.open { opacity: 1; pointer-events: all; }

        #modal {
            background: #fff;
            border-radius: 14px;
            width: min(480px, 92vw);
            box-shadow: 0 8px 40px rgba(0,0,0,.2);
            overflow: hidden;
            transform: translateY(20px);
            transition: transform .25s;
        }
        #modal-overlay.open #modal { transform: translateY(0); }

        .modal-header {
        background: #1F242E;
            color: #fff;
            padding: 20px 24px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .modal-header h2 { font-size: 1.1rem; margin: 0; }
        .modal-close {
            background: none; border: none; color: #fff;
            font-size: 1.4rem; cursor: pointer; line-height: 1;
        }

        .modal-body { padding: 24px; }

        /* Selected products summary inside modal */
        #modal-product-list {
            background: #f8f9fa;
            border-radius: 8px;
            padding: 12px 16px;
            margin-bottom: 20px;
            font-size: .9rem;
            max-height: 180px;
            overflow-y: auto;
        }
        #modal-product-list .mp-row {
            display: flex;
            justify-content: space-between;
            padding: 4px 0;
            border-bottom: 1px solid #eee;
        }
        #modal-product-list .mp-row:last-child { border-bottom: none; }
        #modal-product-list .mp-total {
            display: flex;
            justify-content: space-between;
            margin-top: 8px;
            font-weight: 700;
            color: #0f3460;
        }

        .form-group { margin-bottom: 16px; }
        .form-group label { display: block; font-size: .88rem; font-weight: 600; margin-bottom: 5px; color: #444; }
        .form-group input {
            width: 100%; padding: 10px 14px;
            border: 1.5px solid #ddd; border-radius: 8px;
            font-size: .95rem; transition: border-color .2s;
            font-family: inherit;
        }
        .form-group input:focus { outline: none; border-color: #0f3460; }

        #send-quote-btn {
            width: 100%;
            padding: 12px;
            background: #1F242E;
            color: #fff;
            border: none;
            border-radius: 8px;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            transition: opacity .2s;
        }
        #send-quote-btn:hover { opacity: .88; }
        #send-quote-btn:disabled { opacity: .5; cursor: not-allowed; }

        /* Toast notifications */
        #toast {
            position: fixed;
            bottom: 80px; left: 50%; transform: translateX(-50%) translateY(20px);
            background: #333; color: #fff;
            padding: 12px 24px; border-radius: 8px;
            font-size: .9rem; opacity: 0; pointer-events: none;
            transition: opacity .3s, transform .3s;
            z-index: 1100; white-space: nowrap;
        }
        #toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
        #toast.success { background: #2e7d32; }
        #toast.error   { background: #c62828; }
        .product-list.open>li.product-item input.product-check { position: static !important; }
