/*! TazminGO Core · iletişim formu (P10). Alanlar Impreza Field Style 1'den (52 px, radius 8, teal odak); burada yalnızca
    yerleşim, etiket, açıklama, hata ve durum. Renkler Impreza değişkenlerinden, hex yalnızca yedek. Uzunluklar px. */

.tzg-cf {
	--tzg-cf-error: #B42318; /* beyazda 6.57:1 (rehber §1 durum renkleri) */
	--tzg-cf-success: #067647; /* #ECFDF3 üzerinde 5.40:1 */
}

.tzg-cf [hidden] {
	display: none !important;
}

.tzg-cf__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 24px;
}

.tzg-cf__field.is-full {
	grid-column: 1 / -1;
}

.tzg-cf__label {
	display: block;
	margin: 0 0 8px;
	color: var(--color-content-heading, #141323);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.tzg-cf .tzg-cf__input {
	width: 100%;
}

/* Köşe tutamağı yok; kutu içerikle büyür (contact-form.js). */
.tzg-cf textarea.tzg-cf__input {
	min-height: 160px;
	max-height: 480px;
	resize: none;
}

.tzg-cf .tzg-cf__input::placeholder {
	color: var(--color-tg-faded, #667085);
	opacity: 1;
}

.tzg-cf .tzg-cf__field.is-invalid .tzg-cf__input {
	border-color: var(--tzg-cf-error);
}

.tzg-cf__hint,
.tzg-cf__error,
.tzg-cf__privacy,
.tzg-cf__noscript,
.tzg-cf__pending {
	margin: 6px 0 0;
	font-size: 14px;
	line-height: 1.45;
}

.tzg-cf__hint,
.tzg-cf__privacy {
	color: var(--color-tg-faded, #667085);
}

.tzg-cf__error,
.tzg-cf__noscript,
.tzg-cf__pending {
	color: var(--tzg-cf-error);
	font-weight: 700;
}

/* Alıcı ayarlanmamış: işaret ve kapalı alanlar (fieldset disabled). */
.tzg-cf__pending {
	margin: 0 0 16px;
}

.tzg-cf__fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.tzg-cf__privacy {
	margin-top: 24px;
}

.tzg-cf__privacy a {
	color: var(--color-content-link, #007D91);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Bal kabı: ekran dışında (display:none bazı botlarda alanı atlatır). */
.tzg-cf__hp {
	position: absolute !important;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Turnstile her zaman görünür (appearance: always). Betik ilk etkileşimde yüklenir; o arada yeri ayrılı kalır
   (kutu 65 px), sayfa zıplamaz. size: flexible kabın genişliğini alır, dar ekranda taşmaz. */
.tzg-cf__turnstile {
	max-width: 100%;
	min-height: 65px;
	margin-top: 16px;
}

.tzg-cf__actions {
	margin-top: 24px;
}

.tzg-cf__submit {
	justify-content: center;
}

.tzg-cf__submit[disabled],
.tzg-cf__submit[aria-disabled="true"] {
	opacity: .65;
	cursor: not-allowed;
}

.tzg-cf__btn-icon {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	margin-inline-start: .5em;
}

/* Tek canlı bölge: boşken yer kaplamaz ama erişilebilirlik ağacında kalır. */
.tzg-cf__notice {
	margin: 16px 0 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.tzg-cf__notice:empty {
	margin: 0;
}

.tzg-cf__notice.is-error {
	color: var(--tzg-cf-error);
}

.tzg-cf__notice.is-success {
	padding: 12px 16px;
	border-radius: 8px;
	background: #ECFDF3;
	color: var(--tzg-cf-success);
}

@media (max-width: 600px) {
	.tzg-cf__grid {
		grid-template-columns: 1fr;
	}

	/* Tam genişlik: site.css (QA-STIL-007) etiketi sola, oku sağa alır ve 52 px yükseklik verir. */
	.tzg-cf__submit {
		width: 100%;
	}
}
