


/* Fix Sr. No. column */


/* Set fixed width for Company, Website, Fax, Categories, Primary Address, Secondary Address */
.col-company,
.col-website,
.col-fax,
.col-categories,
.col-primary-address,
.col-secondary-address,
.col-area {
    min-width: 160px;
    max-width: 265px;
    white-space: nowrap; /* Keep text in a single line */
    overflow: hidden; /* Hide extra text */
    text-overflow: ellipsis; /* Show '...' for overflowed text */
    vertical-align: middle; /* Align text vertically in the middle */
}

/* Adjust column widths for Last Name and Phone */
.col-last-name,
.col-phone, 
.col-first-name, .col-specialties {
    min-width: 150px;
    max-width: 180px;
    padding-right: 10px !important;
}

/* Email column with consistent ellipsis for overflow */
.col-email {
    min-width: 250px;
    max-width: 250px;
    white-space: nowrap; /* Keep text in a single line */
    overflow: hidden; /* Hide extra text */
    text-overflow: ellipsis; /* Show '...' for overflowed text */
    font-size: 14px; /* Adjust font size */
}

/* Notes column: expand height, word-wrap enabled */
.col-notes {
    min-width: 260px;
    max-width: 300px;
    word-wrap: break-word;
    white-space: normal; /* Allow multi-line text */
    overflow: visible; /* Prevent text hiding */
    vertical-align: top; /* Align text to the top */
}

/* Table cell general styles */
#memberTable td {
    vertical-align: top;
    white-space: normal; /* Allow multi-line text where necessary */
    padding: 8px 10px; /* Add consistent padding */
}

/* Highlight search term */
.highlighted {
    background-color: yellow;
    color: black;
    font-weight: bold;
    padding: 2px 4px;
    border-radius: 3px;
}

/* Header cell styling */
#memberTable th {
    background-color: #f8f9fa; /* Light gray background */
    font-weight: bold;
    text-align: left; /* Align header text to the left */
    border-bottom: 2px solid #dee2e6; /* Add border for clarity */
    padding: 10px; /* Add consistent padding */
}

/* Style for rows */
#memberTable tr:nth-child(odd) {
    background-color: #f9f9f9; /* Light gray background for odd rows */
}

#memberTable tr:nth-child(even) {
    background-color: #ffffff; /* White background for even rows */
}

/* Ensure responsive table behavior */
#memberTable {
    width: 100%;
    border-collapse: collapse; /* Ensure consistent border appearance */
    table-layout: auto; /* Allow automatic column resizing */
}

/* Tooltip-like behavior for ellipsis content (optional for long text) */
.col-company:hover,
.col-website:hover,
.col-fax:hover,
.col-categories:hover,
.col-primary-address:hover,
.col-secondary-address:hover,
.col-email:hover {
    overflow: visible;
    white-space: normal;
    text-overflow: unset;
}

/* Adjust font size for all table content */
#memberTable td,
#memberTable th {
    font-size: 14px; /* Consistent font size across table */
}

/* Adjust responsiveness for smaller screens */
@media (max-width: 768px) {
    .col-company,
    .col-website,
    .col-fax,
    .col-primary-address,
    .col-secondary-address,
    .col-area {
        max-width: 200px;
        font-size: 13px;
    }

    .col-email {
        max-width: 220px;
    }

    #memberTable td,
    #memberTable th {
        font-size: 12px; /* Reduce font size for smaller screens */
    }
}


.col-sr-no {
    min-width: 55px !important;
    width: 55px !important;
    text-align: center;
}

.column-toggle-controls label {
        border-right: 1px solid rgb(0, 0, 0, 0.4);
    padding-right: 4px;
}

.column-toggle-controls input[type=checkbox] {
    position: relative;
    top: 1px;
}

.column-toggle-controls label:last-child {
        border-right:none;
    padding-right: 0;
}
.column-toggle-controls {
    margin-top: 16px;
    margin-block: 10px;
}