body { background-color: #f0f2f5; font-family: Arial, sans-serif; }
        .page-wrapper { max-width: 1400px; margin: 20px auto; padding: 0 15px; display: flex; gap: 20px; }
        
        /* Left Sidebar */
        .left-sidebar { width: 260px; flex-shrink: 0; }
        .sidebar-box { background: #fff; border-radius: 8px; padding: 20px; margin-bottom: 20px; box-shadow: 0 1px 4px rgba(0,0,0,0.05); }
        .sidebar-title { font-size: 18px; font-weight: 700; margin-bottom: 15px; color: #1f2937; }
        .sidebar-list { list-style: none; padding: 0; margin: 0; }
        .sidebar-list li { margin-bottom: 12px; }
        .sidebar-list a { text-decoration: none; color: #4b5563; font-size: 15px; transition: 0.2s; display: block; }
        .sidebar-list a:hover { color: #6da247; }
        .sidebar-list a.active { color: #1d670d; font-weight: bold; }
        
        /* Middle Content */
        .middle-content { flex: 1; min-width: 0; }
        
        /* Top Subcategories Menu */
        .top-subcat-outer { position: relative; display: flex; align-items: center; margin-bottom: 20px; }
        .top-subcat-wrapper { display: flex; gap: 10px; overflow-x: hidden; scroll-behavior: smooth; flex: 1; padding: 4px 2px; }
        .top-subcat-item { background: #fff; border-radius: 8px; padding: 10px 15px; display: flex; align-items: center; gap: 10px; min-width: max-content; box-shadow: 0 1px 3px rgba(0,0,0,0.1); text-decoration: none; color: #333; flex-shrink: 0; }
        .top-subcat-item img { width: 40px; height: 40px; object-fit: contain; border-radius: 4px; }
        .top-subcat-item:hover { background: #f0f9f0; border-color: #6da247; }
        .subcat-nav-btn { background: #fff; border: 1px solid #ddd; border-radius: 50%; width: 36px; height: 36px; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 1px 4px rgba(0,0,0,0.15); transition: all 0.2s; color: #333; z-index: 1; }
        .subcat-nav-btn:hover { background: #1d670d; color: #fff; border-color: #1d670d; }
        .subcat-prev { margin-right: 8px; }
        .subcat-next { margin-left: 8px; }
        
        /* Middle Banner */
        .middle-promo-banner { width: 100%; margin-bottom: 20px; border-radius: 8px; overflow: hidden; }
        .middle-promo-banner img { width: 100%; height: auto; display: block; object-fit: cover; max-height: 120px; }
        
        /* Product List Card */
        .prod-list-card { background: #fff; border-radius: 8px; padding: 20px; margin-bottom: 20px; display: flex; gap: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
        .prod-list-img { width: 220px; height: 220px; flex-shrink: 0; border-radius: 8px; overflow: hidden; position: relative; border: 1px solid #eee; }
        .prod-list-img img { width: 100%; height: 100%; object-fit: contain; }

        /* Badges overlaid on the product image */
        .img-badges-overlay { position: absolute; top: 8px; left: 8px; display: flex; flex-direction: column; gap: 5px; z-index: 2; pointer-events: none; }
        .img-badge-pill { display: inline-block; padding: 3px 10px; border-radius: 50px; font-size: 11px; font-weight: 700; color: #fff; letter-spacing: 0.4px; text-transform: uppercase; white-space: nowrap; box-shadow: 0 1px 4px rgba(0,0,0,0.25); }
        
        .prod-list-info { flex: 1; display: flex; flex-direction: column; }
        .prod-title { font-size: 20px; font-weight: bold; color: #111; margin-bottom: 15px; text-decoration: none; display: block; }
        .prod-title:hover { color: #1d670d; }
        
        .prod-attr-table { width: 100%; font-size: 14px; margin-bottom: 15px; border-collapse: collapse; border: 1px solid #e0e0e0; border-radius: 6px; overflow: hidden; }
        .prod-attr-table tr { border-bottom: 1px solid #e0e0e0; }
        .prod-attr-table tr:last-child { border-bottom: none; }
        .prod-attr-table tr:nth-child(even) { background-color: #f9f9f9; }
        .prod-attr-table td { padding: 7px 12px; }
        .prod-attr-label { color: #555; font-weight: 700; width: 130px; background: #f5f5f5; border-right: 1px solid #e0e0e0; }
        .prod-attr-value { color: #333; }
        .prod-attr-value .company-link { color: #0066cc; font-weight: bold; text-decoration: none; }
        
        .prod-badges { display: flex; gap: 10px; margin-bottom: 15px; flex-wrap: wrap; }
        .badge-item { background: #e8f5e9; color: #2e7d32; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: bold; display: flex; align-items: center; gap: 4px; }
        .badge-item.email { background: #e3f2fd; color: #1565c0; }
        
        .prod-price { font-size: 22px; font-weight: bold; color: #1d670d; margin-bottom: 15px; }
        
        .prod-actions { display: flex; gap: 10px; margin-top: auto; }
        .btn-green { background: #1d670d; color: #fff; border: none; padding: 10px 20px; border-radius: 4px; font-weight: bold; cursor: pointer; text-decoration: none; display: inline-block; }
        .btn-black { background: #000; color: #fff; border: none; padding: 10px 20px; border-radius: 4px; font-weight: bold; cursor: pointer; text-decoration: none; display: inline-block; }
        .btn-dealer { background: #e65c00; color: #fff; border: none; padding: 10px 20px; border-radius: 4px; font-weight: bold; cursor: pointer; text-decoration: none; display: inline-block; }
        .btn-green:hover { background: #6da247; }
        .btn-black:hover { background: #333; }
        .btn-dealer:hover { background: #bf4900; }
        
        /* Right Sidebar */
        .right-sidebar { width: 300px; flex-shrink: 0; }
        .popular-title { font-size: 18px; font-weight: bold; margin-bottom: 15px; color: #333; }
        .popular-card { background: #fff; border-radius: 8px; padding: 10px; margin-bottom: 15px; display: flex; gap: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
        .pop-img { width: 80px; height: 80px; flex-shrink: 0; border: 1px solid #eee; border-radius: 4px; }
        .pop-img img { width: 100%; height: 100%; object-fit: contain; }
        .pop-info { flex: 1; }
        .pop-title { font-size: 14px; font-weight: bold; color: #0066cc; margin-bottom: 5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-decoration: none;}
        .pop-price { font-size: 14px; font-weight: bold; color: #111; margin-bottom: 5px; }
        .pop-company { font-size: 12px; color: #888; margin-bottom: 8px; }
        .pop-btn { background: #1d670d; color: #fff; border: none; padding: 5px 10px; border-radius: 4px; font-size: 12px; cursor: pointer; text-decoration: none; display: inline-block; }
        .pop-btn:hover { background: #6da247; }

        /* Mobile Filter Toggle Button - hidden on desktop */
        .mobile-filter-btn { display: none; }

        /* Sidebar overlay - hidden on desktop */
        .sidebar-overlay { display: none; }

        /* Close button inside drawer - hidden on desktop */
        .drawer-close-btn { display: none; }

        /* ================================================
           MOBILE STYLES (max-width: 1024px)
           ================================================ */
        @media(max-width: 1024px) {
            .page-wrapper { flex-direction: column; }
            .right-sidebar { width: 100%; }
            .prod-list-card { flex-direction: column; }
            .prod-list-img { width: 100%; height: 250px; }

            /* Hide left sidebar by default on mobile */
            .left-sidebar {
                display: none;
                width: 280px;
            }

            /* Mobile Filter Toggle Button — compact inline pill */
            .mobile-filter-btn {
                display: inline-flex;
                align-items: center;
                gap: 6px;
                background: #fff;
                color: #1d670d;
                border: 1.5px solid #1d670d;
                padding: 7px 16px;
                border-radius: 50px;
                font-size: 13px;
                font-weight: 700;
                cursor: pointer;
                margin-bottom: 14px;
                box-shadow: 0 1px 4px rgba(0,0,0,0.08);
                width: auto;
                letter-spacing: 0.2px;
                transition: all 0.2s;
            }
            .mobile-filter-btn:hover {
                background: #1d670d;
                color: #fff;
            }
            .mobile-filter-btn .filter-icon {
                font-size: 15px;
                line-height: 1;
            }

            /* Dim backdrop when drawer is open */
            .sidebar-overlay {
                display: none;
                position: fixed;
                inset: 0;
                background: rgba(0,0,0,0.45);
                z-index: 998;
                backdrop-filter: blur(2px);
            }
            .sidebar-overlay.active { display: block; }

            /* Sidebar as slide-in drawer from left */
            .left-sidebar.drawer-open {
                display: block;
                position: fixed;
                top: 0;
                left: 0;
                width: 280px;
                height: 100%;
                overflow-y: auto;
                background: #f0f2f5;
                z-index: 999;
                padding: 15px 10px 30px;
                box-shadow: 4px 0 24px rgba(0,0,0,0.22);
                animation: slideInLeft 0.25s ease;
            }

            @keyframes slideInLeft {
                from { transform: translateX(-100%); }
                to { transform: translateX(0); }
            }

            /* Close button inside drawer */
            .drawer-close-btn {
                display: flex;
                align-items: center;
                justify-content: space-between;
                margin-bottom: 15px;
                padding: 0 5px;
            }
            .drawer-close-btn span {
                font-size: 15px;
                font-weight: 700;
                color: #1f2937;
            }
            .drawer-close-btn button {
                background: #f3f4f6;
                border: none;
                font-size: 20px;
                cursor: pointer;
                color: #444;
                line-height: 1;
                padding: 4px 10px;
                border-radius: 6px;
            }
            .drawer-close-btn button:hover { background: #e5e7eb; }
        }
