.header-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.header-nav a {
	text-decoration: none;
}

.mega-menu-right a {
	text-decoration: none !important;
}

.simple-dropdown a {
	text-decoration: none !important;
}

.header-nav a.activenav {
	color: #fff !important;

}

/* --- ВЕРХНИЙ УРОВЕНЬ МЕНЮ --- */
.top-menu {
	display: flex;
	/* gap: 40px; */
	/* Расстояние между "О Компании" и "Услуги" */
	align-items: center;
}

.nav-item {
	position: relative;

	/* "Мост" для мышки, чтобы меню не пропадало */
}

.nav-link {
	transition: color 0.3s ease;
	position: relative;
	padding-bottom: 8px;
	/* Отступ до линии подчеркивания */

	color: #C09EFF;
	text-align: center;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;


}

/* Линия подчеркивания для главных пунктов */
.nav-link::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	opacity: 0;
	transition: opacity 0.3s ease;
}

/* Ховер на главные пункты */
.nav-item:hover .nav-link {
	color: #ffffff;
}

.nav-item:hover .nav-link::after {
	opacity: 1;
}

/* --- 1. ПРОСТОЕ ВЫПАДАЮЩЕЕ МЕНЮ ("О Компании") --- */
.simple-dropdown {
	position: absolute;
	top: 100%;
	/* left: -15px; */
	/* Выравнивание рамки относительно текста */
	z-index: 150;
	/* Стили рамки по макету */
	border: 2px solid #ffffff;
	border-radius: 15px;
	padding: 20px 30px !important;
	min-width: 175px;

	/* Скрыто по умолчанию */
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.3s ease;

	display: flex;
	flex-direction: column;
	gap: 15px;
	background: var(--main-purple);
}

/* Появление при наведении */
.has-simple-dropdown:hover .simple-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.simple-dropdown a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 22px;
	transition: color 0.2s ease;
}

.simple-dropdown a:hover {
	color: #ffffff;
}

/* --- 2. МЕГА-МЕНЮ ("Услуги") --- */
.mega-menu {
	position: absolute;
	top: 100%;
	left: -15px;

	border: 2px solid #ffffff;
	border-radius: 15px;
	padding: 30px 30px;
	/* min-width: 600px; */
	min-width: 175px;

	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.3s ease;

	display: flex;
	gap: 50px;
	background: var(--main-purple);
}

.has-mega-menu:hover .mega-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Левая колонка мега-меню */
.mega-menu-left {
	min-width: 180px;
}

.category-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.category-item {
	color: rgba(255, 255, 255, 0.7);
	font-size: 22px;
	cursor: pointer;
	transition: color 0.3s ease;

}

.category-item a {
	text-decoration: none;
	color: #ffffff;
}

.category-item:hover,
.category-item.active {
	color: #ffffff;
	font-weight: 500;
}

.category-item .active {
	color: #ffffff;
	font-weight: 500;
}

.simple-dropdown li:hover {
	color: #ffffff;
	font-weight: 500;
    transition: color 0.2s ease;
}



/* Правая колонка мега-меню */
.mega-menu-right {
	flex-grow: 1;
}

.subcategory-list {
	display: none;
	flex-direction: column;
	gap: 12px;
	animation: fadeIn 0.3s ease;
}

.subcategory-list.active {
	display: flex;
}

.subcategory-list a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 20px;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.subcategory-list a:hover {
	color: #ffffff;
	font-weight: 600;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateX(-5px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/** **/
.mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, #8e5bd6, #6d55b8);
	color: white;
	z-index: 9999;
	padding: 40px 20px;
	overflow-y: auto;
	display: none;
	/* скрыто по умолчанию */
}

.mobile-menu__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
	font-size: 28px;
	font-weight: 500;
}

.mobile-menu__close {
	cursor: pointer;
	font-size: 28px;
}

.mobile-menu__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mobile-menu__item {
	font-size: 28px;
	padding: 20px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mobile-menu__item a {
	color: white;
	text-decoration: none;
	width: 100%;
}

.mobile-submenu {
	display: none;
	flex-direction: column;
	padding-left: 20px;
	margin-top: 10px;
}

.mobile-submenu li {
	padding: 12px 0;
	font-size: 24px;
	border-bottom: none;
}

/* Обязательно высокий z-index чтобы уровни меню были поверх всего */
.simple-dropdown,
.mega-menu {
	position: absolute;
	/* уже используется, но дублируем для надёжности */
	z-index: 12000;
	will-change: transform, top, left;
}

/* Мягкая анимация появления (опционально) */
.simple-dropdown,
.mega-menu {
	transition: opacity 0.18s ease, transform 0.18s ease;
	opacity: 0;
	transform: translateY(6px);
	visibility: hidden;
}

.simple-dropdown.visible,
.mega-menu.visible {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}

/* Убрать маркеры и сбросить отступы у всех списков меню */
nav ul,
nav ul li,
.main-nav ul,
.main-nav li,
.top-menu,
.top-menu li,
.mobile-menu__list,
.mobile-menu__item,
.simple-dropdown,
.simple-dropdown li,
.mega-menu,
.mega-menu .category-list,
.mega-menu .category-list li,
.mega-menu .subcategory-list,
.mega-menu .subcategory-list li {
	list-style: none !important;

}
/* ...existing code... */


 /* ===== RESET ONLY FOR MENU ===== */
 .rkv-menu * {
 	box-sizing: border-box;
 	margin: 0;
 	padding: 0;
 }


 /* ===== BURGER BUTTON ===== */


 
 .rkv-burger-btn {
 	display: none;
 }

@media (max-width: 900px) {
		.main-nav {
			display: none;
		}

	.rkv-burger-btn {
		background: none;
		border: none;
		cursor: pointer;
		display: flex;
		flex-direction: column;
		gap: 5px;
		padding: 4px;
	}
}


 .rkv-burger-btn__line {
 	display: block;
 	width: 28px;
 	height: 3px;
 	background: white;
 	border-radius: 2px;
 }

 /* ===== OVERLAY ===== */
 .rkv-overlay {
 	display: none;
 	position: fixed;
 	top: 0;
 	left: 0;
 	width: 100%;
 	height: 100%;
 	background: rgba(0, 0, 0, 0.5);
 	z-index: 9000;
 }

 .rkv-overlay--active {
 	display: block;
 }

 /* ===== MENU PANEL ===== */
 .rkv-menu {
 	position: fixed;
 	top: 0;
 	right: -100%;
 	width: 100%;
 	/* max-width: 480px; */
 	height: 100%;
 	/* background: #7B3FA0; */
 	background: rgba(126, 87, 197, 1);
 	z-index: 9001;
 	transition: right 0.35s ease;
 	overflow: hidden;
 }

 .rkv-menu--open {
 	right: 0;
 }

 /* ===== SCREENS ===== */
 .rkv-screen {
 	position: absolute;
 	top: 0;
 	left: 0;
 	width: 100%;
 	height: 100%;
 	background: rgba(126, 87, 197, 1);
 	display: flex;
 	flex-direction: column;
 	transform: translateX(100%);
 	transition: transform 0.35s ease;
 	overflow-y: auto;
 	-webkit-overflow-scrolling: touch;
	z-index: 999999;
 }

 .rkv-screen--active {
 	transform: translateX(0);
 }

 .rkv-screen::-webkit-scrollbar {
 	width: 3px;
 }

 .rkv-screen::-webkit-scrollbar-track {
 	background: transparent;
 }

 .rkv-screen::-webkit-scrollbar-thumb {
 	background: rgba(255, 255, 255, 0.3);
 	border-radius: 3px;
 }

 /* ===== SCREEN HEADER (main) ===== */
 .rkv-screen__head-main {
 	display: flex;
 	align-items: flex-start;
 	justify-content: space-between;
 	padding: 20px 20px 10px;
 	flex-shrink: 0;
 }

 /* ===== SCREEN HEADER (sub) ===== */
 .rkv-screen__head-sub {
 	display: flex;
 	align-items: center;
 	justify-content: space-between;
 	padding: 18px 20px;
 	flex-shrink: 0;
 }

 /* ===== LOGO INSIDE MENU ===== */
 .rkv-menu-logo {
 	display: flex;
 	align-items: flex-start;
 	gap: 8px;
 }

 .rkv-menu-logo__icon {
 	width: 32px;
 	height: 32px;
 	flex-shrink: 0;
 }

 .rkv-menu-logo__text {
 	display: flex;
 	flex-direction: column;
 }

 .rkv-menu-logo__name {
 	font-size: 22px;
 	font-weight: 700;
 	color: #ffffff;
 	line-height: 1.2;
 }

 .rkv-menu-logo__sub {
 	font-size: 11px;
 	color: rgba(255, 255, 255, 0.8);
 	line-height: 1.3;
 	margin-top: 2px;
 }

 /* ===== BACK BUTTON ===== */
 .rkv-back-btn {
 	display: flex;
 	align-items: center;
 	gap: 20px;
 	background: none;
 	border: none;
 	cursor: pointer;
 	padding: 0;
	color: #FFF;
		font-size: 17px;
		font-style: normal;
		font-weight: 400;
		line-height: 19px;
		/* 111.765% */
 }

 .rkv-back-btn__icon {
 	width: 28px;
 	height: 18px;
 	flex-shrink: 0;
 }

 /* ===== CLOSE BUTTON ===== */
 .rkv-close-btn {
 	background: none;
 	border: none;
 	color: #ffffff;
 	cursor: pointer;
 	padding: 0;
 	display: flex;
 	align-items: center;
 	justify-content: center;
 }

 .rkv-close-btn__icon {
 	width: 24px;
 	height: 24px;
 }

 /* ===== MENU ITEMS WRAPPER ===== */
 .rkv-menu-items {
 	flex: 1;
 	padding: 10px 0;
 }

 /* ===== ACCORDION ===== */
 .rkv-accordion__item {
 	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
 }

 .rkv-accordion__header {
 	display: flex;
 	align-items: center;
 	justify-content: space-between;
 	padding: 22px 20px;
 	cursor: pointer;
 	transition: background 0.2s;
 	-webkit-tap-highlight-color: transparent;
 }

 .rkv-accordion__header:active {
 	background: rgba(255, 255, 255, 0.08);
 }

 .rkv-accordion__title {
	color: #FFF;
	font-size: 25px;
	font-style: normal;
	font-weight: 600;
	line-height: 25px;
	/* 100% */
 }

 .rkv-accordion__arrow {
 	flex-shrink: 0;
 	transition: transform 0.3s ease;
 }

 .rkv-accordion__arrow--rotated {
 	transform: rotate(180deg);
 }

 .rkv-accordion__body {
 	max-height: 0;
 	overflow: hidden;
 	transition: max-height 0.4s ease;
 }

 .rkv-accordion__body--open {
 	max-height: 1200px;
 }

 /* ===== ACCORDION SUB ITEMS ===== */
 .rkv-accordion__sub-item {
 	display: flex;
 	align-items: center;
 	justify-content: space-between;
 	padding: 18px 20px;
 	cursor: pointer;
 	border-top: 1px solid rgba(255, 255, 255, 0.2);
 	transition: background 0.2s;
 	-webkit-tap-highlight-color: transparent;
 }

 .rkv-accordion__sub-item:active {
 	background: rgba(255, 255, 255, 0.1);
 }

 .rkv-accordion__sub-title {
	color: #FFF;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	/* 100% */
 }

 .rkv-accordion__sub-arrow {
 	flex-shrink: 0;
 }

 /* ===== PLAIN MENU ITEM ===== */
 .rkv-menu-item {
 	display: flex;
 	align-items: center;
 	justify-content: space-between;
 	padding: 22px 20px;
 	cursor: pointer;
 	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
 	transition: background 0.2s;
 	-webkit-tap-highlight-color: transparent;
 }

 .rkv-menu-item:first-child {
 	border-top: 1px solid rgba(255, 255, 255, 0.3);
 }

 .rkv-menu-item:active {
 	background: rgba(255, 255, 255, 0.08);
 }

 .rkv-menu-item__title {
 	font-size: 28px;
 	font-weight: 400;
 	color: #ffffff;
 	line-height: 1.2;
 }

 .rkv-menu-item__title--bold {
 	font-weight: 700;
 }

 .rkv-menu-item__title--normal {
	color: #FFF;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	/* 100% */
 }

 .rkv-menu-item__arrow {
 	flex-shrink: 0;
 }

 /* ===== CONTACT BLOCK ===== */
 .rkv-contact {
 	padding: 30px 20px 20px;
 	margin-top: auto;
 	flex-shrink: 0;
 }

 .rkv-contact__phone-btn {
 	display: flex;
 	align-items: center;
 	justify-content: center;
 	gap: 10px;
 	width: 100%;
 	padding: 18px;
	border-radius: 50px;
	background: linear-gradient(180deg, #19D3C5 -155.41%, rgba(25, 211, 197, 0.00) 123.65%);
 	border-radius: 50px;
 	color: #ffffff;
 	font-size: 22px;
 	font-weight: 600;
 	cursor: pointer;
 	text-decoration: none;
 	margin-bottom: 20px;
 	transition: background 0.2s;
box-shadow: 0 -1px 10px 0 rgba(255, 255, 255, 0.30) inset;

		color: #FFF;
		text-align: center;
		font-size: 30px;
		font-style: normal;
		font-weight: 500;
		line-height: 30px;
		/* 100% */
 }

 .rkv-contact__phone-btn:active {
 	background: rgba(255, 255, 255, 0.28);
 }

 .rkv-contact__phone-icon {
 	width: 22px;
 	height: 22px;
 	flex-shrink: 0;
 }

 .rkv-contact__info {
 	display: flex;
 	flex-direction: column;
 	align-items: center;
 	gap: 8px;
 	margin-bottom: 24px;
		margin-top: 30px;
 }

 .rkv-contact__info-item {
 	display: flex;
 	align-items: center;
 	gap: 8px;
	color: #FFF;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 19px;
	/* 111.765% */
 }

 .rkv-contact__info-icon {
 	width: 16px;
 	height: 16px;
 	flex-shrink: 0;
 }

 /* ===== SOCIAL ===== */
 .rkv-social {
 	display: flex;
 	align-items: center;
 	justify-content: center;
 	gap: 14px;
 	margin-bottom: 24px;
 	flex-wrap: wrap;
 }

 .rkv-social__icon {
 	width: 44px;
 	height: 44px;
 	border-radius: 50%;
 	border: 2px solid rgba(255, 255, 255, 0.5);
 	display: flex;
 	align-items: center;
 	justify-content: center;
 	cursor: pointer;
 	transition: border-color 0.2s;
 	flex-shrink: 0;
 }

 .rkv-social__icon:active {
 	border-color: #ffffff;
 }

 .rkv-social__icon svg {
 	width: 22px;
 	height: 22px;
 	fill: #ffffff;
 }

 /* ===== FOOTER ===== */
 .rkv-menu-footer {
 	text-align: center;
 	padding: 0 20px 30px;
 }

 .rkv-menu-footer__copy {
	color: #FFF;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
 	margin-bottom: 4px;
 }

 .rkv-menu-footer__created {
	color: #FFF;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 12px;
	margin-top: 12px;
 }

 .rkv-menu-footer__brand {
 	font-weight: 700;
 	font-size: 15px;
 }