 :root {
            --color-green: #038C65;
            --color-orange-light: #F27B13;
            --color-orange-dark: #D95204;
            --color-red-dark: #730909;
            --color-gray-light: #F2F2F2;
            
            --bg-body: #f5f5f5;
            --bg-card: #ffffff;
            --text-main: #23254e;
            --text-muted: #81858b;
            --border-color: #f0f0f1;
        }

        body {
            font-family: 'Vazirmatn', sans-serif;
            background-color: var(--bg-body);
            color: var(--text-main);
        }

        /* Sidebar Widgets */
        .sidebar-widget {
            background-color: var(--bg-card);
            border-radius: 12px;
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.03);
            border: 1px solid var(--border-color);
        }

        .widget-title {
            font-size: 1rem;
            font-weight: bold;
            margin-bottom: 15px;
            color: var(--text-main);
            padding-bottom: 10px;
            border-bottom: 2px solid var(--color-gray-light);
        }

        /* Custom Search Box */
        .search-box {
            position: relative;
        }
        
        .search-box input {
            background-color: var(--color-gray-light);
            border: none;
            border-radius: 8px;
            padding: 10px 40px 10px 15px;
            font-size: 0.9rem;
            width: 100%;
        }
        
        .search-box input:focus {
            outline: none;
            box-shadow: 0 0 0 2px rgba(3, 140, 101, 0.2);
        }
        
        .search-box button {
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            color: var(--text-muted);
            padding: 0;
        }

        /* Categories List */
        .category-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .category-list li {
            margin-bottom: 8px;
        }

        .category-list a {
            text-decoration: none;
            color: var(--text-main);
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            padding: 8px 10px;
            border-radius: 8px;
            transition: all 0.2s ease;
        }

        .category-list a:hover, .category-list a.active {
            background-color: var(--color-gray-light);
            color: var(--color-green);
        }

        .category-list i {
            margin-left: 10px;
            font-size: 1.1rem;
            color: var(--text-muted);
        }

        .category-list a:hover i, .category-list a.active i {
            color: var(--color-green);
        }

        /* Sort Bar */
        .sort-bar {
            background-color: var(--bg-card);
            border-radius: 12px;
            padding: 15px 20px;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 20px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.03);
            border: 1px solid var(--border-color);
        }

        .sort-bar span {
            color: var(--text-muted);
            font-size: 0.9rem;
        }

        .sort-bar a {
            color: var(--text-muted);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.2s;
        }

        .sort-bar a:hover, .sort-bar a.active {
            color: var(--color-green);
            font-weight: bold;
        }

        /* Product Cards */
        .product-card {
            background-color: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 16px;
            height: 100%;
            display: flex;
            flex-direction: column;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
        }

        .product-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 16px rgba(0,0,0,0.08);
            z-index: 1;
        }

        .product-img-wrapper {
            background-color: var(--color-gray-light);
            border-radius: 8px;
            height: 200px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 15px;
            overflow: hidden;
        }

        .product-img-wrapper img {
            max-width: 100%;
            max-height: 100%;
            object-fit: cover;
        }

        .product-rating {
            display: flex;
            align-items: center;
            gap: 2px;
            margin-bottom: 8px;
        }

        .product-rating i {
            color: var(--color-orange-light);
            font-size: 0.8rem;
        }

        .product-rating span {
            color: var(--text-muted);
            font-size: 0.75rem;
            margin-right: 5px;
        }

        .product-title {
            font-size: 0.85rem;
            line-height: 2;
            color: var(--text-main);
            margin-bottom: 15px;
            font-weight: normal;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* Price Section */
        .price-section {
            margin-top: auto;
            padding-top: 10px;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .price-row-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            min-height: 22px; 
        }

        .discount-badge {
            background-color: var(--color-orange-dark);
            color: white;
            font-size: 0.75rem;
            font-weight: bold;
            padding: 0 8px;
            height: 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
        }

        .old-price {
            text-decoration: line-through;
            color: #a1a3a8;
            font-size: 0.85rem;
            margin-right: auto;
        }

        .price-row-bottom {
            display: flex;
            justify-content: flex-end;
            align-items: baseline;
        }

        .new-price {
            font-weight: 800;
            font-size: 1.2rem;
            color: var(--text-main); 
            letter-spacing: -0.5px;
        }
        
        .currency {
            font-size: 0.75rem;
            font-weight: normal;
            color: var(--text-muted);
            margin-right: 4px;
        }

        /* Responsive Adjustments */
        @media (max-width: 576px) {
            .product-card { padding: 12px 10px; }
            .product-img-wrapper { height: 140px; margin-bottom: 10px; }
            .product-title { font-size: 0.75rem; line-height: 1.7; margin-bottom: 8px; }
            .new-price { font-size: 1.05rem; }
            .old-price { font-size: 0.75rem; }
            .sort-bar { display: none; }
        }