/* Core Dark Theme Body */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background: linear-gradient(to bottom, #000000 0%, #343a40 100%); /* Black fades to dark gray */
    background-attachment: fixed; /* Ensures gradient covers full height */
    color: #f8f9fa; /* Default text color for light readability */
}

/* Ensure headings are also light */
h1, h2, h3, h4, h5, h6 {
    color: #f8f9fa;
}

/* Card styling adjusted for dark background */
.card {
    transition: all 0.3s ease;
    border: 0;
    background-color: rgba(0, 0, 0, 0.4); /* Slightly transparent dark card background */
    color: #f8f9fa; /* Text color inside cards */
}
.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(255,255,255,0.05) !important; /* Lighter shadow for dark theme */
}
.hover-zoom {
    transition: transform 0.5s ease;
}
.card:hover .hover-zoom {
    transform: scale(1.05);
}
.carousel-item img {
    height: 450px;
    object-fit: cover;
    filter: brightness(0.7); /* Keep images slightly darkened */
}

/* Override Bootstrap text colors for dark theme */
.text-primary { color: #0d6efd !important; } /* Bootstrap's primary blue */
.text-success { color: #198754 !important; } /* Bootstrap's success green */
.text-info { color: #0dcaf0 !important; }   /* Bootstrap's info cyan */
.text-warning { color: #ffc107 !important; } /* Bootstrap's warning yellow */
.text-danger { color: #dc3545 !important; } /* Bootstrap's danger red */
.text-muted { color: rgba(255, 255, 255, 0.7) !important; } /* Lighter muted text */
.text-dark { color: #f8f9fa !important; } /* Invert text-dark to light */


/* Adjust specific Bootstrap components for dark theme */
.alert-success { background-color: rgba(25, 135, 84, 0.3); color: #9be9a8; border-color: rgba(25, 135, 84, 0.5); }
.alert-danger { background-color: rgba(220, 53, 69, 0.3); color: #f5b0b8; border-color: rgba(220, 53, 69, 0.5); }
.alert-info { background-color: rgba(13, 202, 240, 0.3); color: #9adceb; border-color: rgba(13, 202, 240, 0.5); }
.alert-warning { background-color: rgba(255, 193, 7, 0.3); color: #ffe79e; border-color: rgba(255, 193, 7, 0.5); }

/* Buttons */
.btn-primary { background-color: #0d6efd; border-color: #0d6efd; color: white; }
.btn-primary:hover { background-color: #0b5ed7; border-color: #0a58ca; }
.btn-outline-info { color: #0dcaf0; border-color: #0dcaf0; }
.btn-outline-info:hover { background-color: #0dcaf0; color: #000; }

/* Headers for cards */
.card-header.bg-primary { background-color: rgba(13, 110, 253, 0.7) !important; } /* Semi-transparent primary */
.card-header.bg-secondary { background-color: rgba(108, 117, 125, 0.7) !important; } /* Semi-transparent secondary */
.card-header.bg-info { background-color: rgba(13, 202, 240, 0.7) !important; } /* Semi-transparent info */