/* 30 · Seitenrahmen: Header (sticky 56/64 px), Logo, Footer, Platz für die Action-Bar.
   Navigation: blocks/core-navigation.css. Action-Bar selbst: Plugin-Block dkg/action-bar. */

/* ---------- Header ---------- */
.dkg-site-header {
	position: sticky;
	top: 0;
	z-index: 100; /* über der Action-Bar (90): Menü-Overlay liegt im Header-Stapelkontext */
	background: var(--wp--preset--color--paper);
	border-bottom: 1px solid var(--wp--custom--line);
	transition: border-color var(--wp--custom--duration--state) var(--wp--custom--ease);
}

.dkg-site-header.is-scrolled {
	border-bottom-color: var(--wp--custom--line-strong);
}

@media (min-width: 601px) {
	body.admin-bar .dkg-site-header {
		top: var(--wp-admin--admin-bar--height, 0px);
	}
}

.dkg-header {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	min-height: var(--wp--custom--header-h);
	padding-inline: max(var(--wp--custom--gutter), calc((100% - var(--wp--style--global--wide-size)) / 2));
}

div.dkg-header > * {
	flex: none;
	margin-block: 0;
}

/* Logo: Bildmarke (SVG inline) + Wortmarke als Text */
.dkg-logo {
	display: inline-flex;
	align-items: center;
	gap: .625rem;
	min-height: 2.75rem;
	margin-right: auto;
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}

div.dkg-header > .dkg-logo {
	flex: 0 1 auto;
	min-width: 0;
}

.dkg-logo__marke {
	flex: none;
	width: 1.75rem;
	height: auto;
}

.dkg-logo__wort {
	overflow: hidden;
	font-family: var(--wp--preset--font-family--archivo);
	font-size: .9375rem;
	font-weight: 760;
	font-stretch: 88%;
	line-height: 1;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	text-overflow: clip;
	color: var(--wp--preset--color--ink);
}

a.dkg-logo:hover .dkg-logo__wort {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .25em;
}

@media (max-width: 23.74rem) {
	.dkg-logo {
		gap: .5rem;
	}

	.dkg-logo__wort {
		font-size: .8125rem;
		letter-spacing: .035em;
	}
}

/* Sichtbarkeit der Header-Aktionen: mobil Icon-Anruf + Menü, Tablet Nummer + Menü, Desktop Navigation + Nummer + Rückruf */
.dkg-header > .dkg-anruf--header,
.dkg-header > .dkg-header__aktion {
	display: none;
}

@media (min-width: 48rem) {
	.dkg-header > .dkg-anruf--header-mobil {
		display: none;
	}

	.dkg-header > .dkg-anruf--header {
		display: grid;
		order: 1;
	}

	.dkg-header > .dkg-nav {
		order: 2;
	}
}

@media (min-width: 64rem) {
	.dkg-header {
		gap: var(--wp--preset--spacing--40);
		min-height: var(--wp--custom--header-h-desktop);
	}

	div.dkg-header > .dkg-logo {
		flex: none;
	}

	.dkg-header > :is(.dkg-anruf--header, .dkg-nav) {
		order: 0;
	}

	.dkg-header > .dkg-header__aktion {
		display: flex;
	}

	.dkg-header__aktion .wp-block-button__link {
		padding: .625rem 1rem;
		white-space: nowrap;
	}
}

@media (min-width: 80rem) {
	.dkg-header {
		gap: var(--wp--preset--spacing--50);
	}
}

/* Header-Nummer: Mikrozeile einzeilig; außerhalb der Zeiten nur im Hero/CTA erklären (der lange Hinweis sprengt sonst die Zeile) */
.dkg-header .dkg-anruf__status {
	white-space: nowrap;
}

.dkg-header .dkg-anruf__status.is-ausserhalb {
	display: none;
}

/* 1024–1279 px: Wortmarke weicht, damit Navigation, Nummer und Rückruf in eine Zeile passen */
@media (min-width: 64rem) and (max-width: 79.99rem) {
	.dkg-header:not(.dkg-header--lp) .dkg-logo__wort {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}
}

/* Landingpage-Header: Logo ohne Link, rechts nur die Nummer. Keine Navigation. */
.dkg-header--lp > .dkg-anruf--header {
	display: grid;
}

@media (max-width: 29.99rem) {
	.dkg-header--lp .dkg-logo__wort {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}
}

/* ---------- Footer ---------- */
.dkg-site-footer {
	background: var(--wp--preset--color--dark);
}

/* Farben nur im Footer-Inhalt: Rückruf-Dialog und Action-Bar liegen ebenfalls im Footer-Part
   und bringen ihre eigenen Farben mit (sonst weiß auf weiß bzw. weiß auf Mint). */
.dkg-footer {
	color: var(--wp--preset--color--white);
}

.dkg-footer {
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60);
	font-size: .9375rem;
	line-height: 1.55;
}

.dkg-footer--lp {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
}

.dkg-footer a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--white);
	text-decoration-color: var(--wp--custom--line-on-dark);
}

.dkg-footer a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--white);
	text-decoration-color: currentColor;
}

.dkg-footer :is(h1, h2, h3) {
	color: var(--wp--preset--color--white);
}

.dkg-footer__marke {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .25rem 1rem;
	padding-bottom: var(--wp--preset--spacing--50);
	border-bottom: 1px solid var(--wp--custom--line-on-dark);
	font-family: var(--wp--custom--font--display);
	font-size: clamp(1.75rem, 1.3rem + 2vw, 3rem);
	font-weight: 800;
	font-stretch: 72%;
	line-height: 1;
	letter-spacing: -.01em;
}

.dkg-footer__marke span {
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: var(--wp--preset--font-size--mono);
	font-weight: 400;
	font-stretch: 100%;
	line-height: 1.5;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--on-dark-2);
}

.dkg-footer__spalten {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60) var(--dkg-gap);
}

div.dkg-footer > .dkg-footer__spalten {
	margin-block-start: var(--wp--preset--spacing--60);
}

div.dkg-footer__spalten > *,
div.dkg-footer__spalte > * {
	margin-block: 0;
}

@media (min-width: 36rem) {
	.dkg-footer__spalten {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.dkg-footer__spalten {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

h2.dkg-footer__titel {
	margin-block-end: var(--wp--preset--spacing--20);
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: var(--wp--preset--font-size--mono);
	font-weight: 500;
	font-stretch: 100%;
	line-height: 1.4;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--on-dark-2);
}

div.dkg-footer__spalte > .dkg-footer__titel + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.dkg-footer__liste,
.dkg-footer__rechtslinks {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dkg-footer__liste a {
	display: inline-block;
	padding-block: .5625rem;
	line-height: 1.4;
	text-decoration: none;
}

.dkg-footer__liste a:hover {
	text-decoration: underline;
}

.dkg-footer__recht {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .25rem 2rem;
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--custom--line-on-dark);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--on-dark-2);
}

div.dkg-footer > .dkg-footer__recht {
	margin-block-start: var(--wp--preset--spacing--70);
}

div.dkg-footer__recht > * {
	margin-block: 0;
}

.dkg-footer__rechtslinks {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.5rem;
}

.dkg-footer__rechtslinks a {
	display: inline-block;
	padding-block: .75rem;
}

.dkg-site-footer .dkg-footer__rechtslinks a {
	color: var(--wp--preset--color--on-dark-2);
}

/* Cookie-Einstellungen: FORMS setzt [hidden], solange kein Consent aktiv ist (Listenpunkt mit ausblenden) */
.dkg-cookie-link[hidden],
.dkg-footer__rechtslinks li:has(> .dkg-cookie-link[hidden]) {
	display: none !important;
}

.dkg-footer--lp .dkg-footer__recht {
	border-top: 0;
}

/* ---------- Platz für die Action-Bar (< 768 px) ---------- */
@media (max-width: 47.99rem) {
	html:has(.dkg-action-bar) {
		scroll-padding-bottom: calc(var(--wp--custom--bar-h) + 1rem + env(safe-area-inset-bottom, 0px));
	}

	body:has(.dkg-action-bar) {
		padding-bottom: calc(var(--wp--custom--bar-h) + env(safe-area-inset-bottom, 0px));
	}

	/* Der dunkle Footer läuft unter der Leiste weiter, statt einen hellen Streifen zu zeigen */
	body:has(.dkg-action-bar) .dkg-site-footer {
		margin-bottom: calc(-1 * (var(--wp--custom--bar-h) + env(safe-area-inset-bottom, 0px)));
		padding-bottom: calc(var(--wp--custom--bar-h) + env(safe-area-inset-bottom, 0px));
	}
}
