.filter-header {
    padding: 0.45rem 0.375rem;
    border-radius: 0.375rem;
    transition: background-color 0.15s ease;
    cursor: pointer;
}
.filter-header:hover {
    background-color: rgba(0, 0, 0, 0.06);
    color: #212529;
}
.filter-chevron {
    display: inline-block;
    transition: transform 0.2s ease;
}
.filter-header[aria-expanded="false"] .filter-chevron {
    transform: rotate(-90deg);
}
.filter-option {
    padding: 0.3rem 0.5rem;
    border-radius: 0.375rem;
    color: #555;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.filter-option:hover {
    background-color: rgba(0, 0, 0, 0.06);
    color: #212529 !important;
}

.product-card {
    width: calc(50% - 0.5rem);
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
@media (max-width: 767px) {
    .product-card img {
        max-width: 100% !important;
        height: auto !important;
    }
}
@media (min-width: 768px) {
    .product-card {
        width: 210px;
    }
}
.product-card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.09);
    border-color: #d1d5db;
}
.product-card-title {
    font-size: 0.8rem;
    color: #374151;
    padding: 0.5rem 0.75rem;
    line-height: 1.4;
}
.product-card-title:hover {
    color: #111827;
}
.product-card-body {
    padding: 0.5rem 0.75rem 0.75rem;
    border-top: 1px solid #f3f4f6;
}
.stock-badge {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    border-radius: 2rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}
.stock-out {
    background-color: #fde8e8;
    color: #b91c1c;
    border: 1px solid #fca5a5;
}
.stock-low {
    background-color: #fff3e0;
    color: #b45309;
    border: 1px solid #fcd34d;
}
.stock-in {
    background-color: #dcfce7;
    color: #15803d;
    border: 1px solid #86efac;
}

#menuOffcanvas .nav-action-link {
    display: block;
    border-radius: 0.375rem;
}

.nav-action-link {
    display: inline-block;
    padding: 0.3rem 0.75rem;
    border-radius: 2rem;
    font-size: 0.85rem;
    color: #555;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.nav-action-link:hover {
    background-color: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.15);
    color: #212529;
}

.form-label {
    display: block;
}