:root {
    --primary-color: #3b82f6; /* Lighter blue for better contrast on dark */
    --primary-hover: #60a5fa;
    --background-dark: #09090b; /* zinc-950 */
    --background-card: #18181b; /* zinc-900 */
    --text-light: #ffffff;
    --text-muted: #d4d4d8; /* Lightened from a1a1aa for better contrast */
    --border-color: rgba(255, 255, 255, 0.1); /* Slightly more visible borders */
}

body {
    background-color: var(--background-dark);
    color: var(--text-light);
    font-family: 'Manrope', sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

.bg-dark {
    background-color: var(--background-dark) !important;
}

.card-dark {
    background-color: var(--background-card);
    border: 1px solid var(--border-color);
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.card-dark:hover {
    border-color: rgba(59, 130, 246, 0.5);
    transform: translateY(-5px);
}

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

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

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

/* Enhances readability for text placed directly over background videos/images */
.text-shadow {
    text-shadow: 0 2px 4px rgba(0,0,0,0.8);
}
.text-shadow-sm {
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}

.btn-primary:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: #fff;
}

.border-secondary {
    border-color: var(--border-color) !important;
}

.tracking-wider {
    letter-spacing: 0.05em;
}

.hover-white:hover {
    color: #ffffff !important;
}

.brand-logo {
    height: 80px !important;
    width: auto !important;
    max-width: 250px; /* Safe upper bound for a navbar */
    object-fit: contain;
}

/* Form Control Overrides for Dark Mode */
.form-control {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-control::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
}

.form-control:focus {
    background-color: var(--background-card) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25) !important;
}

