.flowbie-search-wrap {
	--fbs-primary: #3b82f6;
	--fbs-bg: #ffffff;
	--fbs-radius: 8px;
	--fbs-font-size: 1rem;
	--fbs-text: #1e293b;
	--fbs-text-muted: #64748b;
	--fbs-border: #cbd5e1;
	--fbs-hover: #f1f5f9;
	--fbs-dropdown-bg: var(--fbs-bg);
	--fbs-dropdown-radius: var(--fbs-radius);
	--fbs-max-width: 520px;
	--fbs-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
	font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: max(1rem, var(--fbs-font-size));
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	width: 100%;
	position: relative;
	z-index: 1;
}

.flowbie-search-wrap:not(.flowbie-search-wrap--hero) {
	padding: 8px 0;
	margin: 0;
}

.flowbie-search-wrap:focus-within,
.flowbie-search-wrap.flowbie-search-wrap--open {
	position: relative;
	z-index: 999999 !important;
}

.flowbie-search-wrap--hero {
	padding: 0 clamp(16px, 4vw, 48px) 12px;
	margin: 0 !important;
	background: rgba(15, 23, 42, 0.45);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Auto-inject below Elementor header (front page only, when setting enabled). */
.flowbie-search-wrap--header-slot.flowbie-search-wrap--hero,
.elementor-location-header .flowbie-search-wrap--hero {
	padding: 8px clamp(16px, 4vw, 48px) 12px;
	background: transparent;
}

.flowbie-search-wrap--header-slot .fbs,
.elementor-location-header .flowbie-search-wrap--hero .fbs {
	max-width: 520px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.flowbie-search-wrap--header-slot.flowbie-search-wrap--hero .fbs__powered,
.elementor-location-header .flowbie-search-wrap--hero .fbs__powered {
	color: var(--fbs-text-muted) !important;
}

.flowbie-search-wrap .fbs {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--fbs-max-width, 520px);
	margin: 0 auto !important;
	padding: 0 !important;
	font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: max(1rem, var(--fbs-font-size));
	line-height: 1.4;
}

.flowbie-search-wrap--full-width .fbs {
	max-width: 100% !important;
}

/* Compact layout — tighter padding and smaller submit button. */
.flowbie-search-wrap--compact:not(.flowbie-search-wrap--hero) {
	padding: 4px 0;
}

.flowbie-search-wrap--compact .fbs__form {
	grid-template-columns: minmax(0, 1fr) 38px !important;
	min-height: 38px !important;
}

.flowbie-search-wrap--compact .fbs__input {
	min-height: 38px !important;
	padding: 8px 12px !important;
}

.flowbie-search-wrap--compact .fbs__btn {
	width: 38px !important;
	min-width: 38px !important;
	max-width: 38px !important;
	min-height: 38px !important;
}

/* Elementor widget alignment */
.elementor-widget-flowbie_search .flowbie-search-wrap {
	display: flex;
	width: 100%;
}

.elementor-widget-flowbie_search.elementor-align-left .flowbie-search-wrap {
	justify-content: flex-start;
}

.elementor-widget-flowbie_search.elementor-align-center .flowbie-search-wrap {
	justify-content: center;
}

.elementor-widget-flowbie_search.elementor-align-right .flowbie-search-wrap {
	justify-content: flex-end;
}

.elementor-widget-flowbie_search.elementor-align-left .flowbie-search-wrap .fbs {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.elementor-widget-flowbie_search.elementor-align-right .flowbie-search-wrap .fbs {
	margin-left: auto !important;
	margin-right: 0 !important;
}

/* ── Form (grid beats Elementor button width:100% rules) ─────── */

.flowbie-search-wrap .fbs__form {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 44px !important;
	grid-template-rows: auto !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--fbs-bg) !important;
	border: 1px solid var(--fbs-border) !important;
	border-radius: var(--fbs-radius) !important;
	overflow: hidden !important;
	box-shadow: none !important;
	min-height: 44px !important;
}

.flowbie-search-wrap .fbs__form:focus-within {
	border-color: var(--fbs-primary) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--fbs-primary) 18%, transparent) !important;
}

.flowbie-search-wrap .fbs__input {
	grid-column: 1 !important;
	grid-row: 1 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: none !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	font-size: max(1rem, var(--fbs-font-size)) !important;
	font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	text-align: left !important;
	color: var(--fbs-text) !important;
	background: var(--fbs-bg) !important;
	-webkit-text-fill-color: var(--fbs-text) !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.flowbie-search-wrap .fbs__input::placeholder {
	color: var(--fbs-text-muted) !important;
	-webkit-text-fill-color: var(--fbs-text-muted) !important;
	opacity: 1 !important;
}

.flowbie-search-wrap .fbs__btn {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	float: none !important;
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: auto !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-left: 1px solid var(--fbs-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: color-mix(in srgb, var(--fbs-primary) 10%, var(--fbs-bg)) !important;
	color: var(--fbs-primary) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer !important;
}

.flowbie-search-wrap .fbs__btn:hover {
	background: color-mix(in srgb, var(--fbs-primary) 18%, var(--fbs-bg)) !important;
}

.flowbie-search-wrap .fbs__btn-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	text-indent: 0 !important;
	overflow: visible !important;
}

.flowbie-search-wrap .fbs__btn-icon svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	color: var(--fbs-primary) !important;
	stroke: var(--fbs-primary) !important;
}

/* ── Overlay panel (dropdown + status — no document-flow gap) ─ */

.flowbie-search-wrap .fbs__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	z-index: 999999;
	pointer-events: none;
}

.flowbie-search-wrap .fbs__panel > * {
	pointer-events: auto;
}

.flowbie-search-wrap .fbs__dropdown {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	margin: 0 !important;
	background: var(--fbs-dropdown-bg, var(--fbs-bg)) !important;
	border: 1px solid var(--fbs-border);
	border-radius: var(--fbs-dropdown-radius, var(--fbs-radius));
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
	max-height: 420px;
	overflow-y: auto;
	z-index: 1;
}

.flowbie-search-wrap .fbs__dropdown-footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	padding: 8px 12px;
	margin: 0 !important;
	border-top: 1px solid var(--fbs-border);
	font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: max(1rem, var(--fbs-font-size)) !important;
	line-height: 1.4;
	background: var(--fbs-bg) !important;
}

.flowbie-search-wrap .fbs__dropdown-footer,
.flowbie-search-wrap .fbs__dropdown-footer strong {
	color: var(--fbs-text-muted) !important;
	text-decoration: none;
}

.flowbie-search-wrap .fbs__dropdown-footer .fbs__powered-icon {
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0;
}

.flowbie-search-wrap .fbs__dropdown-footer strong {
	color: var(--fbs-primary) !important;
	font-weight: 700;
}

.flowbie-search-wrap a.fbs__dropdown-footer {
	cursor: pointer;
}

.flowbie-search-wrap a.fbs__dropdown-footer:hover {
	opacity: 1;
	color: var(--fbs-primary) !important;
}

.flowbie-search-wrap a.fbs__dropdown-footer:hover strong {
	color: var(--fbs-primary) !important;
}

.flowbie-search-wrap .fbs__result {
	display: block;
	padding: 12px 16px;
	text-decoration: none;
	color: var(--fbs-text) !important;
	border-bottom: 1px solid var(--fbs-border);
	transition: background-color 0.1s ease;
}

.fbs__result:last-child {
	border-bottom: none;
}

.fbs__result:hover,
.fbs__result:focus {
	background: var(--fbs-hover);
	outline: none;
}

.fbs__result-row {
	display: flex;
	align-items: center;
	gap: 14px;
}

.fbs__result-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.flowbie-search-wrap .fbs__result-title {
	font-weight: 600;
	font-size: 1em;
	line-height: 1.4;
	color: var(--fbs-text) !important;
}

.fbs__result-excerpt {
	font-size: 0.85em;
	color: var(--fbs-text-muted) !important;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fbs__result-meta {
	font-size: 0.75em;
	color: var(--fbs-primary) !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 600;
	margin-top: 2px;
}

/* ── Relevance badge ──────────────────────────────────────────── */

.fbs__relevance {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.fbs__relevance-ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.fbs__relevance-track {
	fill: none;
	stroke: var(--fbs-border);
	stroke-width: 3;
}

.fbs__relevance-fill {
	fill: none;
	stroke-width: 3;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.4s ease;
}

.fbs__relevance--high .fbs__relevance-fill { stroke: #10b981; }
.fbs__relevance--mid  .fbs__relevance-fill { stroke: #f59e0b; }
.fbs__relevance--low  .fbs__relevance-fill { stroke: #ef4444; }

.fbs__relevance-pct {
	position: relative;
	z-index: 1;
	font-size: 0.68em;
	font-weight: 700;
	line-height: 1;
}

.fbs__relevance--high .fbs__relevance-pct { color: #10b981 !important; }
.fbs__relevance--mid  .fbs__relevance-pct { color: #f59e0b !important; }
.fbs__relevance--low  .fbs__relevance-pct { color: #ef4444 !important; }

/* ── Status ───────────────────────────────────────────────────── */

.flowbie-search-wrap .fbs__status {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	font-size: max(1rem, var(--fbs-font-size));
	color: var(--fbs-text-muted) !important;
	background: var(--fbs-bg) !important;
	border: 1px solid var(--fbs-border);
	border-radius: var(--fbs-radius);
	margin: 0 !important;
	position: relative;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
}

/* ── Powered by Flowbie ────────────────────────────────────────── */

.flowbie-search-wrap .fbs__powered {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: max(1rem, var(--fbs-font-size)) !important;
	line-height: 1.4;
	color: var(--fbs-text-muted) !important;
	text-decoration: none !important;
	opacity: 0.85;
	transition: opacity 0.15s ease, color 0.15s ease;
	letter-spacing: 0.01em;
	cursor: pointer;
}

.flowbie-search-wrap--open .fbs__powered {
	display: none !important;
}

.flowbie-search-wrap--hero .fbs__powered {
	color: rgba(255, 255, 255, 0.65) !important;
}

.flowbie-search-wrap--hero .fbs__powered strong,
.flowbie-search-wrap--hero .fbs__powered-icon {
	color: rgba(255, 255, 255, 0.9) !important;
}

.fbs__powered:hover {
	opacity: 1;
	color: var(--fbs-primary) !important;
	text-decoration: none;
}

.fbs__powered strong {
	color: var(--fbs-primary) !important;
	font-weight: 700;
}

.flowbie-search-wrap .fbs__powered-icon {
	flex-shrink: 0;
	width: 16px !important;
	height: 16px !important;
	color: var(--fbs-primary) !important;
}

/* ── AI Analysis Banner ───────────────────────────────────────── */

.flowbie-search-wrap .fbs__ai-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	margin: 0 !important;
	background: color-mix(in srgb, var(--fbs-primary) 8%, var(--fbs-bg));
	border-bottom: 1px solid var(--fbs-border);
	font-size: max(0.85rem, 0.78em);
	line-height: 1.4;
}

.fbs__ai-label {
	font-weight: 700;
	color: var(--fbs-primary) !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	flex-shrink: 0;
}

.fbs__ai-tag {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-weight: 600;
	font-size: 0.92em;
}

.fbs__ai-tag--intent {
	background: color-mix(in srgb, var(--fbs-primary) 15%, var(--fbs-bg));
	color: var(--fbs-primary) !important;
}

.fbs__ai-tag--sentiment {
	background: color-mix(in srgb, #10b981 15%, var(--fbs-bg));
	color: #059669 !important;
}

.fbs__ai-tag--negative {
	background: color-mix(in srgb, #ef4444 12%, var(--fbs-bg));
	color: #dc2626 !important;
}

.fbs__ai-keywords {
	color: var(--fbs-text-muted) !important;
	font-style: italic;
}

/* ── Spinner ──────────────────────────────────────────────────── */

.fbs__spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid var(--fbs-border);
	border-top-color: var(--fbs-primary);
	border-radius: 50%;
	animation: fbs-spin 0.6s linear infinite;
}

@keyframes fbs-spin {
	to { transform: rotate(360deg); }
}
