/* =============================================================================
   10-base.css — Grundlagen (theme-unabhängig)
   =============================================================================

   Enthält nur Regeln, die auf jeder Website funktionieren: Typografie-Defaults,
   Links, Fokus, scharfe Ecken, Druck. Nichts Enfold-Spezifisches — das steht
   in 20-enfold.css. Diese Datei kann also 1:1 auf andere Seiten mitgenommen
   werden.
   ========================================================================== */

/* -----------------------------------------------------------------------------
   Schriften — selbst gehostet
   -----------------------------------------------------------------------------
   Bewusst KEIN @import von fonts.googleapis.com: Die Seite wirbt selbst mit
   "DSGVO-freundlich, keine externen Dienste" — ein Font-Request an Google
   würde dem widersprechen (und ist in DE mehrfach abgemahnt worden).

   Alle drei Familien liegen als Variable Fonts unter assets/fonts/ und stehen
   unter der SIL Open Font License (Lizenztexte liegen daneben).

   Aufgeteilt in "latin" und "latin-ext": Der latin-ext-Schnitt wird nur
   geladen, wenn die Seite Zeichen daraus braucht — für die polnischen Namen
   im KSeF-Kontext (ł ą ę ś ż ź ć ń) also ja, für reines Deutsch/Französisch
   nicht. Deutsche Umlaute und ß sowie die französischen Akzente stecken
   bereits im kleineren latin-Schnitt.

   font-display: swap — der Text ist sofort lesbar, die Schrift tauscht
   nach, sobald sie da ist.
   -------------------------------------------------------------------------- */

@font-face {
	font-family: 'Inter';
	src: url('../fonts/inter-latin-wght-normal.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Inter';
	src: url('../fonts/inter-latin-ext-wght-normal.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Inter';
	src: url('../fonts/inter-latin-wght-italic.woff2') format('woff2');
	font-weight: 400 700;
	font-style: italic;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('../fonts/space-grotesk-latin-wght-normal.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('../fonts/space-grotesk-latin-ext-wght-normal.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('../fonts/jetbrains-mono-latin-wght-normal.woff2') format('woff2');
	font-weight: 400 600;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('../fonts/jetbrains-mono-latin-ext-wght-normal.woff2') format('woff2');
	font-weight: 400 600;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


/* -----------------------------------------------------------------------------
   Box-Modell
   -------------------------------------------------------------------------- */

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


/* -----------------------------------------------------------------------------
   Scharfe Ecken
   -----------------------------------------------------------------------------
   Designvorgabe: durchgängig eckig. Statt eines pauschalen "* { }" werden
   gezielt die Elemente zurückgesetzt, die Themes und Plugins üblicherweise
   runden. Runde Elemente, die rund bleiben sollen (Avatare, Icon-Kreise),
   bekommen die Klasse .sp-radius-ok und bleiben unangetastet.
   -------------------------------------------------------------------------- */

#top input,
#top select,
#top textarea,
#top button,
#top .button,
#top input[type="text"],
#top input[type="email"],
#top input[type="url"],
#top input[type="tel"],
#top input[type="number"],
#top input[type="password"],
#top input[type="search"],
#top input[type="date"],
#top input[type="submit"],
#top input[type="button"],
#top input[type="reset"] {
	border-radius: var(--sp-radius);
}

#top .sp-radius-ok,
#top .sp-radius-ok::before,
#top .sp-radius-ok::after {
	border-radius: 50%;
}


/* -----------------------------------------------------------------------------
   Typografie
   -------------------------------------------------------------------------- */

.sp-scope,
.sp-body-font {
	font-family: var(--sp-font-body);
	font-size: var(--sp-fs-base);
	line-height: var(--sp-lh-base);
	color: var(--sp-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-variant-numeric: tabular-nums;
}

.sp-display-font {
	font-family: var(--sp-font-display);
	font-weight: var(--sp-fw-medium);
	letter-spacing: var(--sp-tracking-tight);
	line-height: var(--sp-lh-tight);
}

.sp-mono,
.sp-mono-font {
	font-family: var(--sp-font-mono);
	font-variant-ligatures: none;
}

/* Zahlen in Tabellen und Beträgen immer gleich breit — wichtig bei Rechnungen,
   damit Spalten nicht springen. */
.sp-num,
.sp-scope table td,
.sp-scope table th {
	font-variant-numeric: tabular-nums;
	font-feature-settings: 'tnum' 1;
}


/* -----------------------------------------------------------------------------
   Fokus — sichtbar, aber nur bei Tastaturbedienung
   -------------------------------------------------------------------------- */

#top a:focus-visible,
#top button:focus-visible,
#top input:focus-visible,
#top select:focus-visible,
#top textarea:focus-visible,
#top [tabindex]:focus-visible {
	outline: var(--sp-focus-width) solid var(--sp-focus-color);
	outline-offset: var(--sp-focus-offset);
	box-shadow: none;
}

/* Sprunglink für Screenreader/Tastatur. */
.sp-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: var(--sp-space-3) var(--sp-space-5);
	background: var(--sp-ink);
	color: var(--sp-ink-invert);
	font-family: var(--sp-font-mono);
	font-size: var(--sp-fs-sm);
}

.sp-skip-link:focus {
	left: 0;
}


/* -----------------------------------------------------------------------------
   Textauswahl
   -------------------------------------------------------------------------- */

::selection {
	background: var(--sp-accent);
	color: #fff;
}


/* -----------------------------------------------------------------------------
   Druck — Prüfberichte und Rechnungsansichten werden ausgedruckt
   -------------------------------------------------------------------------- */

@media print {

	#header,
	#footer,
	#socket,
	.av-burger-menu-main,
	.avia-button-wrap,
	.sp-no-print {
		display: none !important;
	}

	body {
		background: #fff !important;
		color: #000 !important;
		font-size: 11pt;
	}

	.sp-panel,
	.sp-finding {
		border: 1px solid #999 !important;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	/* Ziel-URLs mitdrucken, außer bei internen Ankern. */
	a[href^="http"]::after {
		content: ' (' attr(href) ')';
		font-size: 9pt;
		color: #555;
	}
}
