/**
 * Ödeme sayfası kart formu stilleri.
 *
 * Tema değişkenleriyle çakışmamak için tüm seçiciler .fvp- ön ekiyle
 * kapsanmıştır. Renkler currentColor üzerinden türetilir; koyu temalarda
 * da okunur kalır.
 */

.fvp-card-form {
	--fvp-border: rgba( 127, 127, 127, 0.35 );
	--fvp-radius: 6px;
	margin-top: 12px;
}

.fvp-card-form .fvp-field {
	margin: 0 0 14px;
}

.fvp-card-form label {
	display: block;
	margin-bottom: 5px;
	font-size: 0.875em;
	font-weight: 600;
	line-height: 1.3;
}

.fvp-card-form .input-text,
.fvp-card-form .fvp-select {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid var( --fvp-border );
	border-radius: var( --fvp-radius );
	font-size: 1em;
	line-height: 1.4;
	background: transparent;
	color: inherit;
}

.fvp-card-form .input-text:focus,
.fvp-card-form .fvp-select:focus {
	outline: 2px solid currentColor;
	outline-offset: -1px;
}

/* Kart numarası okunurluğu için sabit genişlikli rakam. */
.fvp-card-form #fvp-card-number,
.fvp-card-form #fvp-card-cvv {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.06em;
}

.fvp-card-form.fvp-invalid-number #fvp-card-number {
	border-color: #c9372c;
}

/* --- Satır düzeni --- */

.fvp-card-form .fvp-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.fvp-card-form .fvp-row > .fvp-field {
	flex: 1 1 140px;
	min-width: 0;
}

.fvp-card-form .fvp-expiry-group {
	display: flex;
	gap: 8px;
}

/* --- Marka logoları --- */

.fvp-card-form .fvp-brands {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 14px;
}

.fvp-card-form .fvp-brand {
	height: 26px;
	width: auto;
	transition: opacity 0.15s ease, filter 0.15s ease;
}

.fvp-card-form .fvp-brand.is-dimmed {
	opacity: 0.3;
	filter: grayscale( 100% );
}

.fvp-card-form .fvp-brand.is-active {
	opacity: 1;
}

.fvp-card-form .fvp-field--number {
	position: relative;
}

.fvp-card-form .fvp-detected-brand {
	position: absolute;
	right: 12px;
	bottom: 12px;
	font-size: 0.75em;
	opacity: 0.6;
	pointer-events: none;
}

/* --- Taksit seçimi --- */

.fvp-card-form .fvp-installments {
	margin: 18px 0 14px;
	border: 1px solid var( --fvp-border );
	border-radius: var( --fvp-radius );
	overflow: hidden;
}

.fvp-card-form .fvp-installments__title {
	display: block;
	padding: 10px 12px;
	font-size: 0.8125em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.7;
	border-bottom: 1px solid var( --fvp-border );
}

.fvp-card-form .fvp-installment {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	margin: 0;
	cursor: pointer;
	font-weight: 400;
	border-bottom: 1px solid var( --fvp-border );
}

.fvp-card-form .fvp-installment:last-child {
	border-bottom: 0;
}

.fvp-card-form .fvp-installment.is-selected {
	background: rgba( 127, 127, 127, 0.08 );
}

.fvp-card-form .fvp-installment input[type="radio"] {
	margin: 0;
	flex: 0 0 auto;
}

.fvp-card-form .fvp-installment__label {
	flex: 0 0 auto;
	font-weight: 600;
	font-size: 0.9375em;
}

.fvp-card-form .fvp-installment__detail {
	flex: 1 1 auto;
	text-align: right;
	font-size: 0.875em;
	opacity: 0.85;
}

/* --- Bilgi metinleri --- */

.fvp-secure-note {
	margin: 12px 0 0;
	font-size: 0.8125em;
	opacity: 0.7;
	line-height: 1.5;
}

.fvp-test-notice {
	margin: 0 0 12px;
	padding: 8px 10px;
	border-radius: var( --fvp-radius, 6px );
	background: rgba( 220, 150, 20, 0.15 );
	font-size: 0.8125em;
	font-weight: 600;
}

@media ( max-width: 480px ) {
	.fvp-card-form .fvp-row {
		display: block;
	}

	.fvp-card-form .fvp-installment {
		flex-wrap: wrap;
	}

	.fvp-card-form .fvp-installment__detail {
		flex-basis: 100%;
		text-align: left;
		padding-left: 26px;
	}
}
