/* ── TOF Search Button widget ─────────────────────────────────────────────── */

.tof-search-btn {
	display: inline-flex;
	align-items: center;
}

/* ── Collapsed trigger (search icon) ─────────────────────────────────────── */

.tof-search-btn__trigger {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	cursor: pointer;
	color: inherit;
	flex-shrink: 0;
	/* Default to icon control size; overridden by Elementor selector */
	width: 32px;
	height: 32px;
	max-height: 33px;
	transition: width 300ms ease, opacity 200ms ease;
	overflow: hidden;
}

.tof-search-btn__trigger svg {
	width: 32px;
	height: 32px;
	display: block;
	flex-shrink: 0;
}

.tof-search-btn__trigger > svg:nth-child(1) {
	color: white;
	border: 2px solid white;
	border-radius: 10px;
}

/* Hide trigger when open */
.tof-search-btn.is-open .tof-search-btn__trigger {
	width: 0;
	opacity: 0;
	pointer-events: none;
}

/* ── Expanded panel (icon + text input) ──────────────────────────────────── */

.tof-search-btn__panel {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 8px;
	border: 1.6px solid transparent;
	border-radius: 8px;
	box-sizing: border-box;
	/* Collapsed: zero-width, invisible */
	width: 0;
	max-height: 33px;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	margin: 0;
	transition: width 300ms ease, opacity 200ms ease, border-color 300ms ease;
}

.tof-search-btn.is-open .tof-search-btn__panel {
	width: 230px; /* default; overridden by Elementor expanded_width control */
	opacity: 1;
	pointer-events: auto;
	border-color: #fefbee; /* default; overridden by Elementor border_color control */
}

/* Icon inside the expanded panel */
.tof-search-btn__panel-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	color: #fff;
}

.tof-search-btn__panel-icon svg {
	width: 16px;
	height: 16px;
	display: block;
}

/* ── Text input ───────────────────────────────────────────────────────────── */

.tof-search-btn__input {
	flex: 1;
	min-width: 0;
	width: auto !important;
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	padding: 0 !important;
	height: 100%;
	max-height: 33px;
	transition: none !important;
	-webkit-appearance: none;
}

.tof-search-btn__input::placeholder {
	color: inherit;
	opacity: 1;
}

/* Remove the default browser clear (×) button on search inputs */
.tof-search-btn__input::-webkit-search-decoration,
.tof-search-btn__input::-webkit-search-cancel-button,
.tof-search-btn__input::-webkit-search-results-button,
.tof-search-btn__input::-webkit-search-results-decoration {
	-webkit-appearance: none;
}

.elementor-114 .elementor-element.elementor-element-1be5d46 .tof-search-btn__trigger svg {
width: 32px;
height: 32px;
padding: 4px;
}
