.library-title-search {
	position: relative;
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(13, 35, 58, 0.1);
}

.library-title-search label {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.library-title-search input {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: var(--radius-sm);
	background: var(--color-bg-light);
	color: var(--color-text-primary);
	font: inherit;
	font-size: 0.9rem;
	outline: none;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.library-title-search input:focus {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(126, 13, 26, 0.12);
}

.library-title-suggestions {
	position: absolute;
	z-index: 10;
	top: calc(100% - 1.25rem);
	left: 0;
	right: 0;
	display: grid;
	gap: 0.25rem;
	padding: 0.45rem;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: var(--radius-sm);
	background: var(--color-bg-light);
	box-shadow: var(--shadow-md);
}

.library-title-suggestions[hidden] {
	display: none;
}

.library-title-suggestion,
.library-title-suggestion-empty {
	display: block;
	margin: 0;
	padding: 0.65rem 0.7rem;
	border-radius: var(--radius-sm);
	font-size: 0.86rem;
	line-height: 1.35;
}

.library-title-suggestion {
	color: var(--color-primary);
	font-weight: 700;
	text-decoration: none;
}

.library-title-suggestion:hover,
.library-title-suggestion:focus-visible {
	background: rgba(13, 35, 58, 0.06);
	color: var(--color-accent);
}

.library-title-suggestion-empty {
	color: var(--color-text-muted);
	font-weight: 600;
}
