/* -------------------------------------------------
   Royal Addons / Elementor Header & Footer Styling
   Empfohlene CSS-Klassen im Elementor Builder:
   - Header Section: haried-site-header
   - Header Nav Widget oder Wrapper: haried-main-nav
   - CTA Button: haried-nav-cta
   - Footer Section: haried-site-footer
-------------------------------------------------- */

.haried-site-header,
.haried-site-header.elementor-section,
.haried-site-header .elementor-container {
	position: relative;
}

.haried-site-header {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(0, 10, 51, 0.08);
	box-shadow: 0 10px 30px rgba(0, 10, 51, 0.05);
	z-index: 50;
}

.haried-site-header .elementor-container {
	min-height: 92px;
	align-items: center;
}

.haried-site-header .elementor-widget-image img,
.haried-site-header .custom-logo {
	max-height: 56px;
	width: auto;
	border-radius: 0;
}

.haried-site-header .elementor-nav-menu--main .elementor-item,
.haried-site-header .wpr-nav-menu-wrap .wpr-menu-item,
.haried-site-header .wpr-mobile-menu-item {
	position: relative;
	padding: 0.85rem 1rem;
	color: var(--haried-color-primary);
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	transition: color var(--haried-transition), opacity var(--haried-transition);
}

.haried-site-header .elementor-nav-menu--main .elementor-item::after,
.haried-site-header .wpr-nav-menu-wrap .wpr-menu-item::after {
	content: "";
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 0.4rem;
	height: 2px;
	transform: scaleX(0);
	transform-origin: left;
	background: linear-gradient(90deg, var(--haried-color-primary), var(--haried-color-accent));
	transition: transform var(--haried-transition);
}

.haried-site-header .elementor-nav-menu--main .elementor-item:hover::after,
.haried-site-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.haried-site-header .wpr-nav-menu-wrap .wpr-menu-item:hover::after,
.haried-site-header .wpr-nav-menu-wrap .current-menu-item > .wpr-menu-item::after {
	transform: scaleX(1);
}

.haried-site-header .elementor-nav-menu--dropdown,
.haried-site-header .sub-menu,
.haried-site-header .wpr-sub-menu {
	padding: 0.7rem;
	border-radius: 18px;
	border: 1px solid rgba(0, 10, 51, 0.08);
	box-shadow: var(--haried-shadow-card);
	background: rgba(255,255,255,0.98);
}

.haried-site-header .elementor-nav-menu--dropdown a,
.haried-site-header .sub-menu a,
.haried-site-header .wpr-sub-menu a {
	padding: 0.85rem 1rem;
	border-radius: 12px;
	color: var(--haried-color-primary);
	font-weight: 600;
}

.haried-site-header .elementor-nav-menu--dropdown a:hover,
.haried-site-header .sub-menu a:hover,
.haried-site-header .wpr-sub-menu a:hover {
	background: rgba(17, 59, 134, 0.06);
}

.haried-nav-cta .elementor-button,
.haried-nav-cta .wpr-button {
	border-radius: var(--haried-radius-pill);
	background: linear-gradient(135deg, var(--haried-color-primary) 0%, #113b86 100%);
	color: var(--haried-color-white);
	font-weight: 700;
	box-shadow: 0 10px 24px rgba(0, 10, 51, 0.18);
}

.haried-nav-cta .elementor-button:hover,
.haried-nav-cta .wpr-button:hover {
	transform: translateY(-2px);
	color: var(--haried-color-white);
}

.haried-hero-widget .elementor-heading-title,
.haried-hero-widget .elementor-widget-heading h1,
.haried-hero-widget .elementor-widget-heading h2,
.haried-hero-widget .elementor-widget-text-editor,
.haried-hero-widget .elementor-widget-text-editor p {
	color: var(--haried-color-white);
}

.haried-teaser-box .elementor-widget-wrap,
.haried-teaser-box .wpr-grid-item,
.haried-teaser-box .wpr-promo-box,
.haried-teaser-box .elementor-image-box-wrapper {
	height: 100%;
	border-radius: var(--haried-radius-md);
	background: var(--haried-color-white);
	border: 1px solid var(--haried-color-border);
	box-shadow: var(--haried-shadow-soft);
	overflow: hidden;
	transition: transform var(--haried-transition), box-shadow var(--haried-transition);
}

.haried-teaser-box .elementor-widget-wrap:hover,
.haried-teaser-box .wpr-grid-item:hover,
.haried-teaser-box .wpr-promo-box:hover,
.haried-teaser-box .elementor-image-box-wrapper:hover {
	transform: translateY(-6px);
	box-shadow: var(--haried-shadow-hover);
}

.haried-teaser-box .elementor-image-box-img img,
.haried-teaser-box img {
	border-radius: 0;
}

.haried-teaser-box .elementor-image-box-content,
.haried-teaser-box .wpr-promo-box-content,
.haried-teaser-box .elementor-icon-box-content {
	padding: 1.35rem 1.35rem 1.5rem;
}

.haried-site-footer,
.haried-site-footer.elementor-section {
	background: linear-gradient(180deg, rgba(0,10,51,0.98) 0%, rgba(0,10,51,1) 100%);
	color: rgba(255,255,255,0.82);
}

.haried-site-footer .elementor-container {
	padding-top: clamp(46px, 6vw, 76px);
	padding-bottom: clamp(26px, 3vw, 42px);
}

.haried-site-footer h1,
.haried-site-footer h2,
.haried-site-footer h3,
.haried-site-footer h4,
.haried-site-footer p,
.haried-site-footer a,
.haried-site-footer .elementor-icon-list-text {
	color: var(--haried-color-white);
}

.haried-site-footer a {
	opacity: 0.88;
}

.haried-site-footer a:hover {
	opacity: 1;
	color: var(--haried-color-white);
}

.haried-site-footer .elementor-divider-separator {
	border-color: rgba(255,255,255,0.16) !important;
}

.haried-footer-legal .elementor-widget-wrap,
.haried-footer-legal {
	border-top: 1px solid rgba(255,255,255,0.12);
	padding-top: 1rem;
}

/* Mobile menu button */
.haried-site-header .elementor-menu-toggle,
.haried-site-header .wpr-mobile-toggle-wrap {
	border-radius: 14px;
	background: rgba(17, 59, 134, 0.08);
}

.haried-site-header .elementor-menu-toggle:hover,
.haried-site-header .wpr-mobile-toggle-wrap:hover {
	background: rgba(17, 59, 134, 0.14);
}

@media (max-width: 1024px) {
	.haried-site-header .elementor-container {
		min-height: 78px;
	}
}


/* Header layout with Elementor containers */
.haried-site-header .e-con-inner,
.haried-site-header.e-con > .e-con-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(18px, 3vw, 40px);
	min-height: 92px;
}

.haried-site-header .e-con-inner > .elementor-element,
.haried-site-header.e-con > .e-con-inner > .elementor-element {
	min-width: 0;
}

.haried-site-header .haried-main-nav {
	margin-left: auto;
}

.haried-site-header .haried-nav-cta {
	margin-left: clamp(10px, 1.6vw, 22px);
	flex: 0 0 auto;
}

.haried-site-header .haried-main-nav,
.haried-site-header .haried-main-nav .e-con-inner,
.haried-site-header .haried-main-nav .elementor-widget-wrap {
	display: flex;
	align-items: center;
}

.haried-site-header .haried-main-nav .elementor-nav-menu--main,
.haried-site-header .haried-main-nav .wpr-nav-menu-wrap {
	justify-content: flex-end;
}

.haried-site-header .haried-nav-cta .elementor-button,
.haried-site-header .haried-nav-cta .wpr-button {
	padding: 0.9rem 1.35rem;
	min-height: 50px;
}

/* Royal Addons mobile menu */
.haried-site-header .wpr-mobile-toggle-wrap,
.haried-site-header .wpr-menu-toggle,
.haried-site-header .elementor-menu-toggle {
	border: 1px solid rgba(17, 59, 134, 0.12);
	box-shadow: 0 10px 22px rgba(0, 10, 51, 0.08);
}

.haried-site-header .wpr-mobile-toggle-wrap svg,
.haried-site-header .wpr-menu-toggle svg,
.haried-site-header .elementor-menu-toggle i,
.haried-site-header .elementor-menu-toggle svg {
	fill: var(--haried-color-primary);
	color: var(--haried-color-primary);
}

.haried-site-header .wpr-mobile-menu,
.haried-site-header .wpr-mobile-menu-wrap,
.haried-site-header .wpr-mobile-sub-menu,
.haried-site-header .elementor-nav-menu--dropdown {
	background: rgba(255,255,255,0.98) !important;
	border: 1px solid rgba(0, 10, 51, 0.08);
	border-radius: 18px;
	box-shadow: 0 24px 48px rgba(0, 10, 51, 0.14);
	overflow: hidden;
}

.haried-site-header .wpr-mobile-menu a,
.haried-site-header .wpr-mobile-menu .menu-item > a,
.haried-site-header .wpr-mobile-sub-menu a,
.haried-site-header .elementor-nav-menu--dropdown a {
	display: block;
	padding: 0.95rem 1.1rem !important;
	background: transparent !important;
	color: var(--haried-color-primary) !important;
	font-weight: 700;
	border-bottom: 1px solid rgba(0, 10, 51, 0.06);
}

.haried-site-header .wpr-mobile-menu li:last-child > a,
.haried-site-header .elementor-nav-menu--dropdown li:last-child > a {
	border-bottom: 0;
}

.haried-site-header .wpr-mobile-menu a:hover,
.haried-site-header .wpr-mobile-menu .current-menu-item > a,
.haried-site-header .wpr-mobile-sub-menu a:hover,
.haried-site-header .elementor-nav-menu--dropdown a:hover,
.haried-site-header .elementor-nav-menu--dropdown .elementor-item-active {
	background: rgba(17, 59, 134, 0.06) !important;
	color: var(--haried-color-primary-soft) !important;
}

.haried-site-header .wpr-mobile-menu .sub-arrow,
.haried-site-header .wpr-mobile-menu .wpr-sub-icon,
.haried-site-header .elementor-nav-menu--dropdown .sub-arrow {
	color: var(--haried-color-primary-soft) !important;
}

@media (max-width: 1024px) {
	.haried-site-header .e-con-inner,
	.haried-site-header.e-con > .e-con-inner {
		min-height: 78px;
		gap: 14px;
	}

	.haried-site-header .haried-main-nav {
		margin-left: auto;
	}

	.haried-site-header .haried-nav-cta {
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.haried-site-header .e-con-inner,
	.haried-site-header.e-con > .e-con-inner {
		min-height: 72px;
		gap: 10px;
	}

	.haried-site-header .haried-nav-cta {
		display: none;
	}

	.haried-site-header .elementor-widget-image img,
	.haried-site-header .custom-logo {
		max-height: 48px;
	}
}


/* v1.1.9 Mobile menu hard overrides */
.haried-site-header .wpr-mobile-menu-wrap,
.haried-site-header .wpr-mobile-menu,
.haried-site-header .wpr-mobile-menu ul,
.haried-site-header .wpr-mobile-menu li,
.haried-site-header .wpr-mobile-nav,
.haried-site-header .wpr-responsive-nav,
.haried-site-header .wpr-responsive-menu,
.haried-site-header .wpr-responsive-menu-wrap,
.haried-site-header .elementor-nav-menu--dropdown,
.haried-site-header .elementor-nav-menu--dropdown ul,
.haried-site-header .elementor-nav-menu--dropdown li {
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
}

.haried-site-header .wpr-mobile-menu .menu-item,
.haried-site-header .wpr-mobile-menu .menu-item > a,
.haried-site-header .wpr-mobile-menu .current-menu-item,
.haried-site-header .wpr-mobile-menu .current-menu-item > a,
.haried-site-header .wpr-mobile-menu .current-menu-ancestor > a,
.haried-site-header .wpr-mobile-menu .current_page_item > a,
.haried-site-header .wpr-mobile-sub-menu .menu-item > a,
.haried-site-header .wpr-mobile-sub-menu .current-menu-item > a,
.haried-site-header .wpr-mobile-sub-menu .current_page_item > a,
.haried-site-header .elementor-nav-menu--dropdown .menu-item,
.haried-site-header .elementor-nav-menu--dropdown .menu-item > a,
.haried-site-header .elementor-nav-menu--dropdown .current-menu-item > a,
.haried-site-header .elementor-nav-menu--dropdown .current_page_item > a,
.haried-site-header .elementor-nav-menu--dropdown .elementor-item,
.haried-site-header .elementor-nav-menu--dropdown .elementor-item-active {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: var(--haried-color-primary) !important;
}

.haried-site-header .wpr-mobile-menu .menu-item > a:hover,
.haried-site-header .wpr-mobile-menu .current-menu-item > a:hover,
.haried-site-header .wpr-mobile-menu .current_page_item > a:hover,
.haried-site-header .wpr-mobile-sub-menu .menu-item > a:hover,
.haried-site-header .elementor-nav-menu--dropdown .menu-item > a:hover,
.haried-site-header .elementor-nav-menu--dropdown .elementor-item:hover {
	background: rgba(17, 59, 134, 0.06) !important;
	background-color: rgba(17, 59, 134, 0.06) !important;
	color: var(--haried-color-primary-soft) !important;
}

.haried-site-header .wpr-mobile-menu .current-menu-item > a,
.haried-site-header .wpr-mobile-menu .current_page_item > a,
.haried-site-header .wpr-mobile-sub-menu .current-menu-item > a,
.haried-site-header .wpr-mobile-sub-menu .current_page_item > a,
.haried-site-header .elementor-nav-menu--dropdown .current-menu-item > a,
.haried-site-header .elementor-nav-menu--dropdown .current_page_item > a,
.haried-site-header .elementor-nav-menu--dropdown .elementor-item-active {
	font-weight: 700;
	box-shadow: inset 3px 0 0 var(--haried-color-primary-soft);
}


/* v1.2.1 Royal Addons menu color hard overrides */
.haried-site-header .haried-main-nav .wpr-nav-menu-container,
.haried-site-header .haried-main-nav .wpr-nav-menu,
.haried-site-header .haried-main-nav .wpr-nav-menu > li,
.haried-site-header .haried-main-nav .wpr-nav-menu > li > a,
.haried-site-header .haried-main-nav .wpr-menu-item,
.haried-site-header .haried-main-nav .wpr-pointer-item,
.haried-site-header .haried-main-nav .wpr-active-menu-item,
.haried-site-header .haried-main-nav .current-menu-item > .wpr-menu-item,
.haried-site-header .haried-main-nav .current_page_item > .wpr-menu-item,
.haried-site-header .haried-main-nav .current-menu-ancestor > .wpr-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu-container,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li > a,
.haried-site-header .haried-main-nav .wpr-mobile-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .wpr-active-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current-menu-item > .wpr-mobile-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current_page_item > .wpr-mobile-menu-item {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

.haried-site-header .haried-main-nav .wpr-nav-menu > li > a,
.haried-site-header .haried-main-nav .wpr-menu-item,
.haried-site-header .haried-main-nav .wpr-pointer-item,
.haried-site-header .haried-main-nav .wpr-active-menu-item,
.haried-site-header .haried-main-nav .current-menu-item > .wpr-menu-item,
.haried-site-header .haried-main-nav .current_page_item > .wpr-menu-item,
.haried-site-header .haried-main-nav .current-menu-ancestor > .wpr-menu-item {
	color: var(--haried-color-primary) !important;
}

.haried-site-header .haried-main-nav .wpr-nav-menu > li > a:hover,
.haried-site-header .haried-main-nav .wpr-menu-item:hover,
.haried-site-header .haried-main-nav .wpr-pointer-item:hover,
.haried-site-header .haried-main-nav .wpr-active-menu-item:hover,
.haried-site-header .haried-main-nav .current-menu-item > .wpr-menu-item:hover,
.haried-site-header .haried-main-nav .current_page_item > .wpr-menu-item:hover {
	color: var(--haried-color-primary-soft) !important;
}

.haried-site-header .haried-main-nav .wpr-nav-menu > li > a.wpr-active-menu-item,
.haried-site-header .haried-main-nav .current-menu-item > .wpr-menu-item,
.haried-site-header .haried-main-nav .current_page_item > .wpr-menu-item,
.haried-site-header .haried-main-nav .current-menu-ancestor > .wpr-menu-item {
	color: var(--haried-color-primary-soft) !important;
	font-weight: 700;
}

.haried-site-header .haried-main-nav .wpr-mobile-nav-menu,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu-container,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li > a,
.haried-site-header .haried-main-nav .wpr-mobile-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .wpr-active-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current-menu-item > .wpr-mobile-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current_page_item > .wpr-mobile-menu-item {
	color: var(--haried-color-primary) !important;
}

.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li > a:hover,
.haried-site-header .haried-main-nav .wpr-mobile-menu-item:hover,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .wpr-active-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current-menu-item > .wpr-mobile-menu-item,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current_page_item > .wpr-mobile-menu-item {
	background: rgba(17, 59, 134, 0.06) !important;
	background-color: rgba(17, 59, 134, 0.06) !important;
	color: var(--haried-color-primary-soft) !important;
}

.haried-site-header .haried-main-nav .wpr-nav-menu a:visited,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu a:visited,
.haried-site-header .haried-main-nav .wpr-nav-menu a,
.haried-site-header .haried-main-nav .wpr-mobile-nav-menu a {
	color: inherit !important;
}


/* v1.2.2 Mobile menu readability hard fixes */
@media (max-width: 1024px) {
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu-container {
		position: absolute;
		top: calc(100% + 8px);
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		background: #ffffff !important;
		background-color: #ffffff !important;
		background-image: none !important;
		opacity: 1 !important;
		visibility: visible;
		border: 1px solid rgba(0, 10, 51, 0.10);
		border-radius: 0 0 18px 18px;
		box-shadow: 0 20px 40px rgba(0, 10, 51, 0.14);
		overflow: hidden;
		z-index: 9999;
	}

	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu {
		display: block;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none;
		background: #ffffff !important;
		background-color: #ffffff !important;
		opacity: 1 !important;
	}

	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li.menu-item,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li.current-menu-item,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li.current_page_item {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		background: #ffffff !important;
		background-color: #ffffff !important;
		opacity: 1 !important;
	}

	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li > a,
	.haried-site-header .haried-main-nav .wpr-mobile-menu-item,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .wpr-active-menu-item,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current-menu-item > .wpr-mobile-menu-item,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current_page_item > .wpr-mobile-menu-item {
		display: block;
		width: 100%;
		padding: 16px 24px !important;
		text-align: left !important;
		text-decoration: none;
		background: #ffffff !important;
		background-color: #ffffff !important;
		background-image: none !important;
		color: var(--haried-color-primary) !important;
		opacity: 1 !important;
		font-size: 1rem;
		font-weight: 700;
		line-height: 1.35;
		border-bottom: 1px solid rgba(0, 10, 51, 0.08);
		box-shadow: none !important;
		text-shadow: none !important;
	}

	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li:last-child > a,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li:last-child > .wpr-mobile-menu-item {
		border-bottom: 0;
	}

	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu > li > a:hover,
	.haried-site-header .haried-main-nav .wpr-mobile-menu-item:hover {
		background: rgba(17, 59, 134, 0.05) !important;
		background-color: rgba(17, 59, 134, 0.05) !important;
		color: var(--haried-color-primary-soft) !important;
	}

	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current-menu-item > a,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current_page_item > a,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current-menu-item > .wpr-mobile-menu-item,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .current_page_item > .wpr-mobile-menu-item,
	.haried-site-header .haried-main-nav .wpr-mobile-nav-menu .wpr-active-menu-item {
		background: rgba(17, 59, 134, 0.06) !important;
		background-color: rgba(17, 59, 134, 0.06) !important;
		color: var(--haried-color-primary) !important;
		box-shadow: inset 3px 0 0 var(--haried-color-primary-soft) !important;
	}
}
