/* --- Brand colors --- */
:root {
    --brand-black: #000000;
    --brand-white: #ffffff;
    --brand-orange: #f7931e;
    --bs-primary: #f7931e;
    --bs-primary-rgb: 247, 147, 30;
}

/* --- Global --- */
body {
    background-color: var(--brand-white);
    color: #212529;
}

/* --- Header / Navbar --- */
.navbar {
    background-color: var(--brand-black) !important;
    border-bottom: 4px solid var(--brand-orange);
}

.navbar .navbar-brand,
.navbar .nav-link {
    color: var(--brand-white) !important;
}

.navbar .nav-link:hover {
    color: var(--brand-orange) !important;
}

/* Primary CTA button in header */
.navbar .btn-primary {
    background-color: var(--brand-orange);
    border-color: var(--brand-orange);
    color: var(--brand-black);
}

.navbar .btn-primary:hover {
    background-color: #e6820f;
    border-color: #e6820f;
}

.nav-tabs .nav-link.active {
    border-color: #f7931e #f7931e #fff;
    color: #000;
    font-weight: 600;
}

.nav-tabs .nav-link {
    color: #000;
}

.nav-tabs .nav-link:hover {
    color: #f7931e;
}

/* --- Footer --- */
footer {
    background-color: var(--brand-black);
    color: var(--brand-white);
    border-top: 4px solid var(--brand-orange);
}

footer a {
    color: var(--brand-white);
}

footer a:hover {
    color: var(--brand-orange);
}

/* --- Cards / sections --- */
.border,
.border-top,
.border-bottom {
    border-color: #dee2e6 !important;
}

/* --- Accent utilities --- */
.text-accent {
    color: var(--brand-orange);
}

.border-accent {
    border-color: var(--brand-orange) !important;
}

/* --- Brand badge --- */
.badge-brand {
    background-color: #000000;
    color: #f7931e;
    border: 1px solid #f7931e;
    font-weight: 500;
}

.badge-brand:hover {
    background-color: #f7931e;
    color: #000000;
    text-decoration: none;
}

.reference-card {
    height: 100%;
}

.reference-logo-wrap {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.reference-logo {
    max-height: 70px;
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
}

.btn-primary {
    --bs-btn-color: #000;
    --bs-btn-bg: #f7931e;
    --bs-btn-border-color: #f7931e;

    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #df8215;
    --bs-btn-hover-border-color: #df8215;

    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #cc7713;
    --bs-btn-active-border-color: #cc7713;

    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #f7931e;
    --bs-btn-disabled-border-color: #f7931e;
}

.text-primary {
    color: #f7931e !important;
}

.border-primary {
    border-color: #f7931e !important;
}

.service-card {
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        border-color 0.15s ease;
}

.service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .10) !important;
    border-color: #f7931e !important;
}