/* KW Biohof – geteilter Inline-Link-Stil: ruhiger Unterstrich, beim Hover/Fokus
   malt sich ein Pinselstrich (gleiche Form wie der Handstrich-Knopf) links→rechts
   darüber. Token-gesteuert, JS-frei, prefers-reduced-motion respektiert.
   Anwenden über `.biohof-inklink` (am <a>) ODER `.biohof-inklinks` (am Container).
   Tokens: --biohof-link-color | -line-color | -active-color | -line-size. */

.biohof :is(.biohof-inklink, .biohof-inklinks a) {
	position: relative;
	color: var(--biohof-link-color, var(--biohof-color-primary));
	text-decoration: none;
	background-image: linear-gradient(var(--biohof-link-line-color, var(--biohof-color-accent)) 0 0);
	background-repeat: no-repeat;
	background-position: left calc(100% - 0.02em);
	background-size: 100% var(--biohof-link-line-size, 0.1em);
	transition: color var(--biohof-duration) var(--biohof-ease);
}

.biohof :is(.biohof-inklink, .biohof-inklinks a):visited {
	color: var(--biohof-link-color, var(--biohof-color-primary));
}

.biohof :is(.biohof-inklink, .biohof-inklinks a)::before {
	content: "";
	position: absolute;
	inset-inline: -0.05em;
	bottom: -0.12em;
	block-size: 0.32em;
	background: var(--biohof-link-active-color, var(--biohof-color-primary-hover));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'%3E%3Cpath d='M3 7 C 25 3 55 9 80 5 C 95 3 110 6 117 5 L 117 8 C 100 10 70 6 45 9 C 28 11 12 8 3 9 Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'%3E%3Cpath d='M3 7 C 25 3 55 9 80 5 C 95 3 110 6 117 5 L 117 8 C 100 10 70 6 45 9 C 28 11 12 8 3 9 Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 460ms var(--biohof-ease);
	pointer-events: none;
}

/* `:is(:hover,…)` (nie `:where`) + doppelter `.biohof`-Scope → (0,4,1) schlägt die
   Elementor-Link-Defense (0,3,1) per Spezifität, reihenfolge-unabhängig. */
.biohof.biohof :is(.biohof-inklink, .biohof-inklinks a):is(:hover, :focus, :focus-visible, :active) {
	color: var(--biohof-link-active-color, var(--biohof-color-primary-hover));
}

.biohof.biohof :is(.biohof-inklink, .biohof-inklinks a):is(:hover, :focus, :focus-visible, :active)::before {
	clip-path: inset(0 0 0 0);
}

@media (prefers-reduced-motion: reduce) {
	.biohof :is(.biohof-inklink, .biohof-inklinks a)::before {
		transition: none;
	}
}

/* Druck: Pinselstrich weg (Fließtext druckt die Ziel-URL über `a::after`). */
@media print {
	.biohof :is(.biohof-inklink, .biohof-inklinks a)::before {
		display: none;
	}
}
