/* Second IT Erweiterungen – Design wie second-it.de: Poppins, Anthrazit #333, Grün #99BB11, Text #666, Flächen #F5F5F5 */
:root {
	--si-green: #99bb11;
	--si-green-d: #6f8a0a;
	--si-ink: #333333;
	--si-text: #5f5f5f;
	--si-muted: #808080;
	--si-line: #e6e6e6;
	--si-paper: #f5f5f5;
	--si-radius: 12px;
}

/* =========================================================== FAQ-Akkordeon (Leistungsseiten) */
.si-faq-block {
	box-sizing: border-box;
	max-width: var(--si-faq-max, 1520px);
	margin: 72px auto 96px;
	padding: 0 20px;
	font-family: "popp", "Poppins", sans-serif;
}
.si-faq-inner { max-width: 1085px; margin: 0 auto; }
.si-faq-head { text-align: center; margin-bottom: 36px; }
.si-faq-kicker {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--si-green);
	margin-bottom: 10px;
}
.si-faq-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin: 0;
	font-family: "popp", "Poppins", sans-serif;
	font-weight: 900;
	font-size: clamp(28px, 3.2vw, 45px);
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--si-ink);
}
.si-faq-title::before,
.si-faq-title::after { content: ""; flex: 0 0 48px; height: 1px; background: #cfcfcf; }
.si-faq-list { display: grid; gap: 14px; }
.si-faq-item {
	background: #fff;
	border: 1px solid var(--si-line);
	border-radius: var(--si-radius);
	transition: border-color .25s ease, box-shadow .3s ease, transform .3s ease;
	overflow: hidden;
}
.si-faq-item:hover { border-color: rgba(153, 187, 17, .55); box-shadow: 0 10px 28px -16px rgba(51, 51, 51, .35); transform: translateY(-2px); }
.si-faq-item[open] { border-color: rgba(153, 187, 17, .7); box-shadow: 0 14px 34px -20px rgba(51, 51, 51, .35); transform: none; }
.si-faq-item summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 28px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--si-ink);
}
.si-faq-item summary::-webkit-details-marker { display: none; }
.si-faq-item summary:hover .si-faq-q { color: var(--si-green-d); }
.si-faq-item summary:focus-visible { outline: 2px solid var(--si-green); outline-offset: -2px; border-radius: var(--si-radius); }
.si-faq-icon {
	position: relative;
	flex: 0 0 34px;
	height: 34px;
	border-radius: 50%;
	border: 1.5px solid var(--si-green);
	transition: background .25s ease, transform .35s cubic-bezier(.22, .61, .36, 1);
}
.si-faq-icon::before,
.si-faq-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	margin: -1px 0 0 -6px;
	background: var(--si-green);
	border-radius: 2px;
	transition: transform .3s ease, background .25s ease;
}
.si-faq-icon::after { transform: rotate(90deg); }
.si-faq-item[open] .si-faq-icon { background: var(--si-green); transform: rotate(180deg); }
.si-faq-item[open] .si-faq-icon::before,
.si-faq-item[open] .si-faq-icon::after { background: #fff; }
.si-faq-item[open] .si-faq-icon::after { transform: rotate(0deg); }
.si-faq-a { padding: 0 28px 26px; }
.si-faq-a p {
	margin: 0;
	max-width: 900px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	color: var(--si-text);
}
.si-faq-a a { color: var(--si-green-d); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	.si-faq-block { margin: 48px auto 64px; padding: 0 16px; }
	.si-faq-item summary { padding: 18px 18px; font-size: 16px; gap: 14px; }
	.si-faq-a { padding: 0 18px 20px; }
	.si-faq-a p { font-size: 15px; }
	.si-faq-title::before, .si-faq-title::after { flex-basis: 20px; }
}

/* =========================================================== Blog-Artikel: Magazin-Layout (nur .single-post) */
.single-post .elementor-widget-theme-post-title .elementor-heading-title { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: normal; }
.single-post .elementor-widget-theme-post-content {
	--si-measure: 820px;
	font-family: "popp", "Poppins", sans-serif;
	color: var(--si-text);
	counter-reset: si-h2;
}
.single-post .elementor-widget-theme-post-content .elementor-widget-container > * {
	max-width: var(--si-measure);
	margin-left: auto;
	margin-right: auto;
}
/* Fließtext */
.single-post .elementor-widget-theme-post-content p,
.single-post .elementor-widget-theme-post-content li {
	font-size: 17px;
	line-height: 1.85;
	font-weight: 400;
	color: var(--si-text);
	letter-spacing: 0;
}
.single-post .elementor-widget-theme-post-content p { margin-top: 0; margin-bottom: 1.35em; }
.single-post .elementor-widget-theme-post-content p:empty { display: none; }
.single-post .elementor-widget-theme-post-content .elementor-widget-container > p:first-child {
	font-size: 20px;
	line-height: 1.75;
	font-weight: 500;
	color: #444;
	margin-bottom: 1.6em;
}
.single-post .elementor-widget-theme-post-content strong,
.single-post .elementor-widget-theme-post-content b { color: var(--si-ink); font-weight: 600; }
.single-post .elementor-widget-theme-post-content a { color: var(--si-green-d); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color .2s; }
.single-post .elementor-widget-theme-post-content a:hover { color: var(--si-ink); }

/* Überschriften im Stil der Website: Poppins Black, Versalien, grüne Nummer */
.single-post .elementor-widget-theme-post-content h2 {
	position: relative;
	counter-increment: si-h2;
	margin-top: 2.6em;
	margin-bottom: .9em;
	padding: 0 0 0 64px;
	min-height: 46px;
	display: flex;
	align-items: center;
	font-family: "popp", "Poppins", sans-serif;
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: -.005em;
	text-transform: uppercase;
	color: var(--si-ink);
	scroll-margin-top: 200px;
}
.single-post .elementor-widget-theme-post-content h2[data-si-n]::before { content: attr(data-si-n); }
.single-post .elementor-widget-theme-post-content h2::before {
	content: counter(si-h2, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: var(--si-green);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 46px;
	text-align: center;
}
.single-post .elementor-widget-theme-post-content h3 {
	margin-top: 1.9em;
	margin-bottom: .55em;
	font-family: "popp", "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--si-ink);
	text-transform: none;
}
.single-post .elementor-widget-theme-post-content h3::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 12px;
	border-radius: 3px;
	background: var(--si-green);
	vertical-align: .12em;
}
/* alte Beiträge: fette Absätze als Zwischenüberschrift */
.single-post .elementor-widget-theme-post-content p:has(> strong:only-child) { margin-top: 2em; margin-bottom: .6em; }
.single-post .elementor-widget-theme-post-content p > strong:only-child { font-size: 20px; font-weight: 800; color: var(--si-ink); }

/* Listen: Luft zwischen Punkten und zum folgenden Absatz */
.single-post .elementor-widget-theme-post-content ul,
.single-post .elementor-widget-theme-post-content ol { padding-left: 0; margin-top: .4em; margin-bottom: 1.9em; }
.single-post .elementor-widget-theme-post-content ul + p,
.single-post .elementor-widget-theme-post-content ol + p,
.single-post .elementor-widget-theme-post-content table + p,
.single-post .elementor-widget-theme-post-content .wp-block-table + p { margin-top: 1.4em; }
.single-post .elementor-widget-theme-post-content ul > li { list-style: none; position: relative; padding-left: 32px; margin-bottom: .8em; }
.single-post .elementor-widget-theme-post-content ul > li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .55em;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(153, 187, 17, .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f8a0a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 11px no-repeat;
}

/* Listen, deren Punkte mit Fettdruck beginnen → Karten-Raster */
.single-post .elementor-widget-theme-post-content .elementor-widget-container > ul:has(> li > strong:first-child) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 2.2em;
}
.single-post .elementor-widget-theme-post-content .elementor-widget-container > ul:has(> li > strong:first-child) > li {
	margin: 0;
	padding: 20px 22px 20px 56px;
	background: #fff;
	border: 1px solid var(--si-line);
	border-radius: var(--si-radius);
	font-size: 15.5px;
	line-height: 1.6;
}
.single-post .elementor-widget-theme-post-content .elementor-widget-container > ul:has(> li > strong:first-child) > li::before { left: 20px; top: 22px; width: 22px; height: 22px; background-size: 13px; }
.single-post .elementor-widget-theme-post-content .elementor-widget-container > ul:has(> li > strong:first-child) > li > strong:first-child { display: block; margin-bottom: 4px; font-size: 16px; font-weight: 700; color: var(--si-ink); }

/* Nummerierte Listen → Zeitleiste */
.single-post .elementor-widget-theme-post-content ol { counter-reset: si-ol; position: relative; }
.single-post .elementor-widget-theme-post-content ol > li { list-style: none; position: relative; padding: 0 0 22px 60px; margin: 0; counter-increment: si-ol; }
.single-post .elementor-widget-theme-post-content ol > li::before {
	content: counter(si-ol);
	position: absolute;
	left: 0;
	top: 0;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--si-green);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	line-height: 38px;
	text-align: center;
	box-shadow: 0 0 0 6px rgba(153, 187, 17, .15);
}
.single-post .elementor-widget-theme-post-content ol > li::after { content: ""; position: absolute; left: 18px; top: 44px; bottom: 4px; width: 2px; background: var(--si-line); }
.single-post .elementor-widget-theme-post-content ol > li:last-child { padding-bottom: 0; }
.single-post .elementor-widget-theme-post-content ol > li:last-child::after { display: none; }
.single-post .elementor-widget-theme-post-content ol > li > strong:first-child { display: block; font-size: 17px; color: var(--si-ink); margin-bottom: 2px; padding-top: 6px; }

/* Bilder */
.single-post .elementor-widget-theme-post-content figure { margin: 2.2em auto; }
.single-post .elementor-widget-theme-post-content figure img,
.single-post .elementor-widget-theme-post-content p > img { border-radius: 16px; }
.single-post .elementor-widget-theme-post-content figcaption { margin-top: .7em; font-size: 14px; color: var(--si-muted); text-align: center; }

/* Tabellen */
.single-post .elementor-widget-theme-post-content table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 1.6em auto 2.2em;
	font-size: 15px;
	background: #fff;
	border: 1px solid var(--si-line);
	border-radius: 16px;
	overflow: hidden;
}
.single-post .elementor-widget-theme-post-content .wp-block-table { overflow-x: auto; margin: 1.6em auto 2.2em; }
.single-post .elementor-widget-theme-post-content .wp-block-table table { margin: 0; }
.single-post .elementor-widget-theme-post-content th,
.single-post .elementor-widget-theme-post-content thead td {
	background: var(--si-ink);
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: left;
	padding: 16px 20px;
	border: 0;
}
.single-post .elementor-widget-theme-post-content td { padding: 15px 20px; border: 0; border-top: 1px solid var(--si-line); color: var(--si-text); line-height: 1.6; vertical-align: top; background: #fff; }
.single-post .elementor-widget-theme-post-content tbody tr:nth-child(even) td { background: #fafafa; }
.single-post .elementor-widget-theme-post-content tbody td:first-child { font-weight: 600; color: var(--si-ink); }

/* „Das Wichtigste in Kürze“ – helle Karte mit Icon-Kopf, ohne Seitenstrich */
.single-post .si-tldr {
	position: relative;
	margin: 0 auto 2.4em;
	padding: 28px 32px 14px;
	background: #fff;
	border: 1px solid var(--si-line);
	border-radius: 18px;
}
.single-post .si-tldr > :first-child,
.single-post .elementor-widget-theme-post-content .si-tldr > p:first-child,
.single-post .si-tldr h2,
.single-post .si-tldr h3 {
	display: flex !important;
	align-items: center;
	gap: 12px;
	min-height: 0 !important;
	margin: 0 0 18px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid var(--si-line);
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: .16em;
	line-height: 1.3 !important;
	text-transform: uppercase;
	color: var(--si-ink) !important;
	counter-increment: none;
}
.single-post .si-tldr > :first-child::before {
	content: "" !important;
	position: static !important;
	transform: none !important;
	flex: 0 0 34px;
	width: 34px !important;
	height: 34px !important;
	border-radius: 10px !important;
	background: rgba(153, 187, 17, .14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f8a0a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center / 18px no-repeat !important;
}
.single-post .si-tldr > :first-child > strong { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
.single-post .si-tldr ul { display: block !important; margin-bottom: .6em; }
.single-post .si-tldr ul > li { padding: 0 0 0 32px !important; background: none !important; border: 0 !important; margin-bottom: .7em !important; }
.single-post .si-tldr ul > li::before { left: 2px !important; top: .55em !important; width: 18px !important; height: 18px !important; background-size: 11px !important; }

/* Inhaltsverzeichnis (serverseitig): Karte nach „Das Wichtigste in Kürze“; ab 1400 px als Leiste links,
   die auf Höhe des Textes startet und mit Abstand zur Navigation mitläuft (position: sticky) */
.single-post .si-toc {
	margin: 0 auto 2.6em;
	padding: 22px 22px 14px;
	background: #fff;
	border: 1px solid var(--si-line);
	border-radius: 18px;
}
.single-post .elementor-widget-theme-post-content .si-toc .si-toc-title {
	margin: 0 0 10px !important;
	padding: 0 8px;
	font-size: 11.5px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--si-green-d) !important;
}
.single-post .si-toc ol { margin: 0 !important; padding: 0; columns: 2; column-gap: 26px; }
.single-post .si-toc ol > li { break-inside: avoid; padding: 0 0 2px 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }
.single-post .si-toc ol > li::before,
.single-post .si-toc ol > li::after { display: none !important; content: none !important; }
.single-post .elementor-widget-theme-post-content .si-toc a {
	display: flex;
	gap: 10px;
	padding: 6px 8px;
	border-radius: 9px;
	color: var(--si-text) !important;
	font-size: 13.5px;
	font-weight: 500 !important;
	line-height: 1.4;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
.single-post .si-toc .si-toc-n { flex: 0 0 auto; min-width: 20px; font-weight: 800 !important; font-size: 11.5px; line-height: 1.75; color: var(--si-green-d) !important; }
.single-post .si-toc a:hover { background: var(--si-paper); color: var(--si-ink) !important; }
.single-post .si-toc a.is-active { background: rgba(153, 187, 17, .12); color: var(--si-ink) !important; font-weight: 600 !important; }
.single-post .si-toc-rail { display: none; }
@media (min-width: 1400px) {
	.single-post .elementor-widget-theme-post-content .si-toc-rail {
		display: block;
		position: absolute;
		top: 80px; /* = Innenabstand oben des Inhaltsbereichs → Start auf Höhe des ersten Absatzes */
		bottom: 0;
		right: calc(50% + var(--si-measure) / 2 + 48px);
		width: 236px;
		max-width: none;
		margin: 0;
		pointer-events: none;
	}
	.single-post .si-toc--side {
		position: sticky;
		top: calc(180px + var(--wp-admin--admin-bar--height, 0px));
		margin: 0;
		padding: 18px 12px 10px;
		max-height: calc(100vh - 210px - var(--wp-admin--admin-bar--height, 0px));
		overflow: auto;
		pointer-events: auto;
		scrollbar-width: thin;
	}
	.single-post .si-toc--side ol { columns: 1; }
	.single-post .si-toc--side .si-toc-t {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}
	.single-post .si-toc--inline { display: none; }
}
/* im Text stehende Nummer („1. …“) nur optisch ausblenden – das Badge zeigt die Nummer */
.single-post .si-hnum { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Merksatz / Zitat: hell mit grünem Icon */
.single-post .elementor-widget-theme-post-content blockquote,
.single-post .si-callout {
	position: relative;
	margin: 2.4em auto;
	padding: 28px 32px 28px 92px;
	background: #f3f7e4;
	border: 1px solid rgba(153, 187, 17, .35);
	border-radius: 18px;
	color: var(--si-ink);
}
.single-post .elementor-widget-theme-post-content blockquote::before,
.single-post .si-callout::before {
	content: "";
	position: absolute;
	left: 30px;
	top: 28px;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--si-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2.1h5c0-.9.4-1.6 1-2.1A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") center / 22px no-repeat;
}
.single-post .elementor-widget-theme-post-content blockquote p,
.single-post .si-callout p { color: var(--si-ink) !important; font-size: 18px !important; font-weight: 500 !important; line-height: 1.65 !important; margin: 0 !important; }
.single-post .elementor-widget-theme-post-content blockquote strong,
.single-post .si-callout strong { color: var(--si-ink); font-weight: 700; }

/* FAQ im Artikel: Karten mit Hover, weiches Auf-/Zuklappen per Script */
.single-post .si-faq { margin: 3.2em auto 2em; }
.single-post .si-faq > h2 { margin-top: 0; }
.single-post .si-faq details {
	background: #fff;
	border: 1px solid var(--si-line);
	border-radius: 14px;
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color .25s ease, box-shadow .3s ease, transform .3s ease;
}
.single-post .si-faq details:hover { border-color: rgba(153, 187, 17, .55); box-shadow: 0 10px 28px -16px rgba(51, 51, 51, .35); transform: translateY(-2px); }
.single-post .si-faq details[open] { border-color: rgba(153, 187, 17, .7); box-shadow: 0 14px 34px -20px rgba(51, 51, 51, .35); transform: none; }
.single-post .si-faq summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 22px 72px 22px 26px;
	font-size: 17px;
	font-weight: 600;
	color: var(--si-ink);
	line-height: 1.45;
	transition: color .2s ease;
}
.single-post .si-faq summary:hover { color: var(--si-green-d); }
.single-post .si-faq summary::-webkit-details-marker { display: none; }
.single-post .si-faq summary::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	border-radius: 50%;
	background: var(--si-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f8a0a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform .35s cubic-bezier(.22, .61, .36, 1), background-color .25s ease;
}
.single-post .si-faq details:hover summary::after { background-color: rgba(153, 187, 17, .18); }
.single-post .si-faq details[open] summary::after {
	transform: rotate(135deg);
	background: var(--si-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.single-post .si-faq details > :not(summary) { padding: 0 26px; }
.single-post .si-faq details > :last-child { padding-bottom: 22px; }
.single-post .si-faq details p { font-size: 16px; }

/* Abschluss-Kasten: Grün wie der „Jetzt kontaktieren“-Block der Website */
.single-post .si-cta {
	position: relative;
	margin: 3.4em auto 1.4em;
	padding: 48px 44px 46px;
	border-radius: 22px;
	background: var(--si-green);
	color: #fff;
	text-align: center;
	overflow: hidden;
}
.single-post .si-cta::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	border: 34px solid rgba(255, 255, 255, .12);
	pointer-events: none;
}
.single-post .si-cta > * { position: relative; z-index: 1; }
.single-post .elementor-widget-theme-post-content .si-cta > p:first-child,
.single-post .si-cta h2,
.single-post .si-cta h3 {
	display: block;
	margin: 0 auto 14px !important;
	padding: 0 !important;
	min-height: 0 !important;
	max-width: 640px;
	font-size: clamp(22px, 2.6vw, 32px) !important;
	font-weight: 900 !important;
	line-height: 1.12 !important;
	letter-spacing: -.005em;
	text-transform: uppercase;
	color: #fff !important;
	counter-increment: none;
}
.single-post .si-cta > p:first-child strong { color: #fff !important; font-weight: 900 !important; }
.single-post .si-cta h2::before, .single-post .si-cta h3::before { display: none; }
.single-post .elementor-widget-theme-post-content .si-cta p { color: #fff !important; max-width: 600px; margin-left: auto; margin-right: auto; font-weight: 500; }
.single-post .si-cta p:last-child { margin-bottom: 0; margin-top: 22px; }
.single-post .elementor-widget-theme-post-content .si-cta a {
	display: inline-block;
	margin: 6px 6px 0;
	padding: 15px 28px;
	border-radius: 8px;
	border: 2px solid #fff;
	background: #fff;
	color: var(--si-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.single-post .elementor-widget-theme-post-content .si-cta a + a { background: transparent; color: #fff !important; }
.single-post .elementor-widget-theme-post-content .si-cta a:hover { transform: translateY(-2px); background: var(--si-ink); border-color: var(--si-ink); color: #fff !important; }

/* Lesefortschritt */
.si-progress { position: fixed; left: 0; top: 0; z-index: 100000; height: 4px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: var(--si-green); pointer-events: none; }
.admin-bar .si-progress { top: 32px; }

@media (max-width: 900px) {
	.single-post .elementor-widget-theme-post-content .elementor-widget-container > ul:has(> li > strong:first-child) { grid-template-columns: 1fr; }
	.single-post .si-toc ol { columns: 1; }
}
@media (max-width: 767px) {
	.single-post .elementor-widget-theme-post-content p,
	.single-post .elementor-widget-theme-post-content li { font-size: 16px; }
	.single-post .elementor-widget-theme-post-content .elementor-widget-container > p:first-child { font-size: 18px; }
	.single-post .elementor-widget-theme-post-content h2 { padding-left: 54px; }
	.single-post .elementor-widget-theme-post-content h2::before { width: 40px; height: 40px; line-height: 40px; font-size: 14px; }
	.single-post .si-tldr, .single-post .si-toc { padding: 22px 18px 10px; }
	.single-post .elementor-widget-theme-post-content blockquote, .single-post .si-callout { padding: 82px 22px 24px; }
	.single-post .elementor-widget-theme-post-content blockquote::before, .single-post .si-callout::before { left: 22px; top: 24px; }
	.single-post .si-cta { padding: 36px 22px; }
	.admin-bar .si-progress { top: 46px; }
}
