/* ==========================================================================
   Post Layout — Content + Sidebar
   ========================================================================== */

.dtr-post-layout {
    padding-top: var(--dtr-space-xl);
    padding-bottom: var(--dtr-space-3xl);
}

.dtr-post-layout__main {
    max-width: var(--dtr-content-width);
    min-width: 0;
}

.dtr-post-layout__main .dtr-content h2 {
    position: relative;
    padding-left: var(--dtr-space-lg);
    border-top: none;
    padding-top: 0;
}

.dtr-post-layout__main .dtr-content h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    bottom: 0.15em;
    width: 4px;
    background: var(--dtr-color-primary);
    border-radius: 2px;
}

.dtr-post-layout__sidebar {
    display: none;
}

@media (min-width: 1024px) {
    .dtr-post-layout--has-sidebar {
        display: grid;
        grid-template-columns: 1fr 280px;
        gap: var(--dtr-space-2xl);
        align-items: start;
    }

    .dtr-post-layout__sidebar {
        display: block;
    }

    .dtr-sidebar-sticky {
        position: sticky;
        top: 100px;
        display: flex;
        flex-direction: column;
        gap: var(--dtr-space-lg);
    }
}

@media (min-width: 1200px) {
    .dtr-post-layout--has-sidebar {
        grid-template-columns: 1fr 300px;
    }
}

/* Sidebar TOC compact */
.dtr-post-layout__sidebar .dtr-toc {
    padding: var(--dtr-space-md) var(--dtr-space-lg);
    margin-bottom: 0;
    font-size: var(--dtr-text-sm);
}

.dtr-post-layout__sidebar .dtr-toc__title {
    font-size: var(--dtr-text-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dtr-color-text-muted);
    margin-bottom: var(--dtr-space-sm);
}

.dtr-post-layout__sidebar .dtr-toc__list {
    padding-left: var(--dtr-space-md);
}

.dtr-post-layout__sidebar .dtr-toc__list li {
    margin-bottom: var(--dtr-space-2xs);
    padding: var(--dtr-space-2xs) 0;
}

.dtr-post-layout__sidebar .dtr-toc a {
    font-size: var(--dtr-text-xs);
    line-height: var(--dtr-leading-snug);
}


/* ==========================================================================
   Sidebar CTA Banner
   ========================================================================== */

.dtr-sidebar-cta {
    background: linear-gradient(135deg, var(--dtr-color-bg-alt), #ffffff);
    border: 1px solid var(--dtr-color-border);
    border-radius: var(--dtr-radius-lg);
    padding: var(--dtr-space-lg);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.dtr-sidebar-cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--dtr-color-primary), var(--dtr-color-accent));
}

.dtr-sidebar-cta__badge {
    display: inline-block;
    background: var(--dtr-color-accent-lt);
    color: var(--dtr-color-accent-dk);
    font-size: var(--dtr-text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: var(--dtr-space-2xs) var(--dtr-space-sm);
    border-radius: var(--dtr-radius-full);
    margin-bottom: var(--dtr-space-sm);
}

.dtr-sidebar-cta__title {
    font-family: var(--dtr-font-heading);
    font-size: var(--dtr-text-lg);
    font-weight: 800;
    color: var(--dtr-color-text);
    margin: 0 0 var(--dtr-space-xs);
    line-height: var(--dtr-leading-tight);
}

.dtr-sidebar-cta__desc {
    font-size: var(--dtr-text-sm);
    color: var(--dtr-color-text-muted);
    line-height: var(--dtr-leading-normal);
    margin: 0 0 var(--dtr-space-md);
}

.dtr-sidebar-cta__features {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--dtr-space-md);
    text-align: left;
}

.dtr-sidebar-cta__features li {
    font-size: var(--dtr-text-sm);
    color: var(--dtr-color-text);
    padding: var(--dtr-space-2xs) 0;
    padding-left: var(--dtr-space-lg);
    position: relative;
}

.dtr-sidebar-cta__features li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    color: var(--dtr-color-success);
    font-weight: 700;
}

.dtr-sidebar-cta__btn {
    display: block;
    width: 100%;
    padding: var(--dtr-space-sm) var(--dtr-space-md);
    border-radius: var(--dtr-radius-md);
    font-weight: 700;
    font-size: var(--dtr-text-sm);
    text-align: center;
    text-decoration: none;
    transition: background var(--dtr-transition-fast), transform var(--dtr-transition-fast);
    background: var(--dtr-color-accent);
    color: #ffffff;
    margin-bottom: var(--dtr-space-xs);
}

.dtr-sidebar-cta__btn:hover {
    background: var(--dtr-color-accent-dk);
    transform: translateY(-1px);
    text-decoration: none;
    color: #ffffff;
}

.dtr-sidebar-cta__btn--review {
    background: var(--dtr-color-primary);
}

.dtr-sidebar-cta__btn--review:hover {
    background: var(--dtr-color-primary-dk);
}

.dtr-sidebar-cta__disclosure {
    font-size: var(--dtr-text-xs);
    color: var(--dtr-color-text-light);
    margin: var(--dtr-space-xs) 0 0;
    font-style: italic;
}