/*
 * Header (Elementor-template #12, op de hele site).
 *
 * Alleen styling bovenop de bestaande Elementor-header, zodat er op productie geen stap in de
 * editor nodig is. Elementors eigen regels beginnen met ".elementor-12 .elementor-element…";
 * deze regels beginnen met ".elementor-location-header.elementor-12" en winnen daardoor.
 *
 * - Desktop: menu, winkelwagen en accountknop op één regel. Ingelogd: blauwe pil "Dashboard"
 *   met een tekstlink "Uitloggen" ernaast, in plaats van twee blokknoppen die onder elkaar
 *   springen.
 * - Het volledige menu met accountknop heeft ingelogd zo'n 1420px nodig. Tussen 1280 en 1439px
 *   wordt alles compacter; onder 1280px verschijnt het menuknopje, zoals op tablet. Het menu
 *   springt nooit meer over twee regels.
 * - Tablet en mobiel: gelijke ronde icoonknoppen (account, winkelwagen, menu).
 */

.elementor-location-header.elementor-12 {
	--lm-h-blauw: #135a83;
	--lm-h-blauw-diep: #0f4d73;
	--lm-h-navy: #003465;
	--lm-h-cyaan: #2ec1fb;
	--lm-h-tekst: #4a6275;
	--lm-h-zacht: #eef5f9;
	--lm-h-lijn: #e3ecf2;
	--lm-h-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Balk */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a8dc052 {
	border-bottom-color: transparent;
	box-shadow:
		0 1px 0 rgba(0, 52, 101, 0.07),
		0 12px 32px -20px rgba(0, 30, 55, 0.3);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a8dc052 > .elementor-container {
	min-height: 76px;
}

/* ---------- Desktop ---------- */
@media (min-width: 1025px) {
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a8dc052 > .elementor-container {
		flex-wrap: nowrap;
		gap: 24px;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-580097c {
		flex: 0 0 auto;
		width: auto;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-e4725ce {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-e4725ce > .elementor-widget-wrap {
		flex-wrap: nowrap;
		gap: 4px;
	}

	/* Volgorde: menu, winkelwagen, accountknop, uitloggen */
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 {
		order: 1;
		flex-shrink: 0;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu {
		flex-wrap: nowrap;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 {
		order: 2;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 {
		order: 3;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-46746af {
		order: 4;
	}
}

/* Menu */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 > .elementor-widget-container {
	padding-right: 8px;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .elementor-item {
	position: relative;
	padding: 10px 13px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.005em;
	color: var(--lm-h-navy);
	fill: var(--lm-h-navy);
	transition: color 0.15s;
}

/* Cyaan streep onder het actieve of aangewezen menu-item, uit de lijnen van het logo */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item::after {
	content: "";
	position: absolute;
	right: 13px;
	bottom: 2px;
	left: 13px;
	height: 2px;
	background: var(--lm-h-cyaan);
	border-radius: 2px;
	opacity: 1;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s var(--lm-h-ease);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .elementor-item.highlighted,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--lm-h-blauw);
	fill: var(--lm-h-blauw);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover::after,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus-visible::after,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.highlighted::after,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.elementor-item-active::after {
	transform: scaleX(1);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .elementor-item:focus-visible {
	outline: 2px solid var(--lm-h-blauw);
	outline-offset: -2px;
	border-radius: 8px;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .sub-arrow {
	padding-left: 6px;
	font-size: 11px;
	opacity: 0.7;
}

/* Uitklapmenu op desktop */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
	min-width: 248px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--lm-h-lijn);
	border-radius: 14px;
	box-shadow: 0 24px 48px -18px rgba(0, 30, 55, 0.3);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .sub-menu .elementor-sub-item {
	padding: 10px 14px;
	font-size: 15px;
	font-weight: 600;
	color: var(--lm-h-navy);
	background: transparent;
	border-radius: 9px;
	transition: background-color 0.15s, color 0.15s;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .sub-menu .elementor-sub-item.highlighted,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .sub-menu .elementor-sub-item.elementor-item-active {
	color: var(--lm-h-blauw);
	background: var(--lm-h-zacht);
}

/* Winkelwagen: rond icoonvlak */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 > .elementor-widget-container {
	padding: 0;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 .elementor-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	font-size: 18px;
	color: var(--lm-h-navy);
	border-radius: 50%;
	transition: background-color 0.15s, color 0.15s;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 .elementor-icon:hover {
	color: var(--lm-h-blauw);
	background: var(--lm-h-zacht);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 .elementor-icon:focus-visible {
	outline: 2px solid var(--lm-h-blauw);
	outline-offset: 2px;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 .lunamed-cart-count-badge {
	top: 2px;
	right: 0;
}

/* Accountknop: Inloggen (gast) en Dashboard (ingelogd) als blauwe pil */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278 > .elementor-widget-container,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 > .elementor-widget-container {
	padding: 0 0 0 10px;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278 .elementor-button,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 .elementor-button {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 20px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background: var(--lm-h-blauw);
	border-radius: 999px;
	box-shadow: 0 6px 16px -8px rgba(19, 90, 131, 0.55);
	transition: background-color 0.15s, box-shadow 0.2s var(--lm-h-ease), transform 0.2s var(--lm-h-ease);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278 .elementor-button:hover,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 .elementor-button:hover {
	color: #fff;
	background: var(--lm-h-blauw-diep);
	box-shadow: 0 10px 22px -10px rgba(19, 90, 131, 0.65);
	transform: translateY(-1px);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278 .elementor-button:focus,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 .elementor-button:focus {
	color: #fff;
	background: var(--lm-h-blauw);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278 .elementor-button:focus-visible,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 .elementor-button:focus-visible {
	outline: 2px solid var(--lm-h-blauw);
	outline-offset: 3px;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278 .elementor-button .elementor-align-icon-left,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 .elementor-button .elementor-align-icon-left {
	margin-right: 9px;
	font-size: 14px;
}

/* Uitloggen: rustige tekstlink naast de pil */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-46746af > .elementor-widget-container {
	padding: 0 0 0 6px;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-46746af .elementor-button {
	min-height: 42px;
	padding: 0 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 42px;
	color: var(--lm-h-tekst);
	background: transparent;
	border-radius: 6px;
	box-shadow: none;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: color 0.15s, text-decoration-color 0.15s;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-46746af .elementor-button:hover,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-46746af .elementor-button:focus {
	color: var(--lm-h-navy);
	background: transparent;
	text-decoration-color: currentColor;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-46746af .elementor-button:focus-visible {
	outline: 2px solid var(--lm-h-blauw);
	outline-offset: 2px;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-46746af .elementor-button-icon {
	display: none;
}

/* Kleinere laptops: alles iets compacter, zodat menu en accountknop op één regel passen */
@media (min-width: 1280px) and (max-width: 1439px) {
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a8dc052 {
		padding-right: 16px;
		padding-left: 16px;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a8dc052 > .elementor-container {
		gap: 12px;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-db4b4ec img {
		width: 148px;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main .elementor-item {
		padding-right: 9px;
		padding-left: 9px;
		font-size: 14px;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item::after {
		right: 9px;
		left: 9px;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 > .elementor-widget-container {
		padding-right: 2px;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-1c0f278 .elementor-button,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-63c23c0 .elementor-button {
		padding: 0 17px;
		font-size: 14px;
	}
}

/* Smalle desktop: het volledige menu past niet, dus het menuknopje zoals op tablet */
@media (min-width: 1025px) and (max-width: 1279px) {
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main {
		display: none;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-menu-toggle {
		display: flex;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		display: block;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 {
		order: 5;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 > .elementor-widget-container {
		padding: 0 0 0 10px;
	}
}

/* Menuknopje (tablet, mobiel en smalle desktop) */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-menu-toggle {
	width: 44px;
	height: 44px;
	padding: 0;
	font-size: 22px;
	color: var(--lm-h-navy);
	background: transparent;
	border-radius: 50%;
	transition: background-color 0.15s;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-menu-toggle:hover,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-menu-toggle.elementor-active {
	color: var(--lm-h-blauw);
	background: var(--lm-h-zacht);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-menu-toggle:focus-visible {
	outline: 2px solid var(--lm-h-blauw);
	outline-offset: 2px;
}

/* Uitgeklapt menu (tablet, mobiel en smalle desktop) */
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown {
	border-top: 1px solid var(--lm-h-lijn);
	box-shadow: 0 24px 40px -20px rgba(0, 30, 55, 0.3);
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-sub-item {
	padding: 14px 24px;
	font-size: 16px;
	font-weight: 600;
	color: var(--lm-h-navy);
	background: transparent;
	border-bottom: 1px solid #f0f4f7;
}

.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-item.highlighted,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active {
	color: var(--lm-h-blauw);
	background: var(--lm-h-zacht);
}

/* ---------- Tablet en mobiel: ronde icoonknoppen ---------- */
@media (max-width: 1024px) {
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-e4725ce > .elementor-widget-wrap {
		flex-wrap: nowrap;
		gap: 2px;
	}

	/* Volgorde: account, winkelwagen, menu */
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa {
		order: 1;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 {
		order: 2;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 {
		order: 3;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 > .elementor-widget-container {
		padding: 0;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa {
		margin: 0;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353 .elementor-icon-list-item,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa .elementor-icon-list-item {
		margin: 0;
		padding: 0;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353 .elementor-icon-list-text,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa .elementor-icon-list-text {
		display: none;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353 .elementor-icon-list-item > a,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa .elementor-icon-list-item > a {
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		border-radius: 50%;
		transition: background-color 0.15s;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353 .elementor-icon-list-item > a:hover,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa .elementor-icon-list-item > a:hover {
		background: var(--lm-h-zacht);
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353 .elementor-icon-list-icon,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa .elementor-icon-list-icon {
		margin: 0;
		padding: 0;
		top: 0;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353 .elementor-icon-list-icon i,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa .elementor-icon-list-icon i {
		font-size: 20px;
		color: var(--lm-h-navy);
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d26e353 .elementor-icon-list-icon svg,
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-d79d4aa .elementor-icon-list-icon svg {
		width: 20px;
		height: 20px;
		fill: var(--lm-h-navy);
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 > .elementor-widget-container {
		padding: 0;
	}

	.elementor-location-header.elementor-12 .elementor-element.elementor-element-cf90958 .elementor-icon {
		width: 44px;
		height: 44px;
		font-size: 19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-location-header.elementor-12 .elementor-element.elementor-element-a3fbcb4 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item::after,
	.elementor-location-header.elementor-12 .elementor-button {
		transition: none;
	}
}
