/* ==========================================================================
   Archive Page Styles
   Loaded only on archive pages via archive.php
   ========================================================================== */

/* -------------------------------------------------------------------------
   Hero Section — .blog-page-header
   Dynamic vars --cat-color and --cat-rgb are set inline per category.
   ------------------------------------------------------------------------- */
.blog-page-header {
	--title-color: #1f2937;
	--muted-color: #475569;
	position: relative;
	isolation: isolate;
	min-height: 70vh;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 7rem 1.5rem;
	background: rgba(var(--cat-rgb), 0.15);
}

/* Wave stacks */
.blog-page-header .waveStack {
	position: absolute;
	left: 0;
	width: 100%;
	overflow: hidden;
	pointer-events: none;
}

.blog-page-header .waveStack--top {
	top: 0;
	height: 200px;
}

.blog-page-header .waveStack--bottom {
	bottom: 0;
	height: 180px;
	transform: rotate(180deg);
}

/* Individual wave SVGs — each positioned absolutely so they animate independently */
.blog-page-header .wave {
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 100%;
	display: block;
}

/* Wave movement keyframes */
@keyframes waveMove {
	0%   { transform: translateX(-8%); }
	50%  { transform: translateX(0%);  }
	100% { transform: translateX(-8%); }
}

/* 4 waves at different speeds — 2x faster than original */
.blog-page-header .wave-1 { animation: waveMove 5s ease-in-out infinite; }
.blog-page-header .wave-2 { animation: waveMove 4s ease-in-out infinite; }
.blog-page-header .wave-3 { animation: waveMove 6s ease-in-out infinite; }
.blog-page-header .wave-4 { animation: waveMove 8s  ease-in-out infinite; }

/* Hero content */
.blog-page-header .category-header-content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 48rem;
	text-align: center;
}

.blog-page-header .category-header-title {
	margin: 0;
	font-size: clamp(2rem, 3.5vw, 3.25rem);
	line-height: 1.1;
	font-weight: 650;
	color: var(--title-color);
}

.blog-page-header .category-header-description {
	margin: 1.5rem auto 0;
	max-width: 42rem;
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--muted-color);
}

.blog-page-header .category-header-description p {
	margin: 0 0 0.5rem;
}

/* Dot navigation */
.blog-page-header .dots {
	margin-top: 2rem;
}

.blog-page-header .dots ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
}

.blog-page-header .dots li span {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--cat-color);
	opacity: 0.4;
	transition: opacity 200ms ease, transform 200ms ease;
}

.blog-page-header .dots li.active span {
	opacity: 1;
	transform: scale(1.3);
}

.blog-page-header .dots li a:hover span {
	opacity: 0.8;
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (min-width: 640px) {
	.blog-page-header {
		padding: 7.5rem 2.5rem;
	}

	.blog-page-header .category-header-description {
		font-size: 1.125rem;
	}
}
