.np-archive-page { min-height: 0; padding-bottom: 0; }
.np-archive-header { max-width: 900px; padding-bottom: 1.5rem; border-bottom: 1px solid var(--np-color-border); }
.np-archive-header > span { display: block; margin-bottom: .4rem; color: var(--np-color-primary); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.np-archive-header h1 { margin: 0; font-size: clamp(1.75rem, 4vw, 2.5rem); letter-spacing: -.035em; line-height: 1.12; }
.np-archive-description { max-width: 720px; margin-top: .75rem; color: var(--np-color-text-muted); font-size: 1rem; }
.np-archive-description > *:last-child { margin-bottom: 0; }
.np-category-featured { padding-block: .5rem 2rem; }
.np-category-featured + .np-advertisement { width: calc(100% - 2rem); max-width: 970px; margin: 0 auto 2rem; }
.np-category-featured > h2, .np-archive-section-title { position: relative; margin-bottom: 1.5rem; padding-bottom: .75rem; border-bottom: 2px solid var(--np-color-border); font-size: clamp(1.25rem, 3vw, 1.55rem); text-transform: uppercase; }
.np-category-featured > h2::after, .np-archive-section-title::after { position: absolute; bottom: -2px; left: 0; width: 3rem; height: 2px; background: var(--np-color-primary); content: ""; }
.np-category-featured__grid { display: grid; min-width: 0; gap: 1.5rem; }
.np-category-featured__main { min-width: 0; }
.np-category-featured__image { display: block; overflow: hidden; margin-bottom: 1rem; border-radius: var(--np-radius-md); background: var(--np-color-surface); aspect-ratio: 16/9; }
.np-category-featured__image img { width: 100%; height: 100%; object-fit: cover; }
.np-category-featured__main h3 { margin-bottom: .65rem; font-size: clamp(1.55rem, 4.5vw, 2.35rem); letter-spacing: -.035em; line-height: 1.13; }
.np-category-featured__main h3 a, .np-archive-card h3 a { color: var(--np-color-text); text-decoration: none; }
.np-category-featured__main p { max-width: 680px; margin-bottom: .5rem; color: var(--np-color-text-muted); }
.np-category-featured time, .np-archive-card time, .np-card-time { color: var(--np-color-text-muted); font-size: .75rem; }
.np-category-featured__secondary { display: grid; align-content: start; gap: 1rem; }
.np-category-featured__secondary .np-small-card { padding-bottom: 1rem; border-bottom: 1px solid var(--np-color-border); }
.np-category-featured__secondary .np-small-card:last-child { border-bottom: 0; }
.np-small-card { display: grid; min-width: 0; grid-template-columns: minmax(6rem, 34%) minmax(0,1fr); gap: .85rem; }
.np-small-card__image { display: block; overflow: hidden; border-radius: var(--np-radius-sm); aspect-ratio: 4/3; }
.np-small-card__image img { width: 100%; height: 100%; object-fit: cover; }
.np-small-card__content, .np-small-card__title { min-width: 0; }
.np-small-card__title { margin-bottom: .25rem; font-size: .95rem; line-height: 1.38; }
.np-small-card__title a { color: var(--np-color-text); text-decoration: none; }
.np-category-label { display: inline-block; margin-bottom: .35rem; color: var(--np-color-primary); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.np-archive-content { padding-top: 1rem; }
.np-archive-layout { display: grid; min-width: 0; gap: 3rem; align-items: start; }
.np-archive-results, .np-archive-sidebar { min-width: 0; }
.np-archive-list { display: grid; gap: 1.4rem; }
.np-archive-card { display: grid; min-width: 0; grid-template-columns: minmax(8rem, 36%) minmax(0,1fr); gap: 1rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--np-color-border); }
.np-archive-card--no-image, .np-archive-card.np-card--no-image { grid-template-columns: 1fr; }
.np-archive-card__image { display: block; overflow: hidden; border-radius: var(--np-radius-sm); background: var(--np-color-surface); aspect-ratio: 4/3; }
.np-archive-card__image img { width: 100%; height: 100%; object-fit: cover; }
.np-archive-card__content { min-width: 0; }
.np-archive-card h3 { margin-bottom: .45rem; font-size: clamp(1.05rem, 2.5vw, 1.35rem); line-height: 1.3; }
.np-archive-card p { display: -webkit-box; margin-bottom: .45rem; overflow: hidden; color: var(--np-color-text-muted); font-size: .9rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.np-archive-sidebar { margin-top: 1rem; }
.np-archive-sidebar__inner { display: grid; gap: 2.25rem; }
.np-section-heading { display: flex; align-items: center; min-height: 2.6rem; margin-bottom: 1rem; border-bottom: 2px solid var(--np-color-border); }
.np-section-heading h2 { position: relative; margin: 0; padding-bottom: .7rem; font-size: 1.12rem; text-transform: uppercase; }
.np-section-heading h2::after { position: absolute; bottom: -2px; left: 0; width: 3rem; height: 2px; background: var(--np-color-primary); content: ""; }
.np-popular-list { margin: 0; padding: 0; list-style: none; }
.np-popular-list li { display: grid; grid-template-columns: 2.7rem minmax(0,1fr); gap: .7rem; padding: .9rem 0; border-bottom: 1px solid var(--np-color-border); }
.np-popular-number { color: #c9c9c9; font-size: 1.8rem; font-weight: 800; line-height: 1; }
.np-popular-list h3 { margin: 0 0 .2rem; font-size: .92rem; line-height: 1.38; }
.np-popular-list h3 a { color: var(--np-color-text); text-decoration: none; }
.np-trending-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.np-trending-tags a { padding: .42rem .68rem; border: 1px solid var(--np-color-border); border-radius: 999px; font-size: .78rem; text-decoration: none; }
.np-advertisement { display: flex; min-height: 90px; align-items: center; justify-content: center; flex-direction: column; margin-block: 2rem; border: 1px dashed #d7d7d7; background: #fafafa; color: var(--np-color-text-muted); text-align: center; }
.np-advertisement--compact { min-height: 180px; margin: 0; }
.np-advertisement span { font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.navigation.pagination { margin-top: 2rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.page-numbers { display: inline-flex; min-width: 2.5rem; min-height: 2.5rem; align-items: center; justify-content: center; padding: .45rem .7rem; color: var(--np-color-text); text-decoration: none; }
.page-numbers.current { border-color: var(--np-color-primary); background: var(--np-color-primary); color: #fff; }
.navigation.pagination { width: 100%; }
.navigation.pagination .nav-links { align-items: center; }
.navigation.pagination .page-numbers { border: 1px solid var(--np-color-border); border-radius: .2rem; background: #fff; font-weight: 700; }
.navigation.pagination a.page-numbers:hover { border-color: var(--np-color-primary); color: var(--np-color-primary); }
.navigation.pagination .page-numbers.current { border-color: var(--np-color-primary); background: var(--np-color-primary); color: #fff; }
.np-progressive-pagination { display: grid; justify-items: center; gap: .65rem; width: 100%; margin-top: 2rem; }
.np-load-more { min-width: 13rem; min-height: 46px; padding: .7rem 1.25rem; border: 1px solid var(--np-color-primary); border-radius: .2rem; background: var(--np-color-primary); color: #fff; font: inherit; font-size: .9rem; font-weight: 800; cursor: pointer; transition: background-color .15s,border-color .15s,transform .15s; }
.np-load-more:hover { border-color: var(--np-color-primary-dark); background: var(--np-color-primary-dark); transform: translateY(-1px); }
.np-load-more:disabled { cursor: wait; opacity: .68; transform: none; }
.np-load-status { min-height: 1.25rem; color: var(--np-color-text-muted); font-size: .78rem; text-align: center; }
.np-load-sentinel { width: 100%; height: 1px; }
.np-progressive-pagination.is-auto:not(.is-loading) .np-load-more { position: absolute; width: 1px; height: 1px; min-width: 0; min-height: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.np-progressive-pagination.is-auto.is-loading .np-load-more { display: block; }
.np-progressive-pagination.is-complete .np-load-sentinel { display: none; }
.np-archive-empty { padding: 2rem; background: var(--np-color-surface); }
.np-archive-empty h2 { font-size: 1.4rem; }
.np-author-profile { display: grid; max-width: 900px; grid-template-columns: auto minmax(0,1fr); gap: 1.5rem; align-items: center; margin-bottom: 2.5rem; padding: 1.75rem; border-block: 1px solid var(--np-color-border); background: #fafafa; }
.np-author-profile .avatar { width: 112px; height: 112px; border-radius: 50%; }
.np-author-profile span { color: var(--np-color-primary); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.np-author-profile h1 { margin: .2rem 0; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.np-author-role { margin-bottom: .35rem; color: var(--np-color-text-muted); font-weight: 600; }
.np-author-description p { margin-bottom: .5rem; }
.np-archive-page { padding-top: 1.75rem; }
.np-archive-header { padding-bottom: 1rem; }
.np-category-featured { padding-block: .25rem 1.5rem; }
.np-category-featured__image { margin-bottom: .75rem; border-radius: .25rem; }
.np-archive-content { padding-top: .5rem; }
.np-archive-layout { gap: 2.5rem; }
.np-archive-list { gap: 1rem; }
.np-archive-card { gap: .9rem; padding-bottom: 1rem; }
.np-archive-card__image { border-radius: .25rem; }
.np-archive-card h3 { font-size: clamp(1rem,2.3vw,1.25rem); }
.np-archive-sidebar__inner { gap: 1.75rem; }
@media (min-width: 720px) { .np-archive-card { grid-template-columns: minmax(13rem, 280px) minmax(0,1fr); gap: 1.35rem; } }
@media (min-width: 900px) { .np-category-featured__grid { grid-template-columns: minmax(0,1.65fr) minmax(18rem,.85fr); gap: 2rem; } }
@media (min-width: 1120px) { .np-archive-layout { grid-template-columns: minmax(0,850px) minmax(280px,310px); gap: 3rem; justify-content: space-between; } .np-archive-sidebar { align-self: stretch; margin-top: 0; } .np-archive-sidebar.is-sticky-ready .np-archive-sidebar__inner { position: sticky; top: var(--np-smart-sticky-top,6.5rem); } }
@media (max-width: 559px) { .np-archive-card { grid-template-columns: 7.25rem minmax(0,1fr); gap: .8rem; } .np-archive-card.np-card--no-image { grid-template-columns: 1fr; } .np-archive-card p { display: none; } .np-author-profile { grid-template-columns: 64px minmax(0,1fr); padding: 1.25rem 0; background: transparent; } .np-author-profile .avatar { width: 64px; height: 64px; } .np-author-description { grid-column: 1/-1; } .page-numbers { min-width: 2.75rem; min-height: 2.75rem; } }
