.btn--primary,
.link--primary,
.service-feed__item a.clickable-parent {
	outline: 0 !important;
}
a.btn--primary::selection {
	background: var(--accent-light) !important;
}
@media screen and (min-width: 1026px) {
	.btn--primary:is(:hover, :focus-visible) {
		background: var(--accent-light);
	}
}
/* Hover link */
.hover__link,
.link--primary,
.hover-link__wrapper a {
	position: relative;
	text-decoration: none !important;
	display: inline-flex;
}
.link--primary img::selection {
	background: transparent;
}
@media screen and (min-width: 1026px) {
	.hover__link,
	.footer-legal .link--primary {
		--underline-width: calc(100% + 0px);
	}
	.link--primary {
		--underline-width: calc(100% + 15px);
	}

	.hover-link__wrapper {
		--underline-width: calc(100%);
	}
	.hover__link::before,
	.link--primary::before,
	.hover-link__wrapper a::before {
		content: "";
		position: absolute;
		bottom: -4px;
		left: 0;
		width: var(--underline-width);
		height: 1px;
		background-color: currentColor;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 0.3s ease;
	}

	.hover__link:is(:hover, :focus-visible)::before,
	.link--primary:is(:hover, :focus-visible)::before,
	.hover-link__wrapper a:is(:hover, :focus-visible)::before,
	.feed-item:has(a.clickable-parent:hover, :focus-visible) .link--primary::before,
	.service-feed__parent:has(a.clickable-parent:hover, :focus-visible) .link--primary::before {
		transform: scaleX(1);
		transform-origin: left;
	}

	.hover__link:is(:hover, :focus-visible) img,
	.link--primary:is(:hover, :focus-visible) img,
	.feed-item:has(a.clickable-parent:hover, :focus-visible) .link--primary img,
	.service-feed__parent:has(a.clickable-parent:hover, :focus-visible) .link--primary img {
		transform: translateX(15px);
	}
}
/* Img */
.hover__link img,
.link--primary img {
	transition: transform 0.3s ease;
	transform: translateX(5px);
	width:43px;
}
/* Reverse variation */
.link--primary-reverse {
	position: relative;
	text-decoration: none !important;
	display: inline-block;
	--underline-width: calc(100% + 15px) !important;
	color: var(--primary-dark) !important;
	padding: 0;
}

.link--primary-reverse::before {
	content: "";
	position: absolute;
	bottom: -4px;
	left: unset;
	right: 0;
	width: var(--underline-width);
	height: 1px;
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}
@media screen and (min-width: 1026px) {
	.link--primary-reverse:is(:hover, :focus-visible)::before {
		transform: scaleX(1);
		transform-origin: right;
	}
}

.link--primary-reverse img {
	transition: transform 0.3s ease;
	transform: rotate(180deg) translateX(5px);
}
@media screen and (min-width: 1026px) {
	.link--primary-reverse:is(:hover, :focus-visible) img {
		transform: rotate(180deg) translateX(15px);
	}
}
/* Variations */
.bg--dark .hover__link img,
.bg--dark .link--primary img,
.bg--ultra-dark .hover__link img,
.bg--ultra-dark .link--primary img,
body.single-projekt .link--primary img {
	filter: var(--filter-white);
}

/* Secondary */

.btn--secondary {
	outline: 0 !important;
}
.btn--secondary.active,
.btn--secondary:is(:hover, :focus-visible),
.bg--ultra-dark .btn--secondary.active {
	background: var(--accent) !important;
}

.bg--ultra-dark .btn--secondary:not(.active, :hover, :focus-visible) {
	background: var(--secondary-dark);
	color: white;
}
