/*
═══════════════════════════════════════════════════════════════
   SINGLE POST · LIVING — 白天生活文（原部落格 SEO 文）
   - 與夜晚散文相反：需要 H2/H3 分段、目錄、粗體
   - 只在 body.is-living-post 生效，不影響散文
   - 全部使用 base.css 既有變數
═══════════════════════════════════════════════════════════════
*/

/* ─── 覆寫散文的限制 ─────────────────────────── */
.is-living-post .single-content strong,
.is-living-post .single-content b {
    font-weight: 500;
    color: var(--twilight);
}

.is-living-post .single-content {
    font-size: 16px;
    line-height: 1.9;
}

/* ─── 標題階層 ───────────────────────────────── */
.is-living-post .single-content h2 {
    font-family: var(--ff-d);
    font-weight: 400;
    font-size: clamp(22px, 2.6vw, 27px);
    line-height: 1.35;
    letter-spacing: -.01em;
    color: var(--twilight);
    margin: 56px 0 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--linen);
    scroll-margin-top: 90px;
}
.is-living-post .single-content h2:first-child { margin-top: 0; }

.is-living-post .single-content h3 {
    font-family: var(--ff-cn, inherit);
    font-weight: 500;
    font-size: 17px;
    line-height: 1.55;
    color: var(--bronze);
    margin: 38px 0 14px;
    scroll-margin-top: 90px;
}
.lang-en .is-living-post .single-content h3 { font-family: var(--ff-en, inherit); }

.is-living-post .single-content h4 {
    font-family: var(--ff-m);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mist);
    margin: 28px 0 10px;
}

/* 標題裡的 strong 不要再加粗 */
.is-living-post .single-content h2 strong,
.is-living-post .single-content h3 strong { font-weight: inherit; }

/* ─── 目錄 ───────────────────────────────────── */
.living-toc {
    margin: 0 0 44px;
    padding: 22px 26px;
    background: var(--bone-2, var(--bone));
    border: 1px solid var(--linen-2, var(--linen));
    border-radius: 2px;
}
.living-toc summary {
    font-family: var(--ff-m);
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mist);
    cursor: pointer;
    list-style: none;
    outline: none;
}
.living-toc summary::-webkit-details-marker { display: none; }
.living-toc summary::after {
    content: "－";
    float: right;
    color: var(--mist-soft);
}
.living-toc details:not([open]) summary::after { content: "＋"; }

.living-toc ol {
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: toc;
}
.living-toc li { margin: 0 0 9px; line-height: 1.6; }
.living-toc li:last-child { margin-bottom: 0; }

.living-toc .lvl-2 { counter-increment: toc; }
.living-toc .lvl-2 a::before {
    content: counter(toc) ".";
    display: inline-block;
    width: 22px;
    font-family: var(--ff-m);
    font-size: 11px;
    color: var(--mist-soft);
}
.living-toc .lvl-3 { padding-left: 22px; }
.living-toc .lvl-3 a { font-size: 13.5px; color: var(--twilight-2); }

.living-toc a {
    color: var(--twilight);
    text-decoration: none;
    font-size: 14.5px;
    transition: color var(--t-hover) var(--ease-moon);
}
.living-toc a:hover { color: var(--plum-hi); }

/* ─── 資訊卡（店家資訊那種 blockquote）─────────── */
.is-living-post .single-content blockquote,
.is-living-post .single-content .wp-block-quote {
    font-family: var(--ff-cn, inherit);
    font-style: normal;
    font-size: 14.5px;
    line-height: 1.95;
    color: var(--twilight-2);
    background: var(--bone-2, transparent);
    border-left: 2px solid var(--bronze);
    padding: 20px 24px;
    margin: 32px 0;
}
.lang-en .is-living-post .single-content blockquote { font-family: var(--ff-en, inherit); }
.is-living-post .single-content blockquote strong { color: var(--twilight); font-weight: 500; }
.is-living-post .single-content blockquote a { color: var(--plum-hi); }

/* ─── 圖片 ───────────────────────────────────── */
.is-living-post .single-content img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
}
.is-living-post .single-content p > img { margin: 26px auto; }
.is-living-post .single-content figure { margin: 32px 0; }

.is-living-post .single-content .wp-block-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin: 32px 0;
}
.is-living-post .single-content .wp-block-gallery figure { margin: 0; }

/* ─── 影片嵌入 ───────────────────────────────── */
.is-living-post .single-content iframe {
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    margin: 28px 0;
    border: 0;
}

/* ─── 清單 ───────────────────────────────────── */
.is-living-post .single-content ul,
.is-living-post .single-content ol {
    margin: 0 0 24px 1.3em;
}
.is-living-post .single-content li { margin-bottom: 8px; }

/* ─── 表格 ───────────────────────────────────── */
.is-living-post .single-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin: 28px 0;
}
.is-living-post .single-content th,
.is-living-post .single-content td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--linen);
    text-align: left;
}
.is-living-post .single-content th {
    font-family: var(--ff-m);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mist);
}

/* ─── 舊文常見的空段落 ─────────────────────────── */
.is-living-post .single-content p:empty { display: none; }

/* ─── 手機 ───────────────────────────────────── */
@media (max-width: 880px) {
    .is-living-post .single-content { font-size: 15.5px; }
    .is-living-post .single-content h2 { font-size: 21px; margin: 44px 0 16px; }
    .is-living-post .single-content h3 { font-size: 16px; margin: 30px 0 12px; }
    .living-toc { padding: 18px 20px; margin-bottom: 34px; }
    .living-toc a { font-size: 14px; }
    .is-living-post .single-content blockquote { padding: 16px 18px; font-size: 14px; }
    .is-living-post .single-content .wp-block-gallery { grid-template-columns: 1fr 1fr; gap: 6px; }
}
