body.snapweb-community-fcom-search-context .snapweb-shell-search {
	--snapweb-community-surface: var(--fcom-primary-bg, #ffffff);
	--snapweb-community-surface-alt: var(--fcom-secondary-bg, #f3f6f9);
	--snapweb-community-text: var(--fcom-primary-text, #1f2937);
	--snapweb-community-muted: var(--fcom-secondary-text, #667085);
	--snapweb-community-border: var(--fcom-primary-border, #e3e8ee);
	--snapweb-community-active: var(--fcom-active-bg, #f1f5f9);
	box-sizing: border-box;
	color: var(--snapweb-community-text);
	font-family: inherit;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search *,
body.snapweb-community-fcom-search-context .snapweb-shell-search *::before,
body.snapweb-community-fcom-search-context .snapweb-shell-search *::after {
	box-sizing: border-box;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search--global {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 4vw, 48px);
	background: rgba(0, 0, 0, 0.42);
}

body.snapweb-community-fcom-search-context .snapweb-shell-search--global.is-open {
	display: flex;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__panel {
	width: min(100%, 980px);
	max-height: min(760px, calc(100vh - 48px));
	overflow: auto;
	padding: 22px;
	border: 1px solid var(--snapweb-community-border);
	border-radius: var(--fcom-border-radius, 12px);
	background: var(--snapweb-community-surface);
	box-shadow: 0 20px 70px rgba(15, 23, 42, 0.2);
}

body.snapweb-community-fcom-search-context .snapweb-shell-search--inline .snapweb-shell-search__panel {
	width: 100%;
	max-height: none;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__modal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	color: var(--snapweb-community-muted);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--snapweb-community-border);
	border-radius: var(--fcom-border-radius, 10px);
	background: var(--snapweb-community-surface);
	color: var(--snapweb-community-text);
	cursor: pointer;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(170px, 220px) minmax(120px, auto);
	gap: 12px;
	align-items: stretch;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__bar.has-space-filter {
	grid-template-columns: minmax(220px, 1fr) minmax(150px, 210px) minmax(170px, 260px) minmax(120px, auto);
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__input,
body.snapweb-community-fcom-search-context .snapweb-shell-search__source-select,
body.snapweb-community-fcom-search-context .snapweb-shell-search__space-select,
body.snapweb-community-fcom-search-context .snapweb-shell-search__submit {
	width: 100%;
	height: var(--el-component-size, 40px);
	min-height: var(--el-component-size, 40px);
	padding: 0 18px;
	border: 1px solid var(--snapweb-community-border);
	border-radius: var(--fcom-border-radius, 10px);
	background: var(--snapweb-community-surface);
	color: var(--snapweb-community-text);
	font: inherit;
	line-height: 1.2;
	user-select: text;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__submit {
	background: var(--fcom-button-primary-bg, var(--fcom-primary-button-bg, #1f2937));
	color: var(--fcom-button-primary-color, var(--fcom-primary-button-color, #ffffff));
	cursor: pointer;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__input:focus,
body.snapweb-community-fcom-search-context .snapweb-shell-search__source-select:focus,
body.snapweb-community-fcom-search-context .snapweb-shell-search__space-select:focus,
body.snapweb-community-fcom-search-context .snapweb-shell-search__submit:focus {
	outline: 2px solid color-mix(in srgb, var(--snapweb-community-text) 22%, transparent);
	outline-offset: 1px;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__input::selection {
	background: color-mix(in srgb, var(--snapweb-community-text) 24%, transparent);
	color: var(--snapweb-community-text);
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__results {
	margin-top: 22px;
}

body.snapweb-community-fcom-search-context .snapweb-search-page-state {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 180px;
	padding: 28px;
	border: 1px solid var(--snapweb-community-border);
	border-radius: var(--fcom-border-radius, 12px);
	background: var(--snapweb-community-surface-alt);
	color: var(--snapweb-community-muted);
	font-weight: 600;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search--global .snapweb-search-page-state {
	border: 0;
	background: var(--snapweb-community-surface-alt);
}

body.snapweb-community-fcom-search-context .snapweb-search-page-state__icon {
	display: inline-flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--snapweb-community-active);
	color: var(--snapweb-community-text);
}

body.snapweb-community-fcom-search-context .snapweb-search-page-state__icon svg,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-action svg,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.snapweb-community-fcom-search-context .snapweb-search-page-summary {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 0 28px;
	color: var(--snapweb-community-text);
}

body.snapweb-community-fcom-search-context .snapweb-search-page-summary__eyebrow,
body.snapweb-community-fcom-search-context .snapweb-shell-search__group {
	color: var(--snapweb-community-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

body.snapweb-community-fcom-search-context .snapweb-search-page-summary strong {
	display: block;
	margin-top: 6px;
	font-size: 20px;
	line-height: 1.25;
}

body.snapweb-community-fcom-search-context .snapweb-search-page-summary__meta {
	color: var(--snapweb-community-muted);
	white-space: nowrap;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__group {
	padding: 0 0 14px;
	border-bottom: 1px solid var(--snapweb-community-border);
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 18px 16px;
	border-bottom: 1px solid var(--snapweb-community-border);
	border-radius: var(--fcom-border-radius, 10px);
	color: var(--snapweb-community-text);
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-row:hover,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-row:focus-within {
	background: var(--snapweb-community-active);
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result {
	display: flex;
	min-width: 0;
	gap: 14px;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-image {
	width: 54px;
	height: 54px;
	flex: 0 0 auto;
	border-radius: var(--fcom-border-radius, 10px);
	object-fit: cover;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-body {
	display: grid;
	min-width: 0;
	gap: 6px;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-title {
	color: var(--snapweb-community-text);
	font-weight: 700;
	line-height: 1.25;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-source {
	color: var(--snapweb-community-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-excerpt {
	color: var(--snapweb-community-muted);
	line-height: 1.35;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-actions {
	display: flex;
	gap: 8px;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-action,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--snapweb-community-border);
	border-radius: 999px;
	background: var(--snapweb-community-surface);
	color: var(--snapweb-community-muted);
	text-decoration: none;
	cursor: pointer;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-action:hover,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy:hover,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-action:focus-visible,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy:focus-visible,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy.is-copied {
	background: var(--snapweb-community-active);
	color: var(--snapweb-community-text);
}

body.snapweb-community-fcom-search-context .snapweb-search-page-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 28px 0 10px;
	color: var(--snapweb-community-muted);
}

body.snapweb-community-fcom-search-context .snapweb-search-page-pagination__button {
	min-height: var(--el-component-size, 40px);
	padding: 0 18px;
	border: 1px solid var(--snapweb-community-border);
	border-radius: var(--fcom-border-radius, 10px);
	background: var(--snapweb-community-surface);
	color: var(--snapweb-community-text);
	cursor: pointer;
}

body.snapweb-community-fcom-search-context .snapweb-search-page-pagination__button:disabled {
	opacity: 0.52;
	cursor: not-allowed;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-route {
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-titlebar,
body.snapweb-community-fcom-search-context .snapweb-fcom-search-route > .fhr_content_layout_header.snapweb-fcom-search-titlebar {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex: 0 0 52px !important;
	width: auto !important;
	height: 52px !important;
	min-height: 52px !important;
	max-height: 52px !important;
	margin: 0 !important;
	padding: 0 2rem !important;
	overflow: hidden !important;
	border-bottom: 1px solid var(--snapweb-community-border) !important;
	background: var(--snapweb-community-surface) !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-titlebar .snapweb-fcom-search-title,
body.snapweb-community-fcom-search-context .snapweb-fcom-search-titlebar .fhr_page_title {
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-family: inherit !important;
	font-size: 1.15rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-wrap {
	box-sizing: border-box !important;
	flex: 1 1 auto !important;
	width: min(1404px, calc(100% - 48px)) !important;
	margin: 0 auto !important;
	padding: clamp(24px, 3vw, 42px) 0 clamp(54px, 7vw, 92px) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__bar {
	grid-template-columns: minmax(160px, 1fr) minmax(112px, 150px) auto !important;
	gap: 16px !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__bar.has-space-filter {
	grid-template-columns: minmax(120px, 1fr) minmax(112px, 150px) minmax(150px, 230px) auto !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__input,
body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__source-select,
body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__space-select,
body.snapweb-community-fcom-search-context .snapweb-shell-search--global .snapweb-shell-search__input,
body.snapweb-community-fcom-search-context .snapweb-shell-search--global .snapweb-shell-search__source-select,
body.snapweb-community-fcom-search-context .snapweb-shell-search--global .snapweb-shell-search__space-select {
	border-color: var(--snapweb-community-border) !important;
	background: var(--snapweb-community-surface) !important;
	color: var(--snapweb-community-text) !important;
	box-shadow: none !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__results {
	display: block !important;
	overflow: hidden !important;
	margin-top: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--fcom-border-radius, 10px) !important;
	background: var(--snapweb-community-surface) !important;
	box-shadow: none !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-search-page-summary {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: end !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 22px 24px 18px !important;
	background: var(--snapweb-community-surface) !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__group {
	margin: 0 !important;
	padding: 16px 24px !important;
	border-top: 0 !important;
	border-bottom: 1px solid var(--snapweb-community-border) !important;
	background: var(--snapweb-community-surface) !important;
	color: var(--snapweb-community-muted) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-search-page-list,
body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-search-page-group {
	display: block !important;
	margin: 0 !important;
	background: var(--snapweb-community-surface) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__result-row {
	gap: 12px !important;
	padding: 16px 24px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--snapweb-community-border) !important;
	border-radius: 0 !important;
	background: var(--snapweb-community-surface) !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__result-row:hover,
body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-shell-search__result-row:focus-within,
body.snapweb-community-fcom-search-context .snapweb-shell-search--global .snapweb-shell-search__result-row:hover,
body.snapweb-community-fcom-search-context .snapweb-shell-search--global .snapweb-shell-search__result-row:focus-within {
	background: var(--snapweb-community-active) !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result:hover,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result:focus-visible,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result[aria-selected="true"],
body.snapweb-community-fcom-search-context .snapweb-shell-search__result.is-active {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	transform: none !important;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-row:hover .snapweb-shell-search__result-title,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-row:focus-within .snapweb-shell-search__result-title {
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-action,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy {
	background: var(--snapweb-community-surface) !important;
	border-color: var(--snapweb-community-border) !important;
	color: var(--snapweb-community-muted) !important;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-action:hover,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy:hover,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-action:focus-visible,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy:focus-visible,
body.snapweb-community-fcom-search-context .snapweb-shell-search__result-copy.is-copied {
	background: var(--snapweb-community-active) !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-shell-search__input::selection {
	background: color-mix(in srgb, var(--snapweb-community-text) 20%, transparent) !important;
	color: var(--snapweb-community-text) !important;
}

body.snapweb-community-fcom-search-context .snapweb-fcom-search-page-search .snapweb-search-page-pagination {
	margin: 0 !important;
	padding: 22px 24px 38px !important;
	background: var(--snapweb-community-surface) !important;
	color: var(--snapweb-community-muted) !important;
}

@media (max-width: 760px) {
body.snapweb-community-fcom-search-context .snapweb-shell-search__bar,
body.snapweb-community-fcom-search-context .snapweb-shell-search__bar.has-space-filter {
		grid-template-columns: 1fr;
	}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-row {
		grid-template-columns: 1fr;
	}

body.snapweb-community-fcom-search-context .snapweb-shell-search__result-actions {
		justify-content: flex-end;
	}
}
