.credit-card-form-fields__loading-placeholder {
	margin-bottom: 16px;
}

.credit-card-form-fields__extras {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	margin-left: -15px;

	.credit-card-form-fields__field,
	.credit-card-form-fields__cvv-wrapper {
		flex-basis: calc(100% - 15px);
		flex-grow: 1;
		flex-shrink: 1;
		margin-left: 15px;
	}

	.credit-card-form-fields__cvv-wrapper {
		position: relative;

		.credit-card-form-fields__element,
		.form-text-input {
			width: calc(100% - 70px);
		}

		.credit-card-form-fields__cvv-illustration {
			position: absolute;
			top: 26px;
			right: 0;
			width: 62px;
		}

		.credit-card-form-fields__cvv-illustration--local-fields {
			top: 41px;
		}
	}

	.form-select {
		min-width: auto;
	}

	.checkout__country-payment-fields,
	.credit-card-form-fields__cvv-wrapper .cvv {
		margin-left: 0;
	}

	.credit-card-form-fields__cvv-wrapper,
	.expiration-date,
	.country,
	.postal-code {
		flex-basis: calc(50% - 15px);
	}

}

.credit-card-form-fields {
	margin-bottom: 15px;

	input[disabled] {
		@include placeholder( --color-neutral-20 );
	}
}

.credit-card-form-fields__label.form-label {
	margin-bottom: 0;
}

.credit-card-form-fields__field {
	margin-top: 15px;
	position: relative;

	&.name {
		margin-top: 0;
	}

	select {
		font-size: $font-body;
		width: 100%;
	}

	input[disabled] {
		cursor: not-allowed;
	}

	&.number input {
		text-align: left;
		/*!rtl:ignore*/
		direction: ltr;
	}
}

// Specific for Stripe Elements while we use it in parallel to existing cc fields
.credit-card-form-fields__element {
	padding: 9px 14px;
	border: 1px solid var(--color-neutral-10);
	font-size: $font-body;
	line-height: 1.5;
	margin-top: 5px;
	height: 40px;
	box-sizing: border-box;
	border-radius: 2px;

	&.has-focus {
		box-shadow: 0 0 0 2px var(--color-primary-10);
		border-color: var(--color-primary);

		&.is-error {
			box-shadow: 0 0 0 2px var(--color-error-10);
		}
	}

	&.is-error {
		border-color: var(--color-error);
	}
}
