
/* --- Section Title --- */
.el-section-title {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    color: #06BBCC;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 1rem;
}
.el-section-title::before,
.el-section-title::after {
        content: '';
        position: absolute;
        width: 50px;
        height: 2px;
        background: #06BBCC;
        top: 50%;
    }
.el-section-title::before {
        right: calc(100% + 10px);
    }
.el-section-title::after {
        left: calc(100% + 10px);
}

/* --- Search Bar --- */
.catalog-search {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.45);
    padding: 1.5rem 1.75rem;
    margin-bottom: 2rem;
}
.catalog-search .form-control,
.catalog-search .form-select {
        border: 1px solid #e9ecef;
        border-radius: 0.5rem;
        padding: 0.75rem 1rem;
    }
.catalog-search .form-control:focus,
.catalog-search .form-select:focus {
            border-color: #06BBCC;
            box-shadow: 0 0 0 0.2rem rgba(6,187,204,0.15);
        }
/* --- Result count badge --- */
.result-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(6,187,204,0.1);
    color: #06BBCC;
    border-radius: 2rem;
    padding: 0.35rem 0.85rem;
    font-size: 0.85rem;
    font-weight: 600;
}
/* --- Empty State --- */
.empty-state {
    text-align: center;
    padding: 4rem 1rem;
    color: #6c757d;
}
    .empty-state i {
        font-size: 4rem;
        opacity: 0.3;
        margin-bottom: 1rem;
        display: block;
    }

