/* 404 page */
.ggn-404 {
	display: grid;
	min-height: min(640px, calc(100vh - var(--wp--custom--button--height)));
	place-items: center;
}

.ggn-404 .ggn-404__content {
	display: grid;
	gap: var(--wp--preset--spacing--card-lg);
	justify-items: center;
	max-width: var(--wp--style--global--content-size);
	text-align: center;
	width: 100%;
}

.ggn-404 .ggn-404__code,
.ggn-404 .ggn-404__title,
.ggn-404 .ggn-404__hint {
	margin: 0;
}

.ggn-404 .ggn-404__code {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--custom--size--not-found-code);
	font-weight: 700;
	letter-spacing: -0.08em;
	line-height: 0.85;
	padding-right: 0.08em;
}

.ggn-404 .ggn-404__title {
	max-width: 620px;
}

.ggn-404 .ggn-404__hint {
	max-width: 540px;
}

.ggn-404 .ggn-404__search {
	margin: var(--wp--preset--spacing--card) 0 0;
	max-width: 520px;
	width: 100%;
}

.ggn-404 .ggn-404__search .wp-block-search__inside-wrapper {
	background-color: var(--wp--preset--color--surface-2);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	min-height: var(--wp--custom--control--size);
	overflow: hidden;
}

.ggn-404 .ggn-404__search .wp-block-search__input {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--text);
	min-height: var(--wp--custom--control--size);
	padding-left: var(--wp--preset--spacing--card);
}

.ggn-404 .ggn-404__search .wp-block-search__button {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--text);
	margin: 0;
	height: var(--wp--custom--control--size);
	min-height: var(--wp--custom--control--size);
	min-width: var(--wp--custom--control--size);
	width: var(--wp--custom--control--size);
	padding: var(--wp--custom--control--icon);
}

.ggn-404 .ggn-404__actions {
	justify-content: center;
	margin-top: var(--wp--preset--spacing--card);
}

.ggn-404 .ggn-404__actions .wp-block-button__link {
	min-width: 156px;
}

@media (max-width: 781px) {
	.ggn-404 {
		min-height: min(560px, calc(100vh - var(--wp--custom--control--size)));
	}

	.ggn-404 .ggn-404__content {
		gap: var(--wp--preset--spacing--card);
	}

	.ggn-404 .ggn-404__code {
		font-size: var(--wp--custom--size--not-found-code-mobile);
	}

	.ggn-404 .ggn-404__search {
		margin-top: var(--wp--preset--spacing--card);
	}

	.ggn-404 .ggn-404__search .wp-block-search__input {
		font-size: 16px;
	}

	.ggn-404 .ggn-404__actions {
		align-items: stretch;
		flex-direction: column;
		margin-top: var(--wp--preset--spacing--card);
		width: 100%;
	}

	.ggn-404 .ggn-404__actions .wp-block-button,
	.ggn-404 .ggn-404__actions .wp-block-button__link {
		width: 100%;
	}
}
