/**
 * Page Navigation Widget Styles
 * Based on training.html sub-nav design
 *
 * @package zakra-child
 */

/* Remove Elementor default padding from column wrapper */
.elementor-element-populated:has(.elementor-widget-page-navigation) {
	padding: 0 !important;
}

/* Make sure parent sections allow sticky positioning */
.elementor-widget-page-navigation {
	position: static !important;
}

.elementor-section:has(.elementor-widget-page-navigation) {
	position: static !important;
	overflow: visible !important;
}

/* Base styles */
.page-navigation-wrapper {
	width: 100%;
	background: white;
	border-bottom: 1px solid var(--grey-200, #E2E8F0);
	box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

/* Sticky state - activated by JavaScript on scroll */
.page-navigation-wrapper.is-sticky {
	position: fixed;
	top: 111px;
	left: 0;
	right: 0;
	z-index: 900;
}

.page-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	overflow-x: auto;
	gap: 3rem;
}

.page-nav-item {
	margin: 0;
	padding: 0;
}

.page-nav-item .page-nav-link {
	display: block;
	padding: 1.25rem 0;
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #64748B;
	border-bottom: 3px solid transparent;
	white-space: nowrap;
	text-decoration: none;
	transition: all 0.3s ease;
}

.page-nav-item .page-nav-link:hover,
.page-nav-item .page-nav-link.active {
	color: var(--brand-red, #ca2030);
	border-bottom-color: var(--brand-red, #ca2030);
	text-decoration: none;
}

/* Horizontal orientation (default) */
.page-nav-horizontal .page-nav-list {
	flex-direction: row;
}

/* Vertical orientation */
.page-nav-vertical .page-nav-list {
	flex-direction: column;
	gap: 0;
	overflow-x: visible;
}

.page-nav-vertical .page-nav-link {
	padding: 0.75rem 1.5rem;
	border-bottom: none;
	border-left: 3px solid transparent;
}

.page-nav-vertical .page-nav-link:hover,
.page-nav-vertical .page-nav-link.active {
	border-bottom-color: transparent;
	border-left-color: var(--brand-red, #ca2030);
}

/* Responsive */
@media (max-width: 768px) {
	.page-nav-list {
		gap: 2rem;
		/* Hide scrollbar */
		scrollbar-width: none; /* Firefox */
		-ms-overflow-style: none; /* IE and Edge */
	}

	.page-nav-list::-webkit-scrollbar {
		display: none; /* Chrome, Safari, Opera */
	}

	.page-nav-link {
		font-size: 0.85rem;
		padding: 1rem 0;
	}

	.page-navigation-wrapper.is-sticky {
		top: 80px;
	}
}

@media (max-width: 480px) {
	.page-nav-list {
		gap: 1.5rem;
	}

	.page-nav-link {
		font-size: 0.8rem;
	}
}

/* Добавить ко всем элементам, которые являются якорями */
[id] {
	scroll-margin-top: 130px;
}