html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* --- СТИЛІ ДЛЯ SWEETALERT2 ТОСТЕРІВ --- */
.swal2-toast {
  border-radius: 0.5rem !important;
}

/* Динамічні кольори для смужки таймера */
.toast-error .swal2-timer-progress-bar {
  background-color: #dc3545 !important; /* Червона */
}
.toast-success .swal2-timer-progress-bar {
  background-color: #198754 !important; /* Зелена */
}
.toast-warning .swal2-timer-progress-bar {
  background-color: #ffc107 !important; /* Жовта */
}


/* =========================================================
   КАСТОМНІ КЛАСИ ПРОЄКТУ (MINIMAX)
   ========================================================= */

/* Стандартизована картка для тижнів у симуляції */
.simulation-card {
  width: 300px;
  min-width: 300px;
}

/* Красивий тонкий скролбар для горизонтальних списків карток */
.custom-scrollbar {
  /* Стандарт для Firefox та майбутніх версій CSS */
  scrollbar-width: thin;
  scrollbar-color: #ced4da transparent;
}

/* Стилізація для Chrome, Edge, Safari */
.custom-scrollbar::-webkit-scrollbar {
  height: 8px; /* Висота для горизонтального скролу */
  width: 8px;  /* Ширина для вертикального скролу */
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: #ced4da; /* Колір повзунка */
  border-radius: 4px;
  border: 2px solid transparent; /* Додає "повітря" навколо повзунка */
  background-clip: content-box;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background-color: #adb5bd; /* Темнішає при наведенні */
}

/* Універсальний клас для числових інпутів без дефолтних стрілочок браузера */
.hide-spinners::-webkit-outer-spin-button,
.hide-spinners::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.hide-spinners {
  -moz-appearance: textfield;
}
/* Зелений фокус для фінансових/успішних інпутів */
.focus-success:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
  outline: none;
}
/* Плавне підняття карток при наведенні (Hover ефект) */
.transition-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.transition-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
/* М'яка анімація "дихання" (Scale + Opacity) для кнопок і бейджів */
@keyframes soft-pulse {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.03); opacity: 0.85; }
  100% { transform: scale(1); opacity: 1; }
}

.btn-pulse-warning {
  animation: soft-pulse 2s infinite ease-in-out;
  box-shadow: 0 4px 15px rgba(255, 193, 7, 0.4);
}

.btn-pulse-danger {
  animation: soft-pulse 2s infinite ease-in-out;
  box-shadow: 0 4px 15px rgba(220, 53, 69, 0.4);
}