.custom-text-bg-dark {
    color: #fff !important;
    background-color: #2b2b2b !important;
}

.custom-text-break {
    white-space: normal;
    word-wrap: break-word !important;
    word-break: break-word !important;
}

.custom-ul {
    list-style-type: square; /* Changes bullets to squares */
    margin: 0 0 0 20px;
    padding: 0;
}

.custom-ul li {
    margin: 0 0 2px 0;
    line-height: 1.3;
}

.custom-ul li::marker {
    color: #4CAF50;
    font-size: 16px; /* Optional: Adjusts the size of the bullets */
}

.custom-form-text-error {
    color: #bbb;
    font-size: 0.8rem !important;
}

.custom-fs-7 {
    font-size: 0.89rem !important;
}

.custom-fs-8 {
    font-size: 0.8rem !important;
}

.custom-secondary {
    color: #909090;
}

.custom-form-sub-header {
    color: #fff;
    font-weight: 600;
}

/* CUSTOM TOP NAVIGATION */
/* Base nav link style */
.custom-top-navigation .nav-link {
    color: #999 !important;
    cursor: pointer;
}

/* Icon and text inside nav link */
.custom-top-navigation .nav-link i,
.custom-top-navigation .nav-link span {
    color: #999;
}

/* Hover effect: lighter color and slight enlargement */
.custom-top-navigation .nav-link:hover i,
.custom-top-navigation .nav-link:hover span {
    color: #fff;
}

/* Active state */
.custom-top-navigation .nav-link.active i,
.custom-top-navigation .nav-link.active span {
    color: #fff;
}

/* Adjust dropdown menu background */
.custom-top-navigation .dropdown-menu {
    background-color: #2b2b2b; /* Slightly lighter than #444 for visibility */
    border: 1px solid #3c3f41; /* Subtle border */
}

/* Style dropdown links */
.custom-top-navigation .dropdown-item {
    color: #999; /* Ensure text is readable */
    padding: 5px 25px 5px 20px;
}

/* Hover effect */
.custom-top-navigation .dropdown-item:hover {
    background-color: #3c3f41; /* A slightly lighter shade */
    color: #fff; /* Gold text for emphasis */
}

/* Focus effect */
.custom-top-navigation .dropdown-item:focus {
    background-color: #333;
    color: #fff;
}

/* Active or selected state */
.custom-top-navigation .dropdown-item.active {
    background-color: #333;
    color: #fff;
    font-weight: normal;
}

/* Slight shadow for dropdown */
.custom-top-navigation .dropdown-menu {
    box-shadow: 0 2px 5px rgba(255, 255, 255, 0.1);
}

.custom-top-navigation .dropdown-toggle::after {
    margin-top: 4px; /* Adjust the value to move the arrow lower */
    vertical-align: middle;
}

.custom-top-navigation .nav-link.active.dropdown-toggle::after {
    color: #d0d0d0; /* Gold color for better contrast */
}

/* CUSTOM BREADCRUMB */
.custom-top-breadcrumb {
    color: #bbb;
}

.custom-top-breadcrumb .breadcrumb-item a,
.custom-top-breadcrumb .breadcrumb-item {
    font-size: 0.8rem;
}

.custom-top-breadcrumb .breadcrumb-item a {
    color: #bbb;
    text-decoration: none;
}

.custom-top-breadcrumb .breadcrumb-item a:hover {
    color: #bbb;
    text-decoration: underline;
}

.custom-top-breadcrumb .breadcrumb-item.active {
    color: #bbb;
}

.custom-top-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #bbb;
}

/* CUSTOM ALERT */
.custom-alert {
    background: none;
    color: #fff;
    border: none;
    border-bottom: solid 1px #555;
    border-radius: unset;
    font-weight: normal;
    margin: 0 0 12px 0;
    padding: 0 0 10px 4px;
}

.custom-top-search-form-control {
    background-color: #2e3032 !important; /* Slightly darker for depth */
    color: #e0e0e0; /* Softer white for readability */
    border: 1px solid #666; /* Subtle contrast */
    padding: 0.275rem 0.75rem; /* Maintain Bootstrap feel */
    border-radius: 4px; /* Slight rounding */
    transition: all 0.2s ease-in-out; /* Smooth focus effect */
}

.custom-top-search-form-control::placeholder {
    color: #999; /* Makes placeholder text subtle */
}

.custom-top-search-form-control:focus,
.custom-top-search-form-control:active {
    background-color: #292b2d; /* Slightly darker on focus */
    color: #f5f5f5;
    border-color: #888; /* Highlight border */
    outline: none;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.25); /* Soft glowing effect */
}

.custom-top-search-btn.btn-primary {
    padding: 3px 20px;
}

.custom-top-search-btn.btn-secondary,
.custom-top-search-btn.btn-light {
    padding: 3px 12px;
}

/* CUSTOM FORM INPUT / SELECT */
.custom-form-control {
    background-color: #2e3032; /* Slightly darker for depth */
    color: #e0e0e0; /* Softer white for readability */
    border: 1px solid #555; /* Subtle contrast */
    padding: 0.375rem 0.75rem; /* Maintain Bootstrap feel */
    border-radius: 4px; /* Slight rounding */
    transition: all 0.2s ease-in-out; /* Smooth focus effect */
}

/* Placeholder Text Styling */
.custom-form-control::placeholder {
    color: #999;
}

/* Focus & Active State */
.custom-form-control:focus,
.custom-form-control:active {
    background-color: #292b2d; /* Slightly darker on focus */
    color: #f5f5f5;
    border-color: #888; /* Highlight border */
    outline: none;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.25); /* Soft glowing effect */
}

/* Disabled Inputs */
.custom-form-control:disabled {
    background-color: #3c3f41; /* Match page background */
    color: #777; /* Muted text */
    border-color: #666;
    cursor: not-allowed;
}

/* Add Some Padding to Select Dropdowns */
select.custom-form-control {
    appearance: none; /* Removes native styles */
    padding-right: 2rem; /* Adjust for dropdown arrow */
}

.custom-form-control.has-error {
    border-left: solid #dc3545 3px;
}

/* CUSTOM DATE PICKER */
.custom-date-picker::-webkit-calendar-picker-indicator {
    filter: invert(0.8) brightness(0.8); /* Adjusting brightness and inversion */
    opacity: 0.8; /* Adds slight transparency */
}

/* CUSTOM PAGINATION */
.custom-pagination .pagination {
    background-color: #3c3f41;
    padding: 0;
    border-radius: 0.25rem;
}

.custom-pagination .page-item .page-link {
    padding: 4px 12px;
    background-color: #444;
    color: #fff;
    border: 1px solid #666;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.custom-pagination .page-item .page-link:hover {
    background-color: #666;
    color: #fff;
}

.custom-pagination .page-link:focus {
    outline: none;
    box-shadow: none;
}

.custom-pagination .page-item.active .page-link {
    background-color: #007bff; /* Bootstrap primary color or customize */
    color: #fff;
}

.custom-pagination .page-item.disabled .page-link {
    background-color: #313335;
    color: #aaa;
    border-color: #666;
    cursor: not-allowed;
}

/* Target only the prev/next buttons using :first-child and :last-child */
.custom-pagination .page-item.page-prev .page-link,
.custom-pagination .page-item.page-next .page-link {
    min-width: 3rem;
    text-align: center;
}

/* CUSTOM BUTTONS */
.custom-btn-back {
    background-color: #3c3f41; /* Darker background for contrast */
    color: #fff; /* White text for better readability */
    border: 1px solid #666; /* Subtle border */
    padding: 4px 12px; /* Consistent padding */
    font-size: 0.85rem; /* Slightly smaller text */
    display: inline-flex;
    align-items: center;
    text-decoration: none; /* Removes underline */
    border-radius: 4px; /* Soft rounding */
    transition: all 0.2s ease-in-out;
}

/* Icon & Text Spacing */
.custom-btn-back i {
    margin-right: 6px; /* Space between icon & text */
}

.custom-btn-mini {
    min-width: 130px;
    padding: 6px 10px !important;
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
    border-radius: 0.2rem !important;
    height: auto !important;
}

.custom-btn-mini-list {
    padding: 4px 12px !important;
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
    border-radius: 0.2rem !important;
    height: auto !important;
}

/* CUSTOM TABLE */
.custom-table {
    width: 100%;
    border-collapse: collapse;
    color: #f1f1f1; /* Light text for readability */
}

.custom-table thead th {
    background-color: #3c3f41; /* Black header */
    color: #fff;
    font-weight: normal;
    padding: 6px 12px;
    border-bottom: 0;
    text-align: left;
    font-size: 0.9rem;
    white-space: nowrap;
}

.custom-table tbody td {
    background-color: #444 !important; /* Dark gray rows */
    color: #e5e5e5;
    font-size: 0.9rem;
    padding: 6px 12px;
    vertical-align: middle;
    white-space: nowrap;
}

.custom-table tbody td.wrap {
    white-space: normal !important;
}

.custom-table.custom-table-wrap-text tbody td {
    white-space: unset !important;
}

.custom-table tbody tr:nth-child(even) td {
    background-color: #3c3f41 !important; /* Slightly lighter for striping */
}

.custom-table tbody tr:hover td {
    background-color: #444 !important;; /* Hover effect */
}

.custom-table .btn-primary,
.custom-table .btn-warning,
.custom-table .btn-secondary {
    border: none;
}

.custom-table .btn-sm {
    padding: 3px 10px;
    font-size: 0.8rem;
}
