/* ===== Submenu (RTL) — rom-tech ===== */
:root {
	--sm-bg: #ffffff;
	--sm-text: #151515;
	--sm-hover-bg: #eef0fa;
	--sm-accent: #060666;
	--sm-radius: 10px;
	--sm-shadow: 0 12px 32px rgba(15, 25, 40, .16);
	--sm-speed: .22s;
}

/* ---------- Desktop ---------- */
.main_menu ul { list-style: none; margin: 0; padding: 0; }
.main_menu > ul { display: flex; align-items: center; height: 100%; }

.main_menu li { position: relative; }
.main_menu li > a { display: flex; align-items: center; }

/* кнопка-стрелка (создаётся JS) */
.submenu-toggle {
	background: none; border: 0; padding: 0 6px; margin: 0;
	cursor: pointer; color: inherit; line-height: 1;
	display: inline-flex; align-items: center;
}
.submenu-toggle::before {
	content: ""; width: 7px; height: 7px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--sm-speed);
}
.main_menu li.menu-item-has-children { display: flex; align-items: center; }
.main_menu li.is-open > .submenu-toggle::before,
.main_menu li:hover > .submenu-toggle::before {
	transform: rotate(-135deg) translate(-1px, -1px);
}

/* панель подменю */
.main_menu .sub-menu {
	position: absolute; top: 100%; right: 0;
	min-width: 230px; padding: 8px;
	background: var(--sm-bg);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow);
	border-top: 3px solid var(--sm-accent);
	opacity: 0; visibility: hidden;
	transform: translateY(10px);
	transition: opacity var(--sm-speed), transform var(--sm-speed), visibility 0s linear var(--sm-speed);
	z-index: 9999;
    flex-wrap: wrap;
	text-align: right;
}
.main_menu li:hover > .sub-menu,
.main_menu li:focus-within > .sub-menu,
.main_menu li.is-open > .sub-menu {
	opacity: 1; visibility: visible; transform: none;
	transition-delay: 0s;
}
/* "мостик", чтобы подменю не закрывалось при движении мыши */
.main_menu > ul > li > .sub-menu::before {
	content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px;
}

.main_menu .sub-menu li { display: block; width: 100%; }
.main_menu .sub-menu a {
	display: block; padding: 10px 14px;
	color: var(--sm-text); border-radius: 7px;
	white-space: nowrap; font-size: 15px; line-height: 1.3;
	transition: background var(--sm-speed), color var(--sm-speed), padding var(--sm-speed);
}
.main_menu .sub-menu a:hover,
.main_menu .sub-menu a:focus-visible {
	background: var(--sm-hover-bg); color: var(--sm-accent);
	padding-right: 18px;
}

/* setup.js ставит inline height на все .sub-menu — нейтрализуем */
.main_menu .sub-menu { height: auto !important; }

/* 3-й уровень — вылетает влево (RTL) */
.main_menu .sub-menu li.menu-item-has-children { display: flex; align-items: center; }
.main_menu .sub-menu li.menu-item-has-children > a { flex: 1; }
.main_menu .sub-menu .sub-menu {
	top: -8px; right: auto; left: 100%; margin-left: 6px;
	border-top: 0;
}
.main_menu .sub-menu .submenu-toggle::before { transform: rotate(135deg); }

/* ---------- Mobile (аккордеон в .mob-menu-wrap) ---------- */
.mob-menu-wrap ul { list-style: none; margin: 0; padding: 0; }
.mob-menu-wrap li { position: relative; }
.mob-menu-wrap li.menu-item-has-children {
	display: flex; flex-wrap: wrap; align-items: center;
}
.mob-menu-wrap li.menu-item-has-children > a { flex: 1; }
.mob-menu-wrap .submenu-toggle {
	width: 44px; height: 44px; justify-content: center;
	border-right: 1px solid rgba(255,255,255,.15);
}
.mob-menu-wrap .sub-menu {
	flex: 0 0 100%; max-height: 0; overflow: hidden;
	transition: max-height .3s ease;
	padding-right: 14px;
	background: rgba(0,0,0,.06);
}
.mob-menu-wrap li.is-open > .sub-menu { max-height: 1200px; }
.mob-menu-wrap li.is-open > .submenu-toggle::before {
	transform: rotate(-135deg) translate(-1px, -1px);
}

/* Усиление для мобильного меню: перебивает старые стили темы
   (display:none, height:0, position:absolute и т.п. на .sub-menu) */
header .mob-menu-wrap ul.sub-menu {
	display: block; position: static; float: none;
	width: 100%; min-width: 0;
	height: auto !important;   /* перебивает inline height:0 из setup.js */
	max-height: 0; overflow: hidden;
	opacity: 1; visibility: visible; transform: none;
	margin: 0; padding: 0 14px 0 0;
	border: 0; border-radius: 0; box-shadow: none;
	transition: max-height .3s ease;
}
header .mob-menu-wrap li.is-open > ul.sub-menu { max-height: 1200px; }
header .mob-menu-wrap ul.sub-menu li { display: block; width: 100%; }
header .mob-menu-wrap ul.sub-menu a {
	display: block; padding: 12px 16px; white-space: normal;
}

@media (prefers-reduced-motion: reduce) {
	.main_menu .sub-menu, .mob-menu-wrap .sub-menu, .submenu-toggle::before { transition: none; }
}

.main-home-block {
          z-index: -1;
}