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

/* FCS nav — hidden until public launch (markup kept for direct URLs) */
.nav-fcs {
    display: none !important;
}

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,
.navbar-actions .navbar-link {
    color: #ff0000 !important;
    font-family: 'Bebas Neue', sans-serif !important;
    letter-spacing: 0.08em;
}

.navbar-actions {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-left: auto;
}

.navbar-actions .navbar-link {
    text-decoration: none;
    font-size: 0.95rem;
    text-transform: uppercase;
}

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

.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 {
    width: 100%;
    height: 12px;
    background: #1a1a1a !important;
    border: 1px solid rgba(255, 0, 0, 0.35) !important;
    border-radius: 2px;
    overflow: hidden;
}

.upload-progress-fill {
    height: 100%;
    width: 0%;
    background: #ff0000 !important;
    transition: width 0.25s ease;
}

.upload-progress-label {
    margin-top: 0.5rem;
    font-weight: 600;
    font-size: 0.9rem;
}

.admin-topbar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ddd;
}

.admin-topbar a,
.admin-topbar button {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    color: #333;
    background: none;
    border: 1px solid #ccc;
    padding: 0.4rem 0.85rem;
    cursor: pointer;
}

.admin-topbar a:hover,
.admin-topbar button:hover {
    border-color: #000;
    color: #000;
}

.admin-topbar .btn-logout {
    border-color: #dc3545;
    color: #dc3545;
}

.help-section {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #f9f9f9;
    border: 1px solid #ddd;
}

.help-section h3 {
    margin-bottom: 0.75rem;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.help-section ol,
.help-section ul {
    margin: 0.5rem 0 0 1.25rem;
    color: #444;
    line-height: 1.6;
}

.help-section p {
    color: #555;
    line-height: 1.6;
    margin: 0.5rem 0;
}

/* 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;
}
