:root {
    --bs-primary: var(--brandur-tv);
    --bs-primary-rgb: 34, 201, 114;

    --bs-body-bg: #0c0f14;
    --bs-body-color: #e2e4e8;
    --bs-secondary-color: #8b919a;
    --bs-border-color: #1f2430;
    --bs-tile-bg: #151920;
    --bs-tile-color: #cdd0d4;

    --brandur: #3b8bff;
    --brandur-tv: #22c972;
    --brandur-drive: #f59e0b;
    --brandur-score: #ef4444;
    --brandur-golf: #a855f7;
    --brandur-afv: #06b6d4;
    --brandur-sync: #ec4899;
}

/* ── Coloring ─────────────────────────────────────── */

.btn-primary {
    --bs-btn-bg: color-mix(in srgb, var(--bs-primary) 80%, black);
    --bs-btn-border-color: color-mix(in srgb, var(--bs-primary) 80%, black);
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary) 70%, black);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary) 70%, black);
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary) 60%, black);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary) 60%, black);
}

.form-control:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}
.records thead {
    border-bottom: 1px solid var(--bs-primary);
}
.records.navigable tbody tr:hover {
    --bs-table-bg-state: color-mix(in srgb, var(--bs-primary) 8%, var(--bs-body-bg));
}
.records.navigable tbody tr.selected {
    --bs-table-bg-state: color-mix(in srgb, var(--bs-primary) 15%, var(--bs-body-bg));
}

/* ── Navbar ───────────────────────────────────────── */

.navbar-brand.lockup {
    margin-bottom: 0;
}
.navbar-collapse .navbar-nav {
    flex: 1;
    justify-content: center;
}
.navbar-end {
    margin-left: auto;
}
.navbar-collapse.show .navbar-end,
.navbar-collapse.collapsing .navbar-end {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

/* ── Lockup ───────────────────────────────────────── */

.lockup {
    display: flex;
    align-items: center;
    gap: 0.2em;
    margin-bottom: 1rem;
    user-select: none;
}
.lockup .lockup-mark {
    height: 1.5em;
    width: 1.25em;
    margin-left: -0.25em;
}
.lockup .lockup-wordmark {
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
    font-size: 1em;
    letter-spacing: -0.5px;
    color: #fff;
}
.lockup.brandur-tv    .brand-suffix { color: var(--brandur-tv); }
.lockup.brandur-sync  .brand-suffix { color: var(--brandur-sync); }
.lockup.brandur-score .brand-suffix { color: var(--brandur-score); }
.lockup.brandur-afv   .brand-suffix { color: var(--brandur-afv); }
.lockup.brandur-drive .brand-suffix { color: var(--brandur-drive); }
.lockup.brandur-golf  .brand-suffix { color: var(--brandur-golf); }

/* ── Footer ───────────────────────────────────────── */

footer {
    padding: 3rem 0;
    font-size: 0.8rem;
    color: var(--bs-secondary-color);
}
footer section {
    display: flex;
    gap: 3rem;
}
footer p {
    flex: 1;
    text-align: right;
}
footer p:last-child {
    text-align: left;
}
footer a {
    color: color-mix(in srgb, var(--bs-primary) 65%, black);
    text-decoration: none;
}

/* ── Records ──────────────────────────────────────── */

.records table {
    transition: opacity 0.2s ease-in-out;
}
.records.minimized table {
    opacity: 0;
}