/* Container */
.container {
  max-width: var(--content-width);
  margin:    0 auto;
  padding:   0 var(--space-l);
}

/* Site wrapper */
#page { display: flex; flex-direction: column; min-height: 100vh; }
#content.site-content { flex: 1; }

/* Content + sidebar layout — mobile: single column always */
.site-content {
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   var(--space-xl);
  max-width:             var(--content-width);
  margin:                0 auto;
  padding:               var(--space-xl) var(--space-l);
}

/* Desktop sidebar variants */
@media (min-width: 1024px) {
  .site-content.sidebar-right {
    grid-template-columns: var(--main-width) 1fr;
  }
  .site-content.sidebar-right #primary   { order: 1; }
  .site-content.sidebar-right #secondary { order: 2; }

  .site-content.sidebar-left {
    grid-template-columns: 1fr var(--main-width);
  }
  .site-content.sidebar-left #secondary { order: 1; }
  .site-content.sidebar-left #primary   { order: 2; }

  .site-content.sidebar-none {
    grid-template-columns: 1fr;
    max-width: 860px;
  }
}

/* Entry content */
.entry-content > * + * { margin-top: var(--space-m); }
.entry-content img     { height: auto; }
.entry-content table   { border-collapse: collapse; width: 100%; }
.entry-content th,
.entry-content td      { padding: var(--space-s); border: 1px solid var(--color-border); }
.entry-content blockquote {
  border-left: 4px solid var(--color-primary);
  padding-left: var(--space-l);
  color:        var(--color-muted);
  font-style:   italic;
  margin:       var(--space-l) 0;
}
.entry-content pre {
  background:    var(--color-surface);
  padding:       var(--space-m);
  overflow-x:    auto;
  border-radius: var(--radius-m);
  font-size:     var(--font-size-sm);
}
.entry-thumbnail {
  margin-bottom: var(--space-l);
}
.entry-thumbnail img { width: 100%; height: auto; border-radius: var(--radius-m); }
.entry-header { margin-bottom: var(--space-l); }
.entry-title  { font-size: var(--font-size-xxxl); margin-bottom: var(--space-s); }
.entry-footer { margin-top: var(--space-l); padding-top: var(--space-m); border-top: 1px solid var(--color-border); font-size: var(--font-size-sm); color: var(--color-muted); }
.post-tags a { color: var(--color-secondary); }

/* Page links */
.page-links { margin-top: var(--space-l); font-size: var(--font-size-sm); }
