/* Article reading layout: scoped to posts, with the existing LAB palette. */
body.single-post { background:#f7f6f4; color:#252525; }
body.single-post #content { margin:0!important; padding:48px 24px 64px; }
body.single-post #content-in { max-width:1184px; width:100%; margin:auto; display:grid; grid-template-columns:minmax(0,840px) minmax(0,280px); gap:40px; align-items:start; }
body.single-post #main { width:100%; min-width:0; padding:40px!important; border:1px solid #e8e5e2; border-radius:3px; background:#fff; }
body.single-post .entry-title { font-size:32px; line-height:1.6; letter-spacing:.015em; margin:0 0 28px; padding:0; border:0; }
body.single-post .article-header { border-top:4px solid #800000; padding-top:24px; }
body.single-post .article-header .eye-catch-wrap:has(.wp-post-image) { display:block!important; margin:0 0 28px; }
body.single-post .eye-catch { margin:0; }
body.single-post .eye-catch img { display:block; width:100%; height:auto; }
body.single-post .cat-label { background:#800000; color:white; padding:5px 14px; font-size:12px; border:0; }
body.single-post .entry-content { margin-top:24px; font-size:17px; line-height:2; overflow-wrap:anywhere; }
body.single-post .entry-content p { margin:0 0 1.5em; }
body.single-post .entry-content h2 { margin:64px 0 24px; padding:20px 24px; background:#f8f3f1; border:0; border-left:4px solid #800000; border-radius:0; color:#252525; font-size:25px; line-height:1.65; }
body.single-post .entry-content h3 { margin:40px 0 20px; padding:0 0 14px; border:0; border-bottom:2px solid #dedbd8; background:none; font-size:21px; line-height:1.7; }
body.single-post .entry-content h2, body.single-post .entry-content h3 { scroll-margin-top:56px; }
body.single-post .entry-content a { color:#800000; text-decoration:underline; text-underline-offset:4px; }
body.single-post .entry-content a:hover { color:#4a0000; }
body.single-post .entry-content .wp-block-image { margin:0 0 28px; }
body.single-post .entry-content .wp-block-image img { width:100%; height:auto; display:block; border-radius:2px; }
body.single-post .entry-content > ul, body.single-post .entry-content > ol { background:#f7f6f4; border:1px solid #e8e5e2; padding:22px 24px 22px 46px; margin:24px 0 28px; }
body.single-post .entry-content li { margin:6px 0; }
body.single-post .entry-content li::marker { color:#800000; }
body.single-post .wp-block-table { max-width:100%; overflow-x:auto; margin:28px 0; }
body.single-post .wp-block-table table { width:100%; margin:0; border-collapse:collapse; font-size:15px; line-height:1.8; }
body.single-post .wp-block-table td, body.single-post .wp-block-table th { padding:14px 16px; border:1px solid #dedbd8; text-align:left; vertical-align:top; }
body.single-post .wp-block-table tr:first-child > * { background:#403333; color:#fff; font-weight:700; }
body.single-post .wp-block-table tr:nth-child(odd):not(:first-child) { background:#f8f6f4; }
body.single-post .toc { display:block; width:100%; padding:24px 28px; margin:36px 0; border:1px solid #dedbd8; border-top:3px solid #800000; background:#faf9f7; border-radius:2px; font-size:15px; }
body.single-post .toc .toc-title { color:#800000; font-size:18px; font-weight:700; }
body.single-post .toc a { color:#333; text-decoration:none; }
body.single-post .toc a:hover { color:#800000; text-decoration:underline; }
body.single-post #sidebar { width:100%; min-width:0; padding:0; background:transparent; }
body.single-post #sidebar .widget { padding:24px; margin:0 0 24px; background:#fff; border:1px solid #e8e5e2; }
body.single-post #sidebar h2 { padding:0 0 16px; margin:0 0 16px; font-size:18px; background:none; border:0; border-bottom:2px solid #800000; }
body.single-post #sidebar ul { padding:0; margin:0; list-style:none; font-size:14px; line-height:1.8; }
body.single-post #sidebar li { padding:14px 0; border-bottom:1px solid #e8e5e2; }
body.single-post #sidebar a:hover { color:#800000; }
body.single-post .article-footer { margin-top:40px; padding-top:24px; border-top:1px solid #dedbd8; }
body.single-post #breadcrumb { padding:24px 0 0; font-size:12px; }
@media(max-width:1023px) {
  body.single-post #content-in { grid-template-columns:minmax(0,1fr); }
  body.single-post #sidebar { display:none; }
}
@media(max-width:767px) {
  body.single-post #content { padding:24px 0 32px; }
  body.single-post #main { border:0; border-radius:0; padding:24px 20px!important; }
  body.single-post .entry-title { font-size:25px; line-height:1.65; margin-bottom:24px; }
  body.single-post .entry-content { font-size:16px; line-height:1.95; }
  body.single-post .entry-content h2 { margin-top:48px; padding:16px; font-size:21px; }
  body.single-post .entry-content h3 { margin-top:32px; font-size:19px; }
  body.single-post .toc { padding:20px 16px; font-size:14px; }
  body.single-post .wp-block-table table { min-width:560px; font-size:14px; }
  body.single-post .wp-block-table td { padding:12px; }
}
