/*
 * Dokflyt — det theme.json ikke kan uttrykke.
 * Farger, skrift og avstander kommer fra theme.json (presets). Modulfargene
 * (--modul, --modul-dyp, --modul-tint, --modul-lys, --modul-tekst) settes per modul i inc/farger.php.
 */

/* Standard når siden ikke er en modul. «html» har lavere spesifisitet enn «:root», så modulpaletten vinner alltid. */
html {
	--modul: #30678F;
	--modul-dyp: #30678F;
	--modul-tint: #EEF3F7;
	--modul-lys: #DCE7EF;
	--modul-tekst: #2F5A78;
	--dokflyt-radius: var(--wp--custom--radius--stor, 28px);
	--dokflyt-skygge: var(--wp--preset--shadow--myk);
	--dokflyt-loft: var(--wp--preset--shadow--loft);
}

body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
.wp-site-blocks { padding-top: 0; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* ---------- Universell utforming ---------- */
:focus-visible { outline: 3px solid var(--fokus, #1F262C); outline-offset: 3px; border-radius: 6px; }
.is-style-baand-modul, .is-style-baand-bla, .is-style-baand-mork, .dokflyt-hero { --fokus: #fff; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto !important; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
html { scroll-behavior: smooth; }

/* ---------- Små tekster ---------- */
.dokflyt-overline {
	font-size: var(--wp--preset--font-size--overline);
	font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--modul-tekst);
	margin-bottom: .9em !important;
}
.is-style-baand-modul .dokflyt-overline, .is-style-baand-bla .dokflyt-overline { color: #fff; }
.is-style-baand-mork .dokflyt-overline, .dokflyt-hero .dokflyt-overline { color: var(--wp--preset--color--lys-paa-mork); }
.dokflyt-nr {
	display: inline-flex; align-items: center; gap: 12px;
	color: var(--modul-tekst); font-weight: 700; font-size: .875rem; letter-spacing: .08em;
}
.dokflyt-nr::after { content: ""; width: 40px; height: 2px; background: var(--modul); border-radius: 2px; }
.dokflyt-ingress { font-size: var(--wp--preset--font-size--ingress); line-height: 1.55; }

/* Lenke med tykk understrek, som originalen */
.dokflyt-lenke a, a.dokflyt-lenke, .dokflyt-modul .les-mer {
	font-weight: 700; color: var(--wp--preset--color--blekk);
	text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.is-style-baand-modul .dokflyt-lenke a, .is-style-baand-bla .dokflyt-lenke a, .is-style-baand-mork .dokflyt-lenke a { color: #fff; }

/* Sjekkliste med runde haker */
ul.dokflyt-sjekkliste { list-style: none; padding: 0; display: grid; gap: 12px; }
ul.dokflyt-sjekkliste li { position: relative; padding-left: 36px; line-height: 1.55; }
ul.dokflyt-sjekkliste li::before { content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--modul-dyp); }
ul.dokflyt-sjekkliste li::after { content: ""; position: absolute; left: 8px; top: 7px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Knapper */
.wp-element-button, .wp-block-button__link { transition: transform .15s, background-color .15s; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link { background: #fff; color: var(--wp--preset--color--blekk); border: 1.5px solid var(--wp--preset--color--linje); }
.dokflyt-hero .wp-block-button.is-style-outline .wp-block-button__link { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.5); }
.dokflyt-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff; color: var(--wp--preset--color--dokflyt-dyp); }
.wp-block-button.dokflyt-modulknapp .wp-block-button__link { background: var(--modul-dyp); color: #fff; box-shadow: 0 10px 24px -10px var(--modul-dyp); }

/* ---------- Toppfelt ---------- */
.dokflyt-topp { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--wp--preset--color--linje); }
/* Uskarpheten ligger på et eget lag: backdrop-filter på selve headeren ville sperret mobilmenyen inne i den */
.dokflyt-topp::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.94); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); }
.admin-bar .dokflyt-topp { top: var(--wp-admin--admin-bar--height, 32px); }
.dokflyt-topp .wp-block-site-logo img { width: clamp(150px, 13vw, 190px); }
.dokflyt-topp .wp-block-navigation a { text-decoration: none; }
.dokflyt-topp .wp-block-navigation__responsive-container-open,
.dokflyt-topp .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--dokflyt-dyp); }
.dokflyt-logginn .wp-block-button__link { padding: 10px 20px; }
@media (max-width: 600px) { .dokflyt-logginn { display: none; } }

/* ---------- Toppbilde (Omslag) ---------- */
.dokflyt-hero.wp-block-cover { align-items: flex-start; }
/* Toningen er en gradient så lenge overlegget står på standardfargen «Natt». Velger kunden en annen farge
   under Omslag → Overlegg, brukes den. Opasiteten følger alltid glidebryteren (standard 100). */
.dokflyt-hero .wp-block-cover__background.has-natt-background-color { background: var(--wp--custom--hero-gradient) !important; }
@media (max-width: 900px) { .dokflyt-hero .wp-block-cover__background.has-natt-background-color { background: rgba(20,44,63,.88) !important; } }
.dokflyt-hero h1 { color: #fff; max-width: 17ch; }
.dokflyt-hero p { max-width: 44ch; }
.dokflyt-hero .dokflyt-ingress { color: rgba(255,255,255,.9); }

/* Bokser som legger seg over kanten på toppbildet */
.dokflyt-overlapp { position: relative; z-index: 2; margin-top: calc(-1 * clamp(90px, 9vw, 120px)) !important; }

/* Hele boksen er klikkbar via lenken inni (en lenke per boks for skjermlesere) */
.dokflyt-klikkbar { position: relative; transition: transform .2s; }
.dokflyt-klikkbar:hover { transform: translateY(-4px); }
.dokflyt-klikkbar .dokflyt-lenke a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

/* Ikon i rund flate */
.dokflyt-ikonrund { display: grid !important; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--wp--preset--color--tint); color: var(--wp--preset--color--dokflyt); }
.dokflyt-ikonrund svg { width: 30px !important; height: 30px !important; }
.is-style-baand-modul .dokflyt-fordel .dokflyt-ikonrund, .dokflyt-fordel .dokflyt-ikonrund { background: var(--modul-dyp); color: #fff; width: 56px; height: 56px; }
.dokflyt-fordel .dokflyt-ikonrund svg { width: 28px !important; height: 28px !important; }

/* ---------- Modulside: toppseksjon ---------- */
.dokflyt-modul-topp { overflow: hidden; }
.dokflyt-modul-topp h1 { margin-top: 0; }
.dokflyt-merke { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.dokflyt-modul-ikon img { display: block; object-fit: contain; }
.dokflyt-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dokflyt-chips li { background: var(--modul-lys); color: var(--modul-tekst); font-weight: 600; font-size: .8125rem; padding: 6px 12px; border-radius: 999px; }
.dokflyt-plassholder { display: grid; place-items: center; background: var(--modul-lys); color: var(--modul-tekst); border-radius: 12px; font-size: 12px; }

.dokflyt-bildeflate { position: relative; }
.dokflyt-bildeflate::before { content: ""; position: absolute; width: 78%; aspect-ratio: 1; right: -14%; top: -10%; background: var(--modul); opacity: .16; border-radius: 36% 22% 40% 24%; transform: rotate(-8deg); }
.dokflyt-bildeflate::after { content: ""; position: absolute; width: 54%; aspect-ratio: 291 / 292; left: -24%; bottom: -24%; background: var(--modul); -webkit-mask: url(../img/dokflyt-pil-maske.svg) no-repeat center / contain; mask: url(../img/dokflyt-pil-maske.svg) no-repeat center / contain; }
.dokflyt-bildeflate img { position: relative; z-index: 1; width: 100%; aspect-ratio: 1 / 1.02; object-fit: cover; box-shadow: var(--dokflyt-skygge); }

/* Brødsmulesti */
.dokflyt-smule { font-size: .875rem; color: var(--wp--preset--color--dempet); }
.dokflyt-smule a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dokflyt-smule a:hover { color: var(--wp--preset--color--blekk); }
.dokflyt-smule > span[aria-hidden] { margin: 0 8px; opacity: .6; }
.dokflyt-hero .dokflyt-smule { color: rgba(255,255,255,.88); }
.dokflyt-hero .dokflyt-smule a { color: #fff; }

/* ---------- Fordeler: hvite bokser på fargebånd ---------- */
.dokflyt-fordel { transition: transform .2s; height: 100%; }
.dokflyt-fordel:hover { transform: translateY(-3px); }
.dokflyt-fordel h3 { font-size: 1.1875rem; hyphens: auto; hyphenate-limit-chars: 14 6 6; overflow-wrap: break-word; }
.dokflyt-fordel p { color: var(--wp--preset--color--dempet); font-size: .96875rem; }
.dokflyt-fordel.wp-block-group { padding: 32px 24px 34px !important; }

/* ---------- Seksjon med tekst og bilde ---------- */
.dokflyt-seksjon { position: relative; overflow: hidden; }
.dokflyt-seksjon.is-style-flate-modul::before { content: ""; position: absolute; width: 520px; aspect-ratio: 482 / 492; background: var(--modul); opacity: .09; left: -220px; bottom: -240px; -webkit-mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain; mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain; }
.dokflyt-seksjon > * { position: relative; }
.dokflyt-media img { width: auto; max-height: 540px; margin-inline: auto; display: block; filter: drop-shadow(0 28px 34px rgba(24,35,44,.18)); border-radius: 0 !important; }
.dokflyt-media.is-foto img { width: 100%; max-height: none; aspect-ratio: 4 / 3; object-fit: cover; filter: none; border-radius: var(--dokflyt-radius) !important; box-shadow: var(--dokflyt-skygge); }
@media (min-width: 782px) {
	.dokflyt-bilde-venstre > .wp-block-column:first-child { order: 2; }
}
.dokflyt-to-telefoner { display: flex !important; gap: 24px; justify-content: center; flex-wrap: nowrap !important; }
.dokflyt-to-telefoner figure { flex: 1; margin: 0 !important; }
.dokflyt-to-telefoner img { max-height: 480px; filter: drop-shadow(0 28px 34px rgba(24,35,44,.18)); border-radius: 0 !important; }
@media (min-width: 782px) { .dokflyt-to-telefoner figure:last-child { transform: translateY(40px); } }

/* ---------- Modulliste (som originalen) ---------- */
.dokflyt-modulgrid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 56px 48px; }
.dokflyt-modul { display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: start; text-decoration: none; color: inherit; }
.dokflyt-modul[hidden] { display: none; }
.dokflyt-modul img, .dokflyt-modul .ikon-tom { width: 56px; height: 56px; object-fit: contain; transition: transform .25s; }
.dokflyt-modul .tittel { display: block; font-size: 1.25rem; font-weight: 700; color: var(--wp--preset--color--blekk); letter-spacing: -.01em; margin: 2px 0 6px; transition: color .15s; }
.dokflyt-modul .kort { display: block; font-size: .96875rem; line-height: 1.55; color: var(--wp--preset--color--tekst); margin-bottom: 14px; }
.dokflyt-modul .les-mer { font-size: .90625rem; }
.dokflyt-modul:hover img { transform: translateY(-3px); }
.dokflyt-modul:hover .tittel, .dokflyt-modul:hover .les-mer { color: var(--c); }
@media (max-width: 960px) { .dokflyt-modulgrid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) { .dokflyt-modulgrid { grid-template-columns: minmax(0,1fr); gap: 36px; } .dokflyt-modul { grid-template-columns: 48px 1fr; } .dokflyt-modul img { width: 48px; height: 48px; } }

.dokflyt-faner { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.dokflyt-fane { font: inherit; font-size: .90625rem; font-weight: 600; border: 0; border-radius: 999px; padding: 10px 18px; background: #fff; color: var(--wp--preset--color--tekst); cursor: pointer; }
.dokflyt-fane[aria-pressed="true"] { background: var(--wp--preset--color--dokflyt-dyp); color: #fff; }

/* ---------- Tall ---------- */
.dokflyt-tall .wp-block-column > p:first-child { font-size: clamp(2.5rem, 1.9rem + 2.6vw, 3.75rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; margin-bottom: 10px; }
.dokflyt-tall .wp-block-column > p:last-child { color: rgba(255,255,255,.92); max-width: 26ch; }

/* ---------- Kundehistorier ---------- */
.dokflyt-sitat { display: flex; flex-direction: column; height: 100%; }
.dokflyt-sitat > p:first-child { flex: 1; }
.dokflyt-sitat > p:first-child::before { content: "«"; }
.dokflyt-sitat > p:first-child::after { content: "»"; }
.dokflyt-sitat .wp-block-image img { width: 44px; height: 44px; object-fit: contain; border-radius: 50%; }
.dokflyt-sitat .dokflyt-hvem p { margin: 0; line-height: 1.35; }
.dokflyt-sitat .dokflyt-hvem p:first-child { font-weight: 700; color: var(--wp--preset--color--blekk); font-size: .9375rem; }
.dokflyt-sitat .dokflyt-hvem p:last-child { color: var(--wp--preset--color--dempet); font-size: .875rem; }

/* ---------- Kundelogoer ---------- */
.dokflyt-logotittel { display: flex; align-items: center; gap: 24px; color: var(--wp--preset--color--dempet); font-size: .875rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.dokflyt-logotittel::before, .dokflyt-logotittel::after { content: ""; height: 1px; flex: 1; background: var(--wp--preset--color--linje); }
.dokflyt-logoer img { height: 38px !important; width: auto !important; max-width: 170px; object-fit: contain; filter: grayscale(1); opacity: .65; transition: filter .2s, opacity .2s; border-radius: 0 !important; }
.dokflyt-logoer img:hover { filter: none; opacity: 1; }

/* ---------- Bestill demo ---------- */
.dokflyt-demo { overflow: hidden; position: relative; }
.dokflyt-demo::before { content: ""; position: absolute; width: 560px; aspect-ratio: 482 / 492; background: #fff; opacity: .08; right: -180px; top: -220px; -webkit-mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain; mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain; }
.dokflyt-demo > * { position: relative; }
.dokflyt-demo .dokflyt-telefon img { max-height: 600px; width: auto; margin: 0 auto -1px; display: block; border-radius: 0 !important; }
/* Fargeklatten bak telefonen tegnes her, ikke i bildet. Endre farge, størrelse eller form med variablene. */
.dokflyt-demo .dokflyt-telefon {
	--klatt-farge: color-mix(in srgb, var(--modul) 82%, #fff);
	--klatt-bredde: min(100%, 470px);
	--klatt-form: 43% 57% 62% 38% / 39% 46% 54% 61%;
	position: relative; isolation: isolate;
}
.dokflyt-demo .dokflyt-telefon::before {
	content: ""; position: absolute; z-index: -1; left: 50%; top: 52%;
	width: var(--klatt-bredde); aspect-ratio: 1 / 1.08; translate: -50% -50%; rotate: -8deg;
	background: var(--klatt-farge); border-radius: var(--klatt-form);
}
@media (max-width: 781px) { .dokflyt-demo .dokflyt-telefon { display: none; } }

.dokflyt-skjema .rad2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .dokflyt-skjema .rad2 { grid-template-columns: 1fr; } }
.dokflyt-skjema .felt { margin: 0 0 18px; }
.dokflyt-skjema label { display: block; font-size: .8125rem; font-weight: 600; margin-bottom: 8px; color: inherit; }
.dokflyt-skjema input, .dokflyt-skjema textarea { width: 100%; font: inherit; font-size: 1rem; padding: 14px 16px; border: 1.5px solid transparent; border-radius: 12px; background: #fff; color: var(--wp--preset--color--tekst); box-sizing: border-box; }
.dokflyt-skjema input:focus, .dokflyt-skjema textarea:focus { box-shadow: 0 0 0 3px rgba(255,255,255,.45); }
.dokflyt-skjema textarea { min-height: 120px; resize: vertical; }
.dokflyt-skjema .felt-skjult { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dokflyt-skjema-krav { font-size: .8125rem; margin: -6px 0 18px; opacity: .92; }
.dokflyt-skjema button { cursor: pointer; border: 0; }
.is-style-baand-modul .dokflyt-skjema button, .is-style-baand-bla .dokflyt-skjema button { background: #fff; color: var(--modul-dyp); }
.dokflyt-skjema-status p { padding: 14px 16px; border-radius: 12px; background: #fff; color: var(--wp--preset--color--blekk); font-weight: 600; }
.dokflyt-skjema-status p.is-feil { border-left: 6px solid #B42318; }
.dokflyt-skjema-status p.is-ok { border-left: 6px solid #157F3D; }

/* ---------- Bunnfelt ---------- */
/* ---------- Footer: lys, som på den gamle siden ---------- */
.dokflyt-bunn {
	background: #ffffff; color: var(--wp--preset--color--tekst, #22313d);
	padding-top: clamp(40px, 6vw, 72px); padding-bottom: 28px; margin-top: 0;
}
.dokflyt-bunn a { color: inherit; text-decoration: none; }
.dokflyt-bunn a:hover { color: var(--wp--preset--color--dokflyt-dyp); text-decoration: underline; text-underline-offset: 3px; }
.dokflyt-bunn .wp-block-site-logo img { width: clamp(140px, 13vw, 170px); }
.dokflyt-bunn-topp { padding-bottom: clamp(28px, 4vw, 44px); }
.dokflyt-bunn h2 { font-size: 1.125rem; font-weight: 700; letter-spacing: -.005em; margin: 0 0 18px; color: var(--wp--preset--color--natt, #14212b); }
.dokflyt-bunn p { font-size: .9375rem; line-height: 1.6; margin: 0 0 14px; }
.dokflyt-bunn-kolonner { gap: clamp(28px, 5vw, 64px) !important; }
/* Sosiale ikoner: runde, lyse knapper */
.dokflyt-sosiale.wp-block-social-links { gap: 10px !important; margin: 0; }
.dokflyt-sosiale .wp-social-link { background: #EEF3F7 !important; color: var(--wp--preset--color--dokflyt-dyp) !important; border-radius: 50%; transition: transform .2s ease, background-color .2s, color .2s; }
.dokflyt-sosiale .wp-social-link a { padding: 11px !important; }
.dokflyt-sosiale .wp-social-link svg { width: 20px; height: 20px; }
.dokflyt-sosiale .wp-social-link:hover { transform: translateY(-2px); background: var(--wp--preset--color--dokflyt-dyp) !important; color: #fff !important; }
.dokflyt-sosiale .wp-social-link a:hover { text-decoration: none; color: inherit; }
/* Sider */
.dokflyt-bunnmeny { gap: 8px !important; font-size: .9375rem; }
.dokflyt-bunn .dokflyt-bunnmeny a.wp-block-navigation-item__content { padding: 0 !important; font-weight: 400; color: var(--wp--preset--color--tekst) !important; }
.dokflyt-bunn .dokflyt-bunnmeny a.wp-block-navigation-item__content:hover { color: var(--wp--preset--color--dokflyt-dyp) !important; }
/* Moduler i to kolonner, med modulfargen som liten rute */
.dokflyt-bunnmoduler { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 28px; max-width: 440px; font-size: .9375rem; line-height: 1.4; }
.dokflyt-bunnmoduler li { break-inside: avoid; margin-bottom: 6px; }
.dokflyt-bunnmoduler a { display: flex; align-items: center; gap: 10px; overflow-wrap: anywhere; }
.dokflyt-bunnmoduler i { flex: none; width: 14px; height: 3px; border-radius: 3px; transition: width .2s ease; }
.dokflyt-bunnmoduler a:hover i { width: 20px; }
.dokflyt-bunnlinje { margin-top: clamp(32px, 5vw, 56px) !important; padding-top: 22px; border-top: 1px solid rgba(20,33,43,.08); font-size: .8125rem; color: var(--wp--preset--color--dempet); }
.dokflyt-bunnlinje p { margin: 0; font-size: .8125rem; }
ul.dokflyt-to-spalter { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }

/* ---------- Avstander som kunden ikke trenger å tenke på ---------- */
.dokflyt-hero.wp-block-cover { padding-top: var(--wp--preset--spacing--xl); padding-bottom: calc(var(--wp--preset--spacing--xl) + clamp(90px, 9vw, 120px)); min-height: 0; }
.dokflyt-plass-til-overlapp { padding-bottom: calc(var(--wp--preset--spacing--xl) + clamp(90px, 9vw, 120px)) !important; }
.dokflyt-luft-bunn { padding-bottom: var(--wp--preset--spacing--l); }
.dokflyt-luft-bunn-m { padding-bottom: var(--wp--preset--spacing--m); }
.dokflyt-luft-topp { margin-top: var(--wp--preset--spacing--l) !important; }
.dokflyt-hero-tekst > * { margin-block: 0; }
.dokflyt-hero-tekst > * + * { margin-top: 1.1rem; }
.dokflyt-hero-tekst > .wp-block-buttons { margin-top: 2rem; }
.wp-block-icon.dokflyt-ikonrund svg { fill: currentColor; }

/* Seksjonene ligger kant i kant – fargene skiller dem, ikke hvite striper. */
main > .wp-block-post-content, main > .alignfull,
.wp-block-post-content > .alignfull:not(.dokflyt-overlapp), .wp-block-post-content > .wp-block-cover.alignfull { margin-block: 0 !important; }
.wp-block-post-content > .dokflyt-overlapp { margin-bottom: 0 !important; }
.wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part { margin-block-start: 0 !important; }

/* Sidelisten i bunnfeltet */
.is-style-kort-hvit .dokflyt-modulgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 620px) { .is-style-kort-hvit .dokflyt-modulgrid { grid-template-columns: minmax(0, 1fr); } }
.dokflyt-logoer { row-gap: 32px; }

/* ---------- Luft og linjeskift ---------- */
/* 5. Overskrifter over flere linjer fordeles jevnt */
h1, h2, h3, h4, .wp-block-heading, .wp-block-post-title { text-wrap: balance; }
p, li { text-wrap: pretty; }

/* 2. Tekstrytme i seksjonene */
.dokflyt-seksjon .wp-block-column > * { margin-block: 0; }
.dokflyt-seksjon .dokflyt-nr + * { margin-top: 1rem !important; }
.dokflyt-seksjon .wp-block-heading + * { margin-top: 1.5rem !important; }
.dokflyt-seksjon .wp-block-column > p + p, .dokflyt-seksjon .wp-block-column > p + ul, .dokflyt-seksjon .wp-block-column > ul + p { margin-top: 1.1rem !important; }
.dokflyt-seksjon .wp-block-column > .dokflyt-lenke { margin-top: 2rem !important; }
.dokflyt-overline + .wp-block-heading { margin-top: .6rem !important; }

/* 3. Avstand mellom overskrift og modulliste / sitater / fordeler */
.is-style-flate-gra > .is-layout-flex:first-child, .is-style-baand-mork > .is-layout-flex:first-child, .is-style-flate-lysbla > .is-layout-flex:first-child { margin-bottom: var(--wp--preset--spacing--l) !important; }
.is-style-baand-modul > .wp-block-heading + .dokflyt-fordeler { margin-top: var(--wp--preset--spacing--l) !important; }
.wp-block-group.is-style-flate-gra > .wp-block-dokflyt-moduler, .wp-block-group.is-style-flate-gra > .dokflyt-moduler { margin-top: 0; }

/* 4. Toppen av modulsiden */
.dokflyt-modul-topp .wp-block-column > * { margin-block: 0; }
.dokflyt-modul-topp .dokflyt-smule { margin-bottom: 2rem !important; }
.dokflyt-modul-topp .dokflyt-merke { margin-bottom: 1.75rem !important; }
.dokflyt-modul-topp .wp-block-post-title { margin-bottom: 1.5rem !important; }
.dokflyt-modul-topp .dokflyt-ingress { margin-bottom: 2rem !important; }
.dokflyt-modul-topp .dokflyt-sjekkliste { margin-bottom: 2.5rem !important; gap: 14px; }
.dokflyt-modul-topp .wp-block-buttons { gap: 14px; }

/* Toppbildene får samme luft */
.dokflyt-hero-tekst .dokflyt-smule { margin-bottom: 1.75rem; }
.dokflyt-hero-tekst > .wp-block-heading { margin-top: .75rem; }
.dokflyt-hero-tekst > .dokflyt-ingress { margin-top: 1.5rem; }
.dokflyt-hero-tekst > .wp-block-buttons { margin-top: 2.25rem; }

/* Kolonner: litt mer luft mellom tekst og bilde */
.dokflyt-seksjon .wp-block-columns, .dokflyt-modul-topp .wp-block-columns, .dokflyt-demo .wp-block-columns { column-gap: clamp(40px, 7vw, 104px) !important; }
@media (max-width: 781px) { .dokflyt-seksjon .wp-block-columns { row-gap: 40px; } }

/* Seksjonshoder: tittel (og ingress) til venstre, lenken nede til høyre – som kundehistoriene */
@media (min-width: 782px) {
	.is-style-flate-gra > .is-layout-flex:first-child,
	.is-style-baand-mork > .is-layout-flex:first-child,
	.is-style-flate-lysbla > .is-layout-flex:first-child { flex-wrap: nowrap; align-items: flex-end; column-gap: 48px; }
}
.is-style-flate-gra > .is-layout-flex:first-child > .wp-block-group,
.is-style-baand-mork > .is-layout-flex:first-child > .wp-block-group,
.is-style-flate-lysbla > .is-layout-flex:first-child > .wp-block-group { flex: 1 1 auto; min-width: 0; }
.is-style-flate-gra > .is-layout-flex:first-child > .wp-block-group > p:not(.dokflyt-overline) { max-width: 60ch; }
.is-style-flate-gra > .is-layout-flex:first-child > .dokflyt-lenke,
.is-style-baand-mork > .is-layout-flex:first-child > .dokflyt-lenke,
.is-style-flate-lysbla > .is-layout-flex:first-child > .dokflyt-lenke { flex: none; white-space: nowrap; margin: 0; }

/* Toppbildet skal få plass i skjermen, også på lave skjermer: størrelsene følger både bredde og høyde. */
.dokflyt-hero.wp-block-cover {
	padding-top: clamp(40px, 8vh, 104px);
	padding-bottom: calc(clamp(48px, 9vh, 112px) + clamp(90px, 9vw, 120px));
}
.dokflyt-hero h1 {
	font-size: min(var(--wp--preset--font-size--hero), max(2.25rem, 6.2vh));
	max-width: 22ch;
}
.dokflyt-hero .dokflyt-ingress { max-width: 52ch; font-size: min(var(--wp--preset--font-size--ingress), max(1.0625rem, 2.3vh)); }
.dokflyt-hero-tekst > .wp-block-heading { margin-top: .6rem; }
.dokflyt-hero-tekst > .dokflyt-ingress { margin-top: min(1.5rem, 2.4vh); }
.dokflyt-hero-tekst > .wp-block-buttons { margin-top: min(2.25rem, 3.6vh); }

/* Kundelogoer som i demoen: samlet rundt midten med jevn luft, ikke spredt ut til kantene */
.dokflyt-logoer.is-layout-flex { justify-content: space-around !important; gap: 40px 56px; margin-top: 40px !important; }
.dokflyt-logoer .wp-block-image { margin: 0; }
.dokflyt-logotittel { margin-bottom: 0 !important; }
/* Etter en hvit seksjon trengs ikke full luft over logoene */
.is-style-flate-hvit + .is-style-flate-hvit:has(.dokflyt-logoer) { padding-top: 0; }

/* «Kort fortalt»-boksene: ikon og tekst midt i boksen, begge veier */
.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex { justify-content: center; align-items: center; text-align: left; height: 100%; box-sizing: border-box; }
.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex > * { margin: 0 !important; }

/* ---------- Demoskjema: samtykke, meldinger, reCAPTCHA ---------- */
.grecaptcha-badge { visibility: hidden; } /* Teksten under knappen erstatter merket, slik Google tillater. */
.dokflyt-samtykke { display: flex !important; gap: 12px; align-items: flex-start; font-size: .875rem !important; font-weight: 400 !important; line-height: 1.5; margin: 4px 0 14px; cursor: pointer; }
.dokflyt-samtykke input { width: 20px !important; height: 20px; flex: none; margin: 1px 0 0; padding: 0 !important; accent-color: var(--wp--preset--color--dokflyt-dyp); }
.dokflyt-samtykke a, .dokflyt-recaptcha-tekst a { color: inherit; text-decoration: underline; }
.dokflyt-skjema-melding { padding: 14px 16px; border-radius: 12px; background: #fff; color: var(--wp--preset--color--blekk); font-weight: 600; margin: 0 0 20px; }
.dokflyt-skjema-melding.is-feil { border-left: 6px solid #B42318; }
.dokflyt-skjema-melding.is-ok { border-left: 6px solid #157F3D; }
.dokflyt-skjema button[disabled] { opacity: .7; cursor: progress; }
.dokflyt-recaptcha-tekst { margin-top: 16px !important; }
.dokflyt-takk { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; }
.dokflyt-takk > * + * { margin-top: 1.25rem; }
.dokflyt-takk > .wp-block-buttons { margin-top: 2rem; }

/* Lys blå flate (#DDE7EF, som på den gamle siden): kundehistoriene står på den. */
.is-style-flate-lysbla .dokflyt-sitat { box-shadow: 0 1px 2px rgba(24,35,44,.05), 0 16px 40px -24px rgba(35,78,109,.35); }

/* Etikettene lenker til tjenesteområdets side */
.dokflyt-chips li:has(a) { padding: 0; }
.dokflyt-chips a { display: block; padding: 6px 12px; border-radius: 999px; color: inherit; text-decoration: none; transition: background-color .15s, color .15s; }
.dokflyt-chips a:hover { background: var(--modul-dyp); color: #fff; }
.dokflyt-chips a:focus-visible { outline-offset: 2px; }

/* ---------- Kundehistorier ---------- */
/* Faktaboksen som legger seg over toppbildet */
.dokflyt-fakta { margin: 0 !important; row-gap: 20px; }
.dokflyt-fakta .wp-block-column > p { margin: 0; }
.dokflyt-fakta-etikett { font-size: var(--wp--preset--font-size--overline); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--dokflyt); }
.dokflyt-fakta-verdi { font-size: var(--wp--preset--font-size--ingress); font-weight: 600; color: var(--wp--preset--color--blekk); margin-top: 6px !important; line-height: 1.35; }
@media (min-width: 782px) { .dokflyt-fakta .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--linje); padding-left: clamp(20px, 3vw, 40px); } }

/* Artikkelen: god lesebredde og rolig rytme */
.dokflyt-artikkel > * { margin-block: 0; }
.dokflyt-artikkel > p { font-size: 1.0625rem; line-height: 1.75; }
.dokflyt-artikkel > p + p { margin-top: 1.25em; }
.dokflyt-artikkel > .wp-block-heading { margin-top: clamp(2.5rem, 2rem + 2vw, 3.75rem); margin-bottom: 1rem; }
.dokflyt-artikkel > .wp-block-heading:first-child { margin-top: 0; }
.dokflyt-artikkel > .wp-block-quote { margin-block: clamp(1.75rem, 1.5rem + 1vw, 2.5rem); }
.dokflyt-artikkel > .dokflyt-artikkelbilde { margin-top: clamp(2.5rem, 2rem + 2vw, 4rem); }
.dokflyt-artikkel > .dokflyt-artikkelbilde img { width: 100%; border-radius: var(--dokflyt-radius); }

/* Sitat i teksten */
.wp-block-quote.dokflyt-utdrag { border: 0; padding: 4px 0 4px clamp(20px, 3vw, 32px); position: relative; }
.wp-block-quote.dokflyt-utdrag::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 4px; background: var(--wp--preset--color--dokflyt-lys); }
.wp-block-quote.dokflyt-utdrag p { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.45; font-weight: 500; color: var(--wp--preset--color--blekk); letter-spacing: -.01em; margin: 0; }
.wp-block-quote.dokflyt-utdrag cite { display: block; margin-top: 12px; font-size: .875rem; font-style: normal; font-weight: 600; color: var(--wp--preset--color--dempet); }
.wp-block-quote.dokflyt-utdrag cite::before { content: "— "; }

/* Kort til kundehistoriene */
.dokflyt-historiekort { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; }
.dokflyt-historiekort > * { margin-block: 0; }
.dokflyt-historiekort > * + * { margin-top: .9rem; }
.dokflyt-historiekort .dokflyt-lenke { margin-top: auto !important; padding-top: .75rem; }
.dokflyt-kortlogo img { width: 52px !important; height: 52px !important; object-fit: contain; border-radius: 0 !important; }
.dokflyt-historiekort.har-bilde { padding: 0 !important; overflow: hidden; }
.dokflyt-historiekort.har-bilde .dokflyt-kortbilde { margin: 0; }
.dokflyt-historiekort.har-bilde .dokflyt-kortbilde img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0 !important; }
.dokflyt-kortinnhold { padding: clamp(24px, 2.5vw, 32px); display: flex; flex-direction: column; flex: 1; margin-top: 0 !important; }
.dokflyt-kortinnhold > * { margin-block: 0; }
.dokflyt-kortinnhold > * + * { margin-top: .9rem; }
.dokflyt-kortinnhold .dokflyt-lenke { margin-top: auto !important; padding-top: .75rem; }
.dokflyt-kortinnhold .dokflyt-kortlogo img { width: 40px !important; height: 40px !important; }
.dokflyt-kortkunde { font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--dempet); margin: 0 !important; }
.dokflyt-overlapp + .dokflyt-artikkel { padding-top: var(--wp--preset--spacing--m); }
.dokflyt-seksjon .wp-block-column > .wp-block-buttons { margin-top: 2rem !important; }
.dokflyt-fordelkort > * { margin-block: 0; }
.dokflyt-fordelkort > * + * { margin-top: 1.1rem; }
.dokflyt-fordelkort ul.dokflyt-sjekkliste { gap: 10px; }
.dokflyt-modul-topp .wp-block-column > .wp-block-heading { margin-bottom: 1.5rem !important; }
/* Tekstsider (malen «Side med tittel») */
.page-template-side-tittel main .wp-block-post-title { margin-bottom: var(--wp--preset--spacing--m); }
.page-template-side-tittel .wp-block-post-content > .wp-block-heading { margin-top: clamp(2.25rem, 1.8rem + 1.8vw, 3.25rem); margin-bottom: .9rem; }
.page-template-side-tittel .wp-block-post-content > p, .page-template-side-tittel .wp-block-post-content li { font-size: 1.0625rem; line-height: 1.75; }
.page-template-side-tittel .wp-block-post-content > ul { padding-left: 1.3em; }
.page-template-side-tittel .wp-block-post-content li + li { margin-top: .4em; }

/* ================= Justeringer 4.10.2026 ================= */

/* 3. Lenker med pil som glir ut ved hover */
.dokflyt-lenke a, .dokflyt-modul .les-mer { display: inline-flex; align-items: baseline; gap: .45em; }
.dokflyt-lenke a::after, .dokflyt-modul .les-mer::after {
	content: "→"; display: inline-block; font-weight: 600; text-decoration: none;
	transition: transform .25s cubic-bezier(.2,.8,.2,1);
}
.dokflyt-lenke a:hover::after, .dokflyt-lenke a:focus-visible::after,
.dokflyt-modul:hover .les-mer::after, .dokflyt-modul:focus-visible .les-mer::after,
.dokflyt-klikkbar:hover .dokflyt-lenke a::after { transform: translateX(5px); }
/* I klikkbare bokser er pila en egen «flate» over hele boksen, så den må ikke miste posisjonen */
.dokflyt-klikkbar .dokflyt-lenke a::after { position: static; }
.dokflyt-klikkbar .dokflyt-lenke a { position: static; }
.dokflyt-klikkbar .dokflyt-lenke a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }

/* 4. Modulene i hvite bokser */
.dokflyt-modulgrid { gap: 20px; }
.dokflyt-modul {
	background: #fff; border-radius: var(--wp--custom--radius--middels, 18px); padding: 28px 26px 26px;
	box-shadow: 0 1px 2px rgba(24,35,44,.05), 0 14px 32px -22px rgba(24,35,44,.35);
	transition: transform .2s, box-shadow .2s; align-content: start;
}
.dokflyt-modul:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(24,35,44,.06), 0 22px 40px -22px rgba(24,35,44,.4); }
.dokflyt-modul .tekst { display: flex; flex-direction: column; height: 100%; }
.dokflyt-modul .les-mer { margin-top: auto; padding-top: 4px; align-self: flex-start; }
.is-style-flate-hvit .dokflyt-modul, .is-style-kort-hvit .dokflyt-modul { background: var(--wp--preset--color--flate); box-shadow: none; }

/* 2. «Kort fortalt»: én hvit flate, tre spalter med ikon over tekst */
.dokflyt-luft-bunn-m > .is-layout-grid:has(> .is-style-kort-hvit.is-layout-flex) {
	background: #fff; border-radius: var(--dokflyt-radius); box-shadow: var(--dokflyt-loft); gap: 0 !important; overflow: hidden;
}
.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex {
	flex-direction: column; justify-content: flex-start !important; text-align: center; gap: 14px !important;
	box-shadow: none !important; border-radius: 0 !important; background: transparent !important;
	padding: clamp(26px, 3vw, 40px) 24px !important; height: 100%;
}
.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex + .is-style-kort-hvit.is-layout-flex { border-left: 1px solid var(--wp--preset--color--linje); }
.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex .dokflyt-ikonrund { width: 52px; height: 52px; }
.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex .wp-block-heading { font-size: 1.125rem !important; width: auto !important; }
@media (max-width: 781px) {
	.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex { flex-direction: row; text-align: left; padding: 20px 24px !important; }
	.dokflyt-overlapp .is-style-kort-hvit.is-layout-flex + .is-style-kort-hvit.is-layout-flex { border-left: 0; border-top: 1px solid var(--wp--preset--color--linje); }
}

/* 6. Toppbånd uten bilde: dyp blå med Dokflyt-formen som motiv */
.wp-block-post-content > .wp-block-group.is-style-baand-mork:first-child,
.wp-block-post-content > .wp-block-group.is-style-baand-bla:first-child,
main > .wp-block-group.is-style-baand-bla:first-child {
	position: relative; overflow: hidden; isolation: isolate;
	background: radial-gradient(120% 140% at 0% 0%, #2B5C80 0%, #234E6D 45%, #18364D 100%) !important;
}
.wp-block-post-content > .wp-block-group.is-style-baand-mork:first-child::before,
.wp-block-post-content > .wp-block-group.is-style-baand-bla:first-child::before,
main > .wp-block-group.is-style-baand-bla:first-child::before {
	content: ""; position: absolute; z-index: -1; aspect-ratio: 482 / 492;
	width: clamp(260px, 36vw, 540px); right: clamp(-120px, -2vw, 40px); top: clamp(-110px, -5vw, -30px);
	background: linear-gradient(135deg, rgba(112,163,201,.6), rgba(48,103,143,.75));
	-webkit-mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain; mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain;
}
@media (max-width: 781px) {
	.wp-block-post-content > .wp-block-group.is-style-baand-mork:first-child::before,
	.wp-block-post-content > .wp-block-group.is-style-baand-bla:first-child::before,
	main > .wp-block-group.is-style-baand-bla:first-child::before { opacity: .45; right: -90px; }
}

/* 8. Navn og logo i sitatkortene */
.dokflyt-sitat > .is-layout-flex { align-items: center !important; gap: 14px !important; margin-top: 1.5rem !important; }
.dokflyt-sitat > .is-layout-flex .wp-block-image { margin: 0; flex: none; }
.dokflyt-sitat > .is-layout-flex .wp-block-image img { width: 48px; height: 48px; object-fit: contain; border-radius: 0 !important; }
.dokflyt-sitat .dokflyt-hvem { gap: 2px !important; }
.dokflyt-sitat .dokflyt-hvem > p { margin: 0 !important; }
.dokflyt-sitat > p:first-child { margin-top: 0; }
.dokflyt-sitat .dokflyt-lenke { margin-top: 1.25rem !important; }
.dokflyt-klikkbar .dokflyt-lenke a::after { content: "→"; position: static; inset: auto; border-radius: 0; }
.wp-block-post-content > .wp-block-group.is-style-baand-mork:first-child .dokflyt-ingress,
.wp-block-post-content > .wp-block-group.is-style-baand-bla:first-child .dokflyt-ingress,
main > .wp-block-group.is-style-baand-bla:first-child .dokflyt-ingress { max-width: 52ch; }

/* Frittstående lenker (Les mer, Se alle …): ingen strek i hvile, blå strek som vokser frem ved hover.
   Feit skrift og pil gjør dem tydelige som lenker uten understrek. */
.dokflyt-lenke a, .dokflyt-modul .les-mer {
	text-decoration: none !important;
	background-image: linear-gradient(var(--dokflyt-lenkelinje, var(--wp--preset--color--dokflyt)), var(--dokflyt-lenkelinje, var(--wp--preset--color--dokflyt)));
	background-repeat: no-repeat; background-position: 0 100%;
	background-size: 0 2px; padding-bottom: 3px;
	transition: background-size .3s cubic-bezier(.2,.8,.2,1), color .2s;
}
.dokflyt-lenke a::after, .dokflyt-modul .les-mer::after { transition: transform .25s cubic-bezier(.2,.8,.2,1), color .2s; }
.dokflyt-lenke a:hover, .dokflyt-lenke a:focus-visible,
.dokflyt-modul:hover .les-mer, .dokflyt-modul:focus-visible .les-mer,
.dokflyt-klikkbar:hover .dokflyt-lenke a {
	background-size: calc(100% - 1.45em) 2px; /* Streken stopper før pila */
}
.dokflyt-lenke a:hover::after, .dokflyt-lenke a:focus-visible::after,
.dokflyt-modul:hover .les-mer::after, .dokflyt-modul:focus-visible .les-mer::after,
.dokflyt-klikkbar:hover .dokflyt-lenke a::after { color: var(--dokflyt-lenkelinje, var(--wp--preset--color--dokflyt)); }
.dokflyt-modul:hover .les-mer { color: var(--wp--preset--color--blekk); }
.dokflyt-modul { --dokflyt-lenkelinje: var(--c); }
/* På mørke bånd er streken hvit */
.is-style-baand-modul .dokflyt-lenke, .is-style-baand-bla .dokflyt-lenke, .is-style-baand-mork .dokflyt-lenke, .dokflyt-hero .dokflyt-lenke { --dokflyt-lenkelinje: #fff; }
@media (prefers-reduced-motion: reduce) { .dokflyt-lenke a:hover, .dokflyt-modul:hover .les-mer { background-size: calc(100% - 1.45em) 2px; } }

/* 1. Toppbånd: smal ingress skal stå på linje med tittelen, ikke midtstilles */
.wp-block-post-content > .wp-block-group.is-style-baand-mork:first-child > .dokflyt-ingress,
.wp-block-post-content > .wp-block-group.is-style-baand-bla:first-child > .dokflyt-ingress,
main > .wp-block-group.is-style-baand-bla:first-child > .dokflyt-ingress {
	max-width: min(52ch, 100%) !important;
	margin-left: max(0px, calc((100% - 1200px) / 2)) !important;
	margin-right: auto !important;
}
/* 2. Fordelsbåndet: dybde i fargen, Dokflyt-formen i bakgrunnen og lysere ikonflater */
.is-style-baand-modul:has(.dokflyt-fordeler) {
	position: relative; overflow: hidden; isolation: isolate;
	background:
		radial-gradient(90% 120% at 100% 0%, color-mix(in srgb, var(--modul) 55%, var(--modul-dyp)) 0%, transparent 60%),
		linear-gradient(160deg, var(--modul-dyp) 0%, color-mix(in srgb, var(--modul-dyp) 78%, #0b1620) 100%) !important;
}
.is-style-baand-modul:has(.dokflyt-fordeler)::before,
.is-style-baand-modul:has(.dokflyt-fordeler)::after {
	content: ""; position: absolute; z-index: -1; aspect-ratio: 482 / 492;
	-webkit-mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain; mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain;
}
.is-style-baand-modul:has(.dokflyt-fordeler)::before {
	width: clamp(280px, 32vw, 500px); right: clamp(-150px, -5vw, -50px); top: clamp(-180px, -9vw, -100px);
	background: color-mix(in srgb, var(--modul) 70%, #fff); opacity: .3;
}
.is-style-baand-modul:has(.dokflyt-fordeler)::after {
	width: clamp(180px, 18vw, 280px); left: clamp(-130px, -5vw, -60px); bottom: clamp(-150px, -8vw, -90px);
	background: #fff; opacity: .07;
}
.dokflyt-fordel { position: relative; overflow: hidden; border-top: 0 !important; }
.dokflyt-fordel::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--modul); }
.dokflyt-fordel .dokflyt-ikonrund, .is-style-baand-modul .dokflyt-fordel .dokflyt-ikonrund {
	background: var(--modul-lys); color: var(--modul-dyp); border-radius: 16px;
	transition: transform .25s cubic-bezier(.2,.8,.2,1), background-color .2s, color .2s;
}
.dokflyt-fordel:hover .dokflyt-ikonrund { transform: rotate(-6deg) scale(1.06); background: var(--modul-dyp); color: #fff; }
@media (max-width: 781px) {
	.is-style-baand-modul:has(.dokflyt-fordeler) {
		background: linear-gradient(160deg, var(--modul-dyp) 0%, color-mix(in srgb, var(--modul-dyp) 78%, #0b1620) 100%) !important;
	}
	.is-style-baand-modul:has(.dokflyt-fordeler)::before { opacity: .18; top: auto; bottom: 30%; right: -45%; }
}

/* ---------- Hamburgermeny (under 1024px – kjernen bretter bare sammen under 600px, så vi tar resten selv) ---------- */
@media (min-width: 600px) and (max-width: 1023px) {
	.dokflyt-topp .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.dokflyt-topp .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-close:not(.always-shown) { display: grid !important; }
	.dokflyt-topp .wp-block-navigation__responsive-container.is-menu-open { padding-inline: 40px !important; }
}
@media (max-width: 1023px) {
	/* Logg inn før hamburgeren, så menyknappen står ytterst til høyre */
	.dokflyt-topp .dokflyt-logginn { order: -1; }
	.dokflyt-topp .dokflyt-logginn .wp-block-button__link { padding: 9px 16px; }
}
/* CTA og kontaktinfo hører bare til den sammenbrettede menyen */
.dokflyt-meny-ekstra { display: none; }

/* Knappen: tre streker tegnet i CSS, den midterste kortere og strekker seg ved hover */
.dokflyt-topp .wp-block-navigation__responsive-container-open {
	width: 46px; height: 46px; padding: 0; border-radius: 14px;
	background-color: #EAF1F7;
	background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-size: 20px 2.5px, 12px 2.5px, 20px 2.5px;
	background-position: 13px 15px, 21px 22px, 13px 29px;
	transition: background-size .25s ease, background-position .25s ease, background-color .2s;
}
.dokflyt-topp .wp-block-navigation__responsive-container-open svg { display: none; }
.dokflyt-topp .wp-block-navigation__responsive-container-open:hover {
	background-color: #DCE8F2; background-size: 20px 2.5px, 20px 2.5px, 12px 2.5px; background-position: 13px 15px, 13px 22px, 21px 29px;
}

/* Overlayet: samme dype blå som toppbåndene, med Dokflyt-formene */
.dokflyt-topp .wp-block-navigation__responsive-container.is-menu-open {
	background: radial-gradient(120% 90% at 0% 0%, #2B5C80 0%, #234E6D 45%, #18364D 100%) !important;
	color: #fff !important; padding: 16px 20px 24px !important; overflow-x: hidden; isolation: isolate;
}
/* Stort merke i bakgrunnen. Laget dekker hele overlayet og merket flyttes med mask-position,
   så det kan stikke ut av kanten uten at menyen får scroll. */
.dokflyt-topp .wp-block-navigation__responsive-container.is-menu-open::before {
	content: ""; position: absolute; z-index: -1; inset: 0;
	background: linear-gradient(135deg, rgba(112,163,201,.38), rgba(48,103,143,.55));
	-webkit-mask: url(../img/dokflyt-form-maske.svg) no-repeat right -38vw bottom 8vh / max(560px, 130vw) auto;
	mask: url(../img/dokflyt-form-maske.svg) no-repeat right -38vw bottom 8vh / max(560px, 130vw) auto;
}
/* Fyll høyden: menyen øverst, CTA og kontakt nederst */
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-close,
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-dialog { min-height: 100%; display: flex; flex-direction: column; }
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-close { max-width: 640px; margin-inline: auto; width: 100%; }
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-dialog { flex: 1; }
/* Hvit logo øverst, på linje med lukkeknappen */
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: ""; display: block; flex: none; width: 140px; aspect-ratio: 2000 / 488; background: #fff;
	-webkit-mask: url(../img/dokflyt-logo.svg) no-repeat left center / contain; mask: url(../img/dokflyt-logo.svg) no-repeat left center / contain;
	margin: 8px 0 0;
}
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 0; right: 0; width: 44px; height: 44px; border-radius: 50%;
	display: grid; place-items: center; background: rgba(255,255,255,.12); color: #fff !important;
	transition: background-color .2s, transform .3s ease;
}
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-close:hover { background: rgba(255,255,255,.22); transform: rotate(90deg); }
.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 24px; height: 24px; fill: currentColor; }

.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-content {
	flex: 1; display: flex !important; flex-direction: column; padding-top: 24px !important; align-items: stretch !important; gap: 0 !important;
}
.dokflyt-topp .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	position: relative; border-bottom: 1px solid rgba(255,255,255,.14); padding: 0 !important; display: block !important;
	animation: dokflyt-meny-inn .4s cubic-bezier(.2,.7,.2,1) both;
}
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .04s; }
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .08s; }
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .12s; }
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: .16s; }
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(6) { animation-delay: .20s; }
.dokflyt-topp .is-menu-open .dokflyt-meny-ekstra { animation: dokflyt-meny-inn .4s .24s cubic-bezier(.2,.7,.2,1) both; }
@keyframes dokflyt-meny-inn { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }

/* Hovedpunktene */
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex !important; align-items: center; justify-content: space-between; gap: 16px;
	padding: 12px 0 !important; font-size: 1.25rem; font-weight: 700; letter-spacing: -.01em; color: #fff;
}
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "→"; font-weight: 400; opacity: .5; transition: transform .25s ease, opacity .25s;
}
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible::after { transform: translateX(5px); opacity: 1; }
.dokflyt-topp .is-menu-open .wp-block-navigation-item__content:focus-visible,
.dokflyt-topp .is-menu-open .wp-block-navigation-submenu__toggle:focus-visible,
.dokflyt-meny-ekstra a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 6px; }
.dokflyt-topp .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: #A9CBE4; }

/* Ingen undermeny i mobilmenyen – Tjenesteområder går rett til siden */
.dokflyt-topp .is-menu-open .wp-block-navigation-submenu__toggle,
.dokflyt-topp .is-menu-open .wp-block-navigation__submenu-container { display: none !important; }

/* Logg inn og kontaktinfo nederst */
.dokflyt-topp .is-menu-open .dokflyt-meny-ekstra { display: flex; flex-direction: column; gap: 18px; margin-top: auto; padding-top: 24px; }
.dokflyt-meny-cta {
	display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 24px;
	border-radius: 999px; background: #fff; color: var(--wp--preset--color--dokflyt-dyp) !important;
	font-size: 1.0625rem; font-weight: 700; text-decoration: none !important; box-shadow: 0 10px 28px rgba(5,20,32,.28);
	transition: transform .2s ease, box-shadow .2s ease;
}
.dokflyt-meny-cta svg { transition: transform .2s ease; }
.dokflyt-meny-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(5,20,32,.34); }
.dokflyt-meny-cta:hover svg { transform: translateX(4px); }
.dokflyt-meny-kontakt { display: grid; gap: 4px; font-size: .9375rem; color: rgba(255,255,255,.8); }
.dokflyt-meny-kontakt p { margin: 0; }
.dokflyt-meny-kontakt .dokflyt-meny-kontakt__tittel { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #A9CBE4; margin-bottom: 4px; }
.dokflyt-meny-kontakt a { color: #fff !important; text-decoration: none !important; font-weight: 600; width: fit-content; }
.dokflyt-meny-kontakt a:hover { text-decoration: underline !important; text-underline-offset: 3px; }

/* Liggende mobil: lite høyde, så menyen deles i to kolonner – lenker til venstre, Logg inn og kontakt til høyre */
@media (orientation: landscape) and (max-height: 560px) and (max-width: 1023px) {
	.dokflyt-topp .wp-block-navigation__responsive-container.is-menu-open { padding: 12px 32px 16px !important; }
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-close { max-width: 920px; }
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-dialog::before { width: 118px; margin-top: 6px; }
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-close { width: 40px; height: 40px; }
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-content {
		display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(230px, 1fr); column-gap: clamp(40px, 7vw, 80px) !important;
		align-items: start !important; padding-top: 14px !important;
	}
	.dokflyt-topp .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 9px 0 !important; font-size: 1.0625rem; }
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-close,
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-dialog { min-height: 0; }
	.dokflyt-topp .is-menu-open .dokflyt-meny-ekstra {
		margin-top: 0; padding: 20px 22px; gap: 16px; border-radius: 20px;
		background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(6px);
		position: sticky; top: 0;
	}
	.dokflyt-meny-cta { min-height: 48px; font-size: 1rem; padding: 0 18px; white-space: nowrap; }
	.dokflyt-meny-kontakt { font-size: .875rem; }
	.dokflyt-topp .wp-block-navigation__responsive-container.is-menu-open::before { -webkit-mask-position: right -14vw bottom -40vh; mask-position: right -14vw bottom -40vh; -webkit-mask-size: max(420px, 62vw) auto; mask-size: max(420px, 62vw) auto; }
}

@media (prefers-reduced-motion: reduce) {
	.dokflyt-topp .is-menu-open .wp-block-navigation-item, .dokflyt-topp .is-menu-open .dokflyt-meny-ekstra { animation: none !important; }
	.dokflyt-topp .wp-block-navigation__responsive-container-open,
	.dokflyt-topp .is-menu-open .wp-block-navigation__responsive-container-close, .dokflyt-meny-cta { transition: none; }
}

/* ---------- Personvern ---------- */
.dokflyt-pv-datorad { gap: 8px !important; margin-top: 18px !important; font-size: .875rem; }
.dokflyt-pv-datorad p, .dokflyt-pv-dato { margin: 0 !important; font-size: .875rem; }
.dokflyt-pv-oppdatert { color: #A9CBE4; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: .75rem !important; }
.dokflyt-pv-dato { color: #fff; font-weight: 600; }

.dokflyt-personvern { padding-top: var(--wp--preset--spacing--l) !important; }
.dokflyt-pv-kolonner { gap: clamp(32px, 6vw, 80px) !important; align-items: stretch !important; }
.dokflyt-pv-kolonner > .wp-block-column { align-self: stretch !important; }
/* Innholdslista følger med når man scroller */
.dokflyt-pv-meny { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 104px); }
.dokflyt-pv-meny .dokflyt-overline { margin-bottom: 12px; }
ul.dokflyt-pv-innhold { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--wp--preset--color--linje); }
ul.dokflyt-pv-innhold li { margin: 0; }
ul.dokflyt-pv-innhold a {
	display: block; padding: 7px 0 7px 16px; margin-left: -2px; border-left: 2px solid transparent;
	color: var(--wp--preset--color--dempet); text-decoration: none; font-size: .9375rem; line-height: 1.4; transition: color .2s, border-color .2s;
}
ul.dokflyt-pv-innhold a:hover, ul.dokflyt-pv-innhold a.er-aktiv { color: var(--wp--preset--color--dokflyt-dyp); border-left-color: var(--wp--preset--color--dokflyt-dyp); }
ul.dokflyt-pv-innhold a.er-aktiv { font-weight: 600; }

.dokflyt-pv-intro { font-size: 1.0625rem; margin-top: 0 !important; }
.dokflyt-pv-del { padding-top: clamp(28px, 4vw, 44px); margin-top: clamp(28px, 4vw, 44px) !important; border-top: 1px solid var(--wp--preset--color--linje); }
.dokflyt-pv-hode { gap: 16px !important; margin-bottom: 18px !important; }
.dokflyt-pv-hode h2 { margin: 0 !important; scroll-margin-top: 110px; font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem) !important; }
.dokflyt-pv-ikon { flex: none; width: 48px !important; height: 48px !important; border-radius: 14px !important; }
.dokflyt-pv-del p { max-width: 68ch; }
ul.dokflyt-pv-liste { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 10px; max-width: 68ch; }
ul.dokflyt-pv-liste li { position: relative; padding-left: 26px; }
ul.dokflyt-pv-liste li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 10px; height: 10px; border-radius: 3px; background: var(--wp--preset--color--dokflyt-lys, #70A3C9); transform: rotate(45deg); }
.dokflyt-pv-tjeneste { background: #F3F7FA; border-radius: 16px; padding: 18px 20px; }
.dokflyt-pv-tjeneste p { margin: 0 !important; font-size: .9375rem; }
.dokflyt-pv-tjeneste .dokflyt-pv-tjeneste-navn { font-weight: 700; color: var(--wp--preset--color--blekk); font-size: 1.0625rem; margin-bottom: 4px !important; }
.dokflyt-pv-kontakt {
	margin-top: clamp(36px, 5vw, 56px) !important; padding: clamp(24px, 3vw, 36px); border-radius: 20px;
	background: #DDE7EF; position: relative; overflow: hidden; isolation: isolate;
}
.dokflyt-pv-kontakt::before {
	content: ""; position: absolute; z-index: -1; inset: 0; background: rgba(48,103,143,.14);
	-webkit-mask: url(../img/dokflyt-pil-maske.svg) no-repeat right -40px bottom -60px / 200px auto; mask: url(../img/dokflyt-pil-maske.svg) no-repeat right -40px bottom -60px / 200px auto;
}
.dokflyt-pv-kontakt h2 { margin-top: 0 !important; }
.dokflyt-pv-kontakt p { margin-bottom: 0 !important; max-width: 52ch; }
@media (max-width: 781px) {
	.dokflyt-pv-meny { position: static; background: #F3F7FA; border-radius: 16px; padding: 18px 20px; }
	ul.dokflyt-pv-innhold { border-left: 0; }
	ul.dokflyt-pv-innhold a { padding: 6px 0; margin: 0; border: 0; }
}

/* ---------- Valg i panelet «Dokflyt» (assets/js/blokkvalg.js) ---------- */
/* To spalter også for vanlige punktlister */
ul.dokflyt-to-spalter { display: grid; }
@media (max-width: 600px) { ul.dokflyt-to-spalter { grid-template-columns: minmax(0, 1fr); } }

/* Dokflyt-form i bakgrunnen av en gruppe. Mørk form på lyse flater, lys form på bånd. */
.wp-block-group.dokflyt-form-hoyre, .wp-block-group.dokflyt-form-venstre { position: relative; overflow: hidden; isolation: isolate; --dokflyt-form-farge: var(--modul); --dokflyt-form-styrke: .1; }
.wp-block-group.dokflyt-form-hoyre:is(.is-style-baand-bla, .is-style-baand-mork, .is-style-baand-modul),
.wp-block-group.dokflyt-form-venstre:is(.is-style-baand-bla, .is-style-baand-mork, .is-style-baand-modul) { --dokflyt-form-farge: #fff; --dokflyt-form-styrke: .09; }
.wp-block-group.dokflyt-form-hoyre::after, .wp-block-group.dokflyt-form-venstre::after { display: none !important; }
.wp-block-group.dokflyt-form-hoyre::before, .wp-block-group.dokflyt-form-venstre::before {
	content: "" !important; position: absolute !important; z-index: -1 !important; inset: auto !important; aspect-ratio: 482 / 492 !important;
	width: clamp(260px, 34vw, 520px) !important; opacity: var(--dokflyt-form-styrke) !important; background: var(--dokflyt-form-farge) !important;
	-webkit-mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain !important; mask: url(../img/dokflyt-form-maske.svg) no-repeat center / contain !important;
}
.wp-block-group.dokflyt-form-hoyre::before { right: clamp(-160px, -6vw, -40px) !important; top: clamp(-200px, -10vw, -80px) !important; }
.wp-block-group.dokflyt-form-venstre::before { left: clamp(-220px, -10vw, -80px) !important; bottom: clamp(-240px, -12vw, -100px) !important; }
.wp-block-group.dokflyt-uten-form::before, .wp-block-group.dokflyt-uten-form::after { display: none !important; }

/* Skjul på mobil / PC – bare på nettsiden. I editoren vises blokken svakere med stiplet ramme. */
@media (max-width: 781px) { .dokflyt-skjul-mobil:not(.block-editor-block-list__block) { display: none !important; } }
@media (min-width: 782px) { .dokflyt-skjul-pc:not(.block-editor-block-list__block) { display: none !important; } }
