#payresort-plus-card-form[hidden] {
	display: none !important;
}

/* Hide the legacy card form while both gateways remain installed for migration. */
#veriTrans4G {
	display: none !important;
}

#payresort-plus-card-form th,
#payresort-plus-card-form td {
	vertical-align: top;
}

#payresort-plus-card-fields {
	display: grid;
	grid-template-columns: minmax(9rem, 12rem) minmax(12rem, 1fr);
	gap: 0.75rem 1rem;
	align-items: center;
}

#payresort-plus-card-fields input,
#payresort-plus-card-fields select {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff !important;
	border: 1px solid #999 !important;
	border-radius: 3px;
	box-shadow: none !important;
	box-sizing: border-box;
	color: #222 !important;
	font: inherit;
	max-width: 24rem;
	min-height: 2.5rem;
	padding: 0.45rem 0.65rem !important;
	width: 100%;
}

#payresort-plus-card-fields input:focus,
#payresort-plus-card-fields select:focus {
	border-color: #2271b1 !important;
	box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2) !important;
	outline: none;
}

#payresort-plus-card-fields input::placeholder {
	color: #777;
	opacity: 1;
}

#payresort-plus-security-code {
	max-width: 8rem !important;
}

#payresort-plus-card-fields .payresort-plus-expiry {
	display: flex;
	gap: 0.4rem;
	align-items: center;
}

#payresort-plus-card-fields .payresort-plus-expiry select {
	background-image: linear-gradient(45deg, transparent 50%, #555 50%), linear-gradient(135deg, #555 50%, transparent 50%);
	background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	max-width: 9rem;
	padding-right: 2rem !important;
}

#payresort-plus-card-fields .is_error {
	border-color: #c00;
	background: #fff2f2;
}

.payresort-plus-error {
	color: #c00;
}

@media (max-width: 600px) {
	#payresort-plus-card-fields {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}
}
