/* css/duzeltmeler.css — 21.09.2026
   Temadan gelen sorunlarin ustune yazan tek dosya. Tema dosyalarina
   dokunulmuyor; bu dosya en sonda yukleniyor.
   1) Menu: 9 madde genis ekranda tek satira sigsin.
   2) Ikon fontlari (FontAwesome/Flaticon) artik sayfalara bagli; kutucuk yok.
   3) Mobil: menu ve baslik taşmalarini engelle. */

/* ── 1) Ust menu ─────────────────────────────────────────────────────── */
@media (min-width: 992px) {
  ul.ace-responsive-menu > li > a {
    padding: 18px 12px !important;
    font-size: 14px !important;
    letter-spacing: 0.2px;
    white-space: nowrap;
  }
  ul.ace-responsive-menu > li > a > .arrow { margin-left: 4px; }
  ul.ace-responsive-menu { white-space: nowrap; }
}
@media (min-width: 992px) and (max-width: 1280px) {
  ul.ace-responsive-menu > li > a { padding: 18px 8px !important; font-size: 13px !important; }
}

/* ── 2) Ikon fontu yuklenmezse kutucuk gosterme ──────────────────────── */
.ace-responsive-menu .arrow:before { font-family: FontAwesome, sans-serif; }

/* ── 3) Mobil duzeltmeleri ───────────────────────────────────────────── */
@media (max-width: 767px) {
  h1, .slider_title, .banner_title { font-size: 28px !important; line-height: 1.25 !important; word-break: break-word; }
  h2 { font-size: 24px !important; line-height: 1.3 !important; }
  img, video, iframe, table { max-width: 100%; height: auto; }
  body { overflow-x: hidden; }
  .container, .container-fluid { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ── 4) Yazi tipleri yuklenirken metin gorunsun (FOIT yerine FOUT) ────── */
@font-face { font-family: FontAwesome; font-display: swap; src: local("FontAwesome"); }

/* ── 5) Slider ok yazilari tek satir ──────────────────────────────────── */
.slick-prev, .slick-next, .cs_slider_nav, .slider_nav_text { white-space: nowrap !important; }

/* ── 6) Menu genisligi: 9 madde her ekranda tek satir ────────────────── */
@media (min-width: 992px) {
  ul.ace-responsive-menu > li > a { padding: 18px 10px !important; font-size: 14px !important; letter-spacing: 0 !important; }
  ul.ace-responsive-menu > li > a > .arrow { margin-left: 3px; width: 8px; }
  .navbar_brand span { font-size: 18px !important; }
}
@media (min-width: 1200px) and (max-width: 1439px) {
  ul.ace-responsive-menu > li > a { padding: 18px 8px !important; font-size: 13px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  ul.ace-responsive-menu > li > a { padding: 18px 6px !important; font-size: 12px !important; }
  .navbar_brand span { font-size: 16px !important; }
}
/* Ust menu maddesi artik baglanti degil: imlec yine el olsun */
.ace-responsive-menu > li > a.menu-ust { cursor: pointer; }

/* ── 7) Ust menu dikey hizasi (21.09, 2. tur) ─────────────────────────
   Sorun: yukaridaki daraltma kurallari `padding: 0 Npx` yazarak temanin
   `padding: 18px 20px 18px 5px` degerindeki DIKEY boslugunu da siliyordu;
   menu maddeleri baslik seridinin ust kenarina yapisiyor, logo altta
   kaliyordu. Cozum: yatay boslugu daralt, dikey 18px'i koru (yukarida
   `18px Npx` olarak yazildi). Tema dosyalarina dokunulmadi. */
@media (min-width: 992px) {
  /* "Ana Sayfa" (oksuz madde) digerlerinden birkac px yukarida kaliyordu:
     baslik ve ok ayni dikey eksene otursun. */
  ul.ace-responsive-menu > li > a > .title,
  ul.ace-responsive-menu > li > a > .arrow { vertical-align: middle; line-height: 20px; }
}

/* ── 8) Alt menu: sabit 260px kutuya sigmayan maddeler tasiyordu ───────
   Kutu icerige gore genislesin, madde tek satir kalsin; alt menu ait
   oldugu maddenin altinda acilsin (temanin -180px kaydirmasi kalkti);
   ikinci seviye (Cikmis Sorular, Konulara Gore) sabit 185px yerine
   kutunun sag kenarindan acilsin. */
@media (min-width: 992px) {
  header.header-nav.menu_style_home_one .ace-responsive-menu li ul.sub-menu li {
    width: auto !important;
    min-width: 230px;
  }
  header.header-nav.menu_style_home_one .ace-responsive-menu li ul.sub-menu li a {
    white-space: nowrap;
    font-size: 15px !important;
  }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu {
    margin-left: 0 !important;
  }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu:before {
    left: 25px !important;
  }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu > li ul.sub-menu {
    left: 100% !important;
    top: -15px;
    margin-left: 2px;
    padding-left: 0 !important;
  }
  /* Menu saga yasli (blok 10): son iki maddenin ucuncu seviyesi saga
     acilinca ekran disina tasiyordu (Sinavlar > Cikmis Sorular, Videolar >
     Konulara Gore). Ucuncu seviye SOLA acilsin; solda her zaman yer var. */
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu > li ul.sub-menu {
    left: auto !important;
    right: 100% !important;
    margin-left: 0;
    margin-right: 2px;
  }
  /* 3. seviye (Konulara Gore: 15 madde) tek sutunda ekrana sigmiyordu ve
     ana kutunun altindan basliyordu (Ahmet, 21.09 ekran goruntusu). Kutu
     2. seviye kutunun UST kenarina hizalanir (li static, ul relative), iki
     sutun ve sik satirlarla ~8 satira iner. */
  /* 22.09 DUZELTME: burada `position: relative` yaziyordu. Relative
     konumlandirma ogeyi AKISTA birakir; 1. seviye kutu acilinca basligin
     kendisi kutunun boyu kadar uzuyordu (olculdu: baslik 80px -> 457px,
     hero 377px asagi itiliyordu). Ayni hizalama referansi `absolute` ile
     de elde edilir (her ikisi de konumlandirilmis ata sayilir), ustelik
     kutu akis disinda kalir. Temanin kendi degeri de absolute'dur;
     asagidaki satir onu yalniz acikca tekrar eder. */
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu { position: absolute; }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu > li { position: static !important; }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu > li ul.sub-menu {
    top: 0 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 6px;
    width: 480px !important;
    padding: 10px 12px !important;
  }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu > li ul.sub-menu > li {
    width: auto !important;
    min-width: 0;
    float: none !important;
  }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li > ul.sub-menu > li ul.sub-menu > li > a {
    padding: 9px 12px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }
}

/* ── 9) Mobil: sayfa sola/saga tasmasin ─────────────────────────────────
   NOT (21.09, kapandi): "hamburger gorunmuyor" bulgusu OLCUM HATASIYDI.
   Headless Chrome pencereyi en az 500px yapiyor; 390px ekran goruntusu
   sayfanin sol 390px'ini kirpiyordu, dugme sagda kirpilan bolgedeydi.
   Gercek 390px goruntu (iframe ile) dugmeyi gosteriyor. Asil tasma sebebi
   /ss/* kartlarindaki kapanmamis .row'lardi (scripts/ss_yapi_onar.py). */
@media (max-width: 992px) {
  html, body { overflow-x: hidden; max-width: 100vw; }
}

/* ── 10) Ust menu: buyuk ve dengeli (Ahmet, 21.09 "cok kucuk duruyor") ──
   5 maddeye inince yer acildi: yazi 16px, maddeler arasi genis, menu SAGA
   yasli (logo sol, menu sag) ve logoyla ayni yatay eksende. Flex DENENDI,
   temanin sabitlenen baslik betigini (scrolltofixed) bozuyor; float ve
   ust bosluk ile hizalandi. */
@media (min-width: 992px) {
  header.header-nav.menu_style_home_one ul.ace-responsive-menu {
    width: auto !important;
    float: right !important;
    margin-top: 17px !important;
    background: transparent !important;
  }
  header.header-nav.menu_style_home_one ul.ace-responsive-menu > li > a {
    padding: 18px 14px !important;
    font-size: 16px !important;
    letter-spacing: 0.3px !important;
  }
  header.header-nav.menu_style_home_one ul.ace-responsive-menu > li:last-child > a { padding-right: 0 !important; }
  header.header-nav.menu_style_home_one ul.ace-responsive-menu > li > a > .arrow { margin-left: 5px; }
  header.header-nav.menu_style_home_one .navbar_brand span { font-size: 22px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  header.header-nav.menu_style_home_one ul.ace-responsive-menu > li > a { padding: 18px 9px !important; font-size: 14px !important; }
}

/* ── 11) /ss/* kartlari: <ul> olmadan yazilmis <li> madde imi gosteriyordu ── */
.img_hvr_box .details li { list-style: none; }

/* ── 12) /sinavlar/* geri sayim sayfalari (yeni tasarim, 21.09) ───────────
   Uretici: scripts/sinav_sayfa_uygula.py · veri: sinavlar/js/sinav-takvimi.js
   Tema renkleri: #2441e7 (ana), #192675 (koyu), #f9fafc (zemin). Parilti ve
   dekoratif gradyan yok. */
.gs-sayfa { padding: 60px 0 70px; background: #fff; }
.gs-sayfa .gs-baslik { margin-bottom: 34px; }
.gs-sayfa .gs-baslik h2 { font-family: "Nunito", sans-serif; font-size: 32px; font-weight: 700; color: #0a0a0a; margin-bottom: 12px; }
.gs-one-cikan { font-size: 16px; color: #192675; margin: 0 0 6px; }
.gs-durum { font-size: 16px; line-height: 1.75; max-width: 780px; margin: 0 auto; color: #484848; }
.gs-durum a { color: #2441e7; }
.gs-sayac { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin: 0 auto 26px; }
.gs-sayac[hidden] { display: none; }
.gs-kutu { flex: 0 0 160px; background: #f9fafc; border: 1px solid #e6e8f2; border-radius: 12px; padding: 24px 10px 18px; text-align: center; }
.gs-sayi { display: block; font-family: "Nunito", sans-serif; font-size: 56px; font-weight: 700; line-height: 1; color: #192675; font-variant-numeric: tabular-nums; }
.gs-etiket { display: block; margin-top: 10px; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: #7a7a8c; }
.gs-bilgi { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 50px; }
.gs-bilgi:empty { display: none; }
.gs-cip { background: #f4f5fa; border-radius: 999px; padding: 8px 16px; font-size: 14px; color: #484848; }
.gs-cip a { color: #2441e7; }
.gs-alt-baslik { font-family: "Nunito", sans-serif; font-size: 20px; font-weight: 700; color: #0a0a0a; margin: 0 0 18px; }
.gs-liste { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 44px; }
.gs-kart { display: block; background: #fff; border: 1px solid #e6e8f2; border-radius: 12px; padding: 18px 18px 16px; color: #0a0a0a; transition: border-color .2s, transform .2s; }
.gs-kart:hover, .gs-kart:focus { border-color: #2441e7; color: #0a0a0a; text-decoration: none; transform: translateY(-2px); }
.gs-kart.gs-secili { border-color: #2441e7; box-shadow: inset 0 0 0 1px #2441e7; }
.gs-kart-kisa { display: block; font-family: "Nunito", sans-serif; font-size: 22px; font-weight: 700; color: #192675; }
.gs-kart-uzun { display: block; font-size: 13px; line-height: 1.45; color: #7a7a8c; min-height: 38px; margin: 2px 0 10px; }
.gs-kart-tarih { display: block; font-size: 15px; font-weight: 600; }
.gs-rozet { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 600; padding: 4px 11px; border-radius: 999px; background: #eef1fd; color: #2441e7; }
.gs-rozet.gs-bitti { background: #f1f1f1; color: #777; }
.gs-baglantilar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 30px; }
.gs-baglanti { display: block; border: 1px solid #e6e8f2; border-radius: 12px; padding: 16px 18px; color: #0a0a0a; transition: border-color .2s; }
.gs-baglanti:hover, .gs-baglanti:focus { border-color: #2441e7; color: #0a0a0a; text-decoration: none; }
.gs-baglanti strong { display: block; font-size: 16px; color: #192675; margin-bottom: 3px; }
.gs-baglanti span { font-size: 13px; color: #7a7a8c; }
.gs-kaynak { font-size: 13px; color: #7a7a8c; text-align: center; margin: 0; line-height: 1.7; }
@media (max-width: 991px) {
  .gs-liste, .gs-baglantilar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gs-sayfa { padding: 44px 0 56px; }
}
@media (max-width: 480px) {
  .gs-sayfa .gs-baslik h2 { font-size: 26px; }
  .gs-sayac { gap: 10px; }
  .gs-kutu { flex-basis: calc(50% - 5px); padding: 18px 8px 14px; }
  .gs-sayi { font-size: 40px; }
  .gs-liste { gap: 10px; }
  .gs-kart { padding: 14px; }
  .gs-kart-kisa { font-size: 18px; }
  .gs-baglantilar { grid-template-columns: 1fr; }
}

/* ── 13) UniConnectly tanitim + blog kutusu (scripts/uniconnectly_blok.py) ── */
.uc-blok { background: #f9fafc; border-top: 1px solid #e6e8f2; padding: 56px 0 64px; }
.uc-tanitim { display: grid; grid-template-columns: 0.9fr 1.35fr; gap: 32px; align-items: stretch; background: #fff; border: 1px solid #e6e8f2; border-radius: 14px; padding: 32px 34px; margin-bottom: 40px; }
.uc-etiket { display: block; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #2441e7; margin: 0 0 10px; }
.uc-tanitim h3 { font-family: "Nunito", sans-serif; font-size: 26px; font-weight: 700; color: #0a0a0a; margin: 0 0 12px; }
.uc-tanitim p { font-size: 15px; line-height: 1.7; color: #484848; max-width: 760px; margin-bottom: 0; }
.uc-faydalar { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.uc-faydalar li { position: relative; padding: 10px 12px 10px 44px; font-size: 13px; line-height: 1.45; color: #0a0a0a; background: #fff; border: 1px solid #e6e8f2; border-radius: 10px; transition: border-color .2s, transform .2s; }
.uc-faydalar li:hover { border-color: #c9cff5; transform: translateX(2px); }
.uc-faydalar li::before { content: '✓'; position: absolute; left: 12px; top: 11px; width: 22px; height: 22px; border-radius: 50%; background: #2441e7; color: #fff; font-size: 12px; font-weight: 700; line-height: 22px; text-align: center; }
.uc-dugmeler { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.uc-dugmeler .btn-thm { padding: 10px 24px; font-size: 15px; color: #fff; }
.uc-dugmeler .btn-thm:hover { color: #fff; background: #192675; border-color: #192675; }
.uc-ikincil { color: #2441e7; font-weight: 600; font-size: 15px; }
.uc-alt-baslik { font-family: "Nunito", sans-serif; font-size: 20px; font-weight: 700; color: #0a0a0a; margin: 0 0 16px; }
.uc-yazilar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 36px; }
.uc-yazi { display: block; background: #fff; border: 1px solid #e6e8f2; border-radius: 12px; overflow: hidden; color: #0a0a0a; transition: border-color .2s, transform .2s; }
.uc-yazi:hover, .uc-yazi:focus { border-color: #2441e7; color: #0a0a0a; text-decoration: none; transform: translateY(-2px); }
.uc-yazi img { display: block; width: 100%; height: auto; aspect-ratio: 1.9 / 1; object-fit: contain; background: #eef0f6; }
.uc-yazi-etiket { display: block; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #2441e7; padding: 12px 14px 4px; }
.uc-yazi-baslik { display: block; padding: 0 14px 14px; font-size: 14px; font-weight: 600; line-height: 1.45; }
@media (max-width: 991px) {
  .uc-yazilar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .uc-blok { padding: 40px 0 48px; }
  .uc-tanitim { padding: 22px 18px; }
  .uc-tanitim h3 { font-size: 22px; }
  .uc-yazilar { grid-template-columns: 1fr 1fr; gap: 10px; }
  .uc-yazi-baslik { font-size: 13px; padding: 0 10px 12px; }
  .uc-yazi-etiket { padding: 10px 10px 3px; }
}

/* ── 14) /ss/* cikmis sorular yeni tasarim (scripts/ss_sayfa_uygula.py) ────── */
.cs-sayfa { padding: 56px 0 64px; background: #fff; }
.cs-sayfa .main-title { margin-bottom: 34px; }
.cs-sayfa .main-title h3 { font-size: 30px; }
.cs-sayfa .main-title p { max-width: 820px; margin: 0 auto; color: #484848; line-height: 1.75; }
.cs-ozet { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 36px; }
.cs-liste { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 26px; }
.cs-kart { display: flex; flex-direction: column; background: #fff; border: 1px solid #e6e8f2; border-radius: 12px; padding: 18px 18px 16px; color: #0a0a0a; transition: border-color .2s, transform .2s; }
.cs-kart:hover, .cs-kart:focus { border-color: #2441e7; color: #0a0a0a; text-decoration: none; transform: translateY(-2px); }
.cs-kart-yil { font-family: "Nunito", sans-serif; font-size: 30px; font-weight: 700; color: #192675; line-height: 1; }
.cs-kart-ad { font-size: 13px; color: #7a7a8c; margin: 6px 0 14px; line-height: 1.4; min-height: 36px; }
.cs-kart-dugme { margin-top: auto; display: inline-block; font-size: 13px; font-weight: 700; color: #2441e7; }
.cs-kart-dugme::after { content: ' ↗'; }
.cs-not { font-size: 13px; color: #7a7a8c; line-height: 1.7; text-align: center; max-width: 820px; margin: 0 auto 40px; }
.cs-diger { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cs-diger a { display: block; border: 1px solid #e6e8f2; border-radius: 10px; padding: 12px 14px; color: #0a0a0a; font-weight: 600; font-size: 14px; }
.cs-diger a:hover { border-color: #2441e7; text-decoration: none; color: #0a0a0a; }
.cs-diger a span { display: block; font-size: 12px; font-weight: 400; color: #7a7a8c; }
.cs-diger a.cs-secili { border-color: #2441e7; box-shadow: inset 0 0 0 1px #2441e7; }
@media (max-width: 991px) { .cs-liste, .cs-diger { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cs-sayfa { padding: 40px 0 48px; } }
@media (max-width: 480px) { .cs-liste { gap: 10px; } .cs-kart { padding: 14px; } .cs-kart-yil { font-size: 24px; } .cs-sayfa .main-title h3 { font-size: 24px; } }

/* UniConnectly kutusu: logo, magaza rozetleri, kapanis (Ahmet, 22.09) */
.uc-logo { display: block; width: 200px; margin: 0 0 12px; }
.uc-logo img { width: 200px; height: auto; display: block; }
.uc-magazalar { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.uc-magazalar-orta { justify-content: center; margin: 18px 0 14px; }
.uc-magaza img { height: 40px; width: auto; display: block; }
.uc-kapanis { text-align: center; background: #fff; border: 1px solid #e6e8f2; border-radius: 14px; padding: 36px 24px 30px; transition: border-color .2s; }
.uc-kapanis:hover { border-color: #2441e7; }
.uc-kapanis-baglanti { display: block; color: inherit; }
.uc-kapanis-baglanti:hover, .uc-kapanis-baglanti:focus { color: inherit; text-decoration: none; }
.uc-kapanis-baglanti:hover h3 { color: #2441e7; }
.uc-kapanis-baglanti img { width: 220px; height: auto; margin: 0 auto 14px; display: block; }
.uc-kapanis h3 { font-family: "Nunito", sans-serif; font-size: 26px; font-weight: 700; color: #192675; margin: 0 0 8px; }
.uc-kapanis p { font-size: 15px; color: #484848; margin: 0; }
@media (max-width: 480px) {
  .uc-kapanis h3 { font-size: 21px; }
  .uc-magaza img { height: 36px; }
}

/* /ss/* kartlari: eski tasarimdaki arka plan gorseli, hepsinde ayni (Ahmet, 22.09) */
.cs-kart.cs-kart-gorsel { position: relative; overflow: hidden; color: #fff; border: 0; min-height: 190px; background-size: cover; background-position: center; align-items: center; justify-content: center; text-align: center; padding: 22px 16px; }
.cs-kart.cs-kart-gorsel::before { content: ''; position: absolute; inset: 0; background: rgba(25, 38, 117, 0.4); transition: background .2s; }
.cs-kart.cs-kart-gorsel:hover::before { background: rgba(25, 38, 117, 0.5); }
.cs-kart.cs-kart-gorsel > span { position: relative; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75); }
.cs-kart.cs-kart-gorsel .cs-kart-yil { color: #fff; font-size: 34px; }
.cs-kart.cs-kart-gorsel .cs-kart-ad { color: #fff; min-height: 0; margin: 6px 0 10px; }
.cs-kart.cs-kart-gorsel .cs-kart-dugme { color: #fff176; margin-top: 0; font-size: 14px; }
.cs-kart.cs-kart-gorsel:hover, .cs-kart.cs-kart-gorsel:focus { color: #fff; }
.uc-faydalar li strong { display: block; color: #192675; font-size: 14px; margin-bottom: 2px; }
.uc-faydalar li > span { display: block; color: #484848; }
.uc-mono { font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 13px; background: #f4f5fa; padding: 1px 6px; border-radius: 4px; white-space: nowrap; }
.uc-tanitim-liste { background: #f4f5fa; border-radius: 14px; padding: 18px 20px 20px; display: flex; flex-direction: column; }
.uc-tanitim-liste h4 { font-family: "Nunito", sans-serif; font-size: 17px; font-weight: 700; color: #0a0a0a; margin: 14px 0 14px 4px; }
.uc-logo img { width: 220px; }
@media (max-width: 991px) { .uc-tanitim { grid-template-columns: 1fr; gap: 24px; padding: 28px 24px; } }
@media (max-width: 480px) { .uc-tanitim-liste { padding: 18px 16px; } .uc-logo img { width: 180px; } .uc-faydalar li { font-size: 13px; } .uc-faydalar li strong { font-size: 14px; } }
.uc-sekmeler { display: flex; flex-wrap: wrap; gap: 6px; background: #fff; border: 1px solid #e6e8f2; border-radius: 999px; padding: 4px; }
.uc-sekme { flex: 1 1 auto; border: 0; background: transparent; border-radius: 999px; padding: 8px 12px; font-size: 13px; font-weight: 700; color: #484848; cursor: pointer; font-family: inherit; transition: background .2s, color .2s; }
.uc-sekme:hover { color: #192675; }
.uc-sekme.uc-sekme-acik { background: #2441e7; color: #fff; }
.uc-panel[hidden] { display: none; }
.uc-rakamlar { display: flex; gap: 22px; flex-wrap: wrap; margin: 4px 0 20px; }
.uc-rakamlar div { border-left: 3px solid #2441e7; padding-left: 12px; }
.uc-rakamlar strong { display: block; font-family: "Nunito", sans-serif; font-size: 22px; font-weight: 700; color: #192675; line-height: 1.1; }
.uc-rakamlar span { font-size: 12px; color: #7a7a8c; }
.uc-tanitim-metin > p { margin-bottom: 18px; }
@media (max-width: 480px) { .uc-sekme { font-size: 12px; padding: 7px 8px; } .uc-faydalar li { padding: 10px 12px 10px 44px; } .uc-faydalar li::before { left: 11px; top: 11px; } .uc-rakamlar { gap: 14px; } }
.uc-baslik-satiri { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.uc-baslik-satiri .uc-alt-baslik { margin: 0; }
.uc-kategoriler { display: flex; flex-wrap: wrap; gap: 6px; }
.uc-kategori { border: 1px solid #e6e8f2; background: #fff; border-radius: 999px; padding: 6px 12px; font-size: 13px; font-weight: 600; color: #484848; cursor: pointer; font-family: inherit; transition: background .2s, color .2s, border-color .2s; }
.uc-kategori:hover { border-color: #2441e7; color: #192675; }
.uc-kategori.uc-kategori-acik { background: #2441e7; border-color: #2441e7; color: #fff; }
.uc-tumu { text-align: right; margin: -24px 0 36px; font-size: 14px; font-weight: 600; }
.uc-tumu[hidden] { display: none; }
.uc-tumu a { color: #2441e7; }
@media (max-width: 480px) { .uc-kategori { font-size: 12px; padding: 5px 10px; } .uc-tumu { text-align: center; margin-top: -20px; } }
.uc-ornek { display: inline-block; margin-top: 4px; font-weight: 700; color: #2441e7; border-bottom: 1px dashed #2441e7; }
.uc-ornek:hover { color: #192675; border-bottom-style: solid; }
.uc-tanitim-metin { padding-top: 6px; }
.uc-koyu { background: #192675; color: #fff; }
.uc-koyu .uc-etiket { color: #9fb0ff; }
.uc-koyu h3 { color: #fff; }
.uc-koyu > p { color: rgba(255, 255, 255, 0.86); }
.uc-koyu .uc-adimlar li::before { background: #fff; color: #192675; }
.uc-koyu .uc-adimlar strong { color: #fff; }
.uc-koyu .uc-adimlar span { color: rgba(255, 255, 255, 0.8); }
.uc-btn-acik { background: #fff; color: #192675; border: 2px solid #fff; border-radius: 6px; padding: 10px 24px; font-size: 15px; font-weight: 700; }
.uc-btn-acik:hover, .uc-btn-acik:focus { background: #eef1fd; color: #192675; text-decoration: none; }
.uc-koyu .uc-ikincil { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.uc-koyu .uc-magaza img { border-radius: 8px; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35); }
.uc-tanitim-metin h3 { font-size: 24px; }
.uc-tanitim-liste h4 { margin-top: 14px; }
@media (max-width: 991px) { .uc-faydalar { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .uc-faydalar { grid-template-columns: 1fr; } }
.uc-adimlar { list-style: none; counter-reset: adim; padding: 0; margin: 4px 0 22px; display: grid; gap: 10px; }
.uc-adimlar li { counter-increment: adim; position: relative; padding-left: 40px; font-size: 14px; line-height: 1.45; }
.uc-adimlar li::before { content: counter(adim); position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: #192675; color: #fff; font-family: "Nunito", sans-serif; font-weight: 700; font-size: 14px; line-height: 28px; text-align: center; }
.uc-adimlar strong { display: block; color: #192675; font-size: 15px; }
.uc-adimlar span { color: #484848; }
.uc-indir-not { font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #7a7a8c; margin: 6px 0 0; }
.uc-koyu .uc-magazalar { margin-top: 10px; }
.uc-dugmeler-sag { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; padding-top: 18px; }
@media (max-width: 640px) { .uc-dugmeler-sag { grid-template-columns: 1fr; } }
.uc-dugme { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 18px; border-radius: 10px; font-size: 15px; font-weight: 700; line-height: 1.2; text-align: center; transition: transform .2s, background .2s, border-color .2s, color .2s; }
.uc-dugme:hover, .uc-dugme:focus { transform: translateY(-2px); text-decoration: none; }
.uc-dugme .uc-ok { display: inline-block; transition: transform .2s; }
.uc-dugme:hover .uc-ok { transform: translateX(4px); }
.uc-dugme-cerceve { background: #fff; color: #192675; border: 1px solid #c9cff5; }
.uc-dugme-cerceve:hover, .uc-dugme-cerceve:focus { border-color: #2441e7; color: #2441e7; }
.uc-dugme-dolu { background: #2441e7; color: #fff; border: 1px solid #2441e7; }
.uc-dugme-dolu:hover, .uc-dugme-dolu:focus { background: #192675; border-color: #192675; color: #fff; }
@media (prefers-reduced-motion: reduce) { .uc-dugme, .uc-dugme .uc-ok, .uc-kart, .uc-yazi, .cs-kart { transition: none; } }

/* 22.09 mobil: kitle sekmeleri dar ekranda 2x2 esit izgara (tek sekme alt satira sarkmasin). */
@media (max-width: 480px) { .uc-sekmeler { display: grid; grid-template-columns: 1fr 1fr; border-radius: 16px; } .uc-sekme { padding: 9px 6px; } }

/* ── 15) Hakkimda (hk-*) — 22.09.2026, scripts/hakkimda_uygula.py ───────────
   Beyaz kart + acik panel dili (uc-* ile ayni tonlar). Parilti/gradyan yok. */
.hk-sayfa { padding: 56px 0 64px; background: #fff; }
.hk-hero { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 40px; align-items: center; margin-bottom: 36px; }
.hk-ust { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #2441e7; margin-bottom: 12px; }
.hk-hero h2 { font-family: "Nunito", sans-serif; font-size: 30px; line-height: 1.32; font-weight: 700; color: #0a0a0a; margin: 0 0 16px; }
.hk-giris { font-size: 16px; line-height: 1.7; color: #484848; margin-bottom: 22px; }
.hk-dugmeler { display: flex; flex-wrap: wrap; gap: 12px; }
.hk-dugmeler .uc-dugme { min-width: 200px; }
.hk-hero-gorsel { margin: 0; position: relative; border-radius: 16px; overflow: hidden; border: 1px solid #e6e8f2; background: #f4f5fa; }
.hk-hero-gorsel img { display: block; width: 100%; height: auto; }
.hk-hero-gorsel figcaption { position: absolute; left: 14px; bottom: 14px; background: rgba(255,255,255,0.94); color: #192675; font-size: 13px; font-weight: 700; padding: 8px 12px; border-radius: 999px; }
.hk-rakamlar { list-style: none; margin: 0 0 44px; padding: 22px 26px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; background: #f4f5fa; border: 1px solid #e6e8f2; border-radius: 14px; }
.hk-rakamlar li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; }
.hk-rakamlar strong { font-family: "Nunito", sans-serif; font-size: 30px; font-weight: 800; color: #192675; line-height: 1.1; }
.hk-rakamlar span { font-size: 13px; color: #6b6b6b; }
.hk-bolum-baslik { font-family: "Nunito", sans-serif; font-size: 24px; font-weight: 700; color: #0a0a0a; margin: 0 0 18px; }
.hk-kartlar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 44px; }
.hk-kart { display: flex; flex-direction: column; gap: 8px; padding: 22px 20px; background: #fff; border: 1px solid #e6e8f2; border-radius: 14px; color: #484848; text-decoration: none; transition: transform .2s, border-color .2s, box-shadow .2s; }
.hk-kart:hover, .hk-kart:focus { transform: translateY(-2px); border-color: #c9cff5; box-shadow: 0 6px 18px rgba(25,38,117,0.08); color: #484848; text-decoration: none; }
.hk-kart-ikon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: #eef0fb; color: #2441e7; margin-bottom: 4px; }
.hk-kart-baslik { font-family: "Nunito", sans-serif; font-size: 17px; font-weight: 700; color: #0a0a0a; }
.hk-kart-metin { font-size: 14px; line-height: 1.6; }
.hk-kart-etiket { margin-top: auto; padding-top: 8px; font-size: 13px; font-weight: 700; color: #2441e7; }
.hk-kart:hover .uc-ok { transform: translateX(3px); }
.hk-paneller { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.hk-panel { padding: 26px 26px 22px; background: #f4f5fa; border: 1px solid #e6e8f2; border-radius: 14px; }
.hk-panel h4, .hk-iletisim h4 { font-family: "Nunito", sans-serif; font-size: 19px; font-weight: 700; color: #0a0a0a; margin: 0 0 10px; display: flex; align-items: center; gap: 8px; }
.hk-panel p, .hk-iletisim p { font-size: 15px; line-height: 1.7; color: #484848; margin: 0; }
.hk-panel a, .hk-iletisim p a { color: #2441e7; font-weight: 600; }
.hk-iletisim { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; padding: 26px; background: #fff; border: 1px solid #e6e8f2; border-radius: 14px; }
.hk-iletisim .hk-ikon { color: #2441e7; }
.hk-baglantilar { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.hk-baglanti { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1px solid #c9cff5; background: #fff; color: #192675; font-size: 14px; font-weight: 700; text-decoration: none; transition: background .2s, color .2s; }
.hk-baglanti:hover, .hk-baglanti:focus { background: #2441e7; border-color: #2441e7; color: #fff; text-decoration: none; }
@media (max-width: 991px) { .hk-hero { grid-template-columns: 1fr; gap: 24px; } .hk-kartlar { grid-template-columns: 1fr 1fr; } .hk-rakamlar { grid-template-columns: 1fr 1fr; } .hk-iletisim { grid-template-columns: 1fr; } .hk-baglantilar { justify-content: flex-start; } }
@media (max-width: 640px) { .hk-sayfa { padding: 40px 0 48px; } .hk-hero h2 { font-size: 24px; } .hk-kartlar, .hk-paneller { grid-template-columns: 1fr; } .hk-rakamlar { padding: 18px 16px; } .hk-rakamlar strong { font-size: 26px; } .hk-dugmeler .uc-dugme { min-width: 0; flex: 1 1 100%; } }
@media (prefers-reduced-motion: reduce) { .hk-kart, .hk-baglanti { transition: none; } }
/* Iletisim sayfasi (il-*, scripts/iletisim_uygula.py) — hk-* dilinin uzantisi. */
.il-ust { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 32px; align-items: center; margin-bottom: 40px; }
.il-ust h2 { font-family: "Nunito", sans-serif; font-size: 28px; line-height: 1.34; font-weight: 700; color: #0a0a0a; margin: 0 0 14px; }
.il-kart { padding: 26px; background: #f4f5fa; border: 1px solid #e6e8f2; border-radius: 16px; text-align: center; }
.il-kart-etiket { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #2441e7; margin-bottom: 10px; }
.il-adres { display: block; font-family: "Nunito", sans-serif; font-size: 22px; font-weight: 800; color: #192675; word-break: break-all; margin-bottom: 18px; }
.il-adres:hover, .il-adres:focus { color: #2441e7; text-decoration: underline; }
.il-kanallar { justify-content: center; }
.il-sebepler { list-style: none; margin: 0 0 44px; padding: 0; }
.il-sebep { cursor: default; }
.il-sebep:hover { transform: none; box-shadow: none; border-color: #e6e8f2; }
.il-paneller { margin-bottom: 0; }
@media (max-width: 991px) { .il-ust { grid-template-columns: 1fr; gap: 24px; } .il-kanallar { justify-content: center; } }
@media (max-width: 640px) { .il-ust h2 { font-size: 23px; } .il-adres { font-size: 18px; } }

/* ── 16) Core Web Vitals — 22.09.2026 ──────────────────────────────────────
   Lighthouse (mobil, /ss/kpss/): CLS 1,001 (esik 0,1). Tek kaynak: tema
   on yukleyicisi. `.preloader` tam ekran beyaz katman; script.js 200 ms
   bekleyip fadeOut yapiyor, katman kalkinca SAYFANIN TAMAMI yerine
   oturuyor -> tek seferde 1,0 kayma. On yukleyici hicbir ise yaramiyor
   (statik sayfa zaten hazir geliyor), CLS ise dogrudan siralama sinyali.
   HTML'e dokunulmadi: dugum duruyor, yalniz gorunmuyor; script.js'in
   fadeOut cagrisi da hatasiz calisiyor. */
.preloader { display: none !important; }
/* CLS'in asil onarimi: baslik cubugu JS ile fixed yapilmak yerine CSS sticky.
   (js/sayfa-duzeltmeleri.js eklentiyi etkisiz kiliyor.) Gorunum ayni: sayfa
   basinda akista, kaydirinca yapisik. Sticky akistan CIKMADIGI icin kayma
   uretmez. */
header.navbar-scrolltofixed { position: sticky; top: 0; z-index: 999; }

/* ── 17) LCP gorseli: JPG yerine WebP — 22.09.2026 ─────────────────────────
   Baslik bandi (`.inner_page_breadcrumb`) her ic sayfanin LCP ogesi.
   Kaynak 1920x400 JPG 73 KB; ayni gorsel WebP'de 33 KB, dar ekran surumu
   960px'de 13 KB. Tema CSS'i degistirilmiyor, yalniz uzeri yaziliyor. */
.inner_page_breadcrumb { background-image: url(/images/background/inner-pagebg.webp); background-size: cover; }
@media (max-width: 991px) {
  .inner_page_breadcrumb { background-image: url(/images/background/inner-pagebg-960.webp); }
}

/* ── 18) Mobil menu kurulana kadar gizli — 22.09.2026 ──────────────────────
   mmenu artik ilk etkilesimde kuruluyor (js/sayfa-duzeltmeleri.js). mmenu
   kurulunca `nav#menu`yu off-canvas panele tasiyip kendi gorunurlugunu
   yonetiyordu; ertelenince liste sayfanin icinde HAM olarak goruntulendi
   (ekran goruntusuyle yakalandi). `.mm-menu` sinifini mmenu kurulumda
   ekler: kurulmadan gizli, kurulunca eklentiye birakilir. */
/* `display:none` DENENDI, YAN ETKISI VAR: menu dugumu akistan cikinca
   tema duzeni bozuluyor, baslik bandindaki .row 1320 px yerine 306 px
   olculuyordu (olcum: 1350 ve 1500 px pencerede fark tam 150 px).
   Bunun yerine ekran disina alip olculebilir birakiyoruz: duzen bozulmaz,
   baglantilar DOM'da kalir (tarayici ve ekran okuyucu icin de dogru). */
nav#menu:not(.mm-menu) { height: 0 !important; overflow: hidden !important; opacity: 0; }
/* mmenu ertelenince tema duzeninde tek yan etki: baslik bandindaki satir
   daraliyordu (1320 -> 306 px). Satira acik genislik veriliyor. */
.inner_page_breadcrumb .row { width: 100%; }

/* ── 19) Alt bilgide UniConnectly — 22.09.2026 (scripts/footer_uniconnectly.py) */
.uc-footer { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.12); }
.uc-footer-logo { display: inline-block; margin-bottom: 10px; }
.uc-footer-logo img { width: 150px; height: auto; display: block; }
.uc-footer p { font-size: 13px; line-height: 1.5; color: #b7b7b7; margin: 0 0 12px; }
.uc-footer-magazalar { display: flex; flex-wrap: wrap; gap: 8px; }
.uc-footer-magazalar img { width: 120px; height: auto; display: block; border-radius: 4px; }
.uc-footer-magazalar a { display: inline-block; transition: opacity .2s; }
.uc-footer-magazalar a:hover { opacity: .85; }
@media (prefers-reduced-motion: reduce) { .uc-footer-magazalar a { transition: none; } }

/* ── 20) Ana sayfa hero'su genis ekranda daraliyordu (22.09.2026) ──────────
 * Ahmet 22.09, ekran goruntusu: 1920 px ve ustunde hero bandi sayfanin
 * ortasinda ~856 px'lik dar bir sutuna sikisiyor, baslik menusu icerige
 * biniyordu. 1280 px'te sorun yok.
 *
 * OLCUM: stil dosyalari tek tek kapatilarak bulundu; suclu blok 18'deki
 * `nav#menu:not(.mm-menu)` gizlemesi. mmenu ilk etkilesime ertelendigi icin
 * nav#menu kurulana dek ham listedir ve sayfada gorunmesin diye gizlenir;
 * ama o eleman akistan cikinca `.home1-mainslider .row` daralip icerigi
 * kadar yer kapliyor (1890 px yerine 856 px). Gizlemenin bicimi fark
 * etmiyor: display:none, height:0, position:fixed hepsi ayni sonucu veriyor.
 *
 * Bu, mmenu ertelemesinden ONCEKI surumde de vardi — yani yeni bir kirilma
 * degil, o turda gozden kacmis yan etki.
 *
 * COZUM: satiri kendi genisligine birakmak yerine kapsayicisina esitle.
 * `.row`un -15 px kenar bosluklari oldugu icin 100% degil `100% + 30px`:
 * boylece 1280 px'te olculen 1300 px genislik AYNEN korunur, 1900 px'te
 * 856 → 1920 duzelir. Ek 30 px'in ucu disari tasmasin diye kapsayiciya
 * overflow-x verilir (responsive.css bunu yalniz kucuk ekranda yapiyordu).
 *
 * Olculen sonuc (genislik / yatay tasma):
 *   1900 px: 856/0  → 1920/0        1280 px: 1300/0 → 1300/0 (degismedi)
 *    760 px: 748/0  →  748/0 (degismedi)
 */
.home1-mainslider { overflow-x: hidden; }
.home1-mainslider .row { width: calc(100% + 30px); }

/* ── 21) Ana sayfada baslik cubugu ustte gorunmuyordu (22.09.2026) ────────
 * Ahmet: "yukarida gozukmuyo ust menuler, asagi kaydirinca gozukuyo."
 *
 * OLCUM (elementFromPoint + kutu olculeri):
 *   · header.header-nav YUKSEKLIGI 1 px. Icindeki logo (float:left) ve menu
 *     (float:right) yuzen oge; kapsayici onlari icermedigi icin cokuyor.
 *   · Yuzenler basligin disina tasiyor. `.home1-mainslider` ise kendi blok
 *     bicimlendirme baglami (overflow-x:hidden) oldugu icin yuzenlerin
 *     UZERINE BINEMEZ, altlarina itiliyor → ustte 79 px bos beyaz serit.
 *   · Logo ve menu beyaz renkli oldugundan o beyaz seritte gorunmez oluyor.
 *   · Ayrica 1 px'lik basligin `.stricky-fixed` beyaz zemini de gorunmuyor;
 *     kaydirinca koyu yazi dogrudan hero'nun uzerine dusuyor.
 *
 * COZUM: baslik `display:flow-root` ile kendi yuzenlerini kapsar (1 → 80 px).
 * Artik akista 80 px yer kapladigi icin hero ayni kadar yukari cekilir; sonuc
 * temanin amacladigi gorunum: baslik seffaf, hero'nun UZERINDE.
 *
 * KAPSAM: yalniz hero tasiyan sayfalar (`body:has(.home1-mainslider)`).
 * Ic sayfalarda kirinti bandi basligin altindan zaten dogru geciyor; oralarda
 * `flow-root` verilirse bandin arka plan gorseli 80 px kayiyor (olculdu,
 * piksel karsilastirmasinda %3,7 fark). `:has()` desteklemeyen eski tarayici
 * kurali yok sayar; sonuc bugunku davranistir, daha kotusu degil.
 *
 * Olculen: ana sayfa ve /video/ 1280 ve 1920 px'te ilk bolumun ust kenari
 * 79 → 0; /ss/kpss/, /iletisim/, /pdfnot/ DEGISMEDI; 760 px DEGISMEDI.
 */
@media (min-width: 992px) {
  body:has(.home1-mainslider) header.header-nav.menu_style_home_one { display: flow-root; }
  body:has(.home1-mainslider) .home1-mainslider { margin-top: -80px; }
}

/* ── 22) Kaydirinca baslik cubugunun beyaz zemini gorunmuyordu (22.09) ────
 * Blok 21 ana sayfayi duzeltti; ic sayfalarda baslik hala 1 px yuksekliginde
 * oldugu icin `.stricky-fixed`in beyaz arka plani goze carpmiyor, koyu yazi
 * dogrudan icerigin uzerine dusuyordu.
 *
 * Ic sayfalarda basliga akista yukseklik VEREMEYIZ: kirinti bandinin arka
 * plani 80 px kayiyor (olculdu, %3,7 piksel farki). Bu yuzden yukseklik
 * yalniz KAYDIRILMIS durumda verilir ve oge `position:fixed` ile akistan
 * cikarilir; boylece sayfa duzeni hic degismez (olculen tek fark 1 px).
 *
 * Kapsam `body:not(:has(.home1-mainslider))`: hero tasiyan sayfalarda baslik
 * zaten akista 80 px (blok 21) ve hero ona gore -80 px cekilmis; orada
 * `fixed` yapilsa hero 80 px zipliyor.
 *
 * Olculen: /ss/kpss/ ve /pdfnot/ kaydirilmis durumda baslik 1 → 80 px,
 * arka plan #ffffff, kirinti bandi ustte 0 (degismedi).
 */
@media (min-width: 992px) {
  body:not(:has(.home1-mainslider)) header.header-nav.menu_style_home_one.stricky-fixed {
    display: flow-root;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
  }
}

/* ── 23) /video/ sayfasinda 15 px yatay kaydirma (22.09) ──────────────────
 * Temanin `.row` ogeleri -15 px kenar boslugu tasir; `.container-fluid`
 * icindeyken satir kapsayicidan 30 px genis olur. Ic bolumlerin cogunda
 * kapsayici bunu kirpiyor, /video/ sayfasinda kirpan yok → belge 15 px
 * yatay kayiyordu. (Bugunku degisikliklerden ONCE de vardi.)
 *
 * `overflow-x: hidden` KULLANILAMAZ: kaydirma kapsayicisi yaratir ve icindeki
 * `position: sticky` basligi devre disi birakir — olculdu, baslik 600 px
 * kaydirmada ekrandan cikiyor (top=-600). `overflow-x: clip` kaydirma
 * kapsayicisi yaratmaz; tasma kesilir, yapiskan baslik calismaya devam eder.
 * Desteklemeyen eski tarayici kurali yok sayar (bugunku davranis kalir).
 *
 * Olculen: /video/ belge genisligi 1285 → 1270; baslik kaydirmada top=0.
 */
.wrapper { overflow-x: clip; }

/* ── 24) Bolum arka plani WebP (22.09.2026) ───────────────────────────────
 * `.bg-img2` temada images/background/2.jpg gosteriyor: 1920x960, 1092 KB.
 * Ana sayfanin toplam 1889 KB'lik transferinin yarisindan fazlasi tek bu
 * dosyaydi. Ayni olcude WebP karsiligi 89 KB.
 * Kural style.css'te; uretilen -az dosyasi elle duzenlenmesin diye burada
 * eziliyor (duzeltmeler.css en sonda yukleniyor).
 */
.bg-img2 { background-image: url("/images/background/2.webp"); }

/* ── 25) Alt menu ekran disina tasmasin (22.09) ────────────────────────
   Blok 8'den sonra 1. seviye kutu ait oldugu maddenin SOL kenarindan
   acilir. Menu serit icinde saga yasli oldugu icin en sagdaki maddenin
   kutusu ekranin disina cikiyordu (olculdu: 2560px pencerede kutu
   2382-2612, 52px tasma). Son madde icin kutu SAGA hizalanir; ucundaki
   ok isareti de saga tasinir. 22.09 ek: menunun sonuna arama dugmesi
   eklendi (alt menusu yok), bu yuzden kural son IKI maddeyi kapsar. */
@media (min-width: 992px) {
  header.header-nav.menu_style_home_one .ace-responsive-menu > li:nth-last-child(-n+2) > ul.sub-menu {
    left: auto !important;
    right: 0 !important;
  }
  header.header-nav.menu_style_home_one .ace-responsive-menu > li:nth-last-child(-n+2) > ul.sub-menu:before {
    left: auto !important;
    right: 25px !important;
  }
}

/* ── 26) Site ici arama (22.09) ────────────────────────────────────────
   Olculdu (canli): masaustunde arama dugmesi HIC YOKTU (#search-button
   sayfada bulunmuyordu), mobilde katman aciliyor ama form bir yere
   gitmiyordu. js/arama.js katmani gercek bir aramaya cevirdi; burasi
   yalniz gorunum. Temanin `#mk-fullscreen-searchform`e JS ile yazdigi
   `top: <pencere/2>px` satir ici stilini `!important` ile etkisiz
   kiliyoruz — sonuc listesi formun ALTINDA aksin diye. */
html.arama-acik, html.arama-acik body { overflow: hidden; }

/* masaustu menudeki buyutec */
.arama-madde > a { cursor: pointer; }
.arama-madde .flaticon-magnifying-glass { font-size: 15px; }

.mk-fullscreen-search-overlay #mk-fullscreen-search-wrapper,
.mk-fullscreen-search-overlay #mk-fullscreen-search-wrapper2 {
  display: block;
  width: min(760px, calc(100vw - 32px));
  max-width: none;
  margin: 0 auto;
  padding-top: 14vh;
  text-align: left;
}
/* `top` satir ici stille yaziliyor (script.js), bu yuzden !important;
   `margin-top: 250px` ise responsive.css'ten geliyor, sira yetiyor. */
#mk-fullscreen-searchform, #mk-fullscreen-searchform2 { top: auto !important; margin-top: 0; }
.mk-fullscreen-search-overlay #mk-fullscreen-search-wrapper #mk-fullscreen-searchform #mk-fullscreen-search-input,
.mk-fullscreen-search-overlay #mk-fullscreen-search-wrapper2 #mk-fullscreen-searchform2 #mk-fullscreen-search-input2 {
  /* responsive.css dar ekranda `max-width: 260px` diyor; kutu artik tam
     genislikte, girdi de oyle olmali (olculdu: 390px ekranda girdi 260px,
     sonuc listesi 358px — hizasizdi). */
  width: 100%;
  max-width: none;
  padding: 18px 60px 18px 20px;
  font-size: 18px;
}

/* sonuc listesi */
.arama-kutu {
  margin-top: 14px;
  max-height: 62vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 6px;
  -webkit-overflow-scrolling: touch;
}
.arama-bilgi {
  color: #e6e6e6;
  font-size: 14px;
  margin: 10px 2px;
  text-align: left;
}
/* Mobil katman, baslik seridindeki <li> icine gomulu duruyor; temanin
   `.menu_bar_home2 li` kurallari (float/inline-block) sonuc kartlarini dar
   bir sutuna sikistiriyordu (olculdu: kartlar 45px genislikte, ust uste;
   kutu yuksekligi 60px cunku float'lar yukseklik uretmiyor). Liste kendi
   baglamini kurar ve miras kalan yerlesimi sifirlar. */
.arama-kutu { display: flow-root; text-align: left; }
ul.arama-sonuc { list-style: none; margin: 0; padding: 0; display: block; width: 100%; }
ul.arama-sonuc li {
  margin: 0 0 6px 0;
  padding: 0;
  float: none !important;
  display: block;
  width: auto;
  vertical-align: baseline;
}
ul.arama-sonuc li:after { display: none !important; content: none !important; }
/* Mobil katman baslik seridindeki <li> icinde durdugu icin sonuc
   baglantilari temanin 50x50 buton kuralini MIRAS ALIYORDU (olculdu:
   a{position:absolute; display:grid; width:50px; height:50px}) — kartlar
   gorunmuyordu. Asagidaki `!important`lar bu kalitimi keser; secici dar
   tutuldu, site genelini etkilemez. */
ul.arama-sonuc li a {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  background: #ffffff !important;
  border-radius: 6px;
  border: 1px solid transparent;
  text-align: left !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}
ul.arama-sonuc li a:hover,
ul.arama-sonuc li[aria-selected="true"] a { border-color: #c75533; background: #fff6f2 !important; }
ul.arama-sonuc li a > span {
  position: static !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  text-align: left !important;
  text-transform: none !important;
}
.arama-baslik {
  display: block !important;
  color: #1c1c1c !important;
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.35 !important;
}
.arama-dis { color: #7a7a7a; font-weight: 400; }
.arama-tur {
  display: inline-block !important;
  margin-top: 4px;
  padding: 1px 7px !important;
  border-radius: 3px;
  background: #f0f0f0 !important;
  color: #5a5a5a !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
}
.arama-alt {
  display: block !important;
  margin-top: 3px;
  color: #6f6f6f !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  word-break: break-word;
}
@media (max-width: 991px) {
  .mk-fullscreen-search-overlay #mk-fullscreen-search-wrapper,
  .mk-fullscreen-search-overlay #mk-fullscreen-search-wrapper2 { padding-top: 88px; }
  .arama-kutu { max-height: calc(100vh - 210px); }
  .mk-fullscreen-search-overlay .mk-fullscreen-close { right: 18px; top: 24px; }
}
/* 28.09 (Ahmet: "arama butonundaki carpi calismiyor"): dar ekranda arama
   kutusunun sarmalayicisi (konumlandirilmis, DOM'da carpidan SONRA) carpinin
   ustune biniyordu; dokunus sarmalayiciya gidiyordu. Carpi ustte kalsin. */
.mk-fullscreen-search-overlay .mk-fullscreen-close { z-index: 5; }

/* ── 27) Blog (22.09) ──────────────────────────────────────────────────
   Sayfalari scripts/blog_uygula.py uretir, icerik scripts/blog_veri.py.
   Yapi UniConnectly blogundan alindi (liste → yazi → SSS → kontrol →
   kaynaklar → ilgili yazilar); gorunum bu sitenin kendi temasi.
   Okunurluk icin govde 17px/1.75 ve satir uzunlugu ~70 karakterle sinirli
   (.blog-yazi max-width). Dekoratif gradyan/parilti YOK. */
.blog-sayfa { padding: 55px 0 30px; }
.blog-sayfa .main-title h2 { margin-bottom: 6px; }

/* hub */
.blog-kategoriler { margin: 0 0 22px; }
.blog-kategoriler span {
  display: inline-block; margin: 0 6px 6px 0; padding: 4px 12px;
  border: 1px solid #e2e2e2; border-radius: 20px; font-size: 13px; color: #5a5a5a;
}
.blog-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.blog-kart {
  background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 20px 22px;
}
.blog-kart h3 { font-size: 19px; line-height: 1.35; margin: 8px 0 8px; }
.blog-kart h3 a { color: #1c1c1c; }
.blog-kart h3 a:hover { color: #c75533; }
.blog-kart p { font-size: 14.5px; line-height: 1.6; color: #6f6f6f; margin: 0; }
.blog-bos { color: #6f6f6f; }

/* yazi */
.blog-yazi { max-width: 760px; margin: 0 auto; }
.blog-baslik { font-size: 32px; line-height: 1.25; margin: 0 0 10px; color: #1c1c1c; }
.blog-kunye { font-size: 13.5px; color: #7a7a7a; margin: 0 0 20px; }
.blog-kat {
  display: inline-block; margin-right: 8px; padding: 2px 10px; border-radius: 20px;
  background: #f4f0ee; color: #c75533; font-size: 12.5px;
}
.blog-ozet { font-size: 18.5px; line-height: 1.7; color: #3a3a3a; margin: 0 0 26px; }
.blog-icindekiler {
  background: #fafafa; border: 1px solid #ececec; border-radius: 8px;
  padding: 16px 20px; margin: 0 0 30px;
}
.blog-icindekiler p { font-weight: 600; font-size: 14px; margin: 0 0 8px; color: #1c1c1c; }
.blog-icindekiler ol { margin: 0; padding-left: 20px; }
.blog-icindekiler li { font-size: 14.5px; line-height: 1.9; }
.blog-icindekiler a { color: #4a4a4a; }
.blog-icindekiler a:hover { color: #c75533; }
.blog-h2 { font-size: 23px; line-height: 1.35; margin: 34px 0 12px; color: #1c1c1c; scroll-margin-top: 100px; }
.blog-yazi p, .blog-yazi li { font-size: 17px; line-height: 1.75; color: #3a3a3a; }
/* Tema `ul{list-style:none}` diyor; yazi govdesinde madde isaretleri
   GEREKLI (olculdu: deneme yazisinda maddeler isaretsiz cikti). */
.blog-yazi ul, .blog-yazi ol { padding-left: 22px; margin-bottom: 16px; }
.blog-yazi ul { list-style: disc; }
.blog-yazi ol { list-style: decimal; }
.blog-icindekiler ol { list-style: decimal; }
.blog-yazi li { display: list-item; }
.blog-kontrol { list-style: none !important; padding-left: 0 !important; }
.blog-kontrol li { position: relative; padding-left: 26px; }
/* Ikon YAZI TIPI kullanilmaz: font-awesome-az.css yalniz sitede gecen
   simgeleri tasiyor, yeni bir kod noktasi eklemek altkumeyi yeniden
   uretmeyi gerektirirdi (unutulursa kutu □ cikar — 22.09'da menu oklarinda
   yasandi). Duz karakter her yazi tipinde var. */
.blog-kontrol li:before {
  content: "\2713"; position: absolute; left: 0; top: 0;
  color: #79b530; font-size: 15px; font-weight: 700;
}
.blog-yazi table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 15px; }
.blog-yazi th, .blog-yazi td { border: 1px solid #e4e4e4; padding: 9px 12px; text-align: left; vertical-align: top; }
.blog-yazi th { background: #fafafa; font-weight: 600; }
.blog-tablo-sar { overflow-x: auto; }

.blog-sss details {
  border: 1px solid #e8e8e8; border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; background: #fff;
}
.blog-sss summary { cursor: pointer; font-weight: 600; font-size: 16px; color: #1c1c1c; }
.blog-sss p { margin: 10px 0 0; }
.blog-kontrol li { margin-bottom: 6px; }
.blog-kaynaklar { padding-left: 22px; }
.blog-kaynaklar a { color: #c75533; word-break: break-word; }
.blog-ilgili { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.blog-ilgili a {
  display: block; background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 14px 16px;
}
.blog-ilgili a:hover { border-color: #c75533; }
.blog-ilgili strong { display: block; color: #1c1c1c; font-size: 15.5px; line-height: 1.35; margin-bottom: 5px; }
.blog-ilgili span { display: block; color: #6f6f6f; font-size: 13.5px; line-height: 1.5; }

@media (max-width: 767px) {
  .blog-baslik { font-size: 26px; }
  .blog-ozet { font-size: 17px; }
  .blog-h2 { font-size: 20px; }
  .blog-yazi p, .blog-yazi li { font-size: 16.5px; }
}

/* ── 29) PDF merkezi ic tanitimi (28.09) — scripts/pdf_tanitim.py ──────────
   Cikmis sorular ve geri sayim sayfalarinda sinava uyan PDF'ler. */
.pdf-tanitim { margin: 34px 0 38px; padding: 22px; border: 1px solid #dbe3fb; border-radius: 14px; background: #f5f8ff; scroll-margin-top: 90px; }
.pdf-tanitim-bas p { margin: -8px 0 16px; color: #484848; font-size: 15px; }
.pdf-tanitim-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pdf-tanitim-kart { display: block; padding: 12px 14px; background: #fff; border: 1px solid #e6e8f2; border-radius: 10px; color: #0a0a0a; }
.pdf-tanitim-kart:hover { border-color: #2441e7; text-decoration: none; color: #0a0a0a; }
.pdf-tanitim-kod { display: inline-block; margin-bottom: 4px; padding: 2px 8px; border-radius: 6px; background: #eaf1fe; color: #1250d0; font-size: 12px; font-weight: 700; }
.pdf-tanitim-ad { display: block; font-weight: 700; font-size: 15px; line-height: 1.35; }
.pdf-tanitim-kunye { display: block; margin-top: 3px; font-size: 12.5px; color: #7a7a8c; }
.pdf-tanitim-dugme { display: inline-block; margin-top: 16px; padding: 10px 18px; border-radius: 10px; background: #2441e7; color: #fff; font-weight: 700; }
.pdf-tanitim-dugme:hover { background: #1b33c4; color: #fff; text-decoration: none; }
@media (max-width: 991px) { .pdf-tanitim-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .pdf-tanitim { padding: 16px; } .pdf-tanitim-liste { grid-template-columns: 1fr; } .pdf-tanitim-kart:nth-child(n+4) { display: none; } }
