.np-site-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
}

.np-site-main {
    flex: 1 0 auto;
    width: 100%;
}

.np-content-area,
.np-page-area,
.np-single-area,
.np-archive-area,
.np-search-area,
.np-404-area,
.np-blank-area,
.np-canvas-area,
.np-landing-area {
    position: relative;
    width: 100%;
    padding-block: var(--np-section-padding-y);
    padding-inline: var(--np-section-padding-x);
}

.np-content-area:first-child,
.np-page-area:first-child,
.np-single-area:first-child,
.np-archive-area:first-child,
.np-search-area:first-child,
.np-404-area:first-child {
    padding-block-start: clamp(2rem, 5vw, 4rem);
}

.np-canvas-area,
.np-blank-area {
    padding-block: 0;
}

.np-landing-area {
    padding-block: clamp(2rem, 6vw, 5rem);
}

.np-content-layout,
.np-page-layout,
.np-single-layout,
.np-archive-layout,
.np-search-layout,
.np-404-layout,
.np-index-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--np-spacing-2xl);
    align-items: start;
    width: 100%;
}

.np-content-layout-right-sidebar,
.np-content-layout-left-sidebar,
.np-layout-right-sidebar .np-content-layout,
.np-layout-left-sidebar .np-content-layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.np-content-layout-left-sidebar,
.np-layout-left-sidebar .np-content-layout {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
}

.np-content-layout-left-sidebar .np-content-main,
.np-layout-left-sidebar .np-content-main {
    order: 2;
}

.np-content-layout-left-sidebar .np-sidebar-area,
.np-layout-left-sidebar .np-sidebar-area {
    order: 1;
}

.np-content-layout-full-width,
.np-content-layout-canvas,
.np-content-layout-blank,
.np-layout-full-width .np-content-layout,
.np-layout-canvas .np-content-layout,
.np-layout-blank .np-content-layout {
    grid-template-columns: minmax(0, 1fr);
}

.np-content-main,
.np-page-main,
.np-single-main,
.np-archive-main,
.np-search-main,
.np-404-main,
.np-index-main {
    min-width: 0;
    width: 100%;
}

.np-content-main > *:first-child,
.np-page-main > *:first-child,
.np-single-main > *:first-child,
.np-archive-main > *:first-child,
.np-search-main > *:first-child,
.np-404-main > *:first-child,
.np-index-main > *:first-child {
    margin-block-start: 0;
}

.np-content-main > *:last-child,
.np-page-main > *:last-child,
.np-single-main > *:last-child,
.np-archive-main > *:last-child,
.np-search-main > *:last-child,
.np-404-main > *:last-child,
.np-index-main > *:last-child {
    margin-block-end: 0;
}

.np-sidebar-area,
.np-layout-sidebar {
    min-width: 0;
    width: 100%;
}

.np-sidebar-inner,
.np-layout-sidebar-inner {
    display: grid;
    gap: var(--np-spacing-lg);
}

.np-sidebar-right,
.np-layout-sidebar-right {
    position: relative;
}

.np-layout-full-width .np-sidebar-area,
.np-layout-canvas .np-sidebar-area,
.np-layout-blank .np-sidebar-area,
.np-content-no-sidebar + .np-sidebar-area {
    display: none;
}

.np-loop,
.np-index-loop,
.np-archive-loop,
.np-search-loop {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--np-spacing-xl);
}

.np-loop-list {
    grid-template-columns: minmax(0, 1fr);
}

.np-loop-two-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.np-loop-four-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.np-page-header {
    margin-block-end: var(--np-spacing-2xl);
}

.np-page-title {
    margin-block-end: var(--np-spacing-sm);
}

.np-page-description {
    max-width: 760px;
    color: var(--np-color-text-muted);
    font-size: var(--np-font-size-lg);
    line-height: var(--np-line-height-md);
}

.np-entry,
.np-page-entry,
.np-single-entry {
    position: relative;
    width: 100%;
}

.np-entry-content,
.np-page-content,
.np-single-content,
.np-canvas-content,
.np-landing-content,
.np-blank-content {
    width: 100%;
}

.np-entry-content > * + *,
.np-page-content > * + *,
.np-single-content > * + *,
.np-canvas-content > * + *,
.np-landing-content > * + *,
.np-blank-content > * + * {
    margin-block-start: var(--np-spacing-lg);
}

.np-entry-content > .alignwide,
.np-page-content > .alignwide,
.np-single-content > .alignwide {
    width: min(100vw - calc(var(--np-container-padding) * 2), var(--np-container-lg));
    max-width: var(--np-container-lg);
    margin-inline: auto;
}

.np-entry-content > .alignfull,
.np-page-content > .alignfull,
.np-single-content > .alignfull,
.np-canvas-content > .alignfull,
.np-landing-content > .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-inline-start: calc(50% - 50vw);
    margin-inline-end: calc(50% - 50vw);
}

.np-page-featured-image,
.np-single-featured-image,
.np-archive-entry-media,
.np-search-entry-media,
.np-entry-media {
    position: relative;
    overflow: hidden;
    border-radius: var(--np-radius-xl);
    background: var(--np-color-surface-soft);
}

.np-page-featured-image,
.np-single-featured-image {
    margin-block-end: var(--np-spacing-2xl);
}

.np-page-thumbnail,
.np-single-thumbnail,
.np-entry-image,
.np-archive-entry-image,
.np-search-entry-image {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.np-page-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-spacing-xs);
    align-items: center;
    margin-block-start: var(--np-spacing-xl);
}

.np-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding-inline: var(--np-spacing-sm);
    color: var(--np-color-primary-dark);
    background: var(--np-color-surface);
    border: var(--np-border);
    border-radius: var(--np-radius-md);
}

.np-page-comments,
.np-single-comments,
.np-blank-comments,
.np-landing-comments {
    margin-block-start: var(--np-spacing-3xl);
}

.np-empty-content,
.np-content-none,
.np-content-404 {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
}

.np-content-none-title,
.np-content-404-title {
    margin-block-end: var(--np-spacing-md);
}

.np-content-none-description,
.np-content-404-description {
    color: var(--np-color-text-muted);
    font-size: var(--np-font-size-lg);
}

.np-content-none-search,
.np-content-404-search,
.np-search-form-wrapper {
    max-width: 620px;
    margin-block-start: var(--np-spacing-xl);
    margin-inline: auto;
}

.np-content-404-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-spacing-md);
    justify-content: center;
    margin-block-start: var(--np-spacing-xl);
}

.np-blank-content,
.np-canvas-content {
    width: 100%;
}

.np-canvas-area .np-container,
.np-blank-area .np-container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.np-landing-content {
    max-width: var(--np-container-width);
    margin-inline: auto;
}

.np-layout-canvas .np-site-main,
.np-layout-blank .np-site-main {
    min-height: 100vh;
}

.np-breadcrumbs {
    margin-block-end: var(--np-spacing-lg);
}

.np-breadcrumbs-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-spacing-xs);
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--np-color-text-muted);
    font-size: var(--np-font-size-sm);
}

.np-breadcrumbs-item {
    display: inline-flex;
    gap: var(--np-spacing-xs);
    align-items: center;
    margin: 0;
}

.np-breadcrumbs-link {
    color: var(--np-color-text-muted);
}

.np-breadcrumbs-link:hover,
.np-breadcrumbs-link:focus {
    color: var(--np-color-primary-teal);
}

.np-breadcrumbs-current {
    color: var(--np-color-primary-dark);
}

.np-breadcrumbs-separator {
    color: var(--np-color-border-strong);
}

.np-pagination {
    margin-block-start: var(--np-spacing-2xl);
}

.np-pagination-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-spacing-xs);
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.np-pagination-item {
    margin: 0;
}

.np-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding-inline: var(--np-spacing-sm);
    color: var(--np-color-primary-dark);
    background: var(--np-color-surface);
    border: var(--np-border);
    border-radius: var(--np-radius-md);
    transition:
        color var(--np-transition-fast),
        background-color var(--np-transition-fast),
        border-color var(--np-transition-fast);
}

.np-pagination .page-numbers:hover,
.np-pagination .page-numbers:focus,
.np-pagination .page-numbers.current {
    color: var(--np-color-surface);
    background: var(--np-color-primary-teal);
    border-color: var(--np-color-primary-teal);
}

.np-post-navigation {
    margin-block-start: var(--np-spacing-3xl);
}

.np-post-navigation-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--np-spacing-lg);
}

.np-post-navigation-item {
    min-width: 0;
}

.np-post-navigation-next {
    text-align: end;
}

.np-post-navigation-link {
    display: grid;
    gap: var(--np-spacing-xs);
    padding: var(--np-spacing-lg);
    color: var(--np-color-text);
    background: var(--np-color-surface);
    border: var(--np-border);
    border-radius: var(--np-radius-xl);
    box-shadow: var(--np-shadow-xs);
}

.np-post-navigation-label {
    color: var(--np-color-text-muted);
    font-size: var(--np-font-size-sm);
}

.np-post-navigation-title {
    color: var(--np-color-primary-dark);
    font-family: var(--np-font-heading);
    font-weight: var(--np-font-weight-bold);
}

.np-post-navigation-link:hover,
.np-post-navigation-link:focus {
    border-color: var(--np-color-primary-teal);
    box-shadow: var(--np-shadow-sm);
}

@media (max-width: 1180px) {
    .np-loop,
    .np-index-loop,
    .np-archive-loop,
    .np-search-loop,
    .np-loop-four-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-content-layout-right-sidebar,
    .np-content-layout-left-sidebar,
    .np-layout-right-sidebar .np-content-layout,
    .np-layout-left-sidebar .np-content-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-content-layout-left-sidebar .np-content-main,
    .np-layout-left-sidebar .np-content-main,
    .np-content-layout-left-sidebar .np-sidebar-area,
    .np-layout-left-sidebar .np-sidebar-area {
        order: initial;
    }
}

@media (max-width: 782px) {
    .np-content-area,
    .np-page-area,
    .np-single-area,
    .np-archive-area,
    .np-search-area,
    .np-404-area,
    .np-landing-area {
        padding-block: var(--np-section-padding-y);
    }

    .np-loop,
    .np-index-loop,
    .np-archive-loop,
    .np-search-loop,
    .np-loop-two-columns,
    .np-loop-four-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--np-spacing-lg);
    }

    .np-page-header {
        margin-block-end: var(--np-spacing-xl);
    }

    .np-post-navigation-inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-post-navigation-next {
        text-align: start;
    }
}