/* Resources (posts page / archive) — every rule is scoped under .rs-page. Used by template-parts/archive.php */
.rs-page {
	--rs-ink: #1a1420;
	--rs-ink-soft: #5b5560;
	--rs-ink-faint: #8a848f;
	--rs-line: #ece8ee;
	--rs-line-strong: #ddd7e2;
	--rs-bg-tint: #faf8fb;
	--rs-brand: #e8175d;
	--rs-brand-deep: #c11250;
	--rs-brand-wash: #fdeef3;
	--rs-radius: 14px;
	--rs-maxw: 1080px;
	color: var(--rs-ink);
	line-height: 1.5;
}
.rs-page *, .rs-page *::before, .rs-page *::after { box-sizing: border-box; }
.rs-page a { color: inherit; text-decoration: none; }
.rs-page img { display: block; max-width: 100%; }

.rs-page .rs-wrap { max-width: var(--rs-maxw); margin: 0 auto; padding: 0 24px; }

/* ---------- Page head ---------- */
.rs-page .rs-head { padding: 54px 0 30px; }
.rs-page .rs-head h1 {
	font-size: 40px; line-height: 1.08; letter-spacing: -0.03em;
	margin: 0 0 12px; font-weight: 800; color: var(--rs-ink);
}
.rs-page .rs-head p { margin: 0; font-size: 17px; color: var(--rs-ink-soft); max-width: 67ch; }

/* ---------- Inner pages (page 2+) ---------- */
.rs-page .rs-crumbs {
	padding: 26px 0 0; font-size: 13.5px; color: var(--rs-ink-faint);
	display: flex; align-items: center; gap: 8px;
}
.rs-page .rs-crumbs a:hover { color: var(--rs-brand); }
.rs-page .rs-crumbs .rs-sep { opacity: .5; }
.rs-page.rs-inner .rs-head {
	padding: 14px 0 30px; display: flex; align-items: baseline;
	justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.rs-page.rs-inner .rs-head h1 { margin: 0; }
.rs-page .rs-pageflag { font-size: 15px; color: var(--rs-ink-faint); font-weight: 600; }
.rs-page.rs-inner .rs-feed-label { padding-bottom: 4px; }
.rs-page.rs-inner .rs-post:first-of-type { padding-top: 18px; }

/* ---------- Layout ---------- */
.rs-page .rs-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 268px;
	gap: 48px;
	padding-bottom: 72px;
}

/* ---------- Featured (latest) ---------- */
.rs-page .rs-feature {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 28px;
	align-items: center;
	padding: 24px 0 34px;
	border-bottom: 1px solid var(--rs-line);
	margin-bottom: 34px;
}
.rs-page .rs-feature-media {
	aspect-ratio: 16/11;
	border-radius: var(--rs-radius);
	background: radial-gradient(120% 120% at 20% 15%, #ff5c93 0%, #e8175d 42%, #8d0f47 100%);
	position: relative; overflow: hidden; display: block;
}
.rs-page .rs-feature-media img { width: 100%; height: 100%; object-fit: cover; }
.rs-page .rs-feature-media img.rs-no-image { object-fit: contain; padding: 18%; }
.rs-page .rs-kicker {
	display: inline-block; font-size: 12.5px; font-weight: 700;
	color: var(--rs-brand); margin-bottom: 12px;
}
.rs-page .rs-feature h2 {
	font-size: 27px; line-height: 1.18; letter-spacing: -0.02em;
	margin: 0 0 12px; font-weight: 800; color: var(--rs-ink);
}
.rs-page .rs-feature h2 a:hover { color: var(--rs-brand-deep); }
.rs-page .rs-feature p { margin: 0 0 16px; color: var(--rs-ink-soft); font-size: 15.5px; }

.rs-page .rs-meta {
	display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
	font-size: 13px; color: var(--rs-ink-faint);
}
.rs-page .rs-meta .rs-cat {
	color: var(--rs-brand-deep); font-weight: 600;
	background: var(--rs-brand-wash); padding: 3px 10px; border-radius: 999px;
}
.rs-page .rs-meta a.rs-cat:hover { background: var(--rs-brand); color: #fff; }
.rs-page .rs-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--rs-ink-faint); }

/* ---------- Article list ---------- */
.rs-page .rs-feed-label {
	font-size: 13px; font-weight: 700; color: var(--rs-ink-faint);
	letter-spacing: 0.02em; text-transform: uppercase; padding-bottom: 18px;
}
.rs-page .rs-post {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 22px;
	padding: 26px 0;
	border-bottom: 1px solid var(--rs-line);
}
.rs-page .rs-post-thumb {
	aspect-ratio: 4/3; border-radius: 11px;
	background: var(--rs-bg-tint);
	position: relative; overflow: hidden;
	border: 1px solid var(--rs-line); display: block;
}
.rs-page .rs-post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.rs-page .rs-post-thumb img.rs-no-image { object-fit: contain; padding: 22%; }
.rs-page .rs-g1 { background: linear-gradient(140deg, #fff0f5, #ffe0ec); }
.rs-page .rs-g2 { background: linear-gradient(140deg, #f2ecff, #e6dbff); }
.rs-page .rs-g3 { background: linear-gradient(140deg, #eafff4, #d6f5e6); }
.rs-page .rs-g4 { background: linear-gradient(140deg, #fff6e6, #ffe9c7); }
.rs-page .rs-g5 { background: linear-gradient(140deg, #e8f4ff, #d3e9ff); }
.rs-page .rs-g6 { background: linear-gradient(140deg, #ffeef0, #ffd9df); }

.rs-page .rs-post-body h2 {
	margin: 2px 0 8px; font-size: 20px; line-height: 1.25;
	letter-spacing: -0.015em; font-weight: 700; color: var(--rs-ink);
}
.rs-page .rs-post-body h2 a:hover { color: var(--rs-brand-deep); }
.rs-page .rs-post-body p {
	margin: 0 0 12px; color: var(--rs-ink-soft); font-size: 15px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rs-page .rs-empty { padding: 40px 0; color: var(--rs-ink-soft); }

/* ---------- Pagination ---------- */
.rs-page .rs-pagination {
	display: flex; align-items: center; justify-content: center;
	flex-wrap: wrap; gap: 6px; padding: 44px 0 8px;
}
.rs-page .rs-pagination a, .rs-page .rs-pagination span {
	min-width: 42px; height: 42px; padding: 0 10px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 10px; font-size: 15px; font-weight: 600;
	border: 1px solid var(--rs-line-strong); color: var(--rs-ink-soft);
}
.rs-page .rs-pagination a:hover { border-color: var(--rs-brand); color: var(--rs-brand); }
.rs-page .rs-pagination .rs-current { background: var(--rs-brand); border-color: var(--rs-brand); color: #fff; }
.rs-page .rs-pagination .rs-gap { border: none; color: var(--rs-ink-faint); min-width: 24px; }
.rs-page .rs-pagination .rs-edge.rs-off { opacity: .38; pointer-events: none; }

/* ---------- Sidebar ---------- */
.rs-page .rs-side { position: sticky; top: 100px; align-self: start; }
.rs-page .rs-side-block { margin-bottom: 34px; }
.rs-page .rs-side-title {
	font-size: 13px; font-weight: 700; color: var(--rs-ink);
	margin: 0 0 14px; letter-spacing: 0.01em;
}
.rs-page .rs-cat-list { display: flex; flex-direction: column; gap: 2px; }
.rs-page .rs-cat-list a {
	display: flex; justify-content: space-between; align-items: center;
	padding: 9px 12px; border-radius: 9px;
	font-size: 14.5px; color: var(--rs-ink-soft); font-weight: 500;
}
.rs-page .rs-cat-list a:hover { background: var(--rs-bg-tint); color: var(--rs-ink); }
.rs-page .rs-cat-list a b { color: var(--rs-ink-faint); font-weight: 600; font-size: 12.5px; }
.rs-page .rs-cat-list a:hover b { color: var(--rs-brand); }
.rs-page .rs-cat-list a.rs-cat-active { background: var(--rs-brand-wash); color: var(--rs-brand-deep); font-weight: 700; }
.rs-page .rs-cat-list a.rs-cat-active b { color: var(--rs-brand-deep); }

.rs-page .rs-cta-card {
	background: linear-gradient(155deg, #e8175d, #a81049);
	border-radius: var(--rs-radius); padding: 22px; color: #fff;
}
.rs-page .rs-cta-title { margin: 0 0 6px; font-size: 17px; font-weight: 800; letter-spacing: -0.01em; color: #fff; }
.rs-page .rs-cta-card p { margin: 0 0 16px; font-size: 13.5px; opacity: .9; line-height: 1.45; }
.rs-page .rs-cta-card a {
	display: block; text-align: center; background: #fff; color: var(--rs-brand-deep);
	font-weight: 700; font-size: 14px; padding: 11px; border-radius: 999px;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.rs-page .rs-layout { grid-template-columns: 1fr; gap: 0; }
	.rs-page .rs-side {
		position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
		padding-top: 40px; border-top: 1px solid var(--rs-line); margin-top: 20px;
	}
	.rs-page .rs-feature { grid-template-columns: 1fr; }
	.rs-page .rs-feature-media { order: -1; }
}
@media (max-width: 620px) {
	.rs-page .rs-head h1 { font-size: 31px; }
	.rs-page .rs-post { grid-template-columns: 1fr; }
	.rs-page .rs-post-thumb { aspect-ratio: 16/8; }
	.rs-page .rs-side { grid-template-columns: 1fr; }
}
