/* Kurs siteleri teması. --ana-renk / --ikincil-renk kurs ayarlarından gelir (_Layout). */
:root {
    --koyu: #231F20;
    --zemin: #F6F5F2;
    --cizgi: #E4E1DA;
    --soluk: #5E585A;
    /* Beyaz yazı ve küçük metin için ana rengin koyulaştırılmışı (okunurluk 4.5:1) */
    --ana-koyu: color-mix(in srgb, var(--ana-renk) 82%, #000);
    --baslik-font: "Barlow Condensed", "Arial Narrow", sans-serif;
}
body { font-family: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--koyu); background: var(--zemin); font-size: 1.0625rem; }
a { color: var(--ana-koyu); }
a:hover { color: var(--koyu); }
main { min-height: 50vh; }

/* --- Düğmeler --- */
.btn-ana { background: var(--ana-koyu); color: #fff; font-weight: 700; border: 0; border-radius: 6px; padding: .7rem 1.4rem; }
.btn-ana:hover, .btn-ana:focus { background: var(--koyu); color: #fff; }
.btn-cizgi { border: 2px solid currentColor; color: #fff; font-weight: 700; border-radius: 6px; padding: .6rem 1.3rem; }
.btn-cizgi:hover { background: #fff; color: var(--koyu); border-color: #fff; }
.btn-koyu { background: var(--koyu); color: #fff; font-weight: 700; border-radius: 6px; padding: .6rem 1.3rem; }
.btn-koyu:hover { background: #000; color: #fff; }
.btn-lg { font-size: 1.1rem; }

/* --- Üst şerit ve menü --- */
.ust-serit { background: var(--koyu); color: var(--zemin); font-size: .875rem; padding: .45rem 0; }
.ust-serit a { color: var(--zemin); text-decoration: none; }
.ust-serit a:hover { color: #fff; text-decoration: underline; }
.ust-serit .bi { margin-right: .25rem; }

.site-nav { background: #fff; border-bottom: 1px solid var(--cizgi); padding-top: .6rem; padding-bottom: .6rem; }
.site-nav .nav-link { color: var(--koyu); font-weight: 600; padding-left: .8rem !important; padding-right: .8rem !important; border-bottom: 3px solid transparent; }
.site-nav .nav-link:hover, .site-nav .nav-link:focus { color: var(--ana-koyu); }
.site-nav .nav-link.active { color: var(--koyu); border-bottom-color: var(--ana-renk); }
.site-logo { height: 56px; width: auto; }
.marka-ad { font-family: var(--baslik-font); font-weight: 800; font-size: 1.6rem; text-transform: uppercase; color: var(--koyu); }
@media (max-width: 575px) { .site-logo { height: 44px; } }

/* --- Başlıklar --- */
.ust-baslik { font-weight: 700; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ana-koyu); }
.buyuk-baslik { font-family: var(--baslik-font); font-weight: 800; font-size: clamp(2.2rem, 4.5vw, 3.25rem); line-height: 1; text-transform: uppercase; margin: .4rem 0 0; }
.orta-baslik { font-family: var(--baslik-font); font-weight: 800; font-size: 2.25rem; text-transform: uppercase; }
.bolum-basligi { font-family: var(--baslik-font); font-weight: 800; text-transform: uppercase; margin-bottom: 1.5rem; }
.bolum-basligi::after { content: ""; display: block; width: 48px; height: 4px; background: var(--ana-renk); margin-top: .5rem; }
.bolum { padding-top: 5rem; padding-bottom: 3rem; }

/* --- Giriş (anasayfa) --- */
.giris { background: var(--koyu); color: var(--zemin); position: relative; overflow: hidden; }
.giris > .container { padding-top: 4.5rem; padding-bottom: 5.5rem; }
.ust-etiket { display: flex; gap: .6rem; align-items: center; font-weight: 600; font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; color: #fff; margin-bottom: 1.25rem; }
.ust-etiket span { width: 28px; height: 4px; background: var(--ana-renk); display: block; flex: none; }
.giris-baslik { font-family: var(--baslik-font); font-weight: 800; font-size: clamp(3rem, 7vw, 5.5rem); line-height: .95; text-transform: uppercase; margin: 0; }
.giris-baslik em { font-style: normal; color: var(--ana-renk); }
.giris-metin { font-size: 1.25rem; color: #D9D6CF; max-width: 520px; margin: 1.5rem 0 0; }
.giris-foto { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; display: block; }
.giris-logo { aspect-ratio: 4 / 3; border-radius: 12px; background: #fff; display: flex; align-items: center; justify-content: center; padding: 3rem; }
.giris-logo img { max-width: 100%; max-height: 100%; }
.yol-seridi { height: 10px; background: repeating-linear-gradient(90deg, var(--zemin) 0 48px, transparent 48px 88px); opacity: .85; }

.donem-bandi { background: var(--ana-koyu); color: #fff; padding: 1.1rem 0; }
.donem-bandi strong { font-family: var(--baslik-font); font-size: 1.6rem; text-transform: uppercase; }
.donem-bandi span { font-size: 1.1rem; font-weight: 600; }

/* --- Ehliyet sınıfları --- */
.sinif-kart { background: #fff; border: 1px solid var(--cizgi); border-radius: 12px; padding: 1.75rem; height: 100%; display: flex; flex-direction: column; gap: .75rem; }
.sinif-kart h3 { font-size: 1.3rem; font-weight: 700; margin: .25rem 0 0; }
.sinif-kart p { color: var(--soluk); font-size: 1rem; margin: 0; }
.sinif-levha { width: 76px; height: 76px; border-radius: 50%; border: 7px solid var(--ana-renk); background: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--baslik-font); font-weight: 800; font-size: 1.8rem; }
.sinif-alt { border-top: 1px dashed #D3CFC7; padding-top: .9rem; display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.sinif-alt .fiyat { font-weight: 700; font-size: 1.15rem; white-space: nowrap; }
.sinif-alt a { white-space: nowrap; font-weight: 700; text-decoration: none; min-height: 44px; display: flex; align-items: center; gap: .3rem; }

/* --- Süreç adımları --- */
.adimlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
.adimlar li { display: flex; flex-direction: column; gap: .5rem; padding-top: 1.25rem; border-top: 4px solid var(--koyu); }
.adimlar .no { font-family: var(--baslik-font); font-weight: 800; font-size: 2.75rem; line-height: 1; color: var(--ana-renk); }
.adimlar strong { font-size: 1.25rem; }
.adimlar li > span:last-child { color: var(--soluk); font-size: 1rem; }

/* --- Neden biz --- */
.beyaz-bolum { background: #fff; border-top: 1px solid var(--cizgi); border-bottom: 1px solid var(--cizgi); margin-top: 2rem; }
.beyaz-bolum .bolum { padding-bottom: 5rem; }
.tanitim-foto { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 12px; }
.neden { display: flex; gap: .9rem; align-items: flex-start; font-size: 1.1rem; }
.neden .tik { flex: none; width: 36px; height: 36px; border-radius: 8px; background: var(--koyu); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; }

/* --- Sınavlar ve duyurular --- */
.sinav-satir { display: flex; gap: 1.1rem; align-items: center; background: #fff; border: 1px solid var(--cizgi); border-radius: 10px; padding: .9rem 1.1rem; margin-bottom: .75rem; }
.sinav-tarih { flex: none; width: 64px; text-align: center; border-right: 1px solid var(--cizgi); padding-right: 1rem; line-height: 1.1; }
.sinav-tarih .gun { font-family: var(--baslik-font); font-weight: 800; font-size: 2rem; }
.sinav-tarih .ay { font-size: .85rem; font-weight: 600; text-transform: uppercase; color: var(--ana-koyu); }
.duyuru-baglanti { display: block; text-decoration: none; color: var(--koyu); padding: 1rem 0; border-bottom: 1px solid var(--cizgi); }
.duyuru-baglanti .tarih { display: block; font-size: .875rem; color: var(--soluk); }
.duyuru-baglanti .baslik { display: block; font-size: 1.2rem; font-weight: 700; }
.duyuru-baglanti:hover .baslik { color: var(--ana-koyu); }

/* --- Yorumlar --- */
.koyu-bolum { background: var(--koyu); color: var(--zemin); margin-top: 2rem; }
.koyu-bolum .bolum { padding-bottom: 5rem; }
.yorum-kart { margin: 0; background: #2F2A2C; border-radius: 12px; padding: 1.75rem; height: 100%; display: flex; flex-direction: column; gap: 1rem; }
.yorum-kart .yildiz { color: #F5B301; font-size: 1.25rem; letter-spacing: 2px; }
.yorum-kart .yildiz .bos { color: #5E585A; }
.yorum-kart blockquote { margin: 0; font-size: 1.1rem; color: #E9E6E0; flex-grow: 1; }
.yorum-kart figcaption { font-weight: 700; }

/* --- Ön kayıt --- */
.form-kart { background: #fff; border: 1px solid var(--cizgi); border-top: 6px solid var(--ana-renk); border-radius: 12px; padding: 2rem; }
.form-kart .form-control, .form-kart .form-select { min-height: 48px; border-color: #B9B3A9; }
.form-kart .form-label { font-weight: 600; font-size: .95rem; }
.iletisim-liste { display: flex; flex-direction: column; gap: .5rem; margin-top: 1.5rem; }
.iletisim-liste a { color: var(--koyu); text-decoration: none; font-weight: 700; font-size: 1.25rem; }
.iletisim-liste a.eposta { color: var(--ana-koyu); font-size: 1.05rem; }

/* --- Alt bilgi --- */
.site-footer { background: #1A1718; color: #CFCAC2; font-size: .95rem; margin-top: 4rem; }
.yol-cizgisi { height: 6px; background: repeating-linear-gradient(90deg, var(--ana-renk) 0 40px, var(--zemin) 40px 80px); }
.footer-ad { font-family: var(--baslik-font); font-weight: 800; font-size: 1.75rem; text-transform: uppercase; color: #fff; }
.footer-liste { display: flex; flex-direction: column; gap: .4rem; }
.footer-liste a { color: #CFCAC2; }
.footer-liste a:hover { color: #fff; }
.footer-baslik { color: #fff; font-weight: 700; margin-bottom: .25rem; }
.footer-alt { border-top: 1px solid #3A3537; padding: 1.1rem 0 1.5rem; font-size: .875rem; }

.whatsapp-btn { position: fixed; right: 20px; bottom: 20px; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.75rem; box-shadow: 0 4px 12px rgba(0,0,0,.2); z-index: 1000; }
.whatsapp-btn:hover { color: #fff; }

/* --- Çatı site --- */
.hero { background: var(--koyu); color: var(--zemin); padding: 4.5rem 0 4rem; border-bottom: 6px solid var(--ana-renk); }
.hero h1 { font-family: var(--baslik-font); font-weight: 800; text-transform: uppercase; }
.cati-kart { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--cizgi); height: 100%; }
.cati-kart .ust { height: 6px; }
.cati-logo { height: 64px; width: auto; max-width: 100%; }

/* --- İçerik sayfaları --- */
.icerik img { max-width: 100%; height: auto; border-radius: .5rem; margin: .5rem 0; }
.icerik h2, .icerik h3 { margin-top: 1.75rem; }
.icerik blockquote { border-left: 4px solid var(--ana-renk); padding: .25rem 0 .25rem 1rem; margin: 1.25rem 0; color: #4a4f57; }
.icerik a { color: var(--ana-koyu); }

.duyuru-satir { display: flex; gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--cizgi); }
.duyuru-gorsel { flex: 0 0 200px; }
.duyuru-gorsel img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: .5rem; }
@media (max-width: 575px) { .duyuru-satir { flex-direction: column; } .duyuru-gorsel { flex-basis: auto; } }

.galeri-foto img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: .5rem; transition: opacity .15s; }
.galeri-foto:hover img { opacity: .85; }
