html, body {
    overflow-x: hidden;
    width: 100%;
}

/* Базовый стек системных шрифтов */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;          /* базовый размер */
  line-height: 1.6;         /* комфортная читаемость */
  color: #333;              /* основной текст серый */
  background-color: #fff;   /* светлый фон */
  margin: 0;
  padding: 0;
}

/* Заголовки */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;         /* жирные заголовки */
  line-height: 1.3;
  font-size: 1rem;
  margin: 1em 0 0.5em;
  color: #2e7d32;           /* зелёный акцент */
}

h1 {
  font-size: 1.4rem;
}
h2 {
  font-size: 1.2rem;
}
h3 {
  font-size: 1.1rem;
}

/* Основной текст */
p {
  margin: 0 0 1em;
}

/* Ссылки */
a {
    text-decoration: none; /* убираем подчеркивание */
}
a:hover {
    text-decoration: none; /* чтобы при наведении не возвращалось */
}

a {
  color: #2e7d32;           /* зелёный акцент */
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #1b5e20;           /* более тёмный зелёный при наведении */
  text-decoration: underline;
}

/* Кнопки */
button, .btn {
  font-family: inherit;
  font-size: 1rem;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  background: #2e7d32;
  color: #fff;
  cursor: pointer;
  transition: background 0.3s ease;
}

button:hover, .btn:hover {
  background: #1b5e20;
}


/* ===== Контентная область (адаптивные отступы) ===== */
#container,
.site-content,
main#content {
    max-width: var(--megamenu-max-width, 1200px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    box-sizing: border-box;
}

/* Улучшение читаемости текста */
main#content p,
main#content li,
main#content .entry-content p {
    max-width: 75ch; /* оптимальная длина строки для чтения */
}

/* Адаптивные изображения */
main#content img,
main#content iframe,
main#content video {
    max-width: 100%;
    height: auto;
}

/* Планшеты (от 768px) */
@media (min-width: 768px) {
    #container,
    .site-content,
    main#content {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Десктопы (от 1024px) – можно оставить те же отступы, но при желании увеличить */
@media (min-width: 1024px) {
    #container,
    .site-content,
    main#content {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Для очень широких экранов (от 1400px) – центрирование с ограничением */
@media (min-width: 1400px) {
    #container,
    .site-content,
    main#content {
        max-width: calc(var(--megamenu-max-width, 1200px) + 4rem);
    }
}

/* Для контента, который должен быть на всю ширину */
.alignfull {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    position: relative;
}

/* Центрируем содержимое внутри полноширинного блока */
.alignfull > .alignfull-inner,
.alignfull .wp-block-group__inner-container {
    max-width: var(--megamenu-max-width, 1200px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

/* Адаптация для мобильных */
@media (max-width: 768px) {
    .alignfull {
        width: 100vw;
        margin-left: calc(50% - 50vw);
    }
}