/**
 * Header #15 helpers.
 * Icon SIZE is controlled in Elementor (cart toggle size, nav toggle size, button icon size).
 * This file only: Lucide stroke color, badge, layout polish Elementor can't do cleanly.
 */

/* Cart: Lucide inherits Elementor --toggle-icon-size (set in Elementor to 24px) */
.elementor-15 .elementor-element.elementor-element-d3ac9ef .elementor-menu-cart__toggle_button {
	padding: 0 !important;
	min-width: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #374151 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle .elementor-button-icon,
.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle_button .elementor-button-icon {
	position: relative;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 0;
	overflow: visible;
	color: #374151 !important;
}

/* Size follows Elementor --toggle-icon-size via 1em */
.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle .elementor-button-icon svg,
.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle_button .elementor-button-icon svg,
.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle_button .jd-lucide-shopping-cart {
	width: 1em !important;
	height: 1em !important;
	max-width: none !important;
	max-height: none !important;
	display: block;
	fill: none !important;
	stroke: #374151 !important;
	color: #374151 !important;
	stroke-width: 2;
}

/* Only hide Elementor SVG once Lucide is ready (fragment race) */
.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle_button .elementor-button-icon.jd-lucide-cart-ready > svg:not(.jd-lucide),
.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle_button .elementor-button-icon:has(.jd-lucide) > svg:not(.jd-lucide) {
	display: none !important;
}

.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle,
.elementor-15 .elementor-element-d3ac9ef .elementor-menu-cart__toggle_button {
	overflow: visible !important;
}

/* Count badge — right of cart */
body.rtl .elementor-15 .elementor-element.elementor-element-d3ac9ef .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter],
body:not(.rtl) .elementor-15 .elementor-element.elementor-element-d3ac9ef .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter] {
	position: absolute !important;
	top: -6px !important;
	right: -8px !important;
	left: auto !important;
	min-width: 16px !important;
	height: 16px !important;
	padding: 0 4px !important;
	font-size: 10px !important;
	line-height: 16px !important;
	border-radius: 999px !important;
	background-color: #d9534f !important;
	color: #fff !important;
	z-index: 2;
	box-sizing: border-box;
	text-align: center;
}

/* Logged-in name button: one line + ellipsis */
.elementor-15 .elementor-element.elementor-element-3fbc89b,
.elementor-15 .elementor-element-3fbc89b {
	flex: 0 1 auto !important;
	max-width: 160px !important;
	min-width: 0 !important;
	width: auto !important;
	align-self: center !important;
}

.elementor-15 .elementor-element-3fbc89b .elementor-button,
.elementor-15 .elementor-element-3fbc89b .elementor-button-link {
	max-width: 100% !important;
	width: 100% !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.elementor-15 .elementor-element-3fbc89b .elementor-button-content-wrapper {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center;
	gap: 6px;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}

.elementor-15 .elementor-element-3fbc89b .elementor-button-icon {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	align-items: center;
	line-height: 1;
}

.elementor-15 .elementor-element-3fbc89b .elementor-button-text {
	display: block !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

/* Search icon button — keep flat, vertically centered */
.elementor-15 .elementor-element-44ea333 {
	align-self: center !important;
}

.elementor-15 .elementor-element-44ea333 .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	box-shadow: none !important;
	min-height: 0 !important;
}

.elementor-15 .elementor-element-44ea333 .elementor-button-icon,
.elementor-15 .elementor-element-44ea333 .elementor-button svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em !important;
	height: 1em !important;
	line-height: 1;
}

@media (min-width: 1025px) {
	.elementor-15 .elementor-element-8aa2bf7.e-con,
	.elementor-15 .elementor-element-8aa2bf7 {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		column-gap: 12px !important;
	}

	.elementor-15 .elementor-element-f144421,
	.elementor-15 .elementor-element-8995334,
	.elementor-15 .elementor-element-8cf3d6f {
		min-width: 0;
	}

	.elementor-15 .elementor-element-8cf3d6f {
		column-gap: 10px !important;
		justify-content: flex-end !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
	}

	.elementor-15 .elementor-element-d3ac9ef {
		flex: 0 0 auto !important;
		align-self: center !important;
		position: relative;
		z-index: 2;
	}

	.elementor-15 .elementor-element-c4e9254,
	.elementor-15 .elementor-element-3fbc89b,
	.elementor-15 .elementor-element-1ed2820 {
		flex: 0 1 auto !important;
		min-width: 0;
		align-self: center !important;
	}

	.elementor-15 .elementor-element-8995334 {
		overflow: hidden;
	}
}

@media (max-width: 1024px) {
	.elementor-15 .elementor-element-8aa2bf7.e-con,
	.elementor-15 .elementor-element-8aa2bf7 {
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
		align-items: center !important;
		column-gap: 12px !important;
		row-gap: 0 !important;
	}

	.elementor-15 .elementor-element-f144421,
	.elementor-15 .elementor-element-8cf3d6f {
		--width: auto;
		width: auto !important;
		max-width: none !important;
		flex: 0 1 auto !important;
		min-width: 0;
		align-items: center !important;
	}

	.elementor-15 .elementor-element-8cf3d6f {
		justify-content: flex-end !important;
		column-gap: 10px !important;
		flex-shrink: 0 !important;
	}

	.elementor-15 .elementor-element-8995334 {
		display: none !important;
		width: 0 !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Don't cap logo harder than Elementor max-width */
	.elementor-15 .elementor-element-6054aa0 img {
		width: auto;
		height: auto;
		max-height: none;
	}

	.elementor-15 .elementor-element-d3ac9ef,
	.elementor-15 .elementor-element-4d81ae3,
	.elementor-15 .elementor-element-44ea333 {
		flex-shrink: 0;
		align-self: center !important;
	}

	/* Hamburger: flat, size from Elementor --nav-menu-icon-size */
	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		color: #374151;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
	}

	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle svg,
	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle .jd-lucide {
		width: 1em !important;
		height: 1em !important;
		fill: none !important;
		stroke: currentColor;
	}

	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--close,
	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open {
		display: none !important;
	}

	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--open,
	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close {
		display: block !important;
	}

	.elementor-15 .elementor-element-4d81ae3 .elementor-menu-toggle.jd-lucide-enhanced > svg:not(.jd-lucide) {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.elementor-15 .elementor-element-8aa2bf7.e-con,
	.elementor-15 .elementor-element-8aa2bf7 {
		padding-inline: 12px !important;
		column-gap: 8px !important;
	}

	.elementor-15 .elementor-element-8cf3d6f {
		column-gap: 8px !important;
	}

	.elementor-15 .elementor-element-8532381,
	.elementor-15 .elementor-element-f561f20 {
		min-height: 0;
	}
}
