/**
 * Dr. Yazdani Navigation Widget Styles
 * 
 * Uses BEM naming convention and logical properties for RTL support
 * Extends design system variables for consistency
 * 
 * @package DrYazdani
 * @since 1.0.0
 */

/* ==========================================================================
   Editor placeholder (content_template - no inline styles)
   ========================================================================== */

.dryazdani-navigation__editor-placeholder {
	padding: var(--dryazdani-space-2) var(--dryazdani-space-4);
	color: var(--dryazdani-text-muted);
	font-size: var(--dryazdani-text-xs);
}

/* ==========================================================================
   Navigation Base
   ========================================================================== */

.dryazdani-navigation {
	position: relative;
	background-color: var(--dryazdani-bg-white);
	border-block-end: 1px solid var(--dryazdani-border-light);
	z-index: var(--dryazdani-z-header);
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
	box-shadow: none;
}

.dryazdani-navigation.sticky {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0 !important;
	inset-block-start: 0;
	z-index: 999 !important;
}

/* Add subtle shadow when sticky and scrolled */
.dryazdani-navigation.sticky.is-scrolled {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Apply sticky to Elementor Header Template container */
.elementor-location-header:has(.dryazdani-navigation.sticky),
header.elementor:has(.dryazdani-navigation.sticky) {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 999 !important;
	transition: box-shadow 0.3s ease-in-out;
	backface-visibility: hidden; /* Enable hardware acceleration for smooth rendering */
	-webkit-backface-visibility: hidden;
}

/* Ensure Elementor containers allow sticky positioning */
.elementor-location-header,
.elementor-widget-dryazdani-navigation,
.elementor-widget-dryazdani-navigation .elementor-widget-container {
	overflow: visible !important;
}

.dryazdani-navigation__container {
	max-inline-size: var(--dryazdani-container-2xl);
	margin-inline: auto;
	padding-block: var(--dryazdani-space-5);
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--dryazdani-space-4);
}

/* ==========================================================================
   Logo Section
   ========================================================================== */

.dryazdani-navigation__logo {
	display: flex;
	align-items: center;
}

.dryazdani-navigation__logo-link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	transition: opacity var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__logo-link:hover {
	opacity: 0.8;
}

/* Logo Image */
.dryazdani-navigation__logo-image {
	max-inline-size: 100%;
	block-size: auto;
	display: block;
	object-fit: contain;
}

/* Logo Text */
.dryazdani-navigation__logo-text {
	font-size: var(--dryazdani-text-2xl);
	line-height: var(--dryazdani-leading-tight);
	letter-spacing: var(--dryazdani-tracking-tight);
	color: var(--dryazdani-secondary);
}

.dryazdani-navigation__logo-subtitle {
	font-size: var(--dryazdani-text-xs);
	line-height: var(--dryazdani-leading-none);
	letter-spacing: var(--dryazdani-tracking-widest);
	text-transform: uppercase;
	color: var(--dryazdani-primary);
}

/* ==========================================================================
   Desktop Navigation
   ========================================================================== */

.dryazdani-navigation__desktop {
	display: none;
	align-items: center;
	justify-content: center;
}

/* Wrapper for menus only (centered) */
.dryazdani-navigation__menus-container {
	display: flex;
	align-items: center;
	gap: 0.25rem; /* Default gap, can be overridden by Elementor control */
}

/* Wrapper for language switcher and contact info (right side) */
.dryazdani-navigation__right-section {
	display: none;
	align-items: center;
	gap: var(--dryazdani-space-4);
	justify-content: flex-end;
}

.dryazdani-navigation__menu-wrapper {
	display: flex;
}

.dryazdani-navigation__menu {
	display: flex;
	align-items: center;
	gap: 0.25rem; /* Default gap, controlled by Elementor */
	list-style: none;
	margin: 0;
	padding: 0;
}

.dryazdani-navigation__menu-item {
	padding-block: 0.5rem; /* Default padding, controlled by Elementor */
	padding-inline: 1rem;
	font-size: var(--dryazdani-text-sm);
	letter-spacing: var(--dryazdani-tracking-wide);
	color: var(--dryazdani-secondary);
	text-decoration: none;
	transition: color var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
	border-block-end: 2px solid transparent;
	display: flex;
	align-items: center;
}

.dryazdani-navigation__menu-item:hover {
	color: var(--dryazdani-primary);
}

.dryazdani-navigation__menu li.current-menu-item .dryazdani-navigation__menu-item {
	color: var(--dryazdani-primary) !important;
	border-block-end-color: var(--dryazdani-primary);
}

/* Menu Separator (between main and utility menus) */
.dryazdani-navigation__menu-separator {
	inline-size: 1px;
	block-size: var(--dryazdani-space-6);
	background-color: var(--dryazdani-border-light);
	margin-inline: var(--dryazdani-space-3);
}

/* Utility Menu Styles (lighter color - controlled by Elementor) */
.dryazdani-navigation__menu--utility {
	margin-inline-start: 0;
}

.dryazdani-navigation__menu-item--utility {
	color: var(--dryazdani-text-body);
	border-block-end: none; /* No underline for utility items */
}

.dryazdani-navigation__menu-item--utility:hover {
	color: var(--dryazdani-primary); /* Overridden by Elementor */
}

.dryazdani-navigation__menu--utility li.current-menu-item .dryazdani-navigation__menu-item--utility {
	color: var(--dryazdani-primary); /* Overridden by Elementor */
}

/* ==========================================================================
   Sub-Menu Dropdown Support
   ========================================================================== */

/* Parent menu item with children */
.dryazdani-navigation__menu li.menu-item-has-children {
	position: relative;
}

.dryazdani-navigation__menu li.menu-item-has-children > a {
	display: flex;
	align-items: center;
	gap: var(--dryazdani-space-1);
}

/* Chevron icon for parent items */
.dryazdani-navigation__menu-item__chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 0.85rem;
	block-size: 0.85rem;
	margin-inline-start: var(--dryazdani-space-2);
	transition: transform var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
	color: currentColor;
}

.dryazdani-navigation__menu-item__chevron svg {
	inline-size: 100%;
	block-size: 100%;
}

.dryazdani-navigation__menu li.menu-item-has-children:hover > a .dryazdani-navigation__menu-item .dryazdani-navigation__menu-item__chevron,
.dryazdani-navigation__menu li.menu-item-has-children:focus-within > a .dryazdani-navigation__menu-item .dryazdani-navigation__menu-item__chevron,
.dryazdani-navigation__menu li.menu-item-has-children.open > a .dryazdani-navigation__menu-item .dryazdani-navigation__menu-item__chevron {
	transform: rotate(180deg);
}

/* Sub-menu dropdown - pointy edges per React design */
.dryazdani-navigation__menu .sub-menu {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: 0;
	inline-size: 12rem; /* w-48 from React */
	margin-block-start: var(--dryazdani-space-2);
	padding: 0;
	background-color: var(--dryazdani-bg-white);
	border: 1px solid var(--dryazdani-border-light);
	box-shadow: var(--dryazdani-shadow-xl);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity var(--dryazdani-duration-fast) var(--dryazdani-ease-out),
				visibility var(--dryazdani-duration-fast) var(--dryazdani-ease-out),
				transform var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
	z-index: var(--dryazdani-z-dropdown);
}

.dryazdani-navigation__menu li.menu-item-has-children:hover > .sub-menu,
.dryazdani-navigation__menu li.menu-item-has-children:focus-within > .sub-menu,
.dryazdani-navigation__menu li.menu-item-has-children.open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Sub-menu items */
.dryazdani-navigation__menu .sub-menu li {
	margin: 0;
	padding: 0;
}

.dryazdani-navigation__menu .sub-menu .dryazdani-navigation__menu-item {
	display: block;
	padding-block: var(--dryazdani-space-3);
	padding-inline: var(--dryazdani-space-6);
	font-size: var(--dryazdani-text-sm);
	letter-spacing: var(--dryazdani-tracking-wide);
	color: var(--dryazdani-secondary);
	text-decoration: none;
	border-block-end: none;
	transition: background-color var(--dryazdani-duration-fast) var(--dryazdani-ease-out),
				color var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__menu .sub-menu .dryazdani-navigation__menu-item:hover {
	background-color: var(--dryazdani-bg-light);
	color: var(--dryazdani-primary);
}

.dryazdani-navigation__menu .sub-menu li.current-menu-item .dryazdani-navigation__menu-item {
	color: var(--dryazdani-primary);
	background-color: var(--dryazdani-bg-light);
}

/* Utility menu sub-menus */
.dryazdani-navigation__menu--utility .sub-menu .dryazdani-navigation__menu-item {
	color: var(--dryazdani-secondary);
}

.dryazdani-navigation__menu--utility .sub-menu .dryazdani-navigation__menu-item:hover {
	color: var(--dryazdani-primary);
}

.dryazdani-navigation__menu--utility .sub-menu li.current-menu-item .dryazdani-navigation__menu-item {
	color: var(--dryazdani-primary);
}

/* RTL adjustments for sub-menus */
[dir="rtl"] .dryazdani-navigation__menu .sub-menu {
	inset-inline-start: auto;
	inset-inline-end: 0;
}

/* Mobile sub-menu support */
.dryazdani-navigation__mobile-list li.menu-item-has-children {
	position: relative;
}

.dryazdani-navigation__mobile-list li.menu-item-has-children > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.dryazdani-navigation__mobile-list li.menu-item-has-children > a .dryazdani-navigation__menu-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	inline-size: 100%;
}

.dryazdani-navigation__mobile-list li.menu-item-has-children > a .dryazdani-navigation__menu-item__chevron {
	margin-inline-start: auto;
	transform: rotate(-90deg);
}

.dryazdani-navigation__mobile-list li.menu-item-has-children.open > a .dryazdani-navigation__menu-item__chevron {
	transform: rotate(0deg);
}

.dryazdani-navigation__mobile-list .sub-menu {
	display: none;
	padding-inline-start: var(--dryazdani-space-8);
	margin-block-start: var(--dryazdani-space-2);
	border-block-start: 1px solid var(--dryazdani-border-light);
	padding-block-start: var(--dryazdani-space-2);
}

.dryazdani-navigation__mobile-list li.menu-item-has-children.open > .sub-menu {
	display: block;
}

.dryazdani-navigation__mobile-list .sub-menu li {
	padding-inline: var(--dryazdani-space-6);
}

.dryazdani-navigation__mobile-list .sub-menu a {
	font-size: var(--dryazdani-text-sm);
	color: var(--dryazdani-text-body);
}

.dryazdani-navigation__mobile-list .sub-menu a:hover,
.dryazdani-navigation__mobile-list .sub-menu li.current-menu-item a {
	color: var(--dryazdani-primary);
}

/* Sub-menu focus-visible for accessibility */
.dryazdani-navigation__menu li.menu-item-has-children > a:focus-visible,
.dryazdani-navigation__menu .sub-menu a:focus-visible {
	outline: 2px solid var(--dryazdani-primary);
	outline-offset: 2px;
	border-radius: var(--dryazdani-radius-sm);
}

/* ==========================================================================
   Language Switcher
   ========================================================================== */

.dryazdani-navigation__language-switcher {
	display: flex;
	align-items: center;
	gap: var(--dryazdani-space-2);
	padding-inline: var(--dryazdani-space-3);
}

.dryazdani-navigation__lang-item {
	font-size: var(--dryazdani-text-sm);
	letter-spacing: var(--dryazdani-tracking-wide);
	color: var(--dryazdani-text-body);
	text-decoration: none;
	transition: color var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__lang-item:hover {
	color: var(--dryazdani-primary);
}

.dryazdani-navigation__lang-item.active {
	color: var(--dryazdani-primary);
	font-weight: var(--dryazdani-font-bold);
}

.dryazdani-navigation__lang-separator {
	color: var(--dryazdani-text-light);
	font-size: var(--dryazdani-text-sm);
}

.dryazdani-navigation__lang-notice {
	font-size: var(--dryazdani-text-xs);
	color: var(--dryazdani-text-body);
	font-style: italic;
}

/* Language Flag Images */
.dryazdani-navigation__lang-flag {
	display: inline-block;
	inline-size: 1.5rem; /* 24px default */
	block-size: 1.5rem;
	object-fit: cover;
	border-radius: var(--dryazdani-radius-sm);
	vertical-align: middle;
	transition: opacity var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__lang-item:hover .dryazdani-navigation__lang-flag {
	opacity: 0.8;
}

.dryazdani-navigation__lang-item.active .dryazdani-navigation__lang-flag {
	box-shadow: 0 0 0 2px var(--dryazdani-primary);
}

/* ==========================================================================
   Contact Info
   ========================================================================== */

.dryazdani-navigation__contact {
	display: flex;
	align-items: center;
	gap: var(--dryazdani-space-6);
}

.dryazdani-navigation__contact-item {
	display: flex;
	align-items: center;
	gap: var(--dryazdani-space-2);
	font-size: var(--dryazdani-text-sm);
	color: var(--dryazdani-secondary);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__contact-item:hover {
	color: var(--dryazdani-primary);
}

.dryazdani-navigation__contact-item i,
.dryazdani-navigation__contact-item svg {
	font-size: var(--dryazdani-text-sm);
	inline-size: var(--dryazdani-text-sm);
	block-size: var(--dryazdani-text-sm);
	flex-shrink: 0;
}

.dryazdani-navigation__contact-item span {
	white-space: nowrap;
}

/* ==========================================================================
   Mobile Menu Toggle
   ========================================================================== */

.dryazdani-navigation__mobile-toggle {
	display: flex;
	padding: var(--dryazdani-space-2);
	background: none;
	border: none;
	cursor: pointer;
	transition: opacity var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__mobile-toggle:hover {
	opacity: 0.7;
}

.dryazdani-navigation__hamburger {
	display: flex;
	flex-direction: column;
	gap: var(--dryazdani-space-1);
	inline-size: var(--dryazdani-space-6);
}

.dryazdani-navigation__hamburger-line {
	block-size: 2px;
	inline-size: 100%;
	background-color: var(--dryazdani-secondary);
	transition: var(--dryazdani-transition-normal);
}

.dryazdani-navigation__mobile-toggle.active .dryazdani-navigation__hamburger-line:nth-child(1) {
	transform: rotate(45deg) translate(var(--dryazdani-space-2), var(--dryazdani-space-2));
}

.dryazdani-navigation__mobile-toggle.active .dryazdani-navigation__hamburger-line:nth-child(2) {
	opacity: 0;
}

.dryazdani-navigation__mobile-toggle.active .dryazdani-navigation__hamburger-line:nth-child(3) {
	transform: rotate(-45deg) translate(var(--dryazdani-space-2), calc(-1 * var(--dryazdani-space-2)));
}

/* ==========================================================================
   Mobile Menu
   ========================================================================== */

.dryazdani-navigation__mobile-menu {
	display: none;
	padding-block: var(--dryazdani-space-6);
	border-block-start: 1px solid var(--dryazdani-border-light);
}

.dryazdani-navigation__mobile-menu.active {
	display: block;
}

.dryazdani-navigation__mobile-list {
	display: flex;
	flex-direction: column;
	gap: var(--dryazdani-space-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

.dryazdani-navigation__mobile-list li {
	padding-inline: var(--dryazdani-space-6);
}

.dryazdani-navigation__mobile-list a {
	font-size: var(--dryazdani-text-base);
	color: var(--dryazdani-secondary);
	text-decoration: none;
	transition: color var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__mobile-list a:hover,
.dryazdani-navigation__mobile-list li.current-menu-item a {
	color: var(--dryazdani-primary);
}

/* Mobile Language Switcher */
.dryazdani-navigation__mobile-languages {
	display: flex;
	gap: var(--dryazdani-space-4);
	padding-block-start: var(--dryazdani-space-4);
	padding-inline: var(--dryazdani-space-6);
	margin-block-start: var(--dryazdani-space-4);
	border-block-start: 1px solid var(--dryazdani-border-light);
}

.dryazdani-navigation__mobile-lang-item {
	font-size: var(--dryazdani-text-sm);
	color: var(--dryazdani-text-body);
	text-decoration: none;
	transition: color var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__mobile-lang-item:hover,
.dryazdani-navigation__mobile-lang-item.active {
	color: var(--dryazdani-primary);
	font-weight: var(--dryazdani-font-bold);
}

.dryazdani-navigation__mobile-lang-item .dryazdani-navigation__lang-flag {
	display: inline-block;
	inline-size: 1.5rem;
	block-size: 1.5rem;
	object-fit: cover;
	border-radius: var(--dryazdani-radius-sm);
	vertical-align: middle;
}

.dryazdani-navigation__mobile-lang-item.active .dryazdani-navigation__lang-flag {
	box-shadow: 0 0 0 2px var(--dryazdani-primary);
}

/* Mobile Contact Info */
.dryazdani-navigation__mobile-contact {
	display: flex;
	flex-direction: column;
	gap: var(--dryazdani-space-3);
	padding-block-start: var(--dryazdani-space-4);
	padding-inline: var(--dryazdani-space-6);
	margin-block-start: var(--dryazdani-space-4);
	border-block-start: 1px solid var(--dryazdani-border-light);
}

.dryazdani-navigation__mobile-contact-item {
	display: flex;
	align-items: center;
	gap: var(--dryazdani-space-2);
	font-size: var(--dryazdani-text-sm);
	color: var(--dryazdani-secondary);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--dryazdani-duration-fast) var(--dryazdani-ease-out);
}

.dryazdani-navigation__mobile-contact-item:hover {
	color: var(--dryazdani-primary);
}

.dryazdani-navigation__mobile-contact-item i,
.dryazdani-navigation__mobile-contact-item svg {
	font-size: var(--dryazdani-text-sm);
	inline-size: var(--dryazdani-text-sm);
	block-size: var(--dryazdani-text-sm);
	flex-shrink: 0;
}

/* ==========================================================================
   Responsive: Desktop (1024px and up)
   ========================================================================== */

@media (min-width: 1024px) {
	.dryazdani-navigation__desktop {
		display: flex;
	}

	.dryazdani-navigation__right-section {
		display: flex;
	}

	.dryazdani-navigation__mobile-toggle {
		display: none;
	}

	.dryazdani-navigation__mobile-menu {
		display: none !important;
	}
}

/* ==========================================================================
   Responsive: Large Desktop (1280px and up)
   ========================================================================== */

@media (min-width: 1280px) {
	/* Contact info is already visible via .dryazdani-navigation__right-section */
}

/* ==========================================================================
   RTL Support
   ========================================================================== */

.dryazdani-navigation.rtl .dryazdani-navigation__menu {
	direction: rtl;
}

.dryazdani-navigation.rtl .dryazdani-navigation__logo-subtitle {
	text-align: end;
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

.dryazdani-navigation__mobile-toggle:focus-visible {
	outline: 2px solid var(--dryazdani-primary);
	outline-offset: 2px;
	border-radius: var(--dryazdani-radius-sm);
}

.dryazdani-navigation__menu-item:focus-visible,
.dryazdani-navigation__lang-item:focus-visible,
.dryazdani-navigation__contact-item:focus-visible,
.dryazdani-navigation__mobile-list a:focus-visible,
.dryazdani-navigation__mobile-lang-item:focus-visible,
.dryazdani-navigation__mobile-contact-item:focus-visible {
	outline: 2px solid var(--dryazdani-primary);
	outline-offset: 2px;
	border-radius: var(--dryazdani-radius-sm);
}

/* ==========================================================================
   Reduced Motion Support
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.dryazdani-navigation__logo-link,
	.dryazdani-navigation__menu-item,
	.dryazdani-navigation__lang-item,
	.dryazdani-navigation__contact-item,
	.dryazdani-navigation__mobile-toggle,
	.dryazdani-navigation__hamburger-line,
	.dryazdani-navigation__mobile-list a,
	.dryazdani-navigation__mobile-lang-item,
	.dryazdani-navigation__mobile-contact-item {
		transition: none;
	}

	.dryazdani-navigation__menu-item__chevron {
		transition: none;
	}

	.dryazdani-navigation__menu .sub-menu {
		transition: none;
	}

	.dryazdani-navigation__menu .sub-menu .dryazdani-navigation__menu-item {
		transition: none;
	}
}

/* Body scroll lock when mobile menu is open (no inline styles) */
body.dryazdani-navigation-mobile-open {
	overflow: hidden;
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
	.dryazdani-navigation__mobile-toggle,
	.dryazdani-navigation__mobile-menu {
		display: none !important;
	}
}
