/*
 * Søby Park – fælles CSS til siden og editoren.
 * Farver, skrifter og størrelser ligger i theme.json. Her er kun det, blokkene ikke selv kan.
 */

/* ---------- Grundlag ---------- */

/*
 * Reserveskrifter med samme mål som temaets egne skrifter, så teksten ikke flytter sig,
 * når skriften er hentet (CLS). Målene er regnet ud fra skriftfilerne mod Arial.
 */
@font-face {
	font-family: "Poppins fallback";
	src: local("Arial"), local("Liberation Sans"), local("Helvetica");
	size-adjust: 110.86%;
	ascent-override: 94.71%;
	descent-override: 31.57%;
	line-gap-override: 9.02%;
}

@font-face {
	font-family: "Work Sans fallback";
	src: local("Arial"), local("Liberation Sans"), local("Helvetica");
	size-adjust: 109.8%;
	ascent-override: 84.7%;
	descent-override: 22.13%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Alegreya fallback";
	src: local("Arial"), local("Liberation Sans"), local("Helvetica");
	size-adjust: 90.73%;
	ascent-override: 111.98%;
	descent-override: 38.03%;
	line-gap-override: 0%;
}

html {
	scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 120px);
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
video {
	max-width: 100%;
	height: auto;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Sektioner ligger kant i kant – som i designet. */
.wp-site-blocks > *,
.sp-main > *,
.sp-sektioner > .alignfull,
.is-root-container > .alignfull,
.sp-sektioner > .alignfull + *,
.is-root-container > .alignfull + * {
	margin-block-start: 0;
}

/* Tekst fra brødtekst-blokke: luft som i designet (afsnit, lister, mellemrubrikker) og 0,9 rem under blokken. */
.sp-tekst {
	padding-block-end: 0.9rem;
}

.sp-tekst > * + * {
	margin-block-start: 0.9rem;
}

:where(.wp-block-heading) {
	margin-block-end: 0;
}

/* Brødtekst-overskrifter (inde i tekstsektioner) har lidt mere luft end sektionsoverskrifter. */
.sp-tekst > .wp-block-heading {
	line-height: 1.2;
}

/* Links i overskrifter følger overskriftens størrelse, men står i brødtekst-skriften (som i designet). */
.wp-block-heading a {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: inherit;
	line-height: inherit;
}

/* Alle knapper er lige høje: samme polstring og en kant på 2 px (gennemsigtig på de fyldte, synlig på
   kant-knapperne). Ellers giver WordPress kant-knappen en større polstring end den fyldte. */
.wp-block-button > .wp-block-button__link {
	border: 2px solid transparent;
	padding: 0.25em 1em;
}

/* ---------- Header ---------- */

.sp-sidehoved {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 95;
}

/* Under 601 px ruller WordPress' admin-bjælke med siden – ellers står den sticky header 46 px nede for indloggede. */
@media (max-width: 600px) {
	.sp-sidehoved {
		top: 0;
	}
}

.sp-logo img {
	height: 88px;
	width: 148px;
	object-fit: contain;
}

/* I editoren får logoet samme størrelse som på sitet (blokken sætter ellers højden ud fra billedets egne mål). */
.editor-styles-wrapper .sp-logo .components-resizable-box__container {
	height: 88px !important;
	width: 148px !important;
}

.sp-menu .wp-block-navigation-item__content {
	padding: 5px 0;
	position: relative;
	text-transform: capitalize;
}

.sp-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	background: #324a6d;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	transition: opacity 0.3s;
}

.sp-menu .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.sp-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible::after,
.sp-menu .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.sp-menu .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after {
	opacity: 1;
}

.sp-menu .wp-block-navigation-item__content:hover,
.sp-menu .wp-block-navigation-item__content:focus,
.sp-menu .current-menu-item > .wp-block-navigation-item__content,
.sp-menu .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--kobber);
}

/* Udfoldningspilen: en lille trekant som i det gamle design. */
.sp-menu .wp-block-navigation__submenu-icon {
	height: 10px;
	margin-left: 10px;
	width: 10px;
}

.sp-menu .wp-block-navigation__submenu-icon svg {
	display: none;
}

.sp-menu .wp-block-navigation__submenu-icon::before {
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid currentColor;
	content: "";
	display: block;
	margin-top: 2px;
}

.sp-menu .wp-block-navigation__submenu-container {
	background-color: #f3f5f8 !important;
	border: 0 !important;
	color: #1c244b !important;
	min-width: 220px !important;
	padding: 0;
}

.sp-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #1c244b;
	padding: 13px 20px;
}

.sp-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sp-menu .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	background-color: #f9fafd;
	color: #1c244b;
}

.sp-menu .wp-block-navigation__responsive-container-open,
.sp-menu .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--guld);
}

.sp-menu .wp-block-navigation__responsive-container-open svg {
	height: 28px;
	width: 28px;
}

.sp-menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px 5%;
}

.sp-menu .is-menu-open .wp-block-navigation__container {
	gap: 0;
	width: 100%;
}

.sp-menu .is-menu-open .wp-block-navigation-item__content {
	font-size: 18px;
	padding: 14px 0;
}

.sp-menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 0 10px 16px;
}

.sp-menu .is-menu-open .wp-block-navigation__submenu-icon {
	display: none;
}

/* Burgermenu op til og med 1024 px – menuen er for bred til en tablet. WordPress skifter ellers ved 600 px. */
@media (min-width: 600px) and (max-width: 1024px) {
	.sp-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.sp-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.sp-header {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
}

.sp-menu .wp-block-navigation-item__content {
	white-space: nowrap;
}

/* Den åbne mobilmenu: venstrestillet, underpunkter rykket ind. */
.sp-menu .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
}

.sp-menu .is-menu-open .wp-block-navigation__responsive-container-content,
.sp-menu .is-menu-open .wp-block-navigation__container,
.sp-menu .is-menu-open .wp-block-navigation-item,
.sp-menu .is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	text-align: left;
}

.sp-menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom: 1px solid #dde1e8;
	width: 100%;
}

@media (max-width: 767px) {
	.sp-header {
		min-height: 50px !important;
		padding-left: 5% !important;
		padding-right: 5% !important;
	}

	.sp-logo img {
		height: 88px;
		width: 117px;
	}
}

/* ---------- Ring op og Besøg os ---------- */

.sp-header {
	gap: 30px;
}

/* Logoet må aldrig klemmes væk, når menu og knapper fylder. */
.sp-logo {
	flex-shrink: 0;
}

.sp-menu {
	margin-left: auto;
}

.sp-cta {
	flex-shrink: 0;
	gap: 10px;
}

.sp-cta .wp-block-button__link,
.sp-footer__cta .wp-block-button__link {
	font-size: 1rem;
	padding: 0.6em 1.1em;
	white-space: nowrap;
}

.sp-cta__ring .wp-block-button__link,
.sp-mobilbar__ring .wp-block-button__link,
.sp-footer__ring .wp-block-button__link {
	background: var(--wp--preset--color--guld);
	color: var(--wp--preset--color--hvid);
}

.sp-cta__ring .wp-block-button__link:hover,
.sp-cta__ring .wp-block-button__link:focus-visible,
.sp-mobilbar__ring .wp-block-button__link:hover,
.sp-mobilbar__ring .wp-block-button__link:focus-visible,
.sp-footer__ring .wp-block-button__link:hover,
.sp-footer__ring .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--guld-moerk);
}

.sp-cta .wp-block-button__link:focus-visible,
.sp-mobilbar .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--moerkeblaa);
	outline-offset: 2px;
}

/* Små computerskærme: menu og knapper skal kunne stå på én linje ved siden af logoet. */
@media (min-width: 1025px) and (max-width: 1365px) {
	.sp-header {
		gap: 20px;
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

	.sp-menu .wp-block-navigation__container {
		gap: 18px;
	}

	.sp-cta {
		gap: 8px;
	}

	.sp-cta .wp-block-button__link {
		font-size: 0.85rem;
		padding: 0.6em 0.8em;
	}
}

/* Computerskærme: header og footer flugter med indholdet (højst 1200 px, som theme.json), baggrunden går stadig ud til kanten. */
@media (min-width: 1025px) {
	.sp-header,
	.sp-footer {
		padding-left: max(4%, calc((100% - 1200px) / 2)) !important;
		padding-right: max(4%, calc((100% - 1200px) / 2)) !important;
	}
}

/* Bund-baren findes kun på mobil. */
.sp-mobilbar {
	display: none !important;
}

/* Tablet: knapperne står ved siden af burgermenuen. */
@media (max-width: 1024px) {
	.sp-cta {
		margin-left: auto;
	}

	.sp-menu {
		margin-left: 0;
		order: 2;
	}
}

/* Mobil: knapperne flytter fra headeren til en fast bund-bar. */
@media (max-width: 767px) {
	:root {
		--sp-bar-h: calc(76px + env(safe-area-inset-bottom));
	}

	.sp-cta {
		display: none !important;
	}

	/* Ring og Besøg os ligger i bund-baren, så knapperne i topsektionerne er overflødige på mobil. */
	.sp-topsektion .sp-topsektion__knapper,
	.sp-topsektion .sp-topsektion__note {
		display: none;
	}

	/* Uden knapper i headeren står logoet midt i, og burgermenuen til højre. */
	.sp-header {
		display: grid !important;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
	}

	.sp-header .sp-logo {
		grid-column: 2;
		grid-row: 1;
		justify-self: center;
	}

	.sp-header .sp-menu {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		margin-left: 0;
	}

	.sp-mobilbar {
		background: var(--wp--preset--color--moerkeblaa);
		bottom: 0;
		box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.18);
		display: flex !important;
		gap: 12px !important;
		left: 0;
		margin: 0 !important;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		z-index: 96;
	}

	.sp-mobilbar .wp-block-button {
		display: flex;
		flex: 1 1 0;
	}

	.sp-mobilbar__ring {
		flex-grow: 2 !important;
	}

	.sp-mobilbar .wp-block-button__link {
		align-items: center;
		display: flex;
		font-size: 0.88rem;
		justify-content: center;
		line-height: 1.2;
		min-height: 52px;
		padding: 0.5em 0.8em;
		text-align: center;
		white-space: normal;
		width: 100%;
	}

	.sp-mobilbar__besoeg .wp-block-button__link {
		background: var(--wp--preset--color--hvid);
		color: var(--wp--preset--color--moerkeblaa);
	}

	/* Plads til bund-baren, så den ikke dækker sidens sidste indhold: footerens mørke flade fortsætter under baren
	   (ellers viser den hvide sidebaggrund en streg mellem footer og bar). */
	.sp-bundlinje {
		padding-bottom: calc(0.6rem + var(--sp-bar-h)) !important;
	}
}

/* ---------- Footer ---------- */

.sp-footer__navn {
	font-size: var(--wp--preset--font-size--stor);
	line-height: 1.2;
	margin-block-end: 0.1rem;
}

.sp-footer__telefon {
	font-size: 2.5rem;
	line-height: 1.2;
}

.sp-footer a:hover,
.sp-bundlinje a:hover {
	color: var(--wp--preset--color--hvid);
}

/* Fire kolonner: kontakt med knapper, Information, Behandling og logoet (hvidt på den mørke baggrund). */
.sp-footer .sp-footer__kolonner {
	gap: 2.5rem 3rem;
	margin: 0;
}

/* Afstanden mellem blokkene i en kolonne (som blockGap før kolonnerne). */
.sp-footer .wp-block-column > * {
	margin-block: 0;
}

.sp-footer .wp-block-column > * + * {
	margin-block-start: 0.9rem;
}

.sp-footer__titel {
	color: var(--wp--preset--color--guld);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sp-footer .wp-block-column > .sp-footer__titel {
	margin-block-end: 0.9rem;
}

.sp-footer .sp-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sp-footer__links li {
	margin: 0 0 0.55rem;
}

.sp-footer__links a {
	text-decoration: none;
}

.sp-footer__links a:hover,
.sp-footer__links a:focus-visible {
	text-decoration: underline;
}

.sp-footer__logo img {
	filter: brightness(0) invert(1);
}

.sp-footer .wp-block-column > .sp-footer__cta {
	gap: 10px;
	margin-block-start: 1.25rem;
}

/* Sociale medier midt under logoet (160 px bredt, se parts/footer.html): ikonerne er SVG-filer, der farves med guld. */
.sp-some {
	display: flex;
	justify-content: center;
	gap: 16px;
	width: 160px;
	max-width: 100%;
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.sp-some__ikon {
	display: block;
	width: 28px;
	height: 28px;
	background-color: var(--wp--preset--color--guld);
	-webkit-mask: var(--sp-ikon) center / contain no-repeat;
	mask: var(--sp-ikon) center / contain no-repeat;
}

.sp-some__ikon:hover,
.sp-some__ikon:focus-visible {
	background-color: var(--wp--preset--color--hvid);
}

.sp-some__ikon:focus-visible {
	outline: 2px solid var(--wp--preset--color--hvid);
	outline-offset: 4px;
}

.sp-some__ikon--facebook {
	--sp-ikon: url("../img/some/facebook.svg");
}

.sp-some__ikon--instagram {
	--sp-ikon: url("../img/some/instagram.svg");
}

.sp-some__ikon--linkedin {
	--sp-ikon: url("../img/some/linkedin.svg");
}

.sp-footer__cta .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--hvid);
	outline-offset: 2px;
}

.sp-bundlinje a {
	color: var(--wp--preset--color--guld);
	text-decoration: none;
}

.sp-bundlinje__links {
	margin-bottom: 0.2rem;
}

/* Tablet: to og to kolonner. */
@media (min-width: 782px) and (max-width: 1024px) {
	.sp-footer .sp-footer__kolonner {
		flex-wrap: wrap !important;
	}

	.sp-footer .sp-footer__kolonner > .wp-block-column {
		flex-basis: calc(50% - 1.5rem) !important;
		flex-grow: 0 !important;
	}
}

@media (max-width: 1024px) {
	.sp-footer {
		padding: 8% 5% !important;
	}

	.sp-bundlinje {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}

	.sp-bundlinje p {
		font-size: 14px;
	}
}

/* Mobil: kolonnerne stakkes (WordPress gør det), og knapperne står i bund-baren i stedet for i footeren. */
@media (max-width: 767px) {
	.sp-footer {
		padding: 12% 5% !important;
	}

	.sp-footer__cta {
		display: none !important;
	}

	/* Alt i footeren står midt på siden på mobil. */
	.sp-footer,
	.sp-footer .wp-block-column {
		text-align: center;
	}

	.sp-footer .sp-footer__logo {
		display: flex;
		justify-content: center;
	}

	.sp-some {
		margin-inline: auto;
	}
}

/* ---------- Omtale (feed) ---------- */

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

.sp-omtale__post {
	padding-block: 1.5rem;
	border-block-end: 1px solid var(--wp--preset--color--lys);
}

.sp-omtale__post:first-child {
	padding-block-start: 0;
}

.sp-omtale__titel {
	margin: 0 0 0.35rem;
	font-size: 1.6rem;
	line-height: 1.25;
}

.sp-omtale__titel a {
	text-decoration: none;
}

.sp-omtale__titel a:hover,
.sp-omtale__titel a:focus-visible {
	text-decoration: underline;
}

.sp-omtale__byline {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
}

.sp-omtale__tekst {
	margin: 0 0 0.75rem;
}

/* Et diskret tekstlink – ikke en knap – så en lang liste ikke bliver fyldt med handlingsopfordringer. */
.sp-omtale__link {
	font-size: 0.95rem;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sp-omtale__link:hover,
.sp-omtale__link:focus-visible {
	text-decoration-thickness: 2px;
}

/* ---------- Ledige stillinger (feed) ---------- */

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

.sp-stillinger__post {
	padding-block: 1.5rem;
	border-block-end: 1px solid var(--wp--preset--color--lys);
}

.sp-stillinger__post:first-child {
	padding-block-start: 0;
}

.sp-stillinger__titel {
	margin: 0 0 0.35rem;
	font-size: 1.6rem;
	line-height: 1.25;
}

.sp-stillinger__frist {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
}

.sp-stillinger__link {
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}

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

/* Cover-sektioner: indholdet bruger hele bredden, kolonner styrer placeringen. */
.wp-block-cover.sp-cover > .wp-block-cover__inner-container {
	width: 100%;
}

/* Kort med billede og titel (forsiden). Hele kortet er et link. */
.sp-kort {
	position: relative;
	overflow: hidden;
}

.sp-kort .wp-block-cover__image-background {
	transition: transform 1s;
}

.sp-kort:hover .wp-block-cover__image-background {
	transform: scale(1.05);
}

.sp-kort .sp-kort__titel a {
	color: inherit;
	font-family: inherit;
}

/* Teksten fylder hele kortet (bundjusteret), så titlens link kan dække hele kortet – over billede og mørk bund. */
.sp-kort > .wp-block-cover__inner-container {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	inset: 0;
	justify-content: flex-end;
	padding: inherit;
	position: absolute;
	z-index: 1;
}

.sp-kort > .wp-block-cover__inner-container > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.sp-kort h3 a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 2;
}

/* Mørk bund bag tekst, så titel og byline altid kan læses – også på lyse billeder. */
.sp-kort .wp-block-cover__background {
	background: linear-gradient(to top, rgba(15, 32, 55, 0.88), rgba(15, 32, 55, 0.35) 55%, rgba(15, 32, 55, 0)) !important;
	opacity: 1 !important;
}

.sp-kort .sp-kort__titel {
	margin-bottom: 0.25em;
}

.sp-kort__byline {
	font-size: 0.95rem;
	line-height: 1.4;
	margin-top: 0;
}

/* Hero med video: halvgennemsigtig boks bag teksten, så den kan læses på alle billeder i videoen. */
.sp-hero-tekst {
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	background: rgba(15, 32, 55, 0.55);
	border-radius: 4px;
	padding: 1.5em 2em !important;
}

/* På computer følger boksen teksten, så overskriften ikke brydes, fordi kolonnen er en fast halvdel af 1200 px. */
@media (min-width: 782px) {
	.sp-hero-tekst {
		flex-basis: auto !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		max-width: 100%;
	}
}

/* Fire kort på række; to og to på tablet. */
@media (min-width: 782px) and (max-width: 1100px) {
	.sp-kortraekke {
		flex-wrap: wrap !important;
	}

	.sp-kortraekke > .wp-block-column {
		box-sizing: border-box;
		flex-basis: 50% !important;
	}
}

/* Medarbejderkort */
.sp-medarbejder {
	height: 100%;
}

.sp-medarbejder .wp-block-image img {
	aspect-ratio: 245 / 310;
	object-fit: cover;
	width: 100%;
}

/* ---------- Ofte stillede spørgsmål (Yoasts FAQ-blok, vist som foldbare kort) ---------- */

.sp-faq {
	--sp-faq-kant: #e3e7ee;
	margin-left: auto;
	margin-right: auto;
	max-width: 820px;
}

.sp-faq .wp-block-details {
	background: var(--wp--preset--color--hvid);
	border: 1px solid var(--sp-faq-kant);
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(15, 32, 55, 0.05);
	margin: 0 0 14px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sp-faq .wp-block-details[open] {
	border-color: var(--wp--preset--color--guld);
	box-shadow: 0 12px 30px rgba(15, 32, 55, 0.1);
}

.sp-faq .wp-block-details summary {
	align-items: center;
	color: var(--wp--preset--color--moerkeblaa);
	cursor: pointer;
	display: flex;
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 1.2rem;
	gap: 16px;
	line-height: 1.35;
	list-style: none;
	padding: 18px 22px;
}

.sp-faq .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.sp-faq .wp-block-details summary:hover {
	color: #7a6a42;
}

.sp-faq .wp-block-details summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--guld);
	outline-offset: -2px;
}

/* Rund plus-knap til højre; guld og minus, når svaret er åbent. */
.sp-faq .wp-block-details summary::after {
	align-items: center;
	border: 1.5px solid var(--wp--preset--color--guld);
	border-radius: 50%;
	color: #7a6a42;
	content: "+";
	display: flex;
	flex: 0 0 30px;
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: 1.3rem;
	height: 30px;
	justify-content: center;
	line-height: 1;
	margin-left: auto;
	transition: background-color 0.2s ease, color 0.2s ease;
	width: 30px;
}

.sp-faq .wp-block-details[open] summary::after {
	background: var(--wp--preset--color--guld);
	color: var(--wp--preset--color--moerkeblaa);
	content: "–";
}

.sp-faq .wp-block-details > :not(summary) {
	border-top: 0;
	margin: 0;
	padding: 0 22px 12px;
}

.sp-faq .wp-block-details > :last-child {
	padding-bottom: 20px;
}

/* I editoren er spørgsmålene Yoasts FAQ-felter (på siden: details, se functions.php) – samme kort. */
.editor-styles-wrapper .sp-faq .schema-faq-section {
	background: var(--wp--preset--color--hvid);
	border: 1px solid var(--sp-faq-kant);
	border-radius: 8px;
	margin: 0 0 14px;
	padding: 16px 22px;
}

@media (max-width: 600px) {
	.sp-faq .wp-block-details summary {
		font-size: 1.1rem;
		padding: 16px 16px;
	}

	.sp-faq .wp-block-details > :not(summary) {
		padding: 0 16px 12px;
	}

	.sp-faq .wp-block-details > :last-child {
		padding-bottom: 18px;
	}
}

/* ---------- Udtalelser ---------- */

.sp-udtalelser {
	position: relative;
}

.sp-udtalelser__spor {
	display: grid;
	gap: 16px;
	grid-auto-columns: calc((100% - 16px) / 2);
	grid-auto-flow: column;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.sp-udtalelser__spor::-webkit-scrollbar {
	display: none;
}

.sp-udtalelser__spor > * {
	margin: 0 !important;
	scroll-snap-align: start;
}

.sp-udtalelse {
	border: 1px solid var(--wp--preset--color--guld);
	color: var(--wp--preset--color--hvid);
	font-style: italic;
	padding: 20px;
	text-align: center;
}

.sp-udtalelse h2 {
	font-size: var(--wp--preset--font-size--overskrift);
	font-style: italic;
	line-height: 1.2;
}

.sp-udtalelse__navn {
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 2rem;
	font-style: normal;
	line-height: 1;
	margin-block-start: 20px !important;
}

.sp-udtalelse__rolle {
	color: var(--wp--preset--color--guld);
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 2rem;
	font-style: normal;
	line-height: 1;
}

.sp-udtalelser__pil {
	background: none;
	border: 0;
	color: var(--wp--preset--color--hvid);
	cursor: pointer;
	font-size: 28px;
	line-height: 1;
	padding: 6px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.sp-udtalelser__pil--forrige {
	left: -36px;
}

.sp-udtalelser__pil--naeste {
	right: -36px;
}

@media (max-width: 767px) {
	.sp-udtalelser__spor {
		grid-auto-columns: 100%;
	}

	.sp-udtalelser__pil--forrige {
		left: -8px;
	}

	.sp-udtalelser__pil--naeste {
		right: -8px;
	}
}

/* ---------- Formularen "Bliv ringet op" ---------- */

.sp-formular__felter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sp-felt {
	flex: 1 1 100%;
	margin: 0;
}

.sp-felt--halv {
	flex: 1 1 calc(50% - 5px);
}

.sp-formular input[type="text"],
.sp-formular input[type="tel"],
.sp-formular input[type="email"],
.sp-formular select,
.sp-formular textarea {
	background: var(--wp--preset--color--lys);
	box-sizing: border-box;
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--tekst);
	font: inherit;
	line-height: 1.4;
	min-height: 47px;
	padding: 6px 16px;
	width: 100%;
}

.sp-formular select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
	background-repeat: no-repeat;
	background-size: 5px 5px;
}

.sp-formular textarea {
	min-height: 120px;
	resize: vertical;
}

.sp-formular ::placeholder {
	color: #7a7f87;
	opacity: 1;
}

.sp-formular :focus-visible {
	outline: 2px solid var(--wp--preset--color--guld);
	outline-offset: 1px;
}

.sp-felt--samtykke {
	font-size: 15px;
}

.sp-felt--samtykke input {
	margin: 0 4px 0 0;
}

.sp-felt--skjult {
	left: -9999px;
	position: absolute;
}

.sp-felt--knap {
	text-align: center;
}

.sp-formular button[type="submit"] {
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	padding: 14px 24px;
}

.sp-formular button[type="submit"]:hover,
.sp-formular button[type="submit"]:focus {
	background-color: #7a6a43;
}

.sp-formular__besked {
	border-left: 4px solid var(--wp--preset--color--guld);
	background: var(--wp--preset--color--lys);
	margin: 0 0 16px;
	padding: 12px 16px;
}

.sp-formular__besked--fejl {
	border-left-color: #b3261e;
}

@media (max-width: 767px) {
	.sp-felt--halv {
		flex-basis: 100%;
	}

	.sp-ring-op .wp-block-heading {
		font-size: 1.7em !important;
	}
}

/* Formularen i editoren kan ikke bruges – kun ses. */
.editor-styles-wrapper .sp-formular {
	pointer-events: none;
}

/* ---------- Knapper ---------- */

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	color: var(--wp--preset--color--guld);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--guld);
	border-color: var(--wp--preset--color--guld);
	color: var(--wp--preset--color--hvid);
}

/* "Gå tilbage" i titelbåndet på tak-siderne. */
.sp-tilbage {
	display: flex;
	justify-content: center;
	margin-block-start: 0.5rem !important;
}

/* Cookiebots cookie-erklæring (genereres af scriptet på siden Privatlivspolitik): samme udtryk som resten af siden. */
.CookieDeclaration {
	font-family: inherit;
	color: inherit;
	margin-top: var(--wp--preset--spacing--40, 1rem);
}

.CookieDeclaration .CookieDeclarationType {
	border: 0 !important;
	border-radius: 6px;
	background: var(--wp--preset--color--lys);
	padding: 1.25rem 1.5rem 0.5rem !important;
	margin: 1.5rem 0 !important;
}

.CookieDeclaration .CookieDeclarationTypeHeader {
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--wp--preset--color--moerkeblaa);
}

.CookieDeclaration .CookieDeclarationTableHeader {
	font-weight: 600;
	color: var(--wp--preset--color--moerkeblaa);
	white-space: normal !important;
	overflow-wrap: anywhere;
	border-bottom: 2px solid var(--wp--preset--color--guld) !important;
}

.CookieDeclaration .CookieDeclarationTableCell {
	border-bottom: 1px solid var(--wp--preset--color--hvid) !important;
	overflow-wrap: anywhere;
}

.CookieDeclaration table {
	width: 100%;
	table-layout: auto;
}

/* Privatlivspolitikken: ro i teksten – mindre overskrifter og luft mellem afsnit og lister. */
.page-id-436 .sp-main .wp-block-group > * + * {
	margin-block-start: 1em;
}

.page-id-436 .sp-main h2.wp-block-heading {
	font-size: 1.65rem;
	line-height: 1.25;
	margin-block-start: 2.25rem;
	margin-block-end: 0;
}

.page-id-436 .sp-main h3.wp-block-heading {
	font-size: 1.3rem;
	line-height: 1.3;
	margin-block-start: 1.75rem;
	margin-block-end: 0;
}

.page-id-436 .sp-main ul.wp-block-list {
	padding-left: 1.25rem;
}

.page-id-436 .sp-main ul.wp-block-list li + li {
	margin-top: 0.35em;
}

/* ---------- Søgning, oversigter, indlæg og 404 ---------- */

.sp-soeg .wp-block-search__inside-wrapper {
	gap: 0;
}

.sp-soeg .wp-block-search__input {
	background: var(--wp--preset--color--hvid);
	border: 1px solid #d5d8dc;
	border-radius: 0;
	font: inherit;
	min-height: 52px;
	padding: 6px 16px;
}

.sp-soeg .wp-block-search__button {
	margin-left: 0;
}

.sp-404 .sp-soeg .wp-block-search__input {
	border-color: transparent;
}

.sp-404__tal {
	color: var(--wp--preset--color--guld);
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: clamp(5rem, 14vw, 9rem);
	line-height: 1;
}

.sp-kategori,
.sp-dato {
	color: var(--wp--preset--color--graa);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.sp-kategori a {
	color: var(--wp--preset--color--guld);
}

.sp-indlaegskort .wp-block-post-title a,
.sp-resultat .wp-block-post-title a {
	color: var(--wp--preset--color--moerkeblaa);
}

.sp-indlaegskort .wp-block-post-title a:hover,
.sp-resultat .wp-block-post-title a:hover {
	color: var(--wp--preset--color--guld);
}

.sp-indlaegskort .wp-block-post-title {
	line-height: 1.15;
}

.wp-block-post-excerpt__more-link {
	font-weight: 600;
}

.sp-broedtekst > * + * {
	margin-block-start: 1.1rem;
}

.sp-broedtekst > .wp-block-heading {
	line-height: 1.2;
	margin-block-start: 2rem;
}

.sp-indlaeg-nav a {
	color: var(--wp--preset--color--moerkeblaa);
}

.wp-block-query-pagination {
	font-family: var(--wp--preset--font-family--poppins);
	margin-block-start: 3em;
}

.wp-block-query-pagination .current {
	color: var(--wp--preset--color--guld);
}

/* ---------- Juridiske sider (cookie- og privatlivspolitik) ---------- */

.sp-juridisk .wp-block-post-title {
	line-height: 1.2;
	margin-block-end: 0.5em;
}

.sp-juridisk .wp-block-post-content {
	font-size: 14px;
	line-height: 1.9;
}

.sp-juridisk .wp-block-post-content > * + * {
	margin-block-start: 1em;
}

.sp-juridisk .wp-block-post-content .wp-block-heading {
	font-size: 1.5rem;
	line-height: 1.3;
	margin-block-start: 1.2em;
}

.sp-juridisk table {
	border-collapse: collapse;
	width: 100%;
}

.sp-juridisk th,
.sp-juridisk td {
	border: 1px solid #d5d8dc;
	padding: 6px 8px;
	text-align: left;
	vertical-align: top;
}

/* ---------- Ydelse: sektioner under folden tegnes først, når de nærmer sig skærmen ---------- */

.sp-sektioner > .alignfull:nth-child(n + 4):not(.sp-straks) {
	content-visibility: auto;
	contain-intrinsic-size: auto 700px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

/* Rubrik-linjer som "Ring på 86 87 12 24": nummeret står i brødtekst-skriften, som i designet. */
.sp-rubrik a {
	font-family: var(--wp--preset--font-family--work-sans);
}

/* ---------- Tablet og mobil (til og med 1024 px) ---------- */

@media (max-width: 1024px) {
	/* Forsidens hero er lavere på tablet og mobil (som i det gamle design). */
	.sp-t-hoejde-511px { min-height: 511px !important; }
}

/* ---------- Mobil (under 768 px) ---------- */

@media (max-width: 767px) {
	/* Smalle indholdsbredder (fx 60 %) gælder kun fra tablet og op – på mobil bruges hele bredden. */
	.sp-sektioner .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
	.sp-ring-op.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: 100%;
	}

	/* Hjælpeklasser fra det gamle designs mobilindstillinger. */
	.sp-m-luft-0 { padding: 0 !important; }
	.sp-m-luft-1em { padding: 1em !important; }
	.sp-m-luft-2em { padding: 2em !important; }
	.sp-m-bund-15pct { padding-bottom: 15% !important; }
	.sp-m-hoejde-30vh { min-height: 30vh !important; }
	.sp-m-top-1em { margin-top: 1em !important; }
	.sp-m-str-1-2em { font-size: 1.2em !important; }
	.sp-m-str-1-6rem { font-size: 1.6rem !important; }
	.sp-m-str-1-8em { font-size: 1.8em !important; }
	.sp-m-str-2-1em { font-size: 2.1em !important; }
	.sp-m-str-2-5em { font-size: 2.5em !important; }
	.sp-m-str-2-625rem { font-size: 2.625rem !important; }
	.sp-m-str-2-9rem { font-size: 2.9rem !important; }
	.sp-m-str-4rem { font-size: 4rem !important; }
}

/* Juridiske sider: cookietjenester som fold-ud-felter. */
.sp-juridisk .wp-block-details {
	border: 1px solid #d5d8dc;
	padding: 10px 14px;
}

.sp-juridisk .wp-block-details + .wp-block-details {
	margin-block-start: 8px;
}

.sp-juridisk .wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
}

.sp-juridisk .wp-block-details > * + * {
	margin-block-start: 0.8em;
}

/* Gitre (fx medarbejdere): én kolonne på mobil med luft omkring kortene, som i det gamle design. */
@media (max-width: 767px) {
	.sp-sektioner .wp-block-group.is-layout-grid {
		grid-template-columns: 1fr !important;
		padding-inline: 8%;
		row-gap: 50px;
	}
}

/* Editoren: tomme billedbånd viser ikke "Skriv titel …", før man peger på dem. */
.editor-styles-wrapper .sp-billedbaand:not(:hover):not(.is-selected) .block-editor-default-block-appender,
.editor-styles-wrapper .sp-billedbaand:not(:hover):not(.is-selected) .block-list-appender {
	opacity: 0;
}

/* ---------- Medarbejderprofiler ---------- */

/* Kortene i de automatiske medarbejderlister: portræt som i de manuelle kort, stillingen under navnet. */
.sp-medarbejder .wp-block-post-featured-image img {
	object-fit: cover;
	width: 100%;
}

.sp-medarbejder .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.sp-medarbejder__stilling p {
	font-weight: 700;
	margin: 0;
}

/* Medarbejderprofilens top: portræt til venstre, navn, stilling og citat til højre (stables på mobil). */
.sp-profil__portraet,
.sp-profil__portraet img {
	height: 100%;
	width: 100%;
}

.sp-profil__portraet img {
	object-fit: cover;
}

.sp-profil__citat {
	border-left: 3px solid var(--wp--preset--color--guld);
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 1.4rem;
	font-style: italic;
	line-height: 1.4;
	padding-left: 1rem;
}

/* Stillingen er et uddrag uden "Læs mere"-link – også i editoren, så profilen ser ud som på sitet. */
.editor-styles-wrapper .sp-profil__stilling .wp-block-post-excerpt__more-text {
	display: none;
}

.sp-profil__stilling p {
	font-weight: 700;
	margin: 0;
}

/* Fagligt ansvarlig: byline (som bjælke mellem sektion 1 og 2 eller under sidens første sektion) og forfatterboks nederst (inc/fagligt-gennemgaaet.php). */
.sp-byline {
	box-sizing: border-box;
	margin: 1.5em auto 0;
	max-width: 1200px;
	padding: 0 20px;
}

.sp-byline p {
	color: var(--wp--preset--color--graa);
	font-size: 0.9rem;
	line-height: 2;
	margin: 0;
	text-align: center;
}

.sp-byline a {
	color: var(--wp--preset--color--moerkeblaa);
	font-weight: 600;
}

.sp-byline__portraet {
	border: 2px solid var(--wp--preset--color--guld);
	border-radius: 50%;
	height: 32px;
	margin-right: 0.5em;
	object-fit: cover;
	vertical-align: middle;
	width: 32px;
}

.sp-forfatter {
	box-sizing: border-box;
	margin: 3em auto;
	max-width: 1200px;
	padding: 0 20px;
}

.sp-forfatter__kort {
	align-items: flex-start;
	background: var(--wp--preset--color--lys);
	border-left: 4px solid var(--wp--preset--color--guld);
	border-radius: 4px;
	box-sizing: border-box;
	display: flex;
	gap: 2em;
	margin: 0 auto;
	max-width: 900px;
	padding: 2em 2.25em;
}

.sp-forfatter__portraet {
	border: 3px solid var(--wp--preset--color--hvid);
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(15, 32, 55, 0.12);
	flex-shrink: 0;
	height: 132px;
	object-fit: cover;
	width: 132px;
}

.sp-forfatter__tekst {
	font-size: 0.98rem;
	min-width: 0;
}

.sp-forfatter__tekst p {
	margin: 0 0 0.75em;
}

.sp-forfatter__etiket {
	color: var(--wp--preset--color--guld-moerk);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sp-forfatter .sp-forfatter__etiket {
	margin-bottom: 0.25em;
}

.sp-forfatter__navn {
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 1.6rem;
	line-height: 1.2;
}

.sp-forfatter .sp-forfatter__navn {
	margin-bottom: 0.15em;
}

.sp-forfatter__navn a {
	color: var(--wp--preset--color--moerkeblaa);
	text-decoration: none;
}

.sp-forfatter__navn a:hover,
.sp-forfatter__navn a:focus-visible {
	text-decoration: underline;
}

.sp-forfatter__stilling {
	color: var(--wp--preset--color--graa);
	font-weight: 600;
}

.sp-forfatter__uddannelser {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0 0 0.75em;
	padding: 0;
}

.sp-forfatter__uddannelser li {
	background: var(--wp--preset--color--hvid);
	border: 1px solid var(--wp--preset--color--guld);
	border-radius: 2em;
	font-size: 0.8rem;
	padding: 0.2em 0.8em;
}

/* Fod: en diskret knap til medarbejderens egen profil (ingen CTA – telefonen hører til Søby Park, ikke til den
   enkelte medarbejder, og ingen dato – teksten skal være tidløs). */
.sp-forfatter__fod {
	border-top: 1px solid rgba(84, 89, 95, 0.2);
	display: flex;
	justify-content: flex-end;
	margin-top: 1em;
	padding-top: 0.75em;
}

.sp-forfatter__profil {
	border: 1px solid rgba(84, 89, 95, 0.35);
	border-radius: 2em;
	color: var(--wp--preset--color--moerkeblaa);
	font-size: 0.85rem;
	font-weight: 600;
	padding: 0.35em 1em;
	text-decoration: none;
	white-space: nowrap;
}

.sp-forfatter__profil:hover,
.sp-forfatter__profil:focus-visible {
	border-color: var(--wp--preset--color--moerkeblaa);
}

@media (max-width: 600px) {
	.sp-forfatter__kort {
		align-items: center;
		flex-direction: column;
		gap: 1em;
		padding: 1.5em 1.25em;
		text-align: center;
	}

	.sp-forfatter__portraet {
		height: 104px;
		width: 104px;
	}

	.sp-forfatter__uddannelser,
	.sp-forfatter__fod {
		justify-content: center;
	}
}

/* Smalt bånd øverst med stjerner og score som tekst (intet logo, intet navn på anmeldelsessitet, intet
   anmeldelses-schema). På mobil kun stjerner og score, så båndet holder én linje. */
.sp-tillid p {
	font-size: 0.9rem;
	line-height: 1.4;
	margin: 0;
}

/* Stjernerne viser scoren: 4,7 vises som 4½ stjerne. Ret procenten, når scoren ændres
   (4,3–4,7 = 90 %, 4,8–5 = 100 %, 3,8–4,2 = 80 %). */
.sp-stjerner {
	background: linear-gradient(90deg, var(--wp--preset--color--guld) 90%, rgba(255, 255, 255, 0.35) 90%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	letter-spacing: 0.1em;
	margin-right: 0.4em;
}

@media (max-width: 480px) {
	.sp-tillid__antal {
		display: none;
	}
}

/* ---------- Besøg os: to lige store spor (klient og pårørende), tre trin ---------- */
.sp-besoeg-spor__kolonner {
	gap: 20px;
	margin: 0;
}

.sp-besoeg-spor__kolonner > .wp-block-column {
	display: flex;
}

.sp-besoeg-kort {
	border: 1px solid #d5d8dc;
	border-radius: 8px;
	width: 100%;
}

.sp-besoeg-kort h3 {
	color: var(--wp--preset--color--moerkeblaa);
	margin-top: 0;
}

.sp-besoeg-kort ul {
	margin: 0;
	padding-left: 1.2em;
}

.sp-besoeg-kort li + li {
	margin-top: 0.6em;
}

.sp-besoeg-trin ol {
	margin: 0;
	padding-left: 1.4em;
}

.sp-besoeg-trin li + li {
	margin-top: 0.7em;
}

@media (max-width: 781px) {
	.sp-besoeg-spor__kolonner {
		flex-direction: column;
	}
}

/* Anker til formularen: hele sektionen med overskrift vises under den sticky header. */
#skriv-til-os {
	scroll-margin-top: 130px;
}

/* ---------- Topsektion: tekst og billede 50/50 i stedet for den store billedheader ---------- */

.sp-topsektion__kolonner {
	margin: 0;
}

.sp-topsektion h1 {
	margin-top: 0;
}

.sp-topsektion .sp-topsektion__knapper {
	margin-top: 1.5em;
}

.sp-topsektion__note {
	color: var(--wp--preset--color--graa);
	margin: 0.6em 0 1.2em;
}

.sp-topsektion__billede,
.sp-topsektion__billede img {
	display: block;
	margin: 0;
	width: 100%;
}

.sp-topsektion__billede img {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	height: auto;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 781px) {
	.sp-topsektion__billede img {
		aspect-ratio: 16 / 10;
	}
}

/* Video i stedet for billedet: samme format og afrunding, med en knap til fuld skærm i hjørnet. */
.sp-topsektion__video {
	margin: 0;
	position: relative;
}

.sp-topsektion__video video {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.sp-topsektion__video video:fullscreen {
	border-radius: 0;
	object-fit: contain;
}

@media (max-width: 781px) {
	.sp-topsektion__video video {
		aspect-ratio: 16 / 10;
	}
}

.sp-topsektion__fuldskaerm {
	align-items: center;
	background: rgba(15, 32, 55, 0.7);
	border: 0;
	border-radius: 6px;
	bottom: 12px;
	color: var(--wp--preset--color--hvid);
	cursor: pointer;
	display: flex;
	font-size: 1.4rem;
	height: 44px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 12px;
	width: 44px;
}

.sp-topsektion__fuldskaerm:hover,
.sp-topsektion__fuldskaerm:focus-visible {
	background: var(--wp--preset--color--moerkeblaa);
	outline: 2px solid var(--wp--preset--color--guld);
	outline-offset: 2px;
}

/* ---------- Navigation: dropdown-menuer (computer) ---------- */

@media (min-width: 1025px) {
	/* Kassen står under sit punkt (ikke højrestillet), med hvid baggrund, guldlinje, afrunding og skygge. */
	.sp-menu .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		background-color: var(--wp--preset--color--hvid) !important;
		border: 0 !important;
		border-radius: 0 0 8px 8px;
		border-top: 3px solid var(--wp--preset--color--guld) !important;
		box-shadow: 0 16px 36px rgba(15, 32, 55, 0.16), 0 2px 6px rgba(15, 32, 55, 0.06);
		left: -20px !important;
		min-width: 270px !important;
		padding: 8px 0 !important;
		right: auto !important;
		top: calc(100% + 18px) !important;
		transform: translateY(8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
	}

	/* Usynlig bro, så kassen ikke lukker, når musen bevæger sig fra punktet og ned. */
	.sp-menu .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before {
		content: "";
		height: 22px;
		left: 0;
		position: absolute;
		right: 0;
		top: -25px;
	}

	.sp-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container,
	.sp-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container {
		transform: none;
	}

	.sp-menu .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: 100%;
	}

	.sp-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		box-shadow: inset 3px 0 0 transparent;
		color: var(--wp--preset--color--moerkeblaa);
		font-size: 0.95rem;
		padding: 11px 24px;
		transition: background-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
		width: 100%;
	}

	.sp-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.sp-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background-color: var(--wp--preset--color--lys);
		box-shadow: inset 3px 0 0 var(--wp--preset--color--guld);
		color: var(--wp--preset--color--moerkeblaa);
	}

	.sp-menu .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
		box-shadow: inset 3px 0 0 var(--wp--preset--color--guld);
		font-weight: 600;
	}

	/* Pilen vender, når kassen er åben. */
	.sp-menu .wp-block-navigation__submenu-icon {
		transition: transform 0.2s ease;
	}

	.sp-menu .has-child:hover > .wp-block-navigation__submenu-icon,
	.sp-menu .has-child:focus-within > .wp-block-navigation__submenu-icon {
		transform: rotate(180deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sp-menu .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		transform: none;
		transition: none !important;
	}
}

/* Byline som bjælke i indholdsbredde mellem sektion 1 og 2 (Simon 2026-10-27): mørkeblå boks, lys tekst (hvid på #0F2037 ca. 15:1, guld ca. 7:1).
   Sider gemt med mørkeblå baggrund på hele bjælken får den fjernet her. */
.sp-bylinebjaelke.has-background {
	background: none !important;
}

.sp-bylinebjaelke {
	padding-top: 2em;
}

.sp-bylinebjaelke .sp-byline {
	background-color: var(--wp--preset--color--moerkeblaa);
	border-radius: 8px;
	margin: 0 auto;
	padding: 0.8em 1.4em;
}

.sp-bylinebjaelke .sp-byline p {
	color: #e7e9ec;
}

.sp-bylinebjaelke .sp-byline a {
	color: var(--wp--preset--color--hvid);
}

.sp-bylinebjaelke .sp-byline a:hover,
.sp-bylinebjaelke .sp-byline a:focus-visible {
	color: var(--wp--preset--color--guld);
}

.sp-topsektion h3 {
	margin-bottom: 0.6em;
}

/* ---------- Behandlingsside: roligt, redaktionelt udtryk (mønstret "Behandlingsside: sektioner under toppen") ---------- */

/* Lille overskrift over sektionens titel: guldstreg og versaler. */
.sp-eyebrow {
	align-items: center;
	color: #7a6a42;
	display: flex;
	font-size: 0.8rem;
	font-weight: 600;
	gap: 0.8em;
	letter-spacing: 0.16em;
	margin: 0 0 0.9em;
	text-transform: uppercase;
}

.sp-eyebrow::before,
.sp-eyebrow--midt::after {
	background: var(--wp--preset--color--guld);
	content: "";
	height: 2px;
	width: 28px;
}

.sp-eyebrow--midt {
	justify-content: center;
}

.sp-eyebrow--midt::after {
	display: block;
}

.sp-eyebrow:not(.sp-eyebrow--midt)::after {
	content: none;
}

/* Faktabånd lige under toppen. */
.sp-faktabaand {
	border-bottom: 1px solid #e3e7ee;
}

.sp-faktabaand__kolonner {
	gap: 0;
	margin: 0;
}

.sp-faktabaand__kolonner > .wp-block-column {
	border-left: 1px solid #e3e7ee;
	padding: 0.4em 1em;
	text-align: center;
}

.sp-faktabaand__kolonner > .wp-block-column:first-child {
	border-left: 0;
}

.sp-fakta__tal {
	color: var(--wp--preset--color--moerkeblaa);
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 1.7rem;
	line-height: 1.2;
	margin: 0;
}

.sp-fakta__tekst {
	color: var(--wp--preset--color--graa);
	font-size: 0.88rem;
	margin: 0.2em 0 0;
}

/* Tekst og billede. */
.sp-redaktion__kolonner,
.sp-tegn__kolonner,
.sp-parorende__kolonner {
	margin: 0;
}

.sp-redaktion h2,
.sp-tegn h2,
.sp-parorende h2 {
	margin-top: 0;
}

.sp-redaktion__billede,
.sp-redaktion__billede img {
	display: block;
	margin: 0;
	width: 100%;
}

.sp-redaktion__billede img {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(15, 32, 55, 0.14);
	height: auto;
	object-fit: cover;
}

/* Tegn: kort med afkrydsningsliste. */
.sp-tegn__kort,
.sp-parorende__kort {
	border: 1px solid #e3e7ee;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(15, 32, 55, 0.07);
	padding: 2em;
}

.sp-tegn__liste {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sp-tegn__liste li {
	border-bottom: 1px solid #edf0f4;
	padding: 0.8em 0 0.8em 2.2em;
	position: relative;
}

.sp-tegn__liste li:last-child {
	border-bottom: 0;
}

.sp-tegn__liste li::before {
	border-bottom: 2px solid var(--wp--preset--color--guld-moerk, #968357);
	border-right: 2px solid var(--wp--preset--color--guld-moerk, #968357);
	content: "";
	height: 11px;
	left: 0.5em;
	position: absolute;
	top: 1.05em;
	transform: rotate(45deg);
	width: 6px;
}

.sp-tegn__note {
	color: var(--wp--preset--color--graa);
	font-size: 0.92rem;
}

.sp-tegn__afslut {
	font-weight: 600;
	margin: 1.2em 0 0;
}

/* Samme sidekant som header og footer i alle sektioner på behandlingssiden – også på sider, hvor indholdet allerede ligger med 10 px (Simon 2026-10-27). */
.sp-topsektion,
.sp-bylinebjaelke,
.sp-faktabaand,
.sp-redaktion,
.sp-tegn,
.sp-trin,
.sp-citatsektion,
.sp-parorende,
.sp-privat,
.sp-faqsektion,
.sp-kontaktsektion {
	padding-left: 5% !important;
	padding-right: 5% !important;
}

@media (min-width: 1025px) {
	.sp-topsektion,
	.sp-bylinebjaelke,
	.sp-faktabaand,
	.sp-redaktion,
	.sp-tegn,
	.sp-trin,
	.sp-citatsektion,
	.sp-parorende,
	.sp-privat,
	.sp-faqsektion,
	.sp-kontaktsektion {
		padding-left: max(4%, calc((100% - 1200px) / 2)) !important;
		padding-right: max(4%, calc((100% - 1200px) / 2)) !important;
	}
}

/* Alle tospaltede sektioner deler sig 50/50 med samme mellemrum som toppen. */
@media (min-width: 782px) {
	.sp-redaktion__kolonner > .wp-block-column,
	.sp-tegn__kolonner > .wp-block-column,
	.sp-parorende__kolonner > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1 !important;
	}
}

/* Spørgsmål og kontakt står i samme smalle spalte. */
.sp-kontaktsektion.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 820px;
}

/* Forløbet i fire trin. */
.sp-trin__kolonner {
	gap: 24px;
	margin: 2.5em 0 0;
}

.sp-trin__kort {
	border: 1px solid #e3e7ee;
	border-radius: 8px;
	border-top: 3px solid var(--wp--preset--color--guld);
	box-shadow: 0 10px 30px rgba(15, 32, 55, 0.06);
	height: 100%;
	padding: 1.6em;
}

.sp-trin__nr {
	color: var(--wp--preset--color--guld);
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 2.4rem;
	line-height: 1;
	margin: 0 0 0.3em;
}

.sp-trin__titel {
	margin-top: 0;
}

.sp-trin__link {
	font-size: 0.95rem;
	font-weight: 600;
	margin: 0.8em 0 0;
}

.sp-trin__link a {
	color: var(--wp--preset--color--moerkeblaa);
	text-decoration: none;
}

.sp-trin__link a::after {
	content: " →";
}

.sp-trin__link a:hover {
	color: #7a6a42;
}

/* Citat. */
.sp-citat {
	font-style: italic;
	line-height: 1.3;
	margin-top: 0;
}

.sp-citat__afsender {
	color: var(--wp--preset--color--graa);
	font-size: 0.92rem;
}

/* Pårørende: kort med links. */
.sp-parorende__titel {
	color: var(--wp--preset--color--moerkeblaa);
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 1.4rem;
	margin: 0 0 0.6em;
}

.sp-parorende__liste {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sp-parorende__liste li {
	border-bottom: 1px solid #edf0f4;
}

.sp-parorende__liste li:last-child {
	border-bottom: 0;
}

.sp-parorende__liste a {
	color: var(--wp--preset--color--moerkeblaa);
	display: block;
	padding: 0.75em 0;
	text-decoration: none;
}

.sp-parorende__liste a::after {
	content: "→";
	float: right;
	transition: transform 0.15s ease;
}

.sp-parorende__liste a:hover {
	color: #7a6a42;
}

.sp-parorende__liste a:hover::after {
	transform: translateX(4px);
}

.sp-parorende__knapper {
	margin-top: 1.4em;
}

/* Mørkt bånd: erfaring. */
.sp-privat__kolonner {
	gap: 32px;
	margin: 2em 0 0;
}

.sp-privat__punkt {
	border-top: 2px solid var(--wp--preset--color--guld);
	color: var(--wp--preset--color--hvid);
	font-size: 1.05rem;
	margin: 0;
	padding-top: 1em;
}

.sp-privat__knapper {
	margin-top: 2.2em;
}

.sp-privat__slut {
	color: var(--wp--preset--color--guld);
	font-family: var(--wp--preset--font-family--alegreya);
	font-size: 1.3rem;
	font-style: italic;
	margin: 1.6em 0 0;
}

/* Kontaktsektionen under spørgsmålene. */
.sp-kontaktsektion {
	background: var(--wp--preset--color--hvid);
}

@media (max-width: 1024px) {
	.sp-trin__kolonner > .wp-block-column {
		flex-basis: calc(50% - 12px) !important;
	}

	.sp-trin__kolonner {
		flex-wrap: wrap !important;
	}
}

@media (max-width: 781px) {
	.sp-faktabaand__kolonner {
		flex-wrap: wrap !important;
	}

	.sp-faktabaand__kolonner > .wp-block-column {
		border-left: 0;
		flex-basis: 50% !important;
		padding: 0.8em 0.4em;
	}

	.sp-trin__kolonner > .wp-block-column {
		flex-basis: 100% !important;
	}
}
