/* Luna Fern Boards — pin grid, brand-matched (cream / sage / moon gold) */

.lf-board__head {
	max-width: 640px;
	margin: 0 auto 2.5rem;
	text-align: center;
}

.lf-board__eyebrow {
	font-family: 'Great Vibes', cursive;
	font-size: 1.9rem;
	color: #c29b5c;
	margin: 0 0 0.25rem;
}

.lf-board__title {
	font-size: clamp(2rem, 3.4vw, 3rem);
	margin-bottom: 0.75rem;
}

.lf-board__intro p {
	margin: 0 auto;
}

.lf-boards-disclosure {
	max-width: 720px;
	margin: 0 auto 1.75rem;
	padding: 0.7rem 1.1rem;
	background: #fffdf8;
	border: 1px solid #e7d8ba;
	border-radius: 12px;
	font-size: 0.85rem;
	color: #5c6b60;
	text-align: center;
}

/* masonry via CSS columns — true Pinterest feel, no JS */
.lf-pin-grid {
	columns: 4 240px;
	column-gap: 1.1rem;
}

.lf-pin {
	position: relative;
	break-inside: avoid;
	margin: 0 0 1.1rem;
	background: #fffdf8;
	border: 1px solid rgba(231, 216, 186, 0.6);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 26px rgba(58, 65, 52, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.lf-pin:hover {
	transform: translateY(-3px);
	border-color: #c29b5c;
	box-shadow: 0 14px 40px rgba(58, 65, 52, 0.1);
}

.lf-pin__media img {
	width: 100%;
	display: block;
}

.lf-pin__save {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #3a4134;
	color: #fbf6ec;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	opacity: 0;
	transition: opacity 0.2s ease, background 0.2s ease;
	text-decoration: none;
}

.lf-pin:hover .lf-pin__save,
.lf-pin__save:focus-visible {
	opacity: 1;
}

.lf-pin__save:hover {
	background: #c29b5c;
	color: #fff;
}

.lf-pin__body {
	padding: 0.9rem 1.05rem 1.1rem;
}

.lf-pin__meta {
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8a9a86;
}

.lf-pin__tier {
	color: #c29b5c;
	letter-spacing: 0.05em;
}

.lf-pin__title {
	font-size: 1.05rem;
	line-height: 1.3;
	margin: 0.3rem 0 0.35rem;
	color: #3a4134;
}

.lf-pin__note {
	font-size: 0.88rem;
	line-height: 1.55;
	color: #5c6b60;
	margin: 0 0 0.75rem;
}

.lf-pin__cta {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #c29b5c;
	text-decoration: none;
}

.lf-pin__cta:hover {
	color: #3a4134;
}

/* boards archive wall */
.lf-board-wall {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.4rem;
}

.lf-board-card {
	display: block;
	background: #fffdf8;
	border: 1px solid rgba(231, 216, 186, 0.6);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	box-shadow: 0 8px 26px rgba(58, 65, 52, 0.05);
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.lf-board-card:hover {
	transform: translateY(-3px);
	border-color: #c29b5c;
}

.lf-board-card__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.lf-board-card__body {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	padding: 0.9rem 1.05rem;
}

.lf-board-card__title {
	font-size: 1.05rem;
	color: #3a4134;
	font-weight: 600;
}

.lf-board-card__count {
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #c29b5c;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.lf-pin-grid {
		columns: 2 150px;
		column-gap: 0.75rem;
	}

	.lf-pin__save {
		opacity: 1; /* no hover on touch */
	}
}

/* image-less cards (AI-generated picks awaiting a photo) */
.lf-pin__media-empty {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	background: linear-gradient(160deg, #fbf6ec 0%, #eef0e8 100%);
	color: #c29b5c;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 3.5rem;
	font-style: italic;
}

.lf-pin__price-date {
	font-size: 0.62rem;
	letter-spacing: 0.02em;
	text-transform: none;
	color: #8a9a86;
}
