/* KreaBrands standalone CTA - deliberately inherits the site's font family. */
.kb-button-widget {
	--kb-button-black: #000;
	--kb-button-white: #fff;
	--kb-button-radius: 16px;
	--kb-button-ease: cubic-bezier(.22, 1, .36, 1);
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.kb-button-widget * {
	box-sizing: border-box;
}

.kb-button__cta {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 12px 18px;
	color: var(--kb-button-white);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	background: var(--kb-button-black);
	border: 0;
	border-radius: var(--kb-button-radius);
	box-shadow: 0 8px 18px rgba(0, 0, 0, .12);
	overflow: hidden;
	isolation: isolate;
	transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.kb-button__cta::after {
	position: absolute;
	top: -50%;
	bottom: -50%;
	left: -35%;
	width: 35%;
	content: '';
	background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, .12) 28%, rgba(255, 255, 255, .98) 50%, rgba(255, 255, 255, .12) 72%, transparent 100%);
	filter: blur(3px);
	opacity: 0;
	pointer-events: none;
	transform: translateX(-180%) skewX(-20deg);
}

.kb-button__cta:hover,
.kb-button__cta:focus-visible {
	color: var(--kb-button-white);
	background: var(--kb-button-black);
}

@media (hover: hover) and (pointer: fine) {
	.kb-button__cta:hover::after,
	.kb-button__cta:focus-visible::after {
		animation: kb-button-flash .65s var(--kb-button-ease) both;
	}
}

@media (hover: none), (pointer: coarse) {
	.kb-button__cta:active::after,
	.kb-button__cta:focus-visible::after {
		animation: kb-button-flash .65s var(--kb-button-ease) both;
	}
}

@keyframes kb-button-flash {
	0% {
		opacity: 0;
		transform: translateX(-180%) skewX(-20deg);
	}

	18% {
		opacity: 1;
	}

	70% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translateX(420%) skewX(-20deg);
	}
}

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