.cookie-samtykke {
	position: fixed;
	z-index: 999999;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	padding: 16px;
	font-family: inherit;
	line-height: 1.5;
}
.cookie-samtykke[hidden] {
	display: none;
}

.cookie-samtykke__boks {
	background: var( --cs-bg, #1b1b1b );
	color: var( --cs-text, #fff );
	border-radius: 14px;
	padding: 20px 22px;
	box-shadow: 0 12px 32px -12px rgba( 0, 0, 0, 0.45 );
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cookie-samtykke--bjaelke .cookie-samtykke__boks {
	width: 100%;
	max-width: 1100px;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
}
.cookie-samtykke--bjaelke .cookie-samtykke__hoved {
	flex: 1 1 380px;
}

.cookie-samtykke--kort {
	justify-content: flex-start;
	left: auto;
}
.cookie-samtykke--kort .cookie-samtykke__boks {
	max-width: 380px;
}

.cookie-samtykke__titel {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 700;
}
.cookie-samtykke__tekst {
	margin: 0;
	font-size: 14px;
	opacity: 0.9;
}
.cookie-samtykke__tekst a {
	color: inherit;
	text-decoration: underline;
}

.cookie-samtykke__detaljer {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 4px 0;
	border-top: 1px solid rgba( 255, 255, 255, 0.15 );
	border-bottom: 1px solid rgba( 255, 255, 255, 0.15 );
	width: 100%;
}
.cookie-samtykke__detaljer[hidden] {
	display: none;
}
.cookie-samtykke__kategori {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13.5px;
	cursor: pointer;
}
.cookie-samtykke__kategori input {
	margin-top: 3px;
	flex-shrink: 0;
}
.cookie-samtykke__kategori small {
	display: block;
	opacity: 0.8;
	font-weight: 400;
}
.cookie-samtykke__kategori strong {
	font-weight: 600;
}

.cookie-samtykke__knapper {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.cookie-samtykke__knap {
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 700;
	border-radius: 999px;
	padding: 10px 18px;
	cursor: pointer;
	border: 2px solid transparent;
	white-space: nowrap;
}
.cookie-samtykke__knap--primaer {
	background: var( --cs-accent, #f7c24b );
	color: var( --cs-accent-text, #1b1b1b );
}
.cookie-samtykke__knap--ghost {
	background: transparent;
	border-color: currentColor;
	color: inherit;
}
.cookie-samtykke__knap--tekst {
	background: transparent;
	border-color: transparent;
	color: inherit;
	text-decoration: underline;
	padding-left: 4px;
	padding-right: 4px;
	margin-right: auto;
}

.cookie-samtykke-flydende {
	position: fixed;
	z-index: 999998;
	left: 16px;
	bottom: 16px;
	width: 46px;
	height: 46px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var( --cs-accent, #f7c24b );
	color: var( --cs-accent-text, #1b1b1b );
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 8px 20px -8px rgba( 0, 0, 0, 0.5 );
}
.cookie-samtykke-flydende[hidden] {
	display: none;
}
.cookie-samtykke-flydende svg {
	width: 20px;
	height: 20px;
}

.cookie-samtykke-sletteformular {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
	margin: 16px 0;
}
.cookie-samtykke-sletteformular__felt label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 4px;
}
.cookie-samtykke-sletteformular__felt input[type="email"] {
	font: inherit;
	font-size: 15px;
	padding: 9px 12px;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 6px;
	min-width: 260px;
}
.cookie-samtykke-sletteformular__knap {
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 700;
	border-radius: 999px;
	padding: 11px 20px;
	cursor: pointer;
	border: 2px solid transparent;
	background: var( --cs-accent, #f7c24b );
	color: var( --cs-accent-text, #1b1b1b );
}
.cookie-samtykke-melding {
	padding: 12px 16px;
	border-radius: 8px;
	background: rgba( 30, 130, 76, 0.1 );
	border: 1px solid rgba( 30, 130, 76, 0.3 );
}
.cookie-samtykke-melding--fejl {
	background: rgba( 200, 50, 50, 0.08 );
	border-color: rgba( 200, 50, 50, 0.3 );
}

@media ( max-width: 640px ) {
	.cookie-samtykke-sletteformular {
		flex-direction: column;
		align-items: stretch;
	}
	.cookie-samtykke-sletteformular__felt input[type="email"] {
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
	}
	.cookie-samtykke-flydende {
		left: 10px;
		bottom: 10px;
		width: 42px;
		height: 42px;
	}
	.cookie-samtykke {
		padding: 10px;
	}
	.cookie-samtykke__boks {
		padding: 16px;
	}
	.cookie-samtykke--bjaelke .cookie-samtykke__boks {
		flex-direction: column;
		align-items: stretch;
	}
	.cookie-samtykke--bjaelke .cookie-samtykke__hoved {
		/* flex-basis:380px er en bredde på desktop (rækkelayout) — i
		   kolonnelayout på mobil bliver samme tal en højde, hvis den ikke
		   nulstilles her (skal matche specificiteten af reglen uden for
		   media query'en, ellers taber den), hvilket giver et stort tomt felt. */
		flex: initial;
	}
	.cookie-samtykke__knapper {
		flex-direction: column;
		align-items: stretch;
	}
	.cookie-samtykke__knap--tekst {
		margin-right: 0;
		order: 3;
		text-align: center;
	}
	.cookie-samtykke__knap {
		text-align: center;
	}
}

/*
 * Wrapperen om hele den genererede privatlivs-/cookiepolitik. Egen klasse +
 * CSS i stedet for kun inline style/blok-attributter på gruppen — så
 * centreringen ikke er afhængig af, at temaets layout-understøttelse (eller
 * en evt. sanering af gemt indhold) lader inline-styling overleve.
 *
 * Selve wrapperen er bredere end brødteksten, så tabellen kan få mere plads
 * at ånde i — ligesom referencen (dartgrej.dk) giver tabeller ekstra bredde
 * ift. almindelig tekst. Alle børn UNDTAGEN tabellen strammes ind til en
 * smal, læsevenlig kolonne igen nedenfor.
 */
.cookie-samtykke-politik-wrap {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding: 56px 20px 72px;
	box-sizing: border-box;
}
.cookie-samtykke-politik-wrap > *:not( .cookie-samtykke-politiktabel-wrap ) {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

/*
 * Tabellerne i den genererede privatlivs-/cookiepolitik. Egen styling i
 * stedet for at læne sig op ad temaets standard wp-block-table-udseende —
 * dels fylder kernens tabelstil ikke altid pænt, dels indlæses den slet ikke,
 * når tabellen indsættes via kortkoden [cookie_samtykke_cookie_tabel] (temaet
 * opdager kun blok-CSS-behov ud fra de blokke der reelt ligger i sidens
 * gemte indhold). Udseendet (fuld gitterramme, rundhåndet padding, ingen
 * formindsket skrift) matcher bevidst et andet, velfungerende cookie-plugin
 * som reference for et roligt, professionelt udseende.
 */
.cookie-samtykke-politiktabel-wrap {
	overflow-x: auto;
	margin: 12px 0 24px;
}
.cookie-samtykke-politiktabel {
	width: 100%;
	min-width: 700px;
	border-collapse: collapse;
	border: 1px solid #e2e2e2;
	background: #fff;
	font-size: 14px;
	line-height: 1.45;
}
.cookie-samtykke-politiktabel th,
.cookie-samtykke-politiktabel td {
	padding: 14px 16px;
	border: 1px solid #e5e5e5;
	color: #202020;
	text-align: left;
	vertical-align: top;
}
.cookie-samtykke-politiktabel td {
	overflow-wrap: break-word;
}
.cookie-samtykke-politiktabel th {
	background: #f4f4f4;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	white-space: nowrap;
}
