.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--nl-surface);
  border-bottom: 1px solid var(--nl-border);
}

.header-inner {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.site-content {
  padding: 28px 0 48px;
}

.content-area {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--nl-gap);
  align-items: start;
}

.content-area-single {
  grid-template-columns: 1fr;
}

.main-content,
.sidebar,
.section-block,
.archive-header,
.single-post-layout,
.page-layout,
.error-404-box,
.widget,
.ad-slot,
.no-results,
.comments-area {
  background: var(--nl-surface);
  border: 1px solid var(--nl-border);
  border-radius: var(--nl-radius);
  box-shadow: var(--nl-shadow);
}

.main-content {
  padding: 24px;
}

.sidebar {
  padding: 18px;
  position: sticky;
  top: 110px;
}

.section-block,
.archive-header,
.single-post-layout,
.page-layout,
.error-404-box,
.no-results,
.comments-area {
  padding: 24px;
  margin-bottom: 24px;
}

.footer-widgets {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-bottom: 20px;
}

.footer-bottom {
  padding-top: 20px;
  border-top: 1px solid var(--nl-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.site-footer {
  margin-top: 40px;
  padding: 36px 0 24px;
  background: #fff;
  border-top: 1px solid var(--nl-border);
}