.head-header__end {
	align-items: center;
	display: flex;
	gap: 1.25rem;
}

.head-header__search {
	align-items: center;
	background: transparent;
	border: none;
	border-radius: 0.25rem;
	color: var(--primary-0);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.125rem;
	gap: 0.5rem;
	line-height: 1.2;
	padding: 0.5rem 0.75rem;
	transition: color 0.2s, background-color 0.2s;
}

.head-header__search:hover {
	background-color: rgba(255, 255, 255, 0.06);
	color: var(--primary-4);
}

.head-header__search-icon {
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
}

.head-header__search-icon svg {
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

/* Full-width panel: same positioning pattern as .menu__mega */
.site-search-panel {
	left: 50%;
	max-height: none;
	max-width: 102.5rem;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 7.75rem;
	transform: translateX(-50%) translateY(-0.625rem);
	transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
	visibility: hidden;
	width: 100vw;
	z-index: 1001;
}

.site-search-panel.site-search-panel--open {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	visibility: visible;
}

.site-search-panel__shell {
	padding-left: clamp(1.25rem, -0.25rem + 7.5vw, 8.75rem);
	padding-right: clamp(1.25rem, -0.25rem + 7.5vw, 8.75rem);
}

.site-search-panel__inner {
	background-color: #fff;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	padding: 2.25rem 2.25rem 4rem;
	width: 100%;
}

.site-search-form--dropdown {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
	max-width: 38.4375rem;
}

/* Hide popular tags as soon as the user types (shown again when field is cleared). */
.site-search-panel__inner--has-query .site-search-panel__popular {
	display: none;
}

.site-search-form__field {
	align-items: center;
	background-color: #fff;
	border: 1px solid #c0d4ec;
	border-radius: 0.25rem;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.5rem 0.75rem;
	transition: border-color 0.2s;
	width: 100%;
}

.site-search-form__field--no-results {
	border-color: #e53535;
}

.site-search-form__field--no-results .site-search-form__icon {
	color: #f04438;
}

.site-search-form__icon {
	color: #0068f2;
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
}

.site-search-form__icon svg {
	display: block;
	height: 1.125rem;
	width: 1.125rem;
}

.site-search-form__input--dropdown {
	background: transparent;
	border: none;
	color: #0d1930;
	flex: 1 1 auto;
	font-size: 1rem;
	line-height: 1.5;
	min-width: 0;
	outline: none;
	padding: 0;
	width: 100%;
}

.site-search-form__input--dropdown::placeholder {
	color: #637597;
	opacity: 1;
}

/* WebKit/Blink: hide native search “clear” (blue ✕) — we use .site-search-form__clear */
.site-search-form__input--dropdown::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

/* Legacy Edge / IE */
.site-search-form__input--dropdown::-ms-clear {
	display: none;
}

.site-search-form__count {
	color: #637597;
	flex-shrink: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	white-space: nowrap;
}

.site-search-form__clear {
	align-items: center;
	background: transparent;
	border: none;
	color: #3b4963;
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
	padding: 0.125rem;
	transition: color 0.2s;
}

/* `display:inline-flex` above overrides the default [hidden] rule */
.site-search-form__clear[hidden] {
	display: none !important;
}

.site-search-form__clear:hover {
	color: #0d1930;
}

.site-search-form__clear svg {
	display: block;
	height: 0.875rem;
	width: 0.875rem;
}

.site-search-live {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

/* `display:flex` above wins over the default [hidden] rule — force hide when cleared */
.site-search-live[hidden] {
	display: none !important;
}

.site-search-live__summary {
	align-items: center;
	color: #2a4265;
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
	gap: 0.25rem;
	line-height: 1.5;
	margin: 0;
}

.site-search-live__summary-text {
	color: #2a4265;
}

.site-search-live__pill {
	background-color: #f0f5fa;
	border-radius: 5rem;
	color: #0068f2;
	display: inline-flex;
	font-size: 1rem;
	line-height: 1.5;
	padding: 0.125rem 0.5rem;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

a.site-search-live__pill:hover {
	background-color: #e0e9f5;
	color: #0056c7;
	text-decoration: none;
}

.site-search-live__list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

/* Override global `a { display: inline-block }` from app.css */
a.site-search-live__card {
	align-items: stretch;
	background-color: #f0f5fa;
	border: 1px solid #e0e9f5;
	border-radius: 0.5rem;
	box-sizing: border-box;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
	padding: 1rem;
	text-align: left;
	text-decoration: none;
	transition: background-color 0.2s, border-color 0.2s;
	width: 100%;
}

a.site-search-live__card:hover {
	background-color: #e8f0fa;
	border-color: #c0d4ec;
}

.site-search-live__body {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
	width: 100%;
}

.site-search-live__context {
	color: #3b4963;
	display: block;
	font-size: 0.75rem;
	line-height: 1.5;
	margin: 0;
	text-transform: uppercase;
	width: 100%;
}

.site-search-live__title {
	color: #0068f2;
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 0;
	width: 100%;
}

.site-search-live__excerpt {
	color: #3b4963;
	display: block;
	font-size: 0.875rem;
	line-height: 1.5;
	margin: 0;
	width: 100%;
}

.site-search-live__empty {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.site-search-live__empty-main {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.site-search-live__empty-title {
	color: #0d1930;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 0;
}

.site-search-live__empty-text {
	color: #0d1930;
	font-size: 1.125rem;
	line-height: 1.45;
	margin: 0;
}

.site-search-live__try {
	align-items: flex-start;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.site-search-live__try-label {
	color: #0d1930;
	flex-shrink: 0;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 0;
}

.site-search-live__try-links {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.site-search-live__try-link {
	color: #0068f2;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
	transition: color 0.2s;
}

.site-search-live__try-link:hover {
	color: #0056c7;
	text-decoration: underline;
}

.site-search-live__try-comma {
	color: #0d1930;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.45;
}

.site-search-panel__popular {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	max-width: 38.4375rem;
	width: 100%;
}

.site-search-panel__popular-title {
	color: #2a4265;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
	text-align: left;
}

.site-search-panel__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: 100%;
}

.site-search-panel__tag {
	align-items: center;
	background-color: #f0f5fa;
	border: 1px solid #e0e9f5;
	border-radius: 5rem;
	color: #0068f2;
	display: inline-flex;
	font-size: 1rem;
	line-height: 1.5;
	padding: 0.25rem 1rem;
	text-decoration: none;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.site-search-panel__tag:hover {
	border-color: #c0d4ec;
	color: #0056c7;
}

/* Fallback layout when search form is used without dropdown (e.g. block widgets) */
.site-search-form:not(.site-search-form--dropdown) {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.site-search-form:not(.site-search-form--dropdown) .site-search-form__input {
	width: 100%;
}

@media (min-width: 36rem) {
	.site-search-form:not(.site-search-form--dropdown) .site-search-form__input {
		flex: 1 1 auto;
		min-width: 12rem;
		width: auto;
	}
}

.site-search-form__submit {
	flex-shrink: 0;
}
