/* Digitalhjelp – små tillegg som theme.json ikke dekker. */

/* Overtittel (avsnittsstil) */
.is-style-dh-overtittel {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0;
}
.is-style-dh-overtittel.dh-dempet { color: var(--wp--preset--color--muted); }

/* Kort (gruppestil) */
.wp-block-group.is-style-dh-kort,
.wp-block-columns.is-style-dh-kort {
	background: var(--wp--preset--color--surface);
	border: 1px solid #E2E8F0;
	border-radius: var(--wp--custom--radius--card);
	padding: clamp(24px, 3vw, 40px);
}
.dh-tilbudskort { box-shadow: 0 30px 60px -30px rgba(15, 23, 42, 0.12); }

/* Tallrad (gruppestil) */
.wp-block-group.is-style-dh-tall {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	gap: 0 !important;
}
.wp-block-group.is-style-dh-tall > * {
	padding: 32px;
	gap: 4px;
	border-left: 1px solid var(--wp--preset--color--line);
}
.wp-block-group.is-style-dh-tall > *:first-child { border-left: 0; padding-left: 0; }
.wp-block-group.is-style-dh-tall p { margin: 0; }

/* Typografiske hjelpeklasser */
.dh-stort-tall,
.dh-pris,
.dh-nummer {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
}
.dh-stort-tall { font-size: clamp(34px, 3.4vw, 44px); }
.dh-pris { font-size: clamp(40px, 4.4vw, 56px); margin: 0; }
.dh-nummer { font-size: 15px; color: var(--wp--preset--color--accent); }

.dh-merke {
	display: inline-block;
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	background: var(--wp--preset--color--success-tint);
	color: var(--wp--preset--color--success);
}
.dh-infoboks {
	margin: 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--body);
}

/* Hakeliste (listestil) */
.is-style-dh-hake {
	list-style: none;
	padding-left: 0;
	display: grid;
	gap: 10px;
}
.is-style-dh-hake li {
	position: relative;
	padding-left: 32px;
}
.is-style-dh-hake li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 20px;
	height: 20px;
	background: var(--wp--preset--color--success);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Stiplet boks */
.dh-stiplet {
	padding: 24px 32px;
	border: 1px dashed #CBD5E1;
	border-radius: 12px;
}
.dh-stiplet p { margin: 0; }

/* Spørsmål og svar (detaljer-stil) */
.wp-block-details.is-style-dh-faq summary {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	letter-spacing: -0.01em;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 24px;
}
.wp-block-details.is-style-dh-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-dh-faq summary::after {
	content: "+";
	font-weight: 500;
	color: var(--wp--preset--color--accent);
	transition: transform 0.2s ease;
}
.wp-block-details.is-style-dh-faq[open] summary::after { transform: rotate(45deg); }
.wp-block-details.is-style-dh-faq:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }

/* Sitat */
.wp-block-quote cite {
	display: block;
	margin-top: 20px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 16px;
	font-style: normal;
	color: var(--wp--preset--color--muted);
}

/* Knapper */
.dh-knapp-liten .wp-block-button__link { padding: 11px 20px; font-size: 15px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--paper);
	border-color: #CBD5E1;
	color: var(--wp--preset--color--ink);
}
.has-accent-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}
.dh-knapp-lys .wp-block-button__link { border-color: var(--wp--preset--color--surface); }
.dh-knapp-lys .wp-block-button__link:hover { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); }

/* Topp og bunn */
.dh-topp { position: sticky; top: 0; z-index: 50; }
.admin-bar .dh-topp { top: 32px; }
.dh-topp p { margin: 0; }
.dh-lenkeliste { list-style: none; padding-left: 0; line-height: 1.9; }
.dh-lenkeliste a { text-decoration: none; }
.dh-lenkeliste a:hover { text-decoration: underline; }

/* Lenker i overskrifter arver farge */
h1 a, h2 a, h3 a { color: inherit; text-decoration: none; }
h1 a:hover, h2 a:hover, h3 a:hover { text-decoration: underline; }

/* Pristabell */
.dh-pristabell td:last-child,
.dh-pristabell th:last-child { text-align: right; font-weight: 600; }
.dh-pristabell table { border-radius: 12px; overflow: hidden; }
.dh-pristabell th, .dh-pristabell td { border: 0; padding: 14px 20px; }

/* Mobil */
@media (max-width: 781px) {
	.dh-skjul-mobil { display: none !important; }
	.wp-block-group.is-style-dh-tall > * { border-left: 0; padding: 20px 0; border-top: 1px solid var(--wp--preset--color--line); }
	.wp-block-group.is-style-dh-tall > *:first-child { border-top: 0; }
	.admin-bar .dh-topp { top: 0; }
}

/* Tilgjengelighet */
:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* ---------- Portefølje ---------- */
.dh-prosjektkort { height: 100%; }
.dh-prosjektkort .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
	border-radius: 12px;
	background: #F1F5F9;
	border: 1px solid #E2E8F0;
}
.dh-prosjektkort .wp-block-post-featured-image img { transition: transform 0.4s ease; }
.dh-prosjektkort:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.dh-prosjektkort .wp-block-post-title { margin: 0; }
.dh-prosjektkort .wp-block-post-excerpt { margin: 0; }
.dh-prosjektkort .wp-block-post-excerpt__excerpt { margin: 0; }

.dh-tjenester {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.dh-tjenester a { color: inherit; text-decoration: none; }
.dh-tjenester a:hover { text-decoration: underline; }

.dh-resultat {
	margin: 0;
	padding-top: 12px;
	border-top: 1px solid var(--wp--preset--color--line);
	font-weight: 600;
}
.dh-resultat:empty,
.dh-fakta p:empty { display: none; }

/* Filter (Alle + tjenester) */
.dh-filter p,
.dh-filter .wp-block-categories { margin: 0; }
.dh-filter .wp-block-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
}
.dh-filter a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	background: var(--wp--preset--color--surface);
}
.dh-filter a:hover { border-color: var(--wp--preset--color--ink); }
.post-type-archive-dh_prosjekt .dh-filter__alle a,
.dh-filter .current-cat a {
	background: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

/* Faktarad på prosjektsiden */
.dh-fakta {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.dh-fakta > .wp-block-group { padding: 20px 24px 20px 0; }
.dh-fakta > .wp-block-group p { margin: 0; }
.dh-fakta > .wp-block-group p:last-child { font-weight: 600; }
.dh-fakta > .wp-block-group:not(:has(p:last-child:not(:empty))) { display: none; }
.dh-besok .wp-block-button__link:not([href]),
.dh-besok .wp-block-button__link[href=""] { display: none; }
.dh-tjenester--overtittel { margin-bottom: 0; }

/* ---------- Tjenester ---------- */
.dh-pris .dh-prefiks {
	font-family: var(--wp--preset--font-family--body);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--wp--preset--color--muted);
}
.dh-tjenestekort { height: 100%; box-sizing: border-box; }
.dh-tjenestekort h2 { margin: 0; }
.dh-tjenestekort p { margin: 0; }
.dh-tjenestekort__bunn {
	margin-top: auto !important;
	padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--line);
	width: 100%;
}
.has-ink-background-color .is-style-dh-hake li::before { background: #5EEAD4; }
.has-ink-background-color .is-style-dh-hake { font-size: var(--wp--preset--font-size--large); gap: 14px; }

/* Undermeny */
.wp-block-navigation .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 12px;
	padding: 8px !important;
	background: var(--wp--preset--color--surface) !important;
	box-shadow: 0 20px 40px -20px rgba(15, 23, 42, 0.12);
	min-width: 240px !important;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 12px !important;
	border-radius: 8px;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--paper);
}

/* ---------- Fagstoff ---------- */
.dh-innleggskort { height: 100%; }
.dh-innleggskort .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
	border-radius: 12px;
	background: #F1F5F9;
}
.dh-innleggskort .wp-block-post-featured-image img { transition: transform 0.4s ease; }
.dh-innleggskort:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.dh-innleggskort .wp-block-post-title,
.dh-innleggskort .wp-block-post-excerpt,
.dh-innleggskort .wp-block-post-excerpt__excerpt,
.dh-innleggskort .wp-block-post-date { margin: 0; }

/* Nyeste innlegg stort øverst på første side */
@media (min-width: 900px) {
	body:not(.paged) .dh-innlegg .wp-block-post-template > li:first-child { grid-column: 1 / -1; }
	body:not(.paged) .dh-innlegg .wp-block-post-template > li:first-child .dh-innleggskort {
		display: grid;
		grid-template-columns: 1.4fr 1fr;
		gap: var(--wp--preset--spacing--50);
		align-items: center;
		padding-bottom: var(--wp--preset--spacing--50);
		border-bottom: 1px solid var(--wp--preset--color--line);
	}
	body:not(.paged) .dh-innlegg .wp-block-post-template > li:first-child .wp-block-post-title {
		font-size: var(--wp--preset--font-size--xx-large) !important;
	}
}

/* Artikkel */
.dh-artikkel { font-size: 18px; line-height: 1.75; }
.dh-artikkel > h2 { font-size: clamp(28px, 3vw, 36px); margin-top: 1.8em; }
.dh-artikkel > h3 { font-size: clamp(22px, 2.2vw, 26px); margin-top: 1.6em; }
.dh-artikkel img { border-radius: 10px; }
.dh-artikkel a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dh-artikkel blockquote { font-size: clamp(24px, 2.4vw, 30px); }
.dh-artikkel code { background: #F1F5F9; padding: 2px 6px; border-radius: 6px; font-size: 0.9em; }
.dh-innlegg-meta p { margin: 0; }
.dh-stikkord { font-size: 15px; color: var(--wp--preset--color--muted); }
.dh-stikkord a {
	display: inline-block;
	margin: 4px 2px;
	padding: 4px 12px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.dh-stikkord .wp-block-post-terms__separator { display: none; }
.blog .dh-filter__alle a {
	background: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

/* ---------- Tekstsider (personvern, vilkår) ---------- */
.page .wp-block-post-content > h2.wp-block-heading { font-size: clamp(24px, 2.4vw, 30px); margin-top: 2em; }
.page .wp-block-post-content > h3.wp-block-heading { font-size: 20px; margin-top: 1.6em; }
.page .wp-block-post-content > .wp-block-list { padding-left: 1.2em; }
.page .wp-block-post-content > .wp-block-list li { margin-bottom: 6px; }

/* ---------- Portal-stil (slate + teal, som kundeportalen) ---------- */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.dh-topp { border-bottom-color: var(--wp--preset--color--line) !important; }
.wp-block-site-logo img { border-radius: 12px; }

/* Kort: hvit flate, tynn slate-kant, liten skygge – som kortene i portalen */
.wp-block-group.is-style-dh-kort,
.wp-block-columns.is-style-dh-kort {
	border-color: var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.dh-tilbudskort { box-shadow: 0 10px 30px -12px rgba(15, 23, 42, 0.15); }

/* Knapper som i portalen */
.wp-element-button,
.wp-block-button__link { border-radius: var(--wp--custom--radius--button, 8px); }
.dh-merke { border-radius: 999px; }

/* Overtittel i portalens dempede teal */
.is-style-dh-overtittel { letter-spacing: 0.08em; font-size: 12px; }

/* Store tall og priser i systemfont */
.dh-stort-tall, .dh-pris, .dh-nummer { letter-spacing: -0.03em; }

/* Skjemafelt som i portalen */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], select, textarea {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	background: #FFFFFF;
	font: inherit;
	font-size: 15px;
}
input:focus, select:focus, textarea:focus {
	outline: 2px solid color-mix(in srgb, var(--wp--preset--color--accent) 40%, transparent);
	outline-offset: 0;
	border-color: var(--wp--preset--color--accent);
}

/* Eldre innhold lagret med de gamle, rundere hjørnene */
.wp-block-group[style*="border-radius:28px"],
.wp-block-columns[style*="border-radius:28px"] { border-radius: var(--wp--custom--radius--section) !important; }
.wp-block-group[style*="border-radius:18px"],
.wp-block-post-featured-image[style*="border-radius:18px"],
.wp-block-post-featured-image[style*="border-radius:20px"],
.wp-block-post-featured-image[style*="border-radius:16px"] { border-radius: var(--wp--custom--radius--card) !important; }
.wp-block-post-featured-image[style*="border-radius"] img { border-radius: var(--wp--custom--radius--card) !important; }

/* =====================================================================
   Portal+ : portalens farger, men med mer liv
   ===================================================================== */
body { overflow-x: clip; }
:is(h1, h2, h3, h4) a:not(.wp-element-button) { color: inherit !important; text-decoration: none !important; }
:is(h1, h2, h3, h4) a:not(.wp-element-button):hover { color: var(--wp--preset--color--accent) !important; }
h1.wp-block-heading, .wp-block-post-title { text-wrap: balance; }

/* Topp: glass */
.dh-topp {
	background: rgba(255, 255, 255, 0.82) !important;
	-webkit-backdrop-filter: saturate(1.6) blur(12px);
	backdrop-filter: saturate(1.6) blur(12px);
}

/* Overtittel som chip med prikk */
.is-style-dh-overtittel {
	display: flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	padding: 5px 12px 5px 10px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--accent-dark);
	font-size: 12px;
	letter-spacing: 0.08em;
}
.is-style-dh-overtittel::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
}
.is-style-dh-overtittel.dh-dempet { background: #F1F5F9; color: var(--wp--preset--color--muted); }
.has-ink-background-color .is-style-dh-overtittel,
.has-accent-background-color .is-style-dh-overtittel { background: rgba(94, 234, 212, 0.12); color: var(--wp--preset--color--accent-light); }
.dh-tilbudskort .is-style-dh-overtittel { background: none; padding: 0; }
.dh-tilbudskort .is-style-dh-overtittel::before { display: none; }

/* Hero: rutenett og grønnblå glød bak */
.wp-block-post-content > .wp-block-columns:first-child { position: relative; isolation: isolate; }
.wp-block-post-content > .wp-block-columns:first-child::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -120px;
	bottom: -40px;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background:
		radial-gradient(640px 420px at 78% 38%, rgba(20, 184, 166, 0.18), transparent 70%),
		radial-gradient(520px 360px at 8% 10%, rgba(15, 118, 110, 0.08), transparent 70%),
		linear-gradient(to right, rgba(15, 23, 42, 0.05) 1px, transparent 1px) 0 0 / 48px 48px,
		linear-gradient(to bottom, rgba(15, 23, 42, 0.05) 1px, transparent 1px) 0 0 / 48px 48px;
	-webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent);
	mask-image: linear-gradient(to bottom, #000 55%, transparent);
	pointer-events: none;
}

/* Tilbudskortet som et vindu fra kundeportalen */
.dh-tilbudskort {
	position: relative;
	padding-top: 64px !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 24px 48px -16px rgba(15, 118, 110, 0.28) !important;
	transform: rotate(-1deg);
	transition: transform 0.4s ease;
}
.dh-tilbudskort:hover { transform: rotate(0deg) translateY(-4px); }
.dh-tilbudskort::before {
	content: "portal.digitalhjelp.no";
	position: absolute;
	inset: 0 0 auto 0;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid var(--wp--preset--color--line);
	border-radius: 12px 12px 0 0;
	background:
		radial-gradient(circle, #FCA5A5 5px, transparent 5.5px) 16px 50% / 16px 16px no-repeat,
		radial-gradient(circle, #FCD34D 5px, transparent 5.5px) 34px 50% / 16px 16px no-repeat,
		radial-gradient(circle, #86EFAC 5px, transparent 5.5px) 52px 50% / 16px 16px no-repeat,
		#F8FAFC;
	font-size: 12px;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0;
}
.dh-pris { color: var(--wp--preset--color--ink); }

/* Tallraden */
.wp-block-group.is-style-dh-tall { border-top: 0; }
.wp-block-group.is-style-dh-tall > *::before {
	content: "";
	display: block;
	width: 28px;
	height: 3px;
	margin-bottom: 14px;
	border-radius: 3px;
	background: var(--wp--preset--color--accent);
}
.dh-stort-tall { font-family: var(--wp--preset--font-family--display); }

/* Mørk seksjon: glød + prikkmønster */
.wp-block-group.alignwide.has-ink-background-color {
	position: relative;
	overflow: hidden;
	background-image:
		radial-gradient(700px 400px at 100% 0%, rgba(20, 184, 166, 0.28), transparent 65%),
		radial-gradient(500px 300px at 0% 100%, rgba(15, 118, 110, 0.22), transparent 70%),
		radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1.2px);
	background-size: auto, auto, 22px 22px;
}
.has-ink-background-color .has-surface-dark-background-color {
	background-color: rgba(30, 41, 59, 0.72) !important;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.has-ink-background-color .has-surface-dark-background-color:hover {
	transform: translateY(-3px);
	border-color: rgba(94, 234, 212, 0.45) !important;
}
.has-surface-dark-background-color .wp-block-image {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: 0 0 4px;
	border-radius: 12px;
	background: rgba(94, 234, 212, 0.12);
	border: 1px solid rgba(94, 234, 212, 0.25);
}
.has-surface-dark-background-color .wp-block-image img { width: 24px !important; height: 24px !important; }

/* Kort med nummer (tjenester) */
.dh-nummer {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--wp--preset--color--accent);
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 4px 10px -4px rgba(15, 118, 110, 0.6);
}
.wp-block-group.is-style-dh-kort { transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.wp-block-group.is-style-dh-kort:not(.dh-tilbudskort):hover {
	transform: translateY(-3px);
	border-color: rgba(15, 118, 110, 0.35);
	box-shadow: 0 16px 32px -16px rgba(15, 23, 42, 0.2);
}

/* Prosess: nummererte steg */
.wp-block-post-content { counter-reset: dh-steg; }
.wp-block-group[style*="border-top-width:3px"] { counter-increment: dh-steg; border-top-width: 2px !important; }

/* Oppfordring: grønnblå med mønster */
.wp-block-group.alignwide.has-accent-background-color {
	position: relative;
	overflow: hidden;
	background-image:
		radial-gradient(600px 300px at 100% 100%, rgba(94, 234, 212, 0.35), transparent 65%),
		radial-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1.2px);
	background-size: auto, 20px 20px;
}

/* Knapper med litt dybde */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.wp-element-button:not(.dh-pakke__knapp) {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 1px 2px rgba(15, 23, 42, 0.2), 0 6px 16px -8px rgba(15, 118, 110, 0.7);
	transition: transform 0.15s ease, background-color 0.15s ease;
}
.wp-block-button > .wp-block-button__link:hover { transform: translateY(-1px); }

/* Bunn: grønnblå kant øverst */
footer.wp-block-group.has-ink-background-color {
	border-top: 3px solid var(--wp--preset--color--accent);
	background-image: radial-gradient(600px 240px at 90% 0%, rgba(20, 184, 166, 0.18), transparent 70%);
}

@media (prefers-reduced-motion: reduce) {
	.dh-tilbudskort, .dh-tilbudskort:hover { transform: none; }
}

/* Omrisskapp på farget/mørk bakgrunn */
:is(.has-accent-background-color, .has-ink-background-color) .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
	color: #FFFFFF !important;
	box-shadow: none;
}
:is(.has-accent-background-color, .has-ink-background-color) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: #FFFFFF !important;
}

/* =====================================================================
   Portal++ : litt mer «wow»
   ===================================================================== */

/* Hero-overskrift med fargeforløp mot grønnblått */
.wp-block-post-content > .wp-block-columns:first-child h1 {
	background: linear-gradient(100deg, #0F172A 0%, #0F172A 45%, #0F766E 78%, #14B8A6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	padding-bottom: 0.06em;
}

/* Glød i hero som beveger seg sakte */
.wp-block-post-content > .wp-block-columns:first-child::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 520px;
	height: 520px;
	right: -80px;
	top: -60px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, rgba(45, 212, 191, 0.45), rgba(15, 118, 110, 0.15) 45%, transparent 70%);
	filter: blur(40px);
	animation: dh-drift 14s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes dh-drift {
	0% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-60px, 40px) scale(1.12); }
	100% { transform: translate(30px, 70px) scale(0.95); }
}

/* Flytende merkelapper rundt tilbudskortet */
.wp-block-column:has(> .dh-tilbudskort) { position: relative; }
.wp-block-column:has(> .dh-tilbudskort)::before,
.wp-block-column:has(> .dh-tilbudskort)::after {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: 0 12px 30px -12px rgba(15, 23, 42, 0.3);
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	white-space: nowrap;
	animation: dh-svev 6s ease-in-out infinite;
}
.wp-block-column:has(> .dh-tilbudskort)::before {
	content: "✓  Svar innen 1 time";
	left: -32px;
	bottom: -24px;
}
.wp-block-column:has(> .dh-tilbudskort)::after {
	content: "●  99,9 % oppetid";
	right: -18px;
	top: -18px;
	color: var(--wp--preset--color--success);
	animation-delay: -3s;
}
@keyframes dh-svev {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
@media (max-width: 781px) {
	.wp-block-column:has(> .dh-tilbudskort)::before { left: 8px; bottom: -22px; }
	.wp-block-column:has(> .dh-tilbudskort)::after { right: 8px; }
}

/* Mørk seksjon: overskrift med lys forløp */
.has-ink-background-color h2.wp-block-heading {
	background: linear-gradient(100deg, #FFFFFF 30%, #99F6E4 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Lyskjegle som følger musen */
.dh-lys { position: relative; }
.dh-lys::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	background: radial-gradient(360px circle at var(--dh-x, 50%) var(--dh-y, 50%), rgba(20, 184, 166, 0.12), transparent 60%);
}
.has-surface-dark-background-color.dh-lys::after,
.er-fremhevet.dh-lys::after {
	background: radial-gradient(360px circle at var(--dh-x, 50%) var(--dh-y, 50%), rgba(94, 234, 212, 0.18), transparent 60%);
}
.dh-lys:hover::after { opacity: 1; }
.dh-lys > * { position: relative; z-index: 1; }
.dh-tilbudskort.dh-lys::after { display: none; }

/* Hovedknapp med lysglimt */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	position: relative;
	overflow: hidden;
	background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0));
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60%;
	width: 40%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.35), transparent);
	transform: skewX(-20deg);
	transition: left 0.6s ease;
	pointer-events: none;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover::after { left: 130%; }

/* Tall i grønnblått forløp */
.dh-stort-tall {
	background: linear-gradient(180deg, #0F172A 30%, #0F766E);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Prosess: linjen fylles når seksjonen kommer inn */
.wp-block-group[style*="border-top-width:3px"] { position: relative; }
.wp-block-group[style*="border-top-width:3px"]::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	height: 2px;
	width: 0;
	background: linear-gradient(90deg, var(--wp--preset--color--accent), #2DD4BF);
	transition: width 0.9s ease var(--dh-forsinkelse, 0ms);
}
.dh-synlig .wp-block-group[style*="border-top-width:3px"]::before,
.wp-block-group[style*="border-top-width:3px"].dh-synlig::before,
html:not(.dh-js) .wp-block-group[style*="border-top-width:3px"]::before { width: 100%; }

/* Innfading ved scrolling (bare når JS kjører og bevegelse er tillatt) */
.dh-js .dh-inn {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease var(--dh-forsinkelse, 0ms), transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) var(--dh-forsinkelse, 0ms);
}
.dh-js .dh-inn.dh-synlig { opacity: 1; transform: none; }

/* Markering av tekst */
::selection { background: #99F6E4; color: #0F172A; }

@media (prefers-reduced-motion: reduce) {
	.wp-block-post-content > .wp-block-columns:first-child::after,
	.wp-block-column:has(> .dh-tilbudskort)::before,
	.wp-block-column:has(> .dh-tilbudskort)::after { animation: none; }
	.wp-block-button__link::after { display: none; }
}
