html {
  font-size: 16px; /* Увеличиваем базовый размер шрифта для лучшей читаемости */
}

@media (min-width: 768px) {
  html {
    font-size: 18px; /* Еще больше для десктопа */
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem white, 0 0 0 0.4rem #0056b3; /* Увеличиваем контраст фокуса */
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 40px; /* Уменьшаем с 60px до 40px для компенсации уменьшенного футера */
  color: #212529; /* Увеличиваем контраст текста */
  line-height: 1.6; /* Улучшаем межстрочный интервал */
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  white-space: nowrap;
  line-height: 30px; /* Уменьшаем с 60px до 30px */
  font-size: 0.8rem; /* Уменьшаем размер шрифта */
  padding: 0.25rem 0; /* Добавляем минимальные отступы */
}

/* Custom styles for exam platform */
.exam-container {
  background-color: #ffffff; /* Белый фон для лучшего контраста */
  border: 2px solid #dee2e6; /* Добавляем четкую границу */
  border-radius: 0.5rem;
  padding: 2rem;
  margin: 2rem 0;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); /* Усиливаем тень */
}

.question-card {
  background: white;
  border: 2px solid #e9ecef; /* Добавляем четкую границу */
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); /* Усиливаем тень */
  transition: all 0.15s ease-in-out;
}

.question-card:hover {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2); /* Усиливаем тень при наведении */
  border-color: #007bff; /* Меняем цвет границы при наведении */
}

.answer-option {
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  border: 2px solid #dee2e6; /* Добавляем четкую границу */
  padding: 1rem; /* Увеличиваем отступы */
  margin-bottom: 0.5rem; /* Добавляем отступ между вариантами */
  border-radius: 0.5rem;
  background-color: #ffffff;
}

.answer-option:hover {
  background-color: #f8f9fa;
  border-color: #007bff; /* Меняем цвет границы при наведении */
  transform: translateY(-1px);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); /* Добавляем тень */
}

.answer-option input[type="radio"]:checked + label {
  font-weight: bold;
  color: #0056b3; /* Увеличиваем контраст выбранного элемента */
}

.answer-option:has(input[type="radio"]:checked) {
  background-color: #e3f2fd;
  border-color: #0056b3;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 86, 179, 0.2);
}

.result-container {
  background-color: #ffffff; /* Белый фон для лучшего контраста */
  border: 2px solid #dee2e6; /* Добавляем четкую границу */
  border-radius: 0.5rem;
  padding: 2rem;
  margin: 2rem 0;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); /* Усиливаем тень */
}

.score-display {
  font-size: 4rem;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2); /* Усиливаем тень текста */
  color: #212529; /* Увеличиваем контраст */
}

.card {
  border: 2px solid #dee2e6; /* Добавляем четкую границу */
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); /* Усиливаем тень */
  transition: all 0.15s ease-in-out;
}

.card:hover {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2); /* Усиливаем тень при наведении */
  border-color: #007bff; /* Меняем цвет границы при наведении */
}

.navbar-brand {
  font-weight: 800; /* Увеличиваем жирность с bold до 800 */
  font-size: 1.22rem; /* Уменьшаем с 1.35rem до 1.22rem (еще на 10%) */
  color: #ffffff !important; /* Убеждаемся, что текст белый */
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); /* Добавляем тень для читаемости */
}

.btn {
  border-radius: 0.375rem;
  font-weight: 600; /* Увеличиваем жирность шрифта */
  transition: all 0.15s ease-in-out;
  border-width: 2px; /* Увеличиваем толщину границы */
  font-size: 1rem; /* Увеличиваем размер шрифта */
  padding: 0.75rem 1.5rem; /* Увеличиваем отступы */
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2); /* Добавляем тень при наведении */
}

.btn:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); /* Усиливаем фокус */
}

.alert {
  border: 2px solid; /* Добавляем четкую границу */
  border-radius: 0.5rem;
  font-weight: 500; /* Увеличиваем жирность шрифта */
  font-size: 1rem; /* Увеличиваем размер шрифта */
}

.table {
  border-radius: 0.5rem;
  overflow: hidden;
}

.table th {
  background-color: #e9ecef; /* Увеличиваем контраст фона */
  font-weight: 700; /* Увеличиваем жирность шрифта */
  border-bottom: 3px solid #dee2e6; /* Увеличиваем толщину границы */
  color: #212529; /* Увеличиваем контраст текста */
  font-size: 1rem; /* Увеличиваем размер шрифта */
}

.badge {
  font-size: 1rem; /* Увеличиваем размер шрифта */
  padding: 0.75rem 1rem; /* Увеличиваем отступы */
  font-weight: 600; /* Увеличиваем жирность шрифта */
  border: 1px solid; /* Добавляем границу для лучшей видимости */
}

/* Accessibility improvements */
.nav-link {
  font-weight: 700; /* Увеличиваем жирность с 500 до 700 */
  font-size: 0.9rem; /* Увеличиваем с 0.81rem до 0.9rem */
  padding: 0.36rem 0.72rem; /* Уменьшаем отступы еще на 10% */
}

/* Специально для навигационных ссылок с классом text-light */
.nav-link.text-light {
  font-size: 0.95rem; /* Делаем еще больше для лучшей видимости */
  font-weight: 700; /* Обеспечиваем жирность */
}

.nav-link:hover {
  text-decoration: underline; /* Добавляем подчеркивание при наведении */
}

/* Уменьшаем общую высоту навбара */
.navbar {
  padding-top: 0.27rem; /* Уменьшаем верхний отступ еще на 10% */
  padding-bottom: 0.27rem; /* Уменьшаем нижний отступ еще на 10% */
}

.navbar-nav .nav-item {
  margin: 0 0.09rem; /* Уменьшаем отступы между элементами еще на 10% */
  display: flex; /* Добавляем flex для выравнивания */
  align-items: center; /* Выравниваем по центру */
}

/* Специально для кнопки выйти */
.navbar-nav .nav-item form {
  display: flex;
  align-items: center;
}

.navbar-nav .nav-item .btn-link {
  padding: 0.36rem 0.72rem; /* Синхронизируем с nav-link */
  font-size: 0.95rem; /* Синхронизируем с text-light */
  font-weight: 700; /* Синхронизируем с nav-link */
  line-height: 1; /* Убираем лишнюю высоту строки */
}

/* Улучшаем контраст для текста */
h1, h2, h3, h4, h5, h6 {
  color: #212529; /* Увеличиваем контраст заголовков */
  font-weight: 700; /* Увеличиваем жирность */
}

p, span, div {
  color: #212529; /* Увеличиваем контраст обычного текста */
}

/* Улучшаем видимость радиокнопок */
input[type="radio"] {
  transform: scale(1.3); /* Увеличиваем размер */
  margin-right: 0.5rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .exam-container,
  .result-container {
    padding: 1rem;
    margin: 1rem 0;
  }
  
  .score-display {
    font-size: 2.5rem;
  }
  
  .exam-header {
    flex-direction: column;
    gap: 1rem;
  }
  
  .exam-navigation {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .exam-navigation .btn {
    width: 100%;
  }
  
  /* Увеличиваем размеры для мобильных устройств */
  .btn {
    font-size: 1.1rem;
    padding: 1rem 1.5rem;
  }
  
  .answer-option {
    padding: 1.25rem;
  }
  
  input[type="radio"] {
    transform: scale(1.5); /* Еще больше для мобильных */
  }
}
