/* General Styles */
body {
    font-family: 'Cairo', sans-serif;
    background-color: #f9e9d8; /* Sandy beige */
    color: #000000; /* Black text in light mode */
    min-height: 100vh;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Navbar */
.navbar {
    background-color: #e07b39 !important; /* Warm orange */
    border-bottom: 3px solid #f9e9d8;
}

.navbar-brand {
    font-size: 1.5rem;
    color: #fff !important;
}

.nav-link, .btn-outline-light {
    color: #fff !important;
    transition: background-color 0.3s ease;
}

.btn-outline-light:hover {
    background-color: #d95b29;
    border-color: #d95b29;
}

/* Cards */
.card {
    border-radius: 15px;
    background-color: #fff;
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1) !important;
}

.bg-accent-light {
    background-color: #fdf6e9; /* Light beige */
}

.bg-accent {
    background-color: #26a69a; /* Deep teal for headers */
    color: #fff;
}

/* Buttons */
.btn-primary {
    background-color: #e07b39; /* Warm orange */
    border-color: #e07b39;
    border-radius: 8px;
    padding: 0.6rem 1.5rem;
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #d95b29;
    border-color: #d95b29;
}

/* Tables */
.table {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    color: #000000; /* Black text in tables */
}

.table-hover tbody tr:hover {
    background-color: #fdf6e9;
}

/* Inputs */
.input-group-text {
    background-color: #fff;
    border: none;
    color: #000000; /* Black icons in inputs */
}

.form-control {
    border-radius: 8px;
    border: 1px solid #e0d5c8;
    color: #000000; /* Black text in inputs */
}

/* Carousel */
.carousel-item {
    padding: 20px;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
    background-color: #e07b39;
    border-radius: 50%;
    padding: 10px;
}

/* Specific Text Elements */
h1, h2, h3, h4, h5, h6, p, .card-title, .card-text, small {
    color: #000000; /* Black text for headings and paragraphs */
}

/* Footer */
footer {
    background-color: #e07b39;
}

/* Dark Mode */
body.dark-mode {
    background-color: #2f2b26;
    color: #e0d5c8; /* Light beige text in dark mode */
}

body.dark-mode .navbar {
    background-color: #b3591f !important;
}

body.dark-mode .card {
    background-color: #3c3732;
}

body.dark-mode .bg-accent-light {
    background-color: #4a433b;
}

body.dark-mode .bg-accent {
    background-color: #00695c;
}

body.dark-mode .table {
    background-color: #3c3732;
    color: #e0d5c8; /* Light beige text in tables */
}

body.dark-mode .table-hover tbody tr:hover {
    background-color: #4a433b;
}

body.dark-mode .form-control {
    background-color: #4a433b;
    color: #e0d5c8; /* Light beige text in inputs */
    border: 1px solid #5a5248;
}

body.dark-mode .input-group-text {
    background-color: #4a433b;
    color: #e0d5c8; /* Light beige icons in inputs */
}

body.dark-mode .btn-primary {
    background-color: #b3591f;
    border-color: #b3591f;
}

body.dark-mode .btn-primary:hover {
    background-color: #8e4518;
    border-color: #8e4518;
}

body.dark-mode footer {
    background-color: #b3591f;
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6, 
body.dark-mode p, body.dark-mode .card-title, body.dark-mode .card-text, body.dark-mode small {
    color: #e0d5c8; /* Light beige text in dark mode */
}

/* Modal */
.modal-content {
    border-radius: 15px;
}

/* Ensure content grows to push footer down */
.flex-grow-1 {
    flex-grow: 1;
}