/* ═══════════════════════════════════════════════════════════════════
   ÜLKE SEÇİCİ  ·  .ulk*        [madde #04 · #17 · #18 · 4 Eyl 2026]
   -------------------------------------------------------------------
   bolum-form@v15'ten ORTAK'a TAŞINDI. Sebebi mimari: bileşen tek bir
   IIFE'nin içindeydi ve dışarıdan çağrılamıyordu. bolum-cta da aynı
   seçiciyi istiyor (#18) ve iki çıkış yolu da yanlıştı:
     · CTA'ya formun kur()'unu koşturmak → saat rozeti, alan doğrulama,
       gönderim ve jeton da kurulurdu; CTA'da yan etki.
     · Kodu kopyalamak → iki kaynak ayrı yaşlanır, 248 ülke ve bayrak
       mantığı iki yerde bakım isterdi.
   Doğrusu bileşeni ortak kılmaktı: HMK.ulkeSecici(kok, select).

   ÖLÇÜLER DEĞİŞMEDİ, yalnız ön ek tlp15- → ulk-. Renk/boşluk/kontrast
   kararları form-v15.css'te ölçülerek verilmişti, olduğu gibi taşındı.
   ═════════════════════════════════════════════════════════════════ */
.ulk{display:grid}
.ulk-dgm{display:inline-flex;align-items:center;gap:.5rem;
  /* 🔴 --tlp-alan DEĞİL: o FORMUN yerel token'ı ve bileşen ORTAK'a
     taşınınca çözülemez oldu. var() çözülemeyince kural sessizce DÜŞER,
     min-block-size auto'ya iner ve düğme 44'ten 22 px'e çöker (ölçüldü:
     komşu form alanı 52 px iken düğme 22 px, dokunma hedefi kalmıyor).
     Hata vermez, konsola düşmez — yalnız ölçünce görülür.
     Aynı kusurun kardeşi aria-label'daydı: bileşen taşındı ama formun
     ad uzayına bağımlılığı kaldı. Taşırken "bu değer kimin?" diye
     sorulmalı; --ar-* ORT'un token'ı, her yerde çözülür. */
  inline-size:100%;min-block-size:var(--ar-alan-yuk);padding-inline:.8rem;
  font:inherit;font-weight:600;font-size:var(--yz-gvd);color:inherit;cursor:pointer;
  background:var(--ar-alan-zem);
  /* 30 Ağu 17:58 · SINIR: kalınlık VE renk ikisi de ORT'un token'ından.
     İkisi ayrı eksen — kalınlık arayüz dilinden, renk bileşen sınırı
     eşiğinden (WCAG 1.4.11 · 3,0). Önce --cizgi yazıyordu: o bir AYRAÇ
     rengi (rgba .16), komşu zeminde 1,37 veriyor (ölçtüm). Kendi
     --cizgi-bilesen'imi yazmak yerine --ar-alan-knr-renk okuyorum ki
     sohbet · inline sohbet · form ÜÇÜ TEK SATIRDAN hizalansın. */
  border:var(--ar-alan-knr) solid var(--ar-alan-knr-renk);
  border-block-end-width:max(var(--ar-alan-knr),var(--ar-alan-alt));
  border-radius:var(--ar-r-alan)}
.ulk-dgm:focus-visible{outline:2px solid var(--aksan);outline-offset:2px}
/* Chevron bir GRAFİK (eşik 3,0), --mrk3 ile 3,14 veriyor — geçiyor ama
   kıl payı. Bu bir işlev işareti ("burası açılır"), görülmezse düğme
   düğme gibi okunmuyor; --mrk2'ye alındı. */
.ulk-ok{inline-size:.5rem;block-size:.5rem;flex:none;color:var(--mrk2);
  transition:transform var(--mikro) var(--egri)}
.ulk-dgm[aria-expanded="true"] .ulk-ok{transform:rotate(180deg)}
.ulk-kod{font-variant-numeric:tabular-nums;white-space:nowrap}

/* Liste BÖLÜM KÖKÜNE asılır (bölüm kökü position:relative) — form kartının
   overflow:hidden'ı kesmesin. Konum betikte, ölçülen dikdörtgenden ve
   MANTIKSAL eksenden kurulur; RTL'de kendiliğinden aynalanır. */
.ulk-liste{position:absolute;z-index:40;margin:0;padding:.3rem;list-style:none;
  min-inline-size:16rem;max-block-size:17.5rem;overflow-y:auto;overscroll-behavior:contain;
  background:var(--z3);border:1px solid var(--cizgi-bilesen);border-radius:var(--ar-r-alan)}
.ulk-liste[hidden]{display:none}
.ulk-sec{display:flex;align-items:center;gap:.65rem;
  min-block-size:2.75rem;padding-inline:.6rem;border-radius:calc(var(--ar-r-alan) * .6);
  cursor:pointer;font-size:var(--yz-dgm);color:var(--mrk);
  transition:background var(--mikro) var(--egri)}
.ulk-sec:hover,.ulk-sec[data-ulk-imlec]{background:var(--z2)}
.ulk-sec[aria-selected="true"]{font-weight:700}
.ulk-sec-ad{flex:1 1 auto;min-inline-size:0}
/* ÖLÇÜLDÜ · --mrk2 açık temada --z3 zemininde 4,07:1 — 15 px için AA
   altı. Ülke kodu zaten okunması GEREKEN veri; --mrk'ye çekildi.
   Hiyerarşi renkle değil AĞIRLIKLA kuruluyor. */
.ulk-sec .ulk-kod{color:var(--mrk);font-weight:600}
.ulk-sec[aria-selected="true"] .ulk-kod{font-weight:700}

/* Bayrak: Wikimedia'nın resmî SVG'sinden 48 px'e rasterize PNG, gömülü.
   Elle çizim YOK — Suudi bayrağı şehadet ve kılıç taşıyor, yaklaşıklığı
   kabul edilmez. Beyaz kenarlı bayraklar (Bahreyn · Katar) zeminde
   kaybolmasın diye içeriden 1 px hat: gölge değil, outline. */
.ulk-bay{inline-size:1.5rem;block-size:1.125rem;flex:none;border-radius:2px;
  background-repeat:no-repeat;background-position:center;background-size:100% auto;
  outline:1px solid var(--cizgi);outline-offset:-1px}

@media (prefers-reduced-motion: reduce){
  /* Yalnız BİLEŞENİN öğeleri. Form kendi öğelerinin (.tlp15-tik ·
     .tlp15-kutu) hareket-azaltma kuralını kendi dosyasında tutar —
     taşırken ikisi aynı bloktaydı, ayrıldı. */
  .ulk-ok,.ulk-sec{transition:none}
}
.ulk-bay[data-ulk-bay="sa"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAMAAABjCgsuAAAAwFBMVEWcva+IsJ9+qZZ4pZJ1oo9zoY5yoY1wn4ttnYhqm4Zkl4JglH5ckntZj3lWjnZUjHRSi3NSinJPinBNiG5Lhm1IhGtGg2lCgGY+fWI7fGA6e185el42eFw1d1s0d1oydVgvc1Yuc1Yuc1Utc1UqcFIlbU4faUkWY0IKWzgGWDUFVzQEVzQEVzMDVjICVTEBVTEBVDEBVDAAVDAAVC8AUy8AUy4BUi0AUi4AUCsATigATCcATCYASiUARyEARyAARR46pQwiAAABd0lEQVR42u2USXOCQBCF2SKyI4uAIJKENQgjQyuYzf//rwKpJCZVgOUhN99pDvPN6+nXMwS+UsQN+FKNocYYMEAN+HM9AiDAVbcDl3VRAM5QUZQdtkUjwO6QmBtPsK3Yc1Rf0hXHNO25GRr6EwwCdZ7Kdkxqc98KhYBnA9dxbZEOQjVthksqLZkXSUbnFVqc8R4vrVRD57ilnA074MM9Y2oip0gWZ7o2bVIL23bWlKik+0GgOsR6whIMQWoRpXKEzFPGahWJDJuPOCBHsTasv858l6MI8k6LFW4dq6E44oBBpmhC36gswyqzme5aXCTwwsJelsNtrfaJIETO2nIoN4zmXuzLshMmSy+FseC67rXbAh8zgAalJTRZgVvcNKNJV33YgFFfMvTHdlPRxbz7x2mtdheBIt+elZcoLy4AL+9nvZ3a5vQ6CaDGYO5+xLAkyUh7NOUAcfD48K0gFHmDzqCaKql9/q1jewQ0fQf0R1X/CG8f2fXAB1qEEH/ZGhc9AAAAAElFTkSuQmCC)}
.ulk-bay[data-ulk-bay="tr"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAMAAABjCgsuAAAAwFBMVEX//////v7//Pz++fn+8fL86uv619n4yMr4v8L3ur73tLj2rLH1qK31o6jzk5jykZfxhIruaHDrTFbpPkjpPUfoOELnMDvnJjLmJDHmICvlHSjlGyflFyPkFCDkEh7kDxzkDhvjDhvjDRrjDRnjDBnjDBjjCxnjCxjjCxfjChfjChbjCRfjCRbjCRXjCBbjCBXjBxXjBxTiBxTjBhPiBhTiBRPjBRHiBBHiAxDiAg/iAg7iAQ7iAAzhAA3hAAjhAAPAyd6uAAABJ0lEQVR42u2U3XKCQAyFQwVxVPwBtCpaCsamqVvpVmmlIL7/W8nYwkVnELhuc7mTb+dkz8kCNyz46wAhB1nxhuoByLH0H9fimARYAxB4kNawrYLWNznCbSXgH5cDAFA7/V5nNPvCKgDDZRfuwLDd89kzx86Bnm8CxHIALRh9nNh1Rfqw2L6+ESGVAhhb2f29hL2sh/wg2C8mRy/+pFJJ7wNQWtMwb3iKpp1ZOrkPqQQI/DaAvhP58Uu60vRedy5LAVcFMPJ+kvOx3gKwTsg3gcJy6VQCV0mikMRVkn4PTVVDY2wrjZ6VeD+8GpdkxgXpytmK28Z9R0MBw8qi4ZpmZTSY11n4lCJ8EdaKtz3UVUUzzF2deP8skIe7KBFYc0U3zVb0/+crBS52+ed2ATt4qwAAAABJRU5ErkJggg==)}
.ulk-bay[data-ulk-bay="ae"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAYCAMAAACLI47uAAAAV1BMVEX/////+/z/+fv4/Pr9+Pn4+Pj29fT28fIHiEIHh0INhEIAhT0AhD0AhDsAgzsGgT0DgDvKFzTKEC7KDy7IEC7CEy7CEC3HDSwNBwgHBwcGAAEDAAAAAAABpbEFAAAAUElEQVR42u3LRw6AIBAF0AEbdsWC7f7ndEdmEpMvW+XtH83etPR1A9Hvw9B2kAiVKSEW3JgnmAiaXuAh/UBQoaHIMBbsuu2YCOeFiXDE8Bxu03FEKCmDqgQAAAAASUVORK5CYII=)}
.ulk-bay[data-ulk-bay="kw"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAYCAMAAACLI47uAAAAwFBMVEX////++Pn7+fr4+/r4+vr4+Pj09PMHf0MHfkIAgUEAgEAAf0AAfT8AfD4Aez4Aej4Aej0AeT0AeTwAeTvPGCzRFy3ZEijYEijTEifUESfSESfOESbNESbMESbLESYAeDwAeDsAajUAaDQAZzQATCYASiUAKBQAJxTNDiTCDyO2DyKzDyGFCxmFChmECxlKBg5JBg5JBg0bAgUaAgUYAgUHBwcHBgYGBwcCAAABAAAADQcADAYAAgEAAQEAAQAAAADKmfKbAAAAw0lEQVR42tXPWxeBQBSG4ZxFqFBpyiHESsghKvT9/38lrVouZ7v0Xu9n9h7BdbryTKYnIFn3JPUHkALuUpQV+ob0hceqL6kKFQBPYOOIskoGyM5KVgNpRgY5cRed+ZBfAfKfrFttfiUAXrg1a/y+AGlYFQh9AcLG34M4rP8C4gj3ZoVfCaIY1/14xK8AERB4+pZQDmLgcjAnU0ZIyK/H0dMsm9FANn/1DdO2GA1kz588jRHHPxvOvkG7vgDBTmc2fZ69AV1HaBQD5QVCAAAAAElFTkSuQmCC)}
.ulk-bay[data-ulk-bay="qa"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAATCAMAAADh5H4tAAAAwFBMVEX//////v///v7+/v/+/v7+/f38+vr58/X16+716Ovz5Onw4eXu3OHq1tzo0tno0NfmztXmzdXmzdTixs7ZtcDWrbrRoa7Ll6fKlaXChpi/f5K9fZG+e4+8eIy3boS0aH+sW3KsWXKkSmWkSGShQl6hQF2ePluePVmcOleZM1KXL06WLUyUKkqUKEmQIEKOFzqLFzmNFjmLFjmKFjiKFTmKFTiJFTiKFDeJFDeMEjeJEzeJEjaIEjaIEjWIETSFCS5n38HDAAAAq0lEQVR42pWS2xZCABBFR4UuJHcplVgUUZFI0v//VT16spzzPGfttWeGqJMR8aqTVHnRk+48jUkw7LDJBhcYZmG5cfkYXCBiV070GU6Y0HLtXuocIMxVM3hnSMEKqifiwImmXyMOyt6LqwIg0MwIAYcRiXbUFghhKmleewMcpN05RRwY4nQf+CX2v6VTWiIOvKgfAQeWhE3yzcE7+K/rvSckd6LI2vYQNb2EH0RDfoQtrkZrAAAAAElFTkSuQmCC)}
.ulk-bay[data-ulk-bay="bh"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAdCAMAAADb7h9dAAAAwFBMVEX///////7//v7//f3//Pz+/Pz/+/v++vn++fj+9/b99PP98vH88PD88O/75+b75uX419T41NP30tD30c73zcr2y8j2yMXzubTxr6rvpJ7vopzunpnunJXskovrjIXri4PqiYLqgXnndGzkZFrkX1bjXVPhVEnfRDneQzjfQTbeQTbePzPdOS7cNCfbLiHbLSDaKx7aKh3aKRzaKBzaKBvaJxrZJhnZJRfZIxbZIhTYHhHYHRDYHA/XGQvXGArXFwnZphCXAAAAvUlEQVR42rVU2RKCQAyrizfeirfiqngyQNcFRUH//6/gUV+c1hnznmmTNgF4Q1eeokT56hvgE635NkjpBFECKFvS00gkFHKOOXIu9JVqHdu9xppIEGDtXrFSSNYgerM13kPFcak6kK5GMsGoFAHMJd0lA6A+XOxDJK/Unm5UGtE1jI/JE72A7lKzvzrg48ZxCRoT50x3SYhcNti+/tcEvgauS/w7sC/N/iXut3LzwE8cN9M/tAa7l9jNR+nWDDzUucSJ2jLPAAAAAElFTkSuQmCC)}
.ulk-bay[data-ulk-bay="om"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAcCAMAAAAQssz4AAAAwFBMVEX//////v7//f3++fn++Pj97+/yq6wChQIAiAAAhwAAhgLnZGfkT1LjS07iRknhPkHgOj3gNjmgNBSfNBQJgAMIfQMpbQdHXgpzSg8GfgIEfwICgAICfwIAhAIAgQLfMDTeKy/eKSzdIibcHiLcHSHcGx/cGh3VGhrbGR7bGR3bGRzXGRrbGBzZGBvbFxvaFxvmFRzkFhziFBzhFBzhFBvdFhvcFhvbFhvbFhrbFRnbFBjaEhbaDxTaDxPZDxPaDhIs9/d4AAAA7klEQVR42s3R23LCIBCAYXq0lpRg1en0YElEYlJx7dFuiG3f/61KuIuZAXpVvwuu+GcTloBVam2wViVCvTghAfa+yfgPzyGdGx0XYMnmTAhudOSEaicSSpMNQmRQS0HPaSLL2ACVHUBZpmMD3RRpxtW3C06P/Nwn1SKVOcubNjgOT0DJuUIj2Qjss54FEHspGyGCNipdIFZXAW5xTbtu+NzZd4WvAPfT2gXw1B5VUXkR+KN/CDYBvWAd0AveX9+89oLt6iZgL/hYzi6GXr1genfr1Q8e770OMejucRsOXjqei8nlwIuMO67H09mD1y9de5ocszR46QAAAABJRU5ErkJggg==)}
.ulk-bay[data-ulk-bay="eg"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAMAAABjCgsuAAAAwFBMVEX///////7//v7+/v7///3///z//v3+/vn//vb//f7//f3+/fb9+/X//On/99r+99X/9c//9Mn/+cb/9MX/9MP/88X/88P/9rn/8rv/8rn/8LT/7q7/7qb/7ab/7aH+65r+6pv/6Iz/6Iv/6Ij/5n//5Xz/5Xj/5HL+4m3/4GH/31b/3Ez/3Ev/3Er/2kf/2kDwqVZ3c2CWcGXdbH7dbH2OaGtjY2NiYmTJFDLJFDHIEC7FASHEACQFBQQEBAQAAACvNB9cAAAAv0lEQVR42u3PyQ6CMBSF4QsUBDFFEBStIipEgwwxEufh/d9K9h6TsnDHtyHpn9MGurVE3eAvg+svF3xMd+zx+BHoCNV1jcORLEDtGx63+ipqhJg2c4fMNmFUAbHgY5cvBGroDmWzz4J5lm8UksPWeRUsq2LFJAd6UqbcT8tElxwY2zyahlGxNVDVvvV2SydNnXjXAxH+tD8VcSzCkSL5gjYIZhNvEtqo0Qk4nw6N5gPQuyV6Qc8GLu1f6Ab/GHwABLEBUAZJs+UAAAAASUVORK5CYII=)}
.ulk-bay[data-ulk-bay="gb"]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAdCAMAAADb7h9dAAAAwFBMVEX///////7//v39////+/r/9/b++vv6+fr37/Hk4Oju09rR2+fK0+Lzv8bvsbrqnanol6Tnk6Hoj5yyvdOnnbfhkqGDkraCiq7heYneYnXYT2XTQVjRP1jUPFVYbZ1QZJZGXZEqRIHRL0nKGzfJEjDGEjHIES/IES7IEC7HEC7IDy7IDy3HDy3HDCrGCSjGCSfGBiXEBCTCABtaGEoGJWwFJGsHImkDI2oBIWkCGmQAHmcAGmQAF2IAE2AAEV4AC1o1JA2aAAACRUlEQVR42pVUa3OqQAxNYYTlKaKXZ1VQa61WW3fYwvDy//+rmwVFW2lnPJ+YJIc9m80J+CqIEnGTMk2zBqzWBs8fq9XH80CrWRtLWZW4iv32OTWBLkcEBNCjomC/EVhRRmPjmS49IoK9pKEJIgiTuMzSPkKaVfFY9Y8UxSD458FXRQDFZQVmfxDSrGSOMlrShSnzcsgj3VhwXSI86VFeJMktIUlQjW6ErRrQ5hlkZeIo9gsNDQzAJK5YdSVUSR1PVO94DLA1oDhJiYQ0q7lEevCboJucroQTc7Xhkk5N/rNxXGExMIbH5jPNnKIuARN6fCXEXM27R7BcmSUolzGoEVV9Klzd4xcjAhCJhJwQEtnwGzUgK25+wjIEzM+IXFn1g8CQJEG4EIgXBEMASSJOdKmDPgxawqA3+a+DZY0QFsJe7Nfr/cLuAta1CnZ32G52mwa7zfY+20PglAbbvhyse/DaEl77co+f8PAdbrtknRvVdekcGN126eF3uL40kSSAYRD45PLSgiBJBgYM8ealL7M009AfanCkgSF3s4TmJeaCrjzd6WaJT2v+NdfwMOJt0Bbat2kFEIXGbtrsq53WxrITLBeHOODWDz8kM/4n1T9Q3xjHdZ42jnMVdA5X46sY/OY4VsUOShXRFi/22XERP5agGaYG3zV3ni4i/QkLzrpyXAPoD7zYsv0Bu98aBUMJIKr+nkuARiI9cjXVb3upjCcyqjZDurI7NfPyr81XRGNcjwS3HpjTz3eupvpzt6bYGiJha/z/vBemzJLnLf0AAAAASUVORK5CYII=)}

/* [madde #18] Ülkesi olmayan seçenek ("Diğer") — bayrak yerine boş kutu.
   Kenarlık YOK: boş bir çerçeve "bayrak yüklenemedi" gibi okunuyor.
   Yalnız yer tutar; satırdaki ad ve kod hizası bozulmasın. */
.ulk-bay-bos{background:none;outline:0}
