/* =========================================================
   LAYOUT — Main content area, sidebar, widgets
   ========================================================= */

/* --- Main Content + Sidebar Grid --- */
.site-main { padding: 40px 0; }
.content-wrap {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
}
body.no-sidebar .content-wrap {
    grid-template-columns: 1fr;
}
.content-area { min-width: 0; }

/* --- Widget Area --- */
.widget-area {
    position: sticky;
    top: 20px;
    align-self: start;
}
.widget {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px;
    margin-bottom: 24px;
    box-shadow: var(--shadow);
}
.widget-title {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding-bottom: 12px;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--primary);
    position: relative;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
    .content-wrap { grid-template-columns: 1fr; }
    .widget-area { position: static; }
}