/**
 * Editor Content Protection CSS
 * 
 * Bu dosya TÜM template'lerde yüklenmeli.
 * Editörden gelen içeriklerin stillerini korur.
 * Template CSS'leri editör içeriğini ezemez.
 * 
 * Versiyon: 1.0
 * Tarih: 2026-01-04
 */

/* ============================================
   EDITÖR İÇERİĞİ İZOLASYONU
   ============================================ */

/* Editör içeriği container - Template CSS'lerinden izole et */
.blog-post-content,
.editor-content,
.haber-icerik,
.icerik-alani {
    /* Template'in genel stil sıfırlamalarını engelle */
    all: revert;
    
    /* Base ayarlar - Sadece gerekli olanlar */
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* ============================================
   INLINE STYLE KORUMA (EN ÖNEMLİ KISIM!)
   ============================================ */

/* Editörden gelen INLINE STYLE'lar HER ZAMAN korunur */
.blog-post-content [style],
.editor-content [style],
.haber-icerik [style],
.icerik-alani [style] {
    /* Inline style zaten en yüksek önceliğe sahip */
    /* Ama template'ler !important kullanıyorsa bu korur: */
    display: revert !important;
    margin: revert !important;
    padding: revert !important;
    font-size: revert !important;
    font-family: revert !important;
    color: revert !important;
    background: revert !important;
    border: revert !important;
    text-align: revert !important;
    line-height: revert !important;
}

/* ============================================
   PARAGRAF VE METİN ELEMENTLERİ
   ============================================ */

/* Template CSS'leri paragraph stillerini ezmesin */
.blog-post-content p,
.editor-content p {
    margin: 1em 0;
    padding: 0;
    line-height: 1.6;
}

.blog-post-content p[style] {
    /* Inline style varsa, o geçerli olsun */
    margin: revert !important;
    padding: revert !important;
    line-height: revert !important;
    font-size: revert !important;
    color: revert !important;
    text-align: revert !important;
}

/* ============================================
   SPAN VE INLINE ELEMENTLERİ
   ============================================ */

.blog-post-content span[style],
.editor-content span[style] {
    /* Span'lardaki inline style'lar tamamen korunsun */
    all: revert !important;
}

/* ============================================
   STRONG, EM, U, B, I ETİKETLERİ
   ============================================ */

.blog-post-content strong,
.blog-post-content b {
    font-weight: bold;
}

.blog-post-content em,
.blog-post-content i {
    font-style: italic;
}

.blog-post-content u {
    text-decoration: underline;
}

/* ============================================
   LİSTELER
   ============================================ */

.blog-post-content ul,
.blog-post-content ol {
    margin: 1em 0;
    padding-left: 2em;
}

.blog-post-content ul[style],
.blog-post-content ol[style] {
    margin: revert !important;
    padding: revert !important;
}

.blog-post-content li {
    margin: 0.5em 0;
}

.blog-post-content li[style] {
    margin: revert !important;
    padding: revert !important;
}

/* ============================================
   BAŞLIKLAR
   ============================================ */

.blog-post-content h1,
.blog-post-content h2,
.blog-post-content h3,
.blog-post-content h4,
.blog-post-content h5,
.blog-post-content h6 {
    margin: 1.2em 0 0.6em 0;
    font-weight: bold;
    line-height: 1.3;
}

.blog-post-content h1[style],
.blog-post-content h2[style],
.blog-post-content h3[style],
.blog-post-content h4[style],
.blog-post-content h5[style],
.blog-post-content h6[style] {
    /* Inline style varsa, o kazansın */
    all: revert !important;
}

/* ============================================
   TABLOLAR
   ============================================ */

.blog-post-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em 0;
}

.blog-post-content table[style] {
    all: revert !important;
}

.blog-post-content td,
.blog-post-content th {
    padding: 0.5em;
    border: 1px solid #ddd;
}

.blog-post-content td[style],
.blog-post-content th[style] {
    all: revert !important;
}

/* ============================================
   RESİMLER
   ============================================ */

.blog-post-content img {
    max-width: 100%;
    height: auto;
}

.blog-post-content img[style] {
    /* Resim stilleri korunsun */
    all: revert !important;
}

/* ============================================
   LİNKLER
   ============================================ */

.blog-post-content a[style] {
    all: revert !important;
}

/* ============================================
   DIV ELEMENTLERİ
   ============================================ */

.blog-post-content div[style] {
    /* Editörden gelen div stilleri korunsun */
    all: revert !important;
}

/* ============================================
   BLOCKQUOTE
   ============================================ */

.blog-post-content blockquote {
    margin: 1em 0;
    padding-left: 1em;
    border-left: 3px solid #ccc;
}

.blog-post-content blockquote[style] {
    all: revert !important;
}

/* ============================================
   CODE VE PRE
   ============================================ */

.blog-post-content code,
.blog-post-content pre {
    font-family: monospace;
}

.blog-post-content code[style],
.blog-post-content pre[style] {
    all: revert !important;
}

/* ============================================
   GENEL KORUMA (FALLBACK)
   ============================================ */

/* Yukarıda belirtilmeyen her element için */
.blog-post-content *[style] {
    /* Eğer inline style varsa, mutlaka korunsun */
    font-size: revert !important;
    color: revert !important;
    background-color: revert !important;
    font-family: revert !important;
    text-align: revert !important;
    margin: revert !important;
    padding: revert !important;
    border: revert !important;
    width: revert !important;
    height: revert !important;
}




/* ============================================
   OVERFLOW VE TAŞMA KORUMASI
   ============================================ */

/* İçeriğin container dışına taşmasını engelle */
.blog-post-content,
.editor-content,
.haber-icerik,
.icerik-alani {
    max-width: 100%;
    overflow: hidden;
    position: relative;
}

/* Tüm içerik elementleri container sınırlarına uygun */
.blog-post-content > *,
.editor-content > *,
.haber-icerik > *,
.icerik-alani > * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Aşırı margin-left değerlerini sınırla (KAYNAKLAR sorunu için) */
.blog-post-content p[style*="margin-left"],
.editor-content p[style*="margin-left"],
.blog-post-content p[style*="margin-left:"],
.editor-content p[style*="margin-left:"] {
    /* Margin sağda/solda taşma yapmasın */
    margin-left: clamp(0px, attr(style margin-left), 45px) !important;
    margin-right: 0 !important;
    padding-right: 10px !important;
}

/* Hanging indent (negatif text-indent) kombinasyonlarını düzelt */
.blog-post-content p[style*="text-indent:-"],
.editor-content p[style*="text-indent:-"] {
    /* Container içinde kalmasını garanti et */
    margin-left: 40px !important;
    text-indent: -35px !important;
    padding-right: 10px !important;
    max-width: calc(100% - 40px) !important;
}

/* Word wrap - uzun kelimeleri kır */
.blog-post-content p,
.blog-post-content div,
.blog-post-content span,
.blog-post-content li {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

/* Son çare: Tüm styled elementler kesinlikle dışarı taşmasın */
.blog-post-content [style*="margin-left"],
.editor-content [style*="margin-left"] {
    box-sizing: border-box !important;
    max-width: 100% !important;
}
