/**
 * NECOX K1 — Language Switcher
 *
 * Frontend CSS for the language switcher widget (dropdown, inline and
 * flag-only variants), driven by --ls-* CSS variables.
 *
 * @file       lang-switcher.css
 * @component  K1
 * @since      v4.1.0
 *
 * v8.3.256 (SANDBOX — deploy izne tabi) DEĞİŞİKLİK LİSTESİ:
 *  B2: __btn:hover sabit rgba bg + border-color → var(--ls-hover-bg)/var(--ls-brd-clr)
 *      fallback'li (spesifiklik header.css'i eziyordu, hover_bg + kenar rengi ölüydü).
 *  B3: --ls-active-bg artık okunuyor (menü a.is-active + flags/text a.is-active).
 *  B4: menü paneli/link renkleri sabit açık-tema → preset-uyumlu var()/color-mix
 *      fallback zinciri (ayar boşken açık presetlerde görünüm BİREBİR aynı).
 *  B9: flags/text linkleri color:inherit → var(--ls-color, inherit) (metin rengi
 *      ayarı yalnız dropdown'da çalışıyordu).
 *  B6(dar): __btn font-size sabit 0.9rem → var(--ls-size, 0.9rem) (görünüm aynı,
 *      --ls-size kanalı artık ölü değil).
 */

/* ═══════════════════════════════════════════════════════════════════
   BAYRAK KOK FIX — Twemoji Country Flags webfontu (yerel, CDN'siz).
   SORUN: bayraklar emoji (regional-indicator ciftleri, orn. U+1F1F9 U+1F1F7 = TR).
   Windows'ta Chrome/Edge'in Segoe UI Emoji fontunda BAYRAK GLIFI YOK -> bayrak
   yerine "TR" harfleri gorunur; Firefox kendi Twemoji fontunu gomdugu icin
   gosterir = "bazi browserlarda var bazilarinda yok" davranisinin koku.
   COZUM: sadece bayrak gliflerini iceren woff2 (country-flag-emoji-polyfill
   fontu, assets/fonts/ altina gomulu). unicode-range SADECE bayrak kod noktalari
   -> font ancak sayfada bayrak render edilirken indirilir (bayraksiz sayfada
   SIFIR maliyet); bayrak-disi karakterler zincirdeki sonraki fonta duser.
   Ayrica TUM platformlarda AYNI Twemoji gorunumu = tutarlilik.
   v8.3.357 (21 OPTIMIZASYON): dosya AKTIF DILLERE SUBSET edilmisti 78KB -> 7KB
   (yalniz TR/GB/DE bayraklari).
   ⛔⛔ v8.3.664 — SUBSET GERI ALINDI, SEBEBI OLCULDU: subset fontta yalniz 6
   regional-indicator harfi vardi (T,R,G,B,D,E), tam fontta 26 harf var. Yani
   T/R/G/B/D/E disinda HERHANGI bir harf iceren her bayrak (🇺🇸 = U+S, 🇫🇷 = F+R,
   🇳🇱 = N+L ...) fontta BULUNAMIYOR, Segoe UI Emoji'ye dusuyor ve Windows'ta
   "US" HARFLERI olarak goruluyordu. Canli DB'de en = 🇺🇸 kayitliydi => bayrak
   fiilen bozuktu. Ustelik "yeni dil eklenince elle yeniden subset al" adimi
   kalici bir bakim borcuydu ("surekli sorun yasiyorum" sikayetinin koku).
   COZUM: TAM font (78KB) kullanilir; unicode-range SADECE bayrak kod noktalari
   oldugu icin font ancak sayfada bayrak render edilirken indirilir (bayraksiz
   sayfada SIFIR maliyet) ve tarayicida onbelleklenir => yeni dil eklemek artik
   HICBIR manuel adim gerektirmez.
   ⭐ Sinif sozlesmesi: bayrak basan HER yuzey .necox-flag sinifini kullanir
   (tek uretici: necox_lang_flag_html(), inc/language/lang-core.php).
   ═══════════════════════════════════════════════════════════════════ */
@font-face {
    font-family: 'Twemoji Country Flags';
    src: url('../../fonts/TwemojiCountryFlags-full.woff2?v=3') format('woff2');
    font-display: swap;
    /* Regional indicator'lar + siyah bayrak + tag karakterleri (gb-eng gibi
       alt-bolge bayraklari icin) — baska HICBIR karakteri kapsamaz. */
    unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0030-E0039, U+E0061-E007A, U+E007F;
}

.necox-lang-switcher__flag,
.necox-flag {
    font-family: 'Twemoji Country Flags', 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
}

.necox-lang-switcher {
    display: inline-flex;
    align-items: center;
    position: relative;
    font-size: 0.9rem;
}

/* ─── Flags ─── */
.necox-lang-switcher--flags {
    gap: 8px;
}
.necox-lang-switcher--flags a {
    font-size: 1.25rem;
    line-height: 1;
    opacity: 0.6;
    /* v8.3.256 B9 — metin rengi ayari (--ls-color) flags varyantinda da okunur
       (v254 flags'e kod+ad ekledi ama renk kanali bagli degildi). */
    color: var(--ls-color, inherit);
    text-decoration: none;
    transition: opacity 0.15s, transform 0.15s;
}
.necox-lang-switcher--flags a:hover,
.necox-lang-switcher--flags a.is-active {
    opacity: 1;
    transform: scale(1.1);
}

/* ─── Text ─── */
.necox-lang-switcher--text {
    gap: 6px;
}
.necox-lang-switcher--text a {
    /* v8.3.256 B9 — color:inherit yerine --ls-color kanali (bossa inherit = ayni gorunum) */
    color: var(--ls-color, inherit);
    opacity: 0.65;
    text-decoration: none;
    font-weight: 500;
    transition: opacity 0.15s;
}
.necox-lang-switcher--text a:hover,
.necox-lang-switcher--text a.is-active {
    opacity: 1;
}
.necox-lang-sep {
    opacity: 0.3;
}

/* v8.3.256 B3 — "Aktif Dil Arka Plan" (--ls-active-bg) flags/text varyantlarinda da
   calisir. Fallback transparent -> ayar bosken bugunku gorunum BIREBIR korunur.
   padding + negatif margin cifti kutu akisini KAYDIRMAZ (net sifir), sadece bg'ye
   nefes payi verir (yalniz ayar doluyken gorunur). */
.necox-lang-switcher--flags a.is-active,
.necox-lang-switcher--text a.is-active {
    background: var(--ls-active-bg, transparent);
    border-radius: calc(var(--ls-radius, 6px) - 2px);
    padding: 2px 6px;
    margin: -2px -6px;
}

/* ─── Dropdown ─── */
.necox-lang-switcher--dropdown .necox-lang-switcher__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: var(--ls-bg, transparent);
    /* v8.3.253 — degisken adi --ls-brd-clr (icinde "border-color" GECMEZ! WP global-styles
       "html :where([style*=border-color])" kurali eski --ls-border-color'i yanlislikla
       yakalayip root'a solid border basiyordu -> "border kaldiramiyorum" bug'inin gizli kaynagi). */
    border: var(--ls-border-w, 1px) solid var(--ls-brd-clr, transparent);
    border-radius: var(--ls-radius, 6px);
    color: var(--ls-color, inherit);
    cursor: pointer;
    /* v8.3.256 B6 — sabit 0.9rem --ls-size kanalini eziyordu; fallback ayni deger = gorunum ayni */
    font-size: var(--ls-size, 0.9rem);
    font-weight: 500;
    transition: background 0.15s, border-color 0.15s;
}
/* v8.3.256 B2 — HOVER FIX: sabit rgba degerler K3/K2 hover_bg + kenarlik rengini
   EZIYORDU (bu kural header.css __btn:hover'dan daha spesifik). Artik once ayar
   kanali okunur; ayar bossa eski sabitler fallback = gorunum degismez. */
.necox-lang-switcher--dropdown .necox-lang-switcher__btn:hover {
    background: var(--ls-hover-bg, rgba(0, 0, 0, 0.05));
    border-color: var(--ls-brd-clr, rgba(0, 0, 0, 0.1));
}
.necox-lang-switcher__flag {
    font-size: 1.1rem;
    line-height: 1;
}
.necox-lang-switcher__menu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    list-style: none;
    margin: 0;
    padding: 4px;
    min-width: 160px;
    /* v8.3.256 B4 — sabit #fff koyu presetlerde uyumsuzdu; kart zeminine bagla
       (acik presetlerde --necox-card-bg zaten beyaz/krem = gorunum korunur). */
    background: var(--necox-card-bg, #fff);
    border: 1px solid var(--necox-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    display: none;
}
.necox-lang-switcher--dropdown.is-open .necox-lang-switcher__menu {
    display: block;
}
.necox-lang-switcher__menu li {
    margin: 0;
}
.necox-lang-switcher__menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    /* v8.3.256 B4 — sabit #1e293b -> preset metin rengi (fallback ayni ton) */
    color: var(--necox-text, #1e293b);
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.9rem;
    transition: background 0.15s;
}
.necox-lang-switcher__menu a:hover {
    /* v8.3.256 B4 — sabit #f1f5f9 -> once hover ayari, yoksa primary'den soluk ton
       (color-mix; preset-uyum kurali "sabit hex degil"). */
    background: var(--ls-hover-bg, color-mix(in srgb, var(--necox-primary, #0284c7) 8%, transparent));
}
.necox-lang-switcher__menu a.is-active {
    /* v8.3.256 B3+B4 — "Aktif Dil Arka Plan" ayari (--ls-active-bg) SONUNDA okunuyor;
       ayar bossa primary'den soluk ton (eski sabit #eff6ff'in preset-uyumlu esdegeri). */
    background: var(--ls-active-bg, color-mix(in srgb, var(--necox-primary, #0284c7) 12%, transparent));
    /* v8.3.551 PUM (preset uyumu) FIX — aktif dil satiri super_light'ta OKUNMUYORDU.
       ESKI: color:var(--necox-primary). Iki taraf da token'di ama cift cakisiyordu:
       super_light'ta primary #c8896b (acik terrakota) + --ls-active-bg #f5ede6 (acik
       krem) = KONTRAST 2.50 -> aktif satir, pasif satirlardan (12.13) DAHA SILIK
       goruruyordu = vurgu tersine donmustu. Preset paletine DOKUNULMADI (kullanici
       karari); metin artik --necox-text (4 presette de zeminle garanti kontrast:
       editorial 8.26 · super_light 10.5 · midnight ~16 · ocean ~11).
       ⭐ Marka rengi KAYBOLMASIN diye accent METIN yerine SOL VURGU SERIDINE tasindi
       (inset box-shadow; kutu akisini kaydirmaz, radius'u bozmaz). */
    color: var(--necox-text, #1e293b);
    box-shadow: inset 3px 0 0 var(--necox-primary, #0284c7);
    font-weight: 600;
}

/* ─── v8.3.254 — Parca kombinasyonlari (bayrak/kod/ad her varyantta, admin sirasiyla) ─── */
.necox-lang-switcher--flags a,
.necox-lang-switcher--text a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.necox-lang-switcher--flags .necox-lang-switcher__name,
.necox-lang-switcher--flags .necox-lang-switcher__code,
.necox-lang-switcher--text .necox-lang-switcher__name,
.necox-lang-switcher--text .necox-lang-switcher__code {
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1;
}
.necox-lang-switcher__code { letter-spacing: 0.02em; }
