/* Ringside theme: shared shell and article/list surfaces. */
:root {
    --fc-red: #557410;
    --fc-red-dark: #426008;
    --fc-bg: #eff1e9;
    --fc-surface: #fafbf6;
    --fc-surface-2: #f3f5ee;
    --fc-text: #171d18;
    --fc-muted: #526056;
    --fc-border: #d9dfd3;
    --fc-soft: #e9eee1;
    --fc-radius: 0;
    --fc-shadow-card: none;
    --bs-body-bg: var(--fc-bg);
    --bs-body-color: var(--fc-text);
    --bs-border-color: var(--fc-border);
}
html[data-theme="dark"] {
    --fc-red: #d7ff3e;
    --fc-red-dark: #bbdf32;
    --fc-bg: #111411;
    --fc-surface: #1a1e1a;
    --fc-surface-2: #222820;
    --fc-text: #f1f3e9;
    --fc-muted: #b6beb1;
    --fc-border: #363d35;
    --fc-soft: #283023;
    --fc-radius: 0;
    --fc-shadow-card: none;
    --bs-body-bg: var(--fc-bg);
    --bs-body-color: var(--fc-text);
    --bs-border-color: var(--fc-border);
}
body { background: var(--fc-bg); color: var(--fc-text); letter-spacing: 0; }
main { padding-top: 1.6rem; }
main > .container, .navbar-fc .container, .footer-fc__inner { max-width: 1240px; }
.navbar-fc {
    min-height: 74px;
    background: #101310 !important;
    border-bottom: 1px solid #3b4139;
    box-shadow: none;
}
.navbar-fc::after, .footer-fc::before { display: none; }
.navbar-fc .navbar-brand { margin-right: 2rem; }
.fc-logo { display: block; width: 198px; height: auto; }
.footer-fc__brand { display: inline-block; margin-bottom: 1rem; }
.navbar-fc .navbar-nav { gap: .2rem; }
.navbar-fc .navbar-nav .nav-link { padding: .7rem .65rem; border-radius: 0; color: #d9ded4 !important; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.navbar-fc .navbar-nav .nav-link:hover, .navbar-fc .navbar-nav .nav-link:focus, .navbar-fc .navbar-nav .nav-link.active { color: #d7ff3e !important; background: transparent; }
.navbar-fc .navbar-nav .nav-link.active::after { display: block; background: #d7ff3e; left: .65rem; right: .65rem; bottom: .32rem; border-radius: 0; }
.navbar-fc .btn-outline-light, .navbar-fc .btn-login { min-height: 39px; border-radius: 0; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.navbar-fc .btn-outline-light { color: #f0f2e9; background: transparent; border: 1px solid #687166; }
.navbar-fc .btn-outline-light:hover { color: #d7ff3e; border-color: #d7ff3e; }
.navbar-fc .btn-login, .navbar-fc .btn-login:hover { color: #141913 !important; background: #d7ff3e; border: 1px solid #d7ff3e; }
.btn, .card, .form-control, .form-select, .fc-filter-card, .schedule-filters.card, .champions-box, .champions-table-wrap, .article-hero, .fc-page-icon, .fc-auth-icon { border-radius: 0 !important; box-shadow: none !important; }
.btn-primary, .btn.btn-read, .btn-login { color: #172010 !important; background: var(--fc-red) !important; border-color: var(--fc-red) !important; }
.btn-primary:hover, .btn.btn-read:hover, .btn-login:hover { color: #172010 !important; background: var(--fc-red-dark) !important; border-color: var(--fc-red-dark) !important; }
html:not([data-theme="dark"]) .btn-primary, html:not([data-theme="dark"]) .btn.btn-read { color: #fff !important; }
.fc-page-icon, .fc-auth-icon { color: #172010; background: var(--fc-red); }
.fc-page-head {
    position: relative;
    min-height: 190px;
    align-items: center;
    margin: .15rem 0 2rem;
    padding: 30px 36px;
    overflow: hidden;
    border: 0;
    background: radial-gradient(circle at 84% 48%, #3d4c3a, #1d2820 43%, #121a15 90%);
    color: #f2f4e9;
}
.fc-page-head::after { content: ""; position: absolute; right: 5%; top: -80%; width: 190px; height: 360px; border: 1px solid rgba(215,255,62,.2); transform: rotate(21deg); pointer-events: none; }
.fc-page-head > div:not(.fc-page-icon) { position: relative; z-index: 1; }
.fc-page-head .fc-kicker { color: #d7ff3e; }
.fc-page-head .page-title { margin: 4px 0 9px; color: #f2f4e9; font-size: clamp(2rem, 4vw, 3.65rem); font-weight: 900; line-height: 1; letter-spacing: -.065em; text-transform: uppercase; }
.fc-page-head p { max-width: 68ch; color: #c8d2c5; }
.fc-page-head a { color: #d7ff3e; font-size: .78rem; font-weight: 800; text-decoration: none; text-transform: uppercase; letter-spacing: .05em; }
.fc-page-head a:hover { color: #edf9b6; }
.fc-page-head .fc-page-icon { display: none; }
.fc-kicker, .fc-about-list .bi, .fc-about-note .bi { color: var(--fc-red); }
.card, .fc-filter-card, .schedule-filters.card, .champions-box, .champions-table-wrap { background: var(--fc-surface); border-color: var(--fc-border); }
.fc-card:hover, .news-card:hover { transform: translateY(-2px); border-color: var(--fc-red); box-shadow: none; }
.fc-card::after, .news-card::after { background: var(--fc-red); }
.fc-card .card-body h3, .fc-card .card-body h3 a { color: var(--fc-text); font-weight: 800; letter-spacing: -.025em; }
.fc-card .card-body h3 a:hover { color: var(--fc-red) !important; }
.fc-card .fc-counters { display: none !important; }
.fc-badge-video { color: var(--fc-red); background: var(--fc-soft); border-color: var(--fc-red); }
html[data-theme="dark"] .fc-badge-video { color: #d7ff3e; background: #2b3325; border-color: #8eaf2d; }
.fc-thumb { position: relative; background: #252f29; }
.fc-thumb-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; background: radial-gradient(circle at 75% 30%, #4d604a, #212b23 70%); color: #d7ff3e; }
.fc-thumb-fallback b { font-size: 3.2rem; line-height: 1; font-style: italic; font-weight: 900; letter-spacing: -.1em; }
.fc-thumb-fallback small { font-size: .66rem; font-weight: 800; letter-spacing: .16em; }
.fc-thumb img { position: absolute; inset: 0; z-index: 1; }
.fc-weekend-card { border-top: 3px solid var(--fc-red); }
.fc-weekend-card .card-body { padding: 23px; }
.fc-weekend-card__date { color: var(--fc-red); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fc-weekend-card h2 { font-size: 1.25rem; font-weight: 850; line-height: 1.2; letter-spacing: -.03em; }
.fc-weekend-card h2 a { color: var(--fc-text); text-decoration: none; }
.fc-weekend-card h2 a:hover { color: var(--fc-red); }
.fc-fight-detail .card { border-top: 3px solid var(--fc-red); }
.fc-fight-detail h2 { margin-bottom: 20px; font-weight: 850; letter-spacing: -.03em; }
.fc-fight-detail dt { color: var(--fc-muted); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.fc-fight-detail dd { color: var(--fc-text); font-weight: 650; }
.fc-fight-detail dd a { font-weight: 800; }
.fc-card .badge, .schedule .badge, .fc-badge-date { border-radius: 0 !important; }
.schedule .badge { background: var(--fc-red) !important; color: #172010 !important; }
html:not([data-theme="dark"]) .schedule .badge { color: #fff !important; }
.fc-org-chip, .fc-org-emblem, .fc-org-check, .rank-delta, .fc-chip, .fc-badge-video { border-radius: 0 !important; }
.fc-org-chip { box-shadow: none !important; }
.fc-pager .page-link { border-radius: 0 !important; box-shadow: none !important; }
.fc-pager .page-link:hover, .fc-pager .page-item.active .page-link { background: var(--fc-red); border-color: var(--fc-red); color: #172010; }
.schedule-filters .btn.btn-read, .fc-filter-card .btn.btn-read, .fc-filter-card .btn.btn-read:hover { background: var(--fc-red); border-color: var(--fc-red); color: #172010; }
html:not([data-theme="dark"]) .schedule-filters .btn.btn-read, html:not([data-theme="dark"]) .fc-filter-card .btn.btn-read { color: #fff; }
.btn-outline-primary { color: var(--fc-red); border-color: var(--fc-red); }
.btn-outline-primary:hover { background: var(--fc-red); border-color: var(--fc-red); color: #172010; }
.article-head { padding: 26px 31px; background: #1a251c; color: #f1f3e9; }
.article-head .fc-kicker { color: #d7ff3e; }
.article-head h1 { color: #f1f3e9; font-weight: 900; letter-spacing: -.055em; }
.article-head .article-meta { color: #c2cdbd; border-color: #455044; }
.article-hero, .article-hero.video, .article-hero.video .ratio { border-radius: 0 !important; }
.fc-related, .fc-reactbar, .fc-quote { border-radius: 0; }
.fc-about-list .bi { border-radius: 0; }
.fc-about-note { border-radius: 0; }
.fc-auth-head { padding: 26px 19px; background: radial-gradient(circle at 80% 40%, #40513b, #172019 72%); color: #f2f5ea; }
.fc-auth-head .page-title { color: #f2f5ea; font-weight: 900; letter-spacing: -.05em; text-transform: uppercase; }
.fc-auth-head p { color: #cbd7c8; }
.fc-auth-head .fc-auth-icon { color: #d7ff3e; background: transparent; border: 1px solid #d7ff3e; }
.site-login, .site-signup, .site-reset-password, .site-resend-verification-email, .site-request-password-reset, .site-error { max-width: 700px; margin: 28px auto; padding: 28px; background: var(--fc-surface); border: 1px solid var(--fc-border); }
.site-login h1, .site-signup h1, .site-reset-password h1, .site-resend-verification-email h1, .site-request-password-reset h1, .site-error h1 { font-weight: 900; letter-spacing: -.05em; text-transform: uppercase; }
.site-error { position: relative; max-width: none; min-height: 390px; margin: .15rem 0 3rem; padding: clamp(32px, 6vw, 76px); overflow: hidden; background: radial-gradient(circle at 88% 40%, #354631, #19241b 54%, #111a14); border: 0; color: #f2f4e9; }
.site-error::after { content: ""; position: absolute; right: 8%; top: -18%; width: 210px; height: 520px; border: 1px solid rgba(215,255,62,.18); transform: rotate(22deg); pointer-events: none; }
.site-error__code { position: absolute; right: 5%; bottom: -62px; color: rgba(215,255,62,.07); font-size: clamp(10rem, 25vw, 24rem); font-weight: 900; line-height: 1; letter-spacing: -.1em; pointer-events: none; }
.site-error .fc-kicker { position: relative; z-index: 1; color: #d7ff3e; font-size: .72rem; font-weight: 800; letter-spacing: .15em; }
.site-error h1 { position: relative; z-index: 1; max-width: 750px; margin: 19px 0 16px; color: #f2f4e9; font-size: clamp(2.7rem, 6vw, 5.7rem); line-height: .98; }
.site-error h1 span { color: #d7ff3e; }
.site-error p { position: relative; z-index: 1; max-width: 530px; margin-bottom: 27px; color: #c8d2c5; font-size: 1rem; line-height: 1.6; }
.site-error__actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 11px; }
.site-error__actions .btn { padding: 12px 17px; border-radius: 0; font-size: .79rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.site-error__actions .btn-outline-secondary { color: #f2f4e9; border-color: #788675; }
.site-error__actions .btn-outline-secondary:hover { color: #152011; background: #d7ff3e; border-color: #d7ff3e; }
.site-login .row > div, .site-signup .row > div { width: 100%; }
.form-control:focus, .form-select:focus { border-color: var(--fc-red) !important; box-shadow: 0 0 0 .15rem rgba(168,205,61,.24) !important; }
.fc-sponsored { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 31px 0; padding: 25px 29px; background: #273128; color: #f2f5ea; }
.fc-sponsored__label { display: inline-block; margin-bottom: 9px; color: #d7ff3e; font-size: .64rem; font-weight: 800; letter-spacing: .17em; }
.fc-sponsored h2 { margin: 0 0 7px; font-size: clamp(1.2rem, 2vw, 1.75rem); font-weight: 850; letter-spacing: -.035em; }
.fc-sponsored p { margin: 0; color: #dce5d9; font-size: .83rem; line-height: 1.5; }
.fc-sponsored a { flex-shrink: 0; padding: 11px 17px; color: #172010; background: #d7ff3e; font-size: .78rem; font-weight: 800; text-decoration: none; }
.fc-sponsored a:hover { color: #172010; background: #ecff9b; }
.fc-home > .fc-sponsored { margin-top: 54px; }
.breadcrumb .breadcrumb-item a, a.link-primary { color: var(--fc-red) !important; }
.article-body p:first-child::first-letter { color: var(--fc-red); }
.fc-quote { border-left-color: var(--fc-red); }
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: rgba(153, 190, 54, .07); }
.footer-fc { background: #101310; color: #f0f3e9; border-top: 1px solid #3b4139; padding: 44px 0 29px; }
.footer-fc__inner { grid-template-columns: minmax(230px, 1.25fr) minmax(300px, 1fr) minmax(200px, .8fr); align-items: start; gap: 35px; }
.footer-fc__copy { max-width: 270px; margin: 0; color: #bcc5b7; font-size: .86rem; line-height: 1.5; }
.footer-fc__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 19px; }
.footer-fc__nav a { color: #e1e7dc; font-size: .8rem; font-weight: 700; }
.footer-fc__nav a:hover, .footer-fc__partner a:hover { color: #d7ff3e; }
.footer-fc__partner { display: grid; gap: 11px; }
.footer-fc__partner span { color: #d7ff3e; font-size: .64rem; font-weight: 800; letter-spacing: .18em; }
.footer-fc__partner a { color: #f0f3e9; font-size: .88rem; font-weight: 800; text-decoration: none; }
.footer-fc__bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 15px; padding-top: 22px; border-top: 1px solid #313a31; }
.footer-fc__year { margin: 0; padding: 0; border: 0; color: #aab5a5; font-size: .74rem; }
.footer-fc__theme { padding: 5px 0; color: #d7ff3e; background: transparent; border: 0; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.footer-fc #fcThemeToggle { width: auto; height: auto; display: inline-block; padding: 5px 0; border: 0; border-radius: 0; }
.footer-fc__theme:hover { color: #f0ffaa; }
@media (max-width: 1199px) {
    .navbar-fc .navbar-collapse { padding: 17px 0 10px; }
    .navbar-fc .navbar-nav .nav-link { padding: .62rem .2rem; }
    .navbar-fc .d-flex.ms-auto { margin-top: 12px; width: auto; }
}
@media (max-width: 767px) {
    .fc-page-head { min-height: 160px; padding: 25px 22px; }
    .fc-page-head .fc-page-icon { display: none; }
    .article-head { padding: 22px; }
    .fc-sponsored { display: block; }
    .fc-sponsored a { display: inline-block; margin-top: 17px; }
    .footer-fc__inner { grid-template-columns: 1fr 1fr; text-align: left; }
    .footer-fc__partner { grid-column: 1 / -1; }
    .footer-fc__nav { justify-content: start; }
}
@media (max-width: 520px) {
    .footer-fc__inner { grid-template-columns: 1fr; gap: 23px; }
    .footer-fc__partner, .footer-fc__bottom { grid-column: 1; }
    .footer-fc__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
