/* Sidebar Styles */
.sidebar {
    background-color: #fff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Title Styles */
.sidebar-title {
    font-size: 1.6rem; /* Slightly larger font size */
    font-weight: 700; /* Bold font for emphasis */
    color: #333; /* Neutral text color */
    position: relative;
    text-align: left;
    margin-bottom: 20px;
    padding-left: 15px; /* Indent text to make room for the decorative element */
    padding-top: 10px;
    padding-bottom: 10px;
    font-family: -apple-system, system-ui, "system-ui";
}

.sidebar h2.sidebar-title {
    font-size: 1.6rem; /* Slightly larger font size */
    font-weight: 700; /* Bold font for emphasis */
    color: #333; /* Neutral text color */
    position: relative;
    text-align: left;
    margin-bottom: 20px;
    padding-left: 15px; /* Indent text to make room for the decorative element */
}

/* Decorative Element */
.sidebar h2.sidebar-title::before {
    content: ''; /* Empty content for the decorative element */
    position: absolute;
    left: 0; /* Position it to the left of the title */
    top: 50%;
    transform: translateY(-50%);
    height: 100%; /* Match the height of the title */
    width: 5px; /* Decorative line thickness */
    background-color: var(--primary-color); /* Highlight color */
    border-radius: 3px; /* Rounded corners for the decorative element */
}

/* Label Styles */
.sidebar ul li {
    margin-bottom: 15px;
}

.sidebar ul li a.category-link {
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600; /* Medium weight for better readability */
    color: #333; /* Neutral color for unselected links */
    display: block; /* Ensure clickable area spans the full label */
    padding: 8px 15px; /* Add padding for better touch target */
    border-radius: 8px; /* Rounded corners for modern look */
    transition: all 0.3s ease; /* Smooth transition for hover effects */
}

/* Hover and Active State */
.sidebar ul li a.category-link:hover {
    color: #fff; /* Change text color on hover */
    background-color: var(--primary-color); /* Highlight background */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Add subtle shadow on hover */
}

.sidebar ul li a.category-link.active {
    color: #fff; /* Text color for active link */
    background-color: var(--secondary-color); /* Different background for active */
    font-weight: 600; /* Slightly bolder font for emphasis */
    border: 1px solid var(--primary-color); /* Add border for differentiation */
}

/* Product List Section */
.product-list-section .section-title {
    text-align: left;
    color: #000;
    margin-bottom: 30px;
}

/* Product Cards */
.product-card {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 15px;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.15);
}

.product-card img {
    border-bottom: 1px solid #e0e0e0;
    border-radius: 15px 15px 0 0;
    transition: transform 0.3s ease;
    height: 250px;
    object-fit: cover;
}

.product-card:hover img {
    transform: scale(1.05);
}

.product-card .card-body {
    padding: 20px;
    text-align: center;
}

.product-card .card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.product-card .card-text {
    color: #666;
    font-size: 0.95rem;
    margin-bottom: 15px;
}

.product-card .price {
    font-size: 1.1rem;
    color: var(--secondary-color);
    font-weight: 700;
    margin-bottom: 15px;
}

.product-card .btn-primary-custom {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.product-card .btn-primary-custom:hover {
    background-color: darken(var(--primary-color), 10%);
    transform: scale(1.05);
    color: var(--primary-color);
}

/* Responsive Adjustments */
@media (max-width: 992px) {
    .sidebar {
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .product-card img {
        height: 200px;
    }
}
