.single-post .site-inner { width:calc(100% - 32px); max-width:1200px; }
.single-post .content > .entry > .entry-header .date {
    display:flex;
    flex-wrap:wrap;
    gap:0 5px;
    margin:12px 0 24px;
    color:#7b8497;
    font-size:14px;
    line-height:1.6;
}
.single-post .sidebar-primary {
    position:sticky;
    top:var(--single-sidebar-top,120px);
}
.single-post .dmax-single-toc { margin-bottom:24px; }
.single-post .dmax-single-toc #toc_container {
    box-sizing:border-box;
    display:block;
    /* TOC ghi width inline khi ẩn/hiện; giữ khung bằng chiều rộng sidebar. */
    width:100% !important;
    margin:0;
    padding:18px 16px 14px;
    border:1px solid #e0e6f1;
    border-radius:12px;
    background:#fff;
    box-shadow:0 3px 14px rgba(0,16,98,.04);
    font-family:var(--font-main);
    font-size:16px;
    line-height:1.6;
}
.single-post .dmax-single-toc #toc_container .toc_title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 10px; padding:0 2px 12px; border-bottom:1px solid #e0e6f1; text-align:left; color:var(--primary); font-size:18px; line-height:1.4; font-weight:800; }
.single-post .dmax-single-toc #toc_container .toc_toggle { margin-left:auto; font-size:13px; font-weight:400; }
.single-post .dmax-single-toc #toc_container .toc_list { margin:0; padding:0; counter-reset:toc-item; }
.single-post .dmax-single-toc #toc_container .toc_list ul { margin:0 0 4px 28px; padding:0; }
.single-post .dmax-single-toc #toc_container li { margin:0; padding:0; overflow-wrap:anywhere; }
.single-post .dmax-single-toc #toc_container .toc_list > li { counter-increment:toc-item; }
.single-post .dmax-single-toc #toc_container .toc_list > li + li { margin-top:4px; }
.single-post .dmax-single-toc #toc_container a { color:var(--primary); text-decoration:none; }
.single-post .dmax-single-toc #toc_container .toc_list a { position:relative; display:block; padding:4px 0 4px 26px; border:0; font-size:15px; font-weight:600; line-height:1.5; }
.single-post .dmax-single-toc #toc_container .toc_list > li > a::before { content:counter(toc-item,decimal-leading-zero); position:absolute; left:0; top:6px; color:#7b8497; font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.single-post .dmax-single-toc #toc_container .toc_list ul a { padding:3px 0 3px 12px; color:#596579; font-size:14px; font-weight:400; }
.single-post .dmax-single-toc #toc_container .toc_list ul a::before { content:""; position:absolute; left:1px; top:12px; width:4px; height:4px; border-radius:50%; background:#7b8497; }
.single-post .dmax-single-toc #toc_container .toc_list a:hover,
.single-post .dmax-single-toc #toc_container .toc_list a:focus-visible { color:var(--primary); text-decoration:underline; }
.single-post .dmax-single-toc #toc_container .toc_toggle a:hover { text-decoration:underline; }
.single-post .dmax-single-toc a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.single-post .sidebar-primary .caia-post-list-widget { margin:0 0 24px; padding:18px; border:1px solid #e0e6f1; border-radius:12px; background:#fff; }
.single-post .sidebar-primary .caia-post-list-widget .widget-title { margin:0 0 4px; color:var(--primary); font-size:20px; font-weight:800; line-height:1.4; }
.single-post .sidebar-primary .caia-post-list-widget .widget-title p { margin:0; font:inherit; }
.single-post .sidebar-primary .caia-post-list-widget .widget-title a { font:inherit; }
.single-post .sidebar-primary .caia-post-list-widget .type-post { display:flex; align-items:flex-start; gap:12px; float:none; width:100%; margin:0; padding:16px 0; border-bottom:1px solid #e0e6f1; }
.single-post .sidebar-primary .caia-post-list-widget .type-post:last-child { padding-bottom:0; border-bottom:0; }
.single-post .sidebar-primary .caia-post-list-widget .type-post > a { display:block; flex:0 0 84px; width:84px; margin:0; overflow:hidden; border-radius:8px; }
.single-post .sidebar-primary .caia-post-list-widget .type-post > a img { display:block; float:none; width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; margin:0; }
.single-post .sidebar-primary .caia-post-list-widget .list-info { flex:1; min-width:0; margin:0; padding:0; }
.single-post .sidebar-primary .caia-post-list-widget .widget-item-title { margin:0 0 6px; font-family:var(--font-main); font-size:16px; font-weight:700; line-height:1.45; overflow-wrap:anywhere; }
.single-post .sidebar-primary .caia-post-list-widget a { color:var(--primary); }
.single-post .sidebar-primary .caia-post-list-widget a:hover { text-decoration:underline; }
.single-post .sidebar-primary .caia-post-list-widget a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.single-post .sidebar-primary .caia-post-list-widget .sidebar-post-date { display:block; color:#7b8497; font-size:13px; line-height:1.5; }
.single-post .content > .entry .entry-content [id] { scroll-margin-top:var(--single-sidebar-top,120px); }
.single-post .single-related-posts { clear:both; width:calc(100% - 32px); max-width:1200px; margin:0 auto 50px; }
.single-post .single-related-posts > h2 { margin:0 0 24px; color:var(--primary); font-size:28px; line-height:1.3; }
.single-post .single-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.single-post .single-related-grid .entry-footer { margin-top:auto; }
@media (max-width: 1170px) {
    .single-post .single-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}
@media (max-width: 960px) {
    .single-post .sidebar-primary { position:static; }
}
@media (max-width: 768px) {
    .single-post .entry-content .dmax-single-toc {
        width:100%;
        min-width:0;
        margin:24px 0;
    }
    .single-post .single-related-posts { margin-bottom:36px; }
    .single-post .single-related-posts > h2 { font-size:24px; }
}
@media (max-width: 500px) {
    .single-post .single-related-grid { grid-template-columns:minmax(0,1fr); }
}
