/* Мобильная панель: списки и стрелки остаются внутри её ширины. */
@media (max-width: 991px) {
  .nav__menu #cssmenu #menu-button { display: block; }
  .nav__menu #cssmenu { display: block; width: 100%; }
  .nav__menu #cssmenu ul { width: 100%; max-width: 100%; box-sizing: border-box; }
  .nav__menu #cssmenu > ul { max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
  .nav__menu #cssmenu ul li { position: relative; float: none; width: 100%; height: auto; box-sizing: border-box; }
  .nav__menu #cssmenu ul ul { background: #ebebeb; position: static; left: auto; top: auto; margin: 0; padding: 0; border-radius: 0; }
  .nav__menu #cssmenu ul ul.open { display: block !important; }
  .nav__menu #cssmenu ul li a { display: block; box-sizing: border-box; margin: 0; padding: 12px 20px; line-height: 1.4; overflow-wrap: anywhere; }
  .nav__menu #cssmenu ul li.has-sub > a { padding-right: 52px; }
  .nav__menu #cssmenu ul ul li a { padding-left: 30px; font-size: 15px; }
  .nav__menu #cssmenu ul ul ul li { padding-left: 0; display: block; }
  .nav__menu #cssmenu ul ul ul li a { padding-left: 40px; }
  .nav__menu #cssmenu ul ul ul li:before { display: none; }
  .nav__menu #cssmenu .submenu-button { position: absolute; right: 0; top: 0; width: 44px; height: 44px; z-index: 2; cursor: pointer; }
}

/* Не сдвигать панель вслед за переполнением содержимого узкой страницы. */
@media (max-width: 767px) {
  .nav__menu { left: max(0px, calc(100vw - 270px)); right: auto; width: min(270px, 100vw); }
}

/* Убираем desktop-колонки каталога и дубли старых значков раскрытия. */
@media (max-width: 991px) {
  .nav__menu #cssmenu > ul > li.has-sub > ul > li { width: 100%; max-width: 100%; flex-basis: 100%; }
  .nav__menu #cssmenu li.has-sub > a::before,
  .nav__menu #cssmenu li.has-sub > a::after,
  .nav__menu #cssmenu .submenu-button::before,
  .nav__menu #cssmenu .submenu-button::after { display: none; content: none; }
}
