/**
 * Mobile Menu Close Button Fix
 * Исправление кнопки закрытия мобильного меню
 */

[data-mobile-menu-close] {
  cursor: pointer !important;
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 99999 !important;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
  padding: 4px !important;
}

[data-mobile-menu-close]:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  opacity: 1 !important;
}

[data-mobile-menu-close]:active {
  background: rgba(255, 255, 255, 0.2) !important;
  transform: scale(0.95) !important;
}

[data-mobile-menu-close] svg {
  width: 20px !important;
  height: 20px !important;
}

/* SVG и все его дочерние элементы НЕ должны перехватывать клики */
[data-mobile-menu-close] svg,
[data-mobile-menu-close] svg *,
[data-mobile-menu-close] path,
[data-mobile-menu-close] g {
  pointer-events: none !important;
}

/* Мобильное меню должно быть ниже кнопки закрытия */
.mobile-menu__inner {
  position: relative;
}

.mobile-menu__header {
  margin-top: 60px; /* Отступ для кнопки закрытия */
}

/* Предотвращение случайных кликов */
.mobile-menu__registerTitle {
  pointer-events: auto;
}

.mobile-menu__register {
  pointer-events: auto;
}

.mobile-menu__content {
  pointer-events: auto;
}

/* Правильное открытие/закрытие меню */
.mobile-menu {
  position: fixed !important;
  top: 0 !important;
  right: -100% !important;
  width: 100% !important;
  max-width: 400px !important;
  height: 100vh !important;
  background: #1a1f3a !important;
  transition: right 0.3s ease !important;
  z-index: 9999 !important;
  transform: translateX(0) !important;
}

.mobile-menu.mobile-menu--active {
  right: 0 !important;
  transform: translateX(0) !important;
}

/* Гарантируем что меню закрыто когда нет активного класса */
.mobile-menu:not(.mobile-menu--active) {
  right: -100% !important;
  transform: translateX(100%) !important;
}

.app__backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.5) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
  z-index: 9998 !important;
  pointer-events: none !important;
}

.app__backdrop.app__backdrop--active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.menu-open {
  overflow: hidden !important;
}

/* Дополнительная проверка - если меню не имеет активного класса */
body:not(.menu-open) .mobile-menu {
  right: -100% !important;
  transform: translateX(100%) !important;
}
