/* Talserv brand theme — Red / White / Black / Grey */

:root {
    --primary-color: #D71920;
    --primary-hover: #B51218;
    --text-dark: #111111;
    --text-grey: #555555;
    --bg-light: #F7F7F7;
    --bg-white: #FFFFFF;
    --light-grey: #F5F5F5;
    --border-color: #E5E5E5;
    --footer-link: #CCCCCC;

    --bs-primary: #D71920;
    --bs-primary-rgb: 215, 25, 32;
    --bs-success: #D71920;
    --bs-success-rgb: 215, 25, 32;
    --bs-link-color: #111111;
    --bs-link-hover-color: #D71920;
    --bs-link-color-rgb: 17, 17, 17;
    --bs-focus-ring-color: rgba(215, 25, 32, 0.25);
    --bs-primary-bg-subtle: rgba(215, 25, 32, 0.1);
    --bs-primary-border-subtle: rgba(215, 25, 32, 0.3);
    --bs-primary-text-emphasis: #B51218;
    --bs-success-bg-subtle: rgba(215, 25, 32, 0.1);
    --bs-success-border-subtle: rgba(215, 25, 32, 0.3);
    --bs-success-text-emphasis: #B51218;
}

body {
    font-family: var(--font-body, 'Inter', 'Open Sans', system-ui, sans-serif);
    color: var(--text-grey);
    background-color: var(--bg-white);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--text-dark);
    font-family: var(--font-heading, 'Poppins', system-ui, sans-serif);
}

a {
    color: var(--text-dark);
}

a:hover {
    color: var(--primary-color);
}

/* Bootstrap primary / success → brand red */
.btn-primary,
.btn-success {
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-focus-shadow-rgb: 215, 25, 32;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-disabled-color: #FFFFFF;
    --bs-btn-disabled-bg: var(--primary-color);
    --bs-btn-disabled-border-color: var(--primary-color);
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-info {
    --bs-btn-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-focus-shadow-rgb: 215, 25, 32;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: var(--primary-color);
    --bs-btn-active-border-color: var(--primary-color);
    --bs-btn-disabled-color: var(--primary-color);
    --bs-btn-disabled-border-color: var(--primary-color);
    background-color: var(--bg-white);
}

.text-primary,
.text-success {
    color: var(--primary-color) !important;
}

.bg-primary,
.bg-success {
    background-color: var(--primary-color) !important;
}

.border-primary,
.border-success {
    border-color: var(--primary-color) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(215, 25, 32, 0.15);
}

.page-link {
    color: var(--primary-color);
}

.page-link:hover {
    color: var(--primary-hover);
}

.page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-outline-danger {
    --bs-btn-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    background-color: var(--bg-white);
}

.text-danger {
    color: var(--primary-color) !important;
}

.bg-success.bg-opacity-10 {
    background-color: rgba(215, 25, 32, 0.1) !important;
}

/* Page heroes and auth pages below navbar */
.ts-page-hero {
    padding: 28px 0 30px;
}

.ts-auth-page {
    padding: 28px 0 30px;
}

/* Bootstrap section replacement */
.ts-section-spacing {
    padding: 30px 0;
}

.ts-section-header {
    margin-bottom: 1.5rem;
}

.ts-section-footer {
    margin-top: 1.5rem;
}

@media (min-width: 576px) {
    .ts-page-hero {
        padding: 28px 0 40px;
    }

    .ts-auth-page {
        padding: 28px 0 40px;
    }

    .ts-section-spacing {
        padding: 40px 0;
    }
}

@media (min-width: 992px) {
    .ts-page-hero {
        padding: 28px 0 60px;
    }

    .ts-auth-page {
        padding: 28px 0 60px;
    }

    .ts-section-spacing {
        padding: 60px 0;
    }
}

/* Shared official Talserv logo (auth / admin / public) */
.brand-logo {
    height: 70px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

@media (max-width: 991.98px) {
    .brand-logo {
        height: 60px;
    }
}

@media (max-width: 575.98px) {
    .brand-logo {
        height: 50px;
    }
}

.logo-navbar {
    height: auto;
    width: 180px;
    max-width: 180px;
}

.logo-sidebar {
    height: 60px;
}

.logo-login {
    height: 85px;
}

.logo-footer {
    height: 75px;
}

@media (max-width: 991.98px) {
    .logo-navbar {
        width: 150px;
        max-width: 150px;
        height: auto;
    }

    .logo-sidebar {
        height: 55px;
    }

    .logo-login {
        height: 72px;
    }

    .logo-footer {
        height: 65px;
    }
}

@media (max-width: 575.98px) {
    .logo-navbar {
        width: 130px;
        max-width: 130px;
        height: auto;
    }

    .logo-sidebar {
        height: 48px;
    }

    .logo-login {
        height: 64px;
    }

    .logo-footer {
        height: 55px;
    }
}

.register-brand .brand-logo {
    margin-left: auto;
    margin-right: auto;
}
