/* Elinor of Elsinore - Blomst. Resten af siden.
   Indlæses ikke-blokerende; alt over folden ligger i kritisk.css.

   Gennemgående greb i denne version:
   - lys bærer fladen, bordeaux er accent og typografi
   - tynde rosa hårlinjer i stedet for hårde kanter og tunge skygger
   - tekst på fotos ligger i et lyst kort frem for oven på et mørkt slør */

/* Links i brødtekst ---------------------------------------------------- */

/* theme.json understregede tidligere ethvert link ved hover. Det ramte også
   menu, produktkort og footer, hvor de i forvejen har deres egen markering -
   og gav derfor en dobbeltstreg. Understregningen hører kun hjemme i løbende
   tekst, hvor et link skal kunne skelnes fra almindelige ord. */
.indhold-tekst a,
.shop__beskrivelse a,
.sektion__intro a,
.indlaeg-kort__uddrag a,
.cookiebanner__tekst a,
.produkt__tryghed a {
	text-decoration: underline;
	text-decoration-color: var(--lys);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: text-decoration-color 0.2s ease;
}

.indhold-tekst a:hover,
.shop__beskrivelse a:hover,
.sektion__intro a:hover,
.indlaeg-kort__uddrag a:hover,
.cookiebanner__tekst a:hover,
.produkt__tryghed a:hover {
	text-decoration-color: currentcolor;
}

/* Neutralt tekstlink.

   Sat efter ejerens ønske: linket skal falde helt i ét med brødteksten, uden
   farve, understregning, hover-markering eller pointer-cursor. Ankerteksten
   er stadig almindelig, læsbar tekst i normal størrelse og farve - der er
   altså ikke tale om skjult tekst, kun om et link uden visuel markering.

   Bemærk: uden markering kan et musebrugende øje ikke se, at der ER et link.
   Det er en bevidst afvejning, ikke en fejl. Tastaturfokus markeres fortsat,
   for ellers ville linket være helt utilgængeligt uden mus, og skærmlæsere
   annoncerer det uændret som et link. */
.indhold-tekst a.tekstlink,
.indhold-tekst a.tekstlink:hover {
	color: inherit;
	text-decoration: none;
	text-decoration-color: transparent;
	cursor: default;
}

.indhold-tekst a.tekstlink:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 2px;
}

/* Sektioner ------------------------------------------------------------ */

.sektion {
	padding-block: clamp(3rem, 7vw, 5.5rem);
}

/* Kun hver anden sektion får en tone - resten står på den rene creme,
   så siden får luft i stedet for skiftende lyserøde blokke. */
.sektion--lys { background: var(--rosa-sloer); }
.sektion--kant { border-top: 1px solid var(--kant-blid); }

.sektion__hoved {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}

.sektion__titel {
	margin: 0;
	font-size: clamp(1.75rem, 3.4vw, 2.75rem);
}

/* Lille kapitæl-overskrift over sektionstitler. */
.sektion__ophaeng {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--mut);
	font-family: var(--skrift-broed);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.sektion__link {
	position: relative;
	color: var(--mut);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--lys);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.sektion__link:hover,
.sektion__link:focus-visible {
	color: var(--primaer);
	border-color: var(--primaer);
}

.sektion__intro {
	max-width: 58ch;
	margin-block: -1rem 2.5rem;
	color: var(--tekst-daempet);
}

/* Brødkrummer ---------------------------------------------------------- */

.broedkrumme {
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
	font-size: 0.8125rem;
}

.broedkrumme__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--tekst-daempet);
}

.broedkrumme__liste a {
	color: var(--mut);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.broedkrumme__liste a:hover {
	color: var(--primaer);
	border-color: var(--lys);
}

.broedkrumme__punkt + .broedkrumme__punkt::before {
	content: "·";
	margin-inline-end: 0.5rem;
	color: var(--lys);
}

/* Produktnet og -kort -------------------------------------------------- */

.produktnet,
ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem) clamp(1rem, 2.5vw, 2rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 48em) {
	.produktnet,
	ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 75em) {
	.produktnet--fire,
	.er-forside ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.produktnet > li,
ul.products > li {
	margin: 0;
	list-style: none;
}

.kort__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.kort__billede {
	position: relative;
	overflow: hidden;
	background: var(--hvid);
	border-radius: var(--radius);
	aspect-ratio: 3 / 4;
}

.kort__billede picture,
.kort__billede img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--ind-kurve);
}

.kort__link:hover .kort__billede img,
.kort__link:focus-visible .kort__billede img {
	transform: scale(1.045);
}

.maerke {
	position: absolute;
	inset-block-start: 1rem;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	padding: 0.25rem 0.85rem;
	background: var(--hvid);
	color: var(--primaer);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 999px;
	white-space: nowrap;
}

.maerke--udsolgt {
	inset-block-start: auto;
	inset-block-end: 1rem;
	color: var(--tekst-daempet);
}

.kort__tekst {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding-block: 1rem 0;
	text-align: center;
}

.kort__titel {
	margin: 0;
	font-size: 1.1875rem;
	line-height: 1.25;
}

.kort__pris {
	color: var(--tekst-daempet);
	font-size: 0.9375rem;
	letter-spacing: 0.02em;
}

.kort__pris del { opacity: 0.5; }
.kort__pris ins { text-decoration: none; color: var(--primaer); font-weight: 600; }

.kort__titel { font-weight: 400; }

.kort__cta {
	margin-top: 0.5rem;
	color: var(--mut);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.kort__link:hover .kort__cta,
.kort__link:focus-visible .kort__cta {
	opacity: 1;
	transform: none;
}

/* På berøringsskærme er der ingen hover - så vis opfordringen altid. */
@media (hover: none) {
	.kort__cta { opacity: 1; transform: none; }
}

/* Kategoritern --------------------------------------------------------- */

.kategoritern {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 48em) {
	.kategoritern { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 62em) {
	.kategoritern { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* Ternene er nu lyse: billedet står rent, og navnet ligger i et hvidt
   kort under det - i stedet for hvid tekst oven på et mørkt slør. */
.tern {
	display: flex;
	flex-direction: column;
	text-align: center;
	text-decoration: none;
	color: var(--primaer);
}

.tern__medie {
	position: relative;
	overflow: hidden;
	border-radius: 999px;
	aspect-ratio: 1 / 1;
	background: var(--lysere);
}

.tern picture,
.tern img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s var(--ind-kurve);
}

.tern:hover img,
.tern:focus-visible img {
	transform: scale(1.07);
}

.tern__navn {
	margin: 0.85rem 0 0;
	font-size: clamp(0.9375rem, 1.6vw, 1.125rem);
	letter-spacing: 0.06em;
	transition: color 0.2s ease;
}

.tern:hover .tern__navn {
	color: var(--primaer-moerk);
}

/* Bannere -------------------------------------------------------------- */

.banner {
	position: relative;
	display: grid;
	place-items: center;
	isolation: isolate;
	min-height: clamp(340px, 46vw, 500px);
	padding: clamp(1.5rem, 4vw, 3rem);
	overflow: hidden;
	border-radius: var(--radius);
	text-align: center;
}

.banner picture,
.banner img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Kun et ganske let slør, så billedet bevarer sine farver. */
.banner::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: hsl(340 40% 25% / 18%);
}

/* Teksten samles i et lyst kort - det giver ro og fuld læsbarhed uden at
   lægge en mørk flade hen over hele billedet. */
.banner__kort {
	max-width: 42ch;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	background: hsl(0 0% 100% / 92%);
	border-radius: var(--radius);
	backdrop-filter: blur(2px);
}

.banner__titel {
	margin-bottom: 0.4em;
	color: var(--primaer);
	font-size: clamp(1.375rem, 2.8vw, 1.875rem);
}

.banner__tekst {
	margin-bottom: 1.75rem;
	color: var(--tekst);
	font-size: 0.9375rem;
}

.banner-par {
	display: grid;
	gap: clamp(1rem, 2.5vw, 1.75rem);
}

@media (min-width: 48em) {
	.banner-par { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.banner--halv .banner__kort {
	max-width: 32ch;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

/* Tekstsektion med billede --------------------------------------------- */

.fortael {
	display: grid;
	gap: clamp(1.75rem, 4.5vw, 4rem);
	align-items: center;
}

@media (min-width: 55em) {
	.fortael { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fortael--omvendt .fortael__medie { order: 2; }
}

.fortael__medie img,
.fortael__medie picture {
	width: 100%;
	border-radius: var(--radius);
}

.fortael__tekst {
	max-width: 50ch;
}

.fortael__tekst p {
	color: var(--tekst-daempet);
}

.fortael__billeder {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

/* Indholdssider -------------------------------------------------------- */

.side__hoved {
	margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.side__titel { margin-bottom: 0.2em; }

.indhold-tekst {
	max-width: 68ch;
}

.indhold-tekst .manchet {
	color: var(--mut);
	font-family: var(--skrift-titel);
	font-size: clamp(1.1875rem, 2.2vw, 1.4375rem);
	line-height: 1.45;
}

.indhold-tekst h2 { margin-top: 1.9em; }
.indhold-tekst h3 { margin-top: 1.6em; }

.indhold-tekst ul,
.indhold-tekst ol {
	margin: 0 0 1.25em;
	padding-inline-start: 1.35em;
}

.indhold-tekst li { margin-bottom: 0.45em; }

.indhold-tekst table {
	width: 100%;
	margin-bottom: 1.5em;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.indhold-tekst th,
.indhold-tekst td {
	padding: 0.7rem 0.85rem;
	border-bottom: 1px solid var(--kant);
	text-align: start;
	vertical-align: top;
}

.indhold-tekst th {
	color: var(--primaer);
	font-family: var(--skrift-broed);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tabelramme {
	overflow-x: auto;
}

.indhold-tekst blockquote {
	margin: 2.5rem 0;
	padding: 1.5rem 0 1.5rem 1.75rem;
	border-inline-start: 2px solid var(--lys);
	color: var(--mut);
	font-family: var(--skrift-titel);
	font-size: clamp(1.25rem, 2.4vw, 1.5rem);
	line-height: 1.45;
}

.indhold-tekst blockquote cite {
	display: block;
	margin-top: 1rem;
	color: var(--tekst-daempet);
	font-family: var(--skrift-broed);
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Blog ----------------------------------------------------------------- */

.indlaegsnet {
	display: grid;
	gap: clamp(1.75rem, 3.5vw, 2.75rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 48em) {
	.indlaegsnet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 68em) {
	.indlaegsnet { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.indlaeg-kort {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: transparent;
}

.indlaeg-kort__medie {
	display: block;
	overflow: hidden;
	border-radius: var(--radius);
}

.indlaeg-kort__medie img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform 0.9s var(--ind-kurve);
}

.indlaeg-kort:hover .indlaeg-kort__medie img {
	transform: scale(1.04);
}

.indlaeg-kort__krop {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.5rem;
	padding: 1.25rem 0 0;
}

.indlaeg-kort__titel {
	margin: 0;
	font-size: 1.375rem;
	line-height: 1.25;
}

.indlaeg-kort__titel a { text-decoration: none; }
.indlaeg-kort__titel a:hover { text-decoration: underline; }

.indlaeg-kort__meta {
	margin: 0;
	color: var(--mut);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.indlaeg-kort__uddrag {
	margin: 0;
	color: var(--tekst-daempet);
	font-size: 0.9375rem;
}

.indlaeg-kort__laes {
	margin-top: auto;
	padding-top: 0.85rem;
	color: var(--mut);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.indlaeg__hero img {
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	border-radius: var(--radius);
}

.indlaeg__meta {
	margin-bottom: 1.5rem;
	color: var(--mut);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* Paginering ----------------------------------------------------------- */

.paginering {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
}

.paginering .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.5rem;
	border: 1px solid var(--kant);
	border-radius: 999px;
	color: var(--mut);
	font-size: 0.9375rem;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.paginering .page-numbers:hover {
	border-color: var(--lys);
	color: var(--primaer);
}

.paginering .page-numbers.current {
	background: var(--primaer);
	border-color: var(--primaer);
	color: var(--hvid);
}

.paginering ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
}

/* Kontaktside ---------------------------------------------------------- */

.kontakt-net {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3.5rem);
}

@media (min-width: 55em) {
	.kontakt-net { grid-template-columns: 1fr 1fr; }
}

.kontaktkort {
	padding: clamp(1.75rem, 3.5vw, 2.5rem);
	background: var(--rosa-sloer);
	border-radius: var(--radius);
}

.kontaktkort ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kontaktkort li + li { margin-top: 0.85rem; }

.kontaktkort strong {
	display: block;
	color: var(--mut);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.adresse {
	font-style: normal;
}

/* Formularer ----------------------------------------------------------- */

.felt {
	display: block;
	margin-bottom: 1.25rem;
}

.felt__navn {
	display: block;
	margin-bottom: 0.4rem;
	color: var(--mut);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.felt input,
.felt textarea,
.felt select {
	width: 100%;
	min-height: 50px;
	padding: 0.75rem 1rem;
	background: var(--hvid);
	border: 1px solid var(--kant);
	border-radius: 8px;
	font: inherit;
	font-size: 1rem;
	color: var(--tekst);
	transition: border-color 0.2s ease;
}

.felt textarea {
	min-height: 150px;
	resize: vertical;
}

.felt input:focus,
.felt textarea:focus,
.felt select:focus {
	border-color: var(--lys);
	outline-offset: 0;
}

.beskedboks {
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem;
	border-inline-start: 2px solid var(--lys);
	border-radius: 8px;
	background: var(--rosa-sloer);
}

.beskedboks--fejl {
	border-color: #b3261e;
	background: #fdeceb;
}

.soegeform {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.soegeform__felt {
	flex: 1 1 220px;
	max-width: 320px;
	min-height: 48px;
	padding: 0.7rem 1.1rem;
	background: var(--hvid);
	border: 1px solid var(--kant);
	border-radius: 999px;
	font: inherit;
}

/* Sidefod -------------------------------------------------------------- */

/* Footeren spejler headeren: lys flade, bordeaux typografi og tynde
   rosa linjer - i stedet for den tidligere mørke mauve-blok. */
.sidefod {
	margin-top: clamp(3.5rem, 8vw, 6rem);
	background: var(--rosa-sloer);
	color: var(--tekst);
	border-top: 1px solid var(--kant-blid);
}

.sidefod__overgang {
	display: flex;
	justify-content: center;
	padding-top: clamp(2rem, 4vw, 3rem);
	/* Mauve frem for den lyseste rosa - motivet forsvandt næsten på den
	   svagt tonede footerbaggrund. */
	color: var(--mut);
	opacity: 0.65;
}

.sidefod__gren {
	width: min(100% - 3rem, 240px);
	height: auto;
}

.sidefod a {
	color: var(--tekst);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.sidefod a:hover,
.sidefod a:focus-visible {
	color: var(--primaer);
	border-color: var(--lys);
}

.sidefod__net {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	padding-block: clamp(2rem, 5vw, 3.5rem);
}

@media (min-width: 40em) {
	.sidefod__net { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 62em) {
	.sidefod__net { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; }
}

.sidefod__maerke .logo {
	--maerke-flade: var(--lys);
	margin-bottom: 1rem;
}

.sidefod__slogan {
	max-width: 32ch;
	color: var(--tekst-daempet);
	font-size: 0.9375rem;
}

.footer__overskrift {
	margin-bottom: 1rem;
	color: var(--primaer);
	font-size: 1.1875rem;
	letter-spacing: 0.04em;
}

.footer__underoverskrift {
	margin: 1.5rem 0 0.5rem;
	color: var(--mut);
	font-family: var(--skrift-broed);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.footer__liste {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
}

.footer__liste li + li { margin-top: 0.6rem; }

.sidefod__bund {
	border-top: 1px solid var(--kant);
}

.sidefod__bundraekke {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1.35rem;
}

.sidefod__ophav {
	margin: 0;
	color: var(--tekst-daempet);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
}

.betalingsikoner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.betalingsikon {
	display: block;
	width: 42px;
	height: 27px;
	color: var(--mut);
	opacity: 0.75;
}

.betalingsikon svg {
	width: 100%;
	height: 100%;
}

/* Minikurv ------------------------------------------------------------- */

.minikurv {
	position: fixed;
	inset-block: 0;
	inset-inline-end: 0;
	z-index: 120;
	display: flex;
	flex-direction: column;
	width: min(100%, 400px);
	background: var(--baggrund);
	/* Panelet ligger i markup inde i sidehovedet - uden dette ville
	   teksten arve headerens farve. */
	color: var(--tekst);
	box-shadow: -8px 0 40px hsl(340 40% 20% / 14%);
	transform: translateX(100%);
	transition: transform 0.45s var(--ind-kurve);
}

.minikurv--aaben { transform: translateX(0); }

.minikurv__sloer {
	position: fixed;
	inset: 0;
	z-index: 110;
	background: hsl(340 30% 20% / 30%);
	backdrop-filter: blur(2px);
}

.minikurv__hoved {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--kant-blid);
}

.minikurv__titel {
	margin: 0;
	color: var(--primaer);
	font-size: 1.375rem;
	letter-spacing: 0.04em;
}

.minikurv__luk {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	background: none;
	border: 0;
	color: var(--mut);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
}

.minikurv__luk:hover { background: var(--rosa-sloer); color: var(--primaer); }

.minikurv__krop {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 1.5rem;
}

.minikurv__varer {
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.minikurv__vare {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 0.9rem;
	align-items: start;
	padding-block: 0.9rem;
	border-bottom: 1px solid var(--kant-blid);
}

.minikurv__billede img,
.minikurv__billede {
	width: 64px;
	height: 85px;
	object-fit: cover;
	border-radius: 6px;
}

.minikurv__detaljer {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.minikurv__navn {
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
}

.minikurv__variant,
.minikurv__antal {
	color: var(--tekst-daempet);
	font-size: 0.8125rem;
}

.minikurv__fjern {
	width: 32px;
	height: 32px;
	background: none;
	border: 0;
	color: var(--tekst-daempet);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
}

.minikurv__fjern:hover { color: var(--primaer); background: var(--rosa-sloer); }

.minikurv__sum {
	display: flex;
	justify-content: space-between;
	margin: 0 0 0.5rem;
	font-weight: 600;
}

.minikurv__fragt {
	margin-bottom: 1.5rem;
	color: var(--tekst-daempet);
	font-size: 0.875rem;
}

.minikurv__fragt--opnaaet { color: #1d6b3f; }

.minikurv__handlinger {
	display: grid;
	gap: 0.6rem;
}

.minikurv__tom {
	margin-bottom: 1.5rem;
	color: var(--tekst-daempet);
}

.har-aaben-kurv { overflow: hidden; }

/* Cookiebanner --------------------------------------------------------- */

.cookiebanner {
	position: fixed;
	inset-block-end: 0;
	inset-inline: 0;
	z-index: 130;
	background: var(--hvid);
	border-top: 1px solid var(--lys);
	box-shadow: 0 -8px 32px hsl(340 40% 20% / 10%);
}

.cookiebanner__indhold {
	width: min(100% - 2rem, var(--indpak));
	margin-inline: auto;
	padding-block: 1.5rem;
}

.cookiebanner__titel {
	margin-bottom: 0.4rem;
	font-size: 1.1875rem;
}

.cookiebanner__tekst {
	max-width: 74ch;
	margin-bottom: 1.15rem;
	color: var(--tekst-daempet);
	font-size: 0.9375rem;
}

.cookiebanner__valg {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.cookiebanner__valg .knap {
	min-height: 44px;
	padding-inline: 1.5rem;
}

/* 404 ------------------------------------------------------------------ */

.fejlside {
	max-width: 56ch;
	padding-block: clamp(3rem, 8vw, 5.5rem);
	text-align: center;
	margin-inline: auto;
}

.fejlside__forslag {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 2rem;
}
