.search-strip {
		padding: 1rem 0 0.5rem;
		/* background: linear-gradient(180deg, rgba(248, 249, 250, 0.96) 0%, rgba(255, 255, 255, 1) 100%); */
		background: linear-gradient(180deg, #eef2f7 0%, rgb(230 238 249) 100%);
		border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	}

	/* .search-strip .search-form-shell {
		max-width: 1180px;
	}

	.search-strip .only-search-bar .container {
		max-width: 1180px;
	} */

	.search-strip .search-tabs-wrap {
		margin-bottom: 0.85rem;
	}

	.search-strip .search-tab-btn {
		border-radius: 999px;
		padding: 0.7rem 1.1rem;
		background-color: #fff;
		color: #243b53;
		border: 1px solid rgba(36, 59, 83, 0.12);
		font-weight: 700;
	}

	.search-strip .search-tab-btn.active {
		background-color: #0d6efd;
		border-color: #0d6efd;
		color: #fff;
		box-shadow: 0 10px 24px rgba(13, 110, 253, 0.18);
	}

	.search-strip .search-form-panel {
		padding: 1.1rem;
		border-radius: 1.5rem;
		background: #ffffff;
		border: 1px solid rgba(36, 59, 83, 0.08);
		box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
	}

	.search-strip .search-input-group {
		background-color: #f8fafc !important;
		border: 1px solid rgba(148, 163, 184, 0.2) !important;
	}

/* ==========================================================================
   Listing page (/s/...) – results header, toolbar & sidebar
   ========================================================================== */

:root {
	--ls-radius: 1rem;
	--ls-border: rgba(15, 23, 42, .08);
	--ls-surface: var(--bs-body-bg, #fff);
	--ls-soft: var(--bs-tertiary-bg, #f6f8fb);
	--ls-text: var(--bs-emphasis-color, #0f172a);
	--ls-muted: var(--bs-secondary-color, #64748b);
	--ls-accent: var(--bs-primary, #0d6efd);
	--ls-accent-rgb: var(--bs-primary-rgb, 13, 110, 253);
	--ls-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05);
}

[data-bs-theme="dark"] {
	--ls-border: rgba(255, 255, 255, .1);
	--ls-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.search-breadcrumb .breadcrumb {
	font-size: .875rem;
}

/* ---------- Results header ---------- */
.listing-results__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1rem;
	padding: .9rem 1rem;
	margin-bottom: .5rem;
	background: var(--ls-surface);
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	box-shadow: var(--ls-shadow);
}

.listing-results__summary {
	min-width: 0;
}

.listing-results__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .1rem .4rem;
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ls-text);
}

.listing-results__count {
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--ls-accent);
	font-variant-numeric: tabular-nums;
}

.listing-results__context {
	font-weight: 500;
	color: var(--ls-muted);
}

.listing-results__context::before {
	content: '·';
	margin-inline-end: .4rem;
}

.listing-results__range {
	margin-top: .15rem;
	font-size: .8rem;
	color: var(--ls-muted);
}

/* ---------- Toolbar ---------- */
.listing-results__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}

.listing-tool {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 2.5rem;
	padding: .45rem .9rem;
	border: 1px solid var(--ls-border);
	border-radius: 999px;
	background: var(--ls-soft);
	color: var(--ls-text);
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.listing-tool:hover,
.listing-tool:focus-visible,
.listing-tool[aria-expanded="true"] {
	background: rgba(var(--ls-accent-rgb), .08);
	border-color: rgba(var(--ls-accent-rgb), .3);
	color: var(--ls-accent);
}

.listing-tool--filters {
	background: var(--ls-accent);
	border-color: var(--ls-accent);
	color: #fff;
}

.listing-tool--filters:hover,
.listing-tool--filters:focus-visible {
	background: var(--ls-accent);
	color: #fff;
	filter: brightness(.95);
}

.listing-tool__label {
	/* Bootstrap secondary (#6c757d) is 4.44:1 on the toolbar background: below WCAG AA */
	color: #5c636a;
}

.listing-tool__value {
	max-width: 11rem;
	overflow: hidden;
	text-overflow: ellipsis;
}

.listing-sort-menu {
	min-width: 14rem;
	padding: .4rem;
	border: 1px solid var(--ls-border);
	border-radius: .85rem;
	box-shadow: 0 16px 40px rgba(15, 23, 42, .14);
}

.listing-sort-menu .dropdown-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .55rem .75rem;
	border-radius: .55rem;
	font-size: .9rem;
}

.listing-sort-menu .dropdown-item.active,
.listing-sort-menu .dropdown-item:active {
	background: rgba(var(--ls-accent-rgb), .1);
	color: var(--ls-accent);
	font-weight: 600;
}

.listing-view-switch {
	display: inline-flex;
	padding: .2rem;
	gap: .15rem;
	border: 1px solid var(--ls-border);
	border-radius: 999px;
	background: var(--ls-soft);
}

.listing-view-switch__item {
	display: inline-grid;
	place-items: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 999px;
	color: var(--ls-muted);
	text-decoration: none;
	transition: background-color .16s ease, color .16s ease;
}

.listing-view-switch__item:hover {
	color: var(--ls-accent);
}

.listing-view-switch__item.is-active {
	background: var(--ls-surface);
	color: var(--ls-accent);
	box-shadow: 0 2px 6px rgba(15, 23, 42, .12);
}

/* ---------- Results body ---------- */
.listing-results__body {
	min-height: 12rem;
}

/* List & compact views keep a framed surface */
.listing-results.list-view .listing-results__body,
.listing-results.compact-view .listing-results__body {
	padding: .25rem 1rem;
	background: var(--ls-surface);
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
}

.listing-save-search {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1rem;
	margin-top: 1.25rem;
	padding: 1rem 1.15rem;
	border: 1px dashed rgba(var(--ls-accent-rgb), .35);
	border-radius: var(--ls-radius);
	background: rgba(var(--ls-accent-rgb), .04);
}

.listing-save-search__title {
	font-weight: 700;
	color: var(--ls-text);
}

.listing-save-search__title i {
	color: var(--ls-accent);
}

.listing-save-search__text {
	font-size: .875rem;
	color: var(--ls-muted);
}

.listing-pagination .pagination {
	flex-wrap: wrap;
	justify-content: center;
	gap: .3rem;
}

.listing-pagination .page-link {
	min-width: 2.5rem;
	height: 2.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: .65rem !important;
	border-color: var(--ls-border);
	font-weight: 600;
}

.listing-pagination .page-item.active .page-link {
	box-shadow: 0 6px 16px rgba(var(--ls-accent-rgb), .3);
}

/* ---------- Mobile pager (Previous / Next) ---------- */
.listing-pager__bar {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .625rem;
}

.listing-pager__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 3rem;
	padding: .5rem .75rem;
	border: 1px solid rgba(var(--ls-accent-rgb), .35);
	border-radius: .85rem;
	background: #fff;
	color: var(--ls-accent);
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.2;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .15s ease, border-color .15s ease, transform .1s ease;
}

.listing-pager__btn:hover,
.listing-pager__btn:focus-visible {
	background: rgba(var(--ls-accent-rgb), .06);
	color: var(--ls-accent);
}

.listing-pager__btn:active {
	transform: scale(.98);
}

.listing-pager__btn--next {
	border-color: var(--ls-accent);
	background: var(--ls-accent);
	color: #fff;
	box-shadow: 0 6px 16px rgba(var(--ls-accent-rgb), .25);
}

.listing-pager__btn--next:hover,
.listing-pager__btn--next:focus-visible {
	background: var(--ls-accent);
	color: #fff;
	filter: brightness(.94);
}

.listing-pager__btn.is-disabled {
	border-color: var(--ls-border);
	background: #f1f3f5;
	color: #6c757d;
	box-shadow: none;
	cursor: not-allowed;
	pointer-events: none;
}

@media (max-width: 767.98px) {
	/* Pinned to the bottom of the screen once the user has scrolled past it */
	.listing-pager.is-fixed .listing-pager__bar {
		position: fixed;
		inset-inline: 0;
		bottom: 0;
		z-index: 1030;
		padding: .625rem 1rem calc(.625rem + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid var(--ls-border);
		background: rgba(255, 255, 255, .96);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		box-shadow: 0 -8px 24px rgba(15, 23, 42, .08);
		animation: listing-pager-in .2s ease-out;
	}

	/* Keep the floating WhatsApp button above the pinned pager */
	body.has-fixed-listing-pager .whatsapp-support-widget {
		bottom: calc(var(--listing-pager-height, 4.25rem) + .75rem);
	}
}

@keyframes listing-pager-in {
	from { transform: translateY(100%); }
	to { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.listing-pager.is-fixed .listing-pager__bar {
		animation: none;
	}
}

/* ---------- Sidebar ---------- */
.listing-sidebar-body {
	display: flex;
	flex-direction: column;
	gap: .85rem;
}

.listing-sidebar-heading {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .85rem .9rem;
	border: 1px solid rgba(var(--ls-accent-rgb), .12);
	border-radius: var(--ls-radius);
	/* Same light blue tone as the search strip */
	background: linear-gradient(180deg, #eef2f7 0%, rgb(230 238 249) 100%);
	box-shadow: var(--ls-shadow);
}

[data-bs-theme="dark"] .listing-sidebar-heading {
	background: var(--ls-soft);
	border-color: var(--ls-border);
}

.listing-sidebar-heading__icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: .75rem;
	background: var(--ls-accent);
	color: #fff;
	font-size: 1.05rem;
	box-shadow: 0 6px 14px rgba(var(--ls-accent-rgb), .25);
}

.listing-sidebar-heading__text {
	flex: 1 1 auto;
	min-width: 0;
}

.listing-sidebar-kicker {
	font-size: .68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--ls-accent);
}

.listing-sidebar-title {
	display: flex;
	align-items: center;
	gap: .4rem;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--ls-text);
}

.listing-sidebar-reset {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	flex: 0 0 auto;
	padding: .35rem .65rem;
	border: 1px solid var(--ls-border);
	border-radius: 999px;
	background: var(--ls-surface);
	color: var(--ls-muted);
	font-size: .75rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: color .16s ease, border-color .16s ease, background-color .16s ease;
}

.listing-sidebar-reset:hover,
.listing-sidebar-reset:focus-visible {
	border-color: rgba(220, 53, 69, .3);
	background: rgba(220, 53, 69, .06);
	color: #b02a37;
}

.listing-sidebar-reset__count {
	display: inline-grid;
	place-items: center;
	min-width: 1.3rem;
	height: 1.3rem;
	padding: 0 .35rem;
	border-radius: 999px;
	background: var(--ls-accent);
	color: #fff;
	font-size: .7rem;
	font-weight: 800;
}

/* Filter block */
.listing-filter-section {
	padding: 0;
	gap: 0 !important;
	overflow: hidden;
	background: var(--ls-surface);
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	box-shadow: var(--ls-shadow);
}

.listing-filter-section > :not(.listing-filter-heading):not(input[type="hidden"]) {
	padding: .75rem .85rem .85rem;
}

/* Bootstrap rows used by the custom fields: neutralise the negative gutters */
.listing-filter-section > .row {
	margin: 0;
	padding: .75rem .6rem .85rem !important;
}

.listing-filter-heading {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0;
	padding: .75rem .85rem;
	border-bottom: 1px solid var(--ls-border);
	font-size: .92rem;
	color: var(--ls-text);
}

.listing-filter-heading > .fw-bold {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 700 !important;
}

.listing-filter-icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 1.9rem;
	height: 1.9rem;
	border-radius: .6rem;
	background: rgba(var(--ls-accent-rgb), .1);
	color: var(--ls-accent);
	font-size: .9rem;
}

.listing-filter-clear:empty {
	display: none;
}

.listing-filter-clear a {
	display: inline-grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 999px;
	background: rgba(220, 53, 69, .08);
	color: #b02a37 !important;
	font-size: .7rem;
	transition: background-color .16s ease;
}

.listing-filter-clear a:hover {
	background: rgba(220, 53, 69, .16);
}

.listing-filter-parent-link {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-size: .875rem;
	color: var(--ls-muted) !important;
	text-decoration: none;
}

.listing-filter-parent-link:hover {
	color: var(--ls-accent) !important;
}

.listing-filter-current {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	font-weight: 700;
	color: var(--ls-text);
	border-color: var(--ls-border) !important;
}

.listing-filter-current .fs-5 {
	font-size: 1rem !important;
}

.listing-filter-list {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	margin: 0;
}

.listing-filter-list.nested {
	padding-inline-start: 0 !important;
}

.listing-filter-item {
	margin: 0;
}

.listing-filter-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	width: 100%;
	padding: .5rem .65rem;
	border-radius: .6rem;
	color: var(--ls-text);
	font-size: .9rem;
	text-decoration: none;
	transition: background-color .16s ease, color .16s ease;
}

.listing-filter-link > span:first-child {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.listing-filter-link i {
	margin-inline-end: .35rem;
	color: var(--ls-muted);
}

.listing-filter-link:hover {
	background: var(--ls-soft);
	color: var(--ls-accent);
}

.listing-filter-link:hover .listing-filter-count {
	background: rgba(var(--ls-accent-rgb), .12);
	color: var(--ls-accent);
}

.listing-filter-link.is-active {
	position: relative;
	background: rgba(var(--ls-accent-rgb), .08);
	color: var(--ls-accent);
	font-weight: 700;
}

.listing-filter-link.is-active::before {
	content: '';
	position: absolute;
	inset-inline-start: 0;
	top: .45rem;
	bottom: .45rem;
	width: 3px;
	border-radius: 3px;
	background: var(--ls-accent);
}

.listing-filter-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 1.9rem;
	padding: .12rem .45rem;
	border-radius: 999px;
	background: var(--ls-soft);
	color: var(--ls-muted);
	font-size: .72rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	transition: background-color .16s ease, color .16s ease;
}

.listing-filter-link.is-active .listing-filter-count {
	background: var(--ls-accent);
	color: #fff;
}

/* "Show more" injected by hideMaxListItems() */
.listing-filter-section .maxlist-more {
	margin: .35rem 0 0;
	padding: 0 .65rem;
}

.listing-filter-section .maxlist-more a {
	font-size: .82rem;
	font-weight: 700;
	color: var(--ls-accent);
	text-decoration: none;
}

/* Radio / checkbox options */
.listing-filter-options {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	margin: 0;
}

.listing-filter-option {
	position: relative;
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .5rem .65rem;
	border: 1px solid transparent;
	border-radius: .6rem;
	background: var(--ls-soft);
	cursor: pointer;
	transition: border-color .16s ease, background-color .16s ease;
}

.listing-filter-option:hover {
	border-color: rgba(var(--ls-accent-rgb), .25);
}

.listing-filter-option:has(input:checked) {
	border-color: rgba(var(--ls-accent-rgb), .45);
	background: rgba(var(--ls-accent-rgb), .07);
}

.listing-filter-option .form-check-input {
	margin: 0;
	flex: 0 0 auto;
}

.listing-filter-option label {
	flex: 1 1 auto;
	font-size: .9rem;
	cursor: pointer;
}

.listing-filter-option label::after {
	/* Whole row clickable */
	content: '';
	position: absolute;
	inset: 0;
}

/* Inputs & buttons */
.listing-filter-input,
.listing-filter-section .form-control,
.listing-filter-section .form-select,
.listing-filter-section .select2-selection {
	min-height: 2.5rem;
	border-radius: .6rem !important;
	border-color: var(--ls-border);
	font-size: .9rem;
}

.listing-filter-section .form-control:focus,
.listing-filter-section .form-select:focus {
	border-color: rgba(var(--ls-accent-rgb), .5);
	box-shadow: 0 0 0 .2rem rgba(var(--ls-accent-rgb), .15);
}

.listing-filter-submit {
	min-height: 2.5rem;
	border-radius: .6rem;
	font-weight: 700;
}

.listing-filter-price .noUi-target {
	margin: .9rem .6rem .4rem;
	height: 6px;
	border: 0;
	background: var(--ls-soft);
	box-shadow: none;
}

.listing-filter-price .noUi-connect {
	background: var(--ls-accent);
}

.listing-filter-price .noUi-handle {
	width: 20px !important;
	height: 20px !important;
	top: -7px !important;
	right: -10px !important;
	border: 3px solid var(--ls-accent);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(15, 23, 42, .2);
	cursor: grab;
}

.listing-filter-price .noUi-handle::before,
.listing-filter-price .noUi-handle::after {
	display: none;
}

/* Promo, trust & blog blocks */
.listing-sidebar-promo {
	display: block;
	overflow: hidden;
	border-radius: var(--ls-radius);
	box-shadow: var(--ls-shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}

.listing-sidebar-promo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 6 / 5;
	object-fit: cover;
}

.listing-sidebar-promo:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(15, 23, 42, .12);
}

.listing-sidebar-trust {
	padding: .75rem;
	background: var(--ls-surface);
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	box-shadow: var(--ls-shadow);
}

.listing-sidebar .sidebar-blog-card {
	padding: .85rem;
	border-color: var(--ls-border);
	border-radius: var(--ls-radius);
	box-shadow: var(--ls-shadow);
}

.listing-sidebar .sidebar-blog-card .listing-section-title {
	font-size: .92rem;
	font-weight: 700;
	padding-bottom: .65rem;
	border-bottom: 1px solid var(--ls-border);
}

.listing-sidebar .sidebar-blog-thumb {
	width: 64px;
	height: 64px;
}

.listing-sidebar .sidebar-blog-link {
	font-size: .875rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.listing-sidebar .sidebar-blog-excerpt {
	display: none;
}

.listing-sidebar a:hover .sidebar-blog-link {
	color: var(--ls-accent);
}

/* ---------- Mobile offcanvas ---------- */
.listing-sidebar-offcanvas {
	--bs-offcanvas-width: min(92vw, 380px);
	background: var(--ls-soft);
}

.listing-sidebar-mobile-header {
	padding-top: calc(1rem + env(safe-area-inset-top, 0px));
	background: var(--ls-surface);
	border-bottom: 1px solid var(--ls-border);
}

.listing-sidebar-mobile-header .listing-sidebar-reset__count {
	vertical-align: middle;
	margin-inline-start: .25rem;
}

.listing-sidebar-offcanvas .offcanvas-body {
	padding: .85rem;
}

.listing-sidebar-mobile-footer {
	display: flex;
	gap: .5rem;
	padding: .75rem .85rem calc(.75rem + env(safe-area-inset-bottom, 0px));
	background: var(--ls-surface);
	border-top: 1px solid var(--ls-border);
	box-shadow: 0 -8px 20px rgba(15, 23, 42, .06);
}

.listing-sidebar-mobile-footer .btn {
	min-height: 2.75rem;
	border-radius: .75rem;
	font-weight: 700;
}

@media (max-width: 767.98px) {
	.search-strip {
		padding-top: .75rem;
	}

	.search-strip .search-form-panel {
		padding: .9rem;
		border-radius: 1.25rem;
	}

	.listing-results__head {
		padding: .8rem .85rem;
	}

	.listing-results__toolbar {
		width: 100%;
	}

	.listing-results__toolbar > .dropdown {
		flex: 1 1 auto;
	}

	.listing-results__toolbar > .dropdown > .listing-tool,
	.listing-tool--filters {
		width: 100%;
		justify-content: center;
	}

	.listing-tool--filters {
		flex: 1 1 auto;
		width: auto;
	}
}
