/* ==========================================================================
   Dijital Kalkan — MOBIL / TABLET kirilma noktalari (elle yazilir).
   v4 prototipinde HIC @media kurali yok; bu dosya uretilen dk.css siniflarini (d + sha1) hedefler.
   Masaustu (> 1024 px) goruntusu HICBIR kosulda degismez: her kural bir @media icindedir.
   Kirilma noktalari: <=1024 tablet (hamburger, panel yan menusu ustte), <=768 kucuk tablet, <=480 telefon.
   Hamburger/cekmece/panel dugmesi stilleri dk-ortak.css'te (ortak parca ekleri); bu dosya yalniz
   uretilen siniflari yeniden yerlestirir. `.dk-js` = JS calisiyor (layouts/tasarim satir ici betik);
   JS'e bagli gizlemeler hep bu onekle yazilir ki JS yoksa menu gorunur kalsin.
   ========================================================================== */

/* ---------------------------------------------------------------- <= 1024 */
@media (max-width:1024px){
  /* Ust menu: tek satira 947 px gerekir (olculdu) -> menu cekmeceye, sagda dugmeler + hamburger. */
  .dk-js .dc4f0267 .d8b3caf1{display:none}
  .dc4f0267 .d7935946{gap:12px}
  .dc4f0267 .d9eae3f9{margin-left:auto}
  .dc4f0267 .d9eae3f9 .dk-bt{min-height:44px}           /* hamburgerle ayni boy; dokunma hedefi */

  /* Panel (kullanici/yonetim): tek sutun; yan menu ustte koyu serit, icerigi dugmeyle acilir. */
  .d12529f5{grid-template-columns:minmax(0,1fr)}
  .ddeb5557{padding:12px 16px}
  .ddeb5557 .da7c267d{padding:0;gap:10px;min-height:44px}
  .ddeb5557 .da7c267d > span{margin-right:auto}
  .dk-js .ddeb5557:not(.dk-acik) > :not(.da7c267d){display:none}
  .ddeb5557.dk-acik .da7c267d{padding-bottom:14px}
  .ddeb5557 .d714f738{margin-top:14px}
  /* Yapiskan olan INCE koyu serit (logo + Menu, ~68 px): menu her an bir dokunus uzakta. Masaustunde yapiskan
     olan ust cubuk (site secici + arama + zil + kullanici) dar ekranda 2-3 satira sarilir (390'da ~130 px) ve
     yapiskan kalsa gorunumun %16'sini kalici kaplardi -> akista kalir (relative: acilir menuleri ona baglidir).
     Acik menu gorunumden uzunsa kendi icinde kayar (yonetim menusu 11 oge + hosting bolumu). */
  .ddeb5557{position:sticky;top:0;z-index:45}
  .ddeb5557.dk-acik{max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
  .d2f02244{position:relative}

  /* Panel ust cubugu acilir menuleri (bildirim, kullanici, hizli menu, site secici): kucuk sarmalayiciya
     degil cubugun kendisine (sticky = konumlu) baglanir, ekranin icinde kalir. Olculdu: 390'da bildirim
     menusu soldan 165 px, hizli menu 118 px; 900'de 37 px tasiyordu. */
  .d2f02244 .d6380f75{position:static}
  .d2f02244 :is(.dd541be5,.dfcd3ed1,.d186cdff,.dba5640c,.dd0de649){right:12px;left:auto;max-width:calc(100vw - 24px)}
  .d2f02244 .daa27447{left:12px;right:auto;max-width:calc(100vw - 24px)}

  /* Blog yazisi: makale + yan sutun (300px) -> alt alta; yan sutun makalenin altinda. */
  .d326dc28{grid-template-columns:minmax(0,1fr);gap:32px}

  /* Kurumsal sayfalar: yan menu (d052e05b) masaustunde YAPISKAN (top:83px). Icerigin ustune yigildiginda yapiskan
     kalirsa kaydirirken metnin ustune biner — olculdu (--kaydir): 390'da gorunumun %63'u, 768'de %50'si. */
  .d052e05b{position:static}

  /* Kendi kabinda kayan tablo/kart kaplari (overflow-x:auto) KONUMLU olmali: icindeki mutlak konumlu ekran okuyucu
     metni (.dkb-gizli "Islem" basligi) kabin kirpmasindan kacip kokun scrollWidth'ini buyutuyordu — olculdu:
     /yonetim/musteriler 390'da sayfa 635 px (yatay kaydirma). */
  :is(.d4ddc772,.d7462af6,.db504400,.dbb380cd){position:relative}

  /* Karsilastirma tablosu (siparis adim 1 "PAKETTE NELER VAR?", .db504400): satirlar (560 px min-width, dk.css)
     kabini asinca dk.js kabi bir sarmalayiciya alir (.dk-tablo-kaydirici, dk-ortak.css), kenar solmasi +
     "kaydırın" ipucu gosterir — YALNIZ gercekten tasiyorsa (.dk-tablo-tasar; olcum: scrollWidth>clientWidth).
     Ipucu ilk kaydirmada/dokunusta kaybolur (.dk-tablo-basta kalkinca); sag golge sona gelince kaybolur
     (.dk-tablo-sonda). Kap tus takimiyla kayabilsin diye tabindex alir (dk.js): odak halkasi kendi kenarina. */
  .dk-tablo-tasar .dk-tablo-golge-sag{opacity:1}
  .dk-tablo-tasar.dk-tablo-sonda .dk-tablo-golge-sag{opacity:0}
  .dk-tablo-tasar:not(.dk-tablo-basta) .dk-tablo-golge-sol{opacity:1}
  .dk-tablo-tasar .dk-tablo-ipucu{display:flex}
  .dk-tablo-tasar:not(.dk-tablo-basta) .dk-tablo-ipucu{opacity:0}
  .db504400:focus-visible{outline:2px solid #2F6BFF;outline-offset:-2px}
}

/* Giris/kayit: iki sutun (min 420px) 840 px altinda zaten yigilir — tanitim paneli ustte kalir, form
   ekranin altina iner. Yigildigi ANDA form one alinir (esik tasarimin kendi esigi: 2 x 420). */
@media (max-width:839.98px){
  .d619cbf5 > .dbf2efcc{order:-1}
}

/* ----------------------------------------------------------------- <= 768 */
@media (max-width:768px){
  .dk-js .dc4f0267 .d9eae3f9 .de129e9e{display:none}   /* Giris Yap / Panelim -> cekmecede */
  .dc4f0267 .d045683a{display:none}                    /* TR/EN: yalniz referans gorunumlerinde var */


  /* Panel ic bosluklari: 32 px kenar dolgusu 390'da icerigi 326 px'e, 320'de 256 px'e sikistirir. */
  .d3890616{padding:20px 16px}
  .d2f02244{padding:10px 16px}
  .d60edfdc{display:none}                               /* arama kutusundaki klavye kisayolu (⌘K): dokunmatikte anlamsiz */

  /* Kurumsal: icerik once, menu sonra (menu ~400 px; sayfaya gelen okur once metni gorur); menu tam genislik. */
  .d9ed6999{order:-1}
  .d052e05b{max-width:none;flex-basis:100%}

  /* Ana sayfa kapanis CTA'si: masaustunde saga yasli dugmeler tek sutunda sola (metnin hizasina). */
  .debd9439{justify-content:flex-start}

  /* Hap rozetler (border-radius:999px, <= 20 karakter: durum, sayac, "ONAY BEKLIYOR", "Koruma aktif") iki satira
     bolunmez — olculdu: 390'da "ONAY / BEKLIYOR", "Koruma / aktif". Uzun metinli haplar (hero, SSL seridi, belirti
     secimleri) dahil DEGIL: onlar sarilabilir. */
  :is(.d10b8607,.d2236103,.d2cce714,.d3e35f03,.d3ed3f6d,.d458febb,.d64b384e,.d6b2ec03,.d6cbfee2,.d991df0f,.d9db0423,
      .da6d233f,.daa7bc64,.daec7a52,.daf4f231,.db2c7f45,.db5c61e3,.db710f8b,.dc202b56,.dcd7d411,.dcf99c2d,.de0d9968,
      .de187761,.de3aaece,.de71da74,.dea41fc7,.deb78a82,.df88f04c,.d3aa671e,.d4857d7e,.d869dcec,.ddccc46d,.de2a71e6){white-space:nowrap}

  /* Siparis adimlari (1 Hizmet & paket — 2 Bilgiler — 3 Fatura & odeme): kart sarilinca bag cizgileri satir
     sonunda bosa sarkar. <= 768 tek satir: adim metni kendi icinde sarilir, cizgi 12 px'e kadar kisalir. */
  .d1f6ac8a{flex-wrap:nowrap}
  .d1f6ac8a > .d320a427{flex:0 1 auto;min-width:0}
  .d1f6ac8a > .d2d85539{min-width:12px}

  /* Tarama adimlari (ilerleme karti): sonuc ("Temiz ✓", "Sürüm eski ⚠") iki satira bolunmez — 390'da 'Temiz' / '✓'
     oluyordu; uzun etiket ("Kara liste taraması (Spamhaus, Norton, McAfee)") kendi sutununda sarilir. */
  :is(.d2865ae7,.dee53f40){white-space:nowrap;flex-shrink:0;margin-left:12px}

  /* Yonetim "Teklif bekleyenler" satiri: sure + "Fiyat ver" sarilmaz, daralan metin sutunu olur. */
  .d79ee496 > :first-child{min-width:0}
  .d79ee496 > .d09299be{flex-shrink:0}
  :is(.db95b8cf,.dee0d0bc){white-space:nowrap}

  /* Genis tablolar kendi kabinda yatay kayar (kap: overflow-x:auto, prototipten). Satirlarin min-width'i
     1fr ~ 110 px olacak sekilde buyutuldu: aciklama sutunu tek kelimelik seride donmesin. */
  :is(.d47af6b3,.d377431e,.d6923f08){min-width:700px}     /* user-5 faturalar */
  :is(.d78c1c6a,.d2cc0c2d,.d9bc8d25){min-width:720px}     /* user-2 siparisler */
  :is(.d504f66d,.d2acf7c7,.d94ec5fd){min-width:740px}     /* admin-4 abonelikler */
  :is(.d7a06bfc,.d4c9e28a,.d70f1380){min-width:800px}     /* admin-2 siparisler */
  :is(.d435f0ed,.df30a931,.db341a5e){min-width:920px}     /* user-9 hosting */
  :is(.d496d619,.df7bf4e2,.d4e91538){min-width:910px}     /* admin-9 hosting */

  /* ---- Dokunma hedefleri >= 44 px (WCAG 2.5.5). Olcum: node tasarim/mobil-denetim.mjs --dokunma.
     Dolgu ARTIRILMAZ (komsu hedeflerle cakisirdi): kutu min-height ile buyur, icerik ortalanir. */
  /* zaten esnek + ortali ogeler */
  :is(.d19a2060,.d2922b99,.d6e4d31a,.d7533e0f,.d8dce870,.de62caa4,.d28f8a68,.d64ee45e,.d68601c0,.d85207d3,.d76771e6,
      .d08a4f80,.d11f3344,.d2ab8b71,.d320a427,.d4f5a1e5,.d85c6057,.d8a93edc,.d9b8eadf,.da70f070,.dac260ec,.db055bba,
      .db6b4a7e,.ddab3a98,.ddb65d92,.d75023f6,.dea32d58,.dd365966){min-height:44px}
  /* 36 px kare simge dugmeleri (bildirim, hizli islem) */
  :is(.d83198e8,.dd50aa7a,.dfe9cee2){width:44px;height:44px}
  /* satir ici / blok metin baglantilari ve etiket cipleri */
  :is(.d809081f,.d67f5cee,.dc2e388c,.d10a9c1e,.df061642,.dcdb3d56,.defdb0e3,.d705eb3e,.dbf45334,.d0bfa9c9,
      .d288312e,.ddc14f37,.d3255668){display:inline-flex;align-items:center;min-height:44px}
  :is(.dc2e388c,.d10a9c1e){min-width:44px;justify-content:center}   /* "KVKK", "Destek": kisa baglantilar */
  /* d1e82d49 = yalniz color:#7C86A0: gercek sekmelerde tablo hucresi/meta METNI de ("—", "paylasimli", "CPU %34",
     SLA "45 dk") — kapsamsiz 44x44 kutu satirlari sisiriyor, komsu metinden 4-9 px kayiyordu (390, olculdu). */
  :is(a,button).d1e82d49{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
  :is(.d1aecc83,.d08e11e8){display:flex;align-items:center;justify-content:center;min-height:44px}
  .d619c8e3 .d2308542{gap:0}   /* alt bilgi baglanti listesi: satirlar zaten 44 px. (Ayni izgara sinifi panelde kart
                                  listesidir — 'Teklif bekleyenler' — orada 10 px aralik KALIR; onceki surum hepsini sifirliyordu.) */
  /* form: kutu/radyo etiketleri, kod kutulari, sifre goster, bildirim kapat */
  :is(.d5968e19,.d608cc61,.d7bc19ea,.d6031fe5,.d4a7433b,.d3ba57bf,.d2f80dfe){min-height:44px}
  :is(.dab45896,.dffa27c3){min-height:44px}
  :is(.dc1087bd,.ddb40c8c){min-height:44px}              /* 2FA kutulari: tasarimda width:100% + kare */
  .d8478979{right:0;min-width:44px;min-height:44px;align-items:center;justify-content:center}
  .d6a35431{margin-left:0;min-width:44px;min-height:44px;align-items:center;justify-content:center}
  /* Panel/yonetim icerigi. Ilk denetim bunlari GORMUYORDU: prototip ana icerik kabina (.d3890616) data-eylem koyar,
     denetim onu "hedef" sayip icindeki her dugmeyi atliyordu (arac duzeltildi: buyuk kap hedef degildir).
     Dugmeler (hepsi esnek/ortali ya da <button>: min-height icerigi ortada tutar) */
  :is(.d0a0c0de,.d197abd7,.d89b904b,.d8b2e891,.d0119b0e,.d0364d5e,.d082a615,.d0973b94,.d0c2fe4c,.d161209f,.d2a324ac,
      .d3f63810,.d4c396b6,.d4fc93e0,.d51b78ad,.d7688297,.d94214cd,.da6f89ae,.dbd5b4eb,.dc4439ac,.dc687cdd,.dcb08e1b,
      .dcb253c7,.dcf0fdd9,.dd8c30c5,.de7b164c,.dee0d0bc,.dfc3769e,.dfdfb72c,.d31ccee3,.da567fa2,.d93bccb7,.dc01f97a,
      .d2a8ec32,.db3f1571){min-height:44px}
  /* arama kutulari: kabugun gercek <input>'u kutunun kenarlik ICINI doldurur (top/bottom 0) -> kutu 46, girdi 44 */
  :is(.d1925a35,.d7a5beab,.df697614){min-height:46px}
  /* simge dugmeleri: kart sil (34x32), modal kapat (32x32), form kapat (30x30, mutlak: merkezi ayni yerde kalir) */
  .d2a8d1a1{min-width:44px;min-height:44px}
  .d55e15de{width:44px;height:44px}
  .daa3be07{width:44px;height:44px;top:9px;right:9px}
  /* kart basligi / alt bilgi metin baglantilari ("Tumu", "Yaz →", "Teklifi Gor", "PDF", panel alt bilgisi) — YALNIZ a/button.
     Bu siniflar stil ozetidir (d53c9bdf = yalniz color:#5B6478): ayni sinif ozet/bilgi satirlarinin ETIKETINDE de var
     ("Hizmet", "Paket", "IP adresi", "Plan" span'leri; da5cf5b6 "Dahil"). Kapsamsiz kural etiketi 44 px'lik esnek kutuda
     ortaliyor, deger ustte kaliyordu: etiket metni degerinden 13 px asagida (olculdu: /siparis/bilgiler 5/5 satir,
     /panel/hosting 6/6, /panel/siteler 8/8 — 390 ve 768). MobilCssTest bu hatanin genel halini kilitler. */
  :is(a,button):is(.d53c9bdf,.ddc1feae,.da2848f7,.da5cf5b6,.da76ad2e,.da7a4178,.dfc25b67){display:inline-flex;align-items:center;min-height:44px}
  :is(a,button):is(.da7a4178,.da5cf5b6,.d53c9bdf,.da2848f7,.ddc1feae){min-width:44px;justify-content:center}
  .d2296c74 a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}   /* kirinti: "Ana Sayfa", "Blog" */
  /* Suzgec haplari (prototipte duragan <span>; gercek sekmelerde <a>: "Acik · 5", "Yanit bekliyor", "Tumu · 221",
     "30 gun") ve rozetin dugmeye donustugu yer (destek: oncelik/durum degistir) — olculdu: gercek sayfalarda 32/24 px. */
  :is(.daa7bc64,.de3aaece,.d64b384e,.de0d9968){display:inline-flex;align-items:center;min-height:44px}
  button:is(.d275ade7,.dbb37124){display:inline-flex;align-items:center;min-height:44px}
  /* Prototipte <span> olan hap rozet gercek sekmede <a>/<button> olunca (siteler: "KORUMA AKTIF", "TEKLIF BEKLIYOR") */
  :is(a,button):is(.d10b8607,.d2236103,.d2cce714,.d3e35f03,.d3ed3f6d,.d458febb,.d64b384e,.d6b2ec03,.d6cbfee2,.d991df0f,
      .d9db0423,.da6d233f,.daa7bc64,.daec7a52,.daf4f231,.db2c7f45,.db5c61e3,.db710f8b,.dc202b56,.dcd7d411,.dcf99c2d,
      .de0d9968,.de187761,.de3aaece,.de71da74,.dea41fc7,.deb78a82,.df88f04c,.d3aa671e,.d4857d7e,.d869dcec,.ddccc46d,
      .de2a71e6){display:inline-flex;align-items:center;min-height:44px}
  /* Prototipte <span>, gercek sekmede baglanti/dugme: site adi, musteri adi (satir ici) — "Geri yukle", ayar satiri,
     ekip satiri (zaten esnek satir) — kopyala simgesi (13x13 -> 44x44). Yalniz a/button: span'ler etkilenmez. */
  a:is(.d79274de,.db3e3d08,.db83fa66){display:inline-flex;align-items:center;min-height:44px}   /* +yazi basligi (icerik listesi) */
  :is(a,button):is(.dd5da42e,.d8fae8c8,.df79b890){min-height:44px}
  button.de94ac39{min-width:44px;min-height:44px;align-items:center;justify-content:center}
  /* Etiketsiz (label'siz) onay kutusu — prototipte yalniz yonetim teklif formu (admin-3, .de2eccd7): 13x13 hedef.
     Kutu 44x44'e buyur, negatif kenar boslugu satir duzenini AYNI tutar; gorunen isaret 20 px (ciziliyor, cunku
     buyutulmus yerel kutu 44 px cizilirdi). Gercek gorunumde onerilen: <label> ile sarmak (tum satir hedef olur). */
  .de2eccd7 > input[type=checkbox]{-webkit-appearance:none;appearance:none;flex-shrink:0;width:44px;height:44px;margin:-12px -6px -12px -12px;
    border-radius:10px;cursor:pointer;background:no-repeat center/20px 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='1' y='1' width='18' height='18' rx='5' fill='%23fff' stroke='%239AA3B8' stroke-width='1.5'/%3E%3C/svg%3E")}
  .de2eccd7 > input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='1' y='1' width='18' height='18' rx='5' fill='%232F6BFF'/%3E%3Cpath d='m5.5 10.2 3 3 6-6.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
  .de2eccd7 > input[type=checkbox]:focus-visible{outline:2px solid #2F6BFF;outline-offset:-6px}

  /* ---- iOS, 16 px altindaki form alanina odaklaninca sayfayi YAKINLASTIRIR: tum alanlar 16 px.
     (Kod kutulari 22 px — listede yok.) */
  :is(.ddd845f1,.d97d8539,.dd1e0161,.d7e5b03a,.d0967278,.d8bbf28b,.d9ab4b84,.db85727a,.d43bc491,.dca52e30,.dc58a068,
      .d9b3a0df,.d2162600,.dfb423b8,.d53eb0f6,.d4adfdcd,.dab45896,.df01dd87,.dffa27c3,.d433f26e,.dc01f97a,.d0d59f39,
      .da6bae61,.d2a8ec32,.de2b2503,.d753839c){font-size:16px}

  /* ---- Govde metni >= 14 px: tasarimin 12,5-13,5 px cumle uzunlugundaki metinleri (>= 40 karakter, olculdu).
     12 px ve alti ince baski (telif satiri, ust etiket, guvenlik notu) bilincli olarak ayni kalir. */
  :is(.d14288a2,.d76ba940,.daf51d05,.dea857a7,.d7d05813,.d70f1157,.d915b1d7,.df05b433,.d005d56e,.d1454a57,.dd201bb1,
      .d4e7eb83,.d5bd45f6,.dca17587,.d76bad5f,.d4a268d5,.d2473dda,.d0b6238b,.d0fb1cf3,.db2acd05,.d820e4da,
      .d7a49e2e,.df0b2bb1,.dbb943db,.d1dee2c3,.d0f0c15a,.d9f05d8c,.dcd97b54,.d2a4beda,
      .d9a9b2af,.d9b5f22f,.d7992728,.d1c9e44f,.d925081d,.d6031fe5,.d2a6e632,.dbe20513,.d2f80dfe,
      .d2e0bf18){font-size:14px}
  /* 12 px ama okunmasi GEREKEN cumleler (uyari, talimat, guven notu, kart govdesi) de 14 px. Ayni kalanlar:
     telif satiri (d7d14c97, d932d62c), ust etiket (dd18c06f), "alan adi · paket" gibi meta satirlari
     (d3d4b4ff, dffacc84, d4c9df4f, sc-interp) ve duyuru seridi (de7e0124). */
  :is(.d6643f0c,.d5c6a1c7,.d0f88b87,.dedaf54f,.d7d44482,.dbce853f,.d983bb39,.d752b698,.dd20b298,.dc901220,.d260decb,
      .d7e6c9f6){font-size:14px}

  /* Sabit "WhatsApp Destek" dugmesi sayfa sonunda alt bilginin son satirini ortmesin. */
  .dk-kok:has(.dd365966) .d619c8e3{padding-bottom:96px}
  .dd365966{right:16px;bottom:16px;transition:opacity .2s ease,transform .2s ease,visibility 0s}
  .dk-yuzen-gizli .dd365966{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}

  /* YAZI:BASLA — tasarim/mobil-yazi.py uretir; elle duzenlemeyin. Olcum: mobil-denetim --yazi-uzun 25 --yazi-taban 12. */
  /* okunacak metin (>= 25 karakter) -> 14 px; sinif boyut yaziyor (95) */
  :is(.d0364d5e,.d03fc9eb,.d0bfa9c9,.d0c941da,.d12a9c37,.d1925a35,.d1a2d7bf,.d1b6ebc5,.d2012449,.d226aa8c,.d2440e9b,
      .d288312e,.d2a88b4a,.d377431e,.d3ba57bf,.d3d11c7a,.d3d4b4ff,.d3f0eec4,.d40e6fd1,.d48ab87e,.d4a7433b,.d4c9df4f,
      .d4da2dbe,.d537e8d4,.d54c543c,.d5ab5073,.d5e5875a,.d615d300,.d62e60e3,.d67f5cee,.d6843b77,.d6923f08,.d6ef6329,
      .d6f6659d,.d7852358,.d7a5beab,.d7cb0e0e,.d7d14c97,.d809081f,.d82435a1,.d8280295,.d85ff558,.d86731b1,.d8a93edc,
      .d8aaf1c1,.d8c3f4a3,.d8ca4e6a,.d8fae8c8,.d915f067,.d932d62c,.d9702467,.d99af42f,.d9ae0c29,.d9b8eadf,.d9ecdbc0,
      .da03e4e7,.da09a6f9,.da254905,.da32b312,.da6f89ae,.dad28089,.daf9106a,.db00fa14,.db3f846a,.db5c61e3,.db6f816c,
      .db7b48bd,.db8546c0,.dbcc2205,.dc28af79,.dc3d567d,.dc452377,.dc501741,.dc58d6f8,.dcc94028,.dcd787a0,.dcf82af0,
      .dd469048,.dd649100,.dd892e24,.dd91e3bc,.de12b3c5,.de2eccd7,.de4f3d57,.de63f702,.de7e0124,.dea41fc7,.dead72e8,
      .dec9f72e,.def753ce,.def92cc5,.df0d5131,.df697614,.dfbd1c2a,.dffacc84){font-size:14px}
  /* taban: etiket/rozet/tablo basligi 12 px alti -> 12 px (106) */
  :is(.d0193ab7,.d04c930e,.d0ace401,.d0c38239,.d0e9f672,.d1184f7b,.d1350d9c,.d178c4b8,.d19bde89,.d1d27c08,.d1e00d5a,
      .d227a694,.d2336dc1,.d24dd865,.d275ade7,.d2815b14,.d2cce714,.d3aa671e,.d3e0f3b8,.d3ed3f6d,.d424e4c7,.d43c1f76,
      .d44ac31d,.d458febb,.d4793cc7,.d47af6b3,.d4857d7e,.d4944134,.d4d49fa0,.d504f66d,.d51b78ad,.d569d05c,.d589a959,
      .d5acca5a,.d5c2c69a,.d5f70367,.d6251324,.d62b1e57,.d63ef449,.d659825b,.d66f6691,.d68586db,.d6c05e0a,.d6cbfee2,
      .d707b39e,.d73326b5,.d75e6d93,.d78c1c6a,.d78ffe0a,.d7a06bfc,.d7c082be,.d827acca,.d869dcec,.d88c1acf,.d8a00ca5,
      .d900cd47,.d90d3c6d,.d9643465,.d9731dd1,.d991df0f,.d9db0423,.da7ba111,.daab179d,.dab80090,.dad7f4a7,.daec7a52,
      .db2c7f45,.db36d314,.db3cfc30,.db4443ba,.db589c1b,.db710f8b,.db890f7f,.db91f201,.db95b8cf,.dbb37124,.dbcd4eef,
      .dbd5b4eb,.dbe97137,.dc202b56,.dc212dff,.dc344468,.dc365f8d,.dc59cb22,.dcd7d411,.dd18c06f,.dd2cb3d9,.dd3fda0a,
      .ddc03049,.ddccc46d,.dde985f9,.ddf747cf,.de187761,.de2a71e6,.de374b69,.de71da74,.de95bb98,.deb78a82,.ded3d347,
      .df88f04c,.df93308a,.df9653e0,.df9c329e,.dfdac983,.dfe05ab9,.dfe385e0){font-size:12px}
  /* YAZI:BITIS */
}

/* ----------------------------------------------------------------- <= 480 */
@media (max-width:480px){
  .dk-js .dc4f0267 .d9eae3f9{display:none}              /* iki dugme de cekmecede */
  .dc4f0267 .d7935946{padding:0 16px;justify-content:space-between}

  /* repeat(auto-fit,minmax(Npx,1fr)) sutunu N'in altina inemez: kap N'den darsa (320 px telefon) izgara
     tasar. min(Npx,100%) genis ekranda AYNI sonucu verir, darda tek sutuna iner. (Prototipin bir kismi
     zaten min() kullaniyor; bunlar kullanmayanlar — dk.css'ten taranip listelendi.) */
  .da9d087a{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}
  .d3523e8f{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
  .d1279277{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))}
  :is(.d2b456bf,.d33763d5,.d7d75130,.d7e30685,.ddcf85ad,.db9f5045){grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
  :is(.d98ab119,.dae71478,.dc7ace9c){grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
  .d292d247{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
  :is(.d13613d5,.d177d869,.d37e51be,.d6377c20,.d747fd50){grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
  :is(.da6dc86d,.dc4fc78e){grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr))}
  :is(.d1dabe8b,.d2ed0463){grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
  /* Sablonsuz izgaralar (display:grid, grid-template-columns YOK) tek 'auto' sutun kurar: sutun, icerigin
     min-content'inden dar olamaz ve kabi tasirir (olculdu: 320'de siparis ozeti 306 px / kap 272 px).
     minmax(0,1fr) icerik sigdiginda AYNI genisligi verir, sigmadiginda sutunu kaba sabitler. dk.css'teki
     34 sablonsuz izgaranin tamami: */
  /* (Onceki surumde iki sinif adi satir sonunda bolunmustu — .d537e8d4, .daf87ba0 — ve kural onlara HIC
     uygulanmiyordu; tests/Feature/Tasarim/MobilCssTest bozuk/olmayan sinif adini artik yakalar.) */
  :is(.d0c043bb,.d0d4a398,.d1155b5b,.d12a9c37,.d1414353,.d2308542,.d2c60a92,.d40e6fd1,.d41dbd4c,.d44508ba,.d49110fc,
      .d537e8d4,.d62e60e3,.d714f738,.d7a2c40a,.d7c0bbc8,.d7d7c4af,.d847169b,.d915f067,.d9b331e2,.da794b6a,.dacd56d8,
      .dad28089,.daf87ba0,.db399991,.dbcc2205,.dc28af79,.dc6686ed,.dcb1376d,.dcf82af0,.dd633ab2,.dd649100,.ddf83079,
      .da8da491){grid-template-columns:minmax(0,1fr)}
  /* destek mesaj kutusu: alan en az 180 px; sigmayan dugmeler (gercek sekmede ek + dahili not + Gonder) alt satira. */
  .de466f14{flex-wrap:wrap}
  .de466f14 > :first-child{min-width:0;flex:1 1 180px}
  /* Yonetim gelir grafigi: 12 ay etiketi (8px aralik) 320'de 328 px ister, kap 238. Cubuk ve etiket
     satiri AYNI araligi almali ki etiketler cubuklarin altinda kalsin. */
  :is(.df2fea87,.daaeddfd){gap:3px}
  .daaeddfd{font-size:9px}
  .daaeddfd > *{min-width:0}
  .d2f02244 .dc68ffbe{flex:1 1 100%}                   /* panel ust cubugu: arama kutusu tam satir */
  .d2f02244 .d1925a35{flex:1 1 220px;min-width:0}      /* (musteri aramasi: grup tam satir, kutu da satiri doldurur) */
  .d2f02244 .dd9cb472{flex-wrap:wrap;row-gap:8px}      /* ust cubuk sag grubu: sigmazsa kullanici cipi alt satira */
  /* Hosting erisim bilgileri satiri (etiket | tek parca deger + kopyala): deger (alan adi, sunucu) bolunemez; sigmazsa
     alt satira iner — olculdu: 320'de "ns1.dijitalkalkan.com · ns2…" satiri 8 px tasiyordu (user-8). */
  .d8fd0c27{flex-wrap:wrap;row-gap:4px}
  /* Siparis adimlari telefonda alt alta; bag cizgileri (yatay) dikey listede anlamsiz. */
  .d1f6ac8a{flex-direction:column;align-items:flex-start;gap:12px}
  .d1f6ac8a > .d2d85539{display:none}
  /* Siparis zaman cizelgesi (4 adim + 3 bag cizgisi, hepsi flex:1): adimlar 44 px'e iner, "Rapor & koruma" 3 satira
     bolunur. Adim 2 pay, cizgi 1 pay: adim ~70 px. */
  .d79c1f00{flex:2 1 0;min-width:0}
  :is(.de5a5900,.de7fff76){flex:1 1 0;min-width:8px}
  .d7a5beab{min-width:0;flex:1 1 auto}                  /* yonetim aramasi: min-width 300px kaldirilir */
  .d2296c74{white-space:normal}                          /* kurumsal: uzun adres/e-posta satiri sarilsin */
  :is(.d87fd390,.d7c61892){flex-wrap:wrap}               /* kayitli kart satiri: islemler alt satira iner */
  :is(.d87fd390,.d7c61892) > .dbe46144{flex-basis:160px} /* (bilgi flex:1 0 tabanliydi: sarma hic tetiklenmezdi) */
  .d8c2bf3d{gap:4px}                                    /* 2FA: 6 kutu 390'da 45 px genislige sigar */
  :is(.dc1087bd,.ddb40c8c){aspect-ratio:auto;height:44px;min-width:0}   /* kare oran 44 px'lik boyu genislige tasiyip 320'de tasiriyordu */

  /* Ana sayfa hosting gorseli ustundeki 3 istatistik (repeat(3,1fr): 1fr icerigin min genisliginin altina inmez):
     390'da sutunlar 342 px ister, kap 308 -> "korunan site" gorselin tasma:gizli kabinda KESILIYORDU (--kirpma).
     2 + 1 dizilim: ust satirda iki kutu, ucuncusu tam satir. 320'de etiket gerekirse sarilir. */
  .de0fe68d{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .de0fe68d > :last-child{grid-column:1 / -1}
  .d1184f7b{letter-spacing:.02em;overflow-wrap:anywhere}

  /* Kart odeme: Son kullanma | CVV | Taksit (2fr 1fr 1fr) -> iki sutun, taksit tam satir. */
  .d4ec7f54{grid-template-columns:1fr 1fr}
  .d4ec7f54 > :last-child{grid-column:1 / -1}

  /* Iki sutunlu form satiri (1fr 1fr): kayit "Ad Soyad | Telefon", yonetim ayarlari "KDV | Havale". 480 altinda sutun
     105-160 px'e iner; 16 px'lik alanda yer tutucu da kullanicinin yazdigi deger de KESILIYORDU — olculdu (canvas):
     'Adınız Soyadınız' 117 px / ic genislik 82 px @390 (tasma 35), 47 px @320 (70), '05xx xxx xx xx' 23 / 58 px.
     481'de ve ustunde sigar (-10 / -22 px). Tek sutun; kayit alanlari kendi 14 px alt boslugunu tasir (de7cc021):
     izgara satir araligi eklenmez, dikey ritim formun geri kalaniyla ayni. */
  .ded6f6fa{grid-template-columns:minmax(0,1fr)}
  .ded6f6fa:has(> .de7cc021){row-gap:0}

  /* Siparis adim 3 indirim kodu karti (etiket | KOD + Uygula): 320'de yan yana sigmaz (girdi sabit 110 px + dugme) —
     sayfa 11 px tasiyordu (olculdu: /siparis/odeme @320, kw 331; HEAD CSS ile de 329). Sigmazsa form alt satira iner. */
  .df400e89{flex-wrap:wrap}

  /* Tarama karti (form / ilerleme / hata): 36 px ic bosluk 390'da icerigi 268 px'e sikistiriyordu. */
  .dd8ef1aa{padding:24px 20px}
  /* Ilerleme satiri "● alan-adi analiz ediliyor… 50%": sigmazsa "analiz ediliyor…" kelime ortasindan BOLUNMEZ
     (onceki: 'analiz' / 'ediliyor…', nokta 9 -> 6 px'e ezilip elipse donuyordu) — butun halinde alt satira, alan adinin
     hizasina iner; nokta ilk satirda, yuzde ilk satirin taban cizgisinde. Uzun alan adi kendi icinde sarilir.
     :has() yoksa (eski tarayici) nokta akista kalir — ust uste binme olmaz. Hata kartinda nokta yok: girinti de yok. */
  .d7be7d2a{align-items:baseline;gap:12px}
  .d7be7d2a > .d7a59037{flex-wrap:wrap;row-gap:2px;min-width:0}
  .d7a59037 > .sc-interp{min-width:0;overflow-wrap:anywhere}
  .d7a59037 > .d58ebb84{flex-shrink:0}
  .d7a59037:has(> .d58ebb84){position:relative;padding-left:18px}
  .d7a59037:has(> .d58ebb84) > .d58ebb84{position:absolute;left:0;top:5px}
  .d7be7d2a > .d137e9d8{flex-shrink:0}
}
