/* ==========================================================================
   SEOvault AI — 404 Recovery Page
   Loaded only on the recovery 404 template (enqueue in a later phase).
   ========================================================================== */

.seovault-nf-recovery {
	--seovault-nf-accent: #1a1a1a;
	--seovault-nf-background: #ffffff;
	--seovault-nf-text: #1a1a1a;
	box-sizing: border-box;
	min-height: 50vh;
	padding: 3rem 1.25rem;
	color: var(--seovault-nf-text);
	background: var(--seovault-nf-background);
}

.seovault-nf-recovery *,
.seovault-nf-recovery *::before,
.seovault-nf-recovery *::after {
	box-sizing: border-box;
}

.seovault-nf-recovery__inner {
	max-width: 36rem;
	margin: 0 auto;
	text-align: center;
}

.seovault-nf-recovery__header {
	margin-bottom: 1.75rem;
}

.seovault-nf-recovery__page-body {
	margin-bottom: 1.75rem;
	text-align: left;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--seovault-nf-text);
}

.seovault-nf-recovery__page-body > *:first-child {
	margin-top: 0;
}

.seovault-nf-recovery__page-body > *:last-child {
	margin-bottom: 0;
}

.seovault-nf-recovery__page-body a {
	color: var(--seovault-nf-accent);
}

.seovault-nf-recovery__headline {
	margin: 0 0 0.75rem;
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--seovault-nf-text);
}

.seovault-nf-recovery__message {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--seovault-nf-text);
	opacity: 0.85;
}

.seovault-nf-recovery__search {
	margin: 0 0 1.5rem;
	text-align: left;
}

.seovault-nf-recovery__search .search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch;
}

.seovault-nf-recovery__search .search-field {
	flex: 1 1 12rem;
	min-width: 0;
	padding: 0.6rem 0.75rem;
	border: 1px solid #cfcfcf;
	border-radius: 2px;
	background: #fff;
	color: var(--seovault-nf-text);
}

.seovault-nf-recovery__search .search-submit {
	padding: 0.6rem 1rem;
	border: 1px solid var(--seovault-nf-accent);
	border-radius: 2px;
	background: var(--seovault-nf-accent);
	color: #fff;
	cursor: pointer;
}

.seovault-nf-recovery__cta-wrap {
	margin: 0 0 2rem;
}

.seovault-nf-recovery__cta {
	display: inline-block;
	padding: 0.7rem 1.25rem;
	border: 1px solid var(--seovault-nf-accent);
	border-radius: 2px;
	background: var(--seovault-nf-accent);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.seovault-nf-recovery__cta:hover,
.seovault-nf-recovery__cta:focus {
	text-decoration: underline;
}

.seovault-nf-recovery__recent {
	margin: 0;
	padding-top: 0.5rem;
	border-top: 1px solid #e5e5e5;
	text-align: left;
}

.seovault-nf-recovery__recent-title {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--seovault-nf-text);
}

.seovault-nf-recovery__recent-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.seovault-nf-recovery__recent-item {
	margin: 0 0 0.5rem;
}

.seovault-nf-recovery__recent-item a {
	color: var(--seovault-nf-accent);
	text-decoration: underline;
}

.seovault-nf-recovery__recent-item a:hover,
.seovault-nf-recovery__recent-item a:focus {
	text-decoration: none;
}
