/*
 * Homepage component styles.
 * Loaded conditionally on the front page only (see inc/conditional-assets.php).
 */

/* Homepage layout adopts the same grid system as posts but with a
 * slightly wider primary column on desktop. */
.rw-layout--home {
	gap: 2.5rem;
}

/* Section wrappers used by hero / latest / category blocks. */
.rw-home-section {
	margin-block: 2.5rem;
}
.rw-home-section:first-child { margin-top: 0; }
.rw-home-section__title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.3rem, 1.1rem + 0.75vw, 1.6rem);
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
}
.rw-home-section__title a {
	color: var(--rw-color-secondary);
	text-decoration: none;
}
.rw-home-section__title a:hover { color: var(--rw-color-primary); }
.rw-home-section__eyebrow {
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rw-color-primary);
	font-weight: 600;
}

/* ----------------------------------------------------------------- */
/*  Hero                                                              */
/* ----------------------------------------------------------------- */
.rw-home-hero {
	margin-bottom: 2.5rem;
}

/* The hero re-uses the .rw-hero card from main.css but with a
 * homepage badge above the title. */
.rw-home-hero .rw-hero {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.rw-home-hero__badge {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	background: var(--rw-color-primary);
	color: #fff;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 0.5rem;
}

/* ----------------------------------------------------------------- */
/*  Latest grid                                                       */
/* ----------------------------------------------------------------- */
.rw-home-latest__head,
.rw-home-cat-block__head,
.rw-home-newsletter__head,
.rw-home-search__head {
	margin-bottom: 1.25rem;
}
.rw-home-latest__grid,
.rw-home-cat-block__grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 600px) {
	.rw-home-latest__grid,
	.rw-home-cat-block__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
	body.no-sidebar .rw-home-latest__grid,
	body.no-sidebar .rw-home-cat-block__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.rw-home-latest__more {
	margin-top: 1.25rem;
	text-align: right;
}

/* ----------------------------------------------------------------- */
/*  Category content blocks                                           */
/* ----------------------------------------------------------------- */
.rw-home-cat-block {
	margin-block: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--rw-color-border);
}
.rw-home-cat-block:first-of-type { border-top: 0; padding-top: 0; }
.rw-home-cat-block__title {
	margin: 0;
	font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.45rem);
}
.rw-home-cat-block__title a {
	color: var(--rw-color-secondary);
	text-decoration: none;
}
.rw-home-cat-block__title a:hover { color: var(--rw-color-primary); }
.rw-home-cat-block__description {
	margin: 0.35rem 0 0;
	color: var(--rw-color-text-muted);
	font-size: 0.95rem;
}
.rw-home-cat-block__more {
	margin-top: 1.25rem;
	text-align: right;
}

/* ----------------------------------------------------------------- */
/*  Search + newsletter sections                                      */
/* ----------------------------------------------------------------- */
.rw-home-search,
.rw-home-newsletter {
	margin-block: 2.5rem;
	padding: 1.75rem 1.5rem;
	background: var(--rw-color-bg-soft);
	border-radius: var(--rw-radius);
	text-align: center;
}
.rw-home-search h2,
.rw-home-newsletter h2 {
	margin: 0 0 0.5rem;
}
.rw-home-search p,
.rw-home-newsletter p {
	margin: 0 0 1rem;
	color: var(--rw-color-text-muted);
}
.rw-home-search form,
.rw-home-newsletter form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	max-width: 480px;
	margin: 0 auto;
}
.rw-home-search input[type="search"],
.rw-home-newsletter input[type="email"] {
	flex: 1 1 200px;
}

/* "Ghost" CTA button used for "View more" links. */
.rw-button--ghost {
	background: transparent;
	color: var(--rw-color-primary);
	border: 1px solid var(--rw-color-primary);
}
.rw-button--ghost:hover,
.rw-button--ghost:focus-visible {
	background: var(--rw-color-primary);
	color: #fff;
}

/* Mobile spacing: cap big section gaps so the homepage stays compact. */
@media (max-width: 600px) {
	.rw-home-section,
	.rw-home-cat-block,
	.rw-home-search,
	.rw-home-newsletter { margin-block: 1.75rem; }
	.rw-home-search,
	.rw-home-newsletter { padding: 1.25rem 1rem; }
}
