/* Single layout extracted styles 20250810 (moved to assets/css/) */

/* Layout (right sidebar) */
.single .wrapper > .content.single {display:flex;gap:2.5rem;align-items:flex-start;}
.single .wrapper > .content.single .txt {flex:1 1 auto;order:1;min-width:0;}
.single .wrapper > .content.single .category-list-content {width:260px;flex:0 0 260px;order:2;}
@media screen and (max-width:1000px){
  .single .wrapper > .content.single {display:block;}
  .single .wrapper > .content.single .category-list-content {width:auto;flex:none;order:2;margin-top:3em;}
}
/* Force right sidebar override */
.single .wrapper > .content.single {flex-direction:row !important;}
.single .wrapper > .content.single .txt {order:1 !important;flex:1 1 auto !important;min-width:0;float:none !important;}
.single .wrapper > .content.single .category-list-content {order:2 !important;width:260px !important;flex:0 0 260px !important;float:none !important;margin-left:2.5rem;}
@media screen and (max-width:1000px){
  .single .wrapper > .content.single {display:block !important;}
  .single .wrapper > .content.single .category-list-content {margin-left:0;}
}

/* Two-column single */
.single .content.single {display:flex;align-items:flex-start;gap:2.5rem;}
.single .content.single .single-main {flex:1 1 auto;min-width:0;}
.single .content.single .single-side {width:300px;flex:0 0 300px;}
@media (max-width:1000px){
  .single .content.single {display:block;}
  .single .content.single .single-side {width:auto;flex:none;position:static;margin-top:2.5em;}
}

/* Breadcrumb */
.breadcrumb {margin:2em 0 2em;font-size:12px;}
.breadcrumb ol {list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4em;}
.breadcrumb li {position:relative;}
.breadcrumb li:not(:last-child)::after {content:'>';margin:0 .4em;color:#999;}
.breadcrumb a {text-decoration:none;color:#555;}
.breadcrumb li.current {color:#222;font-weight:600;}

/* Same category posts (generic) */
.same-category-posts {border:1px solid #c1c1c1;padding:1.2em 1.2em 1em;margin:0 0 2em;font-size:13px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.same-category-posts h3 {font-size:16px;margin:0 0 .8em;color:#08B15B;border-bottom:1px solid #C1C1C1;padding-bottom:.4em;}
.same-category_posts__item {margin:0 0 .6em;line-height:1.4;}
.same-category-posts__item.current > a {font-weight:600;}
.same-category_posts__item.--empty {color:#777;font-size:12px;}

/* Enhanced header & container */
.single-page-header {position:relative;padding:1.2em 0 1.6em;margin:0 auto 2.5em;}
.single-page-header .single-title {font-size:38px;margin:.4em 0 0;font-weight:600;line-height:1.2;}
@media (max-width:1000px){.single-page-header .single-title{font-size:30px;}}
.single-page-header::after {content:'';position:absolute;left:0;right:0;bottom:-10px;height:10px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(0,0,0,.18),rgba(0,0,0,0) 70%);} 
.single .content.single {background:#fff;border:1px solid #e2e2e2;box-shadow:0 2px 6px rgba(0,0,0,.05);padding:2.2em 2.2em 2.6em;border-radius:6px;}
.single .content.single .single-main {padding-right:0;}
.single .content.single .single-side {background:#fafafa;border-left:1px solid #e5e5e5;padding:0 0 0 1.4em;}
.single .same-category-posts .post-toc {margin-top:.5em;}
.single .same-category-posts .post-toc .toc-item.level-2 a {font-weight:500;}
.single .single-side {max-height:calc(100vh - 220px);overflow:auto;}
@supports (scrollbar-gutter:stable){.single .single-side{scrollbar-gutter:stable;}}
@media (max-width:1000px){
  .single .content.single {padding:1.4em 1.2em 2em;}
  .single .content.single .single-side {border-left:none;border-top:1px solid #e5e5e5;padding:1.5em 0 0;margin-top:1.5em;max-height:none;}
}

/* Single meta / badges */
/* .single-breadcrumb {margin-top:calc(var(--fix-header-h) + 4px) !important;} */
.single-meta {margin-top:0.4em;margin-bottom:1.2em;}
.single-date-badges {display:flex;flex-wrap:wrap;align-items:center;gap:1em;font-size:14px;}
.single-date-badges .single-date {font-weight:600;}
.single-date-badges .cat-badge-item {margin-right:8px;}

/* Tags inline */
.single-date-badges .single-tags-inline {display:flex;flex-wrap:wrap;gap:.5em;margin-left:1em;}
.single-date-badges .single-tags-inline a {background:#fff;border:1px solid #c1c1c1;border-left:4px solid #E4C016;color:#555;font-size:12px;line-height:1.4;padding:.2em 1em;display:inline-block;text-decoration:none;border-radius:0;}
.single-date-badges .single-tags-inline a:hover {background:#fff;opacity:.75;}
@media (max-width:640px){.single-date-badges .single-tags-inline a{font-size:10px;}}
.single-back-out {margin-top:2.2em;}
.single-back-out .back {margin:0;padding:0;}
.single-back-out .back a {display:inline-flex;align-items:center;font-size:14px;}

/* Core layout wrapper */
.single-layout {display:flex;align-items:flex-start;gap:2.5rem;}
.single-layout .single-main-box {flex:1 1 auto;min-width:0;background:#fff;border:1px solid #e2e2e2;box-shadow:0 2px 6px rgba(0,0,0,.05);padding:2.2em 2.2em 2.6em;border-radius:6px;}
.single-layout .single-title {margin:0 0 1em;font-size:38px;line-height:1.2;font-weight:600;}
.single-layout .single-side {width:300px;flex:0 0 300px;position:sticky;top:calc(var(--fix-header-h) + 15px);align-self:flex-start;}
.single-layout .same-category-posts {background:#fff;border:1px solid #dcdcdc;box-shadow:0 1px 3px rgba(0,0,0,.04);padding:1.2em 1.2em 1em;}
.single-layout .same-category-posts h3 {font-size:16px;margin:0 0 .8em;color:#08B15B;border-bottom:1px solid #C1C1C1;padding-bottom:.4em;}
.single-layout .same-category_posts__item {margin:0 0 .6em;line-height:1.4;}
.single-layout .same-category-posts__item.current > a {font-weight:600;}
.single-layout .same-category-posts__item .post-toc {margin:.4em 0 .8em;padding-left:1em;border-left:2px solid #eaee13;font-size:13px;}
.single-layout .same-category-posts__item .post-toc .toc-item {margin:.2em 0;}
.single-layout .same-category_posts__item .post-toc .toc-item.level-3 {margin-left:0.8em;font-size:12px;}
.single-layout .txt-content h2 {margin-top:2.2em;font-size:28px;}
.single-layout .txt-content h3 {margin-top:1.6em;font-size:20px;}
@media (max-width:1000px){
  .single-layout {display:block;}
  .single-layout .single-side {width:auto;flex:none;position:static;margin-top:2.5em;}
  .single-layout .single-main-box {padding:1.6em 1.4em 2em;}
  .single-layout .single-title {font-size:30px;}
}

/* Sidebar (same-category posts alignment / heading) */
.single-side .same-category-posts h3 {color:#08B15B;font-size:18px;border-bottom:1px solid #C1C1C1;margin:0 0 .6em;}
.single-side .same-category-posts h3 span {color:#08B15B;font-size:24px;}
.single-side .same-category_posts__item {padding:.5em 0;border-bottom:1px solid #eee;font-size:14px;}
.single-side .same-category-posts__item:last-child {border-bottom:none;}
.single-side .same-category-posts__item a {display:flex;gap:1em;font-size:14px;text-decoration:none;}
.single-side .same-category-posts__item.current a {font-weight:bold;}
@media (max-width:1000px){.single-side .same-category-posts__item{font-size:13px;}}

/* General single sidebar heading */
.single-layout .category-list-content .category h3 {color:#08B15B;font-size:18px;border-bottom:1px solid #C1C1C1;margin:0 0 .6em;font-weight:600;}
.single-layout .category-list-content .category h3 span {color:#08B15B;font-size:24px;}
@media (max-width:1000px){.single-layout .category-list-content .category h3 {font-size:16px;}}

/* Sidebar posts list with vertical line / markers */
.single-layout .category-list-content .category ul {position:relative;list-style:none;padding-left:0.7em;margin:0;}
.single-layout .category-list-content .category ul::before {content:"";position:absolute;left:0.25em;top:0;bottom:0;width:1px;background:#e2e2e2;border-radius:2px;}
.single-layout .category-list-content .category ul li.subcat-post {position:relative;padding:.18em 0 .12em 0;line-height:1.25;margin:0;}
.single-layout .category-list-content .category ul li.subcat-post a {display:block;position:relative;padding:.15em .3em .15em 1.25em;font-size:13px;color:#222;text-decoration:none;background:transparent;border:none;}
.single-layout .category-list-content .category ul li.subcat-post.current {background:linear-gradient(90deg,#E0FAF1 0%,#FFFFFF 85%);} 
.single-layout .category-list-content .category ul li.subcat-post.current::after {content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#08B15B 0%,#059B54 100%);border-radius:2px;}
.single-layout .category-list-content .category ul li.subcat-post.current {margin-left:-0.6em;padding-left:0.6em;}

/* 子カテゴリ見出しスタイル (2025-08-10) */
.single-layout .category-list-content .category ul li.subcat-heading {font-weight:600;margin:0.9em 0 0.4em;line-height:1.3;}
.single-layout .category-list-content .category ul li.subcat-heading a {text-decoration:none;color:#111;display:inline-block;font-size:13px;}

/* === Marker: ring style yellow (2025-08-10) === */
.single-layout .category-list-content .category ul li.subcat-post a::before {content:"" !important;position:absolute;left:0.25em;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;background:#fff !important;border:2px solid #08B15B !important;border-radius:50%;box-sizing:border-box;display:block;pointer-events:none;}
.single-layout .category-list-content .category ul li.subcat-post.current a::before {background:#08B15B !important;border-color:#08B15B !important;}
/* End marker final override */

/* === Anchor offset simplified (use scroll-margin-top only) === */
html {scroll-behavior:smooth;}
.single-layout .txt-content h2[id],
.single-layout .txt-content h3[id],
.single-layout .txt-content h4[id]{scroll-margin-top:calc(var(--fix-header-h) + 20px);}
/* === End anchor offset simplified === */

/* Remove body padding-top in favor of scroll-margin; adjust breadcrumb spacing if needed */
body.single-post {padding-top:0;}
@media (max-width:1000px){ body.single-post {padding-top:0;} }

/* Ensure breadcrumb/start block has top margin when header is fixed */
/* .single-breadcrumb {margin-top:var(--fix-header-h) !important;}  */
@media (max-width:1000px){ .single-breadcrumb {margin-top:var(--fix-header-h) !important;} }

/* Sidebar sticky using variable */
.single-layout .single-side { position:sticky; top:calc(var(--fix-header-h) + 15px) !important; }
@media (max-width:1000px){ .single-layout .single-side { position:static; top:auto !important; } }

/* Retain header height variable */
:root { --fix-header-h:95px; }
@media (max-width:1000px){ :root { --fix-header-h:60px; } }

/* Back button alignment and styling */
.single-layout .single-main-box .back {text-align:right;margin-top:2.5em;}
.single-layout .single-main-box .back a {display:inline-flex;align-items:center;gap:.5em;font-size:20px;font-weight:500;}
.single-layout .single-main-box .back .sankaku {width:0;height:0;border-right:10px solid #08B15B;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-top:.1em;}
@media (max-width:1000px){ .single-layout .single-main-box .back a {font-size:18px;} }

/* Related posts top spacing (no border) */
.single-layout .category-list-content .category-group-primary + .category-group-related {margin-top:1.4em;padding-top:0.9em;}
@media (max-width:1000px){ .single-layout .category-list-content .category-group-primary + .category-group-related {margin-top:1em;padding-top:.6em;} }
