/* ============================================================================
   BULURO — ekran.css
   Üyenin fiyat ekranı: dükkândaki TV'de ya da bilgisayarda tam ekran.

   Tasarım kuralları
   · uzaktan okunur: satır yüksekliği ve punto ekrana göre JS'te ölçülür
     (--satir, --yazi); birim çoksa geniş ekranda iki sütuna bölünür
   · alış/satış Buluro mavisinin iki tonu; fiyat hücresi son hareketin
     yönünü taşır (yükseldi yeşil, düştü kırmızı, değiştiği an kısa parlar);
     işletme panelden kapatabilir (.ek[data-renkli])
   · Buluro dark varsayılan; panelden Buluro (açık), aynı düzende
     sarı, turuncu, yeşil, mor, kırmızı, gri tonları ve her birinin koyu
     eşi seçilebilir (html[data-tema]; açık/koyu ailesi html[data-zemin])
   · eski akıllı TV tarayıcıları düşünülerek color-mix gibi yeni
     özelliklere dayanılmadı

   buluro.css yüklenmiyor; token'lar burada.
   ========================================================================== */

:root {
  --ek-bg:        #06141b;
  --ek-satir-1:   #0a1d26;
  --ek-satir-2:   #0d2430;
  --ek-cizgi:     #173a4b;
  --ek-yazi:      #e8f6fd;
  --ek-sonuk:     #8fbfd6;
  --ek-bas-1:     #0a5375;
  --ek-bas-2:     #0c6288;
  --ek-alis:      #7fd4ff;
  --ek-satis:     #ffffff;
  --ek-yuk:       rgba(53, 209, 122, .42);
  --ek-dus:       rgba(255, 106, 94, .42);
  --ek-yuk-yazi:  #5ee597;
  --ek-yuk-zemin: rgba(53, 209, 122, .16);
  --ek-dus-yazi:  #ff8c82;
  --ek-dus-zemin: rgba(255, 106, 94, .16);
  --ek-kart:      #0c212b;
  --ek-kart-cizgi:#1e4557;
  --ek-marka:     #1e9bd7;
  --ek-hata:      #ff8a80;
  --ek-ortu:      rgba(3, 12, 17, .72);

  --satir: 48px;
  --yazi: 24px;
  --sutun: 1;

  color-scheme: dark;
}

/* Açık düzen (Buluro ve renkli temalar): beyaz satırlar, ortak
   yükseliş/düşüş renkleri. Tema blokları bundan sonra gelir, üstüne yazar. */
:root[data-zemin="acik"] {
  --ek-satir-1:   #ffffff;
  --ek-kart:      #ffffff;
  --ek-yuk:       rgba(9, 143, 53, .22);
  --ek-dus:       rgba(212, 37, 27, .20);
  --ek-yuk-yazi:  #0f7a36;
  --ek-yuk-zemin: rgba(9, 143, 53, .11);
  --ek-dus-yazi:  #c0261b;
  --ek-dus-zemin: rgba(212, 37, 27, .10);
  --ek-hata:      #b42318;
  --ek-ortu:      rgba(20, 24, 28, .38);
  color-scheme: light;
}

:root[data-tema="acik"] {
  --ek-bg:        #eef7fb;
  --ek-satir-1:   #ffffff;
  --ek-satir-2:   #f2f9fd;
  --ek-cizgi:     #d3ecf7;
  --ek-yazi:      #082939;
  --ek-sonuk:     #326983;
  --ek-bas-1:     #0d6b96;
  --ek-bas-2:     #0f78a9;
  --ek-alis:      #0c6188;
  --ek-satis:     #08425c;
  --ek-yuk:       rgba(9, 143, 53, .22);
  --ek-dus:       rgba(212, 37, 27, .20);
  --ek-yuk-yazi:  #0f7a36;
  --ek-yuk-zemin: rgba(9, 143, 53, .11);
  --ek-dus-yazi:  #c0261b;
  --ek-dus-zemin: rgba(212, 37, 27, .10);
  --ek-kart:      #ffffff;
  --ek-kart-cizgi:#d3ecf7;
  --ek-hata:      #b42318;
  --ek-ortu:      rgba(8, 41, 57, .38);
  color-scheme: light;
}

/* Renkli temalar: Buluro'nun (açık tema) düzeni, mavi yerine kendi tonu. Tonlar
   bilerek kısık (göz yormasın); başlıkta beyaz yazı en az 4,5:1, beyaz
   zeminde fiyatlar en az 5,6:1 (hesap: WCAG göreli parlaklık). */
:root[data-tema="sari"] {
  --ek-bg: #fbf7ea; --ek-satir-2: #fdf9ee; --ek-cizgi: #efe3bd; --ek-kart-cizgi: #efe3bd;
  --ek-yazi: #33290a; --ek-sonuk: #7a6526;
  --ek-bas-1: #86670d; --ek-bas-2: #927210;
  --ek-alis: #7d600c; --ek-satis: #4f3c05; --ek-marka: #86670d;
}
:root[data-tema="turuncu"] {
  --ek-bg: #fcf4ee; --ek-satir-2: #fdf8f4; --ek-cizgi: #f1dccc; --ek-kart-cizgi: #f1dccc;
  --ek-yazi: #3a1d0c; --ek-sonuk: #86573a;
  --ek-bas-1: #a4481a; --ek-bas-2: #b3561f;
  --ek-alis: #9a4216; --ek-satis: #5e270b; --ek-marka: #a4481a;
}
:root[data-tema="yesil"] {
  --ek-bg: #eff6f1; --ek-satir-2: #f5faf6; --ek-cizgi: #d5e7da; --ek-kart-cizgi: #d5e7da;
  --ek-yazi: #10281b; --ek-sonuk: #4b6b57;
  --ek-bas-1: #2d6a47; --ek-bas-2: #347853;
  --ek-alis: #28603f; --ek-satis: #133b26; --ek-marka: #2d6a47;
}
:root[data-tema="mor"] {
  --ek-bg: #f5f2fa; --ek-satir-2: #faf8fd; --ek-cizgi: #e4dcf1; --ek-kart-cizgi: #e4dcf1;
  --ek-yazi: #26183f; --ek-sonuk: #66568a;
  --ek-bas-1: #5a3f8e; --ek-bas-2: #684c9e;
  --ek-alis: #57408a; --ek-satis: #33235c; --ek-marka: #5a3f8e;
}
:root[data-tema="kirmizi"] {
  --ek-bg: #fbf1f2; --ek-satir-2: #fdf7f8; --ek-cizgi: #f0d6da; --ek-kart-cizgi: #f0d6da;
  --ek-yazi: #3a0f16; --ek-sonuk: #83505a;
  --ek-bas-1: #8f2a38; --ek-bas-2: #a03341;
  --ek-alis: #8a2a37; --ek-satis: #561822; --ek-marka: #8f2a38;
}
:root[data-tema="gri"] {
  --ek-bg: #f2f4f6; --ek-satir-2: #f8f9fa; --ek-cizgi: #dfe3e8; --ek-kart-cizgi: #dfe3e8;
  --ek-yazi: #1d242c; --ek-sonuk: #5c6672;
  --ek-bas-1: #454e59; --ek-bas-2: #525c68;
  --ek-alis: #3d4652; --ek-satis: #1c2229; --ek-marka: #454e59;
}
/* Koyu eşler: Buluro dark'ın düzeni, lacivert yerine üstteki açık rengin
   koyu tonu (sarı → altın, turuncu → bakır, yeşil → haki, mor → mürdüm,
   kırmızı → bordo, gri → siyah). Satırda ad ve fiyat en az 8,6:1, başlıkta
   beyaz yazı en az 7:1; bölüm işareti koyu zeminde en az 3:1. */
:root[data-tema="siyah"] {
  --ek-bg: #0b0b0c; --ek-satir-1: #111214; --ek-satir-2: #17181b; --ek-cizgi: #2a2c31;
  --ek-yazi: #f2f2f3; --ek-sonuk: #a0a4ab;
  --ek-bas-1: #1a1b1e; --ek-bas-2: #26282c;
  --ek-alis: #cfd3da; --ek-satis: #ffffff;
  --ek-kart: #141518; --ek-kart-cizgi: #2e3035; --ek-marka: #5f646d;
  --ek-ortu: rgba(0, 0, 0, .72);
}
:root[data-tema="altin"] {
  --ek-bg: #14110a; --ek-satir-1: #1b170d; --ek-satir-2: #221d10; --ek-cizgi: #3d3317;
  --ek-yazi: #fbf3dc; --ek-sonuk: #cdb98a;
  --ek-bas-1: #5c460a; --ek-bas-2: #6e540c;
  --ek-alis: #f2cd5c; --ek-satis: #ffffff;
  --ek-kart: #1c180e; --ek-kart-cizgi: #4a3e1c; --ek-marka: #8a6a12;
}
:root[data-tema="bakir"] {
  --ek-bg: #150d09; --ek-satir-1: #1d120c; --ek-satir-2: #24160f; --ek-cizgi: #43281b;
  --ek-yazi: #fbeee6; --ek-sonuk: #d4a88f;
  --ek-bas-1: #6b2f12; --ek-bas-2: #7d3816;
  --ek-alis: #f5a36c; --ek-satis: #ffffff;
  --ek-kart: #1e130d; --ek-kart-cizgi: #52301f; --ek-marka: #a24a1c;
}
:root[data-tema="haki"] {
  --ek-bg: #0f120b; --ek-satir-1: #151a10; --ek-satir-2: #1b2114; --ek-cizgi: #313b23;
  --ek-yazi: #eef3e4; --ek-sonuk: #b3c09a;
  --ek-bas-1: #3f4a26; --ek-bas-2: #4b582d;
  --ek-alis: #c9d88f; --ek-satis: #ffffff;
  --ek-kart: #161b11; --ek-kart-cizgi: #3b4629; --ek-marka: #5f6d34;
}
:root[data-tema="murdum"] {
  --ek-bg: #120c16; --ek-satir-1: #19101e; --ek-satir-2: #1f1426; --ek-cizgi: #3a2748;
  --ek-yazi: #f3ecf8; --ek-sonuk: #bda7cf;
  --ek-bas-1: #3e2358; --ek-bas-2: #4b2b69;
  --ek-alis: #d2b0f2; --ek-satis: #ffffff;
  --ek-kart: #1a1120; --ek-kart-cizgi: #45305a; --ek-marka: #7a4fb0;
}
:root[data-tema="bordo"] {
  --ek-bg: #150a0c; --ek-satir-1: #1d0e11; --ek-satir-2: #241216; --ek-cizgi: #45222a;
  --ek-yazi: #fbecee; --ek-sonuk: #d6a5ae;
  --ek-bas-1: #5e1622; --ek-bas-2: #6f1b29;
  --ek-alis: #f0d0d6; --ek-satis: #ffffff;
  --ek-kart: #1e0f12; --ek-kart-cizgi: #552a33; --ek-marka: #b0364c;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  background: var(--ek-bg);
  color: var(--ek-yazi);
  font-family: Arial, Helvetica, "Liberation Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}
button, input { font: inherit; color: inherit; }
[hidden] { display: none !important; }

/* ——————————————————————————— iskelet ——————————————————————————— */
.ek {
  display: grid;
  /* sütun ekranın eni: içerik sayfayı ekrandan geniş yapmasın — telefonda alt çubuktaki uzun
     güncelleme yazısı sayfayı 460 px'e çıkarıyor, SATIŞ sütunu ve sağ üst kesiliyordu */
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  height: 100vh;
  height: 100dvh;
}

.ek-bas {
  /* logonun boyu: TV'de ekran.js bandın boyundan yazar (logoYerlestir), yazana dek bu */
  --logo-boy: clamp(28px, 6.2vh, 88px);
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  /* üst bant eskisinden %20 kısa: dolgu, ad, iletişim satırları ve QR birlikte küçüldü */
  padding: clamp(6px, .9vh, 14px) clamp(16px, 2.6vw, 48px);
  background: linear-gradient(100deg, var(--ek-bas-1) 0%, var(--ek-bas-2) 100%);
  color: #fff;
  overflow: hidden;
}
.ek-bas::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(118deg, rgba(255,255,255,.07) 0 1px, rgba(255,255,255,0) 1px 22px);
}
/* Logo (varsa) adın solunda. TV'de bandı boydan boya doldurur (aşağıda .ek-bas[data-logo-dolu]);
   bandın boyunu ad ve iletişim belirler, logo yüklenince başlık büyüyüp tabloyu itmez. */
.ek-kimlik {
  position: relative; z-index: 1; min-width: 0;
  display: flex; align-items: center; gap: clamp(10px, 1.4vw, 26px);
}
.ek-logo {
  flex: none; display: block;
  height: clamp(28px, 6.2vh, 88px); height: var(--logo-boy); width: auto; max-width: clamp(80px, 24vw, 420px);
  object-fit: contain;
}
/* Logo çerçevesi (Profil → Logo; ekran.js logoCerceveYaz): siyah ya da beyaz zeminli kare,
   yuvarlak, yatay oval ya da yatay dikdörtgen. Boyu --logo-boy (TV'de bandın boyu, aşağıda;
   telefonda küçük); logo içinde ortalanır, kenara değmez — yuvarlakta ve ovalde iç boşluk
   geniş, köşeler şeklin dışında kalmasın. Giriş kartındaki logo da aynı çerçeveyle. */
.ek-logo[data-cerceve="kare"], .ek-logo[data-cerceve="yuvarlak"], .ek-logo[data-cerceve="oval"], .ek-logo[data-cerceve="dikdortgen"],
.ek-kart-logo[data-cerceve="kare"], .ek-kart-logo[data-cerceve="yuvarlak"], .ek-kart-logo[data-cerceve="oval"], .ek-kart-logo[data-cerceve="dikdortgen"] {
  --cerceve-zemin: #fff;
  box-sizing: border-box; height: var(--logo-boy); max-width: none; max-height: none;
  object-fit: contain; background: var(--cerceve-zemin); box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}
.ek-logo[data-cerceve-renk="siyah"]:not([data-cerceve="yok"]),
.ek-kart-logo[data-cerceve-renk="siyah"]:not([data-cerceve="yok"]) { --cerceve-zemin: #000; box-shadow: 0 0 0 1px rgba(255, 255, 255, .22); }
.ek-logo[data-cerceve="kare"], .ek-kart-logo[data-cerceve="kare"] {
  width: var(--logo-boy); padding: calc(var(--logo-boy) * .1); border-radius: calc(var(--logo-boy) * .12);
}
.ek-logo[data-cerceve="yuvarlak"], .ek-kart-logo[data-cerceve="yuvarlak"] {
  width: var(--logo-boy); padding: calc(var(--logo-boy) * .16);
}
.ek-logo[data-cerceve="oval"], .ek-kart-logo[data-cerceve="oval"] {
  width: calc(var(--logo-boy) * 1.8); padding: calc(var(--logo-boy) * .15) calc(var(--logo-boy) * .27);
}
.ek-logo[data-cerceve="dikdortgen"], .ek-kart-logo[data-cerceve="dikdortgen"] {
  width: calc(var(--logo-boy) * 1.8); padding: calc(var(--logo-boy) * .1) calc(var(--logo-boy) * .14); border-radius: calc(var(--logo-boy) * .12);
}
/* Yuvarlak ve oval: şekil zeminde çizilir (elips gradyan), köşe yuvarlatılmaz — border-radius resmin
   içini de elipsle keser, geniş logonun iki ucu kesilirdi. Gölge şeklin kendisini izler. */
.ek-logo[data-cerceve="yuvarlak"], .ek-logo[data-cerceve="oval"],
.ek-kart-logo[data-cerceve="yuvarlak"], .ek-kart-logo[data-cerceve="oval"] {
  border-radius: 0; box-shadow: none; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .3));
  background: radial-gradient(closest-side, var(--cerceve-zemin) calc(100% - 1.5px), rgba(0, 0, 0, 0) 100%);
}
.ek-logo[data-cerceve-renk="siyah"][data-cerceve="yuvarlak"], .ek-logo[data-cerceve-renk="siyah"][data-cerceve="oval"],
.ek-kart-logo[data-cerceve-renk="siyah"][data-cerceve="yuvarlak"], .ek-kart-logo[data-cerceve-renk="siyah"][data-cerceve="oval"] {
  box-shadow: none; filter: drop-shadow(0 0 1px rgba(255, 255, 255, .5));
}
/* TV'de logo üst bandın solunu doldurur (ekran.js logoYerlestir): bandın boyunca, üstten, alttan
   ve soldan küçük payla; ad logonun yanından başlar. Konumlu, akışta değil — bandın boyunu ad ve
   iletişim belirler, logo büyütmez. --logo-boy (bandın boyu − 2 pay), --logo-en (çerçevenin ya da
   resmin oranıyla) ve --logo-pay ekran.js'ten. Telefonda eski düzen: adın solunda, küçük. */
.ek-bas[data-logo-dolu="evet"] { padding-left: calc(var(--logo-pay) + var(--logo-en) + clamp(12px, 1.4vw, 26px)); }
.ek-bas[data-logo-dolu="evet"] .ek-kimlik { position: static; }
.ek-bas[data-logo-dolu="evet"] .ek-logo {
  position: absolute; z-index: 2; left: var(--logo-pay); top: var(--logo-ust, var(--logo-pay));
  width: var(--logo-en); height: var(--logo-boy); max-width: none;
}
.ek-firma { position: relative; z-index: 1; min-width: 0; }
.ek-ad {
  margin: 0;
  font-size: clamp(20px, 3.6vh, 54px); font-weight: 800; letter-spacing: .04em; line-height: 1.05;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  /* taşmayı gizleyen kutu harfin tamamını kapsasın: ğ, ş, ç, ı'nın alt ucu ve İ, Ğ, Ş'nin işaretleri kesilmesin
     (kullanıcı isteği, 20.10.2026); eksi dış boşluk yerleşimi değiştirmez */
  padding-block: .22em .22em; margin-block: -.22em -.22em;
}
/* adın altında il / ilçe; alt satır (varsa) onun altında */
.ek-yer {
  margin: .18em 0 0;
  padding-bottom: .12em; margin-bottom: -.12em;
  font-size: clamp(12px, 1.8vh, 24px); font-weight: 700; opacity: .95;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ek-yer + .ek-altbaslik { margin-top: .12em; }
.ek-altbaslik {
  margin: .25em 0 0;
  padding-bottom: .12em; margin-bottom: -.12em;
  font-size: clamp(12px, 1.8vh, 24px); font-weight: 600; opacity: .88;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* QR ödeme (bütün paketlerde): en sağda (eski saatin yerinde) ödeme karekodu, altında tek satır
   "ÖDEME İÇİN OKUTUN" — karekod ile yazı birlikte eski karekodun boyunda, bant büyümez; ince çizgi
   iletişimden ayırır; saat ve tarih yok (alt çubukta). Karekod yoksa blok yer kaplamaz. */
.ek-sag {
  position: relative; z-index: 1; flex: none;
  display: flex; flex-direction: column; align-items: center; gap: clamp(2px, .3vh, 5px);
  padding-left: clamp(12px, 1.6vw, 30px); border-left: 1px solid rgba(255, 255, 255, .3);
}
.ek-qr-yazi { font-size: clamp(8px, .95vh, 13px); font-weight: 800; line-height: 1.15; letter-spacing: .04em; white-space: nowrap; }
/* telefonda karekodun yerine yalnız yazısı (dar ekran, aşağıda); geniş ekranda yok */
.ek-qr-mobil { display: none; }
.ek:not([data-qr="evet"]) .ek-sag { display: none; }
/* "Tam ekran yap" (Büyük önizleme): sağ üstte, hemen altında iletişim (.ek-bilgi) */
.ek-tam-ekran-dugme {
  padding: .25em .7em; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .14); color: #fff;
  font-size: clamp(9px, 1.05vh, 12px); font-weight: 800; line-height: 1.2;
}
.ek-tam-ekran-dugme:hover { background: rgba(255, 255, 255, .26); }
/* Tam ekrandayken sağ üst köşede X (tam ekrandan çık): başlığın sağ boşluğunda, akışı
   etkilemez; renk başlıktaki simgelerle aynı (yarı saydam beyaz halka). Dar ekranda
   başlığın sağ boşluğu X sığacak kadar açılır. */
.ek-tam-ekran-kapat {
  position: absolute; z-index: 2; top: clamp(4px, .7vh, 10px); right: clamp(4px, .6vw, 12px);
  display: grid; place-items: center; width: clamp(22px, 2.6vh, 34px); height: clamp(22px, 2.6vh, 34px);
  padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(255, 255, 255, .16); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32); color: #fff;
  transition: background-color .15s ease;
}
.ek-tam-ekran-kapat:hover, .ek-tam-ekran-kapat:focus-visible { background: rgba(255, 255, 255, .3); outline: none; }
.ek-tam-ekran-kapat svg { width: 52%; height: 52%; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
.ek[data-tam-ekranda="evet"] .ek-bas {
  padding-right: max(clamp(16px, 2.6vw, 48px), calc(clamp(22px, 2.6vh, 34px) + clamp(4px, .6vw, 12px) + 8px));
}
/* QR: beyaz zemin, sessiz bölge kodun içinde; telefonda gösterilmez */
.ek-qr { display: block; }
/* karekoda tıklanınca ödeme sayfası (bilgiler ve müşteri formu) yeni sekmede */
.ek-qr-bag { display: block; cursor: pointer; }
.ek-qr svg { display: block; width: clamp(48px, 7.8vh, 116px); height: auto; border-radius: 6px; }
/* Üstte sağda: üst sırada "Tam ekran yap" (iletişimin üstünde, sağa yaslı), alt
   sırada sosyal medya hesapları ve iletişim yan yana. Satırlar aynı boyda (yazı,
   simge, aralık): 1–3 hesap iletişimin alt satırlarıyla aynı hizada (1 → web,
   2 → e-posta ve web, 3 → üçü), 4–5 hesap daha sık ve ortalı. Düğme gizliyken
   (gerçek ekran, tam ekran) üst sıra yer kaplamaz. */
.ek-bilgi {
  position: relative; z-index: 1; flex: none; min-width: 0;
  display: grid; grid-template-columns: auto auto; grid-template-areas: ". dugme" "sosyal iletisim";
  align-items: end; column-gap: clamp(14px, 2vw, 40px);
  margin-left: auto;
}
.ek-bilgi .ek-tam-ekran-dugme { grid-area: dugme; justify-self: end; margin-bottom: .4em; }
.ek-bilgi .ek-sosyal { grid-area: sosyal; }
.ek-bilgi .ek-iletisim { grid-area: iletisim; }
.ek[data-sosyal-say="4"] .ek-bilgi, .ek[data-sosyal-say="5"] .ek-bilgi { align-items: center; }
.ek-sosyal {
  display: grid; align-content: center; gap: .24em; min-width: 0;
  margin: 0; padding: 0; list-style: none;
  font-size: clamp(11px, 1.65vh, 22px); font-weight: 700; line-height: 1.15;
}
.ek[data-sosyal-say="4"] .ek-sosyal, .ek[data-sosyal-say="5"] .ek-sosyal { gap: .14em; font-size: clamp(10px, 1.3vh, 17px); }
.ek[data-sosyal-say="4"] .ek-sosyal .ek-iletisim-ikon, .ek[data-sosyal-say="5"] .ek-sosyal .ek-iletisim-ikon { width: 1.3em; height: 1.3em; }
.ek-sosyal-bag {
  display: flex; align-items: center; gap: .55em; min-width: 0;
  color: inherit; text-decoration: none; white-space: nowrap;
}
.ek-sosyal-bag span:last-child { overflow: hidden; text-overflow: ellipsis; max-width: 16em; }
.ek-sosyal-bag:hover span:last-child, .ek-sosyal-bag:focus-visible span:last-child { text-decoration: underline; }
/* iletişim: alt alta telefon, e-posta, web sitesi (QR'la arasındaki çizgi .ek-sag'da).
   Dar ekranda başlığın altına tek satır iner. */
.ek-iletisim {
  position: relative; z-index: 1;
  display: grid; align-content: center; gap: .24em;
  margin: 0; padding: 0;
  list-style: none;
  font-size: clamp(11px, 1.65vh, 22px); font-weight: 700; line-height: 1.15;
}
.ek-iletisim li { display: flex; align-items: center; gap: .55em; white-space: nowrap; }
/* telefon (arar), e-posta (yazar), web sitesi (açar): tıklanabilir, görünüşü aynı */
.ek-iletisim-bag { display: flex; align-items: center; gap: .55em; min-width: 0; color: inherit; text-decoration: none; }
a.ek-iletisim-bag:hover span:last-child, a.ek-iletisim-bag:focus-visible span:last-child { text-decoration: underline; }
.ek-iletisim-ikon {
  flex: none; display: grid; place-items: center; width: 1.55em; height: 1.55em; border-radius: 50%;
  background: rgba(255, 255, 255, .16); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}
.ek-iletisim-ikon svg {
  width: .95em; height: .95em;
  fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

/* ——————————————————————————— tablo ——————————————————————————— */
.ek-govde {
  min-height: 0;
  padding: clamp(8px, 1.6vh, 24px) clamp(12px, 2.2vw, 44px) 0;
  overflow: hidden;
}
/* TV'de satırlar ölçülüp sığdırılır; çok küçük pencerede (telefon, yatay)
   satır alt sınıra takılınca bant satırların üstüne binmesin, gövde kaysın */
.ek[data-kaydir="evet"] .ek-govde { overflow-y: auto; overscroll-behavior: contain; }
/* Telefonda kaydırılabilir sayfa (varsayılan; ekran.js mobilKaydir): ekran tek ekrana sığdırılmaz,
   satırlar rahat boyda ve sayfa aşağı kayar; alt bant kayarken ekranın altında kalır. */
html[data-mobil-kaydir="evet"], html[data-mobil-kaydir="evet"] body { height: auto; min-height: 100%; }
html[data-mobil-kaydir="evet"] body { overflow: visible; overflow-x: hidden; }
html[data-mobil-kaydir="evet"] .ek { height: auto; min-height: 100vh; min-height: 100dvh; }
html[data-mobil-kaydir="evet"] .ek-govde { overflow: visible; }
html[data-mobil-kaydir="evet"] .ek-bant { position: sticky; bottom: 0; z-index: 3; }
.ek-tablolar {
  display: grid;
  grid-template-columns: repeat(var(--sutun), minmax(0, 1fr));
  gap: clamp(14px, 2.2vw, 44px);
  align-items: start;
}
/* Görselli düzenler (ekran.js reklamYaz, reklamBoyutla): sağda sabit oranlı görsel
   alanı — data-gorsel="1" Tek sütun + Görsel (1080 × 1080 kare ya da 1080 × 1350), "2"
   2 sütun + Görsel (1080 × 1350 ya da 1080 × 1920; panelde seçilir). Eni ve boyu ekran.js gövdenin
   boyundan hesaplar (--reklam-en, --reklam-boy; eski TV tarayıcıları aspect-ratio
   bilmez); fiyatlar soldaki kalan genişlikte. Görsel ve video (img ya da video,
   ikisi de .ek-reklam-gorsel) kırpılmaz, kalan yer temanın kart renginde; geçiş
   yumuşak. Görsel yoksa ya da telefonda alan görünmez. */
.ek-reklam { display: none; }
.ek[data-gorsel="1"] .ek-govde, .ek[data-gorsel="2"] .ek-govde {
  display: grid; grid-template-columns: minmax(0, 1fr) var(--reklam-en, 40%); gap: clamp(14px, 2.2vw, 44px);
}
.ek[data-gorsel="1"] .ek-reklam, .ek[data-gorsel="2"] .ek-reklam {
  display: block; position: relative; align-self: start; overflow: hidden;
  height: var(--reklam-boy, 40vh); border-radius: clamp(6px, .7vw, 12px);
  background: var(--ek-kart); box-shadow: inset 0 0 0 1px var(--ek-kart-cizgi);
}
.ek-reklam-gorsel {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain;
  opacity: 0; transition: opacity .9s ease;
  /* görünmeyen (üst üste duran) görsel tıklamayı yakalamasın */
  pointer-events: none;
}
.ek-reklam-gorsel--acik { opacity: 1; pointer-events: auto; }
/* Büyük önizleme (paket alınmadıysa): üst bandın ortasında kalan süre */
.ek-onizleme-sure {
  position: absolute; z-index: 4; left: 50%; top: 50%; transform: translate(-50%, -50%);
  padding: clamp(4px, .5vw, 8px) clamp(10px, 1vw, 18px); border-radius: 999px;
  background: rgba(255, 255, 255, .94); color: #0a587c; box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
  font-size: clamp(12px, 1.05vw, 19px); font-weight: 800; white-space: nowrap;
}
.ek-onizleme-sure[hidden] { display: none; }
.ek-onizleme-sure b { margin-left: 4px; font-variant-numeric: tabular-nums; }
/* İşletme PRO: linkli görsel tıklanır (ekran.js gorselLinkiAc) */
.ek-reklam-gorsel--link { cursor: pointer; }
.ek-reklam-gorsel--link:focus-visible { outline: 3px solid var(--ek-marka, #0f78a9); outline-offset: -3px; }
/* Telefonda (kaydırılabilir sayfa; ekran.js gorselMobil): görseller fiyatların altında, tam genişlikte,
   biçimin oranında (--reklam-oran: en / boy); çok uzun dikey görsel ekranın %78'ini geçmez */
.ek[data-gorsel="mobil"] .ek-reklam {
  display: block; position: relative; overflow: hidden;
  width: min(100%, calc(78vh * var(--reklam-oran, 1)));
  aspect-ratio: var(--reklam-oran, 1);
  margin: clamp(12px, 3vw, 20px) auto 0;
  border-radius: 10px;
  background: var(--ek-kart); box-shadow: inset 0 0 0 1px var(--ek-kart-cizgi);
}
/* Sütunda bölümler alt alta; aradaki boşluk ekran.js'teki ARA (0,3 satır) */
.ek-sutun { min-width: 0; }
.ek-sutun .ek-tablo + .ek-tablo { margin-top: calc(var(--satir) * .3); }
.ek-tablo {
  width: 100%;
  border-collapse: separate; border-spacing: 0;
  table-layout: fixed;
  font-variant-numeric: tabular-nums;
}
/* Sütun payları ekran.js'ten (yazı büyütülünce fiyat genişler, ad daralır) */
.ek-tablo col.ek-k-birim { width: var(--k-birim, 44%); }
.ek-tablo col.ek-k-fiyat { width: var(--k-fiyat, 28%); }
.ek-tablo th, .ek-tablo td {
  height: var(--satir);
  padding: 0 clamp(8px, 1.1vw, 22px);
  font-size: var(--yazi);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  border-bottom: 1px solid var(--ek-cizgi);
}
/* Bölüm başlığı: solda bölüm adı (DÖVİZLER…), sağda ALIŞ / SATIŞ.
   Yüksekliği ekran.js'teki BAS (0,75 satır). */
.ek-tablo thead th {
  height: calc(var(--satir) * .75);
  vertical-align: bottom;
  padding-bottom: calc(var(--satir) * .1);
  font-size: calc(var(--yazi) * .48);
  font-weight: 800; letter-spacing: .14em;
  color: var(--ek-sonuk); text-align: right;
  border-bottom: 2px solid var(--ek-cizgi);
}
.ek-tablo thead th:first-child { text-align: left; }
.ek-tablo thead th.ek-bolum {
  /* bölüm adı (DÖVİZLER, MADENLER…) eskisinden %50 büyük: yazının ,6'sı → ,9'u.
     Başlık satırı BAS (0,75 satır) yüksekliğini aşıp yerleşimi bozmasın diye en çok
     0,6 satır, satır aralığı 1 (min() bilmeyen eski TV tarayıcısı ilk değeri alır) */
  font-size: calc(var(--yazi) * .9);
  font-size: min(calc(var(--yazi) * .9), calc(var(--satir) * .6));
  line-height: 1;
  letter-spacing: .12em;
  color: var(--ek-yazi);
  /* yazı büyütülüp ad sütunu daralınca bölüm adı kesilmesin: ALIŞ
     başlığının boş sol yanına taşabilir (ALIŞ sağa yaslı) */
  overflow: visible; text-overflow: clip;
}
.ek-tablo thead th.ek-bolum::before {
  content: ""; display: inline-block;
  width: .3em; height: .95em; margin-right: .5em; vertical-align: -.12em;
  border-radius: 2px; background: var(--ek-marka);
}
.ek-tablo thead th.ek-bolum--bos::before { content: none; }
.ek-tablo thead th.ek-b-alis { color: var(--ek-alis); }
.ek-tablo tbody th { text-align: left; font-weight: 700; font-size: var(--yazi-ad, var(--yazi)); }
/* Birim adı tek satır ve üç nokta; satır yeterince yüksekse iki satıra iner */
.ek-ad-metin { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ek[data-ad-satir="2"] .ek-ad-metin {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
  white-space: normal; line-height: 1.08;
}
/* Telefonda birim adının sağında fiyatların güncellendiği saat (kullanıcı isteği, 28.10.2026; ekran.js satirSaatiYaz).
   TV ve bilgisayarda yok: orada alt çubuktaki güncelleme saati yeter. */
.ek-satir-zaman { display: none; }
html[data-mobil="evet"] .ek-tablo tbody th { position: relative; }
html[data-mobil="evet"] .ek-satir-zaman:has(.ek-satir-saat:not(:empty)) {
  display: inline-flex; align-items: center; gap: .25em; position: absolute; right: .35em; top: 50%; transform: translateY(-50%);
  font-size: 11px; font-weight: 600; line-height: 1; color: var(--ek-sonuk); white-space: nowrap; pointer-events: none;
}
html[data-mobil="evet"] .ek-satir-zaman svg { width: 1.05em; height: 1.05em; flex: none; }
html[data-mobil="evet"] .ek-tablo tbody th .ek-ad-metin { padding-right: 4.6em; }
.ek-tablo td { text-align: right; font-weight: 800; }
.ek-tablo td.ek-alis { color: var(--ek-alis); }
.ek-tablo td.ek-satis { color: var(--ek-satis); }
.ek-tablo tbody tr:nth-child(odd) > * { background: var(--ek-satir-1); --ek-zemin: var(--ek-satir-1); }
.ek-tablo tbody tr:nth-child(even) > * { background: var(--ek-satir-2); --ek-zemin: var(--ek-satir-2); }
.ek-tablo tbody tr > :first-child { border-radius: 0; }
/* Birimleri birleştir: yeni bölümün ilk satırının üstünde kalın çizgi. Kenarlık
   değil (satır yüksekliği değişmesin, ekran.js ölçüsü bozulmasın), gölge de değil
   (değişim rengi hücreyi iç gölgeyle boyar): her hücrenin üstünde bir şerit. */
.ek-tablo tbody tr.ek-gecis > * { position: relative; }
.ek-tablo tbody tr.ek-gecis > *::after {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: var(--ek-sonuk); pointer-events: none;
}

/* Değişim rengi: yalnız alış/satış hücresi boyanır (birim adı ve satır
   değil). Örtü inset gölgeyle: satırların sıra rengi altta kalır. Soldaki
   ince şerit satır zemininde: alış ve satış aynı renge dönse de iki ayrı
   blok görünür, satır boyunca tek bant olmaz. */
.ek[data-renkli="evet"] .ek-tablo td.ek-yukari {
  color: var(--ek-yuk-yazi);
  box-shadow: inset calc(var(--satir) * .08) 0 0 var(--ek-zemin), inset 0 0 0 999px var(--ek-yuk-zemin);
}
.ek[data-renkli="evet"] .ek-tablo td.ek-asagi {
  color: var(--ek-dus-yazi);
  box-shadow: inset calc(var(--satir) * .08) 0 0 var(--ek-zemin), inset 0 0 0 999px var(--ek-dus-zemin);
}
.ek[data-renkli="evet"] .ek-tablo td.ek-yukari.ek-parla { animation: ek-yukseldi 1.4s ease-out; }
.ek[data-renkli="evet"] .ek-tablo td.ek-asagi.ek-parla { animation: ek-dustu 1.4s ease-out; }

/* Raporlama: telefonda/bilgisayarda satıra dokunulunca birim adı kısa vurgulanır */
.ek:not([data-onizleme]) .ek-tablo tbody tr { cursor: pointer; }
.ek-tablo tbody tr.ek-tiklandi th { animation: ek-tik .7s ease-out; }
@keyframes ek-tik {
  0%, 40% { box-shadow: inset 0 0 0 999px var(--ek-cizgi); }
  100% { box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0); }
}

/* ——————————————————————————— bant ve alt satır ——————————————————————————— */
.ek-bant {
  overflow: hidden; white-space: nowrap;
  margin-top: clamp(8px, 1.4vh, 18px);
  padding: .5em 0;
  background: var(--ek-bas-2); color: #fff;
  font-size: clamp(14px, 2.2vh, 32px); font-weight: 700;
}
.ek-bant-metin {
  display: inline-block; padding-left: 100%;
  animation: ek-kay var(--bant-sure, 24s) linear infinite;
}
/* Alt çubuk: solda günün tarihi ve anlık saat, yanında (arada boşlukla) fiyatların
   güncellenme saati; sağda imza, sırayla gösterimde noktalar ikisinin arasında. */
.ek-altbar {
  display: flex; align-items: center; gap: 16px;
  padding: clamp(6px, 1vh, 12px) clamp(16px, 2.6vw, 48px);
  font-size: clamp(11px, 1.35vh, 16px); color: var(--ek-sonuk);
}
.ek-anlik { flex: none; font-weight: 700; color: var(--ek-yazi); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ek-guncelleme { min-width: 0; margin-left: clamp(12px, 6vw, 140px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ek-imza { flex: none; margin-left: auto; font-weight: 800; letter-spacing: -.02em; }
/* Bölümler sırayla dönerken: hangi bölümde olunduğu (● ○ ○) ve yumuşak geçiş */
.ek-donus { display: inline-flex; align-items: center; gap: .55em; margin-left: auto; }
.ek-donus-nokta { width: .62em; height: .62em; border-radius: 50%; background: var(--ek-cizgi); }
.ek-donus-nokta--aktif { background: var(--ek-marka); }
.ek-tablolar.ek-gecis { animation: ek-belir .6s ease-out; }
/* Çalışma saatleri (şube formunda girildiyse): sağda bugünün saatleri ve AÇIK / KAPALI —
   uzaktan seçilsin diye dolu hap, içinde ışık (açıkken yeşil, yavaşça yanıp söner; kapalıyken kırmızı) */
.ek-calisma {
  display: inline-flex; align-items: center; gap: .6em; flex: none; margin-left: auto;
  white-space: nowrap; font-size: 1.1em; font-weight: 700; color: var(--ek-yazi); font-variant-numeric: tabular-nums;
}
.ek-calisma[hidden] { display: none; }
.ek-calisma-etiket { font-weight: 600; color: var(--ek-sonuk); }
.ek-donus:not([hidden]) ~ .ek-calisma { margin-left: 1.4em; }
.ek-calisma:not([hidden]) ~ .ek-uygulama, .ek-calisma:not([hidden]) ~ .ek-imza { margin-left: 1.2em; }
.ek-calisma-durum {
  display: inline-flex; align-items: center; gap: .5em; padding: .22em .8em .22em .6em; border-radius: 999px;
  background: #15803d; color: #fff; font-weight: 800; letter-spacing: .08em; line-height: 1.2;
}
.ek-calisma-durum[data-durum="kapali"] { background: #c62828; }
.ek-calisma-isik {
  width: .72em; height: .72em; border-radius: 50%; background: #6ef59b;
  box-shadow: 0 0 0 .14em rgba(255, 255, 255, .28), 0 0 .55em .12em #6ef59b;
  animation: ek-isik 1.8s ease-in-out infinite;
}
.ek-calisma-durum[data-durum="kapali"] .ek-calisma-isik {
  background: #ff8a80; box-shadow: 0 0 0 .14em rgba(255, 255, 255, .28), 0 0 .55em .12em #ff5a4e; animation: none;
}
@keyframes ek-isik { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .ek-calisma-isik { animation: none; } }
.ek-imza small { font-weight: 600; letter-spacing: 0; }
/* Başlangıç: "by buluro"nun solunda uygulama kutusu (beyaz kutu, yazılı mağaza rozetleri, Buluro karakteri; ana sitedeki
   üst şerit gibi — "Uygulamayı indirin" yazısı yok, 28.10.2026) */
.ek-uygulama {
  display: inline-flex; align-items: center; gap: .45em; flex: none; margin-left: auto; height: 2.15em; padding: 0 .2em 0 .3em;
  border: 1px solid rgba(12, 98, 136, .22); border-radius: .65em; background: #fff; color: #0b2e44;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .14); text-decoration: none; overflow: hidden;
}
.ek-uygulama[hidden] { display: none; }
.ek-uygulama img { display: block; width: auto; height: 1.6em; }
.ek-uygulama .ek-uygulama-adam { height: 2.05em; align-self: flex-end; }
/* yazılı mağaza rozeti: koyu, yumuşak köşeli; simge + ad (her boyda okunur) */
.ek-magaza {
  display: inline-flex; align-items: center; gap: .32em; flex: none; height: 1.6em; padding: 0 .55em 0 .42em;
  border-radius: .42em; background: #0b0f14; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16);
}
.ek-magaza svg { flex: none; width: auto; height: 58%; }
.ek-magaza span { font-size: .8em; font-weight: 700; line-height: 1; letter-spacing: -.01em; white-space: nowrap; padding-top: .08em; }
.ek-uygulama:not([hidden]) + .ek-imza { margin-left: .9em; }

/* ——————————————————————————— araçlar ——————————————————————————— */
.ek-araclar {
  position: fixed; right: clamp(12px, 2vw, 32px); bottom: clamp(40px, 6vh, 70px); z-index: 20;
  display: flex; gap: 10px;
  opacity: 0; transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}
.ek[data-araclar="acik"] .ek-araclar { opacity: 1; transform: none; pointer-events: auto; }
.ek-arac {
  padding: 10px 16px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--ek-kart-cizgi); background: var(--ek-kart); color: var(--ek-yazi);
  font-size: 14px; font-weight: 700;
  box-shadow: 0 8px 24px -10px rgba(0,0,0,.6);
}
.ek-arac:hover { border-color: var(--ek-marka); }

/* ——————————————————————————— katmanlar ——————————————————————————— */
.ek-bayat {
  position: fixed; left: 50%; top: calc(clamp(60px, 9vh, 120px) + 12px); transform: translateX(-50%); z-index: 15;
  padding: 10px 20px; border-radius: 999px;
  background: #b45309; color: #fff; font-weight: 800; font-size: clamp(14px, 1.9vh, 22px);
  box-shadow: 0 10px 30px -10px rgba(0,0,0,.6);
}
.ek[data-bayat="evet"] .ek-tablolar { opacity: .4; filter: grayscale(.6); }

.ek-katman {
  position: fixed; inset: 0; z-index: 30;
  display: grid; place-items: center; padding: 24px;
  background: var(--ek-ortu);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ek-kart {
  width: min(460px, 100%);
  padding: clamp(24px, 3.4vh, 40px);
  border-radius: 18px;
  background: var(--ek-kart); border: 1px solid var(--ek-kart-cizgi);
  box-shadow: 0 30px 70px -30px rgba(0,0,0,.8);
}
.ek-kart h2, .ek-kart-baslik { margin: 6px 0 10px; font-size: clamp(22px, 3vh, 30px); line-height: 1.2; }
.ek-kart-logo { --logo-boy: 64px; display: block; max-width: 60%; max-height: 64px; margin: 0 0 16px; object-fit: contain; }
.ek-kart-ust { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: var(--ek-sonuk); }
.ek-kart-yazi { margin: 0 0 18px; font-size: 16px; line-height: 1.55; color: var(--ek-sonuk); }
.ek-hata { margin: 10px 0 0; font-size: 14px; font-weight: 700; color: var(--ek-hata); line-height: 1.45; }
.ek-dugme {
  width: 100%; height: 52px; margin-top: 16px; border: 0; border-radius: 10px; cursor: pointer;
  background: var(--ek-dugme-zemin, var(--ek-marka)); color: #fff; font-size: 17px; font-weight: 800;
}
/* Buluro ve Buluro dark temalarında marka mavisi (#1e9bd7) beyaz yazıyla 3,1:1 kalıyordu: düğme koyu marka
   mavisinde (4,9:1). Renkli temaların marka rengi zaten koyu (≥ 4,5:1), onlar değişmez. (1.119) */
:root:not([data-tema]), :root[data-tema="koyu"], :root[data-tema="acik"] { --ek-dugme-zemin: #0f78a9; }
.ek-dugme:hover { filter: brightness(1.08); }
.ek-dugme[disabled] { opacity: .6; cursor: progress; }
.ek-not { margin: 14px 0 0; font-size: 13px; color: var(--ek-sonuk); line-height: 1.5; }

/* ——————————————————————————— hareket ——————————————————————————— */
@keyframes ek-yukseldi {
  0%, 30% { box-shadow: inset calc(var(--satir) * .08) 0 0 var(--ek-zemin), inset 0 0 0 999px var(--ek-yuk); }
  100% { box-shadow: inset calc(var(--satir) * .08) 0 0 var(--ek-zemin), inset 0 0 0 999px var(--ek-yuk-zemin); }
}
@keyframes ek-dustu {
  0%, 30% { box-shadow: inset calc(var(--satir) * .08) 0 0 var(--ek-zemin), inset 0 0 0 999px var(--ek-dus); }
  100% { box-shadow: inset calc(var(--satir) * .08) 0 0 var(--ek-zemin), inset 0 0 0 999px var(--ek-dus-zemin); }
}
@keyframes ek-belir {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes ek-kay {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce) {
  .ek-reklam-gorsel { transition: none; }
  .ek .ek-tablo td.ek-parla { animation: none !important; }
  .ek-tablolar.ek-gecis { animation: none; }
  .ek-bant-metin { animation-duration: 0s; padding-left: 0; }
}

/* dokunmatik telefonda iletişim ve sosyal medya bağlantıları 44 px satırlarda (1.119, dokunma alanları) */
@media (max-width: 640px) and (pointer: coarse) {
  .ek-iletisim, .ek[data-sosyal-say] .ek-sosyal { row-gap: 0 !important; }
  .ek-iletisim-bag, .ek-sosyal-bag { min-height: 44px; }
  .ek-arac { min-height: 44px; }
}

/* dar ekran (telefon) */
@media (max-width: 640px) {
  /* stretch: uzun işletme adı taşıp kesilmesin, üç noktayla bitsin */
  .ek-bas { --logo-boy: clamp(28px, 9vw, 44px); flex-direction: column; align-items: stretch; gap: 8px; }
  .ek-ad { font-size: clamp(20px, 7vw, 34px); }
  .ek-logo { height: clamp(28px, 9vw, 44px); height: var(--logo-boy); }
  .ek-sag { display: none; }
  .ek-iletisim { display: flex; flex-wrap: wrap; gap: .45em 1.1em; font-size: 12px; }
  /* tek sütun: düğme (varsa), iletişim, sosyal; boş sıra aralık bırakmasın diye aralık kenar boşluğuyla */
  .ek-bilgi { grid-template-columns: minmax(0, 1fr); grid-template-areas: "dugme" "iletisim" "sosyal"; gap: 0; margin: 0; }
  .ek-bilgi .ek-tam-ekran-dugme { justify-self: start; margin: 0 0 8px; }
  .ek-bilgi .ek-sosyal { margin-top: 8px; }
  .ek[data-sosyal-say] .ek-sosyal { display: flex; flex-wrap: wrap; gap: .45em 1.1em; font-size: 12px; }
  .ek[data-sosyal-say] .ek-sosyal .ek-iletisim-ikon { width: 1.65em; height: 1.65em; }
  /* alt çubuk iki satır: tarih-saat ve imza, altında güncelleme saati */
  .ek-altbar { flex-wrap: wrap; gap: 2px 12px; }
  .ek-guncelleme { order: 3; flex-basis: 100%; margin-left: 0; }
  /* çalışma saatleri en altta kendi satırında, etiketsiz */
  .ek-calisma, .ek-donus:not([hidden]) ~ .ek-calisma { order: 4; margin: 2px 0 0; }
  .ek-calisma-etiket { display: none; }
  .ek-calisma:not([hidden]) ~ .ek-uygulama, .ek-calisma:not([hidden]) ~ .ek-imza { margin-left: auto; }
  .ek-calisma:not([hidden]) ~ .ek-uygulama:not([hidden]) + .ek-imza { margin-left: .9em; }
  /* telefonda rozet kısalır: karakter yok, yalnız mağaza rozetleri */
  .ek-uygulama .ek-uygulama-adam { display: none; }
  .ek-uygulama { padding: 0 .35em; }
  /* Ödeme: telefonda karekod okutulamaz — başlığın sağ üstünde (adın yanında) yalnız yazısı; dokununca
     ödeme sayfası yeni sekmede açılır (ekran.js qrYaz; Raporlama'da karekoda tıklama sayılır) */
  .ek[data-qr="evet"] .ek-bas { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; }
  .ek[data-qr="evet"] .ek-kimlik { grid-column: 1; grid-row: 1; }
  .ek[data-qr="evet"] .ek-bilgi { grid-column: 1 / -1; }
  .ek[data-qr="evet"] .ek-sag { display: flex; grid-column: 2; grid-row: 1; align-self: start; padding-left: 0; border-left: 0; }
  .ek-sag .ek-qr, .ek-sag .ek-qr-yazi { display: none; }
  .ek-qr-mobil {
    display: flex; align-items: center; justify-content: center; min-height: 40px; max-width: 9.8em; padding: 6px 11px;
    border-radius: 10px; background: #fff; color: var(--ek-bas-1); box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
    font-size: 11.5px; font-weight: 800; line-height: 1.2; letter-spacing: .04em; text-align: center; text-decoration: none;
  }
}

/* Zorunlu alan: etiketin sonunda yıldız (kurumsal.css ile aynı kural) */
.zorunlu::after { content: " *"; content: " *" / ""; color: var(--ek-hata); font-weight: 800; }
