/*
    dijiverse.com.tr - Cloudkit uzerine marka katmani.

    ⚠️ SIRA BAGLAYICI: bu dosya app-*.css'ten SONRA yuklenir. Ikisi de
    :root uzerinde, yani ayni ozgulluk ve SONRAKI KAZANIR. Ters sirada
    asagidaki ezmeler hic uygulanmaz - sessizce.
    Bekci: DijiverseVarlikTest::test_marka_css_app_cssinden_sonra_yukleniyor
    (o bekci Gorev 3'te yaziliyor).

    ⚠️ Fontlar KENDI SUNUCUMUZDAN. Sablon fonts.googleapis.com ve rsms.me
    kullaniyordu; KVKK uyum belgesi satan bir sitenin ziyaretci IP'sini
    Google'a gondermesi celiski olurdu.

    ⚠️ IKI ALT KUME, ORTUSMUYORLAR - BIRBIRINI TAMAMLIYORLAR.
    Google Fonts'un "latin" ve "latin-ext" dosyalari ayri ayri glif
    tasiyor; "latin-ext" adi yaniltici, "latin'in genisletilmisi" degil
    "latin'e EK" demek. Olculdu 2026-08-28, dogrudan CSS2 API'sinden:

      latin      -> U+0000-00FF + U+0131 : butun ASCII, ve ç ö ü ı
      latin-ext  -> U+0100-02BA...       : ğ ş İ Ğ Ş

    🔴 TURKCE HER IKISINE BIRDEN YAYILIYOR. Yalnizca latin-ext
    indirilseydi sayfadaki metnin neredeyse tamami - butun harfler,
    rakamlar, noktalama ve ç ö ü - marka fontunu HIC gormez, yedege
    duserdi; yalnizca "ğ ş İ" gecen kelimeler dogru fontta cizilir ve
    ayni satirda iki yazi tipi karisirdi. Sayfa yine 200 doner.
    Bu bir kez gercekten yasandi (Gorev 2, ilk deneme).

    🔴 unicode-range HER BLOKTA ZORUNLU. Olmazsa tarayici bloklarin her
    karakteri kapsadigini varsayar, eksik glifte SESSIZCE yedege duser
    ve hangi dosyayi indirecegini de yanlis secer.
    Bekci: test_marka_css_turkce_ve_ascii_karakterleri_kapsiyor

    ⚠️ Sablon Inter'i "Interdisplay" adiyla cagiriyor (--font-heading);
    ad degistirilmiyor, yalnizca kaynagi yerellestiriliyor.

    ⚠️ DORT AGIRLIK: 400 / 500 / 600 / 700, iki aile icin de.
    Sablon fontlari sinifla degil TABAN KATMANDAN uyguluyor
    (_general.css): body -> font-body + font-medium (DM Sans 500),
    h1..h6 -> font-heading + font-semibold (Inter 600).
    Olculdu 2026-08-28, dist/*.html icinde: font-semibold 396 kez
    (cogu govde fontunu miras alan dugme/bag/etiket -> DM Sans 600),
    font-medium 210 kez (22'si baslikta -> Inter 500), font-bold 34 kez.
    Eksik agirlikta tarayici SENTETIK kalinlastirma yapiyor: glifleri
    yapay olarak sisiriyor, gercek fontla yan yana gozle gorulur sekilde
    bulanik cikiyor. Sayfa yine 200 doner.
*/

@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-ext-400.woff2") format("woff2");
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-400.woff2") format("woff2");
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-ext-500.woff2") format("woff2");
    font-weight: 500; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-500.woff2") format("woff2");
    font-weight: 500; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-ext-700.woff2") format("woff2");
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-700.woff2") format("woff2");
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-ext-600.woff2") format("woff2");
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "DM Sans";
    src: url("/dijiverse/varlik/font/dm-sans-latin-600.woff2") format("woff2");
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-ext-400.woff2") format("woff2");
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-400.woff2") format("woff2");
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-ext-500.woff2") format("woff2");
    font-weight: 500; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-500.woff2") format("woff2");
    font-weight: 500; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-ext-600.woff2") format("woff2");
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-600.woff2") format("woff2");
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-ext-700.woff2") format("woff2");
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
        U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Interdisplay";
    src: url("/dijiverse/varlik/font/inter-latin-700.woff2") format("woff2");
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
        U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
    Marka rengi.

    ⚠️ VARSAYILAN: Cloudkit'in laciverti KORUNUYOR (#1c2f41, beyaza karsi
    kontrast 13,0). --color-primary sablonda 198 yerde kullaniliyor ve
    BASLIK METNI olarak da geciyor (text-primary 52, bg-primary 64,
    hover:bg 36, hover:text 46) - yani rengi degistirmek butun basliklarin
    rengini degistirir. Alternatif (#1f5fd0, kontrast 5,82) TARAYICIDA
    denenip karar verilecek (Gorev 17); ezme asagidaki tek satir.
*/
/* :root { --color-primary: #1f5fd0; } */

/*
    Gorsel olarak gizli ama ekran okuyucuya acik metin.

    ⚠️ Tailwind'in sr-only sinifi derlenmis Cloudkit CSS'inde YOK
    (budanmis cikti, sablon onu hic kullanmamis) - bu yuzden elle
    yaziliyor. display:none ya da visibility:hidden KULLANILMAZ:
    ikisi de ogeyi erisilebilirlik agacindan da cikarir.

    ⚠️ Bu sinif Cloudkit'in DEGIL BIZIM - sinif bekcisi
    (DijiverseVarlikTest) derlenmis sablon CSS'inde ARAMAZ, bunun
    yerine burada, marka.css'te tanimli oldugunu dogrudan iddia eder
    (bkz. MARKA_SINIFLARI muafiyeti).
*/
.gorunmez-metin {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/*
    ============================================================
    YAZI GOVDESI - panelden girilen HAM HTML'in tipografisi
    ============================================================

    🔴 TAILWIND PREFLIGHT HER SEYI SIFIRLIYOR ve bu, panelden girilen
    icerigi OKUNAMAZ hale getiriyordu. Derlenmis Cloudkit CSS'inde
    (app-*.css, @layer base) olculdu 2026-09-02:

      *          -> margin: 0; padding: 0     (p'nin paragraf araligi YOK)
      ol,ul,menu -> list-style: none          (madde isaretleri YOK)
      h1..h6     -> font-size: inherit        (baslik BUYUMUYOR)
      body       -> font-size: var(--text-sm) (14px)

    Yani /blog/{slug} govdesi ({!! $yazi->govde !!}) ve SSS cevaplari
    ekranda TEK BIR BLOK halinde, 14 punto, paragraf araligi olmadan
    ciziliyordu. Sayfa 200 doner, hicbir test kirmizi yanmaz.

    🔴 TAILWIND SINIFIYLA COZULEMEZ. Derlenmis CSS BUDANMIS: yalnizca
    sablonun kendi kullandigi siniflar var (olculdu: max-w-none, mt-1,
    break-words, prose* -> HICBIRI YOK) ve bu depoda DERLEME ADIMI YOK.
    Ustelik icerik panelden geliyor, yani markup'a sinif yazamayiz -
    kural ELEMENT SECICISI olmak zorunda.

    ⚠️ KAPSAM DAR TUTULDU: yalnizca .yazi-govdesi altindaki ogeler.
    Ciplak "p { margin-bottom: ... }" yazmak sitenin BUTUN sayfalarini
    etkilerdi - Cloudkit'in her bolumu araligi Tailwind siniflariyla
    veriyor ve ustune binen bir taban kural her yeri bozardi.

    ⚠️ 17px/1.75 - govde 14px/1.5'ten BILEREK buyuk. Uzun makale metni
    ile arayuz metni ayni olcuyu paylasmaz; bu blok yalnizca uzun metnin
    yasadigi iki yerde kullaniliyor (blog detay + SSS cevabi).
*/
.yazi-govdesi {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--color-default-600);
}

.yazi-govdesi > *:first-child { margin-top: 0; }
.yazi-govdesi > *:last-child { margin-bottom: 0; }

.yazi-govdesi p { margin-bottom: 1.25em; }

.yazi-govdesi h2,
.yazi-govdesi h3,
.yazi-govdesi h4 {
    color: var(--color-default-900);
    margin-top: 2em;
    margin-bottom: .6em;
    line-height: 1.3;
}

.yazi-govdesi h2 { font-size: 1.6em; }
.yazi-govdesi h3 { font-size: 1.3em; }
.yazi-govdesi h4 { font-size: 1.1em; }

/*
    ⚠️ list-style ACIKCA GERI VERILIYOR - preflight onu "none" yapiyor.
    padding-inline-start olmadan madde isaretleri kapsayicinin DISINDA
    kalir ve kirpilir.
*/
.yazi-govdesi ul,
.yazi-govdesi ol {
    margin-bottom: 1.25em;
    padding-inline-start: 1.5em;
}

.yazi-govdesi ul { list-style: disc; }
.yazi-govdesi ol { list-style: decimal; }
.yazi-govdesi li { margin-bottom: .4em; }
.yazi-govdesi li::marker { color: var(--color-default-300); }

.yazi-govdesi strong,
.yazi-govdesi b {
    color: var(--color-default-900);
    font-weight: 600;
}

/*
    ⚠️ BAG ALTI CIZGILI - renk tek basina tasimaz. Marka rengi
    (#1c2f41) govde metniyle (slate-600) yan yana ayirt edilemeyecek
    kadar yakin; alti cizgi olmadan ziyaretci baglantiyi goremezdi.
*/
.yazi-govdesi a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: .2em;
}

.yazi-govdesi blockquote {
    margin: 1.5em 0;
    padding-inline-start: 1.25em;
    border-inline-start: 3px solid var(--color-default-200);
    color: var(--color-default-900);
}

/* ⚠️ Preflight img'yi display:block yapiyor; aralik elle veriliyor. */
.yazi-govdesi img {
    border-radius: .5rem;
    margin: 1.5em 0;
}

/*
    ============================================================
    ILETISIM BILGILERI - ikon + metin satiri
    ============================================================

    🔴 TABLER IKON SINIFI KULLANILAMAZ. Derlenmis CSS'te YALNIZCA 30
    tabler ikonu var (olculdu 2026-09-02) ve map-pin / phone / mail
    UCU DE YOK: "iconify tabler--phone" yazmak bos bir kutu cizerdi -
    sayfa yine 200 doner. Ikonlar bu yuzden SATIR ICI SVG
    (partials/iletisim-bilgileri.blade.php); ayni karar servis
    temasinda da alinmisti (partials/ikon.blade.php).

    ⚠️ shrink-0 / mt-0.5 / gap-3 derlenmis CSS'te YOK - hizalama bu
    yuzden elle yaziliyor. flex:0 0 auto olmadan uzun adres satirinda
    ikon EZILIYOR (20px -> ~6px).
*/
.iletisim-satiri {
    display: flex;
    align-items: flex-start;
    gap: .625rem;
}

.iletisim-satiri + .iletisim-satiri { margin-top: .875rem; }

/*
    ⚠️ IKON RENGI METINLE AYNI (--color-default-600), --color-default-300
    DEGIL - tarayicida olculup degistirildi 2026-09-02. slate-300'un
    beyaz karta karsi kontrasti ~1,5; ikonlar ekranda vardi ama
    GORULMUYORDU, yani hicbir sey kazandirmiyorlardi. Ara ton
    (slate-400/500) bu palette YOK - derlenmis CSS yalnizca
    --color-default-{100,200,300,600,900,950} tanimliyor.
*/
.iletisim-ikonu {
    flex: 0 0 auto;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: .15rem;
    color: var(--color-default-600);
}

/*
    ============================================================
    MOBIL MENU YUKSEKLIGI
    ============================================================

    ⚠️ Menu 2026-09-02'de alti bagdan DOKUZ baga cikti (kullanici
    karari: Anasayfa, Hakkimizda, Kariyer eklendi). Sablonun sabit
    h-78 (312px) / max-h-74 (296px) olculeri alti baga gore secilmisti;
    dokuz bag ~400px ve son uc bag kutunun DISINDA kaliyordu.

    ⚠️ Tailwind ile buyutulemez: derlenmis CSS'te bu ailenin yalnizca
    h-78 ve max-h-74 varyantlari var (olculdu).

    ⚠️ Yukseklik "auto" ama liste ekrana gore SINIRLI - kisa ekranda
    menu ekrandan tasip son baglari erisilemez birakmasin diye.
*/
.mobil-menu { height: auto; }
.mobil-menu-listesi { max-height: calc(100dvh - 7rem); }

/*
    ============================================================
    OKUMA GENISLIGI - uzun makale metni icin satir uzunlugu
    ============================================================

    🔴 SATIR UZUNLUGU OKUNABILIRLIGIN KENDISI. /blog/{slug} govdesi
    "container max-w-245!" (980px) icinde ciziliyordu; 17px govdeyle
    bu satir basina ~115 karakter demek. Tipografi olcutu 45-85
    karakter - uzun satirda goz satir sonundan bir sonraki satirin
    basina donerken hedefi kaciriyor ve okuyucu ayni satiri iki kez
    okuyor.

    ⚠️ Tailwind ile verilemez: derlenmis CSS'te bu ailenin YALNIZCA
    max-w-200! (800px), max-w-245!, max-w-290! ve max-w-full
    varyantlari var (olculdu 2026-09-02) - 800px de ~95 karakter,
    hala genis.

    ⚠️ Yalnizca GOVDEYE uygulaniyor, hero'ya degil: baslik kisa ve
    ortali, dar bir kutuya sikistirilmasi icin bir sebep yok.

    ⚠️ .yazi-govdesi'nin KENDISINE konmadi - o kural SSS
    akordiyonlarinda da kullaniliyor ve orada kartin genisligini
    daraltmak bosluk uretirdi.
*/
.okuma-genisligi {
    max-width: 44rem;
    margin-inline: auto;
}
