.StripeElement, #mt-payment-form .stripe input:not(.button), #mt-payment-form select {
	padding: 10px;
	border: 1px solid #777;
	margin: .25em 0 1em;
	border-radius: 5px;
	width: calc( 100% - 20px );
	background: #fff;
}

#mt-payment-form .form-columns {
	display: grid;
	grid-template-columns: 70% 1fr;
	gap: 12px;
}

#mt-stripe-submit:focus, #mt-stripe-submit:hover {
	border: 1px solid #000;
	background: #e0e0e0;
}

.StripeElement--focus {
	border: 1px solid #111;
	background: #f6f6f6;
	color: #000;
}

.SelectListItem {
	padding: 4px;
}

.SelectListItem--selected {
	background: rgba( 0,0,0,.05 );
}

#mt-payment-form .stripe label {
	display: block;
}

.mt-stripe-errors, #bank-name {
	display: none;
}

.mt-stripe-errors.visible, #bank-name.visible {
	border: 2px solid;
	padding: .75em;
	border-radius: 5px;
	margin: .5em 0;
	background: #f6f6f6;
	color: #000;
	font-weight: 600;
	display: block;
}

#bank-name.visible {
	border: none;
	color: inherit;
	background: inherit;
}

@keyframes shadow-pulse
{
	0% {
		box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2);
	}
	100% {
		box-shadow: 0 0 0 8px rgba(0, 0, 0, 0);
	}
}

@media (prefers-reduced-motion: no-preference) {
	#mt-stripe-submit.processing {
		animation: shadow-pulse 1s infinite;
	}
}

