/* START OF FILE theme.css */

/*
========================================
  ФИНАЛЬНАЯ ТЕМА: НЕОН И ИСПРАВЛЕНИЯ
========================================
*/

/* --- 1. ПРИНУДИТЕЛЬНЫЕ ИСПРАВЛЕНИЯ ДЛЯ ТЕМНОЙ ТЕМЫ --- */
.dark-mode {
    /* Исправляем цвет активных элементов, который не подхватился */
    --bs-accordion-active-bg: #31363B !important;
    --bs-accordion-active-color: #f8f9fa !important;
}
.dark-mode .list-group-item.bg-light {
    background-color: #31363B !important;
    color: #f8f9fa !important;
}
.dark-mode .table, .dark-mode .table th, .dark-mode .table td {
    color: var(--text-color) !important;
}

/* ====================================================================
    ↓↓↓ СТИЛИ ДЛЯ КНОПОК ↓↓↓
====================================================================
*/

/* --- 2. ОБЩИЕ СТИЛИ ДЛЯ ОБЪЕМНЫХ "3D" КНОПОК --- */
.btn {
    border-radius: 50px !important;
    padding: 10px 22px;
    font-weight: 600; 
    position: relative;
    z-index: 1;
    transition: all 0.2s ease-in-out;
    overflow: hidden;
    background: transparent !important;
    border: 2px solid transparent !important;
    color: var(--text-color) !important;
    box-shadow: 
        inset 0 1px 1px rgba(255, 255, 255, 0.15),
        0 2px 4px rgba(0, 0, 0, 0.3);
}
.btn::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50px; padding: 2px; z-index: -1; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.btn::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -2; opacity: 0; transition: opacity 0.3s ease; }

.btn:hover { 
    transform: translateY(-2px);
    box-shadow: 
        inset 0 1px 1px rgba(255, 255, 255, 0.2),
        0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn:hover::after { opacity: 1; }

.btn:active { 
    transform: translateY(1px);
    box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.3);
}


/* --- 3. ГРАДИЕНТЫ ДЛЯ КНОПОК --- */
.btn-primary::before, .btn-primary::after     { background: linear-gradient(90deg, #00C0FF, #A460ED); }
.btn-secondary::before, .btn-secondary::after { background: linear-gradient(90deg, #8e9eab, #495057); }
.btn-success::before, .btn-success::after     { background: linear-gradient(90deg, #56ab2f, #a8e063); }
.btn-danger::before, .btn-danger::after      { background: linear-gradient(90deg, #ed213a, #93291e); }
.btn-warning::before, .btn-warning::after     { background: linear-gradient(90deg, #FFCF00, #FC4F4F); }
.btn-info::before, .btn-info::after        { background: linear-gradient(90deg, #44DEC4, #26A5E2); }
.btn-outline-primary::before { background: linear-gradient(90deg, #00C0FF, #A460ED); }
.btn-outline-secondary::before { background: linear-gradient(90deg, #8e9eab, #495057); }
.btn-outline-info::before { background: linear-gradient(90deg, #44DEC4, #26A5E2); }
.btn-outline-success::before { background: linear-gradient(90deg, #56ab2f, #a8e063); }
.btn-outline-danger::before { background: linear-gradient(90deg, #ed213a, #93291e); }


/* --- ИЗМЕНЕНИЕ: ИСПРАВЛЕНИЕ ЦВЕТА ТЕКСТА ПРИ НАВЕДЕНИИ --- */

/* 1. Для ВСЕХ кнопок с ЗАЛИВКОЙ (primary, success, danger...) 
      И для ЛЮБЫХ кнопок на ТЕМНОЙ ТЕМЕ
      -> делаем текст БЕЛЫМ. */
.btn-primary:hover, .btn-secondary:hover, .btn-success:hover, .btn-danger:hover, .btn-warning:hover, .btn-info:hover,
.dark-mode .btn:hover {
    color: #fff !important;
}


/* 2. Для ВСЕХ КОНТУРНЫХ кнопок (outline-primary, outline-success...)
      на СВЕТЛОЙ ТЕМЕ
      -> делаем текст ТЕМНЫМ. */
body:not(.dark-mode) .btn-outline-primary:hover,
body:not(.dark-mode) .btn-outline-secondary:hover,
body:not(.dark-mode) .btn-outline-success:hover,
body:not(.dark-mode) .btn-outline-danger:hover,
body:not(.dark-mode) .btn-outline-info:hover {
    color: #212529 !important;
}
/* --- КОНЕЦ ИЗМЕНЕНИЯ --- */


/* --- 4. ИСПРАВЛЕНИЯ ДЛЯ РАЗНЫХ РАЗМЕРОВ И ГРУПП --- */
.input-group .btn {
    border-radius: 0 50px 50px 0 !important;
}
.btn-sm,
.input-group .btn {
    box-shadow: none !important; 
}
.btn-sm {
    padding: 5px 15px !important;
}
#copyWebMenuIdBtn, #copyPriceCategoryIdBtn {
     padding: 5px 15px !important;
     z-index: 5;
}
/* --- ФИКСЫ ДЛЯ ТЕМНОЙ ТЕМЫ (Таблицы и Инпуты) --- */

/* Заголовки таблиц в темной теме */
body.dark-mode .table thead th {
    background-color: var(--card-bg) !important;
    color: var(--text-color) !important;
    border-bottom: 2px solid var(--card-border);
}

/* Иконки в полях ввода (input-group-text) */
body.dark-mode .input-group-text {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--text-color);
}

/* Убираем белый фон у table-hover при наведении в темной теме */
body.dark-mode .table-hover > tbody > tr:hover > * {
    color: var(--text-color);
    background-color: var(--hover-bg);
}