:root {
    --rf-orange: #f4541a;
    --rf-orange-glow: #ff6b35;
    --rf-dark: #0a0a0a;
    --rf-dark-mid: #111111;
    --rf-dark-card: #161616;
    --rf-dark-border: #222222;
    --rf-text-primary: #f0ede8;
    --rf-text-dim: #8a8a8a;
    --rf-green: #00f5a0;
}

body.raceface-theme {
    font-family: "Barlow", sans-serif;
    background: var(--rf-dark);
    color: var(--rf-text-primary);
}

body.raceface-theme::before {
    content: "";
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    background-size: 200px;
    pointer-events: none;
    z-index: 0;
    opacity: 0.22;
}

body.raceface-theme .container,
body.raceface-theme .page-container,
body.raceface-theme nav,
body.raceface-theme main,
body.raceface-theme section,
body.raceface-theme aside {
    position: relative;
    z-index: 1;
}

body.raceface-theme .container {
    max-width: 1400px;
    padding: 0 24px;
}

body.raceface-theme .page-container {
    padding: 2rem 0;
}

body.raceface-theme .navbar {
    background: linear-gradient(to bottom, rgba(10, 10, 10, 0.95), rgba(10, 10, 10, 0.6));
    border-bottom: 1px solid var(--rf-dark-border);
    backdrop-filter: blur(8px);
}

body.raceface-theme .navbar-brand {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 900;
    letter-spacing: 0.05em;
    color: var(--rf-text-primary) !important;
    text-transform: uppercase;
}

body.raceface-theme .navbar-brand i {
    color: var(--rf-orange);
}

body.raceface-theme .nav-link {
    font-family: "Space Mono", monospace;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--rf-text-dim) !important;
}

body.raceface-theme .nav-link:hover,
body.raceface-theme .nav-link.active {
    color: var(--rf-text-primary) !important;
    border-bottom-color: var(--rf-orange);
}

body.raceface-theme .dropdown-menu {
    background: var(--rf-dark-card);
    border: 1px solid var(--rf-dark-border);
}

body.raceface-theme .dropdown-item,
body.raceface-theme .dropdown-divider {
    color: var(--rf-text-dim);
    border-color: var(--rf-dark-border);
}

body.raceface-theme .dropdown-item:hover {
    background: #1a1a1a;
    color: var(--rf-text-primary);
}

body.raceface-theme .card,
body.raceface-theme .card-modern,
body.raceface-theme .gallery,
body.raceface-theme .race-header-section,
body.raceface-theme .filters-sidebar,
body.raceface-theme .race-content,
body.raceface-theme .form-wrapper,
body.raceface-theme .main {
    background: var(--rf-dark-card);
    border: 1px solid var(--rf-dark-border);
    border-radius: 2px;
}

body.raceface-theme .card:hover,
body.raceface-theme .card-modern:hover,
body.raceface-theme .gallery:hover {
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
}

body.raceface-theme h1,
body.raceface-theme h2,
body.raceface-theme h3,
body.raceface-theme h4,
body.raceface-theme h5,
body.raceface-theme h6 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--rf-text-primary);
}

body.raceface-theme p,
body.raceface-theme span,
body.raceface-theme label,
body.raceface-theme .text-muted {
    color: var(--rf-text-dim) !important;
}

body.raceface-theme .smr-btn,
body.raceface-theme .submit-button,
body.raceface-theme .btn-primary {
    background: var(--rf-orange);
    border: 1px solid var(--rf-orange);
    border-radius: 2px;
    color: #fff;
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

body.raceface-theme .smr-btn:hover,
body.raceface-theme .submit-button:hover,
body.raceface-theme .btn-primary:hover {
    background: var(--rf-orange-glow);
    border-color: var(--rf-orange-glow);
    color: #fff;
}

body.raceface-theme .btn-secondary,
body.raceface-theme .smr-btn.inverted {
    background: transparent;
    color: var(--rf-text-primary);
    border: 1px solid var(--rf-dark-border);
    border-radius: 2px;
}

body.raceface-theme .btn-secondary:hover,
body.raceface-theme .smr-btn.inverted:hover {
    border-color: var(--rf-orange);
    color: var(--rf-orange);
    background: transparent;
}

body.raceface-theme .form-control,
body.raceface-theme .filter-text-input,
body.raceface-theme input,
body.raceface-theme select,
body.raceface-theme textarea {
    background: #0e0e0e;
    border: 1px solid var(--rf-dark-border);
    color: var(--rf-text-primary);
    border-radius: 2px;
}

body.raceface-theme .form-control:focus,
body.raceface-theme .filter-text-input:focus,
body.raceface-theme input:focus,
body.raceface-theme select:focus,
body.raceface-theme textarea:focus {
    border-color: var(--rf-orange);
    box-shadow: 0 0 0 2px rgba(244, 84, 26, 0.2);
    outline: none;
}

body.raceface-theme .alert {
    background: #101010;
    border: 1px solid var(--rf-dark-border);
    border-left: 3px solid var(--rf-orange);
    color: var(--rf-text-primary);
}

body.raceface-theme a {
    color: var(--rf-text-primary);
}

body.raceface-theme a:hover {
    color: var(--rf-orange);
}

body.raceface-theme .table {
    color: var(--rf-text-primary);
}

body.raceface-theme .table th,
body.raceface-theme .table td {
    border-color: var(--rf-dark-border);
}

body.raceface-theme .table-striped > tbody > tr:nth-of-type(odd) > * {
    color: var(--rf-text-primary);
    background-color: #121212;
}

@media (max-width: 768px) {
    body.raceface-theme .container {
        padding: 0 14px;
    }
}
