/* public/index.html stilleri (V-171 md. 5: Bölge A'da satır içi stil yok). */
:root{
  /* ABÜ KURUMSAL KİMLİK KILAVUZU renkleri (tek kaynak — göz kararı renk EKLENMEZ):
       #183f73  ana lacivert   — başlıklar, birincil buton, marka
       #00abc8  turkuaz        — TEK vurgu rengi (aktif sekme, ikon, madde imi)
       #002554  koyu lacivert  — altbilgi ve derin yüzeyler
       #ffffff  beyaz          — kart/kutu zemini
     Ek olarak siyah–beyaz serbesttir; gövde metni siyah tabanlı nötr griden türer.
     NOT: Sayfanın eski sürümündeki altın (#ffa500) kurumsal palette YOKTUR, kaldırıldı.
     Tipografi: Poppins. Düz boxed kartlar (10px köşe), mütevazı başlıklar. */
  --lacivert:#183f73;--lacivert-koyu:#122f57;--lacivert-dip:#002554;
  --lacivert-40:rgba(24,63,115,.06);--lacivert-cizgi:rgba(24,63,115,.14);
  /* --turkuaz-koyu METİN için kullanılır: saf #00abc8 beyaz üzerinde 1,9:1,
     #00879e ise 4,23:1 — ikisi de küçük metin AA eşiğini (4,5:1) geçmez.
     #006678 beyaz üzerinde 6,6:1 verir ve aynı kurumsal turkuazın koyu tonudur. */
  --turkuaz:#00abc8;--turkuaz-koyu:#006678;--turkuaz-sis:rgba(0,171,200,.13);
  --murekkep:#1c1c1c;--gri-600:#59616e;--gri-300:#dde2e9;
  --zemin:#f4f6f9;--kutu:#ffffff;
  --kart-radius:10px;--kutu-radius:16px;
  --golge-kutu:0 1px 2px rgba(16,24,40,.04), 0 12px 32px -16px rgba(16,24,40,.10);
  --golge-kart-hover:0 10px 24px -12px rgba(16,24,40,.16);
  --gecis:cubic-bezier(.2,.7,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;height:100%;background:var(--zemin)}
body{
  font-family:Calibri,Carlito,'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
  background:transparent;color:var(--murekkep);line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;min-height:100dvh; /* eski/yeni tarayıcı + mobil adres çubuğu farkı */
  display:flex;flex-direction:column;position:relative;
}
/* Kurumsal kampüs fotoğrafı, sabit ve profesyonelce soluklaştırılmış arka plan katmanı.
   Güçlü açık örtü (—zemin renginde %86→%94 opaklık) fotoğrafı zarif/mat bir zemine
   çevirir; üstteki boxed beyaz kartlar ve metin her zaman net okunur. position:fixed
   pseudo-eleman kullanılır (background-attachment:fixed'in mobil/iOS sorunları yaşanmaz).
   Görsel yüklenemezse yalnızca gradyan (—zemin) kalır → kırık görsel çıkmaz. */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(244,246,249,.90) 0%, rgba(244,246,249,.86) 45%, rgba(244,246,249,.94) 100%),
    url('/assets/kampus-arkaplan.jpg');
  background-size:cover;background-position:center 32%;background-repeat:no-repeat;
}
main{flex:1 0 auto} /* içerik kısa olsa da altbilgiyi ekranın en altına iter */
a{color:inherit}
img{max-width:100%;display:block}
/* Odak halkası WCAG 2.1 SC 1.4.11 (3:1) gereği zemine göre değişir.
   #00abc8 açık zeminde 2,74:1 kalıyor; outline-offset halkayı kartın DIŞINA,
   kampüs fotoğrafının üstüne taşıdığı için orada 1,84:1'e kadar düşüyordu.
   Açık zeminlerde koyu turkuaz (#006678 → beyazda 6,62:1), koyu altbilgide ise
   parlak turkuaz (#00abc8 → 5,50:1) kullanılır. İkisi de kurumsal palettendir. */
:focus-visible{outline:2px solid var(--turkuaz-koyu);outline-offset:3px;border-radius:4px}
footer :focus-visible{outline-color:var(--turkuaz)}
.kutu-genislik{max-width:1200px;margin:0 auto;padding-inline:clamp(18px,4vw,40px)}
.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Atlama bağlantısı klavyeyle odaklanınca GÖRÜNÜR olmalıdır. */
.sr:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;clip:auto;overflow:visible;
  padding:11px 18px;background:var(--lacivert);color:#fff;border-radius:8px;z-index:200;
  font-size:14px;font-weight:600;text-decoration:none;box-shadow:var(--golge-kart-hover)}

/* ── ÜST BAR (boxed, beyaz — üniversite header desenine sadık) ─────── */

/* ── HERO (boxed kart — dramatik degrade YOK) ───────────────────────── */
.hero-saran{padding-block:clamp(28px,4vw,48px)}
.hero{
  position:relative;overflow:hidden;background:var(--kutu);border:1px solid var(--gri-300);
  border-radius:var(--kutu-radius);box-shadow:var(--golge-kutu);
  padding:clamp(32px,5vw,56px) clamp(24px,5vw,56px);
}
.hero::before{ /* ince, düşük kontrastlı köşe deseni — dekoratif, hareketsiz */
  content:"";position:absolute;top:-40%;right:-12%;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(24,63,115,.06) 0%,rgba(24,63,115,0) 68%);pointer-events:none;
}
/* Ölçü sınırları KALDIRILDI (kullanıcı isteği): metinler bulundukları kutuyu
   tam kullansın. Tipografik norm 45-75 karakterdir; burada bilerek aşılıyor. */
.hero-metin{position:relative;z-index:1}
.rozet{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--lacivert);background:var(--lacivert-40);
  padding:6px 12px;border-radius:6px;margin-bottom:18px}
h1{font-weight:700;font-size:clamp(1.7rem,1.3rem + 1.8vw,2.5rem);line-height:1.24;letter-spacing:-.2px;color:var(--lacivert)}
.hero-alt{margin-top:14px;font-size:1rem;color:var(--gri-600);line-height:1.75}
.hero-cta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-radius:6px;
  padding:11px 20px;font-size:14.5px;font-weight:600;transition:.2s var(--gecis);border:1px solid transparent;
  line-height:1.3;cursor:pointer;font-family:inherit}
.btn-birincil{background:var(--lacivert);color:#fff}
.btn-birincil:hover{background:var(--lacivert-koyu)}
.btn-ikincil{background:var(--kutu);color:var(--lacivert);border-color:var(--gri-300)}
.btn-ikincil:hover{background:var(--lacivert-40);border-color:var(--lacivert-cizgi)}

/* ── METİN HİZASI (iki yana yaslı) ────────────────────────────────────
   Uzun ölçülü gövde metinleri iki yana yaslanır; yaslama daima hyphens:auto ile
   birlikte verilir (html lang="tr").

   YASLAMA YALNIZCA GENİŞ SÜTUNLARDA. Canlıda ölçüldü (1440px, Chrome): yaslama
   dar sütunda tek bir kelime arasını satırın beşte birine kadar açıyor —
     hero girişi   623px sütun → en geniş boşluk 19,4px (satırın %3,1)   ✔
     görev metni   723px sütun → 12,3px (%1,7)                            ✔
     çözüm kartı   221px sütun → 45,8px (%20,7)                           ✘
     faaliyet md.  295px sütun → 90,1px (%30,5)                           ✘
   Sebep: Chrome Türkçe tireleme sözlüğü uygulamadığı için dar ölçüde satırı
   dolduracak kırılma noktası bulamıyor ve boşlukları geriyor. Bu yüzden
   .kart p ve .kume li YASLANMAZ — dar ölçüde yaslama tipografik olarak hatalıdır.

   Ayrıca kasıtla yaslanmayanlar: başlıklar, butonlar, rozetler, sekme etiketleri,
   adres/künye satırları ve personel kartları (tek satırlık ya da kısa veri alanı). */
.hero-alt,
.bolum-baslik p,
.gorev-metin,
.gorev-alt-kutu p{
  text-align:justify;
  text-justify:inter-word;
  -webkit-hyphens:auto;hyphens:auto;
}
/* Dar ekranda bu paragraflar da ~274px'e iniyor ve yaslama orada bozuluyor
   (ölçüldü: tek kelime arası satırın %38,9'u). Ölçü yetmeyince sola yaslanır. */
@media(max-width:760px){
  .hero-alt,
  .bolum-baslik p,
  .gorev-metin,
  .gorev-alt-kutu p{text-align:start}
}

/* ── BÖLÜM İSKELETİ ───────────────────────────────────────────────── */
.bolum{padding-block:clamp(40px,6vw,64px)}
.bolum-baslik{margin-bottom:28px}
.bolum-etiket{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--lacivert);
  margin-bottom:8px}
h2{font-size:clamp(1.3rem,1.1rem+.8vw,1.6rem);font-weight:700;letter-spacing:-.2px;color:var(--murekkep)}
.bolum-baslik p{margin-top:8px;color:var(--gri-600);font-size:.96rem;line-height:1.7}

/* ── DİJİTAL ÇÖZÜM KARTLARI (boxed grid) ──────────────────────────── */
.kartlar{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.kart{position:relative;background:var(--kutu);border:1px solid var(--gri-300);border-radius:var(--kart-radius);
  padding:24px 22px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;
  transition:transform .3s var(--gecis),box-shadow .3s var(--gecis),border-color .3s var(--gecis);
  opacity:0;transform:translateY(14px)}
.kart.gorunur{opacity:1;transform:none}
.kart:hover{transform:translateY(-3px);box-shadow:var(--golge-kart-hover);border-color:var(--gri-300)}
.kart-ikon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;
  background:var(--lacivert-40);color:var(--lacivert)}
.kart h3{font-size:1.05rem;font-weight:650;letter-spacing:-.1px}
.kart p{color:var(--gri-600);font-size:.9rem;flex:1;line-height:1.55}
.kart-alt{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.durum{font-size:11px;font-weight:700;letter-spacing:.6px;padding:4px 10px;border-radius:6px;
  background:var(--turkuaz-sis);color:var(--turkuaz-koyu);white-space:nowrap}
.kart-ok{color:var(--lacivert);font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:5px;
  transition:gap .25s var(--gecis);white-space:nowrap}
.kart:hover .kart-ok{gap:9px}

/* ── MÜDÜRLÜK: boxed kart içinde sekmeler ─────────────────────────── */
.mudurluk-kutu{background:var(--kutu);border:1px solid var(--gri-300);border-radius:var(--kutu-radius);
  box-shadow:var(--golge-kutu);overflow:hidden}
.sekme-serit{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--gri-300);
  padding-inline:clamp(12px,2.5vw,20px);background:#fbfcfd}
.sekme{font-family:inherit;font-size:14px;font-weight:600;color:var(--gri-600);
  background:none;border:0;border-bottom:2px solid transparent;padding:15px 14px;
  cursor:pointer;transition:.2s var(--gecis);white-space:nowrap;margin-bottom:-1px}
.sekme:hover{color:var(--lacivert)}
/* Aktif sekme çizgisi durum göstergesidir → SC 1.4.11 gereği 3:1 şart.
   #00abc8 şerit üzerinde 2,67:1 kalıyordu; #006678 ile 6,12:1.
   font-weight DEĞİŞTİRİLMEZ: aktif sekme kalınlaşırsa genişliği değişir ve
   sekme şeridi her geçişte zıplar. Renkten bağımsız ipucu zaten var —
   çizginin kendisi yalnızca aktif sekmede beliriyor. */
.sekme[aria-selected="true"]{color:var(--lacivert);border-bottom-color:var(--turkuaz-koyu)}
.panel{padding:clamp(24px,3.5vw,36px)}
.panel[hidden]{display:none}

.gorev-metin{font-size:1rem;line-height:1.85;color:var(--murekkep)}
.gorev-metin strong{font-weight:600;color:var(--lacivert)}
.gorev-alt-kutu{margin-top:24px;padding:20px 22px;background:var(--zemin);
  border:1px solid var(--gri-300);border-left:3px solid var(--turkuaz);
  border-radius:0 var(--kart-radius) var(--kart-radius) 0}
.gorev-alt-kutu p{font-size:.94rem;color:var(--gri-600);line-height:1.75}
.gorev-alt-kutu b{color:var(--lacivert);font-weight:600}

.faaliyet-izgara{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:780px){.faaliyet-izgara{grid-template-columns:repeat(3,1fr)}}
.kume{background:var(--zemin);border:1px solid var(--gri-300);border-radius:var(--kart-radius);padding:22px 20px}
.kume-ikon{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;
  background:var(--lacivert);color:var(--turkuaz);margin-bottom:14px}
.kume h3{font-size:1rem;font-weight:650;color:var(--lacivert);letter-spacing:-.1px;margin-bottom:12px}
.kume ul{list-style:none;display:grid;gap:10px}
.kume li{font-size:.89rem;color:var(--gri-600);line-height:1.6;padding-left:17px;position:relative}
.kume li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;
  border-radius:50%;background:var(--turkuaz)}

.personel-izgara{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:640px){.personel-izgara{grid-template-columns:repeat(2,1fr)}}
.personel{background:var(--kutu);border:1px solid var(--gri-300);border-radius:var(--kart-radius);
  padding:16px;display:flex;gap:13px;align-items:flex-start;
  transition:box-shadow .3s var(--gecis),border-color .3s var(--gecis)}
.personel:hover{box-shadow:var(--golge-kart-hover);border-color:var(--lacivert-cizgi)}
.bas-harf{width:44px;height:44px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;
  background:var(--lacivert);color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.4px}
.personel-bilgi{min-width:0;flex:1}
.personel-ad{font-size:1rem;font-weight:650;color:var(--lacivert);letter-spacing:-.1px;line-height:1.35}
.personel-gorev{margin-top:2px;font-size:.83rem;color:var(--turkuaz-koyu);line-height:1.45}
/* Kompakt kişi kartı: unvan ile iletişim satırları arasındaki boşluk 12px→7px,
   satırlar arası 6px→1px. Bağlantıların padding-block:2px olması satır kutusunu
   26px yapar — dokunma hedefi alt sınırı 24px, altına İNMEZ. */
.personel-iletisim{margin-top:7px;display:grid;gap:1px}
.personel-iletisim a{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;
  color:var(--gri-600);text-decoration:none;transition:.2s var(--gecis);word-break:break-word;
  padding-block:2px}
.personel-iletisim a:hover{color:var(--lacivert)}
.personel-iletisim svg{flex-shrink:0;color:#9aa4b2}
.dahili{color:var(--lacivert);font-weight:600}

/* ── ALTBİLGİ (koyu lacivert — üniversite footer'ıyla eşleşir) ─────── */
footer{background:var(--lacivert-dip);color:#c3cfdd;margin-top:12px;flex-shrink:0}
.alt-ic{padding-block:48px 32px;display:grid;grid-template-columns:1fr;gap:32px;text-align:center;justify-items:center}
.alt-marka{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.alt-ic h4{color:#fff;font-size:.86rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}
.alt-marka h4{margin-bottom:0}
.alt-ic p,.alt-ic a{font-size:.88rem;color:#c3cfdd;text-decoration:none;line-height:1.85}
.alt-ic a:hover{color:var(--turkuaz)}
.alt-ic p a{display:inline-block;padding-block:4px} /* dokunma hedefi ≥ 24px */
.sosyal{display:flex;gap:10px;margin-top:16px;justify-content:center;flex-wrap:wrap}
.sosyal a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);
  display:grid;place-items:center;color:#c3cfdd;transition:.2s var(--gecis)}
.sosyal a:hover{background:var(--turkuaz);color:var(--lacivert-dip)}
.telif{border-top:1px solid rgba(255,255,255,.12);padding-block:18px;text-align:center;font-size:.82rem;color:#8ea0b5}

@media (min-width:860px){
  .alt-ic{grid-template-columns:repeat(3,1fr);text-align:left;justify-items:start}
  .alt-marka,.sosyal{justify-content:flex-start}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;scroll-behavior:auto!important}
  .kart{opacity:1!important;transform:none!important}
}
.alt-marka-logo{background:#fff;border-radius:50%;padding:3px;flex-shrink:0}
