/* ==========================================================================
   SİTE TEMASI — UZUN İÇERİK BİLEŞENLERİ
   --------------------------------------------------------------------------
   Blog, Kütüphane ve yasal metinlerin ortak parçaları. site-tema.css'ten
   sonra yüklenir (renderSite → pageCss).

   1) Okuma tipografisi (.cy-prose)   2) Tablo    3) Kod bloğu
   4) İçindekiler (.cy-toc)           5) SSS akordeonu (.cy-acc)
   6) İçerik + kenar çubuğu düzeni    7) Kenar çubuğu parçaları (.cy-widget)
   8) Mobil alt panel (sheet)         9) Okuma ilerleme çubuğu
   10) Beğen + paylaş şeridi (.etk)   11) Yorumlar (.cy-yorum)
   12) Yazar / yönlendirme kutuları
   ========================================================================== */

/* 1) OKUMA TİPOGRAFİSİ ---------------------------------------------------- */
.cy-prose {
    min-width: 0;
    color: var(--cy-text);
    font-size: 1.0625rem;
    line-height: 1.75;
    overflow-wrap: break-word;
}
.cy-prose > * + * { margin-top: 1.125em; }
.cy-prose :where(h2) {
    margin-top: 2.25em;
    font-size: clamp(1.375rem, 1.2rem + .7vw, 1.75rem);
    line-height: 1.25;
    letter-spacing: -.02em;
    scroll-margin-top: calc(var(--cy-header-h) + 24px);
}
.cy-prose :where(h3) {
    margin-top: 1.9em;
    font-size: clamp(1.1875rem, 1.1rem + .35vw, 1.375rem);
    line-height: 1.3;
    scroll-margin-top: calc(var(--cy-header-h) + 24px);
}
.cy-prose :where(h4) { margin-top: 1.6em; font-size: 1.0625rem; }
.cy-prose :where(h2, h3, h4) + * { margin-top: .75em; }
.cy-prose :where(section) > h2:first-child { margin-top: 0; }
.cy-prose :where(section) + section { margin-top: 2.5em; }
.cy-prose :where(section) > * + * { margin-top: 1em; }
.cy-prose :where(p, li) { color: var(--cy-text); }
.cy-prose :where(strong, b) { color: var(--cy-ink); font-weight: 700; }
.cy-prose :where(a) {
    color: var(--cy-primary);
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: rgba(0, 91, 187, .35);
    text-underline-offset: 3px;
}
.cy-prose :where(a):hover { text-decoration-color: currentColor; }
.cy-prose :where(ul, ol) { padding-left: 1.375rem; }
.cy-prose :where(ul) { list-style: disc; }
.cy-prose :where(ol) { list-style: decimal; }
.cy-prose :where(li) + li { margin-top: .5em; }
.cy-prose :where(li)::marker { color: var(--cy-primary); }
.cy-prose .cy-prose__alpha { list-style: lower-alpha; }
.cy-prose__lead {
    color: var(--cy-ink);
    font-size: 1.1875rem;
    line-height: 1.65;
}
.cy-prose :where(blockquote) {
    margin-inline: 0;
    padding: 1rem 1.25rem;
    border-left: 3px solid var(--cy-primary);
    border-radius: 0 var(--cy-radius) var(--cy-radius) 0;
    background: var(--cy-primary-soft);
    color: var(--cy-ink);
}
.cy-prose :where(blockquote) > * + * { margin-top: .75em; }
.cy-prose :where(hr) { height: 1px; margin-block: 2.5em; border: 0; background: var(--cy-line); }
.cy-prose :where(img) { border-radius: var(--cy-radius); }
.cy-prose :where(figure) figcaption { margin-top: .5rem; color: var(--cy-muted); font-size: .875rem; text-align: center; }
.cy-prose :where(:not(pre) > code) {
    padding: .125em .375em;
    border: 1px solid var(--cy-line);
    border-radius: 6px;
    background: var(--cy-bg-soft);
    color: #9a2150;
    font-family: var(--cy-mono);
    font-size: .875em;
    overflow-wrap: anywhere;
}
.cy-prose :where(mark) { padding: 0 .2em; border-radius: 3px; background: #fff3bf; }
.cy-prose .ql-align-center { text-align: center; }
.cy-prose .ql-align-right { text-align: right; }

/* 2) TABLO ---------------------------------------------------------------- */
.cy-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--cy-line);
    border-radius: var(--cy-radius);
    -webkit-overflow-scrolling: touch;
}
.cy-prose :where(table) { width: 100%; border-collapse: collapse; font-size: .9375rem; line-height: 1.55; }
.cy-prose > table { display: block; overflow-x: auto; border: 1px solid var(--cy-line); border-radius: var(--cy-radius); }
.cy-prose :where(th, td) { padding: .75rem 1rem; border-bottom: 1px solid var(--cy-line); text-align: left; vertical-align: top; }
.cy-prose :where(th) { background: var(--cy-bg-soft); color: var(--cy-ink); font-size: .8125rem; font-weight: 700; white-space: nowrap; }
.cy-prose :where(tr:last-child td) { border-bottom: 0; }
.cy-prose :where(td:first-child) { color: var(--cy-ink); font-weight: 600; }
@media (max-width: 639.98px) {
    .cy-prose :where(table) { min-width: 560px; }
}

/* 3) KOD BLOĞU ------------------------------------------------------------- */
/* Kabuk sunucuda üretilir: blog_code_blocks() → figure.code-block */
.cy-prose .code-block,
.cy-code {
    margin-inline: 0;
    overflow: hidden;
    border: 1px solid #1f2d3d;
    border-radius: var(--cy-radius);
    background: #0d1623;
    box-shadow: var(--cy-shadow-sm);
}
.code-block__bar,
.cy-code__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 42px;
    padding: .375rem .5rem .375rem 1rem;
    border-bottom: 1px solid #1f2d3d;
    background: #111d2c;
}
.code-block__lang,
.cy-code__lang {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #9fb3c8;
    font-family: var(--cy-mono);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.code-block__lang::before {
    content: "";
    width: 34px;
    height: 10px;
    background:
        radial-gradient(circle at 5px 5px, #ff5f57 4px, transparent 4.5px),
        radial-gradient(circle at 17px 5px, #febc2e 4px, transparent 4.5px),
        radial-gradient(circle at 29px 5px, #28c840 4px, transparent 4.5px);
    opacity: .85;
}
.code-block__copy,
.cy-code__copy {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    min-height: 32px;
    padding: .25rem .625rem;
    border: 1px solid #2a3b50;
    border-radius: 8px;
    background: transparent;
    color: #c9d6e3;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
}
.code-block__copy:hover,
.cy-code__copy:hover { border-color: #4a6280; background: #182536; color: #fff; }
.code-block__copy.is-done,
.cy-code__copy.is-done { border-color: #1f7a4d; color: #7ee2a8; }
.code-block__copy svg,
.cy-code__copy svg { width: 15px; height: 15px; }
.cy-prose .code-block pre,
.cy-code pre {
    margin: 0;
    padding: 1.125rem 1.25rem;
    overflow-x: auto;
    background: transparent;
    color: #e6edf3;
    font-family: var(--cy-mono);
    font-size: .875rem;
    line-height: 1.7;
    tab-size: 4;
}
.cy-prose .code-block pre code,
.cy-code pre code { padding: 0; border: 0; background: transparent; color: inherit; font-size: inherit; }
/* highlight.js kendi zeminini basmasın; kabuğun zemini kullanılsın */
.cy-prose .code-block .hljs,
.cy-code .hljs { padding: 0; background: transparent; }
/* Kabuksuz kalmış <pre> (eski içerik) */
.cy-prose > pre {
    padding: 1.125rem 1.25rem;
    overflow-x: auto;
    border-radius: var(--cy-radius);
    background: #0d1623;
    color: #e6edf3;
    font-family: var(--cy-mono);
    font-size: .875rem;
    line-height: 1.7;
}

/* 4) İÇİNDEKİLER ---------------------------------------------------------- */
.cy-toc {
    border: 1px solid var(--cy-line);
    border-radius: var(--cy-radius-lg);
    background: #fff;
}
.cy-toc__title {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 52px;
    padding: .75rem 1rem;
    color: var(--cy-ink);
    font-size: .9375rem;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
}
.cy-toc__title::-webkit-details-marker { display: none; }
.cy-toc__title > .cy-icon:first-child { color: var(--cy-primary); }
.cy-toc__chev { margin-left: auto; color: var(--cy-muted); transition: transform .2s var(--cy-ease); }
.cy-toc[open] .cy-toc__chev { transform: rotate(180deg); }
.cy-toc__list { display: grid; gap: .125rem; padding: 0 .5rem .75rem; counter-reset: toc; }
.cy-toc__list a {
    display: flex;
    align-items: flex-start;
    gap: .625rem;
    padding: .4375rem .5rem;
    border-radius: 8px;
    color: var(--cy-muted);
    font-size: .875rem;
    line-height: 1.45;
    transition: background-color .15s var(--cy-ease), color .15s var(--cy-ease);
}
.cy-toc__list a:hover { background: var(--cy-bg-soft); color: var(--cy-ink); }
.cy-toc__list a.is-active { background: var(--cy-primary-soft); color: var(--cy-primary); font-weight: 600; }
.cy-toc__list .is-sub a { padding-left: 2rem; font-size: .8125rem; }
.cy-toc__num {
    flex: none;
    min-width: 1.25rem;
    color: var(--cy-primary);
    font-family: var(--cy-mono);
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.95;
}

/* Masaüstünde içindekiler her zaman açık, özet satırı tıklanmaz */
@media (min-width: 1024px) {
    .cy-toc[data-cy-toc-mobil] > .cy-toc__title { pointer-events: none; }
    .cy-toc[data-cy-toc-mobil] .cy-toc__chev { display: none; }
}

/* 5) SSS AKORDEONU --------------------------------------------------------- */
.cy-acc { border-top: 1px solid var(--cy-line-strong); }
.cy-acc__item { border-bottom: 1px solid var(--cy-line-strong); }
.cy-acc__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 56px;
    padding: 1rem .25rem;
    color: var(--cy-ink);
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
}
.cy-acc__q::-webkit-details-marker { display: none; }
.cy-acc__q > .cy-icon { color: var(--cy-muted); transition: transform .2s var(--cy-ease); }
.cy-acc__item[open] > .cy-acc__q > .cy-icon { transform: rotate(180deg); color: var(--cy-primary); }
.cy-acc__a { padding: 0 .25rem 1.25rem; color: var(--cy-text); }
.cy-acc__a > * + * { margin-top: .75rem; }

/* 6) İÇERİK + KENAR ÇUBUĞU DÜZENİ ------------------------------------------ */
.cy-layout {
    display: grid;
    gap: 2rem;
    padding-block: clamp(1.25rem, 1rem + 1.5vw, 2.25rem) clamp(2.5rem, 2rem + 2vw, 4rem);
}
@media (min-width: 1024px) {
    .cy-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 3rem; }
    .cy-layout--sol { grid-template-columns: 260px minmax(0, 1fr); }
    /* Yapışkan kenar çubuğu İÇ KAYDIRMA ÇUBUĞU AÇMAZ: "top" değerini site-tema.js
       (9) çubuğun boyuna göre verir; uzun çubuk sayfayla kayar, alt ucu görününce durur */
    [data-cy-yapiskan] { position: sticky; top: var(--cy-yapiskan-top, calc(var(--cy-header-h) + 24px)); align-self: start; }
}
@media (min-width: 1200px) {
    .cy-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 3.5rem; }
    .cy-layout--sol { grid-template-columns: 280px minmax(0, 1fr); }
}

/* 7) KENAR ÇUBUĞU PARÇALARI ------------------------------------------------ */
.cy-widgets { display: grid; gap: 1rem; align-content: start; }
.cy-widget {
    padding: 1.25rem;
    border: 1px solid var(--cy-line);
    border-radius: var(--cy-radius-lg);
    background: #fff;
}
.cy-widget__title {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .875rem;
    color: var(--cy-ink);
    font-size: .9375rem;
    font-weight: 700;
}
.cy-widget__title .cy-icon { color: var(--cy-primary); }
.cy-widget__list { display: grid; gap: .125rem; margin-inline: -.5rem; }
.cy-widget__list a {
    display: flex;
    align-items: center;
    gap: .625rem;
    min-height: 40px;
    padding: .375rem .5rem;
    border-radius: 8px;
    color: var(--cy-text);
    font-size: .9375rem;
    line-height: 1.4;
}
.cy-widget__list a:hover { background: var(--cy-bg-soft); color: var(--cy-ink); }
.cy-widget__list a[aria-current="page"],
.cy-widget__list a.is-active { background: var(--cy-primary-soft); color: var(--cy-primary); font-weight: 600; }
.cy-widget__list .cy-icon { width: 18px; height: 18px; color: var(--cy-muted); }
.cy-widget__count {
    margin-left: auto;
    padding: 0 .5rem;
    border-radius: 999px;
    background: var(--cy-bg-soft);
    color: var(--cy-muted);
    font-family: var(--cy-mono);
    font-size: .75rem;
    line-height: 1.8;
}
.cy-widget__text { color: var(--cy-muted); font-size: .9375rem; }
.cy-widget__text + .cy-btn,
.cy-widget__text + .cy-widget__btns { margin-top: .875rem; }
.cy-widget__btns { display: flex; flex-wrap: wrap; gap: .5rem; }

/* Arama kutusu */
.cy-search { position: relative; }
.cy-search .cy-input { padding-right: 3.25rem; }
.cy-search button {
    position: absolute;
    top: 4px;
    right: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 8px;
    background: var(--cy-primary);
    color: #fff;
    cursor: pointer;
}
.cy-search button:hover { background: var(--cy-primary-hover); }
.cy-search__sonuc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .25rem 1rem;
    margin-top: .75rem;
    color: var(--cy-muted);
    font-size: .875rem;
}
.cy-search__sonuc a { font-weight: 600; }

/* Sıralı liste (en çok okunanlar) */
.cy-rank { display: grid; gap: .25rem; counter-reset: sira; }
.cy-rank a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: .625rem;
    padding: .5rem;
    margin-inline: -.5rem;
    border-radius: 8px;
    color: var(--cy-text);
    font-size: .9375rem;
    line-height: 1.4;
    counter-increment: sira;
}
.cy-rank a::before {
    content: counter(sira, decimal-leading-zero);
    color: var(--cy-primary);
    font-family: var(--cy-mono);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.75;
}
.cy-rank a:hover { background: var(--cy-bg-soft); color: var(--cy-ink); }

/* Son yorumlar */
.cy-mini-yorumlar { display: grid; gap: .875rem; }
.cy-mini-yorumlar a { display: grid; gap: .1875rem; color: var(--cy-text); font-size: .875rem; line-height: 1.45; }
.cy-mini-yorumlar a:hover .cy-mini-yorumlar__metin { color: var(--cy-ink); }
.cy-mini-yorumlar__kim { color: var(--cy-ink); font-weight: 700; }
.cy-mini-yorumlar__kim.is-team { color: var(--cy-primary); }
.cy-mini-yorumlar__nerede { color: var(--cy-muted); font-size: .8125rem; }

/* Etiket bulutu — kenar çubuğunda ilk 20 etiket; kalanı "Tüm etiketler" açar */
.cy-tagcloud { display: flex; flex-wrap: wrap; gap: .375rem; }
.cy-js .cy-tagcloud--sinirli:not(.is-tumu) > :nth-child(n + 21) { display: none; }

/* 8) MOBİL ALT PANEL (SHEET) ------------------------------------------------ */
/* Kenar çubuğu 1024px altında sayfanın dibinde kalmasın: alttaki çubuktan
   ekranın altından açılan bir panele dönüşür (site-tema.js: data-cy-sheet-ac). */
.cy-sheet-bar { display: none; }
.cy-sheet__head { display: none; }
.cy-perde { display: none; }

@media (max-width: 1023.98px) {
    .cy-js .cy-sheet {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1010;
        max-height: 85vh;
        max-height: 85dvh;
        padding: 0 var(--cy-gutter) calc(1.5rem + env(safe-area-inset-bottom));
        overflow-y: auto;
        overscroll-behavior: contain;
        border-radius: 20px 20px 0 0;
        background: var(--cy-bg-soft);
        box-shadow: 0 -12px 40px rgba(11, 23, 38, .18);
        transform: translateY(105%);
        visibility: hidden;
        transition: transform .3s var(--cy-ease), visibility 0s linear .3s;
    }
    .cy-js .cy-sheet.is-open { transform: none; visibility: visible; transition: transform .3s var(--cy-ease); }
    .cy-js .cy-sheet:focus { outline: none; }
    .cy-js .cy-sheet__head {
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-inline: calc(-1 * var(--cy-gutter));
        margin-bottom: 1rem;
        padding: .75rem var(--cy-gutter);
        background: var(--cy-bg-soft);
        border-bottom: 1px solid var(--cy-line);
        color: var(--cy-ink);
        font-weight: 700;
    }
    .cy-js .cy-sheet__head::before {
        content: "";
        position: absolute;
        top: 6px;
        left: 50%;
        width: 40px;
        height: 4px;
        margin-left: -20px;
        border-radius: 4px;
        background: var(--cy-line-strong);
    }
    .cy-sheet__close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin-right: -10px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: var(--cy-ink);
        cursor: pointer;
    }
    .cy-js .cy-perde:not([hidden]) {
        position: fixed;
        inset: 0;
        z-index: 1005;
        display: block;
        background: rgba(7, 26, 45, .45);
    }
    .cy-js.cy-sheet-acik,
    .cy-js.cy-sheet-acik body { overflow: hidden; }

    .cy-js .cy-sheet-bar {
        position: fixed;
        bottom: calc(12px + env(safe-area-inset-bottom));
        left: 50%;
        z-index: 980;
        display: flex;
        gap: .25rem;
        padding: .3125rem;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 999px;
        background: var(--cy-navy);
        box-shadow: 0 10px 30px rgba(7, 26, 45, .35);
        transform: translateX(-50%);
    }
    .cy-sheet-bar button {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        min-height: 44px;
        padding: .5rem 1.125rem;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: #fff;
        font: inherit;
        font-size: .9375rem;
        font-weight: 600;
        white-space: nowrap;
        cursor: pointer;
    }
    .cy-sheet-bar button:hover { background: rgba(255, 255, 255, .1); }
    .cy-sheet-bar .cy-icon { width: 18px; height: 18px; color: var(--cy-accent-on-navy); }
    /* Çubuk içeriğin son satırını örtmesin: çubuğun boyu (≈56px) + alt boşluğu + pay */
    .cy-js .cy-sheet-alan { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
}

/* 9) OKUMA İLERLEME ÇUBUĞU -------------------------------------------------- */
.cy-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    width: 100%;
    height: 3px;
    background: transparent;
    pointer-events: none;
}
.cy-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--cy-primary), #3b8ff0);
    transform: scaleX(0);
    transform-origin: 0 50%;
}

/* 10) BEĞEN + PAYLAŞ ŞERİDİ (components/etkilesim.php) ---------------------- */
.etk {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin-top: 2.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--cy-line);
    border-radius: var(--cy-radius-lg);
    background: var(--cy-bg-soft);
}
.etk__sol { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.etk__like {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 44px;
    padding: .5rem 1rem;
    border: 1px solid var(--cy-line-strong);
    border-radius: 999px;
    background: #fff;
    color: var(--cy-ink);
    font: inherit;
    font-size: .9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .15s var(--cy-ease), background-color .15s var(--cy-ease), color .15s var(--cy-ease);
}
.etk__like:hover { border-color: #f1a7a1; color: #c0362c; }
.etk__like .cy-icon { width: 20px; height: 20px; transition: transform .25s cubic-bezier(.34, 1.56, .64, 1); }
.etk__like.is-liked { border-color: #f5c2c0; background: #fef3f2; color: #c0362c; }
.etk__like.is-liked .cy-icon { fill: currentColor; animation: cy-kalp .4s cubic-bezier(.34, 1.56, .64, 1); }
@keyframes cy-kalp { 40% { transform: scale(1.35); } }
.etk__like-count {
    min-width: 1.75rem;
    padding: 0 .4375rem;
    border-radius: 999px;
    background: rgba(11, 23, 38, .06);
    font-family: var(--cy-mono);
    font-size: .8125rem;
    text-align: center;
}
.etk__hint { color: var(--cy-muted); font-size: .8125rem; }
.etk__uyari { color: #b42318; font-size: .8125rem; font-weight: 600; }
.etk__share { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; }
.etk__share-label { margin-right: .25rem; color: var(--cy-muted); font-size: .875rem; font-weight: 600; }
.etk__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .375rem;
    min-width: 40px;
    height: 40px;
    padding: 0 .625rem;
    border: 1px solid var(--cy-line-strong);
    border-radius: 10px;
    background: #fff;
    color: var(--cy-ink);
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .15s var(--cy-ease), color .15s var(--cy-ease), background-color .15s var(--cy-ease);
}
.etk__btn .cy-icon { width: 18px; height: 18px; }
.etk__btn:hover { border-color: var(--cy-primary-line); color: var(--cy-primary); text-decoration: none; }
.etk__btn--x:hover { color: #000; border-color: #9aa5b1; }
.etk__btn--li:hover { color: #0a66c2; border-color: #a9c7ea; }
.etk__btn--fb:hover { color: #1877f2; border-color: #a9c7f5; }
.etk__btn--wa:hover { color: #128c4b; border-color: #a6dcbf; }
.etk__btn--tg:hover { color: #229ed9; border-color: #a6d7ef; }
.etk__btn--pin:hover { color: #e60023; border-color: #f3a8b4; }
.etk__btn.is-done { border-color: #87d2a9; background: #effaf4; color: #14532d; }
.etk__btn--genis { padding: 0 .875rem; }
.etk__btn--indir { border-color: var(--cy-primary); background: var(--cy-primary); color: #fff; }
.etk__btn--indir:hover { background: var(--cy-primary-hover); color: #fff; }
.etk__toast {
    position: fixed;
    bottom: calc(24px + env(safe-area-inset-bottom));
    left: 50%;
    z-index: 1020;
    max-width: calc(100% - 32px);
    padding: .75rem 1.125rem;
    border-radius: 12px;
    background: var(--cy-navy);
    color: #fff;
    font-size: .9375rem;
    box-shadow: var(--cy-shadow-lg);
    opacity: 0;
    transform: translate(-50%, 12px);
    transition: opacity .2s var(--cy-ease), transform .2s var(--cy-ease);
    pointer-events: none;
}
.etk__toast.is-open { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 559.98px) {
    .etk { flex-direction: column; align-items: stretch; }
    .etk__like { justify-content: center; }
    .etk__hint { text-align: center; width: 100%; }
}

/* 11) YORUMLAR -------------------------------------------------------------- */
.cy-yorumlar { margin-top: clamp(2.5rem, 2rem + 2vw, 3.5rem); }
.cy-yorumlar__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .5rem 1rem;
    margin-bottom: 1.25rem;
}
.cy-yorumlar__title { font-size: clamp(1.375rem, 1.2rem + .6vw, 1.625rem); }
.cy-yorumlar__count { color: var(--cy-muted); font-size: .9375rem; }
.cy-yorumlar__bos {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1rem;
    border: 1px dashed var(--cy-line-strong);
    border-radius: var(--cy-radius);
    color: var(--cy-muted);
    font-size: .9375rem;
}
.cy-yorumlar__bos .cy-icon { flex: none; width: 18px; height: 18px; }
.cy-yorum-liste { display: grid; gap: 1rem; }
.cy-yorum {
    padding: 1rem 1.125rem;
    border: 1px solid var(--cy-line);
    border-radius: var(--cy-radius);
    background: #fff;
}
.cy-yorum.is-team { border-color: var(--cy-primary-line); background: #f9fbfe; }
.cy-yorum__head { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem .625rem; }
.cy-avatar {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--cy-renk, #5b6b7d);
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
}
.cy-avatar.is-team { background: var(--cy-primary); }
.cy-yorum__ad { color: var(--cy-ink); font-weight: 700; }
.cy-yorum__rozet {
    padding: .0625rem .5rem;
    border-radius: 999px;
    background: var(--cy-primary-soft);
    color: var(--cy-primary);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.cy-yorum__tarih { color: var(--cy-muted); font-size: .8125rem; }
.cy-yorum__govde { margin-top: .625rem; color: var(--cy-text); line-height: 1.65; overflow-wrap: anywhere; }
.cy-yorum__aksiyon { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .625rem; margin-left: -.5rem; }
.cy-yorum__btn {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    min-height: 36px;
    padding: .25rem .5rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--cy-muted);
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
}
.cy-yorum__btn:hover { background: var(--cy-bg-soft); color: var(--cy-ink); }
.cy-yorum__btn .cy-icon { width: 17px; height: 17px; }
.cy-yorum__btn.is-liked { color: #c0362c; }
.cy-yorum__btn.is-liked .cy-icon { fill: currentColor; }
.cy-yorum__btn[aria-expanded="true"] .cy-icon--chev { transform: rotate(180deg); }
.cy-yorum__yanitlar {
    display: grid;
    gap: .75rem;
    margin-top: .75rem;
    padding-left: 1rem;
    border-left: 2px solid var(--cy-line);
}
@media (min-width: 640px) {
    .cy-yorum__yanitlar { margin-left: .5rem; padding-left: 1.25rem; }
}
.cy-yorum-form {
    margin-top: .75rem;
    padding-top: .875rem;
    border-top: 1px dashed var(--cy-line-strong);
}
.cy-yorum-form .cy-input { min-height: 44px; font-size: .9375rem; }
.cy-yorum-form textarea.cy-input { min-height: 88px; }
.cy-yorum-mesaj { padding: .625rem .875rem; border-radius: 10px; font-size: .9375rem; font-weight: 500; }
.cy-yorum-mesaj.is-success { background: #effaf4; color: #14532d; }
.cy-yorum-mesaj.is-error { background: #fef3f2; color: #8a1c14; }
.cy-yorum-olarak {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .625rem .875rem;
    border-radius: 10px;
    background: var(--cy-primary-soft);
    color: #0b3a6e;
    font-size: .9375rem;
}
.cy-yorum-daha {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    min-height: 48px;
    margin-top: 1rem;
    border: 1px dashed var(--cy-line-strong);
    border-radius: var(--cy-radius);
    background: #fff;
    color: var(--cy-primary);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.cy-yorum-daha:hover { border-color: var(--cy-primary); background: var(--cy-primary-soft); }
.cy-yorum-daha:disabled { opacity: .6; cursor: default; }
.cy-yorum-yaz {
    margin-top: 1.5rem;
    padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
    border: 1px solid var(--cy-line);
    border-radius: var(--cy-radius-lg);
    background: var(--cy-bg-soft);
}
.cy-yorum-yaz__title { font-size: 1.1875rem; }
.cy-yorum-yaz__not { display: flex; gap: .5rem; margin-top: .375rem; margin-bottom: 1.25rem; color: var(--cy-muted); font-size: .875rem; }
.cy-yorum-yaz__not .cy-icon { flex: none; width: 17px; height: 17px; margin-top: .1875rem; color: var(--cy-primary); }

/* 12) YAZAR / YÖNLENDİRME KUTULARI ------------------------------------------ */
.cy-yazar {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 2rem;
    padding: var(--cy-card-pad);
    border: 1px solid var(--cy-line);
    border-radius: var(--cy-radius-lg);
}
.cy-yazar__foto { flex: none; width: 56px; height: 56px; border: 1px solid var(--cy-line); border-radius: 50%; background: #fff; object-fit: cover; }
.cy-yazar__ust { color: var(--cy-muted); font-family: var(--cy-mono); font-size: .75rem; }
.cy-yazar__ad { color: var(--cy-ink); font-weight: 700; }
.cy-yazar__metin { margin-top: .375rem; color: var(--cy-text); font-size: .9375rem; line-height: 1.6; }
.cy-yazar__linkler { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin-top: .625rem; font-size: .875rem; }

/* Görsel büyütme (lightbox) — yazı içindeki görsele tıklayınca tam ekran.
   Metin içeren şemalar ("Üç yalıtım modeli" gibi) telefonda okunabilsin diye.
   Davranış: site-yazi.js (5). */
.cy-prose img.is-buyutulebilir { cursor: zoom-in; }
.cy-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 12px 12px;
    background: rgba(7, 26, 45, .92);
    cursor: zoom-out;
}
.cy-lightbox[hidden] { display: none; }
.cy-lightbox__kutu { max-width: 100%; max-height: 100%; overflow: auto; overscroll-behavior: contain; }
.cy-lightbox img { display: block; max-width: none; width: auto; height: auto; max-height: none; border-radius: 8px; background: #fff; }
/* Ekrana sığan görseller sığdırılır; telefonda genişse yatay kaydırılarak okunur */
@media (min-width: 768px) {
    .cy-lightbox img { max-width: min(1400px, 100%); max-height: calc(100vh - 80px); }
}
@media (max-width: 767.98px) {
    .cy-lightbox img { width: auto; max-width: 180vw; }
}
.cy-lightbox__kapat {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
}
.cy-lightbox__kapat:hover { background: rgba(255, 255, 255, .22); }
.cy-lightbox__kapat .cy-icon { width: 22px; height: 22px; }
.cy-lightbox__not { position: absolute; top: 20px; left: 16px; color: #a9bacd; font-size: .8125rem; }

.cy-cta-kutu {
    display: grid;
    gap: 1rem 1.5rem;
    align-items: center;
    margin-top: 2.5rem;
    padding: clamp(1.25rem, 1rem + 1.5vw, 2rem);
    border-radius: var(--cy-radius-lg);
    background: var(--cy-navy);
    color: var(--cy-on-navy-muted);
}
.cy-cta-kutu__title { color: #fff; font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); }
.cy-cta-kutu p { margin-top: .375rem; }
@media (min-width: 720px) {
    .cy-cta-kutu { grid-template-columns: minmax(0, 1fr) auto; }
}
