:root {
        --primary-color: #1a73e8;
        --secondary-color: #6c757d;
        --border-color: #eaeaea;
        --card-shadow: 0 5px 20px rgba(0,0,0,0.05);
        --heading-color: #333;
        --text-color: #666;
    }
    .shop-area { padding: 50px 0; }
    .sidebar-widget { margin-bottom: 30px; }
    .widget-title { font-size: 18px; font-weight: 700; color: var(--heading-color); margin-bottom: 20px; }
    .category-list { list-style: none; padding: 0; margin: 0; }
    .category-list li { margin-bottom: 10px; }
    .category-list a { display: block; padding: 10px 15px; color: var(--text-color); text-decoration: none; font-weight: 500; transition: all 0.3s ease; border-radius: 5px; }
    .category-list a:hover, .category-list a.active { color: #fff; background-color: var(--primary-color); padding-left: 20px; }
    .single-product-box { background: #fff; border-radius: 10px; overflow: hidden; transition: 0.3s; margin-bottom: 30px; box-shadow: var(--card-shadow); position: relative; border: 1px solid transparent; }
    .single-product-box:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.1); border-color: #eee; }
    .product-image { position: relative; overflow: hidden; display: block; padding: 20px; background: #f8f9fa; text-align: center; height: 220px; }
    .product-image img { height: 100%; width: auto; object-fit: contain; transition: 0.3s; }
    .single-product-box:hover .product-image img { transform: scale(1.05); }
    .sale-badge { position: absolute; top: 15px; right: 15px; background: #ff5722; color: #fff; font-size: 12px; font-weight: 700; padding: 2px 10px; border-radius: 3px; text-transform: uppercase; z-index: 2; }
    .stock-badge { position: absolute; top: 15px; left: 15px; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 3px; z-index: 2; }
    .stock-badge.in-stock { background: #4caf50; color: #fff; }
    .stock-badge.out-stock { background: #f44336; color: #fff; }
    .product-content { padding: 20px; text-align: center; }
    .product-content h3 { font-size: 16px; font-weight: 700; margin-bottom: 10px; line-height: 1.4; }
    .product-content h3 a { color: var(--heading-color); text-decoration: none; transition: 0.3s; }
    .product-content h3 a:hover { color: var(--primary-color); }
    .product-price { margin-bottom: 15px; }
    .regular-price { color: #999; text-decoration: line-through; font-size: 14px; margin-right: 5px; }
    .sale-price { color: var(--primary-color); font-size: 18px; font-weight: 700; }
    .add-to-cart-btn { display: inline-block; padding: 8px 20px; background-color: transparent; color: var(--primary-color); border: 1px solid var(--primary-color); border-radius: 30px; font-size: 13px; font-weight: 600; text-decoration: none; transition: 0.3s; }
    .add-to-cart-btn:hover { background-color: var(--primary-color); color: #fff; }
    .shop-header { background: #fff; padding: 15px 20px; border-radius: 8px; box-shadow: var(--card-shadow); margin-bottom: 30px; }
    .search-form .form-control { border-radius: 30px 0 0 30px; border: 1px solid #ddd; padding-left: 20px; min-width: 180px; height: 38px; }
    .search-form .btn { border-radius: 0 30px 30px 0; padding-left: 20px; padding-right: 20px; height: 38px; }
    .kategori-badge { display: inline-block; background: #e3f2fd; color: #1a73e8; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; margin-bottom: 8px; }
