.neo-pulse-search-wrap {
	--fbs-primary: #3b82f6;
	--fbs-bg: #ffffff;
	--fbs-radius: 8px;
	--fbs-font-size: 1rem;
	--fbs-text: #1e293b;
	--fbs-text-muted: #64748b;
	--fbs-text-secondary: #475569;
	--fbs-border: #cbd5e1;
	--fbs-border-hover: #94a3b8;
	--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);
	--fbs-input-bg: #ffffff;
	--fbs-placeholder: #94a3b8;
	--fbs-button-bg: var(--fbs-primary);
	--fbs-button-text: #ffffff;
	--fbs-button-hover: #2563eb;
	--fbs-focus-ring: var(--fbs-primary);
	--fbs-link: #2563eb;
	--fbs-score: #64748b;
	--fbs-banner-bg: #eff6ff;
	--fbs-banner-text: #1e40af;
	--fbs-powered: #64748b;
	--fbs-powered-icon: #3b82f6;
	--fbs-icon: #3b82f6;
	--fbs-button-border: #cbd5e1;
	--fbs-form-border: #cbd5e1;
	--fbs-input-text: #1e293b;
	--fbs-font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--fbs-launcher-bg: var(--fbs-button-bg);
	--fbs-launcher-color: var(--fbs-button-text);
	--fbs-launcher-hover-bg: var(--fbs-button-hover);
	--fbs-launcher-size: 44px;
	--fbs-launcher-radius: var(--fbs-radius);
	--fbs-launcher-border: transparent;
	--fbs-modal-max-width: 560px;
	--fbs-backdrop-color: #0f172a;
	--fbs-backdrop-opacity: 35%;
	--fbs-insight-chip-bg: #f8fafc;
	--fbs-insight-chip-hover: var(--fbs-hover);
	--fbs-panel-bg: var(--fbs-bg);
	--fbs-panel-text: var(--fbs-text);
	--fbs-panel-text-muted: var(--fbs-text-muted);
	font-family: var(--fbs-font-family);
	font-size: max(1rem, var(--fbs-font-size));
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	width: 100%;
	position: relative;
	z-index: 1;
}

.neo-pulse-search-wrap.fbs--no-shadow .fbs__dropdown {
	box-shadow: none !important;
}
.neo-pulse-search-wrap.fbs--no-submit .fbs__btn {
	display: none !important;
}
.neo-pulse-search-wrap.fbs--no-powered .fbs__powered,
.neo-pulse-search-wrap[data-hide-powered="1"] .fbs__powered {
	display: none !important;
}
.neo-pulse-search-wrap .fbs__btn-label {
	display: none !important;
}
.neo-pulse-search-wrap.fbs--no-icon .fbs__btn-icon svg {
	display: none !important;
}
.neo-pulse-search-wrap.fbs--no-icon .fbs__btn-label {
	display: inline !important;
	font-size: max(1rem, var(--fbs-font-size)) !important;
	line-height: 1.2 !important;
	color: var(--fbs-icon) !important;
}
.neo-pulse-search-wrap.fbs--no-icon .fbs__btn {
	font-size: max(1rem, var(--fbs-font-size)) !important;
	line-height: 1.2 !important;
	width: auto !important;
	min-width: 44px !important;
	max-width: none !important;
	padding: 0 12px !important;
}

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

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

.neo-pulse-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). */
.neo-pulse-search-wrap--header-slot.neo-pulse-search-wrap--hero,
.elementor-location-header .neo-pulse-search-wrap--hero {
	padding: 8px clamp(16px, 4vw, 48px) 12px;
	background: transparent;
}

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

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

.neo-pulse-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;
}

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

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

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

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

.neo-pulse-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-neo-pulse_search .neo-pulse-search-wrap {
	display: flex;
	width: 100%;
}

.elementor-widget-neo-pulse_search.elementor-align-left .neo-pulse-search-wrap {
	justify-content: flex-start;
}

.elementor-widget-neo-pulse_search.elementor-align-center .neo-pulse-search-wrap {
	justify-content: center;
}

.elementor-widget-neo-pulse_search.elementor-align-right .neo-pulse-search-wrap {
	justify-content: flex-end;
}

.elementor-widget-neo-pulse_search.elementor-align-left .neo-pulse-search-wrap .fbs {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.elementor-widget-neo-pulse_search.elementor-align-right .neo-pulse-search-wrap .fbs {
	margin-left: auto !important;
	margin-right: 0 !important;
}

.elementor-widget-neo-pulse_search:has(.neo-pulse-search-wrap--icon-only) {
	width: auto;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.elementor-widget-neo-pulse_search .neo-pulse-search-wrap--icon-only {
	display: inline-flex;
	width: auto;
	max-width: none;
	flex: 0 0 auto;
	align-items: center;
	align-self: center;
	padding: 0;
	margin: 0;
	vertical-align: middle;
	line-height: 0;
}

.neo-pulse-search-wrap--icon-only:not(.neo-pulse-search-wrap--hero) {
	padding: 0;
	margin: 0;
}

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

.neo-pulse-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-form-border, var(--fbs-border)) !important;
	border-radius: var(--fbs-radius) !important;
	overflow: hidden !important;
	box-shadow: none !important;
	min-height: 44px !important;
}

.neo-pulse-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;
}

.neo-pulse-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-input-text, var(--fbs-text)) !important;
	background: var(--fbs-input-bg, var(--fbs-bg)) !important;
	-webkit-text-fill-color: var(--fbs-input-text, var(--fbs-text)) !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

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

.neo-pulse-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-button-border, 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-icon, var(--fbs-primary)) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer !important;
}

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

.neo-pulse-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;
}

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

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

.neo-pulse-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;
}

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

.neo-pulse-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;
}

.neo-pulse-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;
}

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

.neo-pulse-search-wrap .fbs__dropdown-footer .fbs__powered-icon {
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0;
	color: var(--fbs-powered-icon, var(--fbs-primary)) !important;
}

.neo-pulse-search-wrap .fbs__dropdown-footer strong {
	color: var(--fbs-powered-icon, var(--fbs-primary)) !important;
	font-weight: 700;
}

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

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

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

.neo-pulse-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;
}

.neo-pulse-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 ───────────────────────────────────────────────────── */

.neo-pulse-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 NEO Pulse ────────────────────────────────────────── */

.neo-pulse-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-powered, 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;
}

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

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

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

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

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

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

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

.neo-pulse-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); }
}

/* ── Sidebar mode ─────────────────────────────────────────────── */

.neo-pulse-search-wrap--sidebar-mode {
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	max-width: none !important;
}

.neo-pulse-search-wrap--sidebar-mode .fbs--sidebar-inner {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.neo-pulse-search-wrap--sidebar-mode .fbs__form {
	flex-shrink: 0;
	margin-bottom: 12px;
}

.neo-pulse-search-wrap--sidebar-mode .fbs__panel--sidebar {
	position: static;
	flex: 0 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	pointer-events: auto;
}

.neo-pulse-search-wrap--sidebar-mode .fbs__dropdown {
	position: static;
	flex: 0 1 auto;
	min-height: 0;
	max-height: none;
	overflow-y: visible;
	box-shadow: none;
	border: 0;
	background: transparent;
}

.neo-pulse-search-wrap--sidebar-mode .fbs__status {
	position: static;
	flex: 0 1 auto;
	min-height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.neo-pulse-search-wrap--sidebar-mode .fbs__powered {
	flex-shrink: 0;
	margin-top: 12px;
}

.neo-pulse-search-wrap--sidebar-mode.fai-sidebar-panel__body .fbs--sidebar-inner {
	height: 100%;
}

.neo-pulse-search-wrap--sidebar-mode .fai-sidebar-panel__body {
	padding-bottom: 16px;
}

/* Panel inner search shell (survives portal to document.body) */
.fai-sidebar-panel__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

.neo-pulse-search-wrap--panel-inner {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	width: 100%;
	height: 100%;
}

.fai-sidebar-panel--portaled .fai-sidebar-panel__body .neo-pulse-search-wrap--panel-inner {
	flex: 1;
	min-height: 0;
}

.neo-pulse-search-wrap--icon-only-mode.neo-pulse-search-wrap--panel-inner .fbs--sidebar-inner,
.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs--sidebar-inner {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.neo-pulse-search-wrap--icon-only-mode.neo-pulse-search-wrap--panel-inner .fbs__form,
.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__form {
	flex-shrink: 0;
	margin-bottom: 20px;
}

.fbs__sidebar-search,
.fbs__sidebar-insights {
	flex-shrink: 0;
	width: 100%;
}

.fbs__sidebar-query-scroll + .fbs__sidebar-insights,
.fbs__sidebar-insights {
	flex-shrink: 0;
}

.fbs__sidebar-query-scroll {
	flex: 0 0 auto;
	min-height: 0;
	max-height: var(--fbs-sidebar-query-max-height, min(42vh, 360px));
	overflow-x: hidden;
	overflow-y: auto;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 45%, transparent) transparent;
	width: 100%;
}

.fbs__sidebar-query-scroll::-webkit-scrollbar {
	width: 8px;
}

.fbs__sidebar-query-scroll::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 45%, transparent);
	border-radius: 999px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode,
.neo-pulse-search-wrap--icon-only-mode.neo-pulse-search-wrap--panel-inner {
	--fbs-sidebar-results-height: min(36vh, 280px);
	--fbs-sidebar-query-max-height: min(42vh, 360px);
}

.fbs__results-slot {
	position: relative;
	flex: 0 0 var(--fbs-sidebar-results-height, min(36vh, 280px));
	height: var(--fbs-sidebar-results-height, min(36vh, 280px));
	overflow: hidden;
}

.fbs__results-slot-empty {
	position: absolute;
	inset: 0;
	z-index: 0;
	padding: 16px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px dotted color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 40%, transparent);
	box-sizing: border-box;
}

.fbs__results-slot-empty[hidden] {
	display: flex !important;
	visibility: hidden;
	pointer-events: none;
}

.fbs__results-slot-empty-label {
	margin: 0;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	color: var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) !important;
}

.fbs__sidebar-intro {
	margin: 0 0 16px;
	padding: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) !important;
}

.fbs__results-slot .fbs__panel--sidebar {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	margin: 0 !important;
}

.fbs__results-slot .fbs__dropdown {
	position: absolute;
	inset: 0;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.fbs__results-slot .fbs__dropdown::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.fbs__results-slot .fbs__dropdown[hidden] {
	display: block !important;
	visibility: hidden;
	pointer-events: none;
}

.fbs__results-slot .fbs__status {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
}

.fbs__results-slot .fbs__status[hidden] {
	display: flex !important;
	visibility: hidden;
	pointer-events: none;
}

/* Sidebar results scroll: flow layout inside query-scroll (overrides absolute slot rules above) */
.fbs__sidebar-query-scroll .fbs__results-slot {
	position: relative;
	flex: 0 0 auto;
	height: auto;
	min-height: 120px;
	overflow: visible;
}

.fbs__sidebar-query-scroll .fbs__results-slot-empty {
	position: absolute;
	inset: 0;
	min-height: 120px;
}

.fbs__sidebar-query-scroll .fbs__results-slot .fbs__panel--sidebar {
	position: relative;
	inset: auto;
	z-index: auto;
	overflow: visible;
	margin: 0 !important;
}

.fbs__sidebar-query-scroll .fbs__results-slot .fbs__dropdown {
	position: relative;
	inset: auto;
	overflow: visible;
	max-height: none;
	scrollbar-width: auto;
	-ms-overflow-style: auto;
}

.fbs__sidebar-query-scroll .fbs__results-slot .fbs__dropdown::-webkit-scrollbar {
	display: block;
	width: auto;
	height: auto;
}

.fbs__sidebar-query-scroll .fbs__results-slot .fbs__dropdown[hidden],
.fbs__sidebar-query-scroll .fbs__results-slot .fbs__status[hidden] {
	display: none !important;
	visibility: visible;
	pointer-events: none;
}

.fbs__sidebar-query-scroll .fbs__results-slot .fbs__status {
	position: relative;
	inset: auto;
	z-index: auto;
	min-height: 120px;
}

.fbs__sidebar-insights {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 10px;
}

.fbs__sidebar-insights .fbs__insights-block {
	margin-top: 0;
}

.fbs__insights-block--slot {
	flex-shrink: 0;
}

.fbs__insights-block--slot[data-insight="popular_terms"] {
	min-height: 0;
}

.fbs__insights-list.fbs__insights-list--terms {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
}

.fbs__insights-block[data-insight="popular_terms"] .fbs__insight-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: 100%;
	min-width: 0;
	flex: 0 0 auto;
	box-sizing: border-box;
	white-space: nowrap;
	text-align: center;
	font-size: 1rem;
	line-height: 1.2;
	padding: 8px 12px;
	border: 1px solid var(--fbs-border, #cbd5e1);
	border-radius: var(--fbs-radius, 8px);
	background: var(--fbs-insight-chip-bg, #f8fafc);
	color: var(--fbs-text);
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fbs__insights-block[data-insight="popular_terms"] .fbs__insight-chip:hover {
	background: var(--fbs-insight-chip-hover, #f1f5f9);
	border-color: var(--fbs-border-hover, #94a3b8);
	color: var(--fbs-text);
}

.fbs__insights-block[data-insight="popular_terms"] .fbs__insight-chip:active,
.fbs__insights-block[data-insight="popular_terms"] .fbs__insight-chip:focus,
.fbs__insights-block[data-insight="popular_terms"] .fbs__insight-chip:focus-visible {
	background: var(--fbs-primary, #3b82f6) !important;
	border-color: var(--fbs-primary, #3b82f6) !important;
	color: var(--fbs-button-text, #ffffff) !important;
}

@media (max-width: 782px) {
	.fbs__insights-block[data-insight="popular_terms"] .fbs__insight-chip {
		max-width: calc(50% - 4px);
	}
}

.fbs__insights-block--slot[data-insight="popular_pages_overseer"],
.fbs__insights-block--slot[data-insight="popular_pages_search"] {
	min-height: 0;
}

.fbs__insights-block--slot[data-insight="popular_topics"] {
	min-height: 120px;
}

.neo-pulse-search-wrap--icon-only-mode.neo-pulse-search-wrap--panel-inner .fbs__powered,
.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__powered {
	flex-shrink: 0;
	margin-top: 12px;
}

/* Sidebar native surface: flat content on panel; query-scroll handles vertical scroll */
.fai-sidebar-panel:not(.fbs-modal-panel) .fai-sidebar-panel__body {
	padding-inline: 0;
	padding-bottom: 16px;
	overflow: hidden;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-search {
	padding-inline: 16px;
	flex-shrink: 0;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-query-scroll {
	padding-inline: 16px;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-query-scroll .fbs__sidebar-results {
	padding-inline: 0;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fai-sidebar-heading,
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-intro,
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__panel-hero,
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-insights,
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__powered {
	padding-inline: 16px;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__panel--sidebar,
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__dropdown,
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__status {
	overflow: visible;
	max-height: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__form {
	margin-bottom: 0;
	background: var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff)) !important;
	border: 0 !important;
	border-bottom: 1px solid color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 22%, transparent) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__form {
	background: var(--fbs-bg, var(--fbs-panel-bg, #ffffff)) !important;
	border: 1px solid var(--fbs-form-border, var(--fbs-border, #cbd5e1)) !important;
	border-radius: var(--fbs-radius, 8px) !important;
	box-shadow: none !important;
	margin-bottom: 20px;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__form:focus-within {
	box-shadow: none !important;
	border-bottom-color: var(--fbs-primary, #3b82f6) !important;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__form:focus-within {
	border-color: var(--fbs-primary, #3b82f6) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--fbs-primary, #3b82f6) 18%, transparent) !important;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__input {
	background: var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff)) !important;
	color: var(--fbs-panel-text, var(--fai-sidebar-text, #1e293b)) !important;
	-webkit-text-fill-color: var(--fbs-panel-text, var(--fai-sidebar-text, #1e293b)) !important;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__input {
	background: transparent !important;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__ai-banner {
	padding-inline: 0;
	padding-block: 6px;
	flex-wrap: nowrap;
	overflow: hidden;
	background: transparent;
	border-bottom: 1px solid color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 18%, transparent);
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__ai-keywords {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__dropdown-footer {
	padding-inline: 16px;
	padding-block: 6px;
	background: transparent !important;
	border-top: 1px solid color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 18%, transparent);
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result {
	border-bottom-color: color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 18%, transparent);
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result:hover,
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result:focus {
	background: color-mix(in srgb, var(--fbs-panel-text-muted, var(--fbs-text-muted, #64748b)) 8%, var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff)));
}

/* Sidebar compact results: title + type on one row, tighter rows, smaller rings */
.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result {
	padding: 8px 16px;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result-row {
	align-items: flex-start;
	gap: 8px;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result-body {
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: 8px;
	row-gap: 0;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result-title {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result-meta {
	grid-column: 2;
	grid-row: 1;
	margin-top: 0;
	align-self: baseline;
	flex-shrink: 0;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__result-excerpt {
	grid-column: 1 / -1;
	grid-row: 2;
	-webkit-line-clamp: 1;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__relevance {
	width: 36px;
	height: 36px;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__results-slot-empty {
	padding-inline: 16px;
}

.fbs__insights-block {
	margin-top: 12px;
}

.fbs__insights-pages-group {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.fbs__sidebar-insights .fbs__insights-pages-group {
	margin-top: 0;
}

.fbs__insights-pages-group .fbs__insights-block {
	margin-top: 0;
}

.fbs__insights-pages-separator {
	display: inline;
	color: var(--fbs-text-muted);
	font-size: 1rem;
	line-height: 1;
	padding: 0 6px;
	white-space: nowrap;
	flex-shrink: 0;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-pages-group--paired {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-pages-group--paired .fbs__insights-block {
	display: block;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-pages-group--paired .fbs__insights-label {
	margin-bottom: 4px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-pages-group--paired .fbs__insights-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-pages-group--paired .fbs__insights-pages-separator {
	display: none;
}

.fbs__insights-label {
	font-size: 1rem;
	font-weight: 600;
	color: var(--fbs-text-muted);
	margin-bottom: 4px;
}

.fbs__insights-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.fbs__insights-list.fbs__insights-list--links {
	gap: 8px 12px;
	align-items: center;
}

.fbs__insight-chip {
	font-size: 1rem;
	font-family: inherit;
	line-height: 1.4;
	padding: 6px 12px;
	border: 0;
	border-radius: var(--fbs-radius-sm, 6px);
	background: var(--fbs-insight-chip-bg, #f8fafc);
	color: var(--fbs-text);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.fbs__insight-chip:hover {
	background: var(--fbs-insight-chip-hover, #f1f5f9);
	color: var(--fbs-text);
}

.fbs__insight-chip:active,
.fbs__insight-chip:focus,
.fbs__insight-chip:focus-visible {
	background: var(--fbs-primary, #3b82f6) !important;
	color: var(--fbs-button-text, #ffffff) !important;
	outline: none;
}

.fbs__insight-link {
	font-size: 1rem;
	color: var(--fbs-link, #2563eb);
	text-decoration: none;
	padding: 0;
	flex: 0 1 auto;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fbs__insight-link:hover {
	text-decoration: underline;
}

/* Icon-only display mode */
.neo-pulse-search-wrap--icon-only {
	width: auto;
	display: inline-block;
	vertical-align: middle;
}

.neo-pulse-search-wrap--icon-only.fbs-icon-panel-root,
.neo-pulse-search-wrap--icon-only.fai-sidebar-root--inline-launcher {
	position: relative;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	width: auto;
	height: auto;
	min-height: 0;
	z-index: 1;
	pointer-events: auto;
}

.neo-pulse-search-wrap--icon-only .fbs__icon-launcher {
	position: relative;
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto;
	align-items: center;
	justify-content: center;
	width: var(--fbs-launcher-size, 44px);
	height: var(--fbs-launcher-size, 44px);
	min-width: var(--fbs-launcher-size, 44px);
	max-width: var(--fbs-launcher-size, 44px);
	min-height: var(--fbs-launcher-size, 44px);
	max-height: var(--fbs-launcher-size, 44px);
	padding: 0;
	border: 1px solid var(--fbs-launcher-border, transparent);
	border-radius: var(--fbs-launcher-radius, var(--fbs-radius));
	background: var(--fbs-launcher-bg, var(--fbs-button-bg));
	color: var(--fbs-launcher-color, var(--fbs-button-text));
	cursor: pointer;
	box-shadow: var(--fbs-launcher-shadow, none);
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	line-height: 0;
	flex-shrink: 0;
	align-self: center;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.neo-pulse-search-wrap--icon-only .fbs__icon-launcher:hover {
	background: var(--fbs-launcher-hover-bg, var(--fbs-button-hover));
}

.neo-pulse-search-wrap--icon-only .fbs__icon-launcher svg {
	width: 20px;
	height: 20px;
	display: block;
	color: inherit;
	flex-shrink: 0;
}

.neo-pulse-search-wrap--icon-only.fai-sidebar-root--inline-launcher {
	display: inline-block;
	pointer-events: auto;
}

.neo-pulse-search-wrap--icon-only.fbs-icon-panel-root.fai-sidebar-root--inline-launcher .fbs__icon-launcher,
.neo-pulse-search-wrap--icon-only.fai-sidebar-root--inline-launcher .fbs__icon-launcher {
	position: relative;
	top: auto;
	right: auto;
	left: auto;
	transform: none;
	box-shadow: var(--fbs-launcher-shadow, 0 2px 12px rgba(0, 0, 0, 0.12));
}

.neo-pulse-search-wrap--icon-only:not(.fai-sidebar-root--open):not(.fbs-modal-root--open):not(.neo-pulse-search-wrap--panel-preview) .fai-sidebar-backdrop,
.neo-pulse-search-wrap--icon-only:not(.fai-sidebar-root--open):not(.fbs-modal-root--open):not(.neo-pulse-search-wrap--panel-preview) .fbs-modal-backdrop,
.neo-pulse-search-wrap--icon-only:not(.fai-sidebar-root--open):not(.fbs-modal-root--open):not(.neo-pulse-search-wrap--panel-preview) .fai-sidebar-panel,
.neo-pulse-search-wrap--icon-only:not(.fai-sidebar-root--open):not(.fbs-modal-root--open):not(.neo-pulse-search-wrap--panel-preview) .fbs-modal-panel {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.neo-pulse-search-wrap--icon-only.fai-sidebar-root--open .fai-sidebar-backdrop,
.neo-pulse-search-wrap--icon-only.fai-sidebar-root--open .fai-sidebar-panel,
.neo-pulse-search-wrap--icon-only.fbs-modal-root--open .fbs-modal-backdrop,
.neo-pulse-search-wrap--icon-only.fbs-modal-root--open .fbs-modal-panel {
	display: flex !important;
	visibility: visible !important;
}

.neo-pulse-search-wrap--icon-only.fai-sidebar-root--open .fai-sidebar-backdrop {
	display: block !important;
}

.neo-pulse-search-wrap--icon-only.fai-sidebar-root--inline-launcher.fai-sidebar-root--open .fai-sidebar-panel {
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: var(--fai-sidebar-z-index, 999999);
}

.neo-pulse-search-wrap--icon-only.fai-sidebar-root--inline-launcher.fai-sidebar-root--right.fai-sidebar-root--open .fai-sidebar-panel {
	right: 0;
	left: auto;
	transform: translateX(0);
}

.neo-pulse-search-wrap--icon-only.fai-sidebar-root--inline-launcher.fai-sidebar-root--left.fai-sidebar-root--open .fai-sidebar-panel {
	left: 0;
	right: auto;
	transform: translateX(0);
}

.neo-pulse-search-wrap--icon-only.fai-sidebar-root--open .fbs__icon-launcher {
	opacity: 0;
	pointer-events: none;
	position: absolute;
}

.neo-pulse-search-wrap--icon-expand .fbs__icon-panel--expand {
	display: none;
	width: 0;
	overflow: hidden;
	opacity: 0;
	transition: width 0.25s ease, opacity 0.25s ease;
}

.neo-pulse-search-wrap--icon-expand.fbs--open .fbs__icon-launcher {
	display: none;
}

.neo-pulse-search-wrap--icon-expand.fbs--open .fbs__icon-panel--expand {
	display: block;
	width: 100%;
	min-width: min(100%, var(--fbs-max-width, 520px));
	opacity: 1;
	overflow: visible;
}

.neo-pulse-search-wrap--icon-expand.fbs--open .fbs {
	max-width: var(--fbs-max-width, 520px);
}

/* Center modal panel */
.fbs-modal-root {
	position: relative;
	pointer-events: auto;
}

.fbs-modal-root .fbs-modal-backdrop {
	background: color-mix(in srgb, var(--fbs-backdrop-color, #0f172a) var(--fbs-backdrop-opacity, 35%), transparent);
}

.fbs-modal-root .fbs-modal-panel {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.96);
	width: min(var(--fbs-modal-max-width, 560px), calc(100vw - 32px));
	max-height: min(85vh, 720px);
	bottom: auto;
	right: auto;
	border-radius: var(--fbs-radius);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.fbs-modal-root.fbs-modal-root--open .fbs-modal-panel,
.fbs-modal-root.fai-sidebar-root--open .fbs-modal-panel {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, -50%) scale(1);
}

.fbs-modal-root.fbs-modal-root--open .fbs-modal-backdrop,
.fbs-modal-root.fai-sidebar-root--open .fbs-modal-backdrop {
	opacity: 1;
	pointer-events: auto;
}

.fbs-modal-root .fbs-modal-panel .fai-sidebar-panel__body {
	max-height: calc(min(85vh, 720px) - 48px);
	overflow-y: auto;
	padding: 16px;
}

.fbs-modal-panel--portaled .fai-sidebar-panel__body {
	padding: 16px;
	padding-top: var(--fbs-panel-offset-top, 64px);
}

.fai-sidebar-panel > .fai-sidebar-close,
.fbs-modal-panel > .fai-sidebar-close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	width: 40px;
	height: 40px;
	border-radius: 6px;
	background: color-mix(in srgb, var(--fbs-primary, #3b82f6) 12%, var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff)));
	color: var(--fbs-primary, #3b82f6);
}

.fai-sidebar-panel > .fai-sidebar-close:hover,
.fbs-modal-panel > .fai-sidebar-close:hover {
	background: color-mix(in srgb, var(--fbs-primary, #3b82f6) 20%, var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff)));
	color: var(--fbs-primary, #3b82f6);
}

.neo-pulse-search-wrap--icon-only-mode .fai-sidebar-panel {
	background: var(--fbs-panel-bg, var(--fai-sidebar-bg));
	color: var(--fbs-panel-text, var(--fai-sidebar-text));
}

.fai-sidebar-panel--portaled,
.fai-sidebar-panel.fai-sidebar-panel--portaled {
	position: fixed;
}

.fai-sidebar-backdrop--portaled,
.fai-sidebar-panel--portaled {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.fai-sidebar-backdrop--portaled.fai-sidebar-backdrop--visible {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: fixed;
	inset: 0;
	z-index: calc(var(--fai-sidebar-z-index, 999999) - 1);
	background: color-mix(in srgb, var(--fbs-backdrop-color, #0f172a) var(--fbs-backdrop-opacity, 35%), transparent);
}

.fai-sidebar-panel--portaled.fai-sidebar-panel--visible {
	display: flex !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: fixed;
	top: 0;
	bottom: 0;
	width: var(--fai-sidebar-width, 400px);
	max-width: min(var(--fai-sidebar-width, 400px), 100vw);
	z-index: var(--fai-sidebar-z-index, 999999);
	background: var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff));
	color: var(--fbs-panel-text, var(--fai-sidebar-text, #1e293b));
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
	flex-direction: column;
	overflow: hidden;
}

.fai-sidebar-panel--portaled-right.fai-sidebar-panel--visible {
	right: 0;
	left: auto;
	transform: translateX(0);
}

.fai-sidebar-panel--portaled-left.fai-sidebar-panel--visible {
	left: 0;
	right: auto;
	transform: translateX(0);
}

.fbs-modal-backdrop--portaled.fai-sidebar-backdrop--visible {
	background: color-mix(in srgb, var(--fbs-backdrop-color, #0f172a) var(--fbs-backdrop-opacity, 35%), transparent);
}

.fbs-modal-panel--portaled.fai-sidebar-panel--visible {
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	transform: translate(-50%, -50%) scale(1);
	width: min(var(--fbs-modal-max-width, 560px), calc(100vw - 32px));
	max-height: min(85vh, 720px);
	border-radius: var(--fbs-radius, 8px);
}

/* Panel content offset (sidebar / icon panel modes).
   Offset is used in Elementor preview; live drawers keep a short top pad so the heading sits next to the close control. */
.fai-sidebar-panel:not(.fbs-modal-panel) .fai-sidebar-panel__body,
.neo-pulse-search-wrap--sidebar-mode .fai-sidebar-panel__body,
.fai-sidebar-panel--portaled .fai-sidebar-panel__body {
	padding-top: 12px;
	overflow: hidden;
	touch-action: auto;
}

.fai-sidebar-panel:not(.fbs-modal-panel) .fai-sidebar-heading {
	padding-right: 56px;
	min-height: 40px;
	display: flex;
	align-items: center;
}

.neo-pulse-search-wrap--panel-align-center .fai-sidebar-panel__body,
.fai-sidebar-panel--align-center .fai-sidebar-panel__body,
.fai-sidebar-panel--portaled.fai-sidebar-panel--align-center .fai-sidebar-panel__body,
.fai-sidebar-panel--elementor-editor-preview.fai-sidebar-panel--align-center .fai-sidebar-panel__body {
	text-align: center;
}

.neo-pulse-search-wrap--panel-align-center .fai-sidebar-heading,
.neo-pulse-search-wrap--panel-align-center .fbs__sidebar-intro,
.neo-pulse-search-wrap--panel-align-center .fbs__panel-hero,
.fai-sidebar-panel--align-center .fai-sidebar-heading,
.fai-sidebar-panel--align-center .fbs__sidebar-intro,
.fai-sidebar-panel--align-center .fbs__panel-hero {
	margin-left: auto;
	margin-right: auto;
	max-width: 480px;
}

.neo-pulse-search-wrap--panel-align-center .fbs__insights-pages-group,
.fai-sidebar-panel--align-center .fbs__insights-pages-group {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
}

.neo-pulse-search-wrap--panel-align-center .fbs__insights-block,
.fai-sidebar-panel--align-center .fbs__insights-block {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
	text-align: left;
}

.neo-pulse-search-wrap--panel-align-center .fbs__insights-list:not(.fbs__insights-list--links),
.fai-sidebar-panel--align-center .fbs__insights-list:not(.fbs__insights-list--links) {
	justify-content: flex-start;
}

.neo-pulse-search-wrap--panel-align-center .fbs__insights-list--links,
.fai-sidebar-panel--align-center .fbs__insights-list--links {
	justify-content: flex-start;
}

.neo-pulse-search-wrap--panel-align-center .fbs__insights-label,
.fai-sidebar-panel--align-center .fbs__insights-label {
	text-align: left;
}

.neo-pulse-search-wrap--panel-layout-discovery {
	--fbs-discovery-accent: var(--fbs-primary, #3b82f6);
}

/* Shared panel-inner surface (Discovery + Compact sidebar/modal) */
.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode {
	--fbs-discovery-accent: var(--fbs-primary, #3b82f6);
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-block {
	margin-top: 12px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-pages-group {
	margin-top: 12px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-pages-group .fbs__insights-block {
	margin-top: 0;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-list:not(.fbs__topics-grid) {
	gap: 12px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insight-chip {
	background: var(--fbs-insight-chip-bg, #f1f5f9);
	border-radius: var(--fbs-radius, 8px);
	padding: 8px 16px;
	font-weight: 600;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode
	.fbs__insights-list.fbs__insights-list--terms {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__insights-list.fbs__insights-list--links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__topics-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__topic-tile {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid var(--fbs-border, #cbd5e1);
	border-radius: 999px;
	background: var(--fbs-panel-bg, #ffffff);
	color: var(--fbs-panel-text, var(--fbs-text));
	text-decoration: none;
	font-size: 1rem;
	line-height: 1.3;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__topic-tile:hover {
	background: var(--fbs-hover, #f1f5f9);
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__topic-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--fbs-discovery-accent);
	color: #ffffff;
	flex-shrink: 0;
}

.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode .fbs__topic-icon svg {
	width: 18px;
	height: 18px;
}

.neo-pulse-search-wrap--panel-layout-discovery .fbs__panel-hero {
	text-align: center;
	margin-bottom: 24px;
}

.neo-pulse-search-wrap--panel-layout-discovery .fbs__panel-title {
	margin: 0 0 12px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--fbs-panel-text, var(--fbs-text));
}

.neo-pulse-search-wrap--panel-layout-discovery .fbs__panel-subtitle {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--fbs-text-muted, #64748b);
}

.neo-pulse-search-wrap--panel-layout-discovery .fbs__insights-label--topics {
	text-align: center;
	color: var(--fbs-discovery-accent);
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 16px;
}

.fbs__icon-sprites {
	display: none !important;
}

/* Elementor editor: launcher in widget; Preview panel uses fixed in-wrap panel (neo-pulse-search-elementor-preview.js) */
.neo-pulse-search-wrap--elementor-edit {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: inline-block !important;
	width: auto;
	min-height: 0;
	overflow: visible;
	pointer-events: auto !important;
	z-index: 1;
}

.neo-pulse-search-wrap--elementor-edit:not(.neo-pulse-search-wrap--panel-preview) .fai-sidebar-panel,
.neo-pulse-search-wrap--elementor-edit:not(.neo-pulse-search-wrap--panel-preview) .fbs-modal-panel,
.neo-pulse-search-wrap--elementor-edit:not(.neo-pulse-search-wrap--panel-preview) .fbs__icon-panel--expand,
.neo-pulse-search-wrap--elementor-edit:not(.neo-pulse-search-wrap--panel-preview) .fai-sidebar-backdrop,
.neo-pulse-search-wrap--elementor-edit:not(.neo-pulse-search-wrap--panel-preview) .fbs-modal-backdrop {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.neo-pulse-search-wrap--elementor-edit .fbs__icon-launcher,
.neo-pulse-search-wrap--elementor-edit .fai-sidebar-launcher {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	transform: none !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview.neo-pulse-search-wrap--icon-expand .fbs__icon-panel--expand {
	display: block !important;
	width: 100%;
	opacity: 1;
	overflow: visible;
}

.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview.neo-pulse-search-wrap--icon-expand .fbs {
	max-width: var(--fbs-max-width, 520px);
}

/* Editor preview: fixed sidebar on viewport (no portal, no backdrop dim) */
.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview:not(.neo-pulse-search-wrap--icon-expand) > .fai-sidebar-backdrop,
.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview:not(.neo-pulse-search-wrap--icon-expand) > .fbs-modal-backdrop {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview:not(.neo-pulse-search-wrap--icon-expand):not(.fbs-modal-root) > .fai-sidebar-panel,
.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview:not(.neo-pulse-search-wrap--icon-expand):not(.fbs-modal-root) > .fbs-modal-panel,
.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--icon-only.neo-pulse-search-wrap--panel-preview.fai-sidebar-root--inline-launcher:not(.fbs-modal-root) > .fai-sidebar-panel {
	display: flex !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: fixed !important;
	top: 0;
	bottom: 0;
	right: 0;
	left: auto;
	width: var(--fai-sidebar-width, 400px);
	max-width: min(var(--fai-sidebar-width, 400px), 100vw);
	z-index: 999999 !important;
	flex-direction: column;
	overflow: hidden;
	background: var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff));
	color: var(--fbs-panel-text, var(--fai-sidebar-text, #1e293b));
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
	transform: translateX(0) !important;
}

.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview.fai-sidebar-root--left:not(.neo-pulse-search-wrap--icon-expand):not(.fbs-modal-root) > .fai-sidebar-panel,
.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview.fai-sidebar-root--left:not(.neo-pulse-search-wrap--icon-expand):not(.fbs-modal-root) > .fbs-modal-panel {
	right: auto;
	left: 0;
}

.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview.fbs-modal-root > .fbs-modal-panel,
.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview.fbs-modal-root > .fai-sidebar-panel {
	display: flex !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: fixed !important;
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	transform: translate(-50%, -50%);
	width: min(var(--fbs-modal-max-width, 560px), calc(100vw - 32px));
	max-height: min(85vh, 720px);
	z-index: 99991 !important;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--fbs-radius, 8px);
	background: var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff));
	color: var(--fbs-panel-text, var(--fai-sidebar-text, #1e293b));
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
}

.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview:not(.neo-pulse-search-wrap--icon-expand) > .fai-sidebar-panel .fai-sidebar-panel__body {
	padding-top: var(--fbs-panel-offset-top, 64px) !important;
	overflow: hidden;
}

.neo-pulse-search-wrap--elementor-edit.neo-pulse-search-wrap--panel-preview:not(.neo-pulse-search-wrap--icon-expand) > .fbs-modal-panel .fai-sidebar-panel__body {
	padding-top: var(--fbs-panel-offset-top, 64px) !important;
	overflow-y: auto;
}

/* Panel moved to body in editor preview (escapes header transform/overflow clipping) */
.fai-sidebar-panel.fai-sidebar-panel--elementor-editor-preview,
.fbs-modal-panel.fai-sidebar-panel--elementor-editor-preview {
	display: flex !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: fixed !important;
	top: 0;
	bottom: 0;
	width: var(--fai-sidebar-width, 400px);
	max-width: min(var(--fai-sidebar-width, 400px), 100vw);
	z-index: 999999 !important;
	flex-direction: column;
	overflow: hidden;
	background: var(--fbs-panel-bg, var(--fai-sidebar-bg, #ffffff));
	color: var(--fbs-panel-text, var(--fai-sidebar-text, #1e293b));
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
}

.fai-sidebar-panel.fai-sidebar-panel--elementor-editor-preview:not(.fbs-modal-panel) {
	transform: translateX(0) !important;
}

.fai-sidebar-panel.fai-sidebar-panel--elementor-editor-preview.fai-sidebar-panel--editor-preview-right,
.fbs-modal-panel.fai-sidebar-panel--elementor-editor-preview.fai-sidebar-panel--editor-preview-right {
	right: 0;
	left: auto;
}

.fai-sidebar-panel.fai-sidebar-panel--elementor-editor-preview.fai-sidebar-panel--editor-preview-left,
.fbs-modal-panel.fai-sidebar-panel--elementor-editor-preview.fai-sidebar-panel--editor-preview-left {
	right: auto;
	left: 0;
}

.fbs-modal-panel.fai-sidebar-panel--elementor-editor-preview {
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	transform: translate(-50%, -50%);
	width: min(var(--fbs-modal-max-width, 560px), calc(100vw - 32px));
	max-height: min(85vh, 720px);
	border-radius: var(--fbs-radius, 8px);
}

.fai-sidebar-panel.fai-sidebar-panel--elementor-editor-preview .fai-sidebar-panel__body {
	padding-top: var(--fbs-panel-offset-top, 64px) !important;
	overflow: hidden;
	flex: 1;
	min-height: 0;
}

@media (max-width: 767px) {
	.fai-sidebar-panel:not(.fbs-modal-panel),
	.fai-sidebar-panel--portaled.fai-sidebar-panel--visible,
	.fai-sidebar-panel--mobile-fullscreen {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100vw !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		transform: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	.fai-sidebar-panel:not(.fbs-modal-panel) .fai-sidebar-panel__body,
	.neo-pulse-search-wrap--sidebar-mode .fai-sidebar-panel__body,
	.fai-sidebar-panel--portaled .fai-sidebar-panel__body {
		--fbs-panel-offset-top: 48px;
		padding-top: max(var(--fbs-panel-offset-top, 48px), calc(16px + env(safe-area-inset-top, 0px)));
	}

	.fai-sidebar-panel:not(.fbs-modal-panel) > .fai-sidebar-close,
	.fbs-modal-panel > .fai-sidebar-close {
		top: max(12px, env(safe-area-inset-top, 0px));
	}

	.neo-pulse-search-wrap--panel-inner.neo-pulse-search-wrap--sidebar-mode,
	.neo-pulse-search-wrap--icon-only-mode.neo-pulse-search-wrap--panel-inner {
		--fbs-sidebar-query-max-height: min(36dvh, 260px);
	}

	.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-search,
	.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-query-scroll,
	.fai-sidebar-panel:not(.fbs-modal-panel) .fai-sidebar-heading,
	.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-intro,
	.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__panel-hero,
	.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__sidebar-insights,
	.fai-sidebar-panel:not(.fbs-modal-panel) .fbs__powered {
		padding-inline: 12px;
	}

	.fbs-modal-root .fbs-modal-panel .fai-sidebar-panel__body,
	.fbs-modal-panel--portaled .fai-sidebar-panel__body {
		padding-inline: 12px;
	}
}
