/* エディタ修正用CSS */

/* 記事編集エディタの空白問題修正 */
#editor p,
.editor-content p,
#editor div,
.editor-content div {
    margin: 0 0 1em 0 !important;
    padding: 0 !important;
}

#editor br,
.editor-content br {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
}

/* 空のp要素に最小高さを設定 */
#editor p:empty,
.editor-content p:empty {
    min-height: 1.5em !important;
}

/* 連続する改行の制御 */
#editor p + p,
.editor-content p + p {
    margin-top: 0.5em !important;
}

/* モーダル内のテキストエリア高さ修正 */
.modal textarea,
.modal .form-control[type="textarea"],
textarea.form-control {
    height: 120px !important;
    max-height: 300px !important;
    min-height: 80px !important;
    overflow-y: auto !important;
    resize: vertical !important;
}

/* 特定のテキストエリアの高さ調整 */
#topUpperFreeSpace,
#topLowerFreeSpace,
#articleUpperFreeSpace,
#articleLowerFreeSpace,
#googleSearchConsole,
#googleAnalytics,
#facebookPixel,
#customHeadCode {
    height: 120px !important;
    max-height: 250px !important;
    min-height: 100px !important;
}

/* より大きなテキストエリア用 */
#googleAnalytics,
#facebookPixel {
    height: 150px !important;
    max-height: 300px !important;
}

/* ========== フリースペーステキストエリアの改行処理 ========== */
/* 長い文字列の適切な処理 */

/* フリースペース専用のテキストエリア設定 */
#topUpperFreeSpace,
#topLowerFreeSpace,
#articleUpperFreeSpace,
#articleLowerFreeSpace,
textarea[name="top_free_space"],
textarea[name="bottom_free_space"],
textarea[name="article_free_space"],
textarea[name="article_upper_free_space"] {
    /* 長い単語の改行処理 */
    word-wrap: break-word !important;
    word-break: break-all !important;
    overflow-wrap: break-word !important;
    
    /* 文字間隔と行間隔 */
    letter-spacing: 0.02em !important;
    line-height: 1.5 !important;
    
    /* フォント設定 */
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace !important;
    font-size: 13px !important;
    
    /* スクロールバー */
    overflow-x: auto !important;
    overflow-y: auto !important;
    
    /* ホワイトスペースの保持 */
    white-space: pre-wrap !important;
    
    /* パディング */
    padding: 10px !important;
}

/* TinyMCEエディタ内のフリースペース */
.tinymce-editor[name*="free_space"] {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
}

/* プレビュー時のフリースペース表示 */
.free-space-preview,
.free-space-content,
[class*="free-space-display"] {
    word-wrap: break-word !important;
    word-break: break-all !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    padding: 15px !important;
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
}