/* Mundguiden. Alle værdier kommer fra tokens i theme.json. Mobil først.
   Breakpoints: 640, 768, 1024, 1280, 1440. */

:root {
	--mork: var(--wp--preset--color--mork);
	--accent: var(--wp--preset--color--accent);
	--accent-mork: var(--wp--preset--color--accent-mork);
	--flade: var(--wp--preset--color--flade);
	--flade-tonet: var(--wp--preset--color--flade-tonet);
	--hvid: var(--wp--preset--color--hvid);
	--tekst: var(--wp--preset--color--tekst);
	--tekst-daempet: var(--wp--preset--color--tekst-daempet);
	--streg: var(--wp--preset--color--streg);
	--f-overskrift: var(--wp--preset--font-family--outfit);
	--f-broed: var(--wp--preset--font-family--inter);
	--r-kort: var(--wp--custom--radius--kort);
	--r-lille: var(--wp--custom--radius--lille);
	--r-pille: var(--wp--custom--radius--pille);
	--r-hero: var(--wp--custom--radius--hero);
	--skygge: var(--wp--preset--shadow--kort);
	--gutter: var(--wp--custom--gutter--mobil);
	--sektion: var(--wp--custom--sektion--mobil);
	--bredde: var(--wp--custom--bredde--indhold);
	--artikel: var(--wp--custom--bredde--artikel);
	--top: var(--wp-admin--admin-bar--height, 0px);
}
@media (min-width: 1024px) {
	:root { --gutter: var(--wp--custom--gutter--desktop); --sektion: var(--wp--custom--sektion--desktop); }
}

/* ---------- Grund ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
body {
	margin: 0;
	background: var(--flade);
	color: var(--tekst);
	font-family: var(--f-broed);
	font-size: 17px;
	line-height: var(--wp--custom--linjehoejde--broed-mobil);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
@media (min-width: 768px) {
	body { font-size: var(--wp--preset--font-size--broed); line-height: var(--wp--custom--linjehoejde--broed); }
}
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.mg-main > * { margin-block: 0; }
img, svg { max-width: 100%; display: block; }
img { height: auto; }
a { color: var(--accent-mork); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
h1, h2, h3, h4 { font-family: var(--f-overskrift); font-weight: 700; margin: 0; line-height: 1.15; color: inherit; }
p { margin: 0; }
b, strong { font-weight: 700; }
button { font: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; }
[hidden] { display: none !important; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000; background: var(--hvid); color: var(--mork); padding: 12px 20px; border-radius: var(--r-pille); left: 12px; top: 12px; }

/* Synlig fokusmarkering */
:focus { outline: none; }
:focus-visible { outline: 3px solid var(--accent-mork); outline-offset: 3px; border-radius: 4px; }
.mg-sektion--mork :focus-visible, .mg-header :focus-visible, .mg-footer :focus-visible, .mg-drawer__panel--1 :focus-visible,
.mg-banner :focus-visible, .mg-sidepanel :focus-visible, .mg-krumme.is-fast :focus-visible, .mg-billedkort :focus-visible { outline-color: var(--accent); }

/* ---------- Layout ---------- */
.mg-wrap { width: 100%; max-width: calc(var(--bredde) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.mg-sektion { padding-block: var(--sektion); background: var(--flade); }
.mg-sektion--tonet { background: var(--flade-tonet); }
.mg-sektion--hvid { background: var(--hvid); }
.mg-sektion--mork { background: var(--mork); color: var(--hvid); }
.mg-sektion--mork a { color: var(--accent); }
.mg-sektion--mork .mg-etiket { color: var(--accent); }
.mg-sektion--kompakt { padding-block: 0 var(--sektion); }
.mg-center { text-align: center; display: flex; justify-content: center; }
.mg-mt { margin-top: 24px; }
.mg-mt-stor { margin-top: 48px; }
.mg-daempet { color: var(--tekst-daempet); }
.mg-let { font-weight: 300; }

.mg-grid { display: grid; gap: 16px; list-style: none; grid-template-columns: 1fr; }
@media (min-width: 768px) {
	.mg-grid--2, .mg-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (min-width: 1024px) {
	.mg-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
}

/* ---------- Typografi ---------- */
.mg-h1-hero { font-family: var(--f-overskrift); font-weight: 300; font-size: 36px; line-height: 1.1; letter-spacing: -0.01em; }
.mg-h1-hero b { font-weight: 700; }
.mg-h2-stor { font-family: var(--f-overskrift); font-weight: 300; font-size: 28px; line-height: 1.15; }
.mg-h2-stor b, .mg-h2-stor strong { font-weight: 700; }
.mg-h2 { font-family: var(--f-overskrift); font-weight: 700; font-size: 24px; line-height: 1.2; }
.mg-manchet { font-weight: 300; font-size: 20px; line-height: var(--wp--custom--linjehoejde--manchet-mobil); max-width: 46ch; }
.mg-manchet--lille { font-size: 18px; line-height: 28px; }
.mg-etiket { font-family: var(--f-broed); font-size: var(--wp--preset--font-size--etiket-lille); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-mork); line-height: 1.3; margin-bottom: 8px; }
.mg-etiket--lys { color: var(--accent); }
.mg-lille-label { display: block; font-size: var(--wp--preset--font-size--etiket); font-weight: 700; color: var(--tekst-daempet); margin-bottom: 4px; }
@media (min-width: 768px) {
	.mg-h2 { font-size: 28px; }
}
@media (min-width: 1024px) {
	.mg-h1-hero { font-size: var(--wp--preset--font-size--overskrift-hero); line-height: 1.05; }
	.mg-h2-stor { font-size: var(--wp--preset--font-size--overskrift-stor); }
	.mg-h2 { font-size: var(--wp--preset--font-size--overskrift-sektion); }
	.mg-manchet { font-size: var(--wp--preset--font-size--manchet); line-height: var(--wp--custom--linjehoejde--manchet); }
	.mg-manchet--lille { font-size: 20px; line-height: 30px; }
}

.mg-sektionstitel { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-bottom: 24px; }
.mg-sektionstitel--center { justify-content: center; text-align: center; }
@media (min-width: 1024px) { .mg-sektionstitel { margin-bottom: 32px; } }

/* ---------- Knapper ---------- */
.mg-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 10px 22px; border-radius: var(--r-pille); border: 1.5px solid transparent;
	font-family: var(--f-broed); font-size: 16px; font-weight: 600; line-height: 1.25; text-decoration: none; text-align: center;
	cursor: pointer; transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
.mg-btn:hover { text-decoration: none; }
.mg-btn--primaer { background: var(--mork); color: var(--hvid); }
.mg-btn--primaer:hover { background: #1c3760; color: var(--hvid); }
.mg-btn--sekundaer { background: var(--accent); color: var(--mork); }
.mg-btn--sekundaer:hover { background: #b5d6ff; color: var(--mork); }
.mg-btn--tertiaer { background: var(--hvid); color: var(--mork); border-color: var(--streg); }
.mg-btn--tertiaer:hover { border-color: var(--mork); color: var(--mork); }
.mg-btn--lille { min-height: 36px; padding: 6px 16px; font-size: 15px; }
.mg-btn__ikon { width: 18px; height: 18px; }
.mg-reklame { flex-wrap: wrap; column-gap: 5px; }
.mg-reklame__mrk { font-weight: 400; opacity: .85; }

.mg-pilknap {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 32px; height: 32px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
	background: var(--mork); color: var(--hvid); text-decoration: none; transition: background-color .15s;
}
.mg-pilknap svg { width: 18px; height: 18px; }
.mg-pilknap:hover { background: #1c3760; }
.mg-pilknap--lys { background: var(--hvid); color: var(--mork); box-shadow: inset 0 0 0 1.5px var(--streg); }
.mg-pilknap--lys:hover { background: var(--flade-tonet); }
.mg-pilknap[disabled] { opacity: .35; cursor: default; }

.mg-pil-link, .mg-henvisning a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--accent-mork); text-decoration: none; }
.mg-pil-link:hover, .mg-henvisning a:hover { text-decoration: underline; }
.mg-henvisning { margin-block: 24px; }
.mg-henvisning a::before {
	content: ""; width: 18px; height: 18px; flex: none; background: currentColor;
	-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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mg-linkliste { list-style: none; display: grid; gap: 10px; margin-top: 20px; }

/* Mærkat og runde ikoner */
.mg-maerkat {
	display: inline-flex; align-items: center; gap: 6px; align-self: flex-start;
	padding: 5px 12px; border-radius: var(--r-pille); background: var(--accent); color: var(--mork);
	font-size: 13px; font-weight: 700; line-height: 1.2;
}
.mg-maerkat--vores-anbefaling { background: var(--mork); color: var(--hvid); }
.mg-maerkat__ikon { width: 14px; height: 14px; }
.mg-rundikon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--accent); color: var(--mork); }
.mg-rundikon svg { width: 24px; height: 24px; }
.mg-rundikon--stor { width: 64px; height: 64px; }
.mg-rundikon--stor svg { width: 32px; height: 32px; }
.mg-rundikon--lille { width: 32px; height: 32px; }
.mg-rundikon--lille svg { width: 18px; height: 18px; }

/* ---------- Header ---------- */
.mg-header { background: var(--mork); color: var(--hvid); position: relative; z-index: 30; }
.mg-header__bar { display: flex; align-items: center; gap: 12px; min-height: 64px; }
.mg-logo { font-family: var(--f-overskrift); font-weight: 700; font-size: 24px; letter-spacing: -0.01em; color: var(--hvid); text-decoration: none; margin-right: auto; }
.mg-logo:hover { color: var(--hvid); }
.mg-btn--menu { order: 3; background: var(--accent); color: var(--mork); min-height: 40px; padding: 8px 16px; }
.mg-btn--menu:hover { background: #b5d6ff; }
.mg-header__soegeikon { order: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 0; background: transparent; color: var(--hvid); cursor: pointer; }
.mg-header__soegeikon:hover { background: rgba(255,255,255,.08); }
.mg-header .mg-header__soeg { display: none; }
.mg-header .mg-header__soeg.is-aaben { display: flex; position: absolute; left: 0; right: 0; top: 100%; padding: 12px var(--gutter) 16px; background: var(--mork); }
@media (min-width: 1024px) {
	.mg-header__bar { min-height: 80px; gap: 16px; }
	.mg-logo { font-size: 28px; margin-right: 0; }
	.mg-btn--menu { order: 0; }
	.mg-header__soegeikon { display: none; }
	.mg-header .mg-header__soeg { display: flex; flex: 0 1 560px; margin-left: auto; margin-right: max(0px, calc(50% - 520px)); }
	.mg-header .mg-header__soeg.is-aaben { position: static; padding: 0; }
}

/* Søgefelt (pille) */
.mg-soeg { position: relative; display: flex; align-items: center; width: 100%; }
.mg-soeg input[type="search"] {
	width: 100%; min-height: 48px; padding: 10px 56px 10px 22px; border-radius: var(--r-pille);
	border: 1.5px solid transparent; background: var(--hvid); color: var(--tekst); font: inherit; font-size: 16px;
	-webkit-appearance: none; appearance: none;
}
.mg-soeg input::placeholder { color: var(--tekst-daempet); }
.mg-soeg input:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.mg-soeg__knap { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--mork); color: var(--hvid); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.mg-header .mg-soeg__knap { background: var(--accent); color: var(--mork); }
.mg-soeg--lys input[type="search"], .mg-soeg--stor input[type="search"] { border-color: var(--streg); }
.mg-soeg--lys input:focus-visible, .mg-soeg--stor input:focus-visible { outline-color: var(--accent-mork); }
.mg-soeg__ikon { position: absolute; right: 18px; color: var(--tekst-daempet); pointer-events: none; }
.mg-soeg--stor { max-width: 640px; margin-top: 24px; }
.mg-soeg--stor input[type="search"] { min-height: 56px; }

/* ---------- Menu-skuffe ---------- */
.mg-drawer { position: fixed; inset: 0; z-index: 1000; }
.mg-drawer__daemp { position: absolute; inset: 0; background: rgba(17, 36, 63, .55); opacity: 0; transition: opacity .25s; }
.mg-drawer.is-aaben .mg-drawer__daemp { opacity: 1; }
.mg-drawer__ramme { position: absolute; top: var(--top); bottom: 0; left: 0; display: flex; width: 100%; transform: translateX(-100%); transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.mg-drawer.is-aaben .mg-drawer__ramme { transform: none; }
.mg-drawer__panel { height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 16px var(--gutter) 40px; }
.mg-drawer__panel--1 { background: var(--mork); color: var(--hvid); width: 100%; }
.mg-drawer__panel--2 { background: var(--hvid); color: var(--tekst); position: absolute; inset: 0; width: 100%; animation: mg-ind .25s ease; }
@keyframes mg-ind { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
.mg-drawer__top { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-bottom: 24px; }
.mg-btn--luk { background: var(--hvid); color: var(--mork); min-height: 40px; padding: 8px 16px; }
.mg-drawer__panel--2 .mg-btn--luk, .mg-filter .mg-btn--luk { background: var(--flade-tonet); }
.mg-drawer__liste { list-style: none; }
.mg-drawer__liste li { border-bottom: 1px solid rgba(255,255,255,.14); }
.mg-drawer__panel--2 .mg-drawer__liste li { border-color: var(--streg); }
.mg-drawer__punkt, .mg-drawer__liste a {
	display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px;
	padding: 18px 0; background: none; border: 0; text-align: left; cursor: pointer;
	font-family: var(--f-overskrift); font-weight: 700; font-size: 24px; color: inherit; text-decoration: none;
}
.mg-drawer__panel--2 .mg-drawer__liste a { font-size: 19px; font-family: var(--f-broed); font-weight: 600; padding: 14px 0; }
.mg-drawer__punkt svg, .mg-drawer__liste a svg { width: 22px; height: 22px; flex: none; }
.mg-drawer__punkt[aria-expanded="true"] { color: var(--accent); }
.mg-drawer__tilbage { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 12px 0; font-weight: 600; cursor: pointer; color: var(--tekst); }
.mg-drawer__tilbage svg { width: 20px; height: 20px; }
.mg-drawer__gaatil { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 12px; padding: 16px 20px; border-radius: var(--r-lille); background: var(--flade-tonet); color: var(--mork); font-family: var(--f-overskrift); font-weight: 700; font-size: 20px; text-decoration: none; }
.mg-drawer__gaatil svg { width: 20px; height: 20px; }
@media (min-width: 768px) {
	.mg-drawer__ramme { width: auto; }
	.mg-drawer__panel--1 { width: 420px; padding-inline: 32px; }
	.mg-drawer__panel--2 { position: static; width: 380px; padding-inline: 32px; animation: none; }
	.mg-drawer__tilbage { display: none; }
	.mg-drawer__panel--2 { padding-top: 88px; }
}
@media (min-width: 1024px) {
	.mg-drawer__panel--1 { width: 460px; padding-inline: 48px; }
	.mg-drawer__panel--2 { width: 420px; padding-inline: 40px; }
}
body.mg-laast { overflow: hidden; }

/* ---------- Annonce og brødkrumme ---------- */
.mg-annonce { background: var(--flade-tonet); border-bottom: 1px solid var(--streg); font-size: 14px; line-height: 20px; }
.mg-annonce p { padding-block: 9px; }
.mg-annonce a { font-weight: 600; margin-left: 4px; }
.mg-krumme-vagt { height: 0; }
.mg-krumme { position: sticky; top: var(--top); z-index: 20; background: var(--flade); transition: background-color .2s, box-shadow .2s; }
.mg-krumme__indre { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; }
.mg-krumme ol { list-style: none; display: flex; align-items: center; flex-wrap: nowrap; overflow: hidden; font-size: 14px; line-height: 20px; white-space: nowrap; }
.mg-krumme li { display: inline-flex; align-items: center; min-width: 0; }
.mg-krumme li:last-child { overflow: hidden; }
.mg-krumme li:last-child span { overflow: hidden; text-overflow: ellipsis; }
.mg-krumme a { color: var(--tekst); text-decoration: underline; text-decoration-color: var(--streg); }
.mg-krumme a:hover { text-decoration-color: currentColor; }
.mg-krumme [aria-current] { color: var(--tekst-daempet); }
.mg-krumme__sep { width: 14px; height: 14px; margin-inline: 6px; color: var(--tekst-daempet); flex: none; }
.mg-krumme__del { display: none; flex: none; align-items: center; gap: 6px; min-height: 32px; padding: 4px 14px; border-radius: var(--r-pille); border: 0; background: var(--accent); color: var(--mork); font-size: 14px; font-weight: 600; cursor: pointer; }
.mg-krumme__del svg { width: 16px; height: 16px; }
.mg-krumme.is-fast { background: var(--mork); box-shadow: 0 2px 12px rgba(17,36,63,.18); }
.mg-krumme.is-fast a, .mg-krumme.is-fast [aria-current] { color: var(--hvid); }
.mg-krumme.is-fast a { text-decoration-color: rgba(255,255,255,.35); }
.mg-krumme.is-fast .mg-krumme__sep { color: var(--accent); }
.mg-krumme.is-fast .mg-krumme__del { display: inline-flex; }
.mg-krumme.is-fast .mg-krumme__indre { min-height: 44px; }
/* Mobil: på emnesider er skuffen og bundbjælken vigtigere end at gentage brødkrummen */
@media (max-width: 767px) {
	.mg-krumme ol li:not(:nth-last-child(-n+2)) { display: none; }
}

/* ---------- Hero ---------- */
.mg-hero { padding-block: 40px; }
@media (min-width: 1024px) { .mg-hero { padding-block: 72px; } }
.mg-hero-simpel { display: grid; gap: 16px; max-width: 980px; }
.mg-hero--rund { border-radius: 0 0 var(--r-hero) var(--r-hero); }

/* Forside */
.mg-forside__top { display: grid; gap: 16px; margin-bottom: 32px; max-width: 980px; }
@media (min-width: 1024px) { .mg-forside__top { margin-bottom: 48px; } }

/* ---------- 1. Ikonfliser ---------- */
.mg-fliser { list-style: none; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scrollbar-width: none; }
.mg-fliser::-webkit-scrollbar { display: none; }
.mg-flise { flex: 0 0 116px; scroll-snap-align: start; }
.mg-flise a { display: grid; gap: 10px; text-decoration: none; color: var(--tekst); }
.mg-flise__felt { display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--r-kort); background: var(--accent); overflow: hidden; transition: transform .2s; }
.mg-flise__felt img { width: 74%; height: 74%; object-fit: contain; }
.mg-flise__label { font-weight: 700; font-size: 15px; line-height: 1.3; text-align: center; }
.mg-flise a:hover .mg-flise__felt { transform: translateY(-3px); }
.mg-flise a:hover .mg-flise__label { text-decoration: underline; }
.mg-flise--mork .mg-flise__felt { background: var(--mork); color: var(--accent); }
.mg-flise--mork .mg-flise__felt svg { width: 40px; height: 40px; }
.mg-flise--hero { width: 112px; margin-inline: auto; }
@media (min-width: 768px) { .mg-flise { flex-basis: 140px; } }
@media (min-width: 1024px) {
	.mg-fliser { display: grid; grid-template-columns: repeat(var(--n, 8), minmax(0, 1fr)); gap: 20px; overflow: visible; margin-inline: 0; padding-inline: 0; }
	.mg-flise__label { font-size: 16px; }
	.mg-flise--hero { width: 136px; }
}

/* ---------- 2. Billedkort ---------- */
.mg-billedkort { position: relative; border-radius: var(--r-kort); overflow: hidden; background: var(--flade-tonet); }
.mg-billedkort a { display: block; position: relative; aspect-ratio: 3 / 4; color: var(--hvid); text-decoration: none; }
.mg-billedkort--stor a { aspect-ratio: 4 / 5; }
.mg-billedkort img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.mg-billedkort a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(17,36,63,.92) 0%, rgba(17,36,63,.6) 32%, rgba(17,36,63,0) 62%); }
.mg-billedkort__tekst { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 20px; }
.mg-billedkort__titel { font-family: var(--f-overskrift); font-weight: 700; font-size: 20px; line-height: 1.2; color: var(--hvid); }
.mg-billedkort--stor .mg-billedkort__titel { font-size: 22px; }
.mg-billedkort a:hover img { transform: scale(1.03); }
.mg-billedkort a:hover .mg-billedkort__titel { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
@media (min-width: 1024px) {
	.mg-billedkort__tekst { padding: 24px; }
	.mg-billedkort--stor .mg-billedkort__titel { font-size: 26px; }
}

/* ---------- 3. Kompakt linkkort ---------- */
.mg-linkkort-liste { list-style: none; }
.mg-linkkort a { display: flex; align-items: center; gap: 16px; padding: 12px; border-radius: var(--r-lille); background: var(--hvid); box-shadow: var(--skygge); color: var(--tekst); text-decoration: none; height: 100%; }
.mg-linkkort__mini { flex: none; width: 72px; height: 72px; border-radius: var(--r-lille); background: var(--accent); overflow: hidden; display: grid; place-items: center; }
.mg-linkkort__mini img { width: 100%; height: 100%; object-fit: cover; }
.mg-linkkort__mini img[src*="produkt-"] { width: 78%; height: 78%; object-fit: contain; }
.mg-linkkort__tekst .mg-etiket { margin-bottom: 2px; font-size: 12px; }
.mg-linkkort__titel { font-family: var(--f-broed); font-weight: 700; font-size: 16px; line-height: 1.35; }
.mg-linkkort a:hover .mg-linkkort__titel { text-decoration: underline; }

/* ---------- 4. Kategorikort ---------- */
.mg-kategorikort-liste { list-style: none; }
.mg-kategorikort a { display: flex; align-items: center; gap: 16px; padding: 20px; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); color: var(--tekst); text-decoration: none; height: 100%; }
.mg-kategorikort__label { font-weight: 700; font-size: 17px; line-height: 1.3; flex: 1; }
.mg-kategorikort__pil { width: 20px; height: 20px; color: var(--accent-mork); transition: transform .2s; }
.mg-kategorikort a:hover .mg-kategorikort__label { text-decoration: underline; }
.mg-kategorikort a:hover .mg-kategorikort__pil { transform: translateX(3px); }
@media (min-width: 1024px) { .mg-kategorikort a { padding: 24px; } }

/* ---------- 5. Banner ---------- */
.mg-banner { display: grid; gap: 20px; padding: 28px 24px; border-radius: var(--r-kort); background: var(--mork); color: var(--hvid); }
.mg-banner__titel { font-family: var(--f-overskrift); font-weight: 300; font-size: 26px; line-height: 1.2; }
.mg-banner__titel b { font-weight: 700; }
.mg-banner__tekst p { margin-top: 6px; color: rgba(255,255,255,.86); }
@media (min-width: 768px) {
	.mg-banner { grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; padding: 36px 40px; }
	.mg-banner__titel { font-size: 30px; }
}

/* ---------- 6. Topvalg ---------- */
.mg-topvalg { display: grid; gap: 20px; }
.mg-topkort { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); position: relative; }
.mg-topkort--vores-anbefaling { box-shadow: 0 0 0 3px var(--mork), var(--skygge); }
.mg-topkort__billede { display: grid; place-items: center; aspect-ratio: 16 / 9; border-radius: var(--r-lille); background: var(--flade-tonet); margin-block: 4px; }
.mg-topkort__billede img { width: auto; height: 84%; object-fit: contain; }
@media (min-width: 1024px) { .mg-topkort__billede { aspect-ratio: 4 / 3; } }
.mg-topkort__navn { font-family: var(--f-overskrift); font-size: 22px; line-height: 1.2; }
.mg-topkort__navn a, .mg-raekke__navn a { color: var(--tekst); text-decoration: none; }
.mg-topkort__navn a:hover, .mg-raekke__navn a:hover { text-decoration: underline; }
.mg-topkort__knap { margin-top: auto; padding-top: 8px; }
.mg-topkort__knap .mg-btn { width: 100%; }
.mg-bedsttil { font-size: 16px; line-height: 24px; color: var(--tekst-daempet); }
.mg-bedsttil span { font-weight: 700; color: var(--tekst); }
.mg-pris { display: grid; gap: 2px; }
.mg-pris__beloeb { font-family: var(--f-overskrift); font-weight: 700; font-size: 24px; line-height: 1.2; }
.mg-pris__set { display: block; font-size: 13px; line-height: 18px; color: var(--tekst-daempet); }
@media (min-width: 1024px) {
	.mg-topvalg { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
	.mg-topkort { padding: 28px; }
	.mg-topkort--bedste-koeb { order: 1; }
	.mg-topkort--vores-anbefaling { order: 2; transform: translateY(-8px); }
	.mg-topkort--bedst-til-prisen { order: 3; }
}

/* ---------- Vurdering (score) ---------- */
.mg-score { display: grid; gap: 6px; }
.mg-score__label { font-size: var(--wp--preset--font-size--etiket); font-weight: 700; color: var(--tekst-daempet); }
.mg-score__tal { font-family: var(--f-overskrift); font-size: 15px; color: var(--tekst-daempet); }
.mg-score__tal b { font-size: 28px; color: var(--tekst); margin-right: 2px; }
.mg-score__bar { display: block; height: 6px; border-radius: 3px; background: var(--flade-tonet); overflow: hidden; max-width: 180px; }
.mg-score__bar span { display: block; height: 100%; background: var(--mork); border-radius: 3px; }
.mg-score--stor .mg-score__tal b { font-size: 56px; line-height: 1; }
.mg-score--stor .mg-score__bar { height: 8px; max-width: 280px; }

/* ---------- 7. Produktrække ---------- */
.mg-raekker { display: grid; gap: 16px; }
.mg-raekke { display: grid; grid-template-columns: 88px 1fr; gap: 16px; padding: 20px; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); }
.mg-raekke__billede { grid-row: span 1; display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--r-lille); background: var(--flade-tonet); align-self: start; }
.mg-raekke__billede img { width: 80%; height: 80%; object-fit: contain; }
.mg-raekke__info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mg-raekke__navn { font-family: var(--f-overskrift); font-size: 21px; line-height: 1.2; }
.mg-raekke__pris, .mg-raekke__vurdering, .mg-raekke__handling { grid-column: 1 / -1; }
.mg-raekke__pris, .mg-raekke__vurdering { padding-top: 14px; border-top: 1px solid var(--streg); }
.mg-raekke__handling { display: flex; align-items: center; gap: 12px; }
.mg-raekke__handling .mg-reklame { flex: 1; }
@media (min-width: 640px) {
	.mg-raekke { grid-template-columns: 120px 1fr; }
	.mg-raekke__pris, .mg-raekke__vurdering { grid-column: auto; }
	.mg-raekke__pris { grid-column: 1 / 2; }
}
@media (min-width: 1024px) {
	.mg-raekke { grid-template-columns: 104px minmax(0, 1.5fr) minmax(150px, 1fr) 150px 252px; align-items: center; gap: 0; padding: 20px 24px; }
	.mg-raekke__billede { margin-right: 24px; }
	.mg-raekke__info { padding-right: 24px; }
	.mg-raekke__pris, .mg-raekke__vurdering, .mg-raekke__handling { grid-column: auto; border-top: 0; padding: 4px 24px; border-left: 1px solid var(--streg); align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
	.mg-raekke__handling { flex-direction: row; align-items: center; padding-right: 0; }
	.mg-raekke__handling .mg-reklame { flex: 1; font-size: 15px; padding-inline: 14px; }
}
@media (min-width: 1280px) {
	.mg-raekke { grid-template-columns: 128px minmax(0, 1.6fr) minmax(170px, 1fr) 160px 330px; }
}

/* ---------- 11. Filterpanel og produktliste ---------- */
.mg-produktliste { display: grid; gap: 24px; align-items: start; }
.mg-liste__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.mg-liste__antal { font-size: 15px; color: var(--tekst-daempet); }
.mg-liste__antal b { color: var(--tekst); }
.mg-liste__ingen { padding: 24px; border-radius: var(--r-kort); background: var(--hvid); }
.mg-filter__aaben svg { width: 18px; height: 18px; }
.mg-filter {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 1001; max-height: 86vh; display: flex; flex-direction: column;
	background: var(--hvid); border-radius: var(--r-kort) var(--r-kort) 0 0; box-shadow: 0 -8px 30px rgba(17,36,63,.2);
	transform: translateY(105%); transition: transform .3s cubic-bezier(.2,.7,.2,1); visibility: hidden;
}
.mg-filter.is-aaben { transform: none; visibility: visible; }
.mg-filter__daemp { position: fixed; inset: 0; z-index: 1000; background: rgba(17,36,63,.5); }
.mg-filter__top { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--streg); }
.mg-filter__titel { font-family: var(--f-overskrift); font-size: 22px; }
.mg-filter__grupper { overflow-y: auto; padding: 4px 20px; flex: 1; }
.mg-filter__bund { display: flex; gap: 12px; padding: 16px 20px; border-top: 1px solid var(--streg); }
.mg-filter__bund .mg-filter__vis { flex: 1; }
.mg-filter .mg-accordion { background: none; border-radius: 0; border-bottom: 1px solid var(--streg); padding: 0; }
.mg-filter .mg-accordion summary { padding: 16px 0; }
.mg-filter .mg-accordion__titel { font-size: 17px; }
.mg-filter .mg-accordion__knap { width: 28px; height: 28px; background: var(--flade-tonet); color: var(--mork); }
.mg-filter .mg-accordion__indhold { padding: 0 0 16px; }
.mg-filter__valg { list-style: none; display: grid; gap: 4px; }
.mg-filter__valg li { display: flex; align-items: center; gap: 10px; min-height: 36px; }
.mg-filter__valg input { width: 20px; height: 20px; accent-color: var(--mork); margin: 0; flex: none; }
.mg-filter__valg label { cursor: pointer; font-size: 16px; }
.mg-filter__pris { display: flex; align-items: flex-end; gap: 10px; }
.mg-filter__pris label { display: grid; gap: 4px; font-size: 14px; font-weight: 600; flex: 1; }
.mg-filter__pris input { width: 100%; min-height: 44px; padding: 8px 12px; border-radius: var(--r-lille); border: 1.5px solid var(--streg); font: inherit; font-size: 16px; }
.mg-filter__enhed { padding-bottom: 12px; color: var(--tekst-daempet); }
@media (min-width: 1024px) {
	.mg-produktliste { grid-template-columns: 280px minmax(0, 1fr); gap: 32px; }
	.mg-filter { position: sticky; top: calc(var(--top) + 64px); left: auto; right: auto; bottom: auto; z-index: 1; max-height: calc(100vh - var(--top) - 88px); transform: none; visibility: visible; box-shadow: var(--skygge); border-radius: var(--r-kort); transition: none; }
	.mg-filter__luk, .mg-filter__aaben, .mg-filter__daemp, .mg-filter__vis { display: none !important; }
	.mg-filter__top { border-bottom: 0; padding: 20px 24px 4px; }
	.mg-filter__grupper { padding: 0 24px; }
	.mg-filter__bund { padding: 16px 24px 20px; border-top: 0; }
}
@media (min-width: 1280px) { .mg-produktliste { grid-template-columns: 300px minmax(0, 1fr); } }

/* ---------- 8. Sammenligningstabel ---------- */
.mg-tabel-ramme { border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); overflow: hidden; }
.mg-tabel-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mg-tabel { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 720px; font-size: 15px; line-height: 22px; }
.mg-tabel th, .mg-tabel td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--streg); }
.mg-tabel thead th, .mg-tabel thead td { vertical-align: bottom; padding-top: 24px; }
.mg-tabel tbody th { font-weight: 700; color: var(--tekst); }
.mg-tabel tr > :first-child { position: sticky; left: 0; z-index: 1; background: var(--hvid); width: 112px; min-width: 112px; max-width: 112px; padding-inline: 12px 10px; font-size: 14px; box-shadow: 1px 0 0 var(--streg); }
.mg-tabel td, .mg-tabel thead th { min-width: 200px; }
.mg-tabel__produkt { display: grid; gap: 8px; color: var(--tekst); text-decoration: none; }
.mg-tabel__produkt:hover .mg-tabel__navn { text-decoration: underline; }
.mg-tabel__billede { display: grid; place-items: center; width: 88px; height: 88px; border-radius: var(--r-lille); background: var(--flade-tonet); }
.mg-tabel__billede img { width: 80%; height: 80%; object-fit: contain; }
.mg-tabel__navn { font-family: var(--f-overskrift); font-size: 18px; line-height: 1.2; font-weight: 400; }
.mg-tabel__score b { font-family: var(--f-overskrift); font-size: 22px; }
.mg-tabel__knapper td { border-bottom: 0; padding-bottom: 24px; }
.mg-tabel__knapper .mg-btn { width: 100%; font-size: 15px; padding-inline: 14px; }
.mg-tabel tbody tr:not(.mg-tabel__knapper):hover td, .mg-tabel tbody tr:not(.mg-tabel__knapper):hover th { background: var(--flade); }
@media (min-width: 768px) { .mg-tabel tr > :first-child { width: 180px; min-width: 180px; max-width: 180px; padding-inline: 20px 16px; font-size: 15px; } }

/* ---------- 9. Produktboks ---------- */
.mg-produktboks { display: grid; grid-template-columns: 88px 1fr; gap: 16px; margin-block: 32px; padding: 20px; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); }
.mg-produktboks__billede { display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--r-lille); background: var(--flade-tonet); }
.mg-produktboks__billede img { width: 80%; height: 80%; object-fit: contain; }
.mg-produktboks__info { display: flex; flex-direction: column; gap: 6px; }
.mg-produktboks__navn { font-family: var(--f-overskrift); font-size: 21px; line-height: 1.2; }
.mg-produktboks__navn a { color: var(--tekst); text-decoration: none; }
.mg-produktboks__navn a:hover { text-decoration: underline; }
.mg-produktboks .mg-score { margin-top: 4px; }
.mg-produktboks__handling { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 12px; padding-top: 14px; border-top: 1px solid var(--streg); }
.mg-produktboks__handling .mg-btn { width: 100%; }
@media (min-width: 640px) {
	.mg-produktboks { grid-template-columns: 120px 1fr 260px; align-items: center; }
	.mg-produktboks__handling { grid-column: auto; border-top: 0; padding: 0 0 0 20px; border-left: 1px solid var(--streg); }
}

/* ---------- 10. Tilbudsliste ---------- */
.mg-tilbud { list-style: none; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); overflow: hidden; }
.mg-tilbud__raekke { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--streg); }
.mg-tilbud__raekke:last-child { border-bottom: 0; }
.mg-tilbud__butik { font-weight: 700; font-size: 17px; }
.mg-tilbud__pris { text-align: right; }
.mg-tilbud__pris b { font-family: var(--f-overskrift); font-size: 22px; }
.mg-tilbud__raekke .mg-btn { grid-column: 1 / -1; width: 100%; }
.mg-tilbud__raekke--billigst { background: linear-gradient(90deg, rgba(156,201,255,.18), rgba(156,201,255,0)); }
@media (min-width: 768px) {
	.mg-tilbud__raekke { grid-template-columns: 1fr auto auto; padding: 20px 28px; gap: 24px; }
	.mg-tilbud__raekke .mg-btn { grid-column: auto; width: auto; }
}

/* ---------- 12. Nøgletalstabel ---------- */
.mg-noegletal { display: grid; gap: 16px; }
.mg-noegletal__tabel { border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); padding: 8px 20px 16px; }
.mg-noegletal dl { margin: 0; }
.mg-noegletal__raekke { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--streg); }
.mg-noegletal__raekke:last-child { border-bottom: 0; }
.mg-noegletal dt { font-weight: 700; }
.mg-noegletal dd { margin: 0; text-align: right; color: var(--tekst-daempet); }
.mg-noegletal [data-mg-vis-flere] { margin-top: 12px; }
@media (min-width: 1024px) {
	.mg-noegletal { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; align-items: start; }
	.mg-noegletal__tabel { padding: 8px 32px 20px; }
}

/* ---------- 13. Accordion ---------- */
.mg-accordions { display: grid; gap: 12px; }
.mg-accordion, .wp-block-details.mg-accordion { background: var(--flade-tonet); border-radius: var(--r-kort); padding: 0 20px; }
.mg-sektion--tonet .mg-accordion { background: var(--hvid); }
.mg-accordion summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; cursor: pointer; list-style: none; font-weight: 700; }
.mg-accordion summary::-webkit-details-marker { display: none; }
.mg-accordion__titel { font-family: var(--f-broed); font-size: 17px; line-height: 1.4; font-weight: 700; }
.mg-accordion__knap { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--mork); color: var(--hvid); transition: transform .2s; }
.mg-accordion__knap svg { width: 18px; height: 18px; }
.mg-accordion[open] > summary .mg-accordion__knap { transform: rotate(180deg); }
.mg-accordion__indhold, .wp-block-details.mg-accordion > :not(summary) { padding-bottom: 20px; }
.mg-accordion__indhold p + p { margin-top: 12px; }
.wp-block-details.mg-accordion > summary::after {
	content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%; transition: transform .2s;
	background: var(--mork) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.wp-block-details.mg-accordion[open] > summary::after { transform: rotate(180deg); }
.wp-block-details.mg-accordion + .wp-block-details.mg-accordion { margin-top: 12px; }
@media (min-width: 1024px) { .mg-accordion, .wp-block-details.mg-accordion { padding: 0 28px; } }

/* ---------- 14. Hovedkonklusioner og tjeklister ---------- */
.mg-konklusioner { margin-bottom: 40px; padding: 24px; border-radius: var(--r-kort); background: var(--flade-tonet); }
.mg-konklusioner__titel { font-family: var(--f-overskrift); font-size: 22px; margin-bottom: 16px; }
.mg-tjekliste { list-style: none; display: grid; gap: 10px; }
.mg-tjekliste li { display: flex; gap: 12px; align-items: flex-start; }
.mg-liste__ikon { flex: none; width: 22px; height: 22px; padding: 3px; border-radius: 50%; background: var(--mork); color: var(--hvid); margin-top: 3px; stroke-width: 2.4; }
.mg-tjekliste li:not(:has(svg))::before {
	content: ""; flex: none; width: 22px; height: 22px; margin-top: 3px; border-radius: 50%;
	background: var(--mork) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
@media (min-width: 1024px) { .mg-konklusioner { padding: 32px; } }

/* ---------- 16. Bogstavindeks ---------- */
.mg-indeks__nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 24px; }
.mg-indeks__nav a, .mg-indeks__nav span { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; font-weight: 700; font-size: 14px; text-decoration: none; }
.mg-indeks__nav a { background: var(--hvid); color: var(--mork); box-shadow: inset 0 0 0 1px var(--streg); }
.mg-indeks__nav a:hover { background: var(--accent); }
.mg-indeks__nav span { color: rgba(17,36,63,.3); }
.mg-indeks__grupper { display: grid; gap: 8px 32px; }
.mg-indeks__gruppe { position: relative; padding-top: 8px; }
.mg-indeks__bogstav { display: block; font-family: var(--f-overskrift); font-weight: 700; font-size: 88px; line-height: .9; color: rgba(17, 36, 63, .08); margin-bottom: -18px; user-select: none; }
.mg-indeks__gruppe ul { list-style: none; position: relative; }
.mg-indeks__gruppe li { border-bottom: 1px solid var(--streg); }
.mg-indeks__gruppe a { display: flex; align-items: center; gap: 12px; padding: 12px 0; color: var(--tekst); text-decoration: none; font-weight: 600; }
.mg-indeks__gruppe a:hover span:last-child { text-decoration: underline; }
.mg-indeks__tom { margin-top: 16px; color: var(--tekst-daempet); }
@media (min-width: 1024px) {
	.mg-indeks__grupper { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 40px; }
	.mg-indeks__bogstav { font-size: 120px; margin-bottom: -40px; }
}

/* ---------- Oversigt med sidepanel ---------- */
.mg-oversigt { display: grid; gap: 24px; align-items: start; }
.mg-sidepanel { background: var(--mork); color: var(--hvid); border-radius: var(--r-kort); padding: 20px; }
.mg-sidepanel__titel { font-family: var(--f-overskrift); font-size: 20px; margin-bottom: 8px; }
.mg-sidepanel ul { list-style: none; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.mg-sidepanel__kat { white-space: nowrap; border: 1.5px solid rgba(255,255,255,.25); background: transparent; color: var(--hvid); border-radius: var(--r-pille); padding: 8px 14px; font-weight: 600; font-size: 15px; cursor: pointer; }
.mg-sidepanel__kat[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--mork); }
.mg-oversigt__top { display: grid; gap: 12px; margin-bottom: 24px; }
.mg-oversigt__antal { color: var(--tekst-daempet); font-size: 15px; }
.mg-oversigt__antal b { color: var(--tekst); }
@media (min-width: 1024px) {
	.mg-oversigt { grid-template-columns: 300px minmax(0, 1fr); gap: 40px; }
	.mg-sidepanel { position: sticky; top: calc(var(--top) + 64px); padding: 28px; }
	.mg-sidepanel ul { display: grid; gap: 0; overflow: visible; }
	.mg-sidepanel li { border-bottom: 1px solid rgba(255,255,255,.14); }
	.mg-sidepanel__kat { width: 100%; text-align: left; border: 0; border-radius: 0; padding: 14px 0; font-size: 17px; }
	.mg-sidepanel__kat[aria-pressed="true"] { background: none; color: var(--accent); }
	.mg-oversigt__top { grid-template-columns: minmax(0, 480px) auto; align-items: center; justify-content: space-between; }
}

/* ---------- 17. Karrusel ---------- */
.mg-karrusel__spor { list-style: none; display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter)); padding: 4px var(--gutter) 12px; scroll-padding-inline: var(--gutter); }
.mg-karrusel__spor::-webkit-scrollbar { display: none; }
.mg-karrusel__slide { flex: 0 0 82%; scroll-snap-align: start; }
.mg-karrusel__styring { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.mg-karrusel__sider { list-style: none; display: flex; gap: 4px; margin-right: auto; }
.mg-karrusel__sider button { width: 32px; height: 32px; border-radius: 50%; border: 0; background: transparent; color: var(--tekst-daempet); font-weight: 600; font-size: 14px; cursor: pointer; }
.mg-karrusel__sider button[aria-current="true"] { background: var(--mork); color: var(--hvid); }
@media (min-width: 640px) { .mg-karrusel__slide { flex-basis: 46%; } }
@media (min-width: 1024px) {
	.mg-karrusel__slide { flex-basis: calc((100% - 48px) / 3.2); }
	.mg-karrusel__spor { margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; gap: 24px; }
	.mg-karrusel__sider { margin-right: 8px; }
}
@media (min-width: 1280px) { .mg-karrusel--billedkort .mg-karrusel__slide { flex-basis: calc((100% - 72px) / 4); } }

/* Hvide kort i karrusel */
.mg-hvidtkort { position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%; min-height: 220px; padding: 24px; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); }
.mg-hvidtkort__titel { font-family: var(--f-overskrift); font-size: 20px; line-height: 1.25; }
.mg-hvidtkort__titel a { color: var(--tekst); text-decoration: none; }
.mg-hvidtkort__titel a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-kort); }
.mg-hvidtkort__titel a:hover { text-decoration: underline; }
.mg-hvidtkort p { color: var(--tekst-daempet); font-size: 16px; line-height: 24px; }
.mg-hvidtkort__pil { margin-top: auto; width: 32px; height: 32px; padding: 7px; border-radius: 50%; background: var(--mork); color: var(--hvid); }
.mg-karrusel--hvid .mg-karrusel__slide { flex-basis: 80%; }
@media (min-width: 640px) { .mg-karrusel--hvid .mg-karrusel__slide { flex-basis: 46%; } }
@media (min-width: 1024px) { .mg-karrusel--hvid .mg-karrusel__slide { flex-basis: calc((100% - 24px) / 2.2); } }

/* Om-blok + karrusel */
.mg-omkarrusel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.mg-omblok { display: grid; gap: 12px; align-content: start; }
@media (min-width: 1024px) { .mg-omkarrusel { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; align-items: start; } }

/* Feedback */
.mg-feedback { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border-radius: var(--r-kort); background: var(--flade-tonet); }
.mg-feedback__spm { font-family: var(--f-overskrift); font-weight: 700; font-size: 20px; }
.mg-feedback__knapper { display: flex; gap: 8px; }
.mg-feedback__knapper .mg-btn { min-width: 84px; }
.mg-feedback__tak { font-weight: 600; }

/* Sidetal (temaside) */
.mg-sidetal ol { list-style: none; display: flex; justify-content: center; gap: 6px; margin-top: 24px; }
.mg-sidetal button { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--streg); background: var(--hvid); font-weight: 600; cursor: pointer; }
.mg-sidetal button[aria-current="true"] { background: var(--mork); border-color: var(--mork); color: var(--hvid); }

/* ---------- 18. Fordele og ulemper ---------- */
.mg-fordele { display: grid; gap: 16px; margin-block: 32px; }
.mg-fordele__kol { padding: 24px; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); }
.mg-fordele__kol h3 { font-size: 20px; margin-bottom: 14px; }
.mg-fordele__kol--minus .mg-liste__ikon { background: var(--flade-tonet); color: var(--mork); }
@media (min-width: 768px) { .mg-fordele { grid-template-columns: 1fr 1fr; gap: 20px; } }

/* ---------- 19. Sådan vurderer vi ---------- */
.mg-saadan .mg-h2-stor { text-align: center; margin-bottom: 32px; color: var(--hvid); }
.mg-metode { display: grid; gap: 28px; margin: 0; }
.mg-metode.wp-block-columns { display: grid; flex-wrap: nowrap; }
.mg-metode__kol { display: grid; gap: 10px; align-content: start; color: rgba(255,255,255,.88); }
.mg-metode__kol h3 { color: var(--hvid); font-size: 20px; }
.mg-metode__kol .mg-rundikon { margin-bottom: 4px; }
.mg-metode__kol--metode::before, .mg-metode__kol--kilder::before, .mg-metode__kol--penge::before {
	content: ""; width: 48px; height: 48px; border-radius: 50%; margin-bottom: 4px;
	background: var(--accent) var(--ikon) center / 24px no-repeat;
}
.mg-metode__kol--metode { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311243F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h10l4 4v12H5z'/%3E%3Cpath d='M14 4v5h5M8.5 13h7M8.5 16.5h5'/%3E%3C/svg%3E"); }
.mg-metode__kol--kilder { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311243F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5C6.5 4.5 9.5 4.5 12 6c2.5-1.5 5.5-1.5 8-.5V19c-2.5-1-5.5-1-8 .5-2.5-1.5-5.5-1.5-8-.5z'/%3E%3Cpath d='M12 6v13.5'/%3E%3C/svg%3E"); }
.mg-metode__kol--penge { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311243F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M14.8 9.2c-.5-.8-1.5-1.3-2.8-1.3-1.7 0-2.8.9-2.8 2.1 0 2.8 5.7 1.4 5.7 4.1 0 1.2-1.2 2.1-2.9 2.1-1.4 0-2.5-.6-3-1.5M12 6.3v1.6M12 16.2v1.5'/%3E%3C/svg%3E"); }
.mg-saadan .mg-henvisning { margin: 4px 0 0; }
.mg-saadan .mg-henvisning a { color: var(--accent); }
@media (min-width: 768px) { .mg-metode, .mg-metode.wp-block-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; } }

/* ---------- Split (forside) ---------- */
.mg-split { display: grid; gap: 28px; align-items: center; }
.mg-split__billede { border-radius: var(--r-kort); overflow: hidden; aspect-ratio: 4 / 3; }
.mg-split__billede img { width: 100%; height: 100%; object-fit: cover; }
.mg-split__tekst { display: grid; gap: 16px; justify-items: start; }
@media (min-width: 1024px) { .mg-split { grid-template-columns: 1fr 1fr; gap: 64px; } .mg-split__billede { aspect-ratio: 5 / 4; } }

/* ---------- Emneside ---------- */
.mg-emnehero { display: grid; justify-items: center; text-align: center; gap: 16px; max-width: 880px; margin-inline: auto; }
.mg-emnehero .mg-manchet { max-width: 40ch; }
.mg-opdateret { font-size: 14px; color: var(--tekst-daempet); }
.mg-vurderet { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; font-weight: 600; font-size: 15px; }
.mg-vurderet li { display: inline-flex; align-items: center; gap: 8px; }
.mg-vurderet svg { width: 22px; height: 22px; padding: 3px; border-radius: 50%; background: var(--mork); color: var(--hvid); stroke-width: 2.4; }
.mg-faner { display: inline-flex; gap: 4px; padding: 4px; margin-top: 8px; border-radius: var(--r-pille); background: var(--hvid); box-shadow: var(--skygge); }
.mg-faner button { min-height: 40px; padding: 8px 20px; border: 0; border-radius: var(--r-pille); background: transparent; font-weight: 600; cursor: pointer; color: var(--tekst); }
.mg-faner button[aria-selected="true"] { background: var(--mork); color: var(--hvid); }
.mg-tokol { display: grid; gap: 16px; }
.mg-tokol .mg-sektionstitel { margin-bottom: 0; }
.mg-klip { max-height: 13em; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent); mask-image: linear-gradient(to bottom, #000 60%, transparent); }
.mg-klip.is-aaben { max-height: none; -webkit-mask-image: none; mask-image: none; }
.mg-tokol [data-mg-laes-mere] { margin-top: 16px; }
.mg-metodefaq { display: grid; gap: 48px; }
@media (min-width: 1024px) {
	.mg-tokol { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; }
	.mg-tokol__hoejre .mg-broedtekst { columns: 2; column-gap: 40px; }
	.mg-tokol__hoejre .mg-klip { columns: 1; }
	.mg-metodefaq { grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
}

/* Bundbjælke */
.mg-bundbjaelke { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--hvid); box-shadow: 0 -4px 24px rgba(17,36,63,.14); transform: translateY(110%); transition: transform .3s; }
.mg-bundbjaelke.is-synlig { transform: none; }
.mg-bundbjaelke__indre { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 10px; }
.mg-bundbjaelke__tekst { font-size: 14px; line-height: 20px; min-width: 0; }
.mg-bundbjaelke__tekst span { display: block; color: var(--tekst-daempet); }
.mg-bundbjaelke__tekst a { color: var(--tekst); text-decoration: none; font-family: var(--f-overskrift); font-size: 16px; }
.mg-bundbjaelke__tekst a:hover { text-decoration: underline; }
.mg-bundbjaelke .mg-btn { flex: none; min-height: 44px; padding-inline: 16px; font-size: 15px; max-width: 62%; }
.mg-bundbjaelke .mg-reklame__mrk { font-size: 13px; }
@media (max-width: 639px) {
	.mg-bundbjaelke:not(.mg-bundbjaelke--mobil) .mg-bundbjaelke__indre { flex-direction: column; align-items: stretch; gap: 8px; }
	.mg-bundbjaelke:not(.mg-bundbjaelke--mobil) .mg-btn { max-width: none; }
	.mg-bundbjaelke__tekst span { display: inline; }
}
@media (min-width: 768px) {
	.mg-bundbjaelke__indre { padding-block: 14px; }
	.mg-bundbjaelke__tekst { font-size: 16px; }
	.mg-bundbjaelke__tekst span { display: inline; }
	.mg-bundbjaelke__tekst a { font-size: 18px; }
}
@media (min-width: 1024px) { .mg-bundbjaelke--mobil { display: none !important; } }
body.mg-har-bundbjaelke .mg-footer { padding-bottom: 120px; }

/* ---------- Produktside ---------- */
.mg-produkthero { display: grid; gap: 20px; }
.mg-tilbage { justify-self: start; }
.mg-tilbage svg { width: 18px; height: 18px; }
.mg-produkthero__grid { display: grid; gap: 24px; }
.mg-produkthero__billede { display: grid; place-items: center; aspect-ratio: 1; max-width: 240px; width: 100%; justify-self: center; border-radius: var(--r-kort); background: var(--flade-tonet); }
.mg-produkthero__billede img { width: 70%; height: 70%; object-fit: contain; }
.mg-produkthero__tekst { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.mg-produkthero__tekst .mg-etiket { margin-bottom: 0; }
.mg-produkthero__h1 { font-family: var(--f-overskrift); font-size: 36px; line-height: 1.1; }
.mg-produkthero__h1 .mg-let { display: block; }
.mg-produkthero .mg-pris__beloeb { font-size: 30px; }
.mg-produkthero__knap { width: 100%; margin-top: 4px; }
.mg-produkthero__knap .mg-btn { width: 100%; min-height: 52px; }
@media (min-width: 768px) { .mg-produkthero__knap .mg-btn { width: auto; } }
@media (min-width: 1024px) {
	.mg-produkthero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; align-items: center; }
	.mg-produkthero__billede { max-width: 460px; }
	.mg-produkthero__h1 { font-size: 56px; line-height: 1.05; }
}
.mg-vurdering { display: grid; gap: 32px; }
.mg-vurdering__boks { display: grid; gap: 16px; align-content: start; }
.mg-vurdering .mg-noegletal { grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 1024px) { .mg-vurdering { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; } .mg-vurdering .mg-noegletal__titel { font-size: 22px; } }
.mg-knaprad { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; padding: 20px 24px; border-radius: var(--r-kort); background: var(--hvid); box-shadow: var(--skygge); }
.mg-knaprad .mg-btn { flex: 1 1 260px; max-width: 100%; }
@media (min-width: 640px) { .mg-knaprad .mg-btn { flex: 0 1 auto; } }

/* ---------- Artikel ---------- */
.mg-artikelhero { display: grid; gap: 28px; }
.mg-artikelhero__tekst { display: grid; gap: 16px; align-content: center; }
.mg-artikelhero__tekst .mg-etiket { margin-bottom: 0; }
.mg-artikelhero__billede { border-radius: var(--r-kort); overflow: hidden; aspect-ratio: 4 / 3; }
.mg-artikelhero__billede img { width: 100%; height: 100%; object-fit: cover; }
.mg-byline { font-size: 14px; color: var(--tekst-daempet); }
@media (min-width: 1024px) {
	.mg-artikelhero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
	.mg-artikelhero__billede { aspect-ratio: 4 / 5; max-height: 520px; }
}
.mg-artikel { max-width: var(--artikel); margin-inline: auto; }
.mg-broedtekst > * + * { margin-top: 20px; }
.mg-broedtekst h2 { font-family: var(--f-overskrift); font-weight: 700; font-size: 24px; line-height: 1.2; margin-top: 44px; }
.mg-broedtekst h3 { font-family: var(--f-overskrift); font-weight: 700; font-size: 20px; margin-top: 32px; }
.mg-broedtekst ul, .mg-broedtekst ol { padding-left: 1.3em; }
.mg-broedtekst li + li { margin-top: 6px; }
.mg-broedtekst > .mg-produktboks, .mg-broedtekst > .mg-henvisning { margin-block: 28px; }
@media (min-width: 768px) { .mg-broedtekst h2 { font-size: var(--wp--preset--font-size--overskrift-artikel); } }
.mg-tekstsektion { max-width: var(--artikel); }

/* Temaside */
.mg-temahero { display: grid; gap: 28px; }
.mg-temahero__tekst { display: grid; gap: 16px; align-content: center; }
.mg-temahero__kort { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mg-temahero__kort .mg-billedkort__titel { font-size: 17px; }
@media (min-width: 1024px) {
	.mg-temahero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
	.mg-temahero__kort { gap: 24px; }
	.mg-temahero__kort .mg-billedkort__titel { font-size: 22px; }
}
.mg-paginering ul { list-style: none; display: flex; gap: 8px; justify-content: center; margin-top: 32px; }
.mg-paginering a, .mg-paginering span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: var(--r-pille); background: var(--hvid); text-decoration: none; font-weight: 600; color: var(--tekst); }
.mg-paginering .current { background: var(--mork); color: var(--hvid); }

/* ---------- Footer ---------- */
.mg-footer { background: var(--mork); color: var(--hvid); padding-block: 48px 32px; }
.mg-footer__logo { display: inline-block; font-size: 32px; margin-bottom: 32px; }
.mg-footer__kolonner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
.mg-footer__titel { font-size: 18px; margin-bottom: 12px; }
.mg-footer__titel a { color: var(--hvid); text-decoration: none; }
.mg-footer ul { list-style: none; display: grid; gap: 8px; }
.mg-footer a { color: var(--hvid); text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); }
.mg-footer a:hover { text-decoration-color: var(--accent); color: var(--accent); }
.mg-footer__kol li { font-size: 15px; line-height: 22px; }
.mg-footer__bund { display: grid; gap: 10px; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); font-size: 14px; line-height: 22px; color: rgba(255,255,255,.8); }
.mg-footer__penge a { font-weight: 700; color: var(--accent); }
@media (min-width: 1024px) {
	.mg-footer { padding-block: 64px 40px; }
	.mg-footer__kolonner { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
}

/* Reduceret bevægelse */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Mobil: grids må aldrig blive bredere end skærmen, og skjult tekst skal holdes inde i sin knap */
@media (max-width: 1023px) {
.mg-oversigt, .mg-produktliste, .mg-split, .mg-vurdering, .mg-tokol, .mg-metodefaq, .mg-artikelhero, .mg-temahero,
.mg-produkthero, .mg-produkthero__grid, .mg-noegletal, .mg-omkarrusel, .mg-hero-simpel, .mg-forside__top { grid-template-columns: minmax(0, 1fr); }
}
.mg-btn, .mg-tabel-scroll, .mg-krumme__indre { position: relative; }

.mg-score--stor .mg-score__label { display: none; }
@media (min-width: 640px) and (max-width: 1023px) {
	.mg-topkort { display: grid; grid-template-columns: 200px minmax(0, 1fr); column-gap: 24px; row-gap: 10px; align-content: start; }
	.mg-topkort > * { grid-column: 2; }
	.mg-topkort__billede { grid-column: 1; grid-row: 1 / span 6; aspect-ratio: 1; margin: 0; }
	.mg-topkort__knap { margin-top: 4px; padding-top: 0; }
	.mg-topkort__knap .mg-btn { width: auto; }
}
