/* ============================================================
   YBS BLOG DETAY — kategori hub grid yapısını miras alır.
   Sadece blog detayına özgü bileşenler: hero image, FAQ accordion,
   yazar kartı, TOC sticky açılır-kapanır. Renkler --ybs-cat-* tokens.
   ============================================================ */

/* ============================================================
   İÇERİK IMPORT — SARMALAMA SINIFLARI ENVANTERİ (DİĞER YZ'LER İÇİN)
   ============================================================
   ASIL TANIM: public/assets/css/ybs-article-blocks.css
   Blog/Hizmet/Hub içeriklerinde aşağıdaki HTML wrap'leri ZORUNLU kullanılır.
   Wrap'siz ham metin = stilsiz render = patron şikâyeti.

   Tüm content_html aşağıdaki üst wrapper içinde basılır:
   <div class="lawyer-narrative">
     ...içerik blokları...
   </div>

   ZORUNLU SARMALAMA KURALLARI:

   1. AVUKAT YORUMU / ANALIZ — .analiz
      Avukatın kendi yorumu, analizi, değerlendirmesi.
      <div class="analiz">
        ... metin ... <span class="law-article">TCK m.81</span> ... metin ...
        Kaynak: <a>...</a>
      </div>
      NOT: JS otomatik "Av. Y. Buğrahan SEVDİ Analizi" pill ekler.
      NOT: Manuel "Av. ... Yorumu:" strong yazmayın — JS pill çift gösterir, silinir.

   2. YARGITAY KARAR KÜNYESİ — .decision-text
      Karar metni + künye + paylaş çubuğu.
      <div class="decision-text">
        <strong>YARGITAY 12. HUKUK DAİRESİ - Yerleşik İçtihat</strong>
        Karar metni paragraf...
      </div>
      NOT: JS otomatik paylaş çubuğu (WA/FB/X/IG/Mail/Kopyala) enjekte eder.

   3. ÖRNEK DİLEKÇE — .ybs-dilekce
      Resmi dilekçe formatı (Courier New monospace).
      <div class="ybs-dilekce">
        <strong>ADANA ... MAHKEMESİNE</strong>
        <strong>GÖNDERİLMEK ÜZERE</strong>
        <strong>ADANA ... MAHKEMESİNE</strong>

        <strong>DAVACI:</strong> ...
        <strong>DAVALI:</strong> ...
        ... dilekçe metni ...
        <strong>Av. Yakup Buğrahan SEVDİ</strong>
      </div>
      NOT: pre-wrap aktif — kaynak newline'ları korunur.
      NOT: JS otomatik paylaş çubuğu enjekte eder.

   4. MEVZUAT — .law-article (İKİ FORM)
      a) BLOK kart (madde tam metin):
         <div class="law-article">
           <span class="law-title">İcra ve İflas Kanunu — Madde 82/12</span>
           <em>Borçlunun haline münasip evi haczedilemez...</em>
         </div>
         → MEVZUAT şeritli kart render olur.
      b) INLINE chip (kısa atıf, metin içi):
         ... uyarınca <span class="law-article">TCK m. 81</span> hükmüne göre ...
         → Küçük lavanta chip render olur.

   5. KRİTİK UYARI — .warning
      Yasal uyarı, dikkat notu, önemli ihtar.
      <div class="warning">
        <strong>Yasal Uyarı:</strong> ... uyarı metni ...
      </div>

   6. EMSAL KARAR İNCELEMESİ — .case-study
      Karar analizi, vaka çalışması.
      <div class="case-study">
        <h4>Olay Özeti</h4>
        ... vaka detayı ...
      </div>

   7. BİLGİ KUTUSU — .info-box
      Tanım, açıklama, ekstra bilgi.
      <div class="info-box">
        <strong>Bilgi:</strong> ... açıklama ...
      </div>

   8. REHBER ÖZETİ — .rehber-ozet
      "Yazımızda neler var?" başında özet liste.
      <div class="rehber-ozet">
        <strong>Yazımızda neler var?</strong>
        <ul><li>...</li><li>...</li></ul>
      </div>

   9. ÖZEL TABLO — .tablo
      Karşılaştırma, özet tablosu.
      <table class="tablo">
        <thead><tr><th>...</th><th>...</th></tr></thead>
        <tbody><tr><td>...</td><td>...</td></tr></tbody>
      </table>
      NOT: JS otomatik .ybs-table-wrap (yatay scroll) ekler.

  10. DOĞRUDAN CEVAP — .direct-answer
      Sayfa hero altında snippet için 1-2 cümle cevap (GEO/AI Overviews).
      <div class="direct-answer">
        <p><strong>Doğrudan Cevap:</strong> ... 1-2 cümle ...</p>
      </div>
      NOT: Bu blok DB'de posts.direct_answer alanında ayrı tutulur,
      show.php otomatik render eder; content_html içinde TEKRAR yazmayın.

   IMPORT KONTROL LİSTESİ (her post için):
   [ ] content_html .lawyer-narrative wrapper'ı altında
   [ ] Avukat yorumları .analiz blokuna sarıldı
   [ ] Yargıtay kararları .decision-text blokuna sarıldı
   [ ] Dilekçeler .ybs-dilekce blokuna sarıldı
   [ ] Madde atıfları .law-article (blok veya inline) ile işaretlendi
   [ ] Uyarılar .warning blokuna sarıldı
   [ ] Karar incelemesi .case-study blokuna sarıldı
   [ ] Tablolar class="tablo" aldı
   [ ] direct_answer alanı ayrıca dolduruldu
   [ ] faq_json post.faq_json alanına yazıldı (SSS accordion için)

   Detay: ybs-article-blocks.css (~1180 satır, tüm stiller)
   ============================================================ */

/* ============================================================
   BLOG DETAY — kompakt grid override (kategori grid'i daha sıkı)
   Patron 2026-05-22: margin'leri TEMELDEN azalt.
   ============================================================ */
.ybs-blog-detail.ybs-category-hub { padding: .75rem 1rem 2rem; }
.ybs-blog-detail .ybs-category-hub__grid { gap: 1.25rem; }
@media (min-width: 1024px) {
    .ybs-blog-detail.ybs-category-hub { padding: 1rem 1.25rem 3rem; }
    .ybs-blog-detail .ybs-category-hub__grid { gap: 1.5rem; }
}
.ybs-blog-detail .ybs-cat-sidebar__inner { gap: .75rem; }

/* HERO image — kompakt */
.ybs-blog-hero {
    margin: 0 0 .625rem;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px -8px rgba(15, 42, 79, .18);
    border: 1px solid var(--ybs-cat-border);
    background: var(--ybs-cat-bg-soft);
    position: relative;
    aspect-ratio: 16 / 9;
}
.ybs-blog-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 50%;
    display: block;
}
.ybs-blog-hero__caption {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: .625rem 1.125rem;
    background: linear-gradient(0deg, rgba(15, 42, 79, .82), rgba(15, 42, 79, 0));
    color: #fff;
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.4;
}

/* HEADING ANCHOR LINK — GSC fragment URL parite (2026-05-23).
 * H2/H3 yanında # buton, hover'da görünür, tıklayınca URL'i kopyalar.
 * scroll-margin-top: sticky header altına gizlenmeyi engeller. */
.lawyer-narrative h2[id],
.lawyer-narrative h3[id],
.ybs-blog-detail__content h2[id],
.ybs-blog-detail__content h3[id],
.ybs-calc-detail__body h2[id],
.ybs-calc-detail__body h3[id] {
    scroll-margin-top: 88px;
    position: relative;
}
.ybs-anchor-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: .35em;
    color: #C8A951;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .15s, background .15s, color .15s;
    text-decoration: none !important;
    vertical-align: middle;
    cursor: pointer;
}
h2:hover > .ybs-anchor-link,
h3:hover > .ybs-anchor-link,
.ybs-anchor-link:focus-visible {
    opacity: 1;
}
.ybs-anchor-link:hover {
    background: rgba(200, 169, 81, .12);
    color: #1B2A4A;
}
.ybs-anchor-link.copied {
    color: #2E7D32;
    background: rgba(46, 125, 50, .12);
}
.ybs-anchor-link svg {
    width: 14px;
    height: 14px;
}
@media (max-width: 767px) {
    .ybs-anchor-link { opacity: .55; }
}

/* HESAPLAMA SAYFASI — featured image özel çerçeve (engine altı, metin üstü).
 * Patron talimat 2026-05-23: "güzel bir css ve çerçeve" — altın aksanlı dış border + caption */
.ybs-calc-detail__hero {
    margin: 1.75rem 0 1.5rem;
    border: 2px solid #C8A951;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 30px -10px rgba(27, 42, 74, .22),
                0 4px 12px -6px rgba(200, 169, 81, .35);
    position: relative;
    aspect-ratio: 16 / 9;
    background: linear-gradient(180deg, #FAFAFA 0%, #F5F5F5 100%);
}
.ybs-calc-detail__hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.ybs-calc-detail__hero-caption {
    padding: .75rem 1.25rem;
    background: linear-gradient(135deg, #1B2A4A 0%, #0F1D35 100%);
    color: #FFF;
    font-size: .85rem;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    border-top: 1px solid rgba(200, 169, 81, .35);
}
@media (max-width: 767px) {
    .ybs-calc-detail__hero { margin: 1.25rem 0; border-radius: 10px; }
    .ybs-calc-detail__hero-caption { font-size: .8rem; padding: .625rem 1rem; }
}

/* H2 başlığı (H1'den üretim) — KOMPAKT */
.ybs-blog-detail__heading {
    font-size: clamp(1.125rem, .9rem + 1vw, 1.375rem);
    font-weight: 700;
    color: var(--ybs-cat-ink);
    margin: 0 0 .5rem;
    padding: 0 0 .375rem;
    border-bottom: 2px solid var(--ybs-cat-gold);
    line-height: 1.3;
}

.ybs-blog-detail__direct-answer {
    background: linear-gradient(135deg, var(--ybs-cat-gold-soft), rgba(15, 42, 79, .04));
    border-left: 4px solid var(--ybs-cat-gold);
    border-radius: 10px;
    padding: .75rem 1rem;
    margin: 0 0 .75rem;
    color: var(--ybs-cat-ink-2);
    font-size: .9375rem;
    line-height: 1.6;
}
.ybs-blog-detail__direct-answer strong { color: var(--ybs-cat-primary); margin-right: .375rem; }

.ybs-blog-detail__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .375rem;
    font-size: .75rem;
    color: var(--ybs-cat-muted);
    margin: 0 0 .625rem;
    padding: 0 0 .5rem;
    border-bottom: 1px dashed var(--ybs-cat-border);
}

.ybs-blog-detail__content {
    font-size: .9375rem;
    line-height: 1.65;
    color: var(--ybs-cat-ink-2);
}
.ybs-blog-detail__content > * { margin-top: .625rem; }
.ybs-blog-detail__content > *:first-child { margin-top: 0; }
.ybs-blog-detail__content h2 { margin-top: 1.25rem; }
.ybs-blog-detail__content h3 { margin-top: 1rem; }
.ybs-blog-detail__meta time,
.ybs-blog-detail__meta > span,
.ybs-blog-detail__meta a {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}
.ybs-blog-detail__meta a {
    color: var(--ybs-cat-primary);
    text-decoration: none;
    font-weight: 600;
}
.ybs-blog-detail__meta a:hover { text-decoration: underline; }
.ybs-blog-detail__meta-sep { color: var(--ybs-cat-border); }

/* YASAL UYARI — premium gold accent + lacivert vurgu */
.ybs-blog-detail__disclaimer {
    position: relative;
    margin-top: 1.75rem;
    padding: 1rem 1.125rem 1rem 3.25rem;
    background:
        radial-gradient(420px 200px at 100% 0%, rgba(201, 162, 39, .14), transparent 60%),
        linear-gradient(135deg, #fffdf5, #fff8e1);
    border: 1px solid rgba(201, 162, 39, .35);
    border-left: 4px solid var(--ybs-cat-gold);
    border-radius: 12px;
    color: #6c4f00;
    font-size: .875rem;
    line-height: 1.65;
    box-shadow: 0 4px 14px -6px rgba(201, 162, 39, .25);
}
.ybs-blog-detail__disclaimer::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: 1.625rem;
    height: 1.625rem;
    border-radius: 50%;
    background:
        linear-gradient(135deg, var(--ybs-cat-primary), var(--ybs-cat-primary-2));
    background-image:
        url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a227' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3C/svg%3E"),
        linear-gradient(135deg, var(--ybs-cat-primary), var(--ybs-cat-primary-2));
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 2px 6px rgba(15, 42, 79, .25);
}
.ybs-blog-detail__disclaimer strong { color: var(--ybs-cat-primary); font-weight: 700; }

/* ============================================================
   FAQ Accordion — H2 hub başlığı, H3 soru başlığı
   ============================================================ */
.ybs-blog-detail__faq {
    margin: 2.5rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid var(--ybs-cat-border);
}
.ybs-blog-detail__faq-title {
    font-size: clamp(1.25rem, .95rem + 1.4vw, 1.625rem);
    font-weight: 700;
    color: var(--ybs-cat-primary);
    margin: 0 0 1.25rem;
    padding: 0 0 .625rem;
    border-bottom: 2px solid var(--ybs-cat-gold);
    line-height: 1.3;
}
.ybs-blog-detail__faq-list {
    display: flex;
    flex-direction: column;
    gap: .625rem;
}
.ybs-blog-faq {
    background: var(--ybs-cat-bg);
    border: 1px solid var(--ybs-cat-border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.ybs-blog-faq[open] {
    border-color: rgba(201, 162, 39, .55);
    box-shadow: 0 4px 16px -6px rgba(201, 162, 39, .25);
}
.ybs-blog-faq__summary {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .875rem 1rem;
    cursor: pointer;
    list-style: none;
}
.ybs-blog-faq__summary::-webkit-details-marker { display: none; }
.ybs-blog-faq__question {
    flex: 1;
    margin: 0;
    font-size: .9375rem;
    font-weight: 600;
    color: var(--ybs-cat-ink);
    line-height: 1.4;
}
.ybs-blog-faq__chevron {
    flex-shrink: 0;
    color: var(--ybs-cat-gold);
    transition: transform .25s ease;
}
.ybs-blog-faq[open] .ybs-blog-faq__chevron { transform: rotate(180deg); }
.ybs-blog-faq__answer {
    padding: 0 1rem 1rem;
    color: var(--ybs-cat-ink-2);
    font-size: .9375rem;
    line-height: 1.7;
}
.ybs-blog-faq__answer > *:first-child { margin-top: 0; }
.ybs-blog-faq__answer > *:last-child { margin-bottom: 0; }

/* ============================================================
   SIDEBAR — Yazar kartı (en üst)
   ============================================================ */
.ybs-cat-sidebar__module--author { padding: 1.125rem; }
.ybs-blog-author {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "avatar head"
        "bio bio"
        "cta cta";
    gap: .75rem .875rem;
    align-items: center;
}
.ybs-blog-author__avatar { grid-area: avatar; }
.ybs-blog-author__avatar img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 18%;
    border: 2px solid var(--ybs-cat-gold);
    display: block;
}
.ybs-blog-author__head {
    grid-area: head;
    display: flex;
    flex-direction: column;
    gap: .125rem;
    min-width: 0;
}
.ybs-blog-author__eyebrow {
    font-size: .6875rem;
    font-weight: 700;
    color: var(--ybs-cat-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.ybs-blog-author__name {
    font-size: .9375rem;
    font-weight: 700;
    color: var(--ybs-cat-primary);
    text-decoration: none;
    line-height: 1.3;
}
.ybs-blog-author__name:hover { color: var(--ybs-cat-gold-dark); }
.ybs-blog-author__baro {
    font-size: .75rem;
    color: var(--ybs-cat-muted);
    font-weight: 500;
}
.ybs-blog-author__bio {
    grid-area: bio;
    font-size: .8125rem;
    line-height: 1.55;
    color: var(--ybs-cat-ink-2);
    margin: 0;
    padding-top: .5rem;
    border-top: 1px dashed var(--ybs-cat-border);
}
.ybs-blog-author__cta {
    grid-area: cta;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .375rem;
    padding: .5rem .75rem;
    background: var(--ybs-cat-primary);
    color: #fff;
    border-radius: 8px;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s ease;
}
.ybs-blog-author__cta:hover {
    background: var(--ybs-cat-gold);
    color: var(--ybs-cat-primary);
}

/* ============================================================
   SIDEBAR — İçindekiler sticky açılır-kapanır
   ============================================================ */
.ybs-cat-sidebar__module--toc {
    padding: 0;
    overflow: hidden;
}
.ybs-blog-toc__summary {
    list-style: none;
    cursor: pointer;
    padding: .875rem 1rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    background: linear-gradient(135deg, var(--ybs-cat-bg-warm), var(--ybs-cat-bg));
    border-bottom: 1px solid var(--ybs-cat-border);
    color: var(--ybs-cat-primary);
    font-weight: 700;
    transition: background-color .2s ease;
}
.ybs-blog-toc__summary::-webkit-details-marker { display: none; }
.ybs-blog-toc__summary:hover { background: var(--ybs-cat-bg-soft); }
.ybs-blog-toc__icon { color: var(--ybs-cat-gold); flex-shrink: 0; display: inline-flex; }
.ybs-blog-toc__label { flex: 1; font-size: .875rem; }
.ybs-blog-toc__count {
    font-size: .75rem;
    color: var(--ybs-cat-muted);
    font-weight: 600;
}
.ybs-blog-toc__chevron {
    flex-shrink: 0;
    color: var(--ybs-cat-primary);
    transition: transform .25s ease;
}
.ybs-blog-toc[open] .ybs-blog-toc__chevron { transform: rotate(180deg); }
.ybs-blog-toc__body {
    padding: .75rem 1rem 1rem;
    max-height: 460px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--ybs-cat-gold) transparent;
}
.ybs-blog-toc__body::-webkit-scrollbar { width: 6px; }
.ybs-blog-toc__body::-webkit-scrollbar-thumb { background: var(--ybs-cat-gold); border-radius: 3px; }
.ybs-blog-toc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .125rem;
}
.ybs-blog-toc__item--h3 { padding-left: 1rem; }
.ybs-blog-toc__item--faq { padding-left: 0; }
.ybs-blog-toc__link {
    display: flex;
    gap: .375rem;
    padding: .375rem .5rem;
    border-radius: 6px;
    text-decoration: none;
    color: var(--ybs-cat-ink-2);
    font-size: .8125rem;
    line-height: 1.4;
    transition: background-color .15s ease, color .15s ease;
}
.ybs-blog-toc__link:hover,
.ybs-blog-toc__link.is-active {
    background: var(--ybs-cat-gold-soft);
    color: var(--ybs-cat-primary);
}
.ybs-blog-toc__num {
    flex-shrink: 0;
    font-weight: 700;
    color: var(--ybs-cat-gold-dark);
    min-width: 1.75rem;
}
.ybs-blog-toc__text { flex: 1; min-width: 0; }
.ybs-blog-toc__faq {
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px dashed var(--ybs-cat-border);
}
.ybs-blog-toc__faq-title {
    font-size: .75rem;
    font-weight: 700;
    color: var(--ybs-cat-muted);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 0 0 .375rem;
}

/* ============================================================
   ALT RAİL SLIDER — Kategoride son yazılar / Dilekçe / Karar
   Anasayfa pattern: horizontal scroll-snap, sticky nav butonları.
   ============================================================ */
.ybs-blog-slider {
    margin-top: 1rem;
    padding: 1rem 0 .5rem;
    border-top: 1px solid var(--ybs-cat-border);
}
.ybs-blog-slider + .ybs-blog-slider {
    margin-top: .5rem;
    border-top: 1px dashed var(--ybs-cat-border);
}
.ybs-blog-slider__inner {
    /* Main column içinde — full-width değil, parent genişlik */
    padding: 0;
}
.ybs-blog-slider__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.ybs-blog-slider__title {
    font-size: clamp(1.0625rem, .85rem + .9vw, 1.375rem);
    font-weight: 700;
    color: var(--ybs-cat-primary);
    margin: 0;
    line-height: 1.3;
    padding: 0 0 .375rem;
    border-bottom: 2px solid var(--ybs-cat-gold);
    flex: 1;
}
.ybs-blog-slider__nav {
    display: flex;
    gap: .375rem;
    flex-shrink: 0;
}
.ybs-blog-slider__nav-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--ybs-cat-primary);
    border: 1.5px solid var(--ybs-cat-border);
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.ybs-blog-slider__nav-btn:hover {
    background: var(--ybs-cat-gold);
    color: var(--ybs-cat-primary);
    border-color: var(--ybs-cat-gold);
}
.ybs-blog-slider__nav-btn:disabled { opacity: .35; cursor: not-allowed; }

.ybs-blog-slider__track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: .25rem .25rem 1.25rem;
    margin: 0 -.25rem;
    scrollbar-width: thin;
    scrollbar-color: var(--ybs-cat-gold) transparent;
}
.ybs-blog-slider__track::-webkit-scrollbar { height: 6px; }
.ybs-blog-slider__track::-webkit-scrollbar-thumb { background: var(--ybs-cat-gold); border-radius: 3px; }

.ybs-blog-slider__track > .ybs-content-card {
    flex: 0 0 320px;
    scroll-snap-align: start;
}
@media (max-width: 640px) {
    .ybs-blog-slider__track > .ybs-content-card { flex: 0 0 84vw; }
}

/* Petition + Decision için özel kart */
.ybs-blog-slider__card {
    flex: 0 0 320px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    background: #fff;
    border: 1px solid var(--ybs-cat-border);
    border-radius: 14px;
    padding: 1rem;
    box-shadow: var(--ybs-cat-shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ybs-blog-slider__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ybs-cat-shadow-md);
    border-color: rgba(201, 162, 39, .55);
}
/* Source-aware accent colors — dinamik kart varyantları */
.ybs-blog-slider__card--petition   { border-left: 4px solid #16a34a; }
.ybs-blog-slider__card--decision   { border-left: 4px solid #b45309; }
.ybs-blog-slider__card--sss        { border-left: 4px solid #7c3aed; }
.ybs-blog-slider__card--calculator { border-left: 4px solid #0ea5e9; }
.ybs-blog-slider__card--blog       { border-left: 4px solid var(--ybs-cat-primary); }
.ybs-blog-slider__card--service    { border-left: 4px solid var(--ybs-cat-gold); }

.ybs-blog-slider__card-eyebrow {
    font-size: .6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ybs-cat-muted);
}
.ybs-blog-slider__card--petition   .ybs-blog-slider__card-eyebrow { color: #16a34a; }
.ybs-blog-slider__card--decision   .ybs-blog-slider__card-eyebrow { color: #b45309; }
.ybs-blog-slider__card--sss        .ybs-blog-slider__card-eyebrow { color: #7c3aed; }
.ybs-blog-slider__card--calculator .ybs-blog-slider__card-eyebrow { color: #0ea5e9; }
.ybs-blog-slider__card--blog       .ybs-blog-slider__card-eyebrow { color: var(--ybs-cat-primary); }
.ybs-blog-slider__card--service    .ybs-blog-slider__card-eyebrow { color: var(--ybs-cat-gold-dark); }
.ybs-blog-slider__card-title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
}
.ybs-blog-slider__card-title a {
    color: var(--ybs-cat-ink);
    text-decoration: none;
}
.ybs-blog-slider__card-title a:hover { color: var(--ybs-cat-primary); }
.ybs-blog-slider__card-meta {
    font-size: .75rem;
    color: var(--ybs-cat-muted);
    margin: 0;
    line-height: 1.4;
}
.ybs-blog-slider__card-excerpt {
    font-size: .8125rem;
    color: var(--ybs-cat-ink-2);
    line-height: 1.55;
    margin: 0;
    flex: 1;
}
.ybs-blog-slider__card-cta {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    align-self: flex-start;
    padding: .375rem .75rem;
    background: var(--ybs-cat-primary);
    color: #fff;
    border-radius: 8px;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s ease;
}
.ybs-blog-slider__card-cta:hover {
    background: var(--ybs-cat-gold);
    color: var(--ybs-cat-primary);
}

/* ============================================================
   MOBİL İÇİNDEKİLER (PC'de gizli) — featured altında, tek-satır sticky
   ============================================================ */
.ybs-blog-toc-mobile-wrap { display: none; }
@media (max-width: 1023px) {
    .ybs-blog-toc-mobile-wrap {
        display: block;
        position: sticky;
        top: 84px;
        z-index: 40;
        margin: 0 0 1rem;
    }
    .ybs-blog-toc-mobile-wrap .ybs-cat-sidebar__module--toc {
        background: #fff;
        border: 1px solid var(--ybs-cat-border);
        border-radius: 10px;
        box-shadow: 0 6px 20px -6px rgba(15, 42, 79, .18);
    }
    .ybs-blog-toc-mobile-wrap .ybs-blog-toc {
        background: #fff;
    }
    .ybs-blog-toc-mobile-wrap .ybs-blog-toc__summary {
        padding: .625rem .875rem;
        font-size: .8125rem;
    }
    /* Mobilde varsayılan KAPALI */
    .ybs-blog-toc-mobile-wrap .ybs-blog-toc:not([open]) ~ * { display: none; }
    .ybs-blog-toc-mobile-wrap .ybs-blog-toc__body {
        max-height: 60vh;
    }
    /* PC sidebar TOC mobilde GİZLİ — duplicate */
    .ybs-category-hub__sidebar .ybs-cat-sidebar__module--toc {
        display: none;
    }
}
@media (max-width: 1023px) {
    /* Mobilde başlangıçta KAPALI olsun */
    .ybs-blog-toc-mobile-wrap .ybs-blog-toc[open] .ybs-blog-toc__body { display: block; }
}

/* ============================================================
   PC SİDEBAR — İÇİNDEKİLER kendi içinde sticky (sayfa boyunca takip)
   ============================================================ */
@media (min-width: 1024px) {
    .ybs-category-hub__sidebar .ybs-cat-sidebar__module--toc {
        position: sticky;
        top: 96px;
        z-index: 5;
    }
}

/* Responsive */
@media (max-width: 1023px) {
    .ybs-blog-hero { aspect-ratio: 16 / 9; }
}
@media (max-width: 640px) {
    .ybs-blog-hero { border-radius: 12px; }
    .ybs-blog-detail__heading { font-size: 1.25rem; }
    .ybs-blog-detail__faq-title { font-size: 1.125rem; }
    .ybs-blog-faq__summary { padding: .75rem .875rem; }
    .ybs-blog-faq__question { font-size: .875rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ybs-blog-faq,
    .ybs-blog-faq__chevron,
    .ybs-blog-toc__chevron,
    .ybs-blog-author__cta {
        transition: none !important;
    }
}

/* ============================================================
   ANCHOR SCROLL OFFSET (sticky header + TOC offset)
   TOC tıklamasında heading'in sticky header arkasına gizlenmesini önler.
   2026-05-23: GSC fragment URL parite — heading_toc_id() ile üretilen
   #TitleCase_Underscore anchor'lar buradan scroll-margin alır.
   ============================================================ */
.ybs-blog-detail h2[id],
.ybs-blog-detail h3[id],
.ybs-blog-detail h4[id],
.ybs-category-hub__main h2[id],
.ybs-category-hub__main h3[id],
.lawyer-narrative h2[id],
.lawyer-narrative h3[id],
.lawyer-narrative h4[id],
.ybs-blog-detail [id^="faq-"],
.ybs-blog-detail .ybs-blog-faq__question[id],
.ybs-blog-detail .ybs-blog-faq[id] {
    scroll-margin-top: 6rem;
}
@media (max-width: 1023px) {
    .ybs-blog-detail h2[id],
    .ybs-blog-detail h3[id],
    .ybs-blog-detail h4[id],
    .ybs-category-hub__main h2[id],
    .ybs-category-hub__main h3[id],
    .lawyer-narrative h2[id],
    .lawyer-narrative h3[id],
    .lawyer-narrative h4[id],
    .ybs-blog-detail [id^="faq-"] {
        /* mobilde TOC bar 84px + header daha kompakt — toplam ~5rem yeter */
        scroll-margin-top: 5.5rem;
    }
}

/* ============================================================
   TOC TIKLAMA FOSFORLU VURGU (ybs-toc.js tarafından eklenir)
   Tıklanan hedef başlık 3 sn sarı highlight ile parlar, sonra solar.
   ============================================================ */
@keyframes ybs-toc-flash-fade {
    0%   { background-color: rgba(255, 215, 0, .55); box-shadow: 0 0 0 6px rgba(255, 215, 0, .35); }
    50%  { background-color: rgba(255, 215, 0, .35); box-shadow: 0 0 0 4px rgba(255, 215, 0, .2); }
    100% { background-color: transparent; box-shadow: none; }
}
.ybs-toc-flash {
    animation: ybs-toc-flash-fade 3s ease-out forwards;
    border-radius: 6px;
    transition: background-color .3s ease, box-shadow .3s ease;
    scroll-margin-top: 6rem;
}
/* details (FAQ accordion) hedef ise summary'yi de göster */
details.ybs-toc-flash > summary.ybs-toc-flash {
    animation: ybs-toc-flash-fade 3s ease-out forwards;
}
@media (prefers-reduced-motion: reduce) {
    .ybs-toc-flash {
        animation: none;
        background-color: rgba(255, 215, 0, .25);
    }
}

/* ============================================================
   YBS-TOC v2 - AKORDIYON + PERMANENT FLASH + COMPACT BAR
   2026-05-23 - Site geneli icindekiler tek temel
   ============================================================ */

/* ---- 1) AKTIF LINK GORSEL: sari highlight + sol altin cubuk ---- */
.ybs-blog-toc__link {
    position: relative;
    padding-left: .875rem !important;
}
.ybs-blog-toc__link.is-active {
    background: linear-gradient(90deg, rgba(255,215,0,.18), rgba(255,215,0,.06));
    color: var(--ybs-cat-primary);
    font-weight: 600;
    box-shadow: inset 3px 0 0 0 var(--ybs-cat-gold-dark);
}
.ybs-blog-toc__item--h2 > .ybs-blog-toc__link.is-active {
    box-shadow: inset 4px 0 0 0 var(--ybs-cat-gold-dark);
    background: linear-gradient(90deg, rgba(255,215,0,.25), rgba(255,215,0,.08));
}

/* ---- 2) AKORDIYON - H2 grup basi + chevron + H3 collapse ---- */
.ybs-blog-toc__item--h2 { margin-top: .25rem; }
.ybs-blog-toc__item--h2 > .ybs-blog-toc__link {
    display: flex;
    align-items: center;
    padding-right: 2.25rem;
}
.ybs-blog-toc__group-chevron {
    position: absolute;
    right: .375rem;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ybs-cat-muted);
    transition: transform .2s ease, color .2s ease, background-color .2s ease;
    cursor: pointer;
    border-radius: 4px;
}
.ybs-blog-toc__group-chevron:hover {
    background: rgba(15, 42, 79, .08);
    color: var(--ybs-cat-primary);
}
.ybs-blog-toc__item--h2.is-group-open > .ybs-blog-toc__link > .ybs-blog-toc__group-chevron {
    transform: translateY(-50%) rotate(180deg);
    color: var(--ybs-cat-gold-dark);
}

/* H3 collapse - varsayilan gorunur; .is-collapsed gizli */
.ybs-blog-toc__item--h3 {
    overflow: hidden;
    max-height: 60px;
    opacity: 1;
    transition: max-height .25s ease, opacity .2s ease, margin .25s ease, padding .25s ease;
}
.ybs-blog-toc__item--h3.is-collapsed {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    pointer-events: none;
}

/* ---- 3) PERMANENT FLASH - KALICI sari vurgu (tiklanan baslik) ---- */
.ybs-toc-target-active {
    background: linear-gradient(90deg, rgba(255, 215, 0, .35), rgba(255, 215, 0, .15)) !important;
    box-shadow: 0 0 0 4px rgba(255, 215, 0, .25), inset 4px 0 0 0 #d4a017;
    border-radius: 6px;
    transition: background-color .3s ease, box-shadow .3s ease;
    scroll-margin-top: 6rem;
}
details.ybs-toc-target-active > summary.ybs-toc-target-active {
    background: linear-gradient(90deg, rgba(255, 215, 0, .35), rgba(255, 215, 0, .15)) !important;
}
@media (prefers-reduced-motion: reduce) {
    .ybs-toc-target-active { transition: none; }
}

/* ---- 4) PC SIDEBAR - sticky, sayfa sonuna kadar akar ---- */
@media (min-width: 1024px) {
    .ybs-toc-host {
        position: sticky;
        top: 6rem;
        align-self: start;
        max-height: calc(100vh - 7rem);
        display: flex;
        flex-direction: column;
    }
    .ybs-toc-host .ybs-cat-sidebar__module--toc {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }
    .ybs-toc-host .ybs-blog-toc {
        display: flex;
        flex-direction: column;
        min-height: 0;
        flex: 1 1 auto;
    }
    .ybs-toc-host .ybs-blog-toc__body {
        flex: 1 1 auto;
        max-height: none;
        min-height: 0;
        overflow-y: auto;
    }
    .ybs-toc-host .ybs-toc-compact { display: none !important; }
}

/* ---- 5) MOBILE & TABLET (< 1024) - Compact bar sticky ---- */
@media (max-width: 1023px) {
    /* Sidebar TOC mobile gizli */
    .ybs-category-hub__sidebar .ybs-toc-host { display: none; }

    /* Compact bar varsayilan: hero alti STATIC */
    .ybs-toc-compact {
        margin: .75rem 0 0;
        background: linear-gradient(135deg, #fff 0%, var(--ybs-cat-bg-warm) 100%);
        border: 1px solid var(--ybs-cat-border);
        border-radius: 10px;
        box-shadow: 0 4px 12px -4px rgba(15, 42, 79, .15);
        overflow: hidden;
        transition: top .25s ease, box-shadow .25s ease, transform .25s ease;
        z-index: 38;
    }
    /* Scroll edince - sticky pin (header alti) */
    .ybs-toc-compact.is-pinned {
        position: sticky;
        top: 64px;
        margin: 0;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        box-shadow: 0 6px 18px -4px rgba(15, 42, 79, .25);
        z-index: 39;
    }
    .ybs-toc-compact__progress {
        height: 3px;
        background: rgba(15, 42, 79, .08);
        position: relative;
        overflow: hidden;
    }
    .ybs-toc-compact__progress > span {
        display: block;
        width: 0%;
        height: 100%;
        background: linear-gradient(90deg, var(--ybs-cat-gold) 0%, var(--ybs-cat-gold-dark) 100%);
        transition: width .12s linear;
    }
    .ybs-toc-compact__bar {
        width: 100%;
        background: transparent;
        border: 0;
        padding: .625rem .875rem;
        display: flex;
        align-items: center;
        gap: .5rem;
        cursor: pointer;
        font-family: inherit;
        text-align: left;
        font-size: .8125rem;
        color: var(--ybs-cat-ink-2);
    }
    .ybs-toc-compact__label {
        font-size: .625rem;
        font-weight: 800;
        letter-spacing: 1px;
        color: var(--ybs-cat-gold-dark);
        flex-shrink: 0;
        text-transform: uppercase;
    }
    .ybs-toc-compact__active {
        flex: 1 1 auto;
        font-weight: 600;
        color: var(--ybs-cat-primary);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .ybs-toc-compact__counter {
        flex-shrink: 0;
        font-size: .6875rem;
        color: var(--ybs-cat-muted);
        font-variant-numeric: tabular-nums;
    }
    .ybs-toc-compact__chevron {
        flex-shrink: 0;
        color: var(--ybs-cat-primary);
        transition: transform .2s ease;
        display: inline-flex;
    }
    .ybs-toc-compact.is-open .ybs-toc-compact__chevron { transform: rotate(180deg); }

    /* Compact bar acildiginda panel overlay */
    .ybs-toc-host { position: relative; }
    .ybs-toc-host .ybs-cat-sidebar__module--toc { display: none; }
    .ybs-toc-host:has(.ybs-toc-compact.is-open) .ybs-cat-sidebar__module--toc {
        display: block;
        position: absolute;
        top: calc(100% + 4px);
        left: 0;
        right: 0;
        z-index: 40;
        background: #fff;
        border: 1px solid var(--ybs-cat-border);
        border-radius: 10px;
        box-shadow: 0 12px 32px -6px rgba(15, 42, 79, .25);
        max-height: 60vh;
        overflow-y: auto;
    }
    .ybs-toc-host:has(.ybs-toc-compact.is-pinned.is-open) .ybs-cat-sidebar__module--toc {
        position: fixed;
        top: calc(64px + 56px);
        left: .5rem;
        right: .5rem;
    }
    .ybs-blog-toc-mobile-wrap { display: none; }
}

@media (max-width: 640px) {
    .ybs-toc-compact__bar {
        padding: .5rem .625rem;
        font-size: .75rem;
        gap: .375rem;
    }
    .ybs-toc-compact__label { font-size: .5625rem; }
    .ybs-toc-compact.is-pinned { top: 56px; }
}
