/**
 * Seniorenwohnkompass - Navbar Styles
 * Shared across all templates
 * Mockup: Node 1hpVe
 * WCAG 2.1 AA | Senior-Friendly
 */

/* ========================================
   1. NAVBAR CONTAINER
======================================== */

.swk-navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 80px;
	background: #FFFFFF;
	-webkit-tap-highlight-color: transparent;
	border-bottom: 1px solid #D8CFC1;
	position: relative;
	z-index: 100;
}

.swk-navbar *,
.swk-navbar *::before,
.swk-navbar *::after {
	-webkit-tap-highlight-color: transparent;
}

/* ========================================
   2. LOGO
======================================== */

.swk-navbar-logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	font-size: 22px;
	color: #2C1A0E;
	text-decoration: none;
	line-height: 1;
	white-space: nowrap;
	transition: color 200ms ease-out;
}

.swk-logo-icon {
	flex-shrink: 0;
}

.swk-logo-light {
	font-weight: 400;
}

.swk-logo-bold {
	font-weight: 700;
}

@media (hover: hover) {
	.swk-navbar a.swk-navbar-logo:hover {
		color: #D8704F !important;
		background: transparent !important;
	}
}

/* ========================================
   3. NAV LINKS
======================================== */

.swk-navbar-nav {
	display: flex;
	align-items: center;
	gap: 32px;
}

.swk-navbar-link {
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #4A4743 !important;
	text-decoration: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 12px 8px;
	min-height: 48px;
	display: flex;
	align-items: center;
	line-height: 1;
	transition: color 200ms ease-out;
}

@media (hover: hover) {
	.swk-navbar .swk-navbar-link:hover,
	.swk-navbar a.swk-navbar-link:hover,
	.swk-navbar button.swk-navbar-link:hover {
		color: #D8704F !important;
		background: none !important;
		background-color: transparent !important;
		box-shadow: none !important;
		border-color: transparent !important;
	}
}

/* ========================================
   4. DROPDOWN
======================================== */

.swk-navbar-dropdown {
	position: relative;
}

.swk-navbar-dropdown-toggle {
	display: flex;
	align-items: center;
	gap: 6px;
	background: none;
}

.swk-navbar-chevron {
	transition: transform 200ms ease-out;
}

.swk-navbar-dropdown-toggle[aria-expanded="true"] .swk-navbar-chevron {
	transform: rotate(180deg);
}

.swk-navbar-dropdown-menu {
	display: none;
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%);
	background: #FFFFFF;
	border: 1px solid #D8CFC1;
	border-radius: 12px;
	padding: 8px 0;
	min-width: 320px;
	box-shadow: 0 10px 25px rgba(42, 36, 32, 0.12);
	list-style: none;
	margin: 0;
	z-index: 200;
}

.swk-navbar-dropdown-menu[data-open="true"] {
	display: block;
}

.swk-navbar-dropdown-item {
	display: block;
	padding: 12px 24px;
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #4A4743;
	text-decoration: none;
	transition: background 200ms ease-out, color 200ms ease-out;
}

@media (hover: hover) {
	.swk-navbar .swk-navbar-dropdown-item:hover {
		background: #F5EDE3;
		color: #2C1A0E;
	}
}

.swk-navbar .swk-navbar-dropdown-item:focus {
	background: #F5EDE3;
	color: #2C1A0E;
}

/* ========================================
   5. SEARCH ICON
======================================== */

.swk-navbar-search {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #4A4743;
	text-decoration: none;
	min-width: 48px;
	min-height: 48px;
	transition: color 200ms ease-out;
}

@media (hover: hover) {
	.swk-navbar .swk-navbar-search:hover {
		color: #D8704F !important;
		background: transparent !important;
	}
}

/* ========================================
   6. MOBILE TOGGLE (hidden on desktop)
======================================== */

.swk-navbar-mobile-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	background: none;
	border: none;
	color: #4A4743;
	cursor: pointer;
	padding: 0;
}

/* ========================================
   7. MOBILE MENU
======================================== */

.swk-navbar-mobile-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #FFFFFF;
	border-bottom: 1px solid #D8CFC1;
	padding: 16px 24px 24px;
	box-shadow: 0 10px 25px rgba(42, 36, 32, 0.12);
	z-index: 200;
}

.swk-navbar-mobile-menu[hidden] {
	display: none;
}

.swk-navbar-mobile-section {
	display: flex;
	flex-direction: column;
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid #D8CFC1;
}

.swk-navbar-mobile-heading {
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #D8704F;
	text-transform: none;
	letter-spacing: 0;
	padding: 8px 0;
}

.swk-navbar-mobile-link {
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #4A4743;
	text-decoration: none;
	padding: 12px 0;
	display: block;
	min-height: 48px;
	display: flex;
	align-items: center;
}

@media (hover: hover) {
	.swk-navbar .swk-navbar-mobile-link:hover {
		color: #D8704F !important;
	}
}

/* ========================================
   8. RESPONSIVE
======================================== */

/* Tablet */
@media (max-width: 1024px) {
	.swk-navbar {
		padding: 16px 32px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.swk-navbar {
		padding: 12px 16px;
	}

	.swk-navbar-logo {
		font-size: 18px;
	}

	/* Hide desktop nav items */
	.swk-navbar-dropdown,
	.swk-navbar-link:not(.swk-navbar-dropdown-toggle),
	.swk-navbar-search {
		display: none;
	}

	/* Show mobile toggle */
	.swk-navbar-mobile-toggle {
		display: flex;
	}
}

/* ========================================
   9. ACCESSIBILITY
======================================== */

.swk-navbar *:focus-visible {
	outline: 3px solid #2C1A0E;
	outline-offset: 3px;
	border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.swk-navbar *,
	.swk-navbar *::before,
	.swk-navbar *::after {
		transition-duration: 0.01ms !important;
	}
}
