/* archives.css — Archive and taxonomy page layouts
 *
 * Covers four templates:
 *   archive-community.php  → .community-archive
 *   archive-guide.php      → .guide-archive
 *   taxonomy-province.php  → .province-hero, .province-communities
 *   taxonomy-guide_category.php → .guide-category-archive
 *
 * Shared element:
 *   .archive-hero — used by archive-community, archive-guide,
 *                   taxonomy-guide_category
 *
 * CSS ownership: archive hero, section wrappers, province grouping,
 * guide grouping, card grid orchestration, section spacing.
 * Component visual styles remain in their component CSS files.
 */

/* ═══════════════════════════════════════════════════════════
   SHARED — ARCHIVE HERO
   Used by: archive-community, archive-guide, guide_category
   ═══════════════════════════════════════════════════════════ */

.archive-hero {
	background-color: var(--green-dark);
	padding: 7rem 0 4rem;
	position: relative;
	overflow: hidden;
}

/* Decorative dot pattern */
.archive-hero::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	background-image: radial-gradient(
		circle, rgba(200, 169, 106, 0.07) 1px, transparent 1px
	);
	background-size: 28px 28px;
	pointer-events: none;
}

/* Eyebrow label (guide_category archive only) */
.archive-hero__eyebrow {
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 500;
	color: var(--gold);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 0.75rem;
	position: relative;
	z-index: 1;
}

.archive-hero__title {
	font-family: var(--font-serif);
	font-size: clamp(32px, 4.5vw, 56px);
	font-weight: 600;
	color: var(--white);
	line-height: 1.08;
	letter-spacing: -0.01em;
	margin: 0 0 1rem;
	position: relative;
	z-index: 1;
}

.archive-hero__subheading {
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 300;
	color: rgba(247, 247, 245, 0.65);
	line-height: 1.75;
	max-width: 560px;
	margin: 0;
	position: relative;
	z-index: 1;
}

.archive-hero__description {
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 300;
	color: rgba(247, 247, 245, 0.65);
	line-height: 1.75;
	max-width: 560px;
	margin: 0.75rem 0 0;
	position: relative;
	z-index: 1;
}

/* ═══════════════════════════════════════════════════════════
   COMMUNITY ARCHIVE — archive-community.php
   ═══════════════════════════════════════════════════════════ */

.community-archive {
	padding: var(--space-xl) 0;
	background-color: var(--white);
}

/* Province group: nav card + community cards grid */
.community-archive__province-group {
	margin-bottom: var(--space-xl);
	padding-bottom: var(--space-xl);
	border-bottom: 1px solid var(--cream-dark);
}

.community-archive__province-group:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

/* Province nav card sits above the grid */
.community-archive__province-group .province-nav-card {
	margin-bottom: 2rem;
}

/* Community cards grid within a province group */
.community-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* ═══════════════════════════════════════════════════════════
   GUIDE ARCHIVE — archive-guide.php
   ═══════════════════════════════════════════════════════════ */

.guide-archive {
	padding: var(--space-xl) 0;
	background-color: var(--white);
}

/* Category group */
.guide-archive__group {
	margin-bottom: var(--space-xl);
	padding-bottom: var(--space-xl);
	border-bottom: 1px solid var(--cream-dark);
}

.guide-archive__group:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.guide-archive__group-header {
	margin-bottom: 2rem;
}

.guide-archive__group-title {
	font-family: var(--font-serif);
	font-size: clamp(22px, 2.5vw, 32px);
	font-weight: 600;
	color: var(--green-dark);
}

.guide-archive__group-title a {
	color: inherit;
	text-decoration: none;
	transition: color var(--transition-base);
}

.guide-archive__group-title a:hover {
	color: var(--gold);
}

/* Guide cards grid within a category group */
.guide-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* ═══════════════════════════════════════════════════════════
   PROVINCE ARCHIVE — taxonomy-province.php
   ═══════════════════════════════════════════════════════════ */

/* Province hero (distinct from archive-hero — uses breadcrumb) */
.province-hero {
	background-color: var(--green-dark);
	padding: 7rem 0 4rem;
	position: relative;
	overflow: hidden;
}

.province-hero::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	background-image: radial-gradient(
		circle, rgba(200, 169, 106, 0.07) 1px, transparent 1px
	);
	background-size: 28px 28px;
	pointer-events: none;
}

.province-hero .container {
	position: relative;
	z-index: 1;
}

.province-hero__title {
	font-family: var(--font-serif);
	font-size: clamp(32px, 4.5vw, 56px);
	font-weight: 600;
	color: var(--white);
	line-height: 1.08;
	letter-spacing: -0.01em;
	margin: 0 0 1rem;
}

.province-hero__description {
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 300;
	color: rgba(247, 247, 245, 0.65);
	line-height: 1.75;
	max-width: 560px;
	margin: 0 0 0.75rem;
}

.province-hero__count {
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 500;
	color: var(--gold);
	letter-spacing: 0.10em;
	text-transform: uppercase;
	margin: 0;
}

/* Communities section */
.province-communities {
	padding: var(--space-xl) 0;
	background-color: var(--white);
}

/* Province nav card above the community list */
.province-communities .province-nav-card {
	margin-bottom: 3rem;
}

/* Community item rows */
.province-communities__grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.province-communities__item {
	padding: 2rem 0;
	border-bottom: 1px solid var(--cream-dark);
}

.province-communities__item:first-child {
	border-top: 1px solid var(--cream-dark);
}

.province-communities__name {
	font-family: var(--font-serif);
	font-size: clamp(20px, 2.5vw, 28px);
	font-weight: 600;
	color: var(--green-dark);
	margin-bottom: 0.5rem;
}

.province-communities__name a {
	color: inherit;
	text-decoration: none;
	transition: color var(--transition-base);
}

.province-communities__name a:hover {
	color: var(--gold);
}

.province-communities__tagline {
	font-family: var(--font-sans);
	font-size: 14px;
	font-weight: 300;
	color: var(--muted);
	margin-bottom: 1rem;
}

.province-communities__overview {
	max-width: 680px;
	margin-bottom: 1.25rem;
}

.province-communities__overview p {
	font-family: var(--font-sans);
	font-size: 14px;
	font-weight: 300;
	color: var(--charcoal);
	line-height: 1.75;
}

/* Facts inline */
.province-communities__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	margin-bottom: 1.5rem;
}

.province-communities__fact {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
}

.province-communities__fact dt {
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 500;
	color: var(--muted);
	letter-spacing: 0.10em;
	text-transform: uppercase;
}

.province-communities__fact dd {
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--charcoal);
}

/* ═══════════════════════════════════════════════════════════
   GUIDE CATEGORY ARCHIVE — taxonomy-guide_category.php
   ═══════════════════════════════════════════════════════════ */

.guide-category-archive {
	padding: var(--space-xl) 0;
	background-color: var(--white);
}

.guide-category-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — 1024px
   ═══════════════════════════════════════════════════════════ */

@media ( max-width: 1024px ) {

	/* Archive hero */
	.archive-hero {
		padding: 6rem 0 3rem;
	}

	.province-hero {
		padding: 6rem 0 3rem;
	}

	/* Community archive grid: 3 → 2 */
	.community-archive__grid {
		grid-template-columns: 1fr 1fr;
	}

	/* Guide archive grid: 3 → 2 */
	.guide-archive__grid {
		grid-template-columns: 1fr 1fr;
	}

	/* Guide category grid: 3 → 2 */
	.guide-category-archive__grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — 640px
   ═══════════════════════════════════════════════════════════ */

@media ( max-width: 640px ) {

	/* Archive hero */
	.archive-hero {
		padding: 5rem 0 2.5rem;
	}

	.province-hero {
		padding: 5rem 0 2.5rem;
	}

	/* Community archive */
	.community-archive {
		padding: var(--space-lg) 0;
	}

	.community-archive__grid {
		grid-template-columns: 1fr;
	}

	.community-archive__province-group {
		margin-bottom: var(--space-lg);
		padding-bottom: var(--space-lg);
	}

	/* Guide archive */
	.guide-archive {
		padding: var(--space-lg) 0;
	}

	.guide-archive__grid {
		grid-template-columns: 1fr;
	}

	.guide-archive__group {
		margin-bottom: var(--space-lg);
		padding-bottom: var(--space-lg);
	}

	/* Province communities */
	.province-communities {
		padding: var(--space-lg) 0;
	}

	/* Guide category */
	.guide-category-archive {
		padding: var(--space-lg) 0;
	}

	.guide-category-archive__grid {
		grid-template-columns: 1fr;
	}
}
