/* Monteurquartier Premium Header */
.mqr-header-shell,
.mqr-header-shell *,
.mqr-header-shell *::before,
.mqr-header-shell *::after {
	box-sizing: border-box !important;
}

.mqr-header-shell {
	--mqr-primary: #159bd7;
	--mqr-dark: #071820;
	--mqr-bg: #ffffff;
	--mqr-text: #17242d;
	--mqr-max: 1350px;
	--mqr-logo-width: 190px;
	--mqr-logo-height: auto;
	--mqr-sticky-logo-width: 144px;
	--mqr-sticky-logo-height: auto;
	position: relative;
	z-index: 99990;
	width: 100%;
	font-family: "Manrope", Arial, sans-serif !important;
}

.mqr-header-shell.is-sticky {
	position: sticky;
	top: 0;
}

body.admin-bar .mqr-header-shell.is-sticky {
	top: 32px;
}

.mqr-topbar {
	background: var(--mqr-dark) !important;
	color: #fff !important;
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.mqr-topbar__inner,
.mqr-main-header__inner {
	width: min(calc(100% - 40px), var(--mqr-max));
	margin: 0 auto;
}

.mqr-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 38px;
}

.mqr-topbar__message,
.mqr-topbar__contacts,
.mqr-topbar__contacts a {
	display: flex;
	align-items: center;
}

.mqr-topbar__message {
	gap: 9px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .035em;
}

.mqr-topbar__message i {
	color: var(--mqr-primary);
}

.mqr-topbar__contacts {
	gap: 22px;
}

.mqr-topbar__contacts a {
	gap: 7px;
	color: rgba(255,255,255,.84) !important;
	font-size: 11px;
	text-decoration: none !important;
	transition: color .2s ease;
}

.mqr-topbar__contacts a:hover {
	color: #fff !important;
}

.mqr-topbar__contacts i {
	color: var(--mqr-primary);
	font-size: 11px;
}

.mqr-topbar__contacts strong {
	color: #fff;
	font-weight: 600;
}

.mqr-contact-label {
	opacity: .65;
}

.mqr-main-header {
	position: relative;
	background: color-mix(in srgb, var(--mqr-bg) 96%, transparent) !important;
	border-bottom: 1px solid rgba(18,45,61,.11);
	box-shadow: 0 12px 34px rgba(18,45,61,.06);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.mqr-main-header__inner {
	display: grid;
	grid-template-columns: minmax(160px, .8fr) minmax(360px, 1.55fr) minmax(260px, auto);
	align-items: center;
	gap: 32px;
	min-height: 82px;
}

.mqr-brand__link {
	display: inline-flex;
	align-items: center;
	color: var(--mqr-text) !important;
	text-decoration: none !important;
}

.mqr-brand__logo {
	display: block;
	width: var(--mqr-logo-width);
	height: var(--mqr-logo-height);
	max-width: none;
	max-height: none;
	object-fit: contain;
	object-position: left center;
}

.mqr-brand__fallback {
	font-size: 18px;
	font-weight: 700;
}

.mqr-desktop-nav {
	min-width: 0;
}

.mqr-menu,
.mqr-menu ul,
.mqr-mobile-menu,
.mqr-mobile-menu ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mqr-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(18px, 2vw, 34px);
}

.mqr-menu > li {
	position: relative;
}

.mqr-menu > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 82px;
	color: var(--mqr-text) !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	transition: color .22s ease;
}

.mqr-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 20px;
	height: 2px;
	background: var(--mqr-primary);
	transition: right .22s ease;
}

.mqr-menu > li:hover > a,
.mqr-menu > li.current-menu-item > a,
.mqr-menu > li.current-menu-ancestor > a {
	color: var(--mqr-primary) !important;
}

.mqr-menu > li:hover > a::after,
.mqr-menu > li.current-menu-item > a::after,
.mqr-menu > li.current-menu-ancestor > a::after {
	right: 0;
}

.mqr-menu .sub-menu {
	position: absolute;
	top: calc(100% - 10px);
	left: -18px;
	z-index: 20;
	min-width: 230px;
	padding: 10px !important;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	background: #fff;
	border: 1px solid rgba(18,45,61,.1);
	box-shadow: 0 18px 44px rgba(18,45,61,.15);
	transition: .22s ease;
}

.mqr-menu li:hover > .sub-menu,
.mqr-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mqr-menu .sub-menu a {
	display: block;
	padding: 12px 13px;
	color: var(--mqr-text) !important;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	border-radius: 2px;
}

.mqr-menu .sub-menu a:hover {
	color: var(--mqr-primary) !important;
	background: rgba(21,155,215,.07);
}

.mqr-header-actions,
.mqr-contact-icons,
.mqr-contact-action,
.mqr-header-cta {
	display: flex;
	align-items: center;
}

.mqr-header-actions {
	justify-content: flex-end;
	gap: 13px;
}

.mqr-contact-icons {
	gap: 7px;
}

.mqr-contact-action {
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 12px;
	color: var(--mqr-text) !important;
	background: #fff;
	border: 1px solid rgba(18,45,61,.13);
	text-decoration: none !important;
	font-size: 11px;
	font-weight: 600;
	transition: .22s ease;
}

.mqr-contact-action--icon {
	width: 42px;
	padding: 0;
}

.mqr-contact-action i {
	color: var(--mqr-primary);
}

.mqr-contact-action:hover {
	color: var(--mqr-primary) !important;
	border-color: rgba(21,155,215,.42);
	transform: translateY(-2px);
}

.mqr-header-cta {
	justify-content: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 18px;
	color: #fff !important;
	background: var(--mqr-primary) !important;
	border: 1px solid var(--mqr-primary);
	box-shadow: 4px 4px 0 rgba(21,155,215,.14);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
	transition: .22s ease;
}

.mqr-header-cta:hover {
	color: #fff !important;
	filter: brightness(.9);
	transform: translateY(-2px);
	box-shadow: 6px 6px 0 rgba(21,155,215,.18);
}

.mqr-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(18,45,61,.15) !important;
	border-radius: 0 !important;
	background: #fff !important;
	cursor: pointer;
}

.mqr-menu-toggle__line {
	display: block;
	width: 20px;
	height: 2px;
	margin: 4px auto;
	background: var(--mqr-text);
	transition: .25s ease;
}

.mqr-header-shell.menu-open .mqr-menu-toggle__line:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}
.mqr-header-shell.menu-open .mqr-menu-toggle__line:nth-child(2) {
	opacity: 0;
}
.mqr-header-shell.menu-open .mqr-menu-toggle__line:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.mqr-mobile-panel {
	background: #fff;
	border-bottom: 1px solid rgba(18,45,61,.12);
	box-shadow: 0 20px 40px rgba(18,45,61,.12);
}

.mqr-mobile-panel__inner {
	width: min(calc(100% - 32px), var(--mqr-max));
	margin: 0 auto;
	padding: 20px 0 24px;
}

.mqr-mobile-menu > li {
	border-bottom: 1px solid rgba(18,45,61,.09);
}

.mqr-mobile-menu a {
	display: block;
	padding: 15px 0;
	color: var(--mqr-text) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
}

.mqr-mobile-menu .sub-menu {
	padding: 0 0 10px 18px !important;
}

.mqr-mobile-menu .sub-menu a {
	padding: 10px 0;
	font-size: 12px;
	color: rgba(23,36,45,.72) !important;
}

.mqr-mobile-contact-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 18px 0;
}

.mqr-mobile-contact-list a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 10px;
	color: var(--mqr-text) !important;
	border: 1px solid rgba(18,45,61,.12);
	text-decoration: none !important;
	font-size: 11px;
	font-weight: 600;
}

.mqr-mobile-contact-list i {
	color: var(--mqr-primary);
}

.mqr-mobile-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 18px;
	color: #fff !important;
	background: var(--mqr-primary);
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 700;
}

.mqr-menu-notice {
	color: var(--mqr-primary) !important;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
}

@media (max-width: 1180px) {
	.mqr-main-header__inner {
		grid-template-columns: minmax(150px, .7fr) minmax(330px, 1.4fr) auto;
		gap: 20px;
	}
	.mqr-contact-action span {
		display: none;
	}
	.mqr-contact-action {
		width: 42px;
		padding: 0;
	}
	.mqr-menu {
		gap: 18px;
	}
}

@media (max-width: 920px) {
	.mqr-desktop-nav,
	.mqr-header-cta,
	.mqr-contact-icons {
		display: none !important;
	}

	.mqr-main-header__inner {
		grid-template-columns: 1fr auto;
		min-height: 72px;
	}

	.mqr-menu-toggle {
		display: block;
	}

	.mqr-topbar__contacts .mqr-contact-label {
		display: none;
	}
}

@media (max-width: 680px) {
	body.admin-bar .mqr-header-shell.is-sticky {
		top: 46px;
	}

	.mqr-topbar__inner {
		justify-content: center;
		min-height: 34px;
	}

	.mqr-topbar__message {
		font-size: 9px;
		text-align: center;
	}

	.mqr-topbar__contacts {
		display: none;
	}

	.mqr-main-header__inner,
	.mqr-topbar__inner {
		width: min(calc(100% - 26px), var(--mqr-max));
	}

	.mqr-brand__logo {
		width: min(var(--mqr-logo-width), calc(100vw - 110px));
		max-width: none;
		max-height: none;
	}

	.mqr-mobile-contact-list {
		grid-template-columns: 1fr;
	}

	.mqr-mobile-contact-list a {
		justify-content: flex-start;
		padding-left: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mqr-header-shell *,
	.mqr-header-shell *::before,
	.mqr-header-shell *::after {
		transition-duration: .01ms !important;
	}
}

/* =========================================================
   V1.1.0 – GRÖSSEN, TOPBAR UND DESKTOP-NAVIGATION
   ========================================================= */
.mqr-header-shell {
	--mqr-menu-size: 15px;
	--mqr-button-size: 14px;
	--mqr-icon-size: 15px;
	--mqr-topbar-height: 48px;
	--mqr-header-height: 96px;
}

.mqr-header-shell .mqr-topbar__inner {
	justify-content: center !important;
	min-height: var(--mqr-topbar-height) !important;
}

.mqr-header-shell .mqr-topbar__message {
	justify-content: center !important;
	width: 100% !important;
	font-size: 12px !important;
	text-align: center !important;
}

.mqr-header-shell .mqr-topbar__contacts {
	display: none !important;
}

.mqr-header-shell .mqr-main-header__inner {
	min-height: var(--mqr-header-height) !important;
}

.mqr-header-shell .mqr-brand__logo {
	width: var(--mqr-logo-width) !important;
	height: var(--mqr-logo-height) !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
}

.mqr-header-shell .mqr-menu > li > a {
	min-height: var(--mqr-header-height) !important;
	font-size: var(--mqr-menu-size) !important;
	font-weight: 600 !important;
}

.mqr-header-shell .mqr-menu .sub-menu a,
.mqr-header-shell .mqr-mobile-menu a {
	font-size: calc(var(--mqr-menu-size) - 1px) !important;
}

.mqr-header-shell .mqr-contact-action {
	min-height: 48px !important;
	font-size: calc(var(--mqr-button-size) - 1px) !important;
}

.mqr-header-shell .mqr-contact-action--icon {
	width: 48px !important;
}

.mqr-header-shell .mqr-contact-action i,
.mqr-header-shell .mqr-header-cta i,
.mqr-header-shell .mqr-mobile-contact-list i,
.mqr-header-shell .mqr-mobile-cta i {
	font-size: var(--mqr-icon-size) !important;
}

.mqr-header-shell .mqr-header-cta {
	min-height: 52px !important;
	padding: 0 22px !important;
	font-size: var(--mqr-button-size) !important;
}

/* Hamburger auf Desktop gegen Elementor/Theme-Stile hart ausblenden */
.mqr-header-shell .mqr-menu-toggle,
body .mqr-header-shell .mqr-menu-toggle,
.elementor .mqr-header-shell .mqr-menu-toggle {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 920px) {
	.mqr-header-shell .mqr-menu-toggle,
	body .mqr-header-shell .mqr-menu-toggle,
	.elementor .mqr-header-shell .mqr-menu-toggle {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	.mqr-header-shell .mqr-main-header__inner {
		min-height: var(--mqr-header-height) !important;
	}

	.mqr-header-shell .mqr-brand__logo {
		width: min(var(--mqr-logo-width), calc(100vw - 120px)) !important;
		height: var(--mqr-logo-height) !important;
		max-width: none !important;
		max-height: none !important;
	}
}

@media (max-width: 680px) {
	.mqr-header-shell .mqr-topbar__inner {
		min-height: 42px !important;
	}

	.mqr-header-shell .mqr-topbar__message {
		font-size: 10px !important;
	}

	.mqr-header-shell .mqr-brand__logo {
		width: min(var(--mqr-logo-width), calc(100vw - 100px)) !important;
		height: var(--mqr-logo-height) !important;
		max-width: none !important;
		max-height: none !important;
	}
}

/* =========================================================
   STICKY-KOMPAKTMODUS BEIM SCROLLEN
   ========================================================= */
.mqr-header-shell.is-sticky,
.mqr-header-shell.is-sticky .mqr-topbar,
.mqr-header-shell.is-sticky .mqr-topbar__inner,
.mqr-header-shell.is-sticky .mqr-main-header,
.mqr-header-shell.is-sticky .mqr-main-header__inner,
.mqr-header-shell.is-sticky .mqr-brand__logo,
.mqr-header-shell.is-sticky .mqr-menu > li > a,
.mqr-header-shell.is-sticky .mqr-contact-action,
.mqr-header-shell.is-sticky .mqr-header-cta,
.mqr-header-shell.is-sticky .mqr-menu-toggle {
	transition:
		min-height .34s cubic-bezier(.22,.61,.36,1),
		max-height .34s cubic-bezier(.22,.61,.36,1),
		padding .34s cubic-bezier(.22,.61,.36,1),
		font-size .28s ease,
		width .34s cubic-bezier(.22,.61,.36,1),
		opacity .22s ease,
		box-shadow .28s ease !important;
}

/*
 * Stabile Topbar-Animation ohne translateY.
 * Die feste Ausgangshöhe verhindert Layout-Neuberechnungen, die am
 * Seitenanfang zu sichtbarem Wackeln führen können.
 */
.mqr-header-shell.is-sticky .mqr-topbar {
	max-height: var(--mqr-topbar-height, 48px) !important;
	overflow: hidden !important;
	transform: none !important;
	will-change: max-height, opacity !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-topbar {
	max-height: 0 !important;
	opacity: 0 !important;
	overflow: hidden !important;
	border-bottom-color: transparent !important;
	transform: none !important;
	pointer-events: none !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-topbar__inner {
	min-height: 0 !important;
	height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-main-header {
	box-shadow: 0 10px 30px rgba(18,45,61,.11) !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-main-header__inner {
	min-height: 68px !important;
	gap: 22px !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-brand__logo {
	width: var(--mqr-sticky-logo-width) !important;
	height: var(--mqr-sticky-logo-height) !important;
	max-width: none !important;
	max-height: none !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-brand__fallback {
	font-size: 15px !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-menu {
	gap: clamp(15px, 1.6vw, 27px) !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-menu > li > a {
	min-height: 68px !important;
	font-size: max(12px, calc(var(--mqr-menu-size) - 2px)) !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-menu > li > a::after {
	bottom: 14px !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-contact-action {
	min-height: 36px !important;
	height: 36px !important;
	padding-right: 10px !important;
	padding-left: 10px !important;
	font-size: 10px !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-contact-action--icon {
	width: 36px !important;
	padding: 0 !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-contact-action i,
.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-header-cta i {
	font-size: max(12px, calc(var(--mqr-icon-size) - 2px)) !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-header-cta {
	min-height: 40px !important;
	padding-right: 15px !important;
	padding-left: 15px !important;
	font-size: max(12px, calc(var(--mqr-button-size) - 2px)) !important;
	box-shadow: 3px 3px 0 rgba(21,155,215,.13) !important;
}

.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-menu-toggle {
	width: 40px !important;
	height: 40px !important;
}

@media (max-width: 920px) {
	.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-main-header__inner {
		min-height: 62px !important;
	}

	.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-brand__logo {
		width: min(var(--mqr-sticky-logo-width), calc(100vw - 110px)) !important;
		height: var(--mqr-sticky-logo-height) !important;
		max-width: none !important;
		max-height: none !important;
	}

	.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-menu-toggle {
		width: 38px !important;
		height: 38px !important;
	}
}

@media (max-width: 680px) {
	.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-main-header__inner {
		min-height: 58px !important;
	}

	.mqr-header-shell.is-sticky.mqr-is-scrolled .mqr-brand__logo {
		width: min(var(--mqr-sticky-logo-width), calc(100vw - 96px)) !important;
		height: var(--mqr-sticky-logo-height) !important;
		max-width: none !important;
		max-height: none !important;
	}
}
