/* Мобильное меню и центрирование содержимого hero. */

@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .page,
  .hero,
  .hero__content,
  .hero__body,
  .hero__copy {
    max-width: 100%;
  }

  .hero {
    overflow-x: clip;
  }

  /* Центрирование содержимого hero. */
  .hero .hero__content,
  .hero .hero__body,
  .hero .hero__copy,
  .hero .hero__text {
    margin-inline: auto !important;
    text-align: center !important;
  }

  .hero .hero__content,
  .hero .hero__body {
    justify-items: center !important;
    align-items: center !important;
  }

  .hero .hero__title,
  .hero .hero__lead,
  .hero .hero__description,
  .hero .hero__text p {
    margin-inline: auto !important;
    text-align: center !important;
  }

  .hero .hero__actions,
  .hero .hero__buttons,
  .hero .hero__cta {
    justify-content: center !important;
    margin-inline: auto !important;
  }

  .hero .hero__media,
  .hero .hero__image,
  .hero .hero__visual {
    justify-self: center !important;
    margin-inline: auto !important;
  }

  /* Кнопка меню поверх раскрытой навигации. */
  .hero .hero__menu-toggle,
  .hero .menu-toggle,
  .hero [aria-expanded] {
    position: relative;
    z-index: 110;
  }

  /*
    Стили активного меню.
    Класс .mobile-hero-menu-open ставит подключённый JS.
  */
  .hero.mobile-hero-menu-open .hero__nav,
  .hero.mobile-hero-menu-open nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 12px !important;
    border-radius: 26px !important;
    background: #fffaf3 !important;
    box-shadow: 0 16px 34px rgba(97, 49, 16, 0.18) !important;
  }

  .hero.mobile-hero-menu-open .hero__nav-links,
  .hero.mobile-hero-menu-open .hero__menu,
  .hero.mobile-hero-menu-open .hero__menu-list,
  .hero.mobile-hero-menu-open nav ul,
  .hero.mobile-hero-menu-open nav ol {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .hero.mobile-hero-menu-open .hero__nav a,
  .hero.mobile-hero-menu-open .hero__nav-links a,
  .hero.mobile-hero-menu-open .hero__menu a,
  .hero.mobile-hero-menu-open nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 16px !important;
    box-sizing: border-box !important;
    border-radius: 15px !important;
    color: #5a351f !important;
    background: transparent !important;
    font-weight: 800 !important;
    text-align: center !important;
  }

  .hero.mobile-hero-menu-open .hero__nav a[aria-current="page"],
  .hero.mobile-hero-menu-open .hero__nav a.active,
  .hero.mobile-hero-menu-open .hero__nav a.is-active,
  .hero.mobile-hero-menu-open .hero__nav-links a[aria-current="page"],
  .hero.mobile-hero-menu-open .hero__nav-links a.active,
  .hero.mobile-hero-menu-open .hero__nav-links a.is-active,
  .hero.mobile-hero-menu-open .hero__menu a[aria-current="page"],
  .hero.mobile-hero-menu-open .hero__menu a.active,
  .hero.mobile-hero-menu-open .hero__menu a.is-active,
  .hero.mobile-hero-menu-open nav a[aria-current="page"],
  .hero.mobile-hero-menu-open nav a.active,
  .hero.mobile-hero-menu-open nav a.is-active {
    color: #ff5a0a !important;
    background: #ffffff !important;
  }

  .hero.mobile-hero-menu-open .hero__nav a:hover,
  .hero.mobile-hero-menu-open .hero__nav a:focus-visible,
  .hero.mobile-hero-menu-open .hero__nav-links a:hover,
  .hero.mobile-hero-menu-open .hero__nav-links a:focus-visible,
  .hero.mobile-hero-menu-open .hero__menu a:hover,
  .hero.mobile-hero-menu-open .hero__menu a:focus-visible,
  .hero.mobile-hero-menu-open nav a:hover,
  .hero.mobile-hero-menu-open nav a:focus-visible {
    color: #ff5a0a !important;
    background: #ffffff !important;
    outline: none !important;
  }
}

@supports not (overflow: clip) {
  @media (max-width: 760px) {
    html,
    body {
      overflow-x: hidden;
    }
  }
}
