.sh-category-page,
.sh-posts-index,
.sh-archive {
	padding-block: 6px 40px;
}

.sh-archive-hero,
.sh-archive-header {
	max-width: var(--sh-reading-width);
	margin-bottom: clamp(34px, 6vw, 56px);
}

.sh-archive-hero__title,
.sh-archive-header h1 {
	margin-bottom: 18px;
	font-size: clamp(2.35rem, 6vw, 4.5rem);
	letter-spacing: -0.035em;
}

.sh-archive-hero__description,
.sh-archive-header > div {
	color: var(--sh-color-muted);
	font-size: clamp(1rem, 1.5vw, 1.08rem);
}

.sh-archive-hero__description > :last-child,
.sh-archive-header > div > :last-child {
	margin-bottom: 0;
}

.sh-featured-fortune {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 30px;
	margin-bottom: clamp(34px, 6vw, 58px);
	padding: clamp(26px, 5vw, 44px);
	border: 1px solid rgb(213 184 118 / 23%);
	border-radius: var(--sh-radius-lg);
	background: radial-gradient(circle at 90% 0, rgb(127 76 173 / 20%), transparent 27rem), var(--sh-color-surface);
}

.sh-featured-fortune h2 {
	margin-bottom: 10px;
	font-size: clamp(1.7rem, 4vw, 2.65rem);
}

.sh-featured-fortune h2 a {
	color: var(--sh-color-text);
	text-decoration: none;
}

.sh-featured-fortune p:not(.sh-section-eyebrow) {
	max-width: 720px;
	margin: 0;
	color: var(--sh-color-muted);
}

.sh-archive-grid,
.sh-entry-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.sh-archive-card {
	overflow: hidden;
	min-width: 0;
	border: 1px solid var(--sh-color-border);
	border-radius: var(--sh-radius-lg);
	background: linear-gradient(145deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 2%));
	box-shadow: var(--sh-shadow-soft);
}

.sh-archive-card__media {
	display: grid;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: radial-gradient(circle, #3a2851, #16101f 72%);
	place-items: center;
}

.sh-archive-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sh-archive-card__placeholder {
	color: var(--sh-color-accent);
	font-size: 2.5rem;
	text-shadow: 0 0 24px rgb(213 184 118 / 45%);
}

.sh-archive-card__body {
	padding: 22px;
}

.sh-archive-card__meta {
	margin-bottom: 8px;
	color: var(--sh-color-accent);
	font-size: 0.68rem;
	font-weight: 750;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.sh-archive-card__title {
	margin-bottom: 12px;
	font-family: var(--sh-font-sans);
	font-size: 1.18rem;
	line-height: 1.35;
}

.sh-archive-card__title a {
	color: var(--sh-color-text);
	text-decoration: none;
}

.sh-archive-card__title a:hover {
	color: var(--sh-color-accent-hover);
}

.sh-archive-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 9px;
	color: var(--sh-color-muted);
	font-size: 0.9rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.sh-pagination {
	margin-top: 42px;
}

.sh-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.sh-pagination .page-numbers {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid var(--sh-color-border);
	border-radius: var(--sh-radius-sm);
	background: var(--sh-color-surface);
	color: var(--sh-color-muted);
	text-decoration: none;
}

.sh-pagination .current {
	border-color: var(--sh-color-accent);
	background: var(--sh-color-accent);
	color: #17111f;
}

.sh-related-categories,
.sh-archive-seo {
	margin-top: clamp(52px, 8vw, 78px);
	padding-top: clamp(30px, 5vw, 42px);
	border-top: 1px solid var(--sh-color-border);
}

.sh-related-categories h2 {
	margin-bottom: 18px;
	font-size: clamp(1.55rem, 3vw, 2.1rem);
}

.sh-related-categories > div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sh-related-categories a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	padding: 8px 15px;
	border: 1px solid var(--sh-color-border);
	border-radius: 999px;
	background: var(--sh-color-surface);
	color: var(--sh-color-muted);
	font-weight: 700;
	text-decoration: none;
}

.sh-related-categories a:hover {
	border-color: var(--sh-color-accent);
	color: var(--sh-color-accent-hover);
}

.sh-archive-seo__inner {
	max-width: var(--sh-reading-width);
	color: #cec5d4;
}

.sh-archive-seo__inner h2,
.sh-archive-seo__inner h3 {
	margin-top: 1.6em;
}

@media (max-width: 900px) {
	.sh-archive-grid,
	.sh-entry-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.sh-featured-fortune {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.sh-featured-fortune .sh-button {
		width: 100%;
	}

	.sh-archive-grid,
	.sh-entry-grid {
		grid-template-columns: 1fr;
	}
}
