/* LittleNest — blog, archives, search (loaded only on those views). */

.ln-blog__layout {
	display: grid;
	gap: var(--ln-s6);
}

@media (min-width: 1024px) {
	.ln-blog__layout {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: var(--ln-s8);
		align-items: start;
	}
}

.ln-blog__rainbow {
	left: 2%;
	top: 30%;
	width: clamp(70px, 8vw, 110px);
}

.ln-blog__kite {
	left: 3%;
	bottom: 12%;
	width: clamp(60px, 7vw, 100px);
}

.ln-grid--posts {
	grid-template-columns: 1fr;
	gap: var(--ln-s4);
}

@media (min-width: 700px) {
	.ln-grid--posts {
		grid-template-columns: 1fr 1fr;
	}

	.ln-grid--posts .ln-ncard {
		grid-template-columns: 1fr;
	}
}

.ln-grid--posts .ln-ncard {
	border: 1px solid var(--ln-line);
	box-shadow: var(--ln-shadow-sm);
}

/* Pagination */
.ln-pagination,
.pagination {
	margin-top: var(--ln-s6);
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.nav-links .page-numbers {
	display: grid;
	place-items: center;
	min-width: 48px;
	height: 48px;
	padding: 0 12px;
	border-radius: 16px;
	background: var(--ln-lavender-100);
	color: var(--ln-ink);
	font-family: var(--ln-font-head);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--ln-dur), transform var(--ln-dur) var(--ln-ease-bounce);
}

.nav-links .page-numbers.current {
	background: var(--ln-plum-800);
	color: #fff;
}

.nav-links a.page-numbers:hover {
	background: var(--ln-sun-500);
	transform: translateY(-3px);
}

/* Sidebar */
.ln-sidebar {
	display: grid;
	gap: var(--ln-s3);
}

@media (min-width: 1024px) {
	.ln-sidebar {
		position: sticky;
		top: calc(var(--ln-header-h) + 24px);
	}
}

.ln-widget {
	padding: var(--ln-s3);
	border: 2px solid var(--ln-sun-300);
	border-radius: var(--ln-r-lg);
	background: #fff;
}

.ln-widget--search {
	padding: 0;
	border: 0;
}

.ln-widget__title {
	font-size: 1.375rem;
	margin-bottom: var(--ln-s2);
}

.ln-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ln-recent {
	display: grid;
	gap: 16px;
}

.ln-recent a {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 14px;
	align-items: center;
	text-decoration: none;
	color: var(--ln-ink);
}

.ln-recent__thumb {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	overflow: hidden;
	background: var(--ln-sun-100);
	display: grid;
	place-items: center;
}

.ln-recent__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--ln-ease);
}

.ln-recent__thumb svg {
	width: 70%;
}

.ln-recent time {
	display: block;
	font-size: var(--ln-fs-xs);
	color: var(--ln-pink-700);
	font-weight: 700;
}

.ln-recent__title {
	display: block;
	font-weight: 800;
	line-height: 1.35;
	font-size: var(--ln-fs-sm);
}

.ln-recent a:hover .ln-recent__title {
	color: var(--ln-pink-700);
}

.ln-recent a:hover img {
	transform: scale(1.08);
}

.ln-catlist {
	display: grid;
	gap: 4px;
}

.ln-catlist a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	color: var(--ln-text);
	text-decoration: none;
	font-weight: 700;
	transition: color var(--ln-dur), transform var(--ln-dur) var(--ln-ease);
}

.ln-catlist .ln-icon {
	width: 18px;
	height: 18px;
	color: var(--ln-pink-500);
}

.ln-catlist a:hover {
	color: var(--ln-pink-700);
	transform: translateX(4px);
}

.ln-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.ln-tags a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 4px 14px;
	border-radius: var(--ln-r-pill);
	background: var(--ln-lavender-100);
	color: var(--ln-plum-800);
	font-weight: 700;
	font-size: var(--ln-fs-sm);
	text-decoration: none;
	transition: background-color var(--ln-dur), color var(--ln-dur), transform var(--ln-dur) var(--ln-ease-bounce);
}

.ln-tags a:nth-child(4n + 2) { background: var(--ln-sun-100); color: var(--ln-orange-700); }
.ln-tags a:nth-child(4n + 3) { background: var(--ln-pink-100); color: var(--ln-pink-700); }
.ln-tags a:nth-child(4n + 4) { background: var(--ln-sky-100); color: var(--ln-blue-700); }

.ln-tags a:hover {
	transform: translateY(-2px);
	background: var(--ln-plum-800);
	color: #fff;
}

.ln-widget--cta {
	text-align: center;
	background: var(--ln-lavender-100);
	border-color: transparent;
}

.ln-widget__art {
	width: 110px;
	margin: 0 auto 10px;
}

/* Article */
.ln-article__title {
	font-size: clamp(1.875rem, 2.4vw + 1rem, 2.75rem);
	margin-bottom: var(--ln-s2);
}

.ln-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-bottom: var(--ln-s4) !important;
	font-size: var(--ln-fs-sm);
	color: var(--ln-muted);
	font-weight: 700;
}

.ln-article__meta li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ln-article__meta .ln-icon {
	width: 20px;
	height: 20px;
	color: var(--ln-sky-500);
}

.ln-article__media {
	position: relative;
	margin: 0 0 var(--ln-s4);
	border-radius: var(--ln-r-lg);
	overflow: hidden;
	box-shadow: var(--ln-shadow-md);
}

.ln-article__media img {
	width: 100%;
}

.ln-article__badge {
	position: absolute;
	top: 18px;
	left: 0;
	padding: 6px 16px;
	border-radius: 0 999px 999px 0;
	background: var(--ln-pink-700);
	color: #fff;
	font-weight: 800;
	font-size: var(--ln-fs-sm);
}

.ln-article__content {
	font-size: 1.0625rem;
}

.ln-article .ln-tags {
	margin-top: var(--ln-s4);
}

.ln-comment-cta {
	display: grid;
	gap: var(--ln-s2);
	align-items: center;
	margin-top: var(--ln-s5);
	padding: var(--ln-s4);
	border-radius: var(--ln-r-lg);
	background: var(--ln-blue-700);
	color: #fff;
}

.ln-comment-cta h2 {
	color: #fff;
	font-size: 1.5rem;
	margin-bottom: 6px;
}

.ln-comment-cta p {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
}

@media (min-width: 640px) {
	.ln-comment-cta {
		grid-template-columns: 1fr auto;
	}
}

.ln-postnav {
	display: grid;
	gap: var(--ln-s2);
	margin-top: var(--ln-s5);
}

@media (min-width: 640px) {
	.ln-postnav {
		grid-template-columns: 1fr 1fr;
	}

	.ln-postnav__next {
		grid-column: 2;
		text-align: right;
	}
}

.ln-postnav a {
	display: block;
	padding: var(--ln-s2) var(--ln-s3);
	border-radius: var(--ln-r-md);
	background: var(--ln-bg-soft);
	color: var(--ln-ink);
	font-weight: 800;
	text-decoration: none;
	transition: background-color var(--ln-dur), transform var(--ln-dur) var(--ln-ease);
}

.ln-postnav a span {
	display: block;
	font-size: var(--ln-fs-xs);
	color: var(--ln-pink-700);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.ln-postnav a:hover {
	background: var(--ln-lavender-100);
	transform: translateY(-3px);
}

/* Comments */
.ln-comments {
	margin-top: var(--ln-s6);
}

.ln-comments__title {
	font-size: 1.75rem;
}

.ln-comments__list,
.ln-comments__list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ln-comments__list .children {
	padding-left: clamp(1rem, 6vw, 5rem);
}

.ln-comments__list .comment-body {
	position: relative;
	padding: var(--ln-s3) 0 var(--ln-s3) 84px;
	border-bottom: 1px solid var(--ln-line);
	min-height: 96px;
}

.ln-comments__list .avatar {
	position: absolute;
	left: 0;
	top: var(--ln-s3);
	border-radius: 50%;
}

.ln-comments__list .fn {
	font-family: var(--ln-font-head);
	font-style: normal;
	font-weight: 600;
	color: var(--ln-ink);
}

.ln-comments__list .says {
	display: none;
}

.ln-comments__list .comment-metadata {
	font-size: var(--ln-fs-xs);
}

.ln-comments__list .comment-metadata a {
	color: var(--ln-muted);
}

.ln-comments__list .reply a {
	font-weight: 800;
	font-size: var(--ln-fs-sm);
}

.comment-respond {
	margin-top: var(--ln-s5);
	padding: var(--ln-s4);
	border-radius: var(--ln-r-lg);
	background: var(--ln-bg-soft);
}

.comment-form label {
	display: block;
	font-weight: 800;
	margin-bottom: 6px;
	color: var(--ln-ink);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 16px;
	border: 2px solid var(--ln-line);
	border-radius: 14px;
	background: #fff;
}

.comment-form textarea:focus,
.comment-form input:focus {
	outline: none;
	border-color: var(--ln-plum-800);
	box-shadow: 0 0 0 4px rgba(62, 42, 133, 0.15);
}

.comment-form-cookies-consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.comment-form-cookies-consent label {
	font-weight: 600;
}
