.mobile-menu .sub-menu {
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}

.mobile-menu-drawer {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100vw;
  background: var(--color-header-bg, var(--bg-body, #fff));

  /* ИСПРАВЛЕНО: меню больше не растягивается на всю высоту */
  height: auto;
  max-height: calc(100vh - calc(100% + var(--header-offset, 0px)));

  display: block;
  border-top: 1px solid var(--color-header-border, var(--color-border, #dadce0));
  overflow-x: hidden;
  overflow-y: auto;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1), transform 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
  --color-price: var(--color-header-text);
  --color-body: var(--color-header-links);
  --color-accent: var(--color-header-links);
  --color-accent-rgb: var(--color-header-links-rgb);
}

.mobile-menu-drawer .thb-mobile-menu-contacts ul {
  list-style: none;
  padding: 0 15px;
  margin: 0 0 30px;
}

.mobile-menu-drawer .thb-mobile-menu-contacts ul li a,
.thb-mobile-menu-contacts ul li span {
  font-size: calc(var(--font-navigation-scale, 1) * 15px);
  margin-bottom: 0;
}

@supports (height: 100dvh) {
  .mobile-menu-drawer {
    height: auto;
    max-height: calc(100dvh - calc(100% + var(--header-offset, 0px)));
  }
}

.mobile-menu-drawer.active {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}

.mobile-menu-drawer--inner {
  /* ИСПРАВЛЕНО: убрали min-height: 100%, который тянул меню вниз */
  min-height: 0;
  height: auto;
  position: relative;
  display: block;
}

.mobile-menu-drawer .thb-mobile-menu-footer {
  /* ИСПРАВЛЕНО: убрали margin-top:auto и sticky, чтобы футер не прижимал меню вниз */
  margin-top: 0;
  position: relative;
  bottom: auto;
  left: auto;
  text-align: center;
  border-top: 1px solid var(--color-header-border, var(--color-border, #dadce0));
  background: var(--color-header-bg, var(--bg-body, #fff));
}

.mobile-menu-drawer .thb-mobile-menu-footer .thb-localization-forms {
  text-align: center;
  border-top: 1px solid var(--color-header-border, var(--color-border, #dadce0));
}

.mobile-menu-drawer .thb-mobile-menu-footer .webasyst-localization-form > div {
  margin-left: 0;
  margin-right: 20px;
}

.mobile-menu-drawer .thb-mobile-menu-footer .webasyst-localization-form .select {
  margin-bottom: 0;
  padding-right: 14px;
}

.mobile-menu-drawer .thb-mobile-menu-footer .webasyst-localization-form .select-arrow {
  right: 0;
}

.mobile-menu-drawer .thb-mobile-menu-footer .webasyst-localization-form .select-arrow svg path {
  stroke: var(--color-header-text, --color-body);
}

.mobile-menu-drawer .thb-mobile-menu-footer .webasyst-localization-form select {
  font-size: 0.875rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--color-header-text, --color-body);
}

.mobile-menu-drawer .thb-mobile-menu-footer .thb-mobile-account-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  font-size: 0.8125rem;
  color: var(--color-header-links, --color-accent);
}

.mobile-menu-drawer .thb-mobile-menu-footer .thb-mobile-account-link svg {
  margin-right: 12px;
  height: 14px;
  width: auto;
}

.mobile-menu-drawer .thb-mobile-menu-footer .thb-mobile-account-link svg path {
  fill: var(--color-header-links, --color-accent);
}

[dir="rtl"] .mobile-menu-drawer .thb-mobile-menu-footer .thb-mobile-account-link svg {
  margin-right: 0;
  margin-left: 12px;
}

.no-js .mobile-menu-drawer .thb-mobile-menu-footer .thb-mobile-account-link {
  margin-left: auto;
}

.mobile-menu {
  list-style: none;
  margin: 0 0 20px;
  overflow: hidden;
  width: 100%;
  padding: 0 15px;
}

@media only screen and (min-width: 768px) {
  .mobile-menu {
    padding: 0 50px;
  }
}

.mobile-menu li > a,
.mobile-menu li summary {
  display: flex;
  align-items: center;
  padding: 4px 0;
  min-height: 54px;
  font-size: 1.25rem;
  font-weight: var(--font-body-medium-weight, 500);
  border-top: 1px solid var(--color-header-border, var(--color-border, #dadce0));
  color: var(--color-header-links, --color-accent);
}

.mobile-menu li > a .link-forward,
.mobile-menu li summary .link-forward {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  line-height: 53px;
  width: 40px;
  margin-left: auto;
}

[dir="rtl"] .mobile-menu li > a .link-forward,
[dir="rtl"] .mobile-menu li summary .link-forward {
  margin-left: 0;
  margin-right: auto;
}

.mobile-menu li > a .link-forward svg path,
.mobile-menu li summary .link-forward svg path {
  stroke: var(--color-header-links, --color-accent);
}

[dir="rtl"] .mobile-menu li > a .link-forward svg,
[dir="rtl"] .mobile-menu li summary .link-forward svg {
  transform: rotateZ(180deg);
}

.mobile-menu li:first-child > a,
.mobile-menu li:first-child summary {
  border-top: 0;
}

.mobile-menu li .link-container summary {
  width: 100%;
}

.no-js .mobile-menu li .link-container[open] > .sub-menu {
  transform: translateX(0);
  visibility: visible;
}

.mobile-menu li .link-container[open].menu-opening > .sub-menu {
  transform: translateX(0);
  visibility: visible;
}

.mobile-menu .parent-link-back button {
  width: 100%;
  font-size: 0.875rem;
  height: 50px;
  display: flex;
  align-items: center;
  color: var(--color-header-links, --color-accent);
}

.mobile-menu .parent-link-back button svg {
  margin-right: 10px;
}

.mobile-menu .parent-link-back button svg path {
  stroke: var(--color-header-links, --color-accent);
}

[dir="rtl"] .mobile-menu .parent-link-back button svg {
  transform: rotateZ(180deg);
  margin-right: 0;
  margin-left: 10px;
}

.mobile-menu .mega-menu-promotion {
  padding: 15px 0;
}

.mobile-menu .sub-menu {
  width: 100%;

  /* ИСПРАВЛЕНО: убрали min-height:100%, из-за которого подменю тянулось вниз */
  min-height: 0;
  height: auto;

  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;

  /* ИСПРАВЛЕНО: была некорректная переменная #var */
  background: var(--color-header-bg, var(--bg-body, #fff));

  transform: translateX(100%);
  margin-left: 0;
  list-style: none;
  padding: 0 15px;
  visibility: hidden;
}

[dir="rtl"] .mobile-menu .sub-menu {
  transform: translateX(-100%);
}

@media only screen and (min-width: 768px) {
  .mobile-menu .sub-menu {
    padding: 0 50px;
  }
}

.mobile-menu .sub-menu .sub-menu {
  z-index: 12;
}

.mobile-menu .sub-menu--sidebar {
  position: static;
  height: auto;
  min-height: 0;
  transform: none;
  visibility: visible;
  padding: 0 0 15px;
  border-bottom: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.mobile-menu .mega-menu-sidebar .product-card {
  margin-bottom: 10px;
}

.mobile-menu .mega-menu-sidebar--content-container {
  border-top: 0;
  padding: 0;
}

.mobile-menu-drawer .social-links {
  padding: 0 15px;
  font-size: 0.8125rem;
}

@media only screen and (min-width: 768px) {
  .mobile-menu-drawer .social-links {
    padding: 0 50px;
  }
}

.mobile-menu-drawer .social-links li {
  display: inline-flex;
}

.mobile-menu-drawer .social-links svg path {
  fill: var(--color-header-links, --color-accent);
}

.mobile-secondary-menu {
  list-style: none;
  margin: 0 0 30px;
  font-size: 0.875rem;
  padding: 0 15px;
}

@media only screen and (min-width: 768px) {
  .mobile-secondary-menu {
    padding: 0 50px;
  }
}

.mobile-secondary-menu a {
  display: block;
  font-size: inherit;
  color: var(--color-header-links, --color-accent);
}

.mobile-menu li > a.parent-link-category {
  font-size: 0.875rem;
  padding: 0;
  font-weight: unset;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: end;
  border-top: 0;
  min-height: 50px;
  color: var(--color-header-links, --color-accent);
}

.parent-link-back {
  display: flex;
  align-content: center;
  border-top: 0;
}

.mobile-menu li > a.parent-link-category span svg {
  width: 6px;
  margin-left: 10px;
}

.mobile-menu-drawer--inner .social-links {
  margin: 0 0 20px;
}

.mobile-menu-drawer .marketplaces-links {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  gap: 4px;
  padding: 0 25px;
}

.mobile-menu-drawer .marketplaces-links svg {
  width: 44px;
  height: 44px;
}

.mobile-menu-drawer .marketplaces-links.social-links--has-border {
  padding: 0 15px;
  margin: 0 0 20px;
}