/* Base layout for KopUps Buy Now buttons. Per-site colors and typography are
   appended by the plugin from the saved settings. */
.kopups-button-container {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	max-width: 100%;
}

button.kopups-buy-now-button {
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.25;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	transition: background-color .22s ease, color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

button.kopups-buy-now-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

button.kopups-buy-now-button:disabled {
	opacity: .56;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.kopups-button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 1;
}

.kopups-button-icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

.kopups-icon-before .kopups-button-icon {
	margin-inline-end: var(--kopups-icon-gap, .5em);
}

.kopups-icon-after .kopups-button-icon {
	margin-inline-start: var(--kopups-icon-gap, .5em);
}

.kopups-button-text {
	display: inline-block;
}

button.kopups-hover-lift:hover:not(:disabled) {
	transform: translateY(-2px);
}

button.kopups-hover-grow:hover:not(:disabled) {
	transform: scale(1.035);
}

button.kopups-hover-shadow:hover:not(:disabled) {
	box-shadow: 0 9px 22px rgba(31, 41, 55, .2);
}

.kopups-width-full {
	width: 100%;
}

.kopups-width-full .kopups-buy-now-button {
	width: 100%;
}

.kopups-elementor-button-container {
	display: flex;
	align-items: center;
}

.kopups-elementor-button-container .kopups-buy-now-button {
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	button.kopups-buy-now-button {
		transition: none;
	}
}
