/* KI-Suche im Header (statt Solr) – Templates/Extensions/DmAiSearch/HeaderSearch.html
   Position und Öffnen/Schließen übernimmt die Navigation (.top_search .tx_solr, main-navigation.scss) */
@property --header-ai-angle {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}

.header-ai-search {
	--header-ai-blue: #0e79c0;
	--header-ai-light-blue: #80e3ff;
	--header-ai-cyan: #29e8ff;
	--header-ai-dark-blue: #0b2f57;
	margin: 0;
	font-family: "DINPro-Regular", Geneva, Tahoma, sans-serif;
}

.header-ai-search .header-ai-search__box {
	position: relative;
	display: flex;
	align-items: center;
	gap: .5rem;
	height: 3rem;
	padding: 0 .3125rem 0 1rem;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 10px 30px -14px rgba(14, 50, 90, .55);
}

/* Umlaufender Farbverlauf als 2px-Rand wie bei der KI-Suche */
.header-ai-search .header-ai-search__box::before {
	content: "";
	position: absolute;
	inset: -2px;
	padding: 2px;
	border-radius: inherit;
	background: conic-gradient(from var(--header-ai-angle), var(--header-ai-light-blue), var(--header-ai-blue) 25%, var(--header-ai-cyan) 50%, var(--header-ai-blue) 75%, var(--header-ai-light-blue));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	animation: header-ai-spin 6s linear infinite;
	pointer-events: none;
}

.header-ai-search .header-ai-search__field {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: .625rem;
	min-width: 0;
	height: 100%;
	margin: 0;
	cursor: text;
}

.header-ai-search .header-ai-search__icon {
	flex: 0 0 auto;
	color: var(--header-ai-blue);
}

.header-ai-search .header-ai-search__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #182226;
	font-family: inherit;
	font-size: 1.0625rem;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.header-ai-search .header-ai-search__input::placeholder {
	color: #7b868d;
	opacity: 1;
}

.header-ai-search .header-ai-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.header-ai-search .header-ai-search__submit {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: .375rem;
	height: 2.375rem;
	margin: 0 !important;
	padding: 0 1rem 0 1.125rem;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #8ff4ff, var(--header-ai-cyan)) !important;
	color: var(--header-ai-dark-blue) !important;
	font-family: "DINPro-Medium", "DINPro-Regular", Geneva, Tahoma, sans-serif;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: filter .2s ease;
}

.header-ai-search .header-ai-search__submit:hover {
	filter: brightness(1.06);
}

.header-ai-search .header-ai-search__submit svg {
	transition: transform .2s ease;
}

.header-ai-search .header-ai-search__submit:hover svg {
	transform: translateX(2px);
}

.header-ai-search .header-ai-search__submit:focus-visible {
	outline: 2px solid var(--header-ai-dark-blue);
	outline-offset: 2px;
}

.header-ai-search .header-ai-search__box:focus-within {
	box-shadow: 0 0 0 4px rgba(41, 232, 255, .35), 0 10px 30px -14px rgba(14, 50, 90, .55);
}

.header-ai-search .header-ai-search__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Mobil im Menü: volle Breite. Die Menüliste schneidet Überstehendes ab (overflow: hidden),
   Innenabstand für Verlaufsrand, Schatten und Fokusring */
@media (max-width: 991.98px) {
	.top_search .tx_solr.header-ai-search-container {
		padding: .5rem .25rem 1rem !important;
	}

	/* Die Navigation gibt dem Suchbereich die feste Höhe der Lupe, das Feld ist höher */
	.top_search_container:has(.header-ai-search),
	.top_search:has(.header-ai-search) {
		height: auto !important;
	}

	.header-ai-search .header-ai-search__submit {
		width: 2.375rem;
		padding: 0;
		justify-content: center;
	}

	.header-ai-search .header-ai-search__submit-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

@keyframes header-ai-spin {
	to {
		--header-ai-angle: 360deg;
	}
}

@media (prefers-reduced-motion: reduce) {
	.header-ai-search .header-ai-search__box::before {
		animation: none;
	}

	.header-ai-search .header-ai-search__submit,
	.header-ai-search .header-ai-search__submit svg {
		transition: none;
	}
}
