/*
  Единственное исключение из правила «нет CSS-файлов в src/».
  Глобальные hover-эффекты для кнопок и навигационных ссылок,
  чтобы интерфейс был единообразным.
*/

button:not(:disabled) {
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

button:not(:disabled):hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

button:not(:disabled):active {
  transform: translateY(0);
  filter: brightness(0.98);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Navigation links: animate only the text label */
nav a .nav-label,
.secondary-nav a .nav-label,
.secondary-nav button .nav-label {
  display: inline-block;
  transition: transform 0.15s ease, filter 0.15s ease;
}

nav a:hover .nav-label,
.secondary-nav a:hover .nav-label,
.secondary-nav button:not(:disabled):hover .nav-label {
  transform: translateY(-1px);
  filter: brightness(1.15);
}

nav a:active .nav-label,
.secondary-nav a:active .nav-label,
.secondary-nav button:not(:disabled):active .nav-label {
  transform: translateY(0);
  filter: brightness(0.98);
}

/* Disable the full-button transform for secondary-nav buttons; only label moves */
.secondary-nav button:not(:disabled):hover,
.secondary-nav button:not(:disabled):active {
  transform: none;
  box-shadow: none;
  filter: none;
}

/* Dropdown animation */
@keyframes fadeSlideDown {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
