/* Основные стили */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8f9fa;
    color: #212529;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Добавленные стили для sticky footer */
main {
    flex: 1;
    padding-bottom: 20px;
}

footer {
    margin-top: auto;
}

.hero-section {
    background-color: #e8f5e9; /* Светло-зеленый фон */
    border-radius: 0.5rem;
}

.card {
    transition: transform 0.2s;
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.card-img-top {
    height: 270px;
    object-fit: cover;
}

.breadcrumb {
    background-color: transparent;
    padding: 0;
}

/* Навигация */
.navbar {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    background-color: #2e7d32; /* Темно-зеленый для навигации */
}

.navbar-brand {
    font-weight: 700;
    color: white !important;
}

.navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
}

.navbar-nav .nav-link:hover {
    color: white !important;
}

/* Таблицы */
.table {
    background-color: white;
}

.table th {
    border-top: none;
    background-color: #e8f5e9; /* Светло-зеленый для заголовков */
}

/* Формы */
.form-control, .form-select {
    padding: 0.5rem 0.75rem;
    border: 1px solid #a5d6a7; /* Зеленоватая граница */
}

.btn-primary {
    background-color: #388e3c; /* Основной зеленый */
    border-color: #2e7d32;
}

.btn-primary:hover {
    background-color: #2e7d32;
    border-color: #1b5e20;
}

/* Адаптивность */
@media (max-width: 768px) {
    .card-img-top {
        height: 150px;
    }
}

/* Темная тема с улучшенной контрастностью */
[data-bs-theme="dark"] {
    background-color: #121212;
    color: #e0e0e0; /* Светло-серый для лучшей читаемости */
}

[data-bs-theme="dark"] .card {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #333;
}

[data-bs-theme="dark"] .table {
    background-color: #1e1e1e;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td {
    border-color: #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .table th {
    background-color: #2d2d2d;
    color: #ffffff;
}

[data-bs-theme="dark"] .hero-section {
    background-color: #1a1e21;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .navbar {
    background-color: #1b5e20; /* Темно-зеленый в темной теме */
}

[data-bs-theme="dark"] .form-control, 
[data-bs-theme="dark"] .form-select {
    background-color: #2d2d2d;
    border-color: #555;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .btn-primary {
    background-color: #2e7d32;
    border-color: #1b5e20;
}

[data-bs-theme="dark"] .btn-primary:hover {
    background-color: #1b5e20;
    border-color: #0d470f;
}

.bg-primary {
    background-color: #2e7d32 !important;
}

.btn-outline-primary {
    background-color: #2e7d32 !important;
}

/* Переопределение стилей для кнопок с outline */
.btn-outline-primary {
  --bs-btn-color: #fff;
  --bs-btn-border-color: #2e7d32;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2e7d32;
  --bs-btn-hover-border-color: #2e7d32;
  --bs-btn-focus-shadow-rgb: 46, 125, 50;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1b5e20;
  --bs-btn-active-border-color: #1b5e20;
  --bs-btn-disabled-color: #2e7d32;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #2e7d32;
}

/* Для темной темы */
[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: #81c784;
  --bs-btn-border-color: #81c784;
  --bs-btn-hover-color: #121212;
  --bs-btn-hover-bg: #81c784;
  --bs-btn-hover-border-color: #81c784;
  --bs-btn-active-color: #121212;
  --bs-btn-active-bg: #4c8c4f;
  --bs-btn-active-border-color: #4c8c4f;
}

footer.bg-dark {
    background-color: #2772a4 !important; /* Зеленый цвет */
    /* или любой другой цвет в HEX/RGB/RGBA/HSL */
}