:root {
    --bs-primary: #dbb855;
    --bs-primary-dark: #b09630;
    --bs-primary-rgb: 219, 184, 85;
    --bs-primary-contrast: #ffffff;
    --bs-primary-contrast-rgb: 255, 255, 255;
    --bs-primary-text: #000000;
    /* Text color when using primary background */
    --bs-primary-bg-subtle: rgba(219, 184, 85, 0.1);
    --bs-primary-border-subtle: rgba(219, 184, 85, 0.2);
}

.scrolltop,
.page-link,
.modal-content,
input {
    border-radius: 0.25rem !important;
    /* Added border-radius */
}

.scrolltop {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

/* Base Primary Button */
.btn {
    border-radius: 0.25rem !important;
}

.btn-primary {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
    /* Added border-radius */
}

.btn-primary:hover {
    color: var(--bs-primary-contrast) !important;
    background-color: #c8a740 !important;
    /* Manually darken color */
    border-color: #c8a740 !important;
    border-radius: 0.25rem !important;
}

.btn-primary:focus,
.btn-primary.focus {
    color: var(--bs-primary-contrast) !important;
    background-color: #c8a740 !important;
    /* Manually darken color */
    border-color: #c8a740 !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5) !important;
    border-radius: 0.25rem !important;
}

.btn-primary:active,
.btn-primary.active,
.show>.btn-primary.dropdown-toggle {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary-dark) !important;
    /* Further darken */
    border-color: var(--bs-primary-dark) !important;
    border-radius: 0.25rem !important;
}

.btn-primary:active:focus,
.btn-primary.active:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5) !important;
    border-radius: 0.25rem !important;
}

.btn-primary:disabled,
.btn-primary.disabled {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    opacity: 0.65;
    border-radius: 0.25rem !important;
}

/* Primary Light Button */
.btn-light-primary {
    color: var(--bs-primary-text) !important;
    background-color: var(--bs-primary-bg-subtle) !important;
    border-color: var(--bs-primary-border-subtle) !important;
}

.btn-check:active+.btn.btn-light-primary,
.btn-check:checked+.btn.btn-light-primary,
.btn.btn-light-primary.active,
.btn.btn-light-primary.show,
.btn.btn-light-primary:active:not(.btn-active),
.btn.btn-light-primary:focus:not(.btn-active),
.btn.btn-light-primary:hover:not(.btn-active),
.show>.btn.btn-light-primary {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-light-primary:disabled {
    color: var(--bs-primary-text) !important;
    background-color: var(--bs-primary-bg-subtle) !important;
    border-color: var(--bs-primary-border-subtle) !important;
    opacity: 0.65;
}

.btn.btn-light-primary i {
    color: var(--bs-primary) !important;
}

.btn-check:active+.btn.btn-light-primary i,
.btn-check:checked+.btn.btn-light-primary i,
.btn.btn-light-primary.active i,
.btn.btn-light-primary.show i,
.btn.btn-light-primary:active:not(.btn-active) i,
.btn.btn-light-primary:focus:not(.btn-active) i,
.btn.btn-light-primary:hover:not(.btn-active) i,
.show>.btn.btn-light-primary i {
    color: #fff !important;
}

/* Primary Outline Button */
.btn-outline-primary {
    color: var(--bs-primary) !important;
    background-color: transparent !important;
    border-color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.btn-outline-primary:hover {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5) !important;
    border-radius: 0.25rem !important;
}

.btn-outline-primary:active,
.btn-outline-primary.active {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary-dark) !important;
    /* Further darken */
    border-color: var(--bs-primary-dark) !important;
    border-radius: 0.25rem !important;
}

.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
    color: var(--bs-primary) !important;
    background-color: transparent !important;
    border-radius: 0.25rem !important;
}

/* Light and Active Styles */
.btn-light,
.btn-active-light-primary {
    color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.btn-light:hover,
.btn-active-light-primary:hover {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.btn.btn-active-light-primary:hover:not(.btn-active) {
    color: var(--bs-primary) !important;
    background-color: var(--bs-primary-contrast) !important;
    border-color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.btn-light:focus,
.btn-active-light-primary:focus {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5) !important;
    border-radius: 0.25rem !important;
}

.btn-light:active,
.btn-active-light-primary:active {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary-dark) !important;
    /* Manually darken */
    border-color: var(--bs-primary-dark) !important;
    border-radius: 0.25rem !important;
}

.btn-light:disabled,
.btn-active-light-primary:disabled {
    color: var(--bs-primary) !important;
    background-color: var(--bs-primary-bg-subtle) !important;
    border-color: var(--bs-primary-border-subtle) !important;
    opacity: 0.65;
    border-radius: 0.25rem !important;
}

.btn.btn-active-light-primary:hover:not(.btn-active) i {
    color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

a {
    color: var(--bs-primary) !important;
    text-decoration: none;
}

a:hover {
    color: var(--bs-primary-dark) !important;
    text-decoration: underline;
}

.nav-line-tabs .nav-item .nav-link.active, .nav-line-tabs .nav-item .nav-link:hover:not(.disabled), .nav-line-tabs .nav-item.show .nav-link {
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid var(--bs-primary) !important;
    transition: color .2s ease, background-color .2s ease;
    color: var(--bs-primary-dark) !important;
}

/* form-control */
.form-control:focus {
    border-color: var(--bs-primary) !important;
}

.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.form-check-input:active {
    background-color: #ffffff !important;
    border-color: var(--bs-primary-dark) !important;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--bs-primary) !important;
}

option:hover {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

input:checked+.slider {
    background-color: var(--bs-primary) !important;
}

input:focus+.slider {
    box-shadow: 0 0 1px var(--bs-primary) !important;
}

input:checked+.slider:before {
    -webkit-transform: translateX(31px);
    -ms-transform: translateX(31px);
    transform: translateX(31px);
}

/* Custom primary color for DataTables pagination buttons */
.dataTables_paginate .page-item .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-primary-contrast) !important;
}

/* Custom primary color for active state of DataTables pagination buttons */
.dataTables_paginate .page-item.active .page-link {
    background-color: var(--bs-primary-dark) !important;
    border-color: var(--bs-primary-dark) !important;
    color: var(--bs-primary-contrast) !important;
}

/* Custom primary color for disabled state of DataTables pagination buttons */
.dataTables_paginate .page-item.disabled .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-primary-contrast) !important;
}

/* Custom primary color for hover state of DataTables pagination buttons */
.dataTables_paginate .page-item .page-link:hover {
    background-color: var(--bs-primary-dark) !important;
    border-color: var(--bs-primary-dark) !important;
    color: var(--bs-primary-contrast) !important;
}

/* Custom border color for DataTables search input */
.dataTables_filter input {
    border-color: var(--bs-primary) !important;
}

/* Custom border color for DataTables pages dropdown */
.dataTables_length select {
    border-color: var(--bs-primary) !important;
}

/* Custom focus border color for DataTables search input and pages dropdown */
.dataTables_filter input:focus,
.dataTables_length select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 3px var(--bs-primary-dark) !important;
}

.page-item.next .page-link i,
.page-item.previous .page-link i,
.page-item.next .page-link i,
.page-item.next .page-link i {
    color: var(--bs-primary-contrast) !important;
}

.page-item.disabled .page-link i {
    color: var(--bs-primary-contrast) !important;
}

/* Selected option */
.select2-results__option.select2-results__option--selectable.select2-results__option--selected.select2-results__option--highlighted {
    background-color: var(--bs-primary) !important;
    /* Change selected color */
    color: var(--bs-primary-contrast) !important;
    /* Change text color to ensure visibility */
}

/* Hover state */
.select2-container--bootstrap5 .select2-dropdown .select2-results__option:not(.select2-results__option--group):hover {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    /* Change hover color */
}

.select2-container--bootstrap5 .select2-dropdown .select2-results__option.select2-results__option--selected {
    background-color: var(--bs-primary) !important;
    /* Change selected color */
    color: var(--bs-primary-contrast) !important;
}

.daterangepicker .ranges li:hover {
    background-color: var(--bs-primary-contrast) !important;
    color: var(--bs-primary) !important;
    transition: color .2s ease, background-color .2s ease;
}

.daterangepicker .ranges li.active {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    transition: color .2s ease, background-color .2s ease;
}

.daterangepicker .drp-calendar td.active {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-radius: .475rem;
}

.daterangepicker .drp-calendar td.today,
.daterangepicker .drp-calendar td.today.active {
    color: var(--bs-primary-contrast) !important;
    background-color: var(--bs-primary) !important;
    border-radius: .475rem;
}

.daterangepicker .drp-calendar td.in-range.available:not(.active):not(.off):not(.today) {
    background-color: var(--bs-primary-contrast) !important;
    color: var(--bs-primary) !important;
}

.daterangepicker .drp-calendar td.available:hover,
.daterangepicker .drp-calendar th.available:hover {
    border-radius: .475rem;
    background-color: var(--bs-primary-contrast) !important;
    color: var(--bs-primary) !important;
}

.daterangepicker .drp-calendar th.next.available:hover span,
.daterangepicker .drp-calendar th.prev.available:hover span {
    border-color: var(--bs-primary) !important;
}

/* Alerts */
.alert-primary {
    color: var(--bs-primary-text);
    background-color: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary-border-subtle);
    border-radius: 0.25rem !important;
}

.alert {
    border-radius: 0.25rem !important;
}

/* Badges */
.badge-primary {
    color: var(--bs-primary-contrast);
    background-color: var(--bs-primary);
}

.badge-primary {
    border-radius: 0.25rem !important;
}

/* Cards */
.card-primary {
    border-color: var(--bs-primary) !important;
}

.card {
    border-radius: 0.25rem !important;
}

/* List Group */
.list-group-item-primary {
    color: var(--bs-primary-text);
    background-color: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary-border-subtle);
    border-radius: 0.25rem !important;
}

/* Table */
.table-primary {
    --bs-table-bg: var(--bs-primary-bg-subtle);
    --bs-table-striped-bg: var(--bs-primary-border-subtle);
    --bs-table-hover-bg: rgba(var(--bs-primary-rgb), 0.2);
    --bs-table-active-bg: rgba(var(--bs-primary-rgb), 0.3);
    border-radius: 0.25rem !important;
}

/* Button Link */
.btn-link {
    color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.btn-link:hover {
    color: #c8a740 !important;
    /* Manually set darker color */
    border-radius: 0.25rem !important;
}

/* Primary Background */
.bg-primary {
    background-color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.border-primary {
    border-color: var(--bs-primary) !important;
    border-radius: 0.25rem !important;
}

.bg-primary.hoverable:hover {
    color: var(--bs-primary-contrast) !important;
    background-color: #c8a740 !important;
    border-color: #c8a740 !important;
    border-radius: 0.25rem !important;
}

.btn-primary:hover {
    background-color: #c8a740 !important;
    /* Manually darken color */
    border-color: #c8a740 !important;
}

.btn-primary:active {
    background-color: var(--bs-primary-dark) !important;
    /* Further darken */
    border-color: var(--bs-primary-dark) !important;
}

.btn-check:active+.btn.btn-primary,
.btn-check:checked+.btn.btn-primary,
.btn.btn-primary.active,
.btn.btn-primary.show,
.btn.btn-primary:active:not(.btn-active),
.btn.btn-primary:focus:not(.btn-active),
.btn.btn-primary:hover:not(.btn-active),
.show>.btn.btn-primary {
    color: #fff;
    background-color: #c8a740 !important;
    /* Manually darken color */
    border-color: #c8a740 !important;
    border-radius: 0.25rem !important;
}
