/* Файл для добавления высокого контраста для улучшения доступности */

/* Базовые переменные с высокоми контрастными цветами */
:root {
  --high-contrast-primary: #C0592A;    /* Насыщенный кофейный */
  --high-contrast-primary-dark: #A04726; /* Темнее для наведения */
  --high-contrast-text-on-light: #333333; /* Темный текст на светлом фоне */
  --high-contrast-text-on-dark: #FFFFFF;  /* Белый текст на темном фоне */
  --high-contrast-focus-outline: #C0592A; /* Выделение фокуса */
  --high-contrast-border: #666666;      /* Видимые границы */
  --high-contrast-link: #0066CC;        /* Высококонтрастные ссылки */
  --high-contrast-visited: #8722A5;     /* Посещенные ссылки */
  --high-contrast-error: #D91E1E;       /* Яркий красный для ошибок */
  --high-contrast-success: #007C3F;     /* Насыщенный зеленый для успеха */
  --high-contrast-warning: #D97900;     /* Яркий оранжевый для предупреждений */
  --high-contrast-info: #0277BD;        /* Насыщенный синий для информации */
  --high-contrast-rating: #FCCC00;      /* Яркий желтый для рейтингов */
}

/* Применение высококонтрастных цветов к элементам интерфейса */
@media (max-width: 768px) {
  /* Текст и ссылки */
  body {
    color: var(--high-contrast-text-on-light);
  }
  
  a {
    color: var(--high-contrast-link);
    text-decoration: underline;
  }
  
  a:visited {
    color: var(--high-contrast-visited);
  }
  
  a:hover, a:focus {
    color: var(--high-contrast-primary-dark);
    text-decoration: underline;
  }
  
  /* Кнопки */
  .btn-primary {
    background-color: var(--high-contrast-primary);
    color: var(--high-contrast-text-on-dark);
    border: 2px solid var(--high-contrast-primary);
  }
  
  .btn-primary:hover, 
  .btn-primary:focus {
    background-color: var(--high-contrast-primary-dark);
    border-color: var(--high-contrast-primary-dark);
    color: var(--high-contrast-text-on-dark);
  }
  
  .btn-secondary {
    background-color: #666666;
    color: var(--high-contrast-text-on-dark);
    border: 2px solid #666666;
  }
  
  .btn-outline-primary {
    color: var(--high-contrast-primary);
    border: 2px solid var(--high-contrast-primary);
  }
  
  .btn-outline-primary:hover, 
  .btn-outline-primary:focus {
    background-color: var(--high-contrast-primary);
    color: var(--high-contrast-text-on-dark);
  }
  
  /* Фокусное состояние элементов */
  a:focus, 
  button:focus, 
  input:focus, 
  select:focus, 
  textarea:focus {
    outline: 3px solid var(--high-contrast-focus-outline);
    outline-offset: 2px;
  }
  
  /* Формы и поля ввода */
  input, select, textarea {
    border: 2px solid var(--high-contrast-border);
    color: var(--high-contrast-text-on-light);
    background-color: #FFFFFF;
  }
  
  input:focus, 
  select:focus, 
  textarea:focus {
    border-color: var(--high-contrast-primary);
  }
  
  label {
    color: var(--high-contrast-text-on-light);
    font-weight: 600;
  }
  
  /* Навигация */
  .nav-link {
    color: var(--high-contrast-link);
  }
  
  .nav-link:hover,
  .nav-link:focus {
    color: var(--high-contrast-primary-dark);
  }
  
  .nav-link.active {
    color: var(--high-contrast-text-on-dark);
    background-color: var(--high-contrast-primary);
  }
  
  /* Карточки и контейнеры */
  .card, 
  .coffee-card,
  .container {
    border: 1px solid var(--high-contrast-border);
  }
  
  /* Заголовки */
  h1, h2, h3, h4, h5, h6 {
    color: var(--high-contrast-text-on-light);
  }
  
  /* Рейтинги */
  .rating-stars {
    color: var(--high-contrast-rating);
  }
  
  /* Статусные сообщения */
  .text-danger, 
  .error-message {
    color: var(--high-contrast-error);
    font-weight: 600;
  }
  
  .text-success, 
  .success-message {
    color: var(--high-contrast-success);
    font-weight: 600;
  }
  
  .text-warning, 
  .warning-message {
    color: var(--high-contrast-warning);
    font-weight: 600;
  }
  
  .text-info, 
  .info-message {
    color: var(--high-contrast-info);
    font-weight: 600;
  }
  
  /* Бейджи и метки */
  .badge, 
  .tag, 
  .label {
    color: var(--high-contrast-text-on-dark);
    font-weight: 600;
  }
  
  .badge-primary, 
  .tag-primary {
    background-color: var(--high-contrast-primary);
  }
  
  .badge-success, 
  .tag-success {
    background-color: var(--high-contrast-success);
  }
  
  .badge-warning, 
  .tag-warning {
    background-color: var(--high-contrast-warning);
    color: #000000; /* Черный текст на желтом/оранжевом для лучшего контраста */
  }
  
  .badge-danger, 
  .tag-danger {
    background-color: var(--high-contrast-error);
  }
  
  /* Таблицы */
  th {
    background-color: #E5E5E5;
    color: var(--high-contrast-text-on-light);
    font-weight: 700;
  }
  
  td {
    border: 1px solid #CCCCCC;
  }
  
  /* Мобильные подсказки */
  .tooltip, 
  .popover {
    color: var(--high-contrast-text-on-dark);
    background-color: #333333;
    border: 1px solid #666666;
  }
}

/* Добавление поддержки для prefers-contrast режима */
@media (prefers-contrast: more) {
  :root {
    --high-contrast-primary: #C0592A;
    --high-contrast-primary-dark: #8B3A10;
    --high-contrast-text-on-light: #000000;
    --high-contrast-text-on-dark: #FFFFFF;
    --high-contrast-link: #0000EE;
    --high-contrast-visited: #551A8B;
    --high-contrast-focus-outline: #FF8C00;
  }
  
  body {
    color: black;
    background-color: white;
  }
  
  /* Усиление всех обводок */
  *, *:before, *:after {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  /* Дополнительное усиление контраста для текста */
  p, li, td, th, label, input, select, textarea {
    color: black;
  }
  
  /* Усиление обводки для фокусируемых элементов */
  a:focus, button:focus, input:focus, select:focus, textarea:focus {
    outline: 4px solid var(--high-contrast-focus-outline);
  }
}
