:root {
    --brand: #19201b;
    --brand-hover: #1d4b30;
    --text: #161a18;
    --text-muted: #6c746f;
    --background: #f8f9fa;
    --surface: #ffffff;
    --surface-muted: #e9ecef;
    --surface-dark: #3e54f1;
    --text-on-dark: #ffffff;
    --text-muted-on-dark: rgba(255, 255, 255, .5);
    --border: #dee2e6;
    --border-dark: #3a453e;
    --input-background: #f1f3f5;
    --image-blend: #3E54F1;
}

body {
    font-family: "Inter", sans-serif;
    color: var(--text);
    background-color: var(--background);
}

.fs-13 {
    font-size: 13px;
}
.fs-14 {
    font-size: 14px;
}

.image-blend {
    background: linear-gradient(100.48deg, #000000 0%, var(--image-blend) 100%);
    overflow: hidden;
}

.image-blend img {
    mix-blend-mode: lighten;
}

.site-header {
    background-color: var(--background);
}

.site-header .navbar {
    background-color: var(--surface) !important;
}

.navbar-brand,
.navbar-brand:hover,
.navbar-brand:focus {
    color: var(--text);
}

.nav-link {
    color: var(--text);
}

.nav-link:hover,
.nav-link:focus {
    color: var(--brand);
}

.header-phone,
.contacts-phone {
    color: var(--text);
}

.header-phone:hover,
.contacts-phone:hover {
    color: var(--brand);
}

.contacts-email,
.default-link {
    color: var(--brand);
}

.contacts-email:hover,
.default-link:hover {
    color: var(--brand-hover);
}

.muted-text {
    color: var(--text-muted);
}

.section-muted,
.service-card {
    background-color: var(--surface-muted);
    color: var(--text);
}

.section-dark,
.bg-dark {
    background-color: var(--surface-dark) !important;
    color: var(--text-on-dark);
}

.text-white {
    color: var(--text-on-dark) !important;
}

.text-white-50 {
    color: var(--text-muted-on-dark) !important;
}

.dark-border-top {
    border-top: 1px solid var(--border-dark);
}

.border-secondary {
    border-color: var(--border-dark) !important;
}

.cookie-banner {
    position: fixed;
    left: 1.5rem;
    bottom: 1.5rem;
    width: 360px;
    max-width: calc(100% - 3rem);
    z-index: 1080;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.cookie-banner .bg-white {
    background-color: var(--surface) !important;
}

.cookie-banner-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cookie-banner-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    pointer-events: none;
}

@media (max-width: 575.98px) {
    .cookie-banner {
        left: 1rem;
        bottom: 1rem;
        width: calc(100% - 2rem);
        max-width: none;
    }
}

.legal-tab {
    color: var(--text);
}

.legal-tab:hover,
.legal-tab:focus {
    color: var(--brand);
}

.legal-tab.active {
    background-color: var(--surface-dark) !important;
    color: var(--text-on-dark) !important;
}



.table {
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-hover-bg: transparent;
    background-color: transparent;
}

.table > :not(caption) > * > * {
    background-color: transparent;
}

.table-responsive {
    -webkit-overflow-scrolling: touch;
}

.form-control {
    background-color: var(--input-background);
}

.form-control:focus {
    background-color: var(--input-background);
}