/* reset.css — Оптимизированный и чистый сброс
 * Основано на предпочтениях: 16px, sans-serif, 2rem для h1 и т.д.
 * Подключается первым — должен переопределяться последующими стилями
 */
 /**
 * font-size: calc(10px + (18 - 16) * (100vw - 320px) / (1200 - 320)); нельзя 10px т.к. яндекс ругается на слишком мелкий текст
 * 17/11/25 с 10px поменял на 11px
 */

/* === Сброс и box-sizing === */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
:root {
  /* Contrast Ratio к белому CRW и к черному CRB */
  --elab--max--width: 1920px;
  --elab--font--size: 16px;
}
@media (max-width: 1952px) {
  section,
  .desktop-header-top,
  .term-description
  {
    padding: 0 16px;
  }
  section.intro-video{
    padding:0;
  }
}
form#searchform{
  max-width: 800px;
  margin: 0 auto;
}
/* === Глобальные стили === */
html,
body,
button,
input,
select,
textarea,
button[type="submit"],
a.button-2025,
.button {
  font-family: sans-serif;
  font-weight: 400;
  font-size: 16px; /* 1rem = 16px */
  line-height: 1.2 !important;
}
/* === Body — читаемость и центрирование === */
body {
  font-size: 16px;
  background: #fff;
  color: black;
  margin: 0 auto;
  padding: 0;
  max-width: var(--elab--max--width);
  margin-top: 16px;
}
.desktop-header-top{
  max-width: var(--elab--max--width);
}
#main,
section,
footer
 {
  max-width: var(--elab--max--width);
  margin: 0 auto;
}
a {
  color: black;
  outline: none;
}
/* === Адаптивная типографика === */
/* h1 — адаптивный: не слишком большой на мобилках */
/*header,*/
section
{
  margin-bottom: 3rem; /* 48px - 3 строки */
}
section.elab-solutions{
  max-width: 1200px;
  margin: 0 auto;
}
h1, h2{
  margin-bottom: 2rem; /* 32px - 2 строки */
}
h1 {
  font-size: clamp(1rem, 4vw, 2rem);
  font-weight: 700;
  line-height: 1.6;
}
h2 {
  font-size: clamp(1rem, 4vw, 1.5rem);
  font-weight: 600;
}

h3 {
  font-size: clamp(1rem, 4vw, 1.3rem);
  font-weight: 600;
}

h4 {
  font-size: clamp(1rem, 4vw, 1.25rem);
  font-weight: 600;
}

h5 {
  font-size: clamp(1rem, 4vw, 1.125rem);
  font-weight: 600;
}

h6 {
  font-size: 1rem;
  font-weight: 600;
}

p {
  margin-bottom: 0.5rem;
}

small,
.text-small {
  font-size: clamp(12px, calc(11px + (18px - 10px) * (100vw - 320px) / (1200px - 320px)), 16px);
}

blockquote {
  font-size: clamp(12px, calc(11px + (18px - 10px) * (100vw - 320px) / (1200px - 320px)), 16px);
  line-height: 1.4;
}

code,
pre {
  font-family: "Courier New", Consolas, monospace;
  font-size: clamp(12px, calc(11px + (18px - 10px) * (100vw - 320px) / (1200px - 320px)), 16px);
  border-radius: 4px;
  padding: 0.2em 0.4em;
}

pre {
  padding: 1em;
  overflow-x: auto;
  white-space: pre-wrap;
  line-height: 1.4;
}

/* === Формы === */
button,
input,
select,
textarea {
  font-family: sans-serif;
  font-size: 100%; /* Наследует 16px */
  margin: 0;
  vertical-align: baseline;
  line-height: 1.6;
}

button,
button[type="submit"],
a.button-2025,
.button {
  font-size: 1rem;
  padding: 0.5em 1em;
  cursor: pointer;
}

/* === Кастомные классы (скрытие и пр.) === */
.bm-icon,
.header-logo-text,
.p-c-arrow {
  display: none;
}

.tooltip-wrapper {
  opacity: 0;
}
ul,
ol
{
  list-style-type: none;
  margin-left: clamp(0.8rem, 4vw, 1.2rem);
  font-size: clamp(14px, calc(13px + (18px - 12px) * (100vw - 320px) / (1200px - 320px)), 16px);
}
p {
  font-size: clamp(14px, calc(13px + (18px - 12px) * (100vw - 320px) / (1200px - 320px)), 16px);
}
.content ul,
.content ol
{
  margin-bottom: 20px;
  font-size: 1.1rem;
  line-height: 1.8;
}
.akcent {
  font-size: clamp(12px, calc(11px + (18px - 10px) * (100vw - 320px) / (1200px - 320px)), 16px);
}
.btn-indi{
  font-size: clamp(12px, calc(11px + (18px - 10px) * (100vw - 320px) / (1200px - 320px)), 16px);
}
footer {
  font-size: clamp(14px, calc(13px + (18px - 12px) * (100vw - 320px) / (1200px - 320px)), 16px);
}
