/* ===== Шрифт Geist ===== */
@import url('https://fonts.googleapis.com/css2?family=Geist:ital,wght@0,100..900;1,100..900&display=swap');

/* ===== Основной цвет текста ===== */
body {
    color: #221633;
    font-family: 'Geist', ui-sans-serif, system-ui, sans-serif;
}

/* ===== Bootstrap переменные ===== */
:root {
    --bs-primary: #3F1AAF;
    --bs-primary-rgb: 63, 26, 175;
    --bs-danger: #FF3B00;
    --bs-danger-rgb: 255, 59, 0;
    --bs-success: #34A853;
    --bs-success-rgb: 52, 168, 83;
    --bs-secondary: #4E455C;
    --bs-secondary-rgb: 78, 69, 92;
}

/* ===== Primary (#3F1AAF) ===== */
.btn-primary {
    background-color: #3F1AAF !important;
    border-color: #3F1AAF !important;
    color: #fff;
}

.btn-primary:hover {
    background-color: #2e148f !important;
    border-color: #2e148f !important;
    color: #fff;
}

.btn-primary:focus,
.btn-primary:active {
    background-color: #2e148f !important;
    border-color: #2e148f !important;
    box-shadow: 0 0 0 0.25rem rgba(63, 26, 175, 0.4);
}

a {
    color: #3F1AAF;
}

a:hover {
    color: #2e148f;
}

.navbar-brand {
    color: #3F1AAF !important;
}

.nav-link {
    color: #3F1AAF;
}

.nav-link:hover {
    color: #2e148f;
}

/* ===== Danger / Красный (#FF3B00) ===== */
.btn-danger {
    background-color: #FF3B00 !important;
    border-color: #FF3B00 !important;
    color: #fff;
}

.btn-danger:hover {
    background-color: #e63600 !important;
    border-color: #e63600 !important;
    color: #fff;
}

.btn-danger:focus,
.btn-danger:active {
    background-color: #e63600 !important;
    border-color: #e63600 !important;
    box-shadow: 0 0 0 0.25rem rgba(255, 59, 0, 0.4);
}

.alert-danger {
    background-color: #FF3B00 !important;
    border-color: #FF3B00 !important;
    color: #fff;
}

.alert-danger .btn-close {
    filter: invert(1);
}

/* ===== Success / Зелёный (#34A853) ===== */
.btn-success {
    background-color: #34A853 !important;
    border-color: #34A853 !important;
    color: #fff;
}

.btn-success:hover {
    background-color: #2d9146 !important;
    border-color: #2d9146 !important;
    color: #fff;
}

.btn-success:focus,
.btn-success:active {
    background-color: #2d9146 !important;
    border-color: #2d9146 !important;
    box-shadow: 0 0 0 0.25rem rgba(52, 168, 83, 0.4);
}

.alert-success {
    background-color: #34A853 !important;
    border-color: #34A853 !important;
    color: #fff;
}

.alert-success .btn-close {
    filter: invert(1);
}

/* ===== Secondary / Серый (#4E455C) ===== */
.btn-secondary {
    background-color: #4E455C !important;
    border-color: #4E455C !important;
    color: #fff;
}

.btn-secondary:hover {
    background-color: #3e374a !important;
    border-color: #3e374a !important;
    color: #fff;
}

.btn-secondary:focus,
.btn-secondary:active {
    background-color: #3e374a !important;
    border-color: #3e374a !important;
    box-shadow: 0 0 0 0.25rem rgba(78, 69, 92, 0.4);
}

.alert-secondary {
    background-color: #4E455C !important;
    border-color: #4E455C !important;
    color: #fff;
}

.alert-secondary .btn-close {
    filter: invert(1);
}

.text-secondary {
    color: #4E455C !important;
}

/* ===== Outline Primary (#3F1AAF) ===== */
.btn-outline-primary {
    background-color: transparent;
    border-color: #3F1AAF !important;
    color: #3F1AAF;
}

.btn-outline-primary:hover {
    background-color: #3F1AAF !important;
    border-color: #3F1AAF !important;
    color: #fff;
}

.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: #2e148f !important;
    border-color: #2e148f !important;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(63, 26, 175, 0.4);
}

/* ===== Outline Danger / Красный (#FF3B00) ===== */
.btn-outline-danger {
    background-color: transparent;
    border-color: #FF3B00 !important;
    color: #FF3B00;
}

.btn-outline-danger:hover {
    background-color: #FF3B00 !important;
    border-color: #FF3B00 !important;
    color: #fff;
}

.btn-outline-danger:focus,
.btn-outline-danger:active {
    background-color: #e63600 !important;
    border-color: #e63600 !important;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(255, 59, 0, 0.4);
}

/* ===== Outline Success / Зелёный (#34A853) ===== */
.btn-outline-success {
    background-color: transparent;
    border-color: #34A853 !important;
    color: #34A853;
}

.btn-outline-success:hover {
    background-color: #34A853 !important;
    border-color: #34A853 !important;
    color: #fff;
}

.btn-outline-success:focus,
.btn-outline-success:active {
    background-color: #2d9146 !important;
    border-color: #2d9146 !important;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(52, 168, 83, 0.4);
}

/* ===== Outline Secondary / Серый (#4E455C) ===== */
.btn-outline-secondary {
    background-color: transparent;
    border-color: #4E455C !important;
    color: #4E455C;
}

.btn-outline-secondary:hover {
    background-color: #4E455C !important;
    border-color: #4E455C !important;
    color: #fff;
}

.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    background-color: #3e374a !important;
    border-color: #3e374a !important;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(78, 69, 92, 0.4);
}

/* ===== Навигационное меню ===== */
.custom-navbar-nav .nav-link {
    font-family: 'Geist', ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0%;
    text-align: center;
}

/* ===== Ссылка "Выйти" в навигации ===== */
.navbar-nav .btn-logout {
    color: #FF3B00;
}

.navbar-nav .btn-logout:hover {
    color: #e63600;
}
