/**
 * «Finn din Haneseth». Selectors use two classes so they win over the
 * Elementor kit's and Hello's global button/input/link styles.
 */

:root {
	--fdh-bla: var(--e-global-color-primary, #002e66);
	--fdh-morkest: #001f44;
	--fdh-turkis: var(--e-global-color-accent, #1fa1bf);
	--fdh-turkis-lys: #85cee0;
	--fdh-korall: #ff6e6e;
	--fdh-krem: #fff7ed;
	--fdh-krem-mork: #f6e5d2;
	--fdh-gra: #6b7a90;
	--fdh-feil-lys: #ff8f8f;
	--fdh-feil-mork: #c7302e;
	--fdh-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.fdh-omrade[hidden],
.fdh-panel[hidden],
.fdh-panel-bakgrunn[hidden],
.fdh-skjema__melding[hidden] {
	display: none !important;
}

/* Shared: text-style button/link ------------------------------------------- */

.fdh-resultater .fdh-lenke,
.fdh-panel .fdh-lenke,
.fdh-tjenester-viser .fdh-lenke {
	background: none;
	border: 0;
	border-radius: 0;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	letter-spacing: normal;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fdh-resultater .fdh-lenke:hover,
.fdh-panel .fdh-lenke:hover,
.fdh-tjenester-viser .fdh-lenke:hover {
	background: none;
	color: inherit;
	text-decoration-thickness: 2px;
}

/* Postcode form -------------------------------------------------------------- */

.fdh-skjema {
	font-family: var(--fdh-font);
	margin: 0;
}

.fdh-skjema .fdh-skjema__etikett {
	color: var(--fdh-turkis-lys);
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 10px;
}

.fdh-skjema .fdh-skjema__rad {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.fdh-skjema .fdh-skjema__felt {
	background: #fff;
	border: 2px solid transparent;
	border-radius: 999px;
	color: var(--fdh-bla);
	font-family: var(--fdh-font);
	font-size: 16px;
	height: 48px;
	line-height: 1;
	padding: 0 22px;
	width: 220px;
}

.fdh-skjema .fdh-skjema__felt::placeholder {
	color: #8a96a8;
	opacity: 1;
}

.fdh-skjema .fdh-skjema__felt:focus {
	border-color: var(--fdh-turkis-lys);
	outline: 2px solid transparent;
}

.fdh-skjema .fdh-skjema__felt.er-feil {
	border-color: var(--fdh-korall);
}

.fdh-skjema .fdh-skjema__felt.er-ok {
	border-color: var(--fdh-turkis-lys);
}

.fdh-skjema .fdh-skjema__knapp {
	background: var(--fdh-turkis-lys);
	border: 0;
	border-radius: 999px;
	color: var(--fdh-bla);
	font-family: var(--fdh-font);
	font-size: 15px;
	font-weight: 600;
	height: 48px;
	letter-spacing: -0.1px;
	padding: 0 22px;
	transition: background-color 0.2s;
}

.fdh-skjema .fdh-skjema__knapp:hover,
.fdh-skjema .fdh-skjema__knapp:focus-visible {
	background: #a8dcea;
	color: var(--fdh-bla);
}

.fdh-skjema .fdh-skjema__knapp:disabled {
	cursor: progress;
	opacity: 0.7;
}

.fdh-skjema .fdh-skjema__melding {
	align-items: baseline;
	display: flex;
	font-size: 13.5px;
	gap: 8px;
	line-height: 1.4;
	margin: 12px 0 0 20px;
}

.fdh-skjema .fdh-skjema__melding::before {
	background: currentColor;
	border-radius: 50%;
	content: "";
	flex: none;
	height: 7px;
	transform: translateY(-1px);
	width: 7px;
}

.fdh-skjema .fdh-skjema__melding.er-feil {
	color: var(--fdh-feil-lys);
}

.fdh-skjema .fdh-skjema__melding.er-ok {
	color: var(--fdh-turkis-lys);
}

.fdh-skjema .fdh-skjema__hint {
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	line-height: 1.4;
	margin: 14px 0 0;
}

/* Light variant (panel, results page) */

.fdh-skjema--lys .fdh-skjema__etikett {
	color: var(--fdh-bla);
}

.fdh-skjema--lys .fdh-skjema__felt {
	border-color: var(--fdh-bla);
}

.fdh-skjema--lys .fdh-skjema__felt:focus {
	border-color: var(--fdh-turkis);
}

.fdh-skjema--lys .fdh-skjema__knapp {
	background: var(--fdh-bla);
	color: #fff;
}

.fdh-skjema--lys .fdh-skjema__knapp:hover,
.fdh-skjema--lys .fdh-skjema__knapp:focus-visible {
	background: var(--fdh-morkest);
	color: #fff;
}

.fdh-skjema--lys .fdh-skjema__melding.er-feil {
	color: var(--fdh-feil-mork);
}

.fdh-skjema--lys .fdh-skjema__melding.er-ok {
	color: #137a96;
}

.fdh-skjema--lys .fdh-skjema__hint {
	color: var(--fdh-gra);
}

@media (max-width: 767px) {
	.fdh-skjema .fdh-skjema__rad {
		flex-direction: column;
	}

	.fdh-skjema .fdh-skjema__felt,
	.fdh-skjema .fdh-skjema__knapp {
		height: 52px;
		width: 100%;
	}
}

/* Header chip ---------------------------------------------------------------- */

.fdh-omrade-widget {
	display: none;
	order: -1; /* The menu container is row-reverse: -1 puts the chip right of the menu. */
}

html.fdh-har-omrade .fdh-omrade-widget {
	display: block;
}

/* The menu container is row-reverse: pack chip and menu together at the right. */
.e-con:has(> .fdh-omrade-widget),
.e-con-inner:has(> .fdh-omrade-widget) {
	align-items: center;
	column-gap: 28px;
	justify-content: flex-start;
}

.fdh-omrade .fdh-chip {
	align-items: center;
	background: transparent;
	border: 2px solid var(--fdh-turkis-lys);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-family: var(--fdh-font);
	font-size: 15px;
	font-weight: 600;
	gap: 8px;
	letter-spacing: -0.1px;
	line-height: 1;
	padding: 9px 16px;
	white-space: nowrap;
}

.fdh-omrade .fdh-chip:hover,
.fdh-omrade .fdh-chip:focus-visible,
.fdh-omrade .fdh-chip[aria-expanded="true"] {
	background: var(--fdh-turkis-lys);
	color: var(--fdh-bla);
}

.fdh-omrade .fdh-chip__prikk {
	background: var(--fdh-turkis-lys);
	border-radius: 50%;
	height: 8px;
	width: 8px;
}

.fdh-omrade .fdh-chip:hover .fdh-chip__prikk,
.fdh-omrade .fdh-chip:focus-visible .fdh-chip__prikk,
.fdh-omrade .fdh-chip[aria-expanded="true"] .fdh-chip__prikk {
	background: var(--fdh-bla);
}

.fdh-omrade .fdh-chip__sted {
	margin-left: -3px;
}

.fdh-omrade .fdh-chip__pil {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	height: 0;
	margin-left: -2px;
	transition: transform 0.2s;
	width: 0;
}

.fdh-omrade .fdh-chip[aria-expanded="true"] .fdh-chip__pil {
	transform: rotate(180deg);
}

/* The header menu never wraps; the rules below make room for it. */
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu {
	flex-wrap: nowrap;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item {
	white-space: nowrap;
}

/* Laptop widths: the chip shows only the postcode. */
@media (min-width: 1025px) and (max-width: 1519px) {
	.fdh-omrade .fdh-chip__sted {
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.e-con:has(> .fdh-omrade-widget),
	.e-con-inner:has(> .fdh-omrade-widget) {
		column-gap: 16px;
	}
}

@media (min-width: 1280px) and (max-width: 1519px) {
	html.fdh-har-omrade .elementor-location-header .elementor-nav-menu--main .elementor-item {
		margin-inline: 4px !important;
		padding-inline: 10px !important;
	}
}

/* Small laptops: the menu wrapped here even without the chip. */
@media (min-width: 1025px) and (max-width: 1279px) {
	.elementor-location-header > .e-con.e-parent {
		padding-inline: 24px !important;
	}

	.elementor-location-header .elementor-nav-menu--main .elementor-item {
		font-size: 15px !important;
		margin-inline: 2px !important;
		padding-inline: 7px !important;
	}
}

/* Hamburger menu from tablet down: chip sits to the left of it (its DOM position). */
@media (max-width: 1024px) {
	.fdh-omrade-widget {
		order: 0;
	}

	html.fdh-har-omrade .e-con:has(> .fdh-omrade-widget),
	html.fdh-har-omrade .e-con-inner:has(> .fdh-omrade-widget) {
		column-gap: 14px;
		flex-wrap: nowrap;
	}

	html.fdh-har-omrade .e-con:has(> .fdh-omrade-widget) > .elementor-widget-nav-menu,
	html.fdh-har-omrade .e-con-inner:has(> .fdh-omrade-widget) > .elementor-widget-nav-menu {
		flex: 0 0 auto;
		width: auto;
	}
}

@media (max-width: 767px) {
	.fdh-omrade .fdh-chip {
		font-size: 14px;
		padding: 7px 13px;
	}

	.fdh-omrade .fdh-chip__sted {
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}
}

/* «Ditt område» panel -------------------------------------------------------- */

.fdh-panel {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 18px 50px rgba(0, 20, 50, 0.28);
	color: var(--fdh-bla);
	font-family: var(--fdh-font);
	opacity: 0;
	padding: 28px;
	position: absolute;
	transform: translateY(-6px);
	transition: opacity 0.2s, transform 0.2s;
	width: min(380px, calc(100vw - 32px));
	z-index: 10000;
}

.fdh-panel.er-apen {
	opacity: 1;
	transform: none;
}

.fdh-panel .fdh-panel__handtak {
	display: none;
}

.fdh-panel .fdh-panel__tittel {
	color: var(--fdh-bla);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.4px;
	margin: 0 0 10px;
}

.fdh-panel .fdh-panel__tekst {
	color: var(--fdh-gra);
	font-size: 15px;
	line-height: 1.45;
	margin: 0 0 18px;
}

.fdh-panel .fdh-panel__na {
	background: var(--fdh-krem);
	border-radius: 10px;
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 20px;
	padding: 14px 18px;
}

.fdh-panel .fdh-skjema__rad {
	flex-direction: column;
}

.fdh-panel .fdh-skjema__felt,
.fdh-panel .fdh-skjema__knapp {
	height: 52px;
	width: 100%;
}

.fdh-panel .fdh-panel__fjern {
	color: var(--fdh-bla);
	font-size: 15px;
	margin-top: 20px;
}

.fdh-panel-bakgrunn {
	background: rgba(0, 15, 35, 0.6);
	inset: 0;
	opacity: 0;
	position: fixed;
	transition: opacity 0.2s;
	z-index: 9999;
}

.fdh-panel-bakgrunn.er-apen {
	opacity: 1;
}

/* Mobile: bottom sheet */
.fdh-panel.fdh-panel--ark {
	border-radius: 24px 24px 0 0;
	bottom: 0;
	left: 0;
	max-height: 90vh;
	overflow-y: auto;
	padding: 14px 24px calc(28px + env(safe-area-inset-bottom));
	position: fixed;
	right: 0;
	top: auto;
	transform: translateY(100%);
	transition: opacity 0.2s, transform 0.25s ease-out;
	width: 100%;
}

.fdh-panel.fdh-panel--ark.er-apen {
	transform: none;
}

.fdh-panel.fdh-panel--ark .fdh-panel__handtak {
	background: #c3cbd6;
	border-radius: 3px;
	display: block;
	height: 5px;
	margin: 0 auto 22px;
	width: 44px;
}

/* Front page service cards ---------------------------------------------------- */

.fdh-tittel-rad {
	align-items: baseline;
	column-gap: 18px;
	display: flex;
	flex-wrap: wrap;
}

.fdh-tittel-rad .fdh-tjenester-viser {
	color: var(--fdh-turkis-lys);
	font-family: var(--fdh-font);
	font-size: 14px;
	margin: 0;
}

.fdh-tjenester .fdh-kortboks {
	background: var(--fdh-morkest);
	border-radius: 6px;
	color: #fff;
	display: block;
	font-family: var(--fdh-font);
	margin: 2px 0 6px;
	padding: 12px 14px;
	text-decoration: none;
	transition: background-color 0.2s;
	width: 100%;
}

.fdh-tjenester a.fdh-kortboks:hover {
	background: #00183a;
	color: #fff;
}

.fdh-tjenester .fdh-kortboks__etikett {
	display: block;
	font-size: 11.5px;
	margin-bottom: 3px;
	opacity: 0.85;
}

.fdh-tjenester .fdh-kortboks__navn {
	color: var(--fdh-turkis-lys);
	display: block;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.4;
}

.fdh-tjenester a.fdh-kortboks:hover .fdh-kortboks__navn {
	text-decoration: underline;
}

.fdh-tjenester .fdh-kortboks__sted {
	display: block;
	font-size: 11.5px;
	margin-top: 3px;
	opacity: 0.7;
}

.fdh-tjenester .fdh-kortboks--ikke {
	background: transparent;
	border: 1.5px dashed rgba(133, 206, 224, 0.5);
}

.fdh-tjenester .fdh-kortboks__lokasjoner {
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fdh-tjenester .fdh-kortboks__lokasjoner:hover {
	color: var(--fdh-turkis-lys);
}

.fdh-tjeneste--utilgjengelig .elementor-icon-box-icon {
	opacity: 0.4;
}

/* Results page ------------------------------------------------------------------- */

body.fdh-resultatside {
	background: var(--fdh-krem);
}

.fdh-resultater {
	color: var(--fdh-bla);
	font-family: var(--fdh-font);
	margin: 0 auto;
	max-width: 1050px;
	padding: 64px 0 96px;
}

.fdh-resultater .fdh-resultater__overtittel {
	color: var(--fdh-turkis);
	font-size: 13px;
	font-weight: 500;
	margin: 0 0 6px;
}

.fdh-resultater .fdh-resultater__tittel {
	color: var(--fdh-bla);
	font-size: 44px;
	font-weight: 700;
	letter-spacing: -0.8px;
	line-height: 1.1;
	margin: 0 0 22px;
}

.fdh-resultater .fdh-resultater__omrade {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	gap: 14px;
	margin: 0 0 22px;
}

.fdh-resultater .fdh-pille {
	border: 1.5px solid var(--fdh-bla);
	border-radius: 999px;
	font-weight: 600;
	padding: 8px 16px;
}

.fdh-resultater .fdh-resultater__ingress {
	font-size: 16px;
	line-height: 1.45;
	margin: 0 0 28px;
	max-width: 780px;
}

.fdh-resultater .fdh-rad {
	border-top: 1.5px solid var(--fdh-turkis);
	display: grid;
	gap: 16px 40px;
	grid-template-columns: 220px 1fr;
	padding: 32px 0;
}

.fdh-resultater .fdh-rad__tittel {
	color: var(--fdh-bla);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.3px;
	margin: 0;
}

.fdh-resultater .fdh-rad__antall {
	color: var(--fdh-gra);
	font-size: 12.5px;
	margin: 6px 0 0;
}

/* Rows with many companies (up to five for Automasjon) wrap onto more lines in
   the same columns instead of overflowing the page. */
.fdh-resultater .fdh-rad__kontorer {
	display: grid;
	gap: 28px 64px;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

/* Cards on a line stretch to the tallest one and push the button to the bottom,
   so the «Send forespørsel» buttons line up. */
.fdh-resultater .fdh-kontor {
	display: flex;
	flex-direction: column;
	max-width: 300px;
	min-width: 0;
}

.fdh-resultater .fdh-kontor .fdh-knapp {
	align-self: flex-start;
	margin-top: auto;
	white-space: nowrap;
}

.fdh-resultater .fdh-kontor__navn {
	color: var(--fdh-bla);
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 4px;
}

.fdh-resultater .fdh-kontor__adresse {
	font-size: 13px;
	margin: 0 0 10px;
}

.fdh-resultater .fdh-kontor__lenker {
	font-size: 13px;
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}

.fdh-resultater .fdh-kontor__lenker li::before {
	content: "› ";
	font-weight: 600;
}

.fdh-resultater .fdh-kontor__lenker a {
	color: var(--fdh-bla);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fdh-resultater .fdh-knapp {
	border-radius: 999px;
	display: inline-block;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1;
	padding: 10px 18px;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.fdh-resultater .fdh-knapp--korall {
	background: var(--fdh-korall);
	color: var(--fdh-bla);
}

.fdh-resultater .fdh-knapp--korall:hover {
	background: #ff8787;
	color: var(--fdh-bla);
}

.fdh-resultater .fdh-knapp--omriss {
	border: 1.5px solid var(--fdh-bla);
	color: var(--fdh-bla);
}

.fdh-resultater .fdh-knapp--omriss:hover {
	background: var(--fdh-bla);
	color: #fff;
}

.fdh-resultater .fdh-ikke-tilgjengelig {
	background: var(--fdh-krem-mork);
	border-radius: 8px;
	margin-top: 24px;
	padding: 26px 24px;
}

.fdh-resultater .fdh-ikke-tilgjengelig__tittel {
	color: var(--fdh-bla);
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 10px;
}

.fdh-resultater .fdh-ikke-tilgjengelig__liste {
	font-size: 14px;
	margin: 0 0 8px;
}

.fdh-resultater .fdh-ikke-tilgjengelig__tekst {
	color: #9a8f84;
	font-size: 13.5px;
	margin: 0 0 16px;
}

.fdh-resultater--tom .fdh-skjema {
	margin-top: 8px;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.fdh-resultater .fdh-rad__kontorer {
		column-gap: 32px;
	}
}

@media (max-width: 767px) {
	.fdh-resultater {
		padding: 32px 4px 64px;
	}

	.fdh-resultater .fdh-resultater__tittel {
		font-size: 32px;
	}

	.fdh-resultater .fdh-pille__etikett {
		display: none;
	}

	.fdh-resultater .fdh-rad {
		grid-template-columns: 1fr;
		padding: 26px 0 30px;
	}

	.fdh-resultater .fdh-rad__kontorer {
		gap: 0;
		grid-template-columns: 1fr;
	}

	.fdh-resultater .fdh-kontor {
		max-width: none;
	}

	.fdh-resultater .fdh-kontor + .fdh-kontor {
		border-top: 1px solid rgba(0, 46, 102, 0.15);
		margin-top: 22px;
		padding-top: 22px;
	}
}
