/* Elementor: Astra Child expandable search widget */

.ac-exp-search {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: var(--ac-exp-btn, 44px);
	height: var(--ac-exp-btn, 44px);
	overflow: visible;
	z-index: 100;
	isolation: isolate;
}

.ac-exp-search__form {
	margin: 0;
	padding: 0;
	height: 100%;
}

.ac-exp-search__pill {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	display: inline-flex;
	flex-direction: row;
	align-items: stretch;
	border-radius: 9999px;
	overflow: hidden;
	background: transparent;
	box-shadow: none;
	transition:
		box-shadow var(--ac-exp-dur, 320ms) ease,
		filter var(--ac-exp-dur, 320ms) ease;
}

.ac-exp-search.is-open .ac-exp-search__pill {
	display: flex;
	width: max-content;
	max-width: min(100vw - 16px, calc(var(--ac-exp-inw, 210px) + var(--ac-exp-btn, 44px) + 28px));
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
	animation: ac-exp-pill-in var(--ac-exp-dur, 320ms) cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ac-exp-search__input {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0 14px;
	border: 0;
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
	max-width: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateX(10px);
	transition:
		max-width var(--ac-exp-dur, 320ms) cubic-bezier(0.22, 1, 0.36, 1),
		opacity calc(var(--ac-exp-dur, 320ms) * 0.85) ease,
		transform var(--ac-exp-dur, 320ms) cubic-bezier(0.22, 1, 0.36, 1),
		padding var(--ac-exp-dur, 320ms) ease;
}

.ac-exp-search.is-open .ac-exp-search__input {
	flex: 0 0 auto;
	width: min(100vw - 24px, var(--ac-exp-inw, 210px));
	max-width: min(100vw - 24px, var(--ac-exp-inw, 210px)) !important;
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
}

body .ac-exp-search.is-collapsed .ac-exp-search__input {
	max-width: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	opacity: 0;
	pointer-events: none;
}

.ac-exp-search__submit {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	cursor: pointer;
	border-radius: 0;
	background: #1a1a1a;
	/* 供 1em / currentColor 计算；勿用 0，否则部分 SVG 会变成 0 尺寸 */
	font-size: 20px;
	line-height: 1;
	color: #ffffff;
	overflow: visible;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.ac-exp-search__submit:hover {
	filter: brightness(1.08);
}

.ac-exp-search__submit:active {
	transform: scale(0.98);
}

.ac-exp-search__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
}

.ac-exp-search__icon-slot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: currentColor;
}

.ac-exp-search__icon-slot svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.ac-exp-search__submit svg {
	fill: currentColor;
}

.ac-exp-search__submit svg path {
	fill: currentColor;
}

/* 线框类 Elementor 图标（fill=none）用描边着色 */
.ac-exp-search__submit svg[fill="none"],
.ac-exp-search__submit .e-font-icon-svg[fill="none"] {
	fill: none;
	stroke: currentColor;
}

.ac-exp-search.is-open {
	z-index: 500;
}

@keyframes ac-exp-pill-in {
	from {
		opacity: 0.88;
		transform: translateY(-50%) translateX(8px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(-50%) translateX(0) scale(1);
	}
}
