/* AZURE TERAS – Menü ve gezinme (Paket F + H). app.css ve mobil.css'ten SONRA yüklenir.
 * Renk eklenmez: yalnız mevcut değişkenler (--navy, --side-bg, --line…) ve onlardan türeyen color-mix kullanılır; 9 tema ve RTL (mantıksal özellikler) korunur. */

/* ---- Açılır-kapanır bölümler (Agency düzeni) ---- */
.nav-sec { display: contents; }
.nav-sec.kapali { display: none; }
button.nav-grp-t { display: flex; align-items: center; gap: 6px; width: 100%; margin: 0; border: 0; background: none; font: inherit; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; text-align: start; cursor: pointer; color: rgba(255, 255, 255, .74); padding: 14px 12px 6px; border-radius: var(--r-md); }
button.nav-grp-t:hover { color: #fff; }
button.nav-grp-t .ik { width: 14px; height: 14px; flex: none; color: inherit; transition: transform .15s ease; }
button.nav-grp-t[aria-expanded="false"] .ik { transform: rotate(-90deg); }
[dir="rtl"] button.nav-grp-t[aria-expanded="false"] .ik { transform: rotate(90deg); }
button.nav-grp-t .nav-grp-ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* rozet toplamı yalnız kapalı bölümde ("Finans 3") */
button.nav-grp-t[aria-expanded="true"] .nav-grp-b { display: none; }
button.nav-grp-t .nav-grp-b { flex: none; margin: 0; letter-spacing: 0; text-transform: none; background: #f0b429; color: #2a2100; }
button.nav-grp-t .nav-grp-b[hidden] { display: none; }
.nav-gunluk { color: #f0b429; padding-top: 12px; }
@media (prefers-reduced-motion: reduce) { button.nav-grp-t .ik { transition: none; } }
/* tek odak halkası: bölüm başlığı, "Tümünü göster", açılır menü öğeleri */
button.nav-grp-t:focus-visible, .fav-tum:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.um-menu button[role=menuitem]:focus-visible, .yeni-menu button:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }

/* ---- Daralt düğmesi listeyi örtmesin: liste ile düğme arasında boşluk ve ayırıcı çizgi ---- */
.side:not(.side-cekmece) .side-ust { padding-bottom: 28px; scroll-padding-block: 48px; min-height: 0; }
.side:not(.side-cekmece) .side-tog { position: relative; z-index: 1; margin-top: 0; box-shadow: 0 -8px 12px -8px color-mix(in srgb, #000 28%, transparent); border-top: 1px solid rgba(255, 255, 255, .16); background: var(--side-bg, color-mix(in srgb, var(--navy) 90%, #070a26)); }
.side-cekmece .side-ust { scroll-padding-block: 48px; }

/* ---- Favoriler: en çok 7 satır, ☆ yalnız üzerine gelince / odakta, Tab durağı değil ---- */
.nav-fav-w { display: contents; }
.nav-fav-w:not(.tum) .fav-ek { display: none; }
.side .fav-tum { flex: none; margin: 2px 0 4px; padding: 7px 12px; border: 0; border-radius: var(--r-md); background: none; text-align: start; font: inherit; font-size: 12.5px; font-weight: 600; color: rgba(255, 255, 255, .74); cursor: pointer; }
.side .fav-tum:hover { color: #fff; background: rgba(255, 255, 255, .09); }
.si-w:hover .si-yildiz, .si-w:focus-within .si-yildiz { opacity: 1; }
.si-yildiz:not(.on) { opacity: 0; }
.si-w:hover .si-yildiz:not(.on), .si-w:focus-within .si-yildiz:not(.on) { opacity: 1; }
@media (hover: none) {
  .si-w > .si { padding-inline-end: 50px; }
  #app .si-w .si-yildiz, #app .si-w .si-yildiz:not(.on) { opacity: .75; width: 44px; height: 44px; min-height: 44px; inset-inline-end: 0; }
}
#app[data-dar="1"] .side:not(.side-cekmece) .fav-tum { display: none; }
#app[data-dar="1"] .side:not(.side-cekmece) .nav-sec.kapali { display: contents; }

/* ---- Kullanıcı menüsü: hesap / tercihler / çıkış ---- */
.um-g { display: flex; flex-direction: column; gap: 1px; }
.um-ayr { height: 1px; margin: 5px 6px; background: var(--line, #eee); }
.um-menu .um-ust { padding: 8px 12px 8px; margin-bottom: 2px; border-bottom: 0; }
.um-menu .um-cik { margin-top: 0; border-top: 0; border-radius: var(--r-md); padding-top: 9px; }

/* ---- Üst çubuk: zil ve "+" en az 44x44 (telefon ve iPad) ---- */
@media (max-width: 1180px) {
  .who button.zil-btn, .who .yeni-btn { min-width: 44px; min-height: 44px; width: 44px; height: 44px; padding: 0; justify-content: center; }
  .who .yeni-btn > span { display: none; }
  .um-btn { min-height: 44px; }
  .ara-alan { min-height: 44px; min-width: 44px; }
  .top .ara-alan { height: 44px; min-width: 44px; }
}
@media (min-width: 721px) and (max-width: 1180px) { .who .yeni-btn { width: auto; padding: 0 12px; } .who .yeni-btn > span { display: inline; } }

/* ---- Alt çubuk: "Menü" düğmesinde bekleyen toplam ---- */
.mbar button { position: relative; }
.mbar button > span.bdg { position: absolute; top: 3px; left: 55%; display: block; -webkit-line-clamp: unset; min-height: 0; max-width: none; margin: 0; }
[dir="rtl"] .mbar button > span.bdg { left: auto; right: 55%; }

/* ---- Çekmece: proje adı ve ana kur rozeti ---- */
.drw-proj { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.drw-proj small { flex: 1 0 100%; }
.drw-proj > span:not(.ap-rozet) { color: #fff; font-weight: 600; }
.drw-proj .ap-rozet { display: inline-flex !important; margin: 0; }

/* ---- Sayfa başlığı: tıklanabilir üst yol ---- */
.pg-bas-a { color: inherit; text-decoration: none; }
.pg-bas-a:hover { color: var(--navy); text-decoration: underline; }

/* ---- Bugün: rol bazlı karşılama satırı ---- */
.bg-ozet { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 12px; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--r-md); background: color-mix(in srgb, var(--navy) 5%, #fff); }
.bg-ozet[hidden] { display: none; }
.bg-oz-b { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mut); margin-inline-end: 4px; }
.bg-oz-c { display: inline-flex; align-items: baseline; gap: 5px; padding: 5px 11px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font-size: 13px; text-decoration: none; }
.bg-oz-c b { font-size: 15px; color: var(--navy); }
.bg-oz-c:hover { border-color: color-mix(in srgb, var(--navy) 40%, var(--line)); }

/* ---- iPad / dar masaüstü (820-1180 px): yalnız simgeli 68 px yan menü; hamburger yalnız 820 px altında ---- */
@media (min-width: 820px) and (max-width: 1180px) {
  .mnu-btn { display: none !important; }
  .mbar { display: none !important; }
  #app main, .govde { padding-bottom: 0; }
  #app[data-menu] .govde { display: flex; min-height: calc(100vh - var(--top-h, 56px)); min-height: calc(100dvh - var(--top-h, 56px)); }
  #app[data-menu] .side:not(.side-cekmece) { display: flex !important; width: 68px; }
  #app .side:not(.side-cekmece) .side-ust { padding: 10px 8px; overflow-x: visible; }
  #app .side:not(.side-cekmece) .si { justify-content: center; padding: 11px 0; position: relative; }
  #app .side:not(.side-cekmece) .si > span:not(.bdg) { display: none; }
  #app .side:not(.side-cekmece) .nav-grp { visibility: hidden; height: 10px; padding: 0; margin: 0; }
  #app .side:not(.side-cekmece) .si .bdg { position: absolute; top: 3px; right: 6px; margin: 0; min-width: 16px; font-size: 11px; line-height: 16px; }
  [dir="rtl"] #app .side:not(.side-cekmece) .si .bdg { right: auto; left: 6px; }
  #app .side:not(.side-cekmece) .si-yildiz, #app .side:not(.side-cekmece) .fav-tum, #app .side:not(.side-cekmece) .si-alt, #app .side:not(.side-cekmece) .nav-alt, #app .side:not(.side-cekmece) .side-tog { display: none; }
  #app .side:not(.side-cekmece) .nav-sec.kapali { display: contents; }
  #app .side:not(.side-cekmece) .nav-fav-w:not(.tum) .fav-ek { display: flex; }
  #app .side:not(.side-cekmece) .side-ust { padding-bottom: 16px; }
  .top .brand > span, .top .brand select { display: block; }
  .top .brand select { display: inline-block; }
}

/* ---- RTL ---- */
[dir="rtl"] .fav-tum { text-align: start; }
[dir="rtl"] .si-yildiz { inset-inline-end: 6px; }

/* "+ Yeni" menüsünün yazıları: ".who span" gizleme kuralı menüdeki yazıları da gizliyordu (dar ekran) */
.who .yeni-menu span, .yeni-menu button > span { display: inline !important; }

/* ======================================================================================================
 * Renk / kontrast / odak düzeltmeleri (4 Kasım). Marka renkleri ve 11 tema aynı; yalnız ton/açıklık ayarı.
 * Hedef (WCAG AA): normal metin >= 4.5:1, büyük metin ve bileşen kenarı/ikon/odak halkası >= 3:1. Ölçüm: panel/bin/kontrast-olc.js
 * ====================================================================================================== */
/* Form alanı kenarlığı: kalınlık aynı (1 px), yalnız ton koyu (beyaz ve tema zeminlerinde >= 3:1) */
:root { --alan-kenar: #7A756F; }
:is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not(.brand select):not(.who > select) { border-color: var(--alan-kenar); }

.ctl #bb, .ctl #fBB { border-color: var(--alan-kenar); }   /* kimlik (#) seçicili iki alan */

/* Odak halkası: zemine göre otomatik. Açık zeminde lacivert (genel kural), renkli/koyu zeminde (yan çubuk, üst çubuk) beyaz, Açık temada çubuk yazısı rengi */
.side a:focus-visible, .side button:focus-visible, .side-tog:focus-visible, .side .si:focus-visible, .si-yildiz:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.top .yeni-btn:focus-visible, .top .zil-btn:focus-visible, .top .brand a:focus-visible, .top .brand select:focus-visible, .top .mnu-btn:focus-visible { outline: 2px solid var(--bar-yazi, #fff); outline-offset: 2px; }
.acts-menu button:focus-visible, .um-menu button[role=menuitem]:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }

/* Yan çubuk: renkli zeminde okunur beyaz ailesi (yarı saydam beyaz ve sabit altın tonları açıklaştırıldı) */
.side button.side-tog, .side .side-tog:hover, .side-tog { color: rgba(255, 255, 255, .86); }
.side button.si-yildiz:not(.on) { color: rgba(255, 255, 255, .86); }
.si-yildiz:not(.on) { color: rgba(255, 255, 255, .86); }
.side .nav-alt, .side .si-f, .side button.nav-grp-t { color: rgba(255, 255, 255, .86); }
.side .si-f.on { color: #fff; }
.side-tog > span { color: inherit; }
.um-btn:hover, .um-btn[aria-expanded="true"] { background: color-mix(in srgb, var(--bar-yazi, #fff) 10%, transparent); }   /* Turuncu çubukta beyaz ad 4.45 → 4.5 üstü */
/* Üst çubuk: arama kutusu ipucu / kısayol, "ANA KUR" rozeti (çubuk rengine göre okunur) */
.ara-alan span { opacity: 1; }
.ara-alan kbd { opacity: 1; }
.top .ap-rozet { background: color-mix(in srgb, var(--bar-yazi, #fff) 10%, transparent); }
/* Sayfa altı yazısı (panel/lib/altbilgi.php içinde satır içi #6b6b78 = 4.37:1; burada özgüllükle 4.5:1 üstüne alınır) */
footer.azt-alt { color: #62626f; }

/* ---- RTL (فارسی / العربية): yerleşim düzeltmeleri ---- */
.yeni-menu { max-width: calc(100vw - 16px); }
[dir="rtl"] .yeni-menu { right: auto; left: 0; }                                   /* Yeni menüsü çubuğun solunda açılır, ekran dışına taşmaz */
[dir="rtl"] .drw .side-cekmece { left: auto; right: 0; box-shadow: -8px 0 32px rgba(0, 0, 0, .28); animation-name: drwGelRtl; }   /* menü çekmecesi sağdan açılır (masaüstünde de yan menü sağda) */
@keyframes drwGelRtl { from { transform: translateX(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { [dir="rtl"] .drw .side-cekmece { animation: none; } }
[dir="rtl"] #tvOnce, [dir="rtl"] #tvSonra { transform: scaleX(-1); }               /* takvim ‹ › okları ayna çevrilir */
[dir="rtl"] a[href^="tel:"] { direction: ltr; unicode-bidi: isolate; display: inline-block; }   /* telefon: "+" başta kalır */
[dir="rtl"] :is(.ap-ana, .ap-ikinci, .hl, .by.tek, .kpi b, .kpi small) { unicode-bidi: isolate; }   /* tutar + birim sırası ters dönmez */
[dir="rtl"] .brand span:not(.ap-rozet) { border-left: 0; padding-left: 0; border-right: 1px solid color-mix(in srgb, currentColor 35%, transparent); padding-right: 10px; }
[dir="rtl"] .top .who { margin-left: 0; margin-right: auto; }
html[data-tema="turuncu"] .nav-gunluk, html[data-tema="zumrut"] .nav-gunluk, html[data-tema="gul"] .nav-gunluk,
html[data-tema="turkuaz"] .nav-gunluk, html[data-tema="okyanus"] .nav-gunluk { color: #fff; }
