/**
 * Header search styles.
 */

:root {
	--ks-search-overlay-bg: var(--global-palette8);
	--ks-search-surface: var(--global-palette9);
	--ks-search-border: var(--global-palette7);
	--ks-search-border-active: var(--global-palette3);
	--ks-search-text: var(--global-palette3);
	--ks-search-placeholder: var(--global-palette6);
	--ks-search-icon: var(--global-palette3);
	--ks-search-button-bg: var(--global-palette-btn-bg);
	--ks-search-button-bg-hover: var(--global-palette-btn-bg-hover);
	--ks-search-button-text: var(--global-palette-btn);
}

.ks-header-search {
	position: relative;
}

.ks-header-search__panel[hidden] {
	display: none;
}

/* Hide trigger while search is open */
.ks-header-search.is-open .ks-header-search__toggle {
	visibility: hidden;
}

/* Ensure target containers can host an absolute overlay */
.site-header-section-right,
.site-main-header-inner-wrap {
	position: relative;
}

/* Overlay panel */
.ks-header-search__panel {
	position: absolute;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	background: var(--ks-search-overlay-bg);
	pointer-events: auto;
}

/* Right mode */
.ks-header-search--right .ks-header-search__panel {
	padding: 0;
}
.ks-header-search__panel-default {
    width: calc(100% - 280px);
    left: unset;
}

.ks-header-search__panel-home {
    width: 100%;
}

/* Full mode */
.ks-header-search--full .ks-header-search__panel {
	padding: 0 32px;
}



/* Search form */
.ks-header-search__form {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: none;
	padding: 0 22px 0 30px;
	border: 1px solid var(--ks-search-border);
	border-radius: 999px;
	background: var(--ks-search-surface);
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

/* Keep space for the logo in full mode */
.ks-header-search--full .ks-header-search__form {
	margin-left: var(--ks-header-search-logo-offset, 320px);
}

/* In right mode the form should use the available width */
.ks-header-search--right .ks-header-search__form {
	margin-left: 0;
}

/* Highlight the form border on focus */
.ks-header-search__form:focus-within {
	border-color: var(--ks-search-border-active);
}

/* Input */
.ks-header-search__input {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0 20px 0 0;
	border: 0;
	outline: 0;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 20px;
	line-height: 1.2;
	font-family: var(--global-body-font-family), var(--global-fallback-font);
	color: var(--ks-search-text) !important;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}

/* Remove browser search field UI */
.ks-header-search__input::-webkit-search-decoration,
.ks-header-search__input::-webkit-search-cancel-button,
.ks-header-search__input::-webkit-search-results-button,
.ks-header-search__input::-webkit-search-results-decoration {
	-webkit-appearance: none;
}

.ks-header-search__input::placeholder {
	color: var(--ks-search-placeholder);
	opacity: 1;
}

.ks-header-search__input:focus,
.ks-header-search__input:active {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--ks-search-text) !important;
}

/* Submit button */
.ks-header-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ks-search-icon);
	cursor: pointer;
	position: relative;
}

.ks-header-search__submit:hover, .ks-header-search__submit:focus, .ks-header-search__submit:active {
    background-color: unset; 
}

/* CSS magnifier icon */
.ks-header-search__submit::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
}

.ks-header-search__submit::after {
	content: "";
	position: absolute;
	width: 10px;
	height: 2px;
	background: currentColor;
	transform: translate(9px, 8px) rotate(45deg);
	transform-origin: center;
}

/* Hide close button */
.ks-header-search__close {
	display: none;
}

/* Normalize Kadence wrapper spacing */
.ks-header-search .wp-block-kadence-advancedbtn,
.ks-header-search .kb-buttons-wrap {
	margin: 0;
}

/* Trigger button */
.ks-header-search__toggle.kb-button,
.ks-header-search__toggle.kt-button,
.ks-header-search__toggle.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 22px;
	border: 0;
	border-radius: 999px;
	background: var(--ks-search-button-bg);
	color: var(--ks-search-button-text);
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	font-family: var(--global-primary-nav-font-family), var(--global-fallback-font);
}

.ks-header-search__toggle.kb-button:hover,
.ks-header-search__toggle.kt-button:hover,
.ks-header-search__toggle.button:hover,
.ks-header-search__toggle.kb-button:focus,
.ks-header-search__toggle.kt-button:focus,
.ks-header-search__toggle.button:focus {
	background: var(--ks-search-button-bg-hover);
	color: var(--global-palette-btn-hover);
}

/* Tablet */
@media (max-width: 1024px) {
	.ks-header-search--full .ks-header-search__panel {
		padding: 0 20px;
	}

	.ks-header-search--full .ks-header-search__form {
		margin-left: var(--ks-header-search-logo-offset, 240px);
	}

	.ks-header-search__form {
		min-height: 72px;
		padding: 0 18px 0 22px;
	}

	.ks-header-search__input {
		height: 68px;
		font-size: 18px;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.ks-header-search__panel {
		position: fixed;
		top: 12px;
		left: 12px;
		right: 12px;
		inset: auto 12px auto 12px;
		padding: 0;
		background: transparent;
	}

	.ks-header-search--full .ks-header-search__form,
	.ks-header-search--right .ks-header-search__form {
		margin-left: 0;
	}

	.ks-header-search__form {
		min-height: 58px;
		padding: 0 14px 0 16px;
	}

	.ks-header-search__input {
		height: 54px;
		padding-right: 12px;
		font-size: 16px;
	}

	.ks-header-search__submit {
		width: 40px;
		height: 40px;
	}
}