/*
 * UI-нормализация кнопок (грузится последним, поэтому перебивает прочие стили).
 * Задаём цвета через нативные переменные Bootstrap 5.3 (--bs-btn-*) — это
 * корректный способ для BS 5.3 — и дублируем background/border на случай, если
 * базовый .btn применяет переменные. Плюс единые размеры/отступы.
 */

/* Базовая кнопка — единый размер и форма по всему приложению */
.btn {
  --bs-btn-font-weight: 500;
  --bs-btn-border-radius: 0.5rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  border-radius: 0.5rem;
  font-weight: 500;
  line-height: 1.5;
}

.btn-sm {
  --bs-btn-padding-y: 0.3rem;
  --bs-btn-padding-x: 0.6rem;
  --bs-btn-border-radius: 0.4rem;
  border-radius: 0.4rem;
}

.btn-lg {
  --bs-btn-padding-y: 0.65rem;
  --bs-btn-padding-x: 1.25rem;
}

/* Группы кнопок действий в таблицах — одинаковая высота/выравнивание */
.btn-group-sm > .btn,
td .btn-sm,
.btn-group .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ===== Цвета вариантов (через переменные BS 5.3 + прямые свойства) ===== */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0056b3;
  --bs-btn-border-color: #0056b3;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #004494;
  --bs-btn-hover-border-color: #004494;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #004494;
  --bs-btn-active-border-color: #003d82;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0056b3;
  --bs-btn-disabled-border-color: #0056b3;
  background-color: #0056b3;
  border-color: #0056b3;
  color: #fff;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-active-bg: #146c43;
  background-color: #198754;
  border-color: #198754;
  color: #fff;
}

.btn-warning {
  --bs-btn-color: #212529;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #212529;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;
  --bs-btn-active-color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
  color: #212529;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;
  background-color: #dc3545;
  border-color: #dc3545;
  color: #fff;
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  background-color: #6c757d;
  border-color: #6c757d;
  color: #fff;
}

/* Outline-варианты: прозрачный фон, цветная рамка/текст */
.btn-outline-primary {
  --bs-btn-color: #0056b3;
  --bs-btn-border-color: #0056b3;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0056b3;
  --bs-btn-hover-border-color: #0056b3;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
}

/* Иконка внутри кнопки не перехватывает клик/не съезжает */
.btn > i {
  pointer-events: none;
}

/* Клиентский кабинет: ограничиваем ширину контента и центрируем
   (раньше страницы тянулись от края до края экрана). */
.client-cabinet-shell {
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: 1rem;
}
