/*
 * DGH-IT global design layer
 * Inspired by the "Mehr als nur IT" flyer.
 * Content, block order and wording remain untouched.
 */

:root {
	--dgh-bg: #071018;
	--dgh-bg-deep: #04090f;
	--dgh-surface: #0f2751;
	--dgh-surface-soft: #10283a;
	--dgh-text: #f5efe7;
	--dgh-muted: #c7d4df;
	--dgh-cyan: #09ff10;
	--dgh-cyan-soft: #8dff91;
	--dgh-blue: #022d9d;
	--dgh-warm: #955b34;
	--dgh-line: rgba(9, 255, 16, .30);
	--dgh-line-soft: rgba(142, 255, 147, .17);
	--dgh-focus: #b3ffb6;
}

/* Global canvas */
html {
	background: var(--dgh-bg-deep);
}

body {
	background:
		radial-gradient(70% 45% at 86% 8%, rgba(2, 45, 157, .22) 0, rgba(2, 45, 157, 0) 72%),
		radial-gradient(55% 38% at 12% 30%, rgba(9, 255, 16, .08) 0, rgba(9, 255, 16, 0) 76%),
		radial-gradient(72% 34% at 48% 100%, rgba(149, 91, 52, .10) 0, rgba(149, 91, 52, 0) 72%),
		linear-gradient(180deg, #081725 0%, var(--dgh-bg) 42%, var(--dgh-bg-deep) 100%) !important;
	background-color: var(--dgh-bg) !important;
	color: var(--dgh-text) !important;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-weight: 400 !important;
}

.wp-site-blocks {
	background: transparent;
}

body,
button,
input,
select,
textarea {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Readable typography with restrained flyer character */
h1,
h2,
.wp-block-post-title {
	color: var(--dgh-text) !important;
	font-family: var(--wp--preset--font-family--primary), system-ui, sans-serif;
	font-weight: 400;
	letter-spacing: .005em;
	text-wrap: balance;
}

h3,
h4,
h5,
h6 {
	color: var(--dgh-text) !important;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 700;
	text-wrap: balance;
}

p,
li,
dt,
dd,
figcaption,
label {
	color: var(--dgh-text);
}

p {
	text-wrap: pretty;
}

/* Wide overall layout, readable text measures */
.site-content .wp-block-post-content > p,
.site-content .wp-block-post-content > ul,
.site-content .wp-block-post-content > ol {
	max-width: 78ch;
}

.site-content .has-text-align-center {
	margin-left: auto;
	margin-right: auto;
}

/* Cyan brush-line motif from the flyer without touching text */
body.page .wp-block-post-title {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.wp-block-post-title::after,
.site-content h2::after {
	background: linear-gradient(92deg, var(--dgh-cyan) 0 58%, var(--dgh-blue) 72%, transparent 100%);
	border-radius: 999px 30% 999px 20%;
	box-shadow: 0 0 18px rgba(9, 255, 16, .15);
	content: "";
	display: block;
	height: 4px;
	margin-top: .45rem;
	transform: skewX(-12deg);
	width: clamp(62px, 8vw, 118px);
}

.site-content h2.has-text-align-center::after {
	margin-left: auto;
	margin-right: auto;
}

/* Links and focus */
a:not(.wp-element-button) {
	color: var(--dgh-cyan);
	text-underline-offset: .18em;
}

a:not(.wp-element-button):hover {
	color: var(--dgh-cyan-soft);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--dgh-focus) !important;
	outline-offset: 3px;
	box-shadow: none !important;
}

/* Header: existing block structure only gets skinned */
.site-header {
	background: rgba(4, 10, 17, .96);
	border-bottom: 1px solid var(--dgh-line);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .20);
	color: var(--dgh-text);
}

.site-header > .wp-block-group,
.site-header > .wp-block-group.has-background,
.site-header .wp-block-group.has-primary-contrast-gradient-background {
	background:
		linear-gradient(100deg, rgba(6, 19, 30, .98), rgba(8, 37, 67, .96)) !important;
}

.site-header a,
.site-header .wp-block-navigation-item__content,
.site-header .has-base-color,
.site-header .has-white-color {
	color: var(--dgh-text) !important;
}

.site-header .wp-block-navigation-item__content:hover,
.site-header .current-menu-item > .wp-block-navigation-item__content,
.site-header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--dgh-cyan) !important;
}

.site-header .wp-block-navigation__submenu-container {
	background: #081725 !important;
	border: 1px solid var(--dgh-line) !important;
	color: var(--dgh-text) !important;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open {
	background:
		radial-gradient(circle at 100% 0, rgba(2, 45, 157, .20), transparent 22rem),
		var(--dgh-bg) !important;
	color: var(--dgh-text) !important;
}

/* Footer */
.site-footer,
footer {
	background: var(--dgh-bg-deep) !important;
	border-top: 1px solid var(--dgh-line);
	color: var(--dgh-text);
}

.site-footer > .wp-block-group,
footer.site-footer > .wp-block-group,
.site-footer .has-primary-contrast-gradient-background {
	background:
		linear-gradient(100deg, #04090f, #081b2b) !important;
}

.site-footer a,
footer a,
.site-footer .has-white-color {
	color: var(--dgh-cyan) !important;
}

/* Buttons */
.wp-element-button,
input[type="submit"],
button[type="submit"] {
	background: linear-gradient(135deg, var(--dgh-cyan), #7dff82) !important;
	border: 1px solid rgba(255, 255, 255, .30) !important;
	border-radius: 8px !important;
	box-shadow: 0 7px 20px rgba(9, 255, 16, .12);
	color: #041019 !important;
	font-weight: 700 !important;
	min-height: 44px;
	text-decoration: none;
}

.wp-element-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
	background: var(--dgh-text) !important;
	border-color: var(--dgh-text) !important;
	color: #041019 !important;
	transform: translateY(-1px);
}

.wp-element-button mark {
	color: inherit !important;
}

/* Forms */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
	background: rgba(7, 23, 36, .94) !important;
	border: 1px solid #557188 !important;
	border-radius: 8px !important;
	color: var(--dgh-text) !important;
	font-size: 1rem;
	min-height: 44px;
}

textarea {
	min-height: 150px;
}

::placeholder {
	color: #b8c9d5;
	opacity: 1;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
select:focus,
textarea:focus {
	background: #0a2235 !important;
	border-color: var(--dgh-cyan) !important;
}

/* Contact page: softer, less rigid composition while keeping the form semantics intact */
.page-id-166 .wp-block-contact-form-7-contact-form-selector {
	margin-top: clamp(1.5rem, 4vw, 3rem);
	max-width: 1080px;
	position: relative;
}

.page-id-166 .wp-block-contact-form-7-contact-form-selector::before {
	background: linear-gradient(90deg, var(--dgh-cyan), var(--dgh-blue), transparent);
	border-radius: 999px 30% 999px 20%;
	content: "";
	height: 5px;
	left: clamp(18px, 3vw, 34px);
	position: absolute;
	top: 0;
	transform: skewX(-13deg);
	width: clamp(90px, 18vw, 190px);
	z-index: 2;
}

.page-id-166 .wpcf7 {
	background:
		radial-gradient(circle at 92% 8%, rgba(9, 255, 16, .11), transparent 18rem),
		linear-gradient(145deg, rgba(15, 39, 81, .62), rgba(7, 16, 24, .84));
	border: 1px solid rgba(9, 255, 16, .24);
	border-radius: 28px 10px 30px 12px;
	box-shadow: 0 20px 55px rgba(0, 0, 0, .20);
	padding: clamp(1.4rem, 4vw, 2.7rem);
	position: relative;
}

.page-id-166 .cf7-grid {
	align-items: start;
	display: grid;
	gap: clamp(1rem, 2.8vw, 2rem);
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
}

.page-id-166 .cf7-grid:nth-of-type(even) {
	grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
}

.page-id-166 .cf7-col,
.page-id-166 .cf7-full {
	min-width: 0;
}

.page-id-166 .wpcf7 p {
	margin-block: .7rem 1rem;
}

.page-id-166 .wpcf7 label {
	color: var(--dgh-text);
	font-weight: 650;
	letter-spacing: .005em;
}

.page-id-166 .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.page-id-166 .wpcf7 select,
.page-id-166 .wpcf7 textarea {
	background:
		linear-gradient(180deg, rgba(9, 30, 46, .86), rgba(6, 22, 34, .96)) !important;
	border: 0 !important;
	border-bottom: 2px solid rgba(9, 255, 16, .46) !important;
	border-radius: 13px 5px 13px 5px !important;
	box-shadow: inset 0 0 0 1px rgba(151, 206, 229, .12);
	margin-top: .35rem;
	padding-inline: .9rem;
}

.page-id-166 .wpcf7 textarea {
	min-height: 180px;
	resize: vertical;
}

.page-id-166 .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):focus,
.page-id-166 .wpcf7 select:focus,
.page-id-166 .wpcf7 textarea:focus {
	background: #0a263b !important;
	border-bottom-color: var(--dgh-cyan) !important;
	box-shadow:
		inset 0 0 0 1px rgba(9, 255, 16, .30),
		0 8px 22px rgba(0, 0, 0, .12);
}

.page-id-166 .cf7-submit-wrapper {
	margin-top: 1.25rem;
}

.page-id-166 .cf7-submit-wrapper input[type="submit"] {
	border-radius: 999px 14px 999px 14px !important;
	padding-inline: clamp(1.35rem, 4vw, 2.3rem) !important;
}

@media (min-width: 783px) {
	.page-id-166 .cf7-grid .cf7-col:nth-child(2) {
		margin-top: .8rem;
	}
}

@media (max-width: 782px) {
	.page-id-166 .cf7-grid,
	.page-id-166 .cf7-grid:nth-of-type(even) {
		display: block;
	}

	.page-id-166 .wpcf7 {
		border-radius: 20px 8px 22px 9px;
		padding: 1.15rem;
	}

	.page-id-166 .cf7-col {
		margin: 0 0 .65rem !important;
	}

	.page-id-166 .wp-block-contact-form-7-contact-form-selector::before {
		left: 16px;
	}
}

/* Contact Form 7 acceptance control: native, clickable and keyboard friendly */
.page-id-166 .cf7-privacy .wpcf7-list-item {
	display: block;
	margin: 0;
}

.page-id-166 .cf7-privacy label {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	gap: .7rem;
	line-height: 1.5;
}

.page-id-166 .cf7-privacy input[type="checkbox"] {
	-webkit-appearance: checkbox !important;
	appearance: auto !important;
	accent-color: var(--dgh-cyan);
	background: initial !important;
	border: initial !important;
	border-radius: 3px !important;
	cursor: pointer;
	flex: 0 0 auto;
	height: 1.25rem;
	margin: .18rem 0 0;
	min-height: 0;
	padding: 0;
	width: 1.25rem;
}

.page-id-166 .cf7-privacy input[type="checkbox"]:focus-visible {
	outline: 3px solid var(--dgh-focus) !important;
	outline-offset: 3px;
}

.page-id-166 .cf7-privacy .wpcf7-list-item-label {
	display: block;
	min-width: 0;
}

/* About: keep the existing block/content order, integrate the portrait into the text flow */
.page-id-629 .wp-block-post-content > .wp-block-group.is-nowrap {
	align-items: start !important;
	display: grid !important;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr) clamp(240px, 24vw, 330px);
}

.page-id-629 .wp-block-post-content > .wp-block-group.is-nowrap > .wp-block-group {
	min-width: 0;
}

.page-id-629 .wp-block-post-content > .wp-block-group.is-nowrap > .wp-block-image.alignright {
	background:
		linear-gradient(145deg, rgba(9, 255, 16, .16), rgba(2, 45, 157, .08));
	border: 1px solid rgba(9, 255, 16, .38);
	border-radius: 18px;
	box-shadow:
		0 18px 46px rgba(0, 0, 0, .26),
		8px 8px 0 rgba(9, 255, 16, .10);
	float: none;
	margin: 0 !important;
	overflow: hidden;
	padding: 7px;
	position: relative;
	width: 100% !important;
}

.page-id-629 .wp-block-post-content > .wp-block-group.is-nowrap > .wp-block-image.alignright img {
	aspect-ratio: 2 / 3;
	border-radius: 12px;
	display: block;
	height: auto !important;
	object-fit: cover;
	width: 100% !important;
}

@media (max-width: 782px) {
	.page-id-629 .wp-block-post-content > .wp-block-group.is-nowrap {
		display: flex !important;
		flex-direction: column;
		gap: 1.25rem;
	}

	.page-id-629 .wp-block-post-content > .wp-block-group.is-nowrap > .wp-block-image.alignright {
		align-self: center;
		max-width: min(78vw, 320px);
	}

	.page-id-166 .cf7-privacy label {
		gap: .6rem;
	}
}

/* WordPress preset classes mapped globally to the new visual system */
.has-base-background-color {
	background-color: var(--dgh-bg) !important;
	color: var(--dgh-text) !important;
}

.has-background-alt-background-color,
.has-neutral-background-color {
	background-color: var(--dgh-surface-soft) !important;
	color: var(--dgh-text) !important;
}

.site-content .has-contrast-background-color {
	background-color: var(--dgh-surface) !important;
	color: var(--dgh-text) !important;
}

.has-primary-background-color {
	background-color: var(--dgh-cyan) !important;
	color: #041019 !important;
}

.has-secondary-background-color {
	background-color: var(--dgh-surface) !important;
	color: var(--dgh-text) !important;
}

.has-royal-background-color {
	background-color: var(--dgh-blue) !important;
	color: var(--dgh-text) !important;
}

.has-base-color,
.has-white-color {
	color: var(--dgh-text) !important;
}

.has-primary-color {
	color: var(--dgh-cyan) !important;
}

.has-secondary-color {
	color: #8eb5ff !important;
}

.has-royal-color {
	color: #7ea4ff !important;
}

.has-background-alt-background-color :where(p, li, h1, h2, h3, h4, h5, h6),
.has-neutral-background-color :where(p, li, h1, h2, h3, h4, h5, h6),
.has-base-background-color :where(p, li, h1, h2, h3, h4, h5, h6),
.has-secondary-background-color :where(p, li, h1, h2, h3, h4, h5, h6),
.has-royal-background-color :where(p, li, h1, h2, h3, h4, h5, h6) {
	color: var(--dgh-text) !important;
}

.site-content .has-contrast-background-color :where(p, li, h1, h2, h3, h4, h5, h6) {
	color: var(--dgh-text) !important;
}

.has-primary-background-color :where(p, li, h1, h2, h3, h4, h5, h6) {
	color: #06131d !important;
}

/* Existing decorative styles become consistent, without turning every column into a card */
.wp-block-group.is-style-shadow-light,
.wp-block-image.is-style-shadow-light img {
	box-shadow: 0 16px 42px rgba(0, 0, 0, .24);
}

.wp-block-group.is-style-shadow-light {
	background:
		linear-gradient(135deg, rgba(9, 255, 16, .055), transparent 36%),
		rgba(15, 39, 81, .56);
	border: 1px solid var(--dgh-line-soft);
}

.wp-block-group.is-style-shadow-solid,
.wp-block-image.is-style-shadow-solid img {
	box-shadow: 5px 5px 0 rgba(9, 255, 16, .66);
}

mark {
	background:
		linear-gradient(90deg, rgba(9, 255, 16, .72), rgba(2, 45, 157, .60)) 0 88% / 100% .18em no-repeat;
	color: inherit;
}

/* Organic DGH-IT component language
---------------------------------------------------------------------------- */
.wp-element-button,
input[type="submit"],
button[type="submit"] {
	border-radius: 999px 14px 999px 14px !important;
	box-shadow:
		0 8px 22px rgba(9, 255, 16, .12),
		inset 0 0 0 1px rgba(255, 255, 255, .14);
	padding-inline: clamp(1.1rem, 2.5vw, 1.7rem) !important;
}

.wp-element-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
	box-shadow:
		0 12px 28px rgba(9, 255, 16, .17),
		inset 0 0 0 1px rgba(255, 255, 255, .2);
}

.dgh-return-nav a {
	background:
		linear-gradient(135deg, rgba(9, 255, 16, .12), rgba(2, 45, 157, .08));
	border: 1px solid rgba(9, 255, 16, .3);
	border-radius: 999px 12px 999px 12px;
	display: inline-flex;
	min-height: 44px;
	padding: .55rem 1rem;
	text-decoration: none;
}

/* Optional card surfaces keep the same asymmetric visual vocabulary. */
.wp-block-group.is-style-shadow-light,
.wp-block-quote.is-style-shadow-light,
.wp-block-image.is-style-shadow-light img {
	border-radius: 26px 9px 30px 12px;
}

.wp-block-group.is-style-shadow-light,
.wp-block-quote.is-style-shadow-light {
	background:
		radial-gradient(circle at 94% 4%, rgba(9, 255, 16, .11), transparent 14rem),
		linear-gradient(145deg, rgba(15, 39, 81, .64), rgba(7, 16, 24, .82));
	border: 1px solid rgba(9, 255, 16, .22);
	box-shadow: 0 18px 46px rgba(0, 0, 0, .2);
	padding: clamp(1.15rem, 3vw, 2rem);
}

/* Blog/query items as relaxed content cards rather than rigid boxes. */
.wp-block-latest-posts__list > li,
.wp-block-post-template > li {
	background:
		linear-gradient(145deg, rgba(15, 39, 81, .46), rgba(7, 16, 24, .72));
	border: 1px solid rgba(9, 255, 16, .16);
	border-radius: 24px 8px 28px 10px;
	box-shadow: 0 14px 36px rgba(0, 0, 0, .14);
	margin-bottom: 1rem;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

.wp-block-latest-posts__post-title,
.wp-block-post-template .wp-block-post-title a {
	font-weight: 700;
	text-decoration-thickness: 1px;
}

.wp-block-latest-posts__post-date,
.wp-block-post-date {
	color: var(--dgh-muted);
	font-size: .9em;
}

/* Lists and small UI details */
.site-content .wp-block-list > li::marker {
	color: var(--dgh-cyan);
	font-weight: 700;
}

.site-content .wp-block-list > li {
	padding-left: .18rem;
}

.wp-block-quote {
	border-left: 4px solid var(--dgh-cyan);
	border-radius: 0 14px 14px 0;
	margin-inline: 0;
	padding: .85rem 1.1rem;
}

/* Images pick up the flyer-like frame without forcing every image into a card. */
.wp-block-image.is-style-shadow-solid img {
	border-radius: 22px 8px 24px 10px;
	box-shadow: 8px 8px 0 rgba(9, 255, 16, .34);
}

/* Section separators keep spacing, but no extra decorative line. */
.wp-block-separator {
	border: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
}

.wp-block-separator::before {
	content: none !important;
	display: none !important;
}

/* Service sections get breathing room and a light organic edge, but remain text-first. */
.page-id-602 .wp-block-post-content > .wp-block-group {
	border-left: 2px solid rgba(9, 255, 16, .24);
	border-radius: 0 18px 18px 0;
	margin-block: clamp(1.4rem, 4vw, 2.5rem);
	padding: clamp(.4rem, 1vw, .7rem) 0 clamp(.4rem, 1vw, .7rem) clamp(1rem, 3vw, 1.7rem);
}

.page-id-602 .wp-block-post-content > .wp-block-group:nth-of-type(even) {
	border-left-color: rgba(2, 45, 157, .45);
}

/* Main project/knowledge overview blocks can use the visual language when columns are present. */
.page-id-607 .wp-block-columns > .wp-block-column,
.page-id-652 .wp-block-columns > .wp-block-column {
	background:
		linear-gradient(145deg, rgba(15, 39, 81, .5), rgba(7, 16, 24, .76));
	border: 1px solid rgba(9, 255, 16, .17);
	border-radius: 24px 8px 28px 10px;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

@media (max-width: 782px) {
	.wp-block-latest-posts__list > li,
	.wp-block-post-template > li,
	.page-id-607 .wp-block-columns > .wp-block-column,
	.page-id-652 .wp-block-columns > .wp-block-column {
		border-radius: 18px 7px 20px 8px;
	}

	.page-id-602 .wp-block-post-content > .wp-block-group {
		padding-left: 1rem;
	}
}

/* Separators, tables and code */
.wp-block-separator {
	border-color: transparent !important;
	color: transparent !important;
}

.wp-block-table {
	overflow-x: auto;
}

.wp-block-table th,
.wp-block-table td {
	border-color: #3c5c74 !important;
}

.wp-block-table th {
	background: #0f2751;
	color: var(--dgh-text);
}

*:not(.wp-block-code) > code,
pre,
.wp-block-code {
	background: #071725 !important;
	color: #edf8ff !important;
}

/* Third-party blocks stay stable and inside the viewport */
.site-content img,
.site-content iframe,
.site-content video,
.rt-wpls,
.rt-wpls .slick-list {
	max-width: 100%;
}

.rt-wpls {
	margin: clamp(1.5rem, 4vw, 3rem) auto !important;
	max-width: min(1080px, calc(100vw - 2 * clamp(18px, 4vw, 56px))) !important;
	min-height: 190px;
	overflow: visible;
	padding-inline: clamp(48px, 6vw, 72px);
	position: relative;
	width: 100%;
}

.rt-wpls .slick-list {
	min-height: 160px;
	overflow: hidden;
}

.rt-wpls .slick-track {
	align-items: center;
	display: flex !important;
}

.rt-wpls .slick-slide {
	height: auto;
}

.rt-wpls .single-logo,
.rt-wpls .single-logo-container {
	align-items: center;
	display: flex !important;
	justify-content: center;
	min-height: 150px;
	text-align: center;
	width: 100%;
}

.rt-wpls .single-logo-container a {
	align-items: center;
	display: flex;
	justify-content: center;
	width: 100%;
}

.rt-wpls .single-logo-container img {
	display: block;
	height: auto !important;
	margin: 0 auto !important;
	max-height: 140px;
	max-width: min(150px, 82%);
	object-fit: contain;
	width: auto !important;
}

.rt-wpls .slick-prev,
.rt-wpls .slick-next {
	align-items: center;
	background: rgba(7, 16, 24, .86) !important;
	border: 1px solid var(--dgh-line) !important;
	border-radius: 999px;
	display: flex !important;
	height: 42px;
	justify-content: center;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 42px;
	z-index: 3;
}

.rt-wpls .slick-prev {
	left: 0 !important;
}

.rt-wpls .slick-next {
	right: 0 !important;
}

.rt-wpls .slick-prev:hover,
.rt-wpls .slick-next:hover {
	background: rgba(15, 39, 81, .96) !important;
	border-color: var(--dgh-cyan) !important;
}

.iboh-banner {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 44px;
}

/* Knowledge pages: Blog, Glossary, Toolbox
---------------------------------------------------------------------------- */

/* Blog */
.page-id-169 .wp-block-post-content > .wp-block-spacer {
	height: clamp(28px, 5vw, 56px) !important;
}

.page-id-169 .wp-block-post-content > p:not(.dgh-return-nav) {
	margin-left: auto;
	margin-right: auto;
	max-width: 760px;
	text-align: center;
}

.page-id-169 .wp-block-jetpack-subscriptions {
	background:
		radial-gradient(circle at 92% 6%, rgba(9, 255, 16, .10), transparent 14rem),
		linear-gradient(145deg, rgba(15, 39, 81, .56), rgba(7, 16, 24, .82));
	border: 1px solid rgba(9, 255, 16, .22);
	border-radius: 26px 9px 30px 12px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .18);
	margin-inline: auto !important;
	max-width: 820px;
	padding: clamp(1rem, 3vw, 1.7rem);
}

.page-id-169 .wp-block-jetpack-subscriptions input[type="email"] {
	border-color: rgba(9, 255, 16, .38) !important;
}

.page-id-169 .wp-block-jetpack-subscriptions button,
.page-id-169 .wp-block-jetpack-subscriptions a[style*="background-color"] {
	background: linear-gradient(135deg, var(--dgh-cyan), #7dff82) !important;
	border: 1px solid rgba(255,255,255,.25) !important;
	border-radius: 999px 14px 999px 14px !important;
	color: #041019 !important;
	font-weight: 700 !important;
	min-height: 44px;
	text-decoration: none !important;
}

.page-id-169 .wp-block-latest-posts {
	display: grid;
	gap: clamp(.9rem, 2vw, 1.35rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0;
}

.page-id-169 .wp-block-latest-posts > li {
	margin: 0;
	min-width: 0;
}

.page-id-169 .wp-block-latest-posts__post-title {
	color: var(--dgh-text);
	display: block;
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	line-height: 1.35;
	margin-bottom: .45rem;
}

.page-id-169 .wp-block-latest-posts__post-excerpt {
	color: var(--dgh-muted);
	line-height: 1.65;
}

.page-id-169 .wp-block-latest-posts__read-more {
	display: inline-flex;
	margin-top: .55rem;
}

/* Glossary: readable glossary cards, two columns on larger screens */
.page-id-191 .wp-block-post-content > .wp-block-list {
	display: grid;
	gap: .85rem 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin-block: 1rem 2rem;
	padding: 0;
}

.page-id-191 .wp-block-post-content > .wp-block-list > li {
	background:
		linear-gradient(145deg, rgba(15, 39, 81, .42), rgba(7, 16, 24, .72));
	border: 1px solid rgba(9, 255, 16, .14);
	border-radius: 18px 7px 20px 8px;
	line-height: 1.62;
	padding: .9rem 1rem;
}

.page-id-191 .wp-block-post-content > .wp-block-list > li strong {
	color: var(--dgh-cyan);
}

.page-id-191 .wp-block-quote.is-style-shadow-solid {
	background:
		radial-gradient(circle at 95% 8%, rgba(9,255,16,.09), transparent 12rem),
		rgba(15,39,81,.48);
	border: 1px solid rgba(9,255,16,.20);
	border-left: 4px solid var(--dgh-cyan);
	border-radius: 8px 22px 10px 24px;
	box-shadow: 7px 7px 0 rgba(9,255,16,.12);
	padding: clamp(1rem, 3vw, 1.5rem);
}

/* Toolbox */
.page-id-216 .wp-block-table {
	background:
		linear-gradient(145deg, rgba(15,39,81,.46), rgba(7,16,24,.76));
	border: 1px solid rgba(9,255,16,.16);
	border-radius: 22px 8px 24px 10px;
	box-shadow: 0 16px 40px rgba(0,0,0,.16);
	margin-top: clamp(1.25rem, 3vw, 2rem);
	overflow-x: auto;
}

.page-id-216 .wp-block-table table {
	border-collapse: separate;
	border-spacing: 0;
	min-width: 860px;
	width: 100%;
}

.page-id-216 .wp-block-table th {
	background: rgba(9,255,16,.09);
	border-bottom: 1px solid rgba(9,255,16,.32) !important;
	color: var(--dgh-text);
	font-weight: 750;
	padding: .9rem .8rem;
	position: sticky;
	top: 0;
	white-space: nowrap;
	z-index: 1;
}

.page-id-216 .wp-block-table td {
	border-color: rgba(142,255,147,.10) !important;
	color: var(--dgh-text);
	line-height: 1.45;
	padding: .85rem .8rem;
	vertical-align: middle;
}

.page-id-216 .wp-block-table tbody tr:nth-child(even) td {
	background: rgba(255,255,255,.018);
}

.page-id-216 .wp-block-table tbody tr:hover td {
	background: rgba(9,255,16,.035);
}

.page-id-216 .wp-block-table a {
	background: rgba(9,255,16,.08);
	border: 1px solid rgba(9,255,16,.24);
	border-radius: 999px 10px 999px 10px;
	display: inline-flex;
	margin: .12rem .18rem .12rem 0;
	min-height: 36px;
	padding: .35rem .65rem;
	text-decoration: none;
}

/* Back-to-top: replace old bitmap visually, keep the original accessible button */
#wpfront-scroll-top-container {
	align-items: center !important;
	background:
		linear-gradient(145deg, rgba(9,255,16,.96), rgba(85,255,91,.92)) !important;
	border: 1px solid rgba(255,255,255,.28) !important;
	border-radius: 999px 12px 999px 12px !important;
	bottom: 24px !important;
	box-shadow:
		0 10px 28px rgba(0,0,0,.30),
		0 0 20px rgba(9,255,16,.12) !important;
	height: 48px !important;
	justify-content: center !important;
	opacity: .92 !important;
	right: 24px !important;
	width: 48px !important;
}

#wpfront-scroll-top-container img {
	display: none !important;
}

#wpfront-scroll-top-container::before {
	color: #041019;
	content: "↑";
	font-family: system-ui, sans-serif;
	font-size: 1.55rem;
	font-weight: 900;
	line-height: 1;
}

#wpfront-scroll-top-container:hover {
	background: var(--dgh-text) !important;
	transform: translateY(-2px);
}

#wpfront-scroll-top-container:focus-visible {
	outline: 3px solid var(--dgh-focus) !important;
	outline-offset: 4px !important;
}

@media (max-width: 782px) {
	.page-id-216 .wp-block-table {
		background: transparent;
		border: 0;
		box-shadow: none;
		overflow: visible;
	}

	.page-id-216 .wp-block-table::after {
		content: none !important;
		display: none !important;
	}

	.page-id-216 .wp-block-table table,
	.page-id-216 .wp-block-table tbody,
	.page-id-216 .wp-block-table tr,
	.page-id-216 .wp-block-table td {
		display: block;
		min-width: 0;
		width: 100%;
	}

	.page-id-216 .wp-block-table thead {
		border: 0;
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.page-id-216 .wp-block-table tbody {
		display: grid;
		gap: 1rem;
	}

	.page-id-216 .wp-block-table tbody tr {
		background:
			radial-gradient(circle at 94% 8%, rgba(9,255,16,.08), transparent 10rem),
			linear-gradient(145deg, rgba(15,39,81,.50), rgba(7,16,24,.80));
		border: 1px solid rgba(9,255,16,.18);
		border-radius: 20px 7px 22px 9px;
		box-shadow: 0 14px 34px rgba(0,0,0,.15);
		overflow: hidden;
		padding: .85rem 1rem;
	}

	.page-id-216 .wp-block-table td {
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(142,255,147,.10) !important;
		display: grid;
		gap: .25rem;
		grid-template-columns: minmax(92px, .8fr) minmax(0, 1.6fr);
		line-height: 1.45;
		padding: .65rem 0;
	}

	.page-id-216 .wp-block-table td:last-child {
		border-bottom: 0 !important;
	}

	.page-id-216 .wp-block-table td::before {
		color: var(--dgh-muted);
		font-size: .82rem;
		font-weight: 700;
		letter-spacing: .02em;
		text-transform: uppercase;
	}

	.page-id-216 .wp-block-table td:nth-child(1)::before { content: "Position"; }
	.page-id-216 .wp-block-table td:nth-child(2)::before { content: "Name"; }
	.page-id-216 .wp-block-table td:nth-child(3)::before { content: "Verwendung"; }
	.page-id-216 .wp-block-table td:nth-child(4)::before { content: "Webseite"; }
	.page-id-216 .wp-block-table td:nth-child(5)::before { content: "WebApp"; }
	.page-id-216 .wp-block-table td:nth-child(6)::before { content: "Download"; }

	.page-id-216 .wp-block-table td:nth-child(2) {
		color: var(--dgh-text);
		font-size: 1.08rem;
		font-weight: 750;
	}

	.page-id-216 .wp-block-table a {
		margin-bottom: .25rem;
		width: fit-content;
	}

	.page-id-169 .wp-block-latest-posts,
	.page-id-191 .wp-block-post-content > .wp-block-list {
		grid-template-columns: 1fr;
	}

	.page-id-169 .wp-block-jetpack-subscriptions {
		border-radius: 20px 8px 22px 9px;
		padding: 1rem;
	}

	.page-id-169 .wp-block-jetpack-subscriptions__form-elements {
		display: block !important;
	}

	.page-id-169 .wp-block-jetpack-subscriptions input[type="email"],
	.page-id-169 .wp-block-jetpack-subscriptions button {
		margin: .4rem 0 0 !important;
		width: 100% !important;
	}

	.page-id-191 .wp-block-post-content > .wp-block-list > li {
		border-radius: 15px 6px 17px 7px;
		padding: .85rem .9rem;
	}

	.page-id-216 .wp-block-table {
		border-radius: 16px 6px 18px 7px;
		margin-inline: -4px;
		-webkit-overflow-scrolling: touch;
	}

	.page-id-216 .wp-block-table::after {
		color: var(--dgh-muted);
		content: "↔ Tabelle horizontal verschieben";
		display: block;
		font-size: .82rem;
		padding: .55rem .8rem .75rem;
		text-align: center;
	}

	#wpfront-scroll-top-container {
		bottom: 18px !important;
		height: 46px !important;
		right: 16px !important;
		width: 46px !important;
	}
}

/* Responsive */
@media (max-width: 1024px) {
	.site-header .wp-block-navigation__container {
		column-gap: clamp(.65rem, 2vw, 1.25rem);
	}
}

@media (max-width: 782px) {
	body {
		background:
			radial-gradient(circle at 100% 4%, rgba(2, 45, 157, .16), transparent 18rem),
			linear-gradient(180deg, #081725 0%, var(--dgh-bg-deep) 100%) !important;
		font-size: 16px;
	}

	.wp-block-post-title::after,
	.site-content h2::after {
		width: 72px;
	}

	.site-content .wp-block-columns {
		gap: 1rem;
	}

	.site-header .wp-block-navigation__responsive-container-open,
	.site-header .wp-block-navigation__responsive-container-close {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	.iboh-banner {
		min-height: 64px;
	}

	input,
	select,
	textarea {
		font-size: 16px;
	}
}

/* Progressive scroll reveal */
html.dgh-reveal-ready .dgh-reveal {
	opacity: 0;
	transform: translate3d(0, 22px, 0);
	transition:
		opacity .58s cubic-bezier(.2,.65,.3,1),
		transform .58s cubic-bezier(.2,.65,.3,1);
	transition-delay: var(--dgh-reveal-delay, 0ms);
	will-change: opacity, transform;
}

html.dgh-reveal-ready .dgh-reveal.dgh-reveal-from-right {
	transform: translate3d(26px, 0, 0);
}

html.dgh-reveal-ready .dgh-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (max-width: 782px) {
	html.dgh-reveal-ready .dgh-reveal {
		transform: translate3d(0, 12px, 0);
		transition-duration: .46s;
	}

	html.dgh-reveal-ready .dgh-reveal.dgh-reveal-from-right {
		transform: translate3d(12px, 0, 0);
	}

	html.dgh-reveal-ready .dgh-reveal.is-visible {
		transform: translate3d(0, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	html.dgh-reveal-ready .dgh-reveal,
	html.dgh-reveal-ready .dgh-reveal.dgh-reveal-from-right {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Accessibility preferences */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}

	.wp-element-button:hover,
	input[type="submit"]:hover,
	button[type="submit"]:hover {
		transform: none;
	}
}

@media (prefers-contrast: more) {
	:root {
		--dgh-line: rgba(119, 216, 255, .78);
		--dgh-line-soft: rgba(119, 216, 255, .46);
	}

	.site-header,
	.site-footer,
	.wp-block-group.is-style-shadow-light {
		border-color: var(--dgh-focus) !important;
	}
}

