/**
 * レビュー本文 共通スタイル
 *
 * フロントエンド (.laptop-review-content / .lead-content / .guide-content) と
 * TinyMCE エディタ (body.mce-content-body) の両方に適用される単一ソース。
 *
 * 登録: ZippyLaptop::setup_theme() で add_editor_style() を呼び出し済み。
 * フロント: ZippyLaptop::enqueue_public_scripts() でエンキュー済み。
 */

/* ===== 基本タイポグラフィ ===== */
body.mce-content-body,
.laptop-review-content,
.lead-content,
.guide-content {
    font-family: Meiryo, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic', 'Noto Sans JP', system-ui, sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #374151;
}

/* エディタ内の余白 */
body.mce-content-body {
    padding: 16px 20px;
}

/* ===== 見出し ===== */
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) h2,
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) h3 {
    margin-top: 2.5rem;
    margin-bottom: 1.2rem;
    color: #111;
    font-weight: 700;
    line-height: 1.3;
}
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) h2 { font-size: 1.5rem; }
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) h3 { font-size: 1.3rem; }

/* ===== テキスト ===== */
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) p {
    margin-bottom: 1.5rem;
}
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) ul,
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) li {
    margin-bottom: 0.5rem;
}

/* ===== 画像 ===== */
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content, .rd-review-summary) img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1.5rem 0 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    display: block;
}
@media (min-width: 768px) {
    :is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content, .rd-review-summary) img {
        width: 75%;
        max-width: 480px;
    }
}
/* フロントのみ: ズームカーソル */
:is(.laptop-review-content, .lead-content, .guide-content, .rd-review-summary) img {
    cursor: zoom-in;
}

/* ===== img + キャプション形式 ===== */
/* wpautop が <img>\nキャプション を <p><img/><br>キャプション</p> に変換する */
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content, .rd-review-summary) p:has(img) {
    font-size: 0.82rem;
    color: #888;
    line-height: 1.5;
    margin-bottom: 2rem;
}
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content, .rd-review-summary) p:has(img) img {
    display: block;
    margin: 1.5rem 0 0.4rem;
}

/* ===== figure / figcaption ===== */
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content, .rd-review-summary) figure.zippy-review-img {
    margin: 1.5rem 0 2rem;
}
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content, .rd-review-summary) figure.zippy-review-img img {
    margin: 0;
}
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content, .rd-review-summary) figcaption {
    font-size: 0.82rem;
    color: #888;
    margin-top: 0.4rem;
    line-height: 1.5;
}

/* ===== テーブル ===== */
body.mce-content-body table,
.laptop-review-content table,
.lead-content table,
.guide-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
body.mce-content-body th,
.laptop-review-content th,
.lead-content th,
.guide-content th {
    background: #1e293b;
    color: #fff;
    padding: 10px 14px;
    text-align: left;
    font-weight: 700;
    font-size: 0.8rem;
}
body.mce-content-body td,
.laptop-review-content td,
.lead-content td,
.guide-content td {
    padding: 9px 14px;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
}
body.mce-content-body tr:nth-child(even) td,
.laptop-review-content tr:nth-child(even) td,
.lead-content tr:nth-child(even) td,
.guide-content tr:nth-child(even) td {
    background: #f8fafc;
}
body.mce-content-body td:first-child,
.laptop-review-content td:first-child,
.lead-content td:first-child,
.guide-content td:first-child {
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    width: 30%;
}
@media (max-width: 600px) {
    .laptop-review-content table,
    .lead-content table,
    .guide-content table {
        display: block;
        overflow-x: auto;
    }
    .laptop-review-content td:first-child,
    .lead-content td:first-child,
    .guide-content td:first-child {
        white-space: normal;
        width: auto;
    }
}

/* ===== アフィリエイトリンク（アクセサリー自動リンク） ===== */
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) a[rel~="sponsored"] {
    color: #1a6ebd;
    text-decoration: underline;
    text-underline-offset: 2px;
}
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) a[rel~="sponsored"]:hover {
    color: #0f4a8a;
}

/* ===== 引用 ===== */
:is(body.mce-content-body, .laptop-review-content, .lead-content, .guide-content) blockquote {
    border-left: 4px solid #0073aa;
    margin: 1.5rem 0;
    padding: 1rem 1.5rem;
    background: #f8fbff;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #555;
}
