/* Druckio – Design Tokens & Base */

:root {
	--druckio-color-bg: #060a12;
	--druckio-color-bg-elevated: #0c1220;
	--druckio-color-page-bg: #ffffff;
	--druckio-color-page-text: #1a1f2e;
	--druckio-color-text: #ffffff;
	--druckio-color-text-muted: rgba(255, 255, 255, 0.72);
	--druckio-color-accent: #2b6cee;
	--druckio-color-accent-hover: #174db0;
	--druckio-color-accent-active: #123d8f;

	--primary: #2e6bff;
	--text-dark: #0a0a0a;

	--druckio-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--druckio-font-display: "Space Grotesk", var(--druckio-font-sans);

	--druckio-header-height: 5.5rem;
	--druckio-gutter: clamp(1.25rem, 4vw, 2.5rem);
	/* --container-max-width: set from Elementor Site Kit via inc/elementor-sync.php */

	--druckio-radius-button: 20px;
	--druckio-transition: 220ms cubic-bezier(0.4, 0, 0.2, 1);

	--druckio-breakpoint-nav: 64rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	min-height: 100dvh;
	margin: 0;
	font-family: var(--druckio-font-sans);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--druckio-color-page-text);
	background-color: var(--druckio-color-page-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--druckio-color-accent);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100000;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.75rem 1rem;
	clip: auto;
	overflow: visible;
	background: var(--druckio-color-accent);
	color: #fff;
	border-radius: 0.25rem;
}

.site-main {
	flex: 1 0 auto;
	width: 100%;
}

.site-main .entry-header,
.site-main .no-results {
	display: var(--page-title-display, block);
	padding: 2rem var(--druckio-gutter) 1rem;
}

.entry-title {
	margin-block: 0 1rem;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1.2;
}

.entry-content > *:first-child {
	margin-top: 0;
}

/* Elementor-kompatible Container in Header/Footer (Theme-Chrome) */
.site-header > .e-con,
.site-footer > .e-con {
	--width: 100%;
	width: var(--width);
	position: relative;
	display: flex;
	flex-direction: column;
}

.site-header > .e-con > .e-con-inner,
.site-footer > .e-con > .e-con-inner {
	width: 100%;
	max-width: var(--content-width, min(100%, var(--container-max-width, 1140px)));
	margin-inline: auto;
	padding-inline: 0;
}

body.mobile-menu-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
