/* Импорт парных шрифтов:
   • Montserrat — для заголовков
   • Roboto    — для основного текста */
/*@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&family=Roboto:wght@400;500&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@500;600&family=Roboto:wght@400;500&display=swap');*/

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap');


body {
    padding: 0;
    margin: 0;
    font-family: 'Roboto', sans-serif;
    color: #333333;
    background-color: #fafafa;
    font-size: 14px;
}

/* Всегда «гарантируем», что все элементы и псевдоэлементы используют box-sizing: border-box */
*, *::before, *::after {
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'IBM Plex Sans';
}

h1 {
    font-size: 2.25rem;      /* 36px */
    line-height: 1.2;
    font-weight: 500;
    margin: 0 0 1rem 0;
    color: #000000;
}
h2 {
    font-size: 2rem;         /* 32px */
    line-height: 1.25;
    font-weight: 500;
    margin: 0 0 0.75rem 0;
    color: #000000;
}
h3 {
    font-size: 1.75rem;      /* 28px */
    line-height: 1.3;
    font-weight: 600;
    margin: 0 0 0.75rem 0;
    color: #000000;
}
h4 {
    font-size: 1.5rem;       /* 24px */
    line-height: 1.35;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: #000000;
}
h5 {
    font-size: 1.25rem;      /* 20px */
    line-height: 1.4;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: #000000;
}
h6 {
    font-size: 1rem;         /* 16px */
    line-height: 1.5;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: #000000;
}

/* Обычный абзац */
p {
    margin: 0 0 1rem 0;
    line-height: 1.6;
    font-weight: 300;
    color: #333333;
}

/* Ссылки */
a {
    color: #00B38F;
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}

/* Списки */
ul, ol {
    margin: 0 0 1rem 1.5rem;
    padding: 0;
    font-size: 1rem;
    line-height: 1.6;
}

/* Кнопки по умолчанию наследуют шрифт */
button, input, select, textarea {
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
}

button {
    border-radius: 5px;
    border: 1px solid;
    cursor: pointer;
    font-size: 12px;
    padding: 5px 10px;
    transition: .3s all;
}
button .material-icons {
    font-size: 16px;
}

button.primary {
    background-color: #329a85;
    color: #ffffff;
}
button.primary:hover {
    background-color: #247565;
}

/* Другие часто используемые элементы */
label {
    font-family: 'Roboto', sans-serif;
    font-size: 0.875rem;     /* 14px */
    font-weight: 500;
    color: #555555;
}

small {
    font-size: 0.75rem;      /* 12px */
    color: #777777;
}

/* Таблицы */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.6;
}
th, td {
    padding: 0.75rem;
    border: 1px solid #e0e0e0;
    text-align: left;
}

.hidden {
    display: none !important;
}

/* Футер, хедер и другие семантические элементы (за явным переопределением) */
header, footer, nav, section, article, aside, main {
    font-family: 'Roboto', sans-serif;
}

/* Приведение изображений к максимуму ширины контейнера */
img {
    max-width: 100%;
    height: auto;
    display: block;
}
