/*
Theme Name:   Başvuru Teması
Theme URI:    https://yardimlar.net
Description:  yardimlar.net için GeneratePress alt teması. Site kabuğunu (başlık, menü, alt bilgi, tipografi) tanımlar; kayıt sayfalarının kendi stili basvuru-veri eklentisinden gelir.
Author:       yardimlar.net
Template:     generatepress
Version:      0.2.1
Text Domain:  basvuru-tema
*/

/*
 * Tasarım ilkesi: hız ve güven.
 *
 * - Dış SUNUCUDAN yazı tipi çekilmiyor. Inter kullanılıyor ama dosyalar tema
 *   klasöründe; Google Fonts'a istek gitmiyor. (Bir süre burada "sistem fontu
 *   kullanıyoruz" yazıyordu, oysa hemen altında Inter tanımlıydı — yorum kodla
 *   çelişiyordu.) Her indirilen font LCP'ye eklenir; bu yüzden ön yüklenmiyorlar,
 *   gerekçesi functions.php'de ölçümüyle birlikte yazılı.
 * - Animasyon ve gölge minimumda. Devlet/kurum bilgisi veren bir sayfa ciddi durmalı.
 * - Renk paleti eklentiyle aynı değişkenlerden besleniyor; iki yerde iki farklı mavi olmasın.
 * - Kurum logosu, devlet arması, resmî sayılabilecek amblem yok (PROJE-PLANI 8.2).
 */

/* ---------- Yazı tipi ----------
 *
 * Inter, Google'dan çağrılmıyor; woff2 dosyaları tema klasöründe duruyor.
 * İki sebep: (1) dış istek LCP'ye doğrudan ekleniyor, (2) fonts.googleapis.com'dan
 * çağırmak ziyaretçinin IP adresini Google'a taşır — KVKK açısından gereksiz risk.
 *
 * Değişken font (400-700) kullanıyoruz: tek dosya tüm kalınlıkları karşılıyor,
 * ayrı ayrı 3-4 dosya indirmeye gerek kalmıyor.
 * latin-ext alt kümesi Türkçe için ZORUNLU (ş, ğ, İ harfleri orada).
 */

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("fontlar/inter-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("fontlar/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
 * Yedek font ölçü düzeltmesi.
 *
 * Inter yüklenene kadar sistemde bulunan bir font gösteriliyor. Ölçüleri
 * Inter'den farklıysa font değişince metin yeniden akıyor ve sayfa kayıyor.
 * `size-adjust` yedeği Inter'in ölçüsüne oturtup bu kaymayı kapatıyor.
 *
 * BU KURALIN İŞE YARAMASI `src` SATIRININ ÇÖZÜLMESİNE BAĞLI — aşağıdaki
 * açıklama neden tek bir font adının yetmediğini anlatıyor.
 */
@font-face {
	font-family: "Inter Yedek";

	/*
	 * BİRDEN ÇOK local() ŞART — tek "Arial" hiçbir yerde çözülmüyordu.
	 *
	 * Ölçüm (25.08.2026): tarayıcıda `document.fonts` listesinde bu yüz
	 * "Inter Yedek [error]" durumundaydı. Yani `size-adjust` dahil aşağıdaki
	 * bütün ölçü düzeltmeleri HİÇ UYGULANMIYORDU; kural yazılmıştı ama ölüydü.
	 *
	 * Sebep: Arial yalnızca Windows'ta ve macOS'ta var. Ziyaretçilerimizin
	 * %95'i mobil, yani ağırlıklı Android — orada Arial yok, Roboto var.
	 * Linux'ta da yok (Liberation Sans / DejaVu Sans var).
	 *
	 * Sonucu ölçtük: Inter ile aynı metin 1308 px, gerçekte kullanılan yedekle
	 * 1223 px. Font yüklendiği anda metin %6,5 genişliyor, satırlar yeniden
	 * sarılıyor, blok yükseklikleri değişiyor ve sayfanın tamamı kayıyor.
	 *
	 * İlk dört aile Arial ile ÖLÇÜ UYUMLUDUR (Liberation Sans ve Arimo birebir
	 * metrik klonudur); Roboto tam uyumlu değil ama hiç düzeltme olmamasından
	 * belirgin şekilde iyi.
	 *
	 * 107% değeri doğrulandı: 1223 × 1,07 = 1308,6 ≈ Inter'in 1308'i.
	 */
	src: local("Arial"), local("Helvetica Neue"), local("Helvetica"),
		local("Liberation Sans"), local("Arimo"), local("Roboto"),
		local("DejaVu Sans");

	size-adjust: 107%;
	ascent-override: 90%;
	descent-override: 22%;
	line-gap-override: 0%;
}

/* Renk değişkenleri — eklentinin stil.css dosyasıyla AYNI olmalı. */
:root {
	--bv-metin: #111827;
	--bv-soluk: #4b5563;
	--bv-cizgi: #e5e7eb;
	--bv-zemin: #ffffff;
	--bv-zemin-alt: #f9fafb;
	--bv-vurgu: #2563eb;
	--bv-vurgu-koyu: #1d4ed8;
	--bv-radius: 12px;
	--bv-radius-kucuk: 8px;
	--bv-gecis: 160ms ease;
}

/* ---------- Genel ---------- */

body {
	font-family: "Inter", "Inter Yedek", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: #333333;
	background: var(--bv-zemin-alt);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

/* İçerik yüzeyleri kırık beyaz zeminin üstünde beyaz kalıyor; katman hissi
   veriyor ve kartların sınırlarını gölgeye ihtiyaç duymadan belli ediyor. */
.bv-sayfa {
	background: transparent;
}

a {
	color: var(--bv-vurgu);
}

a:hover {
	color: var(--bv-vurgu-koyu);
}

/* Kontrast: başlıklar tam siyah ve kalın, gövde koyu gri.
   Meta veriler (tarih, tutar, son kontrol) daha soluk tonla ayrışıyor —
   göz önce başlığı, sonra metni, en son meta bilgiyi okuyor. */
h1, h2, h3, h4 {
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #000000;
}

h1 {
	letter-spacing: -0.03em;
}

.bv-kart__kontrol,
.bv-kart__ozet dt,
.bv-eksen__aciklama,
.bv-takvim__etiket,
.bv-kaynak__hatirlatma,
.bv-adimlar__not,
.bv-belgeler__not {
	color: #6b7280;
}

/* GeneratePress'in varsayılan içerik kutusunu sadeleştiriyoruz: kayıt şablonlarımız
   kendi genişliğini yönetiyor, temanın ikinci bir kutu çizmesine gerek yok. */
.site-content .content-area {
	padding: 0;
}

.entry-content > .bv-sayfa {
	margin-top: 0;
}

/* ---------- Üst bilgi ---------- */

.site-header {
	background: var(--bv-zemin);
	border-bottom: 1px solid var(--bv-cizgi);
	padding: 0;
	/* Belli belirsiz gölge: başlık şeridini içerikten ayırıyor ama
	   sayfaya ağırlık katmıyor. */
	box-shadow: 0 1px 3px rgba(17, 24, 39, 0.05);
	position: relative;
	z-index: 2;
}

.site-header .inside-header {
	max-width: 1100px;
	margin: 0 auto;
	padding: 18px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.site-branding {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.main-title {
	margin: 0;
	font-size: 1.72rem;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.1;
}

.main-title a {
	color: var(--bv-metin);
	text-decoration: none;
}

.main-title a:hover {
	color: var(--bv-vurgu);
}

.site-description {
	margin: 0;
	font-size: 0.82rem;
	color: var(--bv-soluk);
}

/* ---------- Ana menü ---------- */

.main-navigation {
	background: var(--bv-zemin);
	border-bottom: 1px solid var(--bv-cizgi);
}

.main-navigation .inside-navigation {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 16px;
}

.main-navigation .main-nav ul li a {
	padding: 15px 22px;
	font-size: 1.02rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--bv-metin);
	line-height: 1.4;
}

.main-navigation .main-nav ul li:first-child a {
	padding-left: 0;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item a {
	color: var(--bv-vurgu);
	background: transparent;
}

/* Etkin sayfayı alt çizgiyle işaretliyoruz — arka plan bloğu yerine, daha sakin. */
.main-navigation .main-nav ul li.current-menu-item > a {
	box-shadow: inset 0 -3px 0 var(--bv-vurgu);
}

.main-navigation .menu-toggle {
	color: var(--bv-metin);
	font-weight: 500;
}

/* ---------- Alt bilgi ---------- */

.site-footer {
	background: var(--bv-zemin-alt);
	border-top: 1px solid var(--bv-cizgi);
}

/* GeneratePress'in kendi telif satırını gizliyoruz; alt bilgiyi eklenti basıyor
   (bağımsızlık ibaresi + kurumsal bağlantılar, AdSense denetimi bunlara bakıyor). */
.site-info {
	display: none;
}

/* ---------- Sayfa başlıkları ---------- */

.page-header,
.entry-header .entry-title {
	margin-bottom: 0;
}

.entry-content {
	margin-top: 0;
}

/* ---------- Kenar çubuğu yok ---------- */

.site-content {
	display: block;
}

.sidebar {
	display: none;
}

/* ---------- Erişilebilirlik ---------- */

a:focus-visible,
button:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--bv-vurgu);
	outline-offset: 2px;
}

/* ---------- Yazdırma ----------
 * Kullanıcılar belge listesini yazdırıp yanlarına alıyor; menü ve reklam basılmasın.
 */

@media print {
	.site-header,
	.main-navigation,
	.bv-altbilgi,
	.bv-benzer,
	.bv-reklam {
		display: none !important;
	}

	.bv-sss__cevap {
		display: block !important;
	}

	body {
		font-size: 12pt;
	}
}

/* ---------- Mobil ---------- */

@media (max-width: 768px) {
	body {
		font-size: 16px;
	}

	.site-header .inside-header {
		padding: 14px 16px;
	}

	.main-title {
		font-size: 1.2rem;
	}
}
