/**
 * 404 Error Page Styles (BEM)
 * Block: .error-page
 */

/* ==========================================================================
   Error Page Block
   ========================================================================== */

.error-page {
	padding: var(--spacing-4xl) var(--spacing-4xl) var(--spacing-6xl);
	display: flex;
	flex-direction: column;
	gap: 5.6rem;
	align-items: center;
	justify-content: center;
	flex: 1;
	min-height: calc(100vh - var(--header-height) - 20rem);
	overflow: hidden;
}

/* ==========================================================================
   Error Page Elements
   ========================================================================== */

.error-page__content {
	padding: 0 12rem;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xl);
	align-items: center;
	justify-content: flex-start;
	max-width: 132rem;
	width: 100%;
}

.error-page__title {
	font-family: var(--font-actay);
	font-size: var(--font-size-4xl);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	color: var(--color-black);
	text-align: center;
	margin: 0;
}

.error-page__description {
	font-family: var(--font-inter);
	font-size: var(--font-size-md);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-relaxed);
	color: var(--color-black);
	text-align: center;
	margin: 0;
}

.error-page__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2rem var(--spacing-2xl);
	background: var(--color-black);
	border-radius: var(--radius-md);
	font-family: var(--font-inter);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--color-white);
	text-decoration: none;
	transition: opacity var(--transition-fast);
}

.error-page__cta:hover {
	opacity: 0.85;
}

.error-page__cta:focus-visible {
	outline: 0.2rem solid var(--color-black);
	outline-offset: 0.2rem;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1089px) {
	.error-page {
		padding: var(--spacing-3xl) var(--spacing-lg);
		gap: var(--spacing-3xl);
		min-height: fit-content;
	}

	.error-page__content {
		padding: 0;
		gap: var(--spacing-2xl);
	}

	.error-page__title {
		font-size: var(--font-size-2xl);
	}

	.error-page__description {
		font-size: var(--font-size-sm);
	}

	.error-page__cta {
		padding: var(--spacing-lg) var(--spacing-xl);
		width: 100%;
	}
}
