
/**
 * =============================================================================
 * MODERN CSS RESET
 * =============================================================================
 * 
 * Современный CSS reset для обеспечения консистентности
 * стилей во всех браузерах. Основан на лучших практиках
 * современной веб-разработки.
 * 
 * Особенности:
 * - Box-sizing: border-box для всех элементов
 * - Удаление стандартных отступов и полей
 * - Улучшенная типографика
 * - Оптимизация для производительности
 * - Поддержка accessibility
 * 
 * @author: Carpathians Team
 * @version: 1.0.0
 * @updated: 2024
 */

/* ===== UNIVERSAL RESET ===== */
/* Сброс для всех элементов и псевдоэлементов */
*,
*::before,
*::after {
  box-sizing: border-box;  /* Включает padding и border в общую ширину */
  margin: 0;               /* Удаление стандартных отступов */
  padding: 0;              /* Удаление стандартных полей */
}

/* ===== HTML ELEMENT ===== */
html {
  scroll-behavior: smooth;              /* Плавная прокрутка к якорям */
  -webkit-text-size-adjust: 100%;      /* Предотвращение масштабирования текста на iOS */
  -ms-text-size-adjust: 100%;          /* Предотвращение масштабирования текста на IE */
  
  /* Скрытие скроллбара (Firefox) */
  scrollbar-width: none;               /* Firefox */
}

/* Скрытие скроллбара (Chrome, Safari, Edge) */
html::-webkit-scrollbar {
  display: none;
}

/* ===== BODY ELEMENT ===== */
body {
  line-height: var(--line-height-normal);  /* Стандартная высота строки */
  -webkit-font-smoothing: antialiased;     /* Сглаживание шрифтов в WebKit */
  -moz-osx-font-smoothing: grayscale;      /* Сглаживание шрифтов в Firefox на macOS */
  text-rendering: optimizeLegibility;      /* Оптимизация рендеринга текста */
}

/* ===== MEDIA ELEMENTS ===== */
/* Сброс и оптимизация медиа элементов */
img,
picture,
video,
canvas,
svg {
  display: block;        /* Блочное отображение для лучшего контроля */
  max-width: 100%;       /* Предотвращение переполнения контейнера */
  height: auto;          /* Автоматическая высота для сохранения пропорций */
}

/* ===== FORM ELEMENTS ===== */
/* Сброс и наследование стилей для форм */
input,
button,
textarea,
select {
  font: inherit;         /* Наследование шрифта от родителя */
  color: inherit;        /* Наследование цвета от родителя */
}

/* Специальные стили для кнопок */
button {
  background: none;      /* Удаление фона по умолчанию */
  border: none;          /* Удаление границы по умолчанию */
  cursor: pointer;       /* Курсор-указатель при наведении */
}

/* ===== LINKS ===== */
a {
  color: inherit;        /* Наследование цвета от родителя */
  text-decoration: none; /* Удаление подчеркивания */
}

/* ===== LISTS ===== */
ul,
ol {
  list-style: none;     /* Удаление маркеров списков */
}

/* ===== HEADINGS ===== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-bold);  /* Жирный шрифт для заголовков */
  line-height: var(--line-height-tight); /* Плотная высота строки */
}

/* ===== PARAGRAPHS ===== */
/* Нет специальных стилей для параграфов */

/* ===== TABLE ELEMENTS ===== */
/* Сброс стилей таблиц */
table {
  border-collapse: collapse;  /* Объединение границ ячеек */
  border-spacing: 0;          /* Удаление промежутков между ячейками */
}

/* ===== FORM ELEMENTS (CONTINUED) ===== */
/* Дополнительные стили для элементов форм */
fieldset {
  min-width: 0;    /* Предотвращение переполнения */
  border: 0;       /* Удаление границы */
}

legend {
  padding: 0;      /* Удаление отступов */
}

/* ===== DETAILS/SUMMARY ELEMENTS ===== */
/* Стили для элементов details и summary */
details {
  display: block;  /* Блочное отображение */
}

summary {
  display: list-item;  /* Отображение как элемент списка */
}

/* ===== TEMPLATE ELEMENTS ===== */
/* Скрытие template элементов */
template {
  display: none;   /* Скрытие template элементов */
}
