/* Darken text for better contrast against light background */
body {
    color: #2c3e50 !important;
}

/* Max width for main content container */
#content .container-fluid {
    max-width: 2100px;
    margin-left: auto;
    margin-right: auto;
}

.text-gray-600 {
    color: #4a5568 !important;
}

.text-gray-800 {
    color: #1a202c !important;
}

.table {
    color: #2d3748 !important;
    background-color: #fff !important;
}

/* Default table header color (dark text) - overridden for .thead-dark */
.table th {
    color: #ffffff !important;
    background-color: #343a40 !important;
    text-transform: uppercase;
    border-color: #454d55;
}

.card-body {
    color: #2d3748 !important;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: #1a202c !important;
}

/* Custom Table Styles for Gig Detail */
.table .thead-dark th {
    color: #f8f9fa !important; /* Light grey/white text */
    background-color: #343a40; /* Dark background */
    text-transform: uppercase;
    font-weight: bold;
    padding: 10px 15px; /* Reduced padding */
    letter-spacing: 0.5px;
    border-color: #454d55;
}

.table td {
    vertical-align: middle;
    /* background-color: #fff !important; Removed to allow striping */
}

/* Table Styling: Striped rows and minimal vertical borders */
.table tbody tr:nth-of-type(odd) {
    background-color: #fff;
}

.table tbody tr:nth-of-type(even) {
    background-color: rgba(0, 0, 0, 0.02); /* Very light grey */
}

.table td, .table th {
    border-left: none !important;
    border-right: none !important;
}

/* Ensure outer border is kept if using table-bordered, but we want to hide inner vertical borders */
.table-bordered td, .table-bordered th {
    border-left: none !important;
    border-right: none !important;
}

.table-bordered {
    border: 1px solid #e3e6f0;
}

.table-sm td, .table-sm th {
    padding: .5rem;
}

/* Ensure inputs inside tables fill the cell and look seamless */
.table td .form-control {
    border: none;
    padding: 2px 0;
    background: transparent;
    height: auto;
    box-shadow: none;
}

/* Fix for Flatpickr/Readonly inputs to prevent grey background */
.table td .form-control[readonly], 
.table td .flatpickr-input[readonly] {
    background-color: transparent !important;
    opacity: 1; /* Bootstrap sets opacity to 1, but good to be sure */
}

.table td .form-control:focus {
    box-shadow: none;
    background: transparent;
}

/* Remove hover highlight from tables */
.table-hover tbody tr:hover {
    color: inherit;
    background-color: inherit;
}

/* Ensure striped rows keep their color on hover */
.table-hover tbody tr:nth-of-type(odd):hover {
    background-color: #fff;
}

.table-hover tbody tr:nth-of-type(even):hover {
    background-color: rgba(0, 0, 0, 0.02);
}

/* Remove focus glow from all inputs */
.form-control:focus {
    box-shadow: none;
    border-color: #d1d3e2;
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #6e707e;
    text-align: center;
    white-space: nowrap;
    background-color: transparent;
    border: none;
    border-radius: .35rem;
    font-weight: bold;
}

/* Large Screen Typography Adjustments */
@media (min-width: 1921px) {
    html {
        font-size: 18px; /* Scales all rem units, including the 0.9rem in gig list */
    }
    
    /* Keep table headers at standard size (~16px) */
    .table th, .table .thead-dark th {
        font-size: 0.9rem; 
    }
}

@media (min-width: 3000px) { /* 4K and ultra-wide */
    html {
        font-size: 24px;
    }
    
    /* Keep table headers at standard size (~16px) */
    .table th, .table .thead-dark th {
        font-size: 0.67rem;
    }
}

/* Improve Topbar Menu Visibility */
.topbar .nav-item .nav-link {
    color: #5a5c69 !important; /* Darker gray */
    font-weight: 600;
}
.topbar .nav-item .nav-link:hover {
    color: #2e59d9 !important; /* Primary blue on hover */
}
.topbar .nav-item .nav-link i {
    color: #5a5c69 !important;
}
.topbar .nav-item .nav-link:hover i {
    color: #2e59d9 !important;
}

/* Flatpickr Dark Theme Customization */
.flatpickr-calendar {
    background: #3a3b45 !important;
    border: 1px solid #4e73df !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;
}
.flatpickr-day {
    color: #d1d3e2 !important;
}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus {
    background: #4e73df !important;
    border-color: #4e73df !important;
    color: #fff !important;
}
.flatpickr-months .flatpickr-month {
    background: #4e73df !important;
    color: #fff !important;
    fill: #fff !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    background-color: #4e73df !important;
    color: #fff !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: #4e73df !important;
    color: #fff !important;
}
.flatpickr-weekdays {
    background: #4e73df !important;
}
span.flatpickr-weekday {
    background: #4e73df !important;
    color: #fff !important;
}
.flatpickr-current-month input.cur-year {
    color: #fff !important;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: #fff !important;
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: #fff !important;
}

/* Rental Edit Form Labels */
.rental-edit-form .col-form-label {
    text-align: right;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
}

/* Global Button Styling - Bigger and Bold */
.btn {
    font-weight: 700 !important; /* Bold text */
    font-size: 1.1rem !important; /* Larger font */
    padding: 0.6rem 1.2rem !important; /* Larger padding */
}

/* Adjust btn-sm to be slightly larger too */
.btn-sm {
    font-size: 0.95rem !important;
    padding: 0.4rem 0.8rem !important;
}

/* Ensure icons inside buttons are aligned */
.btn i {
    margin-right: 0.3rem;
}

.text-dark-blue { color: #1a237e !important; }

/* Global Link Styling */
a:not(.btn):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6):not(.navbar-brand):not(.page-link) {
    color: #1a237e;
}
a:not(.btn):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6):not(.navbar-brand):not(.page-link):hover {
    color: #121858;
    text-decoration: underline;
}

/* Global Placeholder Styling */
::placeholder {
    color: #d1d3e2 !important;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: #d1d3e2 !important;
}

::-ms-input-placeholder { /* Microsoft Edge */
   color: #d1d3e2 !important;
}

/* DataTables pagination button fix - white text on blue background */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:hover,
.pagination .page-item.active .page-link:focus,
div.dataTables_wrapper div.dataTables_paginate ul.pagination .page-item.active .page-link {
    color: #fff !important;
    background: #4e73df !important;
    background-color: #4e73df !important;
    border-color: #4e73df !important;
}
