/*
Theme Name: DesignByTilu
Theme URI: https://designbytilu.de
Description: Child-Theme von Blocksy fuer den DesignByTilu Shop. Digitale 3D-Druck-Dateien, mobile first.
Author: Lucas Dechant
Template: blocksy
Version: 2.9.0
Text Domain: designbytilu
*/

/* =========================================================================
   1. Design-Tokens

   Ruhig und sachlich: Schwarz, Weiss, drei Grautoene, eine Akzentfarbe.
   Keine Verlaeufe, keine Schatten als Deko. Flaechen werden ueber Linien
   und Weissraum getrennt.
   ========================================================================= */

:root {
	--dbt-ink: #111113;
	--dbt-ink-soft: #52525b;
	--dbt-ink-mute: #80808c;

	--dbt-line: #e4e4e8;
	--dbt-line-strong: #c9c9d1;

	--dbt-surface: #ffffff;
	--dbt-surface-soft: #f7f7f9;

	--dbt-accent: #2d4cf0;
	--dbt-accent-dark: #1f39c4;

	--dbt-good: #15704c;

	--dbt-r-sm: 6px;
	--dbt-r-md: 10px;

	--dbt-gutter: 20px;
	--dbt-block: 56px;

	--dbt-touch: 48px;
}

@media (min-width: 768px) {
	:root {
		--dbt-gutter: 32px;
		--dbt-block: 80px;
	}
}

/* =========================================================================
   2. Basis
   ========================================================================= */

body {
	color: var(--dbt-ink);
	background: var(--dbt-surface);
	-webkit-font-smoothing: antialiased;
}

html,
body {
	overflow-x: clip;
}

h1, h2, h3, h4,
.dbt-h1, .dbt-h2, .dbt-h3 {
	color: var(--dbt-ink);
	letter-spacing: -.021em;
	line-height: 1.16;
	text-wrap: balance;
}

.dbt-h1 { font-size: clamp(2rem, 6vw, 3.1rem); font-weight: 700; margin: 0 0 1rem; }
.dbt-h2 { font-size: clamp(1.45rem, 4vw, 2.1rem); font-weight: 700; margin: 0 0 .75rem; }
.dbt-h3 { font-size: clamp(1.1rem, 3vw, 1.35rem); font-weight: 650; margin: 0 0 .5rem; }

p, li {
	line-height: 1.6;
	text-wrap: pretty;
}

.dbt-lead {
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	color: var(--dbt-ink-soft);
	max-width: 60ch;
	margin: 0;
}

.dbt-mute {
	color: var(--dbt-ink-mute);
	font-size: .8125rem;
}

/* Kleine Grossbuchstaben-Marke ueber Ueberschriften, ersetzt die Pille. */
.dbt-label {
	display: block;
	margin: 0 0 .75rem;
	font-size: .75rem;
	font-weight: 650;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--dbt-ink-mute);
}

/* Blocksy-Palette auf unsere Toene ziehen, sonst bleibt alles blau. */
:root {
	--theme-palette-color-1: #111113;
	--theme-palette-color-2: #2d4cf0;
	--theme-palette-color-3: #111113;
	--theme-palette-color-4: #52525b;
	--theme-palette-color-5: #e4e4e8;
	--theme-palette-color-6: #f7f7f9;
	--theme-palette-color-7: #ffffff;
	--theme-link-initial-color: #111113;
	--theme-link-hover-color: #2d4cf0;
}

/* Akzentfarbe nur im Fliesstext, nicht bei Titeln und Navigation. */
.dbt-wrap p a,
.dbt-faq a,
.dbt-hinweis a,
.dbt-lizenz-hinweis a,
.dbt-reihe__link,
.entry-content p a,
.woocommerce-privacy-policy-text a,
.woocommerce form label a {
	color: var(--dbt-accent);
}

/* Produkttitel und Logo bleiben schwarz. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product a,
.site-title a,
.site-title {
	color: var(--dbt-ink);
}

/* Kategorie-Zeile auf der Produktkarte ist Rauschen. */
.woocommerce ul.products li.product .ct-product-categories,
.woocommerce ul.products li.product .posted_in {
	display: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--dbt-accent);
	outline-offset: 2px;
}

/* =========================================================================
   3. Layout
   ========================================================================= */

.dbt-section {
	padding-block: var(--dbt-block);
	border-top: 1px solid var(--dbt-line);
}

.dbt-section--soft {
	background: var(--dbt-surface-soft);
}

.dbt-wrap {
	width: 100%;
	max-width: 1160px;
	margin-inline: auto;
	padding-inline: var(--dbt-gutter);
}

.dbt-kopf {
	max-width: 60ch;
	margin-bottom: 2.25rem;
}

.dbt-kopf--zentriert {
	margin-inline: auto;
	text-align: center;
}

.dbt-stack > * + * {
	margin-top: 1rem;
}

/* Kopfzeile mit Titel links und Link rechts, typisch Shop. */
.dbt-reihe {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.5rem;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 1.75rem;
}

.dbt-reihe__text {
	max-width: 58ch;
}

.dbt-reihe .dbt-h2 {
	margin: 0 0 .4rem;
}

.dbt-reihe__link {
	font-size: .9375rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.dbt-reihe__link:hover {
	text-decoration: underline;
}

/* =========================================================================
   4. Buttons
   ========================================================================= */

.dbt-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: var(--dbt-touch);
	padding: .75rem 1.5rem;
	border: 1px solid transparent;
	border-radius: var(--dbt-r-sm);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .14s ease, border-color .14s ease, color .14s ease;
}

.dbt-btn--primary,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit {
	background: var(--dbt-ink);
	border-color: var(--dbt-ink);
	color: #fff;
}

.dbt-btn--primary:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}

.dbt-btn--ghost {
	background: transparent;
	color: var(--dbt-ink);
	border-color: var(--dbt-line-strong);
}

.dbt-btn--ghost:hover {
	border-color: var(--dbt-ink);
	color: var(--dbt-ink);
}

.dbt-btn--block {
	width: 100%;
}

.dbt-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.75rem;
}

@media (max-width: 480px) {
	.dbt-btn-row > .dbt-btn {
		flex: 1 1 100%;
	}
}

/* =========================================================================
   5. Hero
   ========================================================================= */

.dbt-hero {
	padding-block: clamp(2.5rem, 7vw, 4.5rem);
	border-bottom: 1px solid var(--dbt-line);
}

.dbt-hero__grid {
	display: grid;
	gap: 2rem;
	align-items: center;
}

@media (min-width: 940px) {
	.dbt-hero__grid {
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
	}
}

.dbt-hero__media {
	aspect-ratio: 4 / 3;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	background: var(--dbt-surface-soft);
	overflow: hidden;
}

.dbt-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Sachliche Fakten statt Haken-Marketing. */
.dbt-fakten {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem 1.5rem;
	margin: 2rem 0 0;
	padding: 1.5rem 0 0;
	border-top: 1px solid var(--dbt-line);
	list-style: none;
}

@media (min-width: 620px) {
	.dbt-fakten {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.dbt-fakten strong {
	display: block;
	font-size: 1.0625rem;
	font-weight: 650;
	margin-bottom: .15rem;
}

.dbt-fakten span {
	font-size: .8125rem;
	color: var(--dbt-ink-mute);
	line-height: 1.45;
}

/* =========================================================================
   6. Karten
   ========================================================================= */

.dbt-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: 1fr;
	background: var(--dbt-line);
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	overflow: hidden;
}

@media (min-width: 620px) {
	.dbt-grid--2,
	.dbt-grid--3,
	.dbt-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 940px) {
	.dbt-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.dbt-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.dbt-card {
	padding: 1.75rem;
	background: var(--dbt-surface);
}

.dbt-card__icon {
	display: block;
	width: 22px;
	height: 22px;
	margin-bottom: 1rem;
	color: var(--dbt-ink);
}

.dbt-card__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.dbt-card h3 {
	margin: 0 0 .4rem;
	font-size: 1rem;
	font-weight: 650;
}

.dbt-card p {
	margin: 0;
	font-size: .9375rem;
	color: var(--dbt-ink-soft);
}

/* =========================================================================
   7. Schritte
   ========================================================================= */

.dbt-steps {
	counter-reset: dbt-step;
	display: grid;
	gap: 1px;
	padding: 0;
	margin: 0;
	list-style: none;
	background: var(--dbt-line);
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	overflow: hidden;
}

@media (min-width: 940px) {
	.dbt-steps {
		grid-template-columns: repeat(3, 1fr);
	}
}

.dbt-steps li {
	counter-increment: dbt-step;
	padding: 1.75rem;
	background: var(--dbt-surface);
}

.dbt-steps li::before {
	content: counter( dbt-step, decimal-leading-zero );
	display: block;
	margin-bottom: .85rem;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--dbt-ink-mute);
}

.dbt-steps strong {
	display: block;
	margin-bottom: .3rem;
	font-size: 1rem;
	font-weight: 650;
}

.dbt-steps p {
	margin: 0;
	font-size: .9375rem;
	color: var(--dbt-ink-soft);
}

/* =========================================================================
   8. Lizenzvergleich
   ========================================================================= */

.dbt-vergleich {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: .9375rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	overflow: hidden;
}

.dbt-vergleich th,
.dbt-vergleich td {
	padding: .85rem 1rem;
	text-align: left;
	border-bottom: 1px solid var(--dbt-line);
	vertical-align: top;
}

.dbt-vergleich thead th {
	font-size: .75rem;
	font-weight: 650;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--dbt-ink-mute);
	background: var(--dbt-surface-soft);
	white-space: nowrap;
}

.dbt-vergleich tbody tr:last-child td {
	border-bottom: 0;
}

.dbt-vergleich td[data-wert] {
	font-weight: 600;
	white-space: nowrap;
}

.dbt-vergleich td[data-wert="ja"] { color: var(--dbt-good); }
.dbt-vergleich td[data-wert="nein"] { color: var(--dbt-ink-mute); }

@media (max-width: 719px) {
	.dbt-vergleich thead {
		display: none;
	}

	.dbt-vergleich,
	.dbt-vergleich tbody,
	.dbt-vergleich tr,
	.dbt-vergleich td {
		display: block;
		width: 100%;
	}

	.dbt-vergleich {
		border: 0;
	}

	.dbt-vergleich tr {
		margin-bottom: -1px;
		border: 1px solid var(--dbt-line);
	}

	.dbt-vergleich td {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 1rem;
		padding: .7rem 1rem;
	}

	.dbt-vergleich td::before {
		content: attr(data-label);
		font-weight: 500;
		color: var(--dbt-ink-soft);
	}

	.dbt-vergleich td:first-child {
		grid-template-columns: 1fr;
		background: var(--dbt-surface-soft);
		font-weight: 650;
	}

	.dbt-vergleich td:first-child::before {
		content: none;
	}
}

.dbt-lizenzvergleich .dbt-mute {
	margin-top: 1rem;
}

/* =========================================================================
   9. Mitglieder-Abschnitt, sachlich statt bunt
   ========================================================================= */

.dbt-mitglied {
	display: grid;
	gap: 2rem;
	padding: 2rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	background: var(--dbt-surface);
}

@media (min-width: 940px) {
	.dbt-mitglied {
		grid-template-columns: 1fr 1fr;
		gap: 3rem;
		padding: 2.75rem;
		align-items: start;
	}
}

.dbt-mitglied h2 {
	margin: 0 0 .75rem;
}

.dbt-mitglied__liste {
	display: grid;
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dbt-mitglied__liste li {
	display: grid;
	grid-template-columns: 16px 1fr;
	gap: .75rem;
	align-items: start;
	font-size: .9375rem;
	color: var(--dbt-ink-soft);
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--dbt-line);
}

.dbt-mitglied__liste li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.dbt-mitglied__liste li::before {
	content: "";
	width: 16px;
	height: 16px;
	margin-top: .2rem;
	background: var(--dbt-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Hinweiszeile, zum Beispiel der Mitglieder-Rabatt auf der Produktseite. */
.dbt-hinweis {
	display: block;
	margin: 0 0 1rem;
	padding: .8rem 1rem;
	border: 1px solid var(--dbt-line);
	border-left: 3px solid var(--dbt-ink);
	border-radius: 0 var(--dbt-r-sm) var(--dbt-r-sm) 0;
	background: var(--dbt-surface-soft);
	font-size: .875rem;
	line-height: 1.5;
	color: var(--dbt-ink-soft);
}

.dbt-hinweis strong {
	color: var(--dbt-ink);
}

.dbt-hinweis a {
	font-weight: 600;
}

/* =========================================================================
   10. Produktseite
   ========================================================================= */

.woocommerce div.product .product_title {
	font-size: clamp(1.5rem, 4.5vw, 2rem);
	font-weight: 700;
	letter-spacing: -.02em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: clamp(1.25rem, 3.5vw, 1.5rem);
	font-weight: 700;
	color: var(--dbt-ink);
}

.woocommerce div.product form.cart .variations {
	display: block;
	width: 100%;
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
	background: none;
}

.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
}

.woocommerce div.product form.cart .variations label {
	display: block;
	margin-bottom: .45rem;
	font-size: .75rem;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--dbt-ink-mute);
}

.woocommerce div.product form.cart .variations select,
.dbt-select {
	width: 100%;
	min-height: var(--dbt-touch);
	padding: .7rem 2.75rem .7rem 1rem;
	border: 1px solid var(--dbt-line-strong);
	border-radius: var(--dbt-r-sm);
	background: var(--dbt-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111113' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 1rem center / 16px no-repeat;
	font-size: 1rem;
	font-weight: 500;
	color: var(--dbt-ink);
	appearance: none;
}

.woocommerce div.product form.cart .variations select:focus {
	border-color: var(--dbt-ink);
}

.woocommerce div.product form.cart .reset_variations {
	display: inline-block;
	margin-top: .5rem;
	font-size: .8125rem;
	color: var(--dbt-ink-mute);
}

.woocommerce div.product .single_variation_wrap .woocommerce-variation-price {
	margin-bottom: 1rem;
}

.dbt-lizenz-hinweis {
	margin: 0 0 1.25rem;
	padding: .9rem 1rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-sm);
	background: var(--dbt-surface-soft);
	font-size: .875rem;
	line-height: 1.55;
	color: var(--dbt-ink-soft);
}

.dbt-lizenz-hinweis strong {
	display: block;
	margin-bottom: .15rem;
	font-size: .75rem;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--dbt-ink-mute);
}

.dbt-umfang {
	margin: 1.5rem 0 0;
	padding: 1.25rem 0 0;
	border-top: 1px solid var(--dbt-line);
}

.dbt-umfang h3 {
	margin: 0 0 .7rem;
	font-size: .75rem;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--dbt-ink-mute);
}

.dbt-umfang ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: .4rem;
	font-size: .9375rem;
	color: var(--dbt-ink-soft);
}

.dbt-umfang li {
	display: grid;
	grid-template-columns: 14px 1fr;
	gap: .6rem;
	align-items: start;
}

.dbt-umfang li::before {
	content: "";
	width: 14px;
	height: 14px;
	margin-top: .3rem;
	background: var(--dbt-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
	width: 100%;
	background: var(--dbt-ink);
	border-color: var(--dbt-ink);
	color: #fff;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: #000;
	color: #fff;
}

@media (min-width: 720px) {
	.woocommerce div.product form.cart .single_add_to_cart_button {
		width: auto;
		min-width: 300px;
	}
}

/* =========================================================================
   11. Produktraster
   ========================================================================= */

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: .9375rem;
	font-weight: 600;
	letter-spacing: -.005em;
}

.woocommerce ul.products li.product .price {
	font-weight: 650;
	color: var(--dbt-ink);
}

.woocommerce ul.products li.product img {
	border-radius: var(--dbt-r-sm);
	border: 1px solid var(--dbt-line);
}

.woocommerce ul.products li.product {
	position: relative;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	min-height: 44px;
	border-radius: var(--dbt-r-sm);
	background: transparent;
	border: 1px solid var(--dbt-line-strong);
	color: var(--dbt-ink);
	font-weight: 600;
}

.woocommerce ul.products li.product .button:hover {
	background: var(--dbt-ink);
	border-color: var(--dbt-ink);
	color: #fff;
}

.dbt-badge-gratis {
	position: absolute;
	top: .6rem;
	left: .6rem;
	z-index: 2;
	padding: .2rem .55rem;
	border-radius: var(--dbt-r-sm);
	background: var(--dbt-ink);
	color: #fff;
	font-size: .6875rem;
	font-weight: 650;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.dbt-preis-gratis {
	font-weight: 700;
	color: var(--dbt-ink);
}

/* =========================================================================
   12. Sticky Add-to-Cart
   ========================================================================= */

.dbt-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 120;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: .7rem var(--dbt-gutter);
	padding-bottom: calc(.7rem + env(safe-area-inset-bottom, 0px));
	background: var(--dbt-surface);
	border-top: 1px solid var(--dbt-line);
	transform: translateY(110%);
	transition: transform .18s ease;
}

.dbt-sticky.ist-sichtbar {
	transform: translateY(0);
}

.dbt-sticky__info {
	flex: 1 1 auto;
	min-width: 0;
}

.dbt-sticky__titel {
	display: block;
	font-size: .75rem;
	color: var(--dbt-ink-mute);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dbt-sticky__preis {
	display: block;
	font-size: .9375rem;
	font-weight: 700;
}

.dbt-sticky__preis small {
	display: none;
}

.dbt-sticky .dbt-btn {
	flex: 0 0 auto;
	min-height: 44px;
	padding-inline: 1.25rem;
}

@media (min-width: 900px) {
	.dbt-sticky {
		display: none;
	}
}

body.dbt-hat-sticky {
	padding-bottom: 72px;
}

@media (min-width: 900px) {
	body.dbt-hat-sticky {
		padding-bottom: 0;
	}
}

/* =========================================================================
   13. Formulare, Konto, Checkout
   ========================================================================= */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.select2-container--default .select2-selection--single {
	min-height: var(--dbt-touch);
	padding: .7rem 1rem;
	border: 1px solid var(--dbt-line-strong);
	border-radius: var(--dbt-r-sm);
	background: var(--dbt-surface);
	font-size: 1rem;
	color: var(--dbt-ink);
	box-shadow: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--dbt-ink);
	outline: none;
}

.woocommerce form .form-row label {
	font-size: .875rem;
	font-weight: 600;
	margin-bottom: .35rem;
}

.woocommerce form .form-row .required {
	color: var(--dbt-ink-mute);
	text-decoration: none;
}

#customer_details h3,
#order_review_heading {
	font-size: 1.0625rem;
	font-weight: 650;
	letter-spacing: -.01em;
	margin-bottom: 1rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--dbt-line);
}

.woocommerce-checkout #order_review {
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	padding: 1.5rem;
	background: var(--dbt-surface-soft);
}

.woocommerce-checkout #order_review_heading {
	margin-top: 2.5rem;
}

@media (min-width: 940px) {
	.woocommerce-checkout #order_review_heading {
		margin-top: 0;
	}
}

.woocommerce-checkout table.shop_table {
	border: 0;
	background: none;
	margin: 0 0 1.25rem;
	font-size: .9375rem;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: .65rem 0;
	border-top: 0;
	border-bottom: 1px solid var(--dbt-line);
	background: none;
}

.woocommerce-checkout table.shop_table tfoot tr:last-child th,
.woocommerce-checkout table.shop_table tfoot tr:last-child td {
	border-bottom: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	padding-top: .9rem;
}

/* Zustimmungsfelder: Text fliesst normal, der Haken sitzt links daneben. */
.woocommerce-privacy-policy-text {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
	background: none;
	font-size: .8125rem;
	line-height: 1.55;
	color: var(--dbt-ink-mute);
}

.woocommerce-privacy-policy-text p {
	margin: 0;
}

.woocommerce form .form-row.dbt-widerruf,
.woocommerce form .woocommerce-terms-and-conditions-wrapper .form-row {
	margin: 0 0 .75rem;
	padding: .9rem 1rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-sm);
	background: var(--dbt-surface);
}

.woocommerce form .form-row.dbt-widerruf label,
.woocommerce form .woocommerce-terms-and-conditions-wrapper label {
	display: block;
	position: relative;
	margin: 0;
	padding-left: 2.1rem;
	font-size: .875rem;
	font-weight: 400;
	line-height: 1.55;
	color: var(--dbt-ink-soft);
	cursor: pointer;
}

.woocommerce form .form-row.dbt-widerruf label a,
.woocommerce form .woocommerce-terms-and-conditions-wrapper label a {
	font-weight: 600;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
}

.woocommerce form .form-row.dbt-widerruf input[type="checkbox"],
.woocommerce form .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: .1rem;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--dbt-ink);
}

/* Der Pflichtstern in einer eigenen Zeile sieht nach Fehler aus. */
.woocommerce form .form-row.dbt-widerruf .required,
.woocommerce form .woocommerce-terms-and-conditions-wrapper .required {
	display: none;
}

.woocommerce #payment ul.payment_methods {
	border-bottom: 1px solid var(--dbt-line);
	padding: 0 0 1rem;
}

.woocommerce #payment div.form-row.place-order {
	padding: 1.25rem 0 0;
}

.woocommerce #payment #place_order {
	width: 100%;
	min-height: 52px;
	font-size: 1rem;
}

/* Konto-Menue. Unter 690px eine Zeile mit Unterstrich, darueber eine ruhige
   Seitenleiste. Kein Vollflaechen-Highlight, keine Icons. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.5rem;
	margin: 0 0 1.75rem;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--dbt-line);
	font-size: .9375rem;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: inline-flex;
	align-items: center;
	height: auto;
	min-height: 46px;
	padding: .4rem 0;
	margin-bottom: -1px;
	border-bottom: 2px solid transparent;
	background: none;
	font-weight: 600;
	color: var(--dbt-ink-mute);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
	display: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover a {
	background: none;
	color: var(--dbt-ink);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: none;
	color: var(--dbt-ink);
	border-bottom-color: var(--dbt-ink);
}

@media (min-width: 690px) {
	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0;
		margin-bottom: 0;
		border-bottom: 0;
		border-left: 1px solid var(--dbt-line);
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		display: flex;
		min-height: 44px;
		padding: .5rem 1rem;
		margin: 0 0 0 -1px;
		border-bottom: 0;
		border-left: 2px solid transparent;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		border-bottom: 0;
		border-left-color: var(--dbt-ink);
	}
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce-form-login,
.woocommerce-form-register {
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	padding: 1.75rem;
}

.woocommerce table.shop_table {
	border-color: var(--dbt-line);
	border-radius: var(--dbt-r-md);
}

@media (max-width: 719px) {
	.woocommerce table.my_account_orders thead,
	.woocommerce table.woocommerce-table--order-downloads thead {
		display: none;
	}

	.woocommerce table.my_account_orders tr,
	.woocommerce table.woocommerce-table--order-downloads tr {
		display: block;
		margin-bottom: .75rem;
		border: 1px solid var(--dbt-line);
		border-radius: var(--dbt-r-sm);
		padding: .5rem;
	}

	.woocommerce table.my_account_orders td,
	.woocommerce table.woocommerce-table--order-downloads td {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		border: 0;
		padding: .4rem .5rem;
	}

	.woocommerce table.my_account_orders td::before,
	.woocommerce table.woocommerce-table--order-downloads td::before {
		content: attr(data-title);
		font-weight: 600;
	}
}

/* =========================================================================
   14. 3D-Viewer
   ========================================================================= */

.dbt-viewer {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: var(--dbt-r-md);
	background: var(--dbt-surface-soft);
	border: 1px solid var(--dbt-line);
	overflow: hidden;
}

.dbt-viewer model-viewer {
	width: 100%;
	height: 100%;
	--poster-color: transparent;
}

/* =========================================================================
   15. FAQ
   ========================================================================= */

.dbt-faq {
	max-width: 780px;
	border-top: 1px solid var(--dbt-line);
}

.dbt-faq details {
	border-bottom: 1px solid var(--dbt-line);
}

.dbt-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	min-height: var(--dbt-touch);
	padding: 1.1rem 0;
	font-size: .9375rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.dbt-faq summary::-webkit-details-marker {
	display: none;
}

.dbt-faq summary::after {
	content: "";
	flex: 0 0 16px;
	height: 16px;
	background: var(--dbt-ink-mute);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .15s ease;
}

.dbt-faq details[open] summary::after {
	transform: rotate(180deg);
}

.dbt-faq details > div {
	padding: 0 0 1.25rem;
	max-width: 70ch;
	font-size: .9375rem;
	color: var(--dbt-ink-soft);
}

/* =========================================================================
   16. Kopf- und Fussbereich
   ========================================================================= */

/* Seiten mit eigenem Hero brauchen den Theme-Seitentitel nicht. */
body.dbt-eigener-hero .hero-section,
body.dbt-eigener-hero .entry-header .page-title {
	display: none;
}

/* Rechtliches im Footer bleibt klein und ruhig. */
.dbt-rechtsmenue ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dbt-rechtsmenue a {
	font-size: .8125rem;
	color: var(--dbt-ink-mute);
	text-decoration: none;
}

.dbt-rechtsmenue a:hover {
	color: var(--dbt-ink);
	text-decoration: underline;
}

/* =========================================================================
   17. Bewegung sparsam
   ========================================================================= */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}

/* Fusszeile */
.ct-footer-copyright .dbt-rechtsmenue {
	margin-bottom: .75rem;
}

.dbt-fusszeile {
	margin: 0;
	font-size: .8125rem;
	color: var(--dbt-ink-mute);
}

/* Kategorie-Zeile auf der Produktkarte ist Rauschen. */
.woocommerce ul.products li.product .meta-categories {
	display: none;
}

/* =========================================================================
   18. Preisdarstellung
   ========================================================================= */

/* Streichpreis links, neuer Preis daneben. Mehr Erklaerung braucht es nicht. */
.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce ul.products li.product .price del,
.woocommerce-variation-price del,
.dbt-sticky__preis del {
	margin-right: .45rem;
	color: var(--dbt-ink-mute);
	font-weight: 500;
	text-decoration: line-through;
	opacity: 1;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce ul.products li.product .price ins,
.woocommerce-variation-price ins,
.dbt-sticky__preis ins {
	background: none;
	text-decoration: none;
	font-weight: 700;
	color: var(--dbt-ink);
}

/* Kleine Zeile unter dem Preis. */
.dbt-preis-zusatz {
	display: block;
	margin: .25rem 0 0;
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--dbt-ink-mute);
}

.woocommerce div.product .dbt-preis-zusatz {
	margin-bottom: 1.25rem;
}

/* In der Sticky-Leiste bleibt nur der aktuelle Preis. */
.dbt-sticky__preis del,
.dbt-sticky__preis .dbt-preis-zusatz {
	display: none;
}

/* Bei Produkten mit Lizenzauswahl steht der Preis schon an der Variante. */
.woocommerce div.product.product-type-variable > .summary > .price,
.woocommerce div.product.product-type-variable .entry-summary > .price {
	display: none;
}

/* Beschreibung der gewaehlten Variante. */
.woocommerce-variation-description {
	margin-bottom: 1rem;
	padding: .9rem 1rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-sm);
	background: var(--dbt-surface-soft);
	font-size: .875rem;
	line-height: 1.55;
	color: var(--dbt-ink-soft);
}

.woocommerce-variation-description p:last-child {
	margin-bottom: 0;
}

.woocommerce-variation-price {
	font-size: 1.5rem;
	font-weight: 700;
}

/* =========================================================================
   19. Vergleichsmarker und Datei-Label
   ========================================================================= */

/* Gruener Kreis fuer erlaubt, roter fuer nicht erlaubt. */
.dbt-marker {
	display: inline-block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	vertical-align: middle;
}

.dbt-marker--ja {
	background: #15704c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 13px no-repeat;
}

.dbt-marker--nein {
	background: #b4342a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round'%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* In den Wertespalten sitzt der Kreis mittig. */
.dbt-vergleich td[data-wert] {
	text-align: center;
}

.dbt-vergleich thead th:not(:first-child) {
	text-align: center;
}

@media (max-width: 719px) {
	.dbt-vergleich td[data-wert] {
		text-align: left;
	}
}

/* Hinweis, dass hier eine Datei verkauft wird. */
.dbt-dateilabel {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .5rem;
	font-size: .75rem;
	font-weight: 650;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--dbt-ink-mute);
}

.dbt-dateilabel__icon {
	display: block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.dbt-dateilabel__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.dbt-badge-datei {
	position: absolute;
	top: .6rem;
	right: .6rem;
	z-index: 2;
	padding: .2rem .55rem;
	border-radius: var(--dbt-r-sm);
	background: rgba(255, 255, 255, .92);
	border: 1px solid var(--dbt-line);
	color: var(--dbt-ink);
	font-size: .6875rem;
	font-weight: 650;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* Der MwSt-Hinweis haengt direkt am Preis und bleibt klein. */
small.dbt-preis-zusatz {
	display: inline;
	margin: 0 0 0 .35rem;
	font-size: .75rem;
	font-weight: 500;
	color: var(--dbt-ink-mute);
}

/* Produkt-Tabs in Schwarz statt im Theme-Blau. */
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs .ct-tabs li a {
	color: var(--dbt-ink-mute);
	font-weight: 600;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li[aria-selected="true"] a {
	color: var(--dbt-ink);
	border-color: var(--dbt-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li[aria-selected="true"] {
	border-color: var(--dbt-ink);
	box-shadow: inset 0 -2px 0 0 var(--dbt-ink);
}

/* Leere Artikelnummer ist eine Information ohne Wert. */
.woocommerce div.product .product_meta .sku_wrapper {
	display: none;
}

.woocommerce div.product .product_meta {
	font-size: .8125rem;
	color: var(--dbt-ink-mute);
}

/* =========================================================================
   20. Shop-Archiv
   ========================================================================= */

/* Trefferzahl und Sortierung brauchen wir bei diesem Katalog nicht. */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering {
	display: none;
}

/* Zwei Spalten, auch wenn das Eltern-Theme etwas anderes vorgibt. */
.woocommerce ul.products,
.woocommerce-page ul.products,
.dbt-section ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 940px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.dbt-section ul.products {
		gap: 2.5rem 1.5rem;
	}
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.dbt-section ul.products li.product {
	width: 100%;
	margin: 0;
	float: none;
	clear: none;
}

/* Auf schmalen Displays bleibt der Text in der Karte lesbar. */
@media (max-width: 480px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: .875rem;
	}

	.woocommerce ul.products li.product .price,
	.woocommerce ul.products li.product .dbt-preis-zusatz {
		font-size: .8125rem;
	}

	.woocommerce ul.products li.product .button {
		width: 100%;
		padding-inline: .75rem;
		font-size: .8125rem;
	}

	.dbt-badge-datei {
		font-size: .625rem;
		padding: .15rem .4rem;
	}
}

/* Beide Marker sitzen oben am Bild. Bei zwei Spalten ist der Platz knapp,
   deshalb werden sie auf schmalen Displays kleiner. */
@media (max-width: 600px) {
	.woocommerce ul.products li.product .dbt-badge-datei {
		top: .4rem;
		right: .4rem;
		padding: .12rem .35rem;
		font-size: .5625rem;
		letter-spacing: .02em;
	}

	.woocommerce ul.products li.product .dbt-badge-gratis {
		top: .4rem;
		left: .4rem;
		padding: .12rem .4rem;
		font-size: .5625rem;
	}
}

/* =========================================================================
   21. Lizenzurkunden
   ========================================================================= */

.dbt-urkunden {
	margin: 0 0 2rem;
	padding: 1.25rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	background: var(--dbt-surface-soft);
}

.dbt-urkunden h2 {
	margin: 0 0 .25rem;
	font-size: 1.0625rem;
	font-weight: 650;
}

.dbt-urkunden > .dbt-mute {
	margin: 0 0 1rem;
}

.dbt-urkunden ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: .75rem;
}

.dbt-urkunden li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	font-weight: 600;
}

.dbt-urkunden li small {
	display: block;
	font-weight: 400;
}

@media (max-width: 480px) {
	.dbt-urkunden li .dbt-btn {
		width: 100%;
	}
}

/* =========================================================================
   22. Anleitungen
   ========================================================================= */

.dbt-anleitungen-tab {
	max-width: 780px;
}

.dbt-faq details > div h3 {
	margin: 1.25rem 0 .5rem;
	font-size: 1rem;
	font-weight: 650;
	color: var(--dbt-ink);
}

.dbt-faq details > div p {
	margin: 0 0 .85rem;
}

.dbt-faq details > div ol,
.dbt-faq details > div ul {
	margin: 0 0 1rem;
	padding-left: 1.4rem;
}

.dbt-faq details > div li {
	margin-bottom: .45rem;
}

.dbt-faq details > div p:last-child {
	margin-top: 1.25rem;
	margin-bottom: 0;
}

/* Anmelden und Registrieren in unserer Buttonfarbe, nicht im Theme-Blau. */
.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce button[name="login"],
.woocommerce button[name="register"],
.woocommerce button[name="save_account_details"],
.woocommerce button[name="save_address"] {
	background: var(--dbt-ink);
	border-color: var(--dbt-ink);
	color: #fff;
}

.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover,
.woocommerce button[name="login"]:hover,
.woocommerce button[name="register"]:hover {
	background: #000;
	color: #fff;
}

/* =========================================================================
   23. Meine Dateien: Karten pro Modell, Seitenwahl
   ========================================================================= */

.dbt-dateien-intro {
	margin: 0 0 1.25rem;
	font-size: .9375rem;
	color: var(--dbt-ink-soft);
}

.dbt-datei-karte {
	margin: 0 0 1rem;
	padding: 1.25rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-md);
	background: var(--dbt-surface);
}

.dbt-datei-karte__kopf {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}

.dbt-datei-karte__bild {
	display: grid;
	place-items: center;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-sm);
	background: var(--dbt-surface-soft);
	color: var(--dbt-ink-mute);
	overflow: hidden;
}

.dbt-datei-karte__bild img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dbt-datei-karte__bild svg {
	width: 24px;
	height: 24px;
}

.dbt-datei-karte h3 {
	margin: 0 0 .35rem;
	font-size: 1.0625rem;
	font-weight: 650;
	line-height: 1.25;
}

.dbt-datei-karte__kopf .dbt-mute {
	margin-left: .35rem;
}

.dbt-lizenz-badge {
	display: inline-block;
	padding: .1rem .5rem;
	border: 1px solid var(--dbt-line-strong);
	border-radius: var(--dbt-r-sm);
	font-size: .6875rem;
	font-weight: 650;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--dbt-ink);
}

.dbt-lizenz-badge--komm {
	background: var(--dbt-ink);
	border-color: var(--dbt-ink);
	color: #fff;
}

.dbt-datei-liste {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--dbt-line);
}

.dbt-datei-liste li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	padding: .75rem 0;
	border-bottom: 1px solid var(--dbt-line);
}

.dbt-datei-liste li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.dbt-datei-liste__name {
	min-width: 0;
	font-size: .9375rem;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.dbt-datei-liste__name small {
	display: block;
	font-weight: 400;
}

.dbt-datei-liste .dbt-btn {
	min-height: 44px;
	padding: .5rem 1.1rem;
}

@media (max-width: 480px) {
	.dbt-datei-liste li .dbt-btn {
		width: 100%;
	}
}

.dbt-dateien-leer {
	padding: 2rem 1.25rem;
	border: 1px dashed var(--dbt-line-strong);
	border-radius: var(--dbt-r-md);
	text-align: center;
}

.dbt-seiten {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	margin-top: 1.5rem;
}

.dbt-seiten a,
.dbt-seiten span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 .85rem;
	border: 1px solid var(--dbt-line);
	border-radius: var(--dbt-r-sm);
	font-size: .9375rem;
	font-weight: 600;
	color: var(--dbt-ink);
	text-decoration: none;
}

.dbt-seiten a:hover {
	border-color: var(--dbt-ink);
}

.dbt-seiten .is-aktiv {
	background: var(--dbt-ink);
	border-color: var(--dbt-ink);
	color: #fff;
}
