@media (min-width: 1025px) {
	.nr-mobile-menu,
	.nr-mobile-menu-overlay {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	body.nr-mobile-menu-open {
		overflow: hidden;
		touch-action: none;
	}

	.elementor-24 .elementor-element.elementor-element-7972b32 .e-n-menu-wrapper {
		display: none !important;
	}

	.elementor-24 .elementor-element.elementor-element-7972b32 .e-n-menu-toggle {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		color: #058343 !important;
		display: inline-flex !important;
		justify-content: center !important;
		min-height: 44px !important;
		min-width: 44px !important;
		padding: 8px !important;
		position: relative;
		z-index: 2147483647;
	}

	.nr-mobile-menu-overlay {
		background: rgba(18, 19, 20, 0.44);
		inset: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		transition: opacity 180ms ease;
		z-index: 2147483638;
	}

	body.nr-mobile-menu-open .nr-mobile-menu-overlay {
		opacity: 1;
		pointer-events: auto;
	}

	.nr-mobile-menu {
		background: #ffffff;
		box-shadow: -12px 0 30px rgba(18, 19, 20, 0.18);
		color: #2c2f35;
		display: flex;
		flex-direction: column;
		font-family: Inter, sans-serif;
		height: 100svh;
		inset: 0 0 0 auto;
		max-width: 420px;
		opacity: 0;
		position: fixed;
		transform: translateX(105%);
		transition: transform 220ms ease, opacity 220ms ease;
		width: min(92vw, 420px);
		z-index: 2147483639;
	}

	body.nr-mobile-menu-open .nr-mobile-menu {
		opacity: 1;
		transform: translateX(0);
	}

	.nr-mobile-menu__inner {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-height: 0;
	}

	.nr-mobile-menu__top {
		align-items: center;
		background: #ffffff;
		border-bottom: 1px solid #e6edf4;
		display: flex;
		justify-content: space-between;
		padding: 18px 24px 16px;
	}

	.nr-mobile-menu__brand {
		align-items: center;
		display: inline-flex;
		min-width: 0;
		text-decoration: none;
	}

	.nr-mobile-menu__brand img {
		display: block;
		height: auto;
		max-height: 44px;
		max-width: 190px;
		width: auto;
	}

	.nr-mobile-menu__close {
		align-items: center;
		background: transparent !important;
		border: 0;
		border-radius: 4px;
		box-shadow: none !important;
		color: #058343 !important;
		cursor: pointer;
		display: inline-flex;
		height: 38px;
		justify-content: center;
		padding: 0;
		width: 38px;
	}

	.nr-mobile-menu__close:focus-visible {
		background: transparent !important;
		color: #058343 !important;
		outline: 2px solid rgba(66, 71, 75, 0.28) !important;
		outline-offset: 3px;
	}

	.nr-mobile-menu__close svg {
		height: 16px;
		width: 16px;
	}

	.nr-mobile-menu__body {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		padding: 20px 24px 28px;
	}

	.nr-mobile-menu__actions {
		align-items: center;
		border-bottom: 1px solid #e6edf4;
		display: flex;
		gap: clamp(24px, 9vw, 38px);
		justify-content: center;
		margin-bottom: 18px;
		padding-bottom: 18px;
	}

	.nr-mobile-menu__action {
		align-items: center;
		background: transparent !important;
		border: 0 !important;
		border-radius: 4px;
		box-shadow: none;
		color: #058343 !important;
		cursor: pointer;
		display: inline-flex;
		flex-direction: column;
		font-family: Inter, sans-serif;
		font-size: 13px;
		font-weight: 700;
		gap: 6px;
		justify-content: center;
		line-height: 1.1;
		min-height: 54px;
		min-width: 64px;
		padding: 4px 0;
		text-align: center;
		text-decoration: none;
	}

	.nr-mobile-menu__action svg {
		display: block;
		fill: currentColor;
		height: 25px;
		width: 25px;
	}

	.nr-mobile-menu__action:focus-visible {
		background: transparent !important;
		color: #058343 !important;
		outline: 2px solid rgba(66, 71, 75, 0.22);
		outline-offset: 4px;
	}

	.nr-mobile-menu__search {
		background: #ffffff;
		border: 1px solid #cfd7e3;
		border-radius: 5px;
		box-shadow: none;
		display: none;
		gap: 0;
		margin: 0 0 18px;
		overflow: hidden;
	}

	.nr-mobile-menu__search.is-open {
		display: flex;
	}

	.nr-mobile-menu__search input {
		background: #ffffff;
		border: 0;
		color: #2c2f35;
		flex: 1 1 auto;
		font-family: Inter, sans-serif;
		font-size: 15px;
		min-height: 52px;
		min-width: 0;
		outline: none;
		padding: 0 14px;
	}

	.nr-mobile-menu__search button {
		align-items: center;
		background: #058343;
		border: 0;
		color: #ffffff;
		cursor: pointer;
		display: inline-flex;
		font-family: Inter, sans-serif;
		font-size: 15px;
		font-weight: 700;
		justify-content: center;
		min-height: 52px;
		padding: 0 16px;
	}

	.nr-mobile-menu__search button:focus-visible {
		background: #046B37;
	}

	.nr-mobile-menu__primary {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.nr-mobile-menu__link,
	.nr-mobile-menu__summary {
		align-items: center;
		background: #ffffff;
		border: 0;
		border-bottom: 1px solid #e6edf4;
		border-radius: 0;
		color: #058343 !important;
		display: flex;
		font-family: Oswald, sans-serif !important;
		font-size: 22px !important;
		font-weight: 700 !important;
		justify-content: space-between;
		line-height: 1.1;
		letter-spacing: 0.015em;
		padding: 17px 0;
		text-decoration: none;
		text-transform: uppercase;
	}

	.nr-mobile-menu__link:focus-visible,
	.nr-mobile-menu__summary:focus-visible {
		color: #058343;
		outline: none;
	}

	.nr-mobile-menu__summary {
		cursor: pointer;
		list-style: none;
	}

	.nr-mobile-menu__summary::-webkit-details-marker {
		display: none;
	}

	.nr-mobile-menu__summary::after {
		border-bottom: 2px solid currentColor;
		border-right: 2px solid currentColor;
		content: "";
		height: 8px;
		transform: rotate(45deg);
		transition: transform 160ms ease;
		width: 8px;
	}

	.nr-mobile-menu details[open] > .nr-mobile-menu__summary::after {
		transform: rotate(225deg);
	}

	.nr-mobile-menu__product-content {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 4px 0 8px;
	}

	.nr-mobile-menu__section {
		background: #ffffff;
		border: 0;
		border-bottom: 1px solid #e6edf4;
		border-radius: 0;
		overflow: hidden;
	}

	.nr-mobile-menu__section > summary {
		border: 0;
		border-radius: 0;
		color: #058343 !important;
		font-family: Oswald, sans-serif !important;
		font-size: 22px !important;
		font-weight: 700 !important;
		letter-spacing: 0.015em;
		line-height: 1.1;
		padding: 15px 0;
		text-transform: uppercase;
	}

	.nr-mobile-menu__group {
		border-top: 1px solid #edf2f7;
		padding: 13px 0 14px;
	}

	.nr-mobile-menu__group-title {
		color: #2c2f35;
		font-family: Oswald, sans-serif;
		font-size: 17px;
		font-weight: 800;
		letter-spacing: 0.01em;
		line-height: 1.1;
		margin: 0 0 8px;
		text-transform: uppercase;
	}

	.nr-mobile-menu__items {
		display: flex;
		flex-direction: column;
		gap: 2px;
	}

	.nr-mobile-menu__items a {
		color: #2c2f35;
		display: block;
		font-family: Inter, sans-serif;
		font-size: 16px;
		font-weight: 600;
		line-height: 1.25;
		padding: 7px 0;
		text-decoration: none;
	}

	.nr-mobile-menu__items a:focus-visible {
		color: #058343;
		outline: none;
	}

	/* Produkter is open from the start and its groups (Rørmerking, Andre
	   områder) are plain headed lists rather than nested <details>, so the tape
	   types (TIP, Mini-TIP, Shipping/Offshore, ...) show without extra taps.
	   Their subcategories (TIP-Standard, ...) open with the arrow button next to
	   the link; see .nr-mobile-menu__sub below. */
	.nr-mobile-menu__section {
		border-bottom: 1px solid #e6edf4;
		padding: 12px 0 10px;
	}

	.nr-mobile-menu__section-title {
		color: #058343;
		font-family: Oswald, sans-serif;
		font-size: 17px;
		font-weight: 700;
		letter-spacing: 0.015em;
		line-height: 1.1;
		margin: 0 0 6px;
		text-transform: uppercase;
	}

	.nr-mobile-menu__section .nr-mobile-menu__group {
		border-top: 0;
		padding: 0;
	}

	/* A category with subcategories: the link keeps going to the category, the
	   button next to it shows the subcategories (built in mobile-menu.js from
	   the desktop mega menu). */
	.nr-mobile-menu__sub-head {
		align-items: center;
		display: flex;
		gap: 8px;
		justify-content: space-between;
		/* The 40px button would make these rows taller than the plain links. */
		margin: -3px 0;
	}

	.nr-mobile-menu__sub-head > a {
		flex: 1 1 auto;
		min-width: 0;
	}

	/* The button stays inside the section (overflow: hidden): a negative
	   margin made the section scroll sideways by 10px and cut off the focus
	   ring. The arrow sits at the right of the button instead, where the
	   negative margin used to put it. */
	.nr-mobile-menu__sub-toggle {
		align-items: center;
		background: transparent !important;
		border: 0 !important;
		border-radius: 4px;
		box-shadow: none !important;
		color: #058343 !important;
		cursor: pointer;
		display: inline-flex;
		flex: 0 0 auto;
		height: 40px;
		justify-content: flex-end;
		margin-right: 0;
		padding: 0 !important;
		width: 44px;
	}

	.nr-mobile-menu__sub-toggle::after {
		border-bottom: 2px solid currentColor;
		border-right: 2px solid currentColor;
		content: "";
		height: 7px;
		margin-right: 8px;
		margin-top: -4px;
		transform: rotate(45deg);
		transition: transform 160ms ease;
		width: 7px;
	}

	.nr-mobile-menu__sub-toggle[aria-expanded="true"]::after {
		margin-top: 3px;
		transform: rotate(225deg);
	}

	.nr-mobile-menu__sub-toggle:focus-visible {
		outline: 2px solid #058343;
		outline-offset: -2px;
	}

	.nr-mobile-menu__sub-items {
		border-left: 2px solid #e6edf4;
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0 0 6px 2px;
		padding-left: 14px;
	}

	.nr-mobile-menu__sub-items[hidden] {
		display: none;
	}

	.nr-mobile-menu__items .nr-mobile-menu__sub-items a {
		color: #42474b;
		font-size: 15px;
		font-weight: 500;
		padding: 6px 0;
	}

	.nr-mobile-menu__items .nr-mobile-menu__section-all {
		color: #058343;
		font-weight: 700;
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	.nr-mobile-menu__all {
		color: #058343 !important;
		display: block;
		font-family: Inter, sans-serif;
		font-size: 16px;
		font-weight: 700;
		padding: 12px 0 14px;
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	@media (hover: hover) and (pointer: fine) {
		.nr-mobile-menu__close:hover,
		.nr-mobile-menu__action:hover,
		.nr-mobile-menu__link:hover,
		.nr-mobile-menu__summary:hover,
		.nr-mobile-menu__all:hover,
		.nr-mobile-menu__items a:hover,
		.nr-mobile-menu__sub-toggle:hover {
			color: #046B37 !important;
		}

		.nr-mobile-menu__search button:hover {
			background: #046B37;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.nr-mobile-menu-overlay,
		.nr-mobile-menu,
		.nr-mobile-menu__summary::after,
		.nr-mobile-menu__sub-toggle::after {
			transition: none !important;
		}
	}
}
