/* =====================================================================
 * Mobiler Header (Elementor-Template 968) – siehe header-mobile.php
 * Kompakter Header (Logo | Icons | Flyout-Menü) bis 1199px – also Handy
 * UND Tablet/kleine Laptops. Ab 1200px: Desktop-Menü (unten).
 * ===================================================================== */

@media (max-width: 1199px) {

	/* Elementor blendet je Breakpoint anders aus – hier vereinheitlichen:
	 * Flyout-Burger überall < 1200px, Desktop-Nav-Menü erst ab 1200px. */
	.elementor-968 .elementor-element-ea5a6fa {
		display: block !important;
	}

	.elementor-968 .elementor-element-7e3e4aa6 {
		display: none !important;
	}

	/* Reihenfolge wie auf dem Handy: Logo | Icons | Burger ganz rechts */
	.elementor-968 .elementor-element-27c8d83 { order: 1 !important; }
	.elementor-968 .elementor-element-56baa91 { order: 2 !important; }
	.elementor-968 .elementor-element-0c490ee { order: 3 !important; }

	/* ---------- Leiste: Logo | Konto · Suche · Warenkorb | Burger ---------- */
	.elementor-968 .elementor-element-5a72dce {
		--br-hm-h: 60px;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 4px !important;
		min-height: var(--br-hm-h);
		padding: 0 8px 0 16px !important;
	}

	/* Logo nimmt den Rest, Icons/Burger nur so breit wie nötig */
	.elementor-968 .elementor-element-27c8d83 {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0;
		align-items: flex-start !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-6576a980 {
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-968 .elementor-element-6576a980 img {
		display: block;
		width: 140px !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.elementor-968 .elementor-element-56baa91,
	.elementor-968 .elementor-element-2395c3a,
	.elementor-968 .elementor-element-21e970a,
	.elementor-968 .elementor-element-325e956,
	.elementor-968 .elementor-element-31e5dbd,
	.elementor-968 .elementor-element-0c490ee {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0 !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Einheitliche Icons: 24px Symbol, 44px Tippfläche */
	.elementor-968 .elementor-element-fe1229f {
		width: auto !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-fe1229f .elementor-social-icons-wrapper {
		display: flex !important;
		gap: 0 !important;
	}

	.elementor-968 .elementor-element-fe1229f .elementor-grid-item {
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-fe1229f .elementor-social-icon {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		font-size: 24px !important;
	}

	.elementor-968 .elementor-element-fe1229f .elementor-social-icon svg,
	.elementor-968 .elementor-element-fe1229f .elementor-social-icon img {
		width: 24px !important;
		height: 24px !important;
	}

	.elementor-968 .elementor-element-38b9db7 {
		width: auto !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-38b9db7 .elementor-menu-cart__toggle .elementor-button {
		position: relative;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: 0 !important;
	}

	.elementor-968 .elementor-element-38b9db7 .elementor-menu-cart__toggle .elementor-button-icon {
		font-size: 26px !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-38b9db7 .elementor-menu-cart__toggle .elementor-button-icon svg {
		width: 26px !important;
		height: 26px !important;
	}

	/* nur der Toggle im Header – NICHT die Buttons im Side-Cart */
	.elementor-968 .elementor-element-38b9db7 .elementor-menu-cart__toggle .elementor-button-text {
		display: none !important;
	}

	.elementor-968 .elementor-element-38b9db7 .elementor-menu-cart__toggle .elementor-button-icon-qty {
		top: -6px !important;
		right: -9px !important;
		min-width: 17px;
		height: 17px;
		line-height: 17px !important;
		font-size: 10px !important;
		padding: 0 4px !important;
	}

	/* Burger */
	.elementor-968 .elementor-element-ea5a6fa {
		width: auto !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu__toggle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0 !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu-icon {
		display: flex;
		font-size: 24px !important;
		line-height: 1 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu-icon svg {
		width: 24px !important;
		height: 24px !important;
	}

	/* ---------- Flyout ---------- */
	.elementor-968 .elementor-element-ea5a6fa .uael-flyout-overlay {
		background: rgba(20, 18, 15, .55) !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-side.uael-flyout-left {
		width: min(86vw, 360px) !important;
		max-width: none !important;
		background: #fff !important;
		box-shadow: 0 0 40px rgba(0, 0, 0, .25);
	}

	/* push-Variante: Seiteninhalt um die Panelbreite schieben */
	.elementor-968 .elementor-element-ea5a6fa .uael-flyout-content {
		padding: 64px 0 32px !important;
		height: 100%;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.admin-bar .elementor-968 .elementor-element-ea5a6fa .uael-side {
		top: 46px !important;
		height: calc(100% - 46px) !important;
	}

	/* Schließen-Knopf ins Panel, oben rechts */
	.elementor-968 .elementor-element-ea5a6fa .uael-flyout-close {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		left: auto !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px !important;
		height: 44px !important;
		font-size: 22px !important;
		line-height: 1 !important;
		color: #222 !important;
		border: 0 !important;
		border-radius: 50%;
		background: #f3f1ed !important;
		z-index: 2;
	}

	/* Das kastenförmige "window-close"-Icon durch ein schlichtes X ersetzen */
	.elementor-968 .elementor-element-ea5a6fa .uael-flyout-close svg {
		display: none !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-flyout-close::before,
	.elementor-968 .elementor-element-ea5a6fa .uael-flyout-close::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 18px;
		height: 2px;
		border-radius: 1px;
		background: #222;
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-flyout-close::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	/* Hauptpunkte */
	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu {
		border-top: 1px solid #ece8e1;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu > li {
		border-bottom: 1px solid #ece8e1 !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu a.uael-menu-item {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		min-height: 54px;
		padding: 0 8px 0 20px !important;
		text-align: left !important;
		text-transform: none !important;
		font-size: 17px !important;
		font-weight: 600 !important;
		letter-spacing: 0 !important;
		color: #222 !important;
		background: transparent !important;
	}

	/* Untermenü-Pfeil: ruhige 44px-Fläche, kein gepunkteter Rahmen */
	.elementor-968 .elementor-element-ea5a6fa .uael-menu-toggle {
		position: static !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 44px;
		width: 44px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		outline: 0;
		border-radius: 50%;
		color: #666 !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-menu-toggle:focus-visible {
		outline: 2px solid #222;
		outline-offset: -4px;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-menu-toggle::before {
		display: none !important;
	}

	/* Unterpunkte als Karten */
	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu .sub-menu {
		padding: 0 12px 12px !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu .sub-menu > li {
		border: 0 !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu .sub-menu > li > a.uael-sub-menu-item {
		display: flex !important;
		align-items: center;
		justify-content: flex-start !important;
		gap: 12px;
		padding: 8px !important;
		border: 0 !important;
		border-radius: 8px;
		text-align: left !important;
		text-transform: none !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
		letter-spacing: 0 !important;
		color: #222 !important;
		background: transparent !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu .sub-menu > li > a.uael-sub-menu-item:active,
	.elementor-968 .elementor-element-ea5a6fa .uael-nav-menu .sub-menu > li.current-menu-item > a {
		background: #f6f3ee !important;
	}

	.elementor-968 .elementor-element-ea5a6fa .br-mm-thumb {
		width: 56px;
		height: 56px;
		border-radius: 6px;
	}

	.elementor-968 .elementor-element-ea5a6fa .br-mm-body {
		flex: 1 1 auto;
		text-align: left;
	}

	.elementor-968 .elementor-element-ea5a6fa .br-mm-title {
		font-weight: 500;
	}

	.elementor-968 .elementor-element-ea5a6fa .br-mm-price {
		display: block;
		margin-top: 2px;
		font-size: 13px;
	}

	.elementor-968 .elementor-element-ea5a6fa .br-mm-desc {
		display: none;
	}
}

/* Suche (ab 768px sichtbar) im kompakten Header: gleiche 44px-Tippfläche */
@media (min-width: 768px) and (max-width: 1199px) {
	.elementor-968 .elementor-element-5a72dce {
		min-height: 72px;
		padding: 0 16px 0 24px !important;
	}

	.elementor-968 .elementor-element-6576a980 img {
		width: 170px !important;
	}

	.elementor-968 .elementor-element-b2206cf {
		width: auto !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-b2206cf .elementor-search-form__toggle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px !important;
		height: 44px !important;
		--e-search-form-toggle-size: 44px;
		--e-search-form-toggle-icon-size: 24px;
	}

	.elementor-968 .elementor-element-b2206cf .e-font-icon-svg-container::before {
		width: 24px !important;
		height: 24px !important;
		margin: 0 !important;
	}
}

/* =====================================================================
 * Desktop ab 1200px: eine Zeile, Abstände wachsen mit der Breite
 * ===================================================================== */
@media (min-width: 1200px) {
	.elementor-968 .elementor-element-5a72dce {
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: clamp(16px, 2vw, 40px) !important;
		padding-left: clamp(20px, 2.5vw, 40px) !important;
		padding-right: clamp(20px, 2.5vw, 40px) !important;
	}

	/* Logo mit fester, sanft wachsender Breite statt 23 % */
	.elementor-968 .elementor-element-27c8d83 {
		flex: 0 0 auto !important;
		width: clamp(180px, 17vw, 300px) !important;
		padding: 0 !important;
	}

	.elementor-968 .elementor-element-6576a980,
	.elementor-968 .elementor-element-6576a980 img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	/* Menü nimmt den Rest und bricht nie um */
	.elementor-968 .elementor-element-0c490ee {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
	}

	.elementor-968 .elementor-element-7e3e4aa6 {
		--e-nav-menu-horizontal-menu-item-margin: clamp(14px, 1.9vw, 30px);
	}

	.elementor-968 .elementor-element-7e3e4aa6 .elementor-nav-menu--main > .elementor-nav-menu {
		flex-wrap: nowrap !important;
	}

	.elementor-968 .elementor-element-7e3e4aa6 .elementor-nav-menu--main > .elementor-nav-menu > li > a {
		white-space: nowrap;
		font-size: clamp(14px, 1.1vw, 16px) !important;
	}

	/* Icons: so breit wie nötig statt fester 240/220/80/50/30 px */
	.elementor-968 .elementor-element-56baa91,
	.elementor-968 .elementor-element-2395c3a,
	.elementor-968 .elementor-element-21e970a,
	.elementor-968 .elementor-element-31e5dbd,
	.elementor-968 .elementor-element-325e956 {
		flex: 0 0 auto !important;
		width: auto !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 4px !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.elementor-968 .elementor-element-fe1229f {
		width: auto !important;
	}
}

/* =====================================================================
 * Top-Bar (Telefon/Mail, ab 768px): nicht mehr rechts abgeschnitten
 * ===================================================================== */
@media (min-width: 768px) {
	.elementor-968 .elementor-element-61e3b27e {
		flex-wrap: nowrap !important;
		justify-content: flex-end !important;
		padding-left: clamp(16px, 2.5vw, 40px) !important;
		padding-right: clamp(16px, 2.5vw, 40px) !important;
	}

	.elementor-968 .elementor-element-15c97ab8,
	.elementor-968 .elementor-element-11ab1ec9 {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
	}

	.elementor-968 .elementor-element-115a6b8a,
	.elementor-968 .elementor-element-1de58c46 {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: 100%;
	}

	.elementor-968 .elementor-element-6d1d3b26 .elementor-icon-list-items {
		flex-wrap: nowrap !important;
	}

	.elementor-968 .elementor-element-6d1d3b26 .elementor-icon-list-item {
		white-space: nowrap;
	}
}
