/* =============================================================================
   BUTTONS - Унифицированные стили кнопок
   ============================================================================= */

:root {
    /* Зелёные цвета (Основные - viridian) */
    --btn-green-primary: #6b9080;
    --btn-green-dark: #4a6b5c;
    --btn-green-light: #a4c3b2;
    --btn-green-hover: #5a8070;
    
    /* Красные цвета */
    --btn-red-primary: #dc3545;
    --btn-red-dark: #c82333;
    --btn-red-light: #ff6b6b;
    --btn-red-hover: #bb2d3b;
    
    /* Серые цвета */
    --btn-gray-primary: #6c757d;
    --btn-gray-dark: #5a6268;
    --btn-gray-hover: #5f6870;
    
    /* Белый */
    --btn-white: #ffffff;
    
    /* Тени */
    --btn-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
    --btn-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.15);
    --btn-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.2);
    
    /* Радиусы */
    --btn-radius-sm: 8px;
    --btn-radius-md: 12px;
    
    /* Размеры */
    --btn-small-size: 36px;
}

/* Базовые стили для всех кнопок действий */
.btn-action {
    border-radius: var(--btn-radius-sm);
    box-shadow: var(--btn-shadow-sm);
    transition: all 0.3s ease;
    font-weight: 500;
    white-space: nowrap;
    padding: 0.5rem 1rem;
}

.btn-action:hover {
    box-shadow: var(--btn-shadow-md);
}

.btn-action:active {
    transform: translateY(0);
}

/* Маленькие кнопки (btn-sm) */
.btn-sm.btn-action {
    padding: 0.19rem 0.5rem;
    font-size: 0.8rem;
    border-radius: var(--btn-radius-sm);
}

/* Специальные стили для кнопок в заголовке */
.list-header .btn-action {
    white-space: nowrap;
    padding: 0.5rem 1rem;
}

/* =============================================================================
   ЗЕЛЁНЫЕ КНОПКИ (btn-success)
   ============================================================================= */

/* Сохранить (Create/Update) */
.btn-save,
.btn-success.btn-action[type="submit"] {
    background: var(--btn-green-primary);
    border-color: var(--btn-green-primary);
    color: var(--btn-white);
}

.btn-save:hover {
    background: var(--btn-green-dark);
    border-color: var(--btn-green-dark);
    color: var(--btn-white);
}

/* Редактировать (List/Info) */
.btn-edit,
.btn-success.btn-action[href*="Update"] {
    background: var(--btn-green-primary);
    border-color: var(--btn-green-primary);
    color: var(--btn-white);
}

.btn-edit:hover {
    background: var(--btn-green-dark);
    border-color: var(--btn-green-dark);
    color: var(--btn-white);
}


/* Маленькие кнопки в списке */
.list-group .btn-edit,
.list-group .btn-delete,
.list-group .btn-view-info {
    width: var(--btn-small-size);
    height: var(--btn-small-size);
    border-radius: var(--btn-radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Просмотреть (List) */
.btn-view-info {
    width: var(--btn-small-size);
    height: var(--btn-small-size);
    border-radius: var(--btn-radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: var(--btn-green-primary);
    color: var(--btn-white);
}

.btn-view-info:hover {
    background: var(--btn-green-dark);
    color: var(--btn-white);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(107, 144, 128, 0.3);
}

/* Breadcrumb кнопки (маленькие с цветом как у info) */
.btn-breadcrumb-sm {
    padding: 0.19rem 0.5rem;
    font-size: 0.8rem;
    border-radius: var(--btn-radius-sm);
    background: var(--btn-green-primary);
    border-color: var(--btn-green-primary);
    color: var(--btn-white);
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-breadcrumb-sm:hover {
    background: var(--btn-green-dark);
    border-color: var(--btn-green-dark);
    color: var(--btn-white);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(107, 144, 128, 0.3);
}

/* Breadcrumb кнопки outline вариант (для неактивных элементов) */
.btn-breadcrumb-outline-sm {
    padding: 0.19rem 0.5rem;
    font-size: 0.8rem;
    border-radius: var(--btn-radius-sm);
    background: transparent;
    border: 1px solid var(--btn-green-primary);
    color: var(--btn-green-primary);
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-breadcrumb-outline-sm:hover {
    background: var(--btn-green-primary);
    border-color: var(--btn-green-primary);
    color: var(--btn-white);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(107, 144, 128, 0.3);
}

/* Добавим одинаковый hover-эффект для маленьких иконок Edit/Delete в списках */
.list-group .btn-edit:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(107, 144, 128, 0.3); /* зелёная тень в тон edit */
}

.list-group .btn-delete:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3); /* красная тень в тон delete */
}

/* Добавить (List/Create/Update) */
.btn-add,
.btn-success[href*="Create"],
#addUsefulLinkBtn {
    background: var(--btn-green-primary);
    border-color: var(--btn-green-primary);
    color: var(--btn-white);
}

.btn-add:hover {
    background: var(--btn-green-dark);
    border-color: var(--btn-green-dark);
    color: var(--btn-white);
}

/* =============================================================================
   КРАСНЫЕ КНОПКИ (btn-danger)
   ============================================================================= */

/* Подтвердить удаление (Delete) */
.btn-confirm-delete,
.btn-danger.btn-action[type="submit"] {
    background: var(--btn-red-primary);
    border-color: var(--btn-red-primary);
    color: var(--btn-white);
}

.btn-confirm-delete:hover {
    background: var(--btn-red-dark);
    border-color: var(--btn-red-dark);
    color: var(--btn-white);
}

/* Удалить тип (List/Info) */
.btn-delete,
.btn-danger.btn-action[href*="Delete"] {
    background: var(--btn-red-primary);
    border-color: var(--btn-red-primary);
    color: var(--btn-white);
}

.btn-delete:hover {
    background: var(--btn-red-dark);
    border-color: var(--btn-red-dark);
    color: var(--btn-white);
}

/* Удалить строку (Create/Update) */
.btn-remove-row,
.btn-outline-danger {
    border-color: var(--btn-red-primary);
    color: var(--btn-red-primary);
    transition: all 0.3s ease;
}

.btn-remove-row:hover,
.btn-outline-danger:hover {
    background-color: var(--btn-red-primary);
    color: var(--btn-white);
}

/* =============================================================================
   СЕРЫЕ КНОПКИ (btn-secondary)
   ============================================================================= */

/* Отмена */
.btn-cancel,
.btn-secondary.btn-action[href*="List"] {
    background: var(--btn-gray-primary);
    border-color: var(--btn-gray-primary);
    color: var(--btn-white);
}

.btn-cancel:hover {
    background: var(--btn-gray-dark);
    border-color: var(--btn-gray-dark);
    color: var(--btn-white);
}

/* Назад */
.btn-back {
    background: var(--btn-gray-primary);
    border-color: var(--btn-gray-primary);
    color: var(--btn-white);
}

.btn-back:hover {
    background: var(--btn-gray-dark);
    border-color: var(--btn-gray-dark);
    color: var(--btn-white);
}

/* =============================================================================
   АДАПТИВНОСТЬ
   ============================================================================= */

@media (max-width: 768px) {
    .btn-action {
        width: 100%;
    }
    
    .btn-action-small {
        width: 100%;
    }
    
    /* На мобильных - маленькие кнопки в списке растягиваются */
    .list-group .btn-view-info,
    .list-group .btn-edit,
    .list-group .btn-delete {
        width: 100%;
        margin-bottom: 0.5rem;
    }
    
    /* Группа кнопок в мобильной версии вертикально */
    .list-group-item > .d-flex.gap-2 {
        flex-direction: column;
        width: 100%;
    }
}

/* =============================================================================
   АНИМАЦИИ
   ============================================================================= */

@keyframes button-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.btn-action:focus {
    animation: button-pulse 0.3s ease;
}

/* =============================================================================
   ИКОНКИ В КНОПКАХ
   ============================================================================= */

.btn-action i,
.btn-action-small i {
    font-size: 1.1em;
}

.btn-action .fas,
.btn-action .fa {
    margin-right: 0.5rem;
}

