/* Bootstrap theme overrides (edit to match your palette) */
:root {
  --bs-primary: #10b981; /* emerald-ish */
  --bs-primary-rgb: 16, 185, 129;

  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: #0ea371;
}

.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: #0ea371;
  --bs-btn-hover-border-color: #0ea371;
}

/* --- Адаптивность под мобильные устройства --- */
html {
  overflow-x: hidden;
}
body {
  overflow-x: hidden;
}

/* Контейнеры: отступы на маленьких экранах */
@media (max-width: 575.98px) {
  .container,
  .container-fluid {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

/* Крупная типографика — меньше на мобильных */
@media (max-width: 767.98px) {
  .display-5 {
    font-size: calc(1.375rem + 1.5vw);
  }
  .display-6 {
    font-size: calc(1.3rem + 0.6vw);
  }
  .lead {
    font-size: 1rem;
  }
}

/* Минимальная высота кнопок/ссылок для удобного нажатия (touch targets ~44px) */
@media (pointer: coarse) {
  .btn:not(.btn-sm):not(.btn-xs) {
    min-height: 2.75rem;
  }
  .nav-link {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
  }
  .form-control,
  .form-select {
    min-height: 2.75rem;
  }
}

/* Таблицы: горизонтальный скролл на малых экранах (доп. к .table-responsive) */
.table-responsive {
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 767.98px) {
  .table-responsive .table {
    font-size: 0.875rem;
  }
  .table-responsive .form-control,
  .table-responsive .form-select {
    min-width: 4rem;
  }
}

/* Карточки и секции: уменьшенные отступы на мобильных */
@media (max-width: 575.98px) {
  section.py-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .card-body.p-4 {
    padding: 1rem !important;
  }
}

