/* MevvBlocks — form.
 *
 * Ayrı dosya: form her sayfada yok, taban stile katmak her ziyaretçiye
 * kullanılmayan kural yüklemek olurdu. Yalnızca sayfada form bloğu varsa
 * kuyruğa alınır.
 *
 * Renkler ve yazı tipi TEMADAN gelir; burada yalnızca düzen ve durum
 * (hata/başarı) var. Kendi renk paletimizi dayatmak, geçiş yapan sitede
 * formun sayfanın geri kalanına yabancı görünmesine yol açardı. */

.mevv-form-alanlar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mevv-form-bosluk, 16px);
}

.mevv-form-alan {
	/* Genişlik yüzdeden geliyor; boşluk payı `gap` ile paylaşılıyor. */
	flex: 0 0 calc(var(--mevv-alan-genislik, 100) * 1% - var(--mevv-form-bosluk, 16px) * (100 - var(--mevv-alan-genislik, 100)) / 100);
	min-width: 0;
}
.mevv-form-alan--25  { --mevv-alan-genislik: 25; }
.mevv-form-alan--33  { --mevv-alan-genislik: 33.333; }
.mevv-form-alan--50  { --mevv-alan-genislik: 50; }
.mevv-form-alan--66  { --mevv-alan-genislik: 66.666; }
.mevv-form-alan--75  { --mevv-alan-genislik: 75; }
.mevv-form-alan--100 { --mevv-alan-genislik: 100; }

/* Dar ekranda her alan tam genişlik. Kırılım noktası, blokların
   kullandığıyla aynı (767 px) — iki farklı eşik kullanmak, aynı sayfada
   iki farklı yerde kırılan bir düzen üretirdi. */
@media (max-width: 767px) {
	.mevv-form-alan { flex-basis: 100%; }
}

.mevv-form-etiket {
	display: block;
	margin-block-end: 6px;
	font-weight: 500;
}
.mevv-form-yildiz {
	margin-inline-start: 3px;
	color: #b3261e;
}
.mevv-form-yardim {
	margin-block: 4px 0;
	font-size: 0.875em;
	opacity: 0.75;
}

.mevv-form-girdi {
	width: 100%;
	box-sizing: border-box;
}
textarea.mevv-form-girdi { resize: vertical; }

/* Onay ve radyo: kutu ile metin aynı satırda, metin sarınca hizada kalır. */
.mevv-form-onay,
.mevv-form-secenek {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-block-end: 6px;
	font-weight: 400;
	cursor: pointer;
}
.mevv-form-onay input,
.mevv-form-secenek input {
	/* Satırın ilk satırıyla hizalansın diye; aksi hâlde çok satırlı
	   metinde kutu dikey ortalanıp kayıyor. */
	margin-block-start: 0.25em;
	flex: 0 0 auto;
}

.mevv-form-grup {
	margin: 0;
	padding: 0;
	border: 0;
}

/* Hata durumu. Renk TEK BAŞINA taşıyıcı değil: hatalı alanın kenarlığı
   kalınlaşıyor ve altında metin var — renk körü kullanıcı da görüyor. */
.mevv-form-alan-hatali .mevv-form-girdi {
	border-color: #b3261e;
	outline: 1px solid #b3261e;
}
.mevv-form-alan-hata {
	margin-block: 4px 0;
	color: #b3261e;
	font-size: 0.875em;
}

.mevv-form-mesaj {
	margin-block-end: 16px;
	padding: 12px 14px;
	border-inline-start: 3px solid;
	border-radius: 3px;
}
.mevv-form-basari {
	border-color: #1e7d34;
	background: rgba(30, 125, 52, 0.08);
}
.mevv-form-hata {
	border-color: #b3261e;
	background: rgba(179, 38, 30, 0.08);
}

.mevv-form-gonder { margin-block-start: 16px; }

.mevv-form-buton[disabled] {
	opacity: 0.6;
	cursor: progress;
}

/* Bal küpü: ekran dışına taşınır, GİZLENMEZ. `display:none` alanları bazı
   botlar atlıyor; ekran dışındakini atlamıyor. */
.mevv-form-tuzak {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Betikli gönderimde form kısa süre etkisiz kalır; tıklama tekrarını
   engellemek için görsel geri bildirim. */
.mevv-form.mevv-form-gonderiliyor { opacity: 0.7; pointer-events: none; }

@media (prefers-reduced-motion: no-preference) {
	.mevv-form { transition: opacity 0.15s ease; }
}
