/* Fabricated Crime — filmmaker platform (signup, login, admin, directory, microsite shell) */

body:not(:has(.video-background)) {
    background: #000 !important;
    color: #ff0000 !important;
}

/* Full-page video bg: transparent shell so video isn't hidden behind body paint */
html:has(.video-background),
body:has(.video-background) {
    background: transparent !important;
}

body:has(.video-background) .video-background {
    z-index: 0;
}

body:has(.video-background) .signup-container,
body:has(.video-background) .login-container,
body:has(.video-background) .filmmakers-container {
    position: relative;
    z-index: 1;
}

/* Legacy topbar on filmmaker pages */
.navbar {
    background: rgba(0, 0, 0, 0.92) !important;
    border-bottom: 1px solid rgba(255, 0, 0, 0.45) !important;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.6) !important;
}

.navbar-nav a,
.navbar-signin {
    color: #ff0000 !important;
    font-family: 'Bebas Neue', sans-serif !important;
    letter-spacing: 0.08em;
}

.navbar-nav a:hover,
.navbar-signin:hover {
    color: #ff4d4d !important;
}

.navbar-logo {
    filter: none !important;
}

/* Signup / login panels */
.signup-form-wrapper,
.login-form-wrapper {
    background: #0a0a0a !important;
    border: 2px solid rgba(255, 0, 0, 0.55) !important;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.65) !important;
}

.signup-title,
.login-title {
    color: #ff0000 !important;
    font-family: 'Bebas Neue', sans-serif !important;
}

.signup-subtitle,
.login-subtitle,
.form-label,
.login-link {
    color: rgba(255, 0, 0, 0.75) !important;
}

.login-link a {
    color: #ff0000 !important;
    border-bottom-color: #ff0000 !important;
}

.form-input {
    background: #000 !important;
    color: #ff0000 !important;
    border: 1px solid rgba(255, 0, 0, 0.55) !important;
}

.form-input:focus {
    border-color: #ff0000 !important;
    outline: none !important;
}

.btn-submit,
button[type="submit"] {
    background: #ff0000 !important;
    color: #000 !important;
    border: 2px solid #ff0000 !important;
    font-family: 'Bebas Neue', sans-serif !important;
    letter-spacing: 0.1em;
}

.btn-submit:hover,
button[type="submit"]:hover {
    background: #cc0000 !important;
    border-color: #cc0000 !important;
}

.message.success {
    background: rgba(255, 0, 0, 0.12) !important;
    color: #ff0000 !important;
    border-color: rgba(255, 0, 0, 0.45) !important;
}

.message.error {
    background: rgba(0, 0, 0, 0.8) !important;
    color: #ff6666 !important;
    border-color: rgba(255, 0, 0, 0.55) !important;
}

/* Admin */
body.admin-page,
.admin-container body {
    background: #000 !important;
}

.admin-header h1,
.admin-tab-content h2,
.quick-load strong {
    color: #ff0000 !important;
    font-family: 'Bebas Neue', sans-serif !important;
}

.admin-header p {
    color: rgba(255, 0, 0, 0.7) !important;
}

.quick-load,
.admin-tabs,
.admin-tab-content {
    background: #0a0a0a !important;
    border: 1px solid rgba(255, 0, 0, 0.35) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
}

.admin-tabs {
    border-bottom: 2px solid rgba(255, 0, 0, 0.35) !important;
}

.admin-tab {
    color: rgba(255, 0, 0, 0.55) !important;
    font-family: 'Bebas Neue', sans-serif !important;
}

.admin-tab:hover,
.admin-tab.active {
    color: #ff0000 !important;
    border-bottom-color: #ff0000 !important;
}

.admin-tab-content label,
.form-group label {
    color: #ff0000 !important;
}

.admin-tab-content input,
.admin-tab-content textarea,
.admin-tab-content select {
    background: #000 !important;
    color: #ff0000 !important;
    border: 1px solid rgba(255, 0, 0, 0.55) !important;
}

.admin-tab-content input:focus,
.admin-tab-content textarea:focus,
.admin-tab-content select:focus {
    border-color: #ff0000 !important;
}

.btn-primary,
button.btn-primary {
    background: #ff0000 !important;
    color: #000 !important;
    border-color: #ff0000 !important;
}

.btn-primary:hover {
    background: #cc0000 !important;
}

.btn-secondary {
    background: #1a1a1a !important;
    color: #ff0000 !important;
    border: 1px solid rgba(255, 0, 0, 0.45) !important;
}

.btn-secondary:hover {
    background: #2a2a2a !important;
}

.media-card,
.upload-item,
.library-item {
    background: #0a0a0a !important;
    border: 1px solid rgba(255, 0, 0, 0.35) !important;
    color: #ff0000 !important;
}

.media-card h3,
.media-card p,
.library-item p {
    color: #ff0000 !important;
}

.processing-badge {
    background: rgba(255, 0, 0, 0.85) !important;
    color: #000 !important;
}

.status-message.success {
    background: rgba(255, 0, 0, 0.12) !important;
    color: #ff0000 !important;
}

.status-message.error {
    background: rgba(0, 0, 0, 0.8) !important;
    color: #ff6666 !important;
}

.upload-progress-bar {
    background: #1a1a1a !important;
    border: 1px solid rgba(255, 0, 0, 0.35) !important;
}

.upload-progress-fill {
    background: #ff0000 !important;
}

/* Filmmakers directory */
.filmmakers-header h1,
.filmmakers-subtitle {
    color: #ff0000 !important;
    font-family: 'Bebas Neue', sans-serif !important;
}

.filmmaker-card {
    background: #0a0a0a !important;
    border: 2px solid rgba(255, 0, 0, 0.45) !important;
    color: #ff0000 !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55) !important;
}

.filmmaker-card:hover {
    border-color: #ff0000 !important;
    transform: translateY(-4px);
}

.filmmaker-name {
    color: #ff0000 !important;
    font-family: 'Bebas Neue', sans-serif !important;
}

.filmmaker-slug,
.filmmaker-link {
    color: rgba(255, 0, 0, 0.75) !important;
}

.loading,
.empty-state {
    color: #ff0000 !important;
}

.empty-state a {
    color: #ff0000 !important;
}

/* Microsite shell (filmmaker content area stays flexible) */
.microsite-page .navbar,
.microsite-shell .navbar {
    background: rgba(0, 0, 0, 0.92) !important;
    border-bottom: 1px solid rgba(255, 0, 0, 0.45) !important;
}

/* Builder palette / inline-styled admin blocks */
#component-palette,
.palette-item,
[style*="background: white"],
[style*="background: #fff"],
[style*="background: #f5f5f5"] {
    background: #0a0a0a !important;
    color: #ff0000 !important;
    border-color: rgba(255, 0, 0, 0.35) !important;
}

[style*="color: #666"],
[style*="color: #999"],
[style*="color: #333"] {
    color: rgba(255, 0, 0, 0.7) !important;
}

[style*="color: #000"] {
    color: #ff0000 !important;
}

[style*="background: #dc3545"] {
    background: #ff0000 !important;
    color: #000 !important;
}

.footer {
    background: #000 !important;
    color: rgba(255, 0, 0, 0.6) !important;
    border-top: 1px solid rgba(255, 0, 0, 0.25) !important;
}
