/* ==========================================================================
   KeyDesignArt — Blog listesi
   İki sütun: solda yazı kartları ızgarası, sağda yapışkan kenar çubuğu
   (son yazılar, kategoriler, çağrı). Kart dili sayfanın geri kalanıyla aynı:
   çerçeve, 6px yarıçap, hover'da büyüyen vurgu çubuğu.
   ========================================================================== */

@layer sections {

    /* Sayfanın son bloğu: alt boşluğu kabuk veriyor
       ---------------------------------------------------------------------- */
    .kda-blog {
        padding-block-end: 0;
    }

    .kda-blog__layout {
        display: grid;
        gap: var(--kda-space-7);
    }

    /* Yazı kartları
       ---------------------------------------------------------------------- */
    .kda-blog__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--kda-space-5);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .kda-blog__card {
        position: relative;
        max-width: none;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 1px solid var(--kda-line);
        border-radius: var(--kda-radius-button);
        background: var(--kda-surface);
        transition: border-color var(--kda-dur-base) var(--kda-ease),
                    background-color var(--kda-dur-base) var(--kda-ease),
                    transform var(--kda-dur-base) var(--kda-ease);
    }

    .kda-blog__card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 3;
        width: 2.25rem;
        height: 2px;
        background: var(--kda-accent);
        box-shadow: 0 0 14px var(--kda-accent-glow);
        pointer-events: none;
        transition: width var(--kda-dur-slow) var(--kda-ease);
    }

    .kda-blog__card:hover,
    .kda-blog__card:has(a:focus-visible) {
        border-color: var(--kda-line-strong);
        background: var(--kda-surface-2);
        transform: translateY(-3px);
    }

    .kda-blog__card:hover::before,
    .kda-blog__card:has(a:focus-visible)::before {
        width: 100%;
    }

    /* Görsel
       ---------------------------------------------------------------------- */
    .kda-blog__media {
        position: relative;
        overflow: hidden;
        background: var(--kda-surface-2);
    }

    .kda-blog__shot {
        width: 100%;
        height: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        transition: transform var(--kda-dur-slow) var(--kda-ease);
    }

    .kda-blog__card:hover .kda-blog__shot {
        transform: scale(1.04);
    }

    /* Gövde
       ---------------------------------------------------------------------- */
    .kda-blog__body {
        display: grid;
        align-content: start;
        gap: var(--kda-space-3);
        padding: var(--kda-space-5);
    }

    /* Kategori etiketi kartın kendi bağlantısıdır; genişleyen bağlantının
       üstünde durması için konumlandırılıp yukarı alınıyor.
       ---------------------------------------------------------------------- */
    .kda-blog__cat {
        position: relative;
        z-index: 2;
        justify-self: start;
        color: var(--kda-accent);
        font-size: var(--kda-text-2xs);
        font-weight: var(--kda-weight-bold);
        letter-spacing: var(--kda-tracking-wide);
        text-transform: uppercase;
        text-decoration: none;
    }

    .kda-blog__cat:hover {
        color: var(--kda-accent-bright);
        text-decoration: underline;
    }

    .kda-blog__title {
        margin: 0;
        color: var(--kda-ink);
        font-family: var(--kda-font-display);
        font-size: var(--kda-text-xl);
        font-weight: var(--kda-weight-medium);
        line-height: 1.15;
        letter-spacing: 0.01em;
        text-transform: uppercase;
        text-wrap: pretty;
    }

    .kda-blog__title a {
        color: inherit;
        text-decoration: none;
    }

    /* Genişleyen bağlantı: kartın tamamı tıklanabilir, başlık hiyerarşisi bozulmaz
       ---------------------------------------------------------------------- */
    .kda-blog__title a::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
    }

    .kda-blog__summary {
        max-width: none;
        margin: 0;
        color: var(--kda-ink-muted);
        font-size: var(--kda-text-md);
        line-height: 1.7;
    }

    .kda-blog__meta {
        max-width: none;
        margin: 0;
        color: var(--kda-ink-faint);
        font-size: var(--kda-text-xs);
        letter-spacing: var(--kda-tracking-wide);
    }

    .kda-blog__body .kda-blog__meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--kda-space-2) var(--kda-space-4);
        margin-top: var(--kda-space-2);
        padding-top: var(--kda-space-3);
        border-top: 1px solid var(--kda-line);
    }

    /* Tarih ve okuma süresi — ikisi de ikonlu, ikonlar satır içi SVG maskesi
       ---------------------------------------------------------------------- */
    .kda-blog__meta-item {
        display: inline-flex;
        align-items: center;
        gap: var(--kda-space-2);
    }

    .kda-blog__meta-item::before {
        content: "";
        flex: 0 0 auto;
        width: 0.9rem;
        height: 0.9rem;
        background: currentColor;
    }

    .kda-blog__meta-item--date::before {
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.2' y='4.8' width='17.6' height='16' rx='2.2'/%3E%3Cpath d='M3.2 9.6h17.6M8 3.2v3.2M16 3.2v3.2'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .kda-blog__meta-item--time::before {
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.8'/%3E%3Cpath d='M12 6.8V12l3.4 2'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    /* Kenar çubuğu
       ---------------------------------------------------------------------- */
    .kda-blog__aside {
        display: grid;
        align-content: start;
        gap: var(--kda-space-4);
    }

    .kda-blog__panel {
        position: relative;
        overflow: hidden;
        padding: var(--kda-space-5);
        border: 1px solid var(--kda-line);
        border-radius: var(--kda-radius-button);
        background: var(--kda-surface);
    }

    .kda-blog__panel-title {
        margin: 0 0 var(--kda-space-4);
        padding-bottom: var(--kda-space-3);
        border-bottom: 1px solid var(--kda-line);
        color: var(--kda-ink);
        font-family: var(--kda-font-display);
        font-size: var(--kda-text-lg);
        font-weight: var(--kda-weight-medium);
        letter-spacing: 0.012em;
        text-transform: uppercase;
    }

    /* Son yazılar
       ---------------------------------------------------------------------- */
    .kda-blog__recent {
        display: grid;
        gap: var(--kda-space-4);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .kda-blog__recent-item {
        position: relative;
        max-width: none;
        display: grid;
        grid-template-columns: 3.5rem minmax(0, 1fr);
        align-items: start;
        gap: var(--kda-space-3);
    }

    .kda-blog__recent-shot {
        width: 3.5rem;
        height: 3.5rem;
        border-radius: var(--kda-radius-button);
        object-fit: cover;
        opacity: 0.72;
        transition: opacity var(--kda-dur-base) var(--kda-ease);
    }

    .kda-blog__recent-item:hover .kda-blog__recent-shot {
        opacity: 1;
    }

    .kda-blog__recent-body {
        display: grid;
        gap: var(--kda-space-1);
    }

    .kda-blog__recent-title {
        margin: 0;
        color: var(--kda-ink-soft);
        font-family: var(--kda-font-sans);
        font-size: var(--kda-text-md);
        font-weight: var(--kda-weight-medium);
        line-height: 1.45;
        letter-spacing: var(--kda-tracking-tight);
        text-transform: none;
    }

    .kda-blog__recent-title a {
        color: inherit;
        text-decoration: none;
    }

    .kda-blog__recent-title a::after {
        content: "";
        position: absolute;
        inset: 0;
    }

    .kda-blog__recent-item:hover .kda-blog__recent-title {
        color: var(--kda-ink);
    }

    /* Kategoriler
       ---------------------------------------------------------------------- */
    .kda-blog__cats {
        display: grid;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .kda-blog__cats li {
        max-width: none;
    }

    .kda-blog__cats li + li {
        border-top: 1px solid var(--kda-line);
    }

    .kda-blog__cat-link {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--kda-space-3);
        padding: 0.65rem 0.7rem 0.65rem 0.9rem;
        border-radius: var(--kda-radius-button);
        color: var(--kda-ink-muted);
        font-size: var(--kda-text-md);
        font-weight: var(--kda-weight-medium);
        text-decoration: none;
        transition: color var(--kda-dur-base) var(--kda-ease),
                    background-color var(--kda-dur-base) var(--kda-ease),
                    padding-left var(--kda-dur-base) var(--kda-ease);
    }

    /* Hero dizinindeki jestin aynısı: solda beliren vurgu çubuğu ve içeri kayma
       ---------------------------------------------------------------------- */
    .kda-blog__cat-link::before {
        content: "";
        position: absolute;
        left: 0;
        top: 18%;
        bottom: 18%;
        width: 2px;
        border-radius: 2px;
        background: var(--kda-accent);
        box-shadow: 0 0 12px var(--kda-accent-glow);
        transform: scaleY(0);
        transition: transform var(--kda-dur-base) var(--kda-ease);
    }

    .kda-blog__cat-link:hover,
    .kda-blog__cat-link:focus-visible,
    .kda-blog__cat-link[aria-current="page"] {
        padding-left: 1.3rem;
        background: var(--kda-glass);
        color: var(--kda-ink);
    }

    .kda-blog__cat-link:hover::before,
    .kda-blog__cat-link:focus-visible::before,
    .kda-blog__cat-link[aria-current="page"]::before {
        transform: scaleY(1);
    }

    .kda-blog__cat-count {
        flex: 0 0 auto;
        min-width: 1.75rem;
        padding: 0.15rem 0.45rem;
        border: 1px solid var(--kda-line);
        border-radius: var(--kda-radius-button);
        background: var(--kda-bg);
        color: var(--kda-ink-faint);
        font-family: var(--kda-font-mono);
        font-size: var(--kda-text-2xs);
        text-align: center;
        font-variant-numeric: tabular-nums;
        transition: border-color var(--kda-dur-base) var(--kda-ease),
                    color var(--kda-dur-base) var(--kda-ease);
    }

    .kda-blog__cat-link:hover .kda-blog__cat-count,
    .kda-blog__cat-link[aria-current="page"] .kda-blog__cat-count {
        border-color: color-mix(in srgb, var(--kda-accent) 45%, transparent);
        color: var(--kda-accent);
    }

    /* Kenar çubuğu çağrısı
       ---------------------------------------------------------------------- */
    .kda-blog__panel--cta {
        isolation: isolate;
        display: grid;
        justify-items: start;
        gap: var(--kda-space-3);
    }

    .kda-blog__panel--cta::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
        width: 100%;
        height: 2px;
        background: var(--kda-accent);
        box-shadow: 0 0 18px var(--kda-accent-glow);
        pointer-events: none;
    }

    .kda-blog__cta-beam {
        position: absolute;
        z-index: 0;
        inset: 0;
        background: radial-gradient(58% 72% at 100% 0%, var(--kda-accent-ghost) 0%, transparent 64%);
        pointer-events: none;
    }

    /* Çağrı başlığı kendi ölçüsünü taşımaz, kenar çubuğundaki diğer panel
       başlıklarıyla aynı sınıfı kullanır: ayrı bir `--cta-title` kuralı
       "Kategoriler"den bir kademe büyük ve ayırıcısız duruyordu. Burada yalnız
       ışıma katmanının üstüne çıkması ve ayırıcının tam genişlemesi gerekiyor
       (panel `justify-items: start` bir ızgara). Hizmet, portfolyo ve ürün
       kenar çubukları da bunu böyle yapıyor. */
    .kda-blog__panel--cta .kda-blog__panel-title {
        position: relative;
        z-index: 1;
        width: 100%;
    }

    .kda-blog__cta-text {
        position: relative;
        z-index: 1;
        max-width: none;
        margin: 0;
        color: var(--kda-ink-muted);
        font-size: var(--kda-text-md);
        line-height: 1.65;
    }

    .kda-blog__panel--cta .kda-btn {
        position: relative;
        z-index: 1;
        margin-top: var(--kda-space-2);
    }

    .kda-blog__feed {
        justify-self: start;
    }

    /* ======================================================================
       YAZI SAYFASI
       ====================================================================== */
    .kda-post {
        display: grid;
        gap: var(--kda-space-6);
    }

    .kda-post__cover {
        margin: 0;
        overflow: hidden;
        border: 1px solid var(--kda-line);
        border-radius: var(--kda-radius-button);
        background: var(--kda-surface);
    }

    .kda-post__cover img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    /* ⚠️ Ölçü sınırı YOK: giriş metni de satırı tam kullanır. Gövde zaten
       tam satırdı, giriş 68ch'te kalıyordu ve ikisi farklı genişlikte
       bitiyordu — kullanıcı bunu yakaladı. */
    .kda-post__lead {
        max-width: none;
        margin: 0;
        color: var(--kda-ink-soft);
        font-size: var(--kda-text-lg);
        font-weight: var(--kda-weight-light);
        line-height: 1.7;
    }

    .kda-post__body {
        max-width: none;
    }

    /* Paylaş — kapanış çağrısıyla aynı dil: hep açık vurgu çubuğu, köşe hüzmesi
       ---------------------------------------------------------------------- */
    .kda-post__share {
        position: relative;
        isolation: isolate;
        display: grid;
        gap: var(--kda-space-4);
        overflow: hidden;
        padding: var(--kda-space-6);
        border: 1px solid var(--kda-line);
        border-radius: var(--kda-radius-button);
        background: var(--kda-surface);
    }

    .kda-post__share::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
        width: 100%;
        height: 2px;
        background: var(--kda-accent);
        box-shadow: 0 0 18px var(--kda-accent-glow);
        pointer-events: none;
    }

    .kda-post__share-beam {
        position: absolute;
        z-index: 0;
        inset: 0;
        background: radial-gradient(46% 88% at 100% 0%, var(--kda-accent-ghost) 0%, transparent 64%);
        pointer-events: none;
    }

    .kda-post__share-body {
        position: relative;
        z-index: 1;
        display: grid;
        gap: var(--kda-space-2);
    }

    .kda-post__share-title {
        margin: 0;
        color: var(--kda-ink);
        font-family: var(--kda-font-display);
        font-size: var(--kda-text-xl);
        font-weight: var(--kda-weight-medium);
        line-height: 1.15;
        letter-spacing: 0.01em;
        text-transform: uppercase;
    }

    .kda-post__share-text {
        max-width: none;
        margin: 0;
        color: var(--kda-ink-muted);
        font-size: var(--kda-text-md);
    }

    .kda-post__share-links {
        position: relative;
        z-index: 1;
        justify-self: start;
    }

    .kda-post__related {
        margin-top: var(--kda-space-4);
    }

    /* Duyarlı yerleşim
       ---------------------------------------------------------------------- */
    @media (min-width: 48rem) {
        .kda-post__share {
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: var(--kda-space-6);
        }

        .kda-post__share-links {
            justify-self: end;
        }
    }

    @media (min-width: 48rem) {
        .kda-blog__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 64rem) {
        .kda-blog__layout {
            grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
            gap: var(--kda-space-8);
            align-items: start;
        }

        .kda-blog__aside {
            position: sticky;
            top: calc(var(--kda-header-height) + var(--kda-space-5));
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .kda-blog__card:hover {
            transform: none;
        }

        .kda-blog__card:hover .kda-blog__shot {
            transform: none;
        }
    }

}
