        body {
            /**/
            background-color: #f4f4f4; /* Softer background */
        }



        .section-title {
            text-align: center;
            color: #333;
            margin-bottom: 30px;
        }
        .category-title {
    font-size: 1.5em;
    font-weight: bold;
    color: #030276;
    margin-top: 20px;
    margin-bottom: 15px; /* Adds space below title */
}

.category-title span { 
    display: inline-block;
    position: relative; /* Ensure ::after is positioned relative to this */
    padding-bottom: 5px; /* Adds a bit more space between text and underline */
}

.category-title span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0; /* Align with text */
    width: 100%;
    height: 1px;
    background-color: #030276;
}
.success-message {
    color: green;
    font-weight: bold;
}

.error-message {
    color: red;
    font-weight: bold;
}

        .card-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
        }

        .card {
            background-color: #fff;
            border-radius: 10px; /* More rounded corners */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Softer shadow */
            padding: 20px;
            transition: transform 0.2s;
            height: 100%; /* Equal height cards */
            display: flex; /* Use flexbox for vertical centering */
            flex-direction: column;
        }

        .card:hover {
            transform: translateY(-5px);
        }

        .card-title {
            font-size: 1.2em;
            font-weight: bold;
            margin-bottom: 10px;
            color: #333; /* Darker card title */
        }

        .card-content {
            flex-grow: 1; /* Allow content to fill available space */
            margin-bottom: 10px;
        }

        .contact-info {
            margin-top: 10px;
        }

        .contact-info a {
            color: var(--primary_color);
            text-decoration: none;
        }

        .contact-info a:hover {
            text-decoration: underline;
        }

        /* Responsive adjustments (improved) */
        @media (max-width: 768px) {
            .card-container {
                grid-template-columns: 1fr; /* Single column on smaller screens */
            }
        }

         /* Style the search input */
#memberSearch {
    width: 100%;
    max-width: 600px; /* Limit width for better aesthetics */
    padding: 12px;
    font-size: 16px;
    border: 1px solid var(--primary_color); /* Blue border */
    border-radius: 25px;
    outline: none;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Change border on focus */
#memberSearch:focus {
    border-color: var(--hover_color);
    box-shadow: 0 0 8px rgba(0, 123, 255, 0.5);
}

/* Center search box */
.search-container {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

/* Style for the "No results" message */
.no-results {
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;
    color: #ff4d4d; /* Red text to indicate no results */
    background-color: #ffe6e6; /* Light red background */
    padding: 10px;
    border-radius: 8px;
    display: none;
    max-width: 400px;
    margin: 20px auto;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

/* Highlight matching search terms */
.highlight {
    background-color: yellow;
    color: #333;
    font-weight: bold;
    padding: 2px 4px;
    border-radius: 3px;
}
