/* Revolution bridge: active store palette, isolated from the theme files. */
#search.pro-search-revolution {
	--ps-rev-ink: #333333;
	--ps-rev-accent: #202428;
	--ps-rev-accent-dark: #111417;
	--ps-rev-border: #dfe3e8;
	background: transparent;
	border: 0;
	border-radius: 2px;
	margin: 18px auto 0;
	max-width: 680px;
	width: 100%;
}

#top2 #search.pro-search-revolution {
	margin: 18px auto 0;
}

#search.pro-search-revolution .pro-search-input-group {
	align-items: center;
	background: #ffffff;
	border: 1px solid var(--ps-rev-border);
	border-radius: 2px;
	box-shadow: 0 8px 24px rgba(25, 31, 40, .08), inset 0 1px 0 rgba(255,255,255,.92);
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#search.pro-search-revolution .pro-search-input-group:focus-within {
	border-color: #555b60;
	box-shadow: 0 12px 30px rgba(17, 20, 23, .14), 0 0 0 3px rgba(17, 20, 23, .08);
}

#search.pro-search-revolution .pro-search-input-group .form-control {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 2px 0 0 2px;
	box-shadow: none;
	color: #24262a;
	font-weight: 500;
	padding-left: 20px;
}

#search.pro-search-revolution .pro-search-input-group .form-control:focus {
	background: transparent;
	border: 0;
	box-shadow: none;
}

#search.pro-search-revolution .pro-search-input-group .form-control::placeholder {
	color: #8b929b;
	font-weight: 400;
	opacity: 1;
}

#search.pro-search-revolution .pro-search-input-group .form-control::-webkit-search-cancel-button {
	cursor: pointer;
	margin-right: 5px;
}

#search.pro-search.pro-search-revolution.pro-search-size-large .pro-search-input-group .form-control,
#search.pro-search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .form-control {
	padding-left: 20px;
}

#search.pro-search-revolution .pro-search-input-group .input-group-btn,
#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .input-group-btn {
	align-items: stretch;
	display: flex;
	flex: 0 0 60px;
	padding: 4px;
}

#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .input-group-btn {
	flex-basis: 52px;
}

#search.pro-search-revolution .pro-search-input-group .btn {
	background: var(--ps-rev-ink);
	border: 0;
	border-radius: 1px;
	box-shadow: none;
	color: #ffffff;
	height: 100%;
	min-width: 0;
	padding: 0;
	transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#search.pro-search.pro-search-revolution.pro-search-size-large .pro-search-input-group .btn {
	height: 44px;
	padding: 0;
}

#search.pro-search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .btn {
	height: 34px;
	padding: 0;
}

#search.pro-search-revolution .pro-search-input-group .btn:hover,
#search.pro-search-revolution .pro-search-input-group .btn:focus,
#search.pro-search-revolution .pro-search-input-group:focus-within .btn {
	background: rgba(24, 28, 31, .96);
	border: 0;
	backdrop-filter: blur(10px);
	box-shadow: 0 8px 18px rgba(17, 20, 23, .24), inset 0 1px 0 rgba(255,255,255,.12);
	color: #ffffff;
}

#search.pro-search-revolution .pro-search-input-group .btn:active {
	box-shadow: 0 2px 7px rgba(17, 20, 23, .2);
	transform: scale(.96);
}

#search.pro-search-revolution .pro-search-dropdown {
	border: 1px solid #dde1e6;
	border-radius: 2px;
	border-top: 2px solid #202428;
	box-shadow: 0 24px 64px rgba(20, 26, 34, .2), 0 8px 20px rgba(20, 26, 34, .08);
	left: 50%;
	margin-top: 10px;
	right: auto;
	scrollbar-color: #202428 transparent;
	scrollbar-width: thin;
	transform: translateX(-50%);
}

#search.pro-search-revolution .pro-search-dropdown::-webkit-scrollbar {
	width: 5px;
}

#search.pro-search-revolution .pro-search-dropdown::-webkit-scrollbar-track {
	background: transparent;
}

#search.pro-search-revolution .pro-search-dropdown::-webkit-scrollbar-thumb {
	background: #202428;
	border: 1px solid transparent;
	background-clip: content-box;
}

#search.pro-search-revolution .pro-search-item:hover,
#search.pro-search-revolution .pro-search-item.active {
	background: #f3f4f4;
	backdrop-filter: none;
	border-color: #dfe3e6;
	border-left-color: #202428;
	box-shadow: 0 3px 10px rgba(20, 26, 34, .055);
	color: #202428;
	transform: none;
}

#search.pro-search-revolution .pro-search-item:hover .pro-search-name,
#search.pro-search-revolution .pro-search-item.active .pro-search-name,
#search.pro-search-revolution .pro-search-item:hover .pro-search-main,
#search.pro-search-revolution .pro-search-item.active .pro-search-main { color: #202428; }
#search.pro-search-revolution .pro-search-item:hover .pro-search-meta,
#search.pro-search-revolution .pro-search-item.active .pro-search-meta,
#search.pro-search-revolution .pro-search-item:hover .pro-search-count,
#search.pro-search-revolution .pro-search-item.active .pro-search-count { color: #687177; }
#search.pro-search-revolution .pro-search-item:hover .pro-search-count,
#search.pro-search-revolution .pro-search-item.active .pro-search-count { background: #e7eaec !important; }
#search.pro-search-revolution .pro-search-chip:hover,
#search.pro-search-revolution .pro-search-chip.active {
	background: #f1f2f3;
	border-color: #d1d6da;
	color: #202428;
	text-decoration: none;
}
#search.pro-search-revolution .pro-search-price { color: #202428; }
#search.pro-search-revolution .pro-search-price.is-special { color: #202428; }
#search.pro-search-revolution .pro-search-footer {
	background: #f4f5f5;
	border-top-color: #e1e4e6;
	color: #202428;
}
#search.pro-search-revolution .pro-search-footer:hover,
#search.pro-search-revolution .pro-search-footer:focus {
	background: #eceeef;
	color: #202428;
}
#search.pro-search-revolution .pro-search-spinner-track { stroke: #d7dbde; }
#search.pro-search-revolution .pro-search-spinner-line { stroke: #202428; }
#search.pro-search-revolution .pro-search-redirect > .fa,
#search.pro-search-revolution .pro-search-banner > .fa { color: #202428; }

.psl {
	--psl-ink: #333333;
	--psl-accent: #5c5c5c;
	--psl-accent-dark: #484848;
	--psl-radius: 3px;
}

.psl .psl-card,
.psl .psl-card-media,
.psl .psl-filters,
.psl .psl-sort,
.psl .psl-category-card { border-radius: 0; }

.psl .psl-cart-button {
	background: linear-gradient(135deg, #1b1f22, #30353a);
	border-color: #1b1f22;
	border-radius: 1px;
}

.psl .psl-cart-button:hover,
.psl .psl-cart-button:focus {
	background: rgba(20, 24, 27, .96);
	backdrop-filter: blur(10px);
	border-color: #111417;
	box-shadow: 0 10px 22px rgba(17, 20, 23, .24), inset 0 1px 0 rgba(255,255,255,.12);
}

.psl .psl-card-stickers { gap: 4px; padding: 5px 7px 0; }
.psl .psl-card-stickers .stiker_panel,
.psl .psl-card-stickers .statuses { gap: 4px; }
.psl .psl-card-stickers .product-sticker,
.psl .psl-card-stickers .category-sticker,
.psl .psl-card-stickers .category_status-sticker {
	align-items: center;
	display: inline-flex !important;
	flex-wrap: wrap;
	gap: 4px;
	height: auto !important;
	width: auto !important;
}
.psl .psl-card-stickers .product-sticker > div,
.psl .psl-card-stickers .category-sticker > div,
.psl .psl-card-stickers .category_status-sticker > div { margin: 0 !important; }
.psl .psl-card-stickers .status-name { bottom: auto; position: static; }
.psl .psl-card-stickers .product-sticker,
.psl .psl-card-stickers .category-sticker,
.psl .psl-card-stickers .category_status-sticker { pointer-events: none; z-index: 1; }
.psl-revolution-statuses { margin: 0; padding: 0; }

.psch {
	--psch-accent: #202428;
	--psch-accent-dark: #111417;
	--psch-ink: #333333;
}

.psch .psch-card-image,
.psch .psch-tree { border-radius: 0; }
.psch .psch-card-image { position: relative; }
.psch .psch-card-stickers { gap: 4px; padding: 5px 4px 0; }
.psch .psch-card-stickers .product-sticker,
.psch .psch-card-stickers .category-sticker,
.psch .psch-card-stickers .category_status-sticker { align-items: center; display: inline-flex !important; flex-wrap: wrap; gap: 4px; height: auto !important; width: auto !important; }
.psch .psch-card-stickers .product-sticker > div,
.psch .psch-card-stickers .category-sticker > div,
.psch .psch-card-stickers .category_status-sticker > div { margin: 0 !important; }
.psch .psch-revolution-statuses { margin-top: 5px; }

/* Compact, neutral Revolution listing skin. The default module stylesheet
 * remains untouched for other themes; this bridge only removes the theme's
 * blue accents and replaces them with a restrained graphite palette. */
.psl .psl-header {
	border-bottom: 1px solid #e1e4e6;
	margin-bottom: 0;
	padding-bottom: 7px;
}
.psl .psl-heading-row { gap: 12px; margin-bottom: 0; }
.psl .psl-heading-row h1 {
	font-size: clamp(22px, 2.4vw, 31px);
	letter-spacing: -.028em;
	line-height: 1.12;
	margin-bottom: 2px;
}
.psl .psl-total { font-size: 12px; }
.psl .psl-query-summary { font-size: 12px; margin-bottom: 2px; }
.psl .psl-toolbar {
	border-top: 0;
	min-height: 58px;
	padding: 12px 0;
}

/* Keep the category controls and active-filter row on one vertical rhythm:
 * the separator has the same 12px breathing room on both sides of the cards. */
.psl .psl-layout { padding-top: 12px; }
.psl .psl-category-carousel.is-toolbar .psl-category-card,
.psl[data-mode="category"] .psl-category-carousel.is-compact .psl-category-card {
	background: #f6f7f8;
	border-color: #d6dadd;
	border-radius: 0;
	box-shadow: 0 2px 7px rgba(17, 20, 23, .06);
	min-height: 34px;
	padding: 5px 10px;
}
.psl .psl-category-carousel.is-toolbar .psl-category-card:hover,
.psl .psl-category-carousel.is-toolbar .psl-category-card:focus,
.psl .psl-category-carousel.is-toolbar .psl-category-card.is-active,
.psl[data-mode="category"] .psl-category-carousel.is-compact .psl-category-card:hover,
.psl[data-mode="category"] .psl-category-carousel.is-compact .psl-category-card:focus,
.psl[data-mode="category"] .psl-category-carousel.is-compact .psl-category-card.is-active {
	background: #5c5c5c;
	border-color: transparent;
	box-shadow: 0 7px 16px rgba(17, 20, 23, .18);
	color: #fff;
}
.psl .psl-category-card strong { color: inherit; }
.psl .psl-category-arrow,
.psl .psl-toolbar-arrow {
	background: rgba(255,255,255,.94);
	border-color: #cdd2d6;
	border-radius: 0;
	box-shadow: 0 4px 12px rgba(17,20,23,.1);
}
.psl .psl-category-arrow:hover,
.psl .psl-toolbar-arrow:hover:not(:disabled) {
	background: #5c5c5c;
	border-color: transparent;
	color: #fff;
}
.psl .psl-card { border-radius: 0; }
.psl .psl-card-media { border-radius: 0; }
.psl .psl-card:hover {
	border-color: #c6ccd0;
	box-shadow: 0 18px 38px rgba(17, 20, 23, .14), 0 2px 7px rgba(17, 20, 23, .05);
}
.psl .psl-card-title a:hover,
.psl .psl-options-toggle,
.psl .psl-facet-title:hover,
.psl .psl-facet.is-open > .psl-facet-title { color: #202428; }
.psl .psl-search-box:focus-within,
.psl .psl-facet-search:focus-within { border-color: #555b60; box-shadow: 0 0 0 3px rgba(17,20,23,.09); }
.psl .psl-search-submit:hover,
.psl .psl-search-submit:focus {
	background: rgba(20,24,27,.96);
	border-color: #111417;
	box-shadow: 0 10px 22px rgba(17,20,23,.22), inset 0 1px 0 rgba(255,255,255,.12);
}
.psl .psl-filters {
	border-radius: 0;
}

/* The Revolution desktop header becomes fixed while scrolling. Keep the
 * sidebar below the complete header stack instead of letting it slide under
 * the navigation bar. Mobile filters remain the native bottom sheet. */
@media (min-width: 768px) {
	.psl .psl-filters {
		max-height: calc(100vh - 160px);
		top: 146px;
	}
}

.psl .psl-filter-head {
	border-radius: 0;
}
.psl .psl-filter-head strong::before { border-radius: 0; }
.psl .psl-filter-close,
.psl .psl-mobile-filter,
.psl .psl-filter-footer,
.psl .psl-filter-reset,
.psl .psl-filter-apply { border-radius: 0; }
.psl .psl-facet-title,
.psl .psl-facet-switches > .psl-facet-body,
.psl .psl-price-inputs label,
.psl .psl-facet-search,
.psl .psl-check-row,
.psl .psl-price-preset,
.psl .psl-switch-row { border-radius: 0; }
.psl .psl-facet-title:hover,
.psl .psl-facet.is-open > .psl-facet-title,
.psl .psl-facet.is-open > .psl-facet-title:hover {
	background: transparent;
	color: #202428;
}
.psl .psl-facet-title:hover,
.psl .psl-facet-title:focus { background: #f7f8f8; }
.psl .psl-facet-switches > .psl-facet-body { background: #f7f8f8; }
.psl .psl-price-inputs label:focus-within,
.psl .psl-facet-search:focus-within { border-color: #555b60; box-shadow: 0 0 0 3px rgba(17,20,23,.09); }
.psl .psl-range-track { border-radius: 0; }
.psl .psl-range-track i { background: #34393e; border-radius: 0; box-shadow: 0 1px 3px rgba(17,20,23,.2); }
.psl .psl-dual-range input[type="range"]:focus::-webkit-slider-thumb { box-shadow: 0 1px 4px rgba(17,20,23,.35), 0 0 0 4px rgba(17,20,23,.12); }
.psl .psl-dual-range input[type="range"]:focus::-moz-range-thumb { box-shadow: 0 1px 4px rgba(17,20,23,.35), 0 0 0 4px rgba(17,20,23,.12); }
.psl .psl-price-preset:hover,
.psl .psl-price-preset.is-selected { background: #eef0f1; color: #202428; }
.psl .psl-price-preset.is-selected i { border-color: #202428; }
.psl .psl-check-row:hover,
.psl .psl-switch-row:hover { background: rgba(17,20,23,.045); color: #202428; }
.psl .psl-check-row:has(input:checked) { background: #eef0f1; color: #202428; }
.psl .psl-check-row:has(input:checked) small { background: #dde1e3; color: #4e565c; }
.psl .psl-check-row small { border-radius: 0; }
.psl .psl-switch-row input:checked + i { background: #202428; }
.psl .psl-switch-row input:focus + i,
.psl .psl-check-row input:focus + i { box-shadow: 0 0 0 3px rgba(17,20,23,.12); }
.psl .psl-options-toggle { color: #202428; }
.psl .psl-filter-reset { color: #202428; }
.psl .psl-filter-apply { background: #5c5c5c; border-color: transparent; }
.psl .psl-fuzzy { background: #f1f2f3; border-color: #d6dadd; color: #343a3f; border-radius: 0; }
.psl .psl-filter-head strong::before { background: #202428; box-shadow: 0 3px 8px rgba(17,20,23,.18); }
.psl .psl-active-chip,
.psl .psl-active-clear,
.psl .psl-page-number.is-current { border-radius: 0; }
.psl .psl-active-chip { background: #5c5c5c; border-color: transparent; border-radius: 0; }
.psl .psl-active-chip:hover,
.psl .psl-active-chip:focus { background: #686868; border-color: transparent; box-shadow: 0 7px 16px rgba(17,20,23,.14); }
.psl .psl-active-clear { background: #fff; border-color: #cdd2d6; }
.psl .psl-active-clear:hover,
.psl .psl-active-clear:focus { background: #5c5c5c; border-color: transparent; color: #fff; }
.psl .psl-load-more:hover,
.psl .psl-load-more:focus { border-color: #555b60; box-shadow: 0 7px 17px rgba(17,20,23,.12); }

/* Square product actions and the same graphite hover language for category hubs. */
.psl .psl-card-actions { border-radius: 0; }
.psl .psl-icon-button,
.psl .psl-icon-button::after { border-radius: 0; }
.psl .psl-icon-button:hover,
.psl .psl-icon-button:focus,
.psl .psl-icon-button.is-wishlist:hover {
	background: rgba(20,24,27,.96);
	box-shadow: 0 8px 18px rgba(17,20,23,.22), inset 0 1px 0 rgba(255,255,255,.1);
	color: #fff;
}

.psch {
	--psch-accent: #202428;
	--psch-accent-dark: #111417;
	--psch-soft: #f1f2f3;
}
.psch .psch-section-count,
.psch .psch-tree,
.psch .psch-tree a,
.psch .psch-tree a > small,
.psch .psch-card-image { border-radius: 0; }
.psch .psch-head {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
.psch .psch-section-count { background: #f1f2f3; color: #626a70; }
.psch .psch-tree { box-shadow: 0 12px 30px rgba(17,20,23,.08); }
.psch .psch-tree-head { background: linear-gradient(135deg, #fafbfb, #f1f3f4); }
.psch .psch-tree a:hover,
.psch .psch-tree a:focus { background: #eef0f1; color: #202428; }
.psch .psch-tree a > small { background: #eef0f1; color: #727b82; }
.psch .psch-tree li.is-current > a { background: #e9ebed; color: #202428; }
.psch .psch-tree li.is-current > a::before { background: #202428; border-radius: 0; }
.psch .psch-tree li.is-current > a > small { background: #dfe2e4; color: #4e565c; }
.psch .psch-card {
	background: radial-gradient(circle at 0 0, rgba(255,255,255,.98), rgba(255,255,255,0) 42%), #fff;
	border: 1px solid transparent;
	overflow: hidden;
	padding: 0 0 7px;
	position: relative;
	transition: border-color .22s ease, box-shadow .22s ease, transform .22s cubic-bezier(.22,1,.36,1);
}
.psch .psch-card::before {
	background: linear-gradient(115deg, transparent 18%, rgba(255,255,255,.58) 48%, transparent 78%);
	content: '';
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(-125%);
	transition: opacity .22s ease, transform .7s ease;
	z-index: 5;
}
.psch .psch-card:hover,
.psch .psch-card:focus {
	border-color: rgba(214,220,224,.58);
	box-shadow: 0 9px 23px rgba(18,34,48,.075), 0 1px 4px rgba(18,34,48,.035);
	transform: translateY(-2px);
}
.psch .psch-card:hover::before,
.psch .psch-card:focus::before { opacity: .42; transform: translateX(125%); }
.psch .psch-card-image { border-color: #dfe3e6; }
.psch .psch-card:hover .psch-card-image,
.psch .psch-card:focus .psch-card-image {
	border-color: #d4dadd;
	box-shadow: none;
	transform: none;
}
.psch .psch-card:hover .psch-card-arrow,
.psch .psch-card:focus .psch-card-arrow { stroke: #202428; }

@media (min-width: 768px) {
	#search.pro-search-revolution .pro-search-dropdown {
		max-width: calc(100vw - 32px);
		width: min(760px, calc(100vw - 32px));
	}
}

@media (max-width: 767px) {
	#top2 #search.pro-search-revolution,
	#search.pro-search-revolution {
		border-radius: 2px;
		margin: 8px auto 2px !important;
		max-width: none;
	}

	#search.pro-search-revolution .pro-search-input-group {
		border-radius: 2px;
	}

	#search.pro-search-revolution .pro-search-input-group .form-control {
		border: 0;
		border-radius: 2px;
		font-size: 16px;
		padding-left: 16px;
		padding-right: 58px;
	}

	#search.pro-search-revolution .pro-search-input-group .input-group-btn,
	#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .input-group-btn,
	#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .input-group-btn {
		bottom: 4px;
		flex-basis: auto;
		padding: 0;
		right: 4px;
		top: 4px;
		width: 44px;
	}

	#search.pro-search-revolution .pro-search-input-group .btn,
	#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .btn,
	#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .btn {
		background: var(--ps-rev-ink);
		border-radius: 1px;
		color: #ffffff;
		height: 100%;
	}

	#search.pro-search-revolution .pro-search-input-group .btn:hover,
	#search.pro-search-revolution .pro-search-input-group .btn:focus,
	#search.pro-search-revolution .pro-search-input-group:focus-within .btn {
		background: rgba(20, 24, 27, .96);
		backdrop-filter: blur(10px);
		color: #ffffff;
	}

	#search.pro-search-revolution .pro-search-dropdown {
		border-radius: 2px;
		left: 0;
		max-height: 68vh;
		right: 0;
		transform: none;
		width: 100%;
	}
}

/* Mobile starter content: chips stay horizontally scrollable without a
 * distracting scrollbar, while the catalogue suggestions remain compact and
 * touch-friendly in a single horizontal rail. */
@media (max-width: 767px) {
	#search.pro-search-revolution.pro-search-mobile-open .pro-search-section-suggestions .pro-search-suggestions {
		flex-wrap: nowrap;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-section-suggestions .pro-search-suggestions::-webkit-scrollbar,
	#search.pro-search-revolution.pro-search-mobile-open .pro-search-section-recommendations .pro-search-body::-webkit-scrollbar {
		display: none;
		height: 0;
		width: 0;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-section-recommendations {
		padding-bottom: 10px;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-section-recommendations .pro-search-title {
		color: #202428;
		font-size: 16px;
		letter-spacing: 0;
		padding: 4px 16px 8px;
		text-transform: none;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-section-recommendations .pro-search-body {
		display: grid;
		grid-auto-columns: minmax(126px, 1fr);
		grid-auto-flow: column;
		gap: 10px;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 0 16px 8px;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation {
		align-items: stretch;
		background: transparent;
		border: 0;
		box-shadow: none;
		display: flex;
		flex-direction: column;
		gap: 5px;
		min-width: 0;
		padding: 0;
		transform: none;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation:hover,
	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation:focus,
	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation.active {
		background: transparent;
		border: 0;
		box-shadow: none;
		color: inherit;
		transform: none;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation img {
		background: #f5f6f8;
		border: 0;
		flex: 0 0 auto;
		height: 112px;
		object-fit: contain;
		width: 100%;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation .pro-search-main {
		display: block;
		flex: 0 0 auto;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation .pro-search-name {
		display: -webkit-box !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		font-size: 12px;
		line-height: 1.25;
		max-height: 45px;
		overflow: hidden;
		white-space: normal;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation .pro-search-meta {
		color: #7a838a;
		font-size: 10px;
		line-height: 1.2;
		margin-top: 2px;
		white-space: nowrap;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-recommendation .pro-search-price {
		color: #202428;
		display: block;
		flex: 0 0 auto;
		font-size: 11px;
		margin: 0;
		text-align: left;
	}
}

@media (max-width: 420px) {
	#search.pro-search-revolution .pro-search-input-group .form-control {
		font-size: 16px;
		padding-left: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#search.pro-search-revolution .pro-search-input-group,
	#search.pro-search-revolution .pro-search-input-group .btn {
		transition: none;
	}
}

/* Production polish requested for the Revolution store.  All rules below
 * stay in the module bridge, so disabling Pro Search leaves the theme intact. */
#search.pro-search-revolution,
.psl,
.psch {
	--ps-rev-pink: #ff69b4;
	--ps-rev-pink-dark: #e34f9e;
}

#search.pro-search-revolution .pro-search-dropdown {
	scrollbar-color: #202428 transparent;
}

#search.pro-search-revolution .pro-search-product .pro-search-name {
	overflow: visible;
	text-overflow: clip;
	white-space: normal;
}

#search.pro-search-revolution .pro-search-footer {
	background: var(--ps-rev-pink);
	border-color: var(--ps-rev-pink);
	color: #fff;
	font-weight: 700;
}

#search.pro-search-revolution .pro-search-footer:hover,
#search.pro-search-revolution .pro-search-footer:focus {
	background: var(--ps-rev-pink-dark);
	border-color: var(--ps-rev-pink-dark);
	color: #fff;
}

.psl .psl-card-title a {
	display: block;
	overflow: visible;
	text-overflow: clip;
	-webkit-line-clamp: unset;
}

.psl .psl-cart-button,
.psl .psl-cart-button:hover,
.psl .psl-cart-button:focus {
	background: var(--ps-rev-pink);
	border-color: var(--ps-rev-pink-dark);
	box-shadow: 0 7px 16px rgba(227, 79, 158, .18);
	color: #fff;
}

.psl .psl-cart-button:hover,
.psl .psl-cart-button:focus {
	background: var(--ps-rev-pink-dark);
	box-shadow: 0 10px 21px rgba(227, 79, 158, .25);
}

.psl .psl-load-more,
.psl .psl-load-more:hover,
.psl .psl-load-more:focus {
	background: var(--ps-rev-pink);
	border-color: var(--ps-rev-pink-dark);
	box-shadow: 0 7px 17px rgba(227, 79, 158, .18);
	color: #fff;
}

.psl .psl-load-more::before { background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent); }

/* Counts remain square like the theme, but use the logo pink for quick
 * visual recognition in every facet. */
.psl .psl-check-row small,
.psl .psl-check-row:has(input:checked) small,
.psl .psl-tree a > small,
.psch .psch-tree a > small,
.psch .psch-section-count {
	background: #ffe0ef;
	color: #b52d72;
}

/* Use the same glyphs as the Revolution mobile header and keep their panel
 * transparent.  The action column is still revealed on hover/focus. */
.psl .psl-card-actions {
	backdrop-filter: none;
	background: transparent;
	border: 0;
	box-shadow: none;
	gap: 4px;
	padding: 0;
}

.psl .psl-card:hover .psl-card-actions,
.psl .psl-card:focus-within .psl-card-actions {
	background: transparent;
	box-shadow: none;
}

.psl .psl-icon-button,
.psl .psl-icon-button:hover,
.psl .psl-icon-button:focus {
	background: transparent;
	box-shadow: none;
	color: #333;
}

.psl .psl-icon-button:hover,
.psl .psl-icon-button:focus {
	background: rgba(17, 20, 23, .07);
	color: #111417;
	transform: none;
}

.psl .psl-icon-button.is-wishlist svg,
.psl .psl-icon-button.is-compare svg {
	fill: currentColor;
	stroke: none;
}

.psl .psl-icon-button.is-details svg {
	fill: none;
}

.psl .psl-icon-button::after {
	background: #202428;
	border-radius: 0;
}

.psl-card-primary-sticker {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 3px;
	left: 7px;
	max-width: calc(100% - 46px);
	position: absolute;
	top: 7px;
	z-index: 7;
}

.psl-card-primary-sticker .product-sticker,
.psl-card-primary-sticker .category-sticker,
.psl-card-primary-sticker .category_status-sticker,
.psl-card-primary-sticker .product-status,
.psl-card-primary-sticker .category-status,
.psl-card-primary-sticker .category_status-status {
	bottom: auto !important;
	display: inline-flex !important;
	left: auto !important;
	margin: 0 !important;
	position: static !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
}

.psl-card-primary-sticker .stiker {
	border-radius: 0 !important;
	box-shadow: none;
	float: none;
	margin: 0;
}

.psl-card-primary-sticker .text,
.psl-card-primary-sticker .product-status,
.psl-card-primary-sticker .category-status,
.psl-card-primary-sticker .category_status-status {
	border-radius: 0 !important;
}

/* Compact Revolution search field and popup typography.  The field keeps a
 * light, integrated search icon instead of a heavy dark button; all rules are
 * scoped to the bridge so the original theme is unchanged when the module is
 * disabled. */
#search.pro-search-revolution {
	max-width: 560px;
}

#search.pro-search-revolution .pro-search-input-group {
	background: #f5f6f8;
	border: 1px solid #e3e6ea;
	border-radius: 4px;
	box-shadow: none;
	min-height: 40px;
}

#search.pro-search-revolution .pro-search-input-group:focus-within {
	border-color: #c7ccd1;
	box-shadow: 0 0 0 2px rgba(32, 36, 40, .08);
}

#search.pro-search-revolution .pro-search-input-group .form-control,
#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .form-control {
	background: transparent;
	border: 0;
	border-radius: 4px 0 0 4px;
	color: #2f3438;
	font-size: 14px;
	height: 40px;
	line-height: 20px;
	padding: 0 12px 0 14px;
}

#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .form-control {
	height: 44px;
}

#search.pro-search-revolution .pro-search-input-group .input-group-btn,
#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .input-group-btn,
#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .input-group-btn {
	align-items: stretch;
	flex: 0 0 44px;
	padding: 3px;
}

#search.pro-search-revolution .pro-search-input-group .btn,
#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .btn,
#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .btn {
	background: transparent;
	border: 0;
	border-radius: 2px;
	box-shadow: none;
	color: #5d666e;
	height: 100%;
	padding: 0;
	transition: background-color .16s ease, color .16s ease;
}

#search.pro-search-revolution .pro-search-input-group .btn:hover,
#search.pro-search-revolution .pro-search-input-group .btn:focus,
#search.pro-search-revolution .pro-search-input-group:focus-within .btn {
	background: #e9ecef;
	box-shadow: none;
	color: #202428;
}

#search.pro-search-revolution .pro-search-section-suggestions {
	padding-bottom: 8px;
}

#search.pro-search-revolution .pro-search-section-suggestions .pro-search-title {
	color: #727b83;
	font-size: 10px;
	letter-spacing: .02em;
	padding-bottom: 5px;
}

#search.pro-search-revolution .pro-search-section-suggestions .pro-search-suggestions {
	gap: 4px;
	padding: 0 14px 1px;
}

#search.pro-search-revolution .pro-search-section-suggestions .pro-search-chip {
	background: #f3f5f7;
	border: 0;
	border-radius: 0;
	color: #59636b;
	font-size: 11px;
	line-height: 16px;
	padding: 2px 8px;
}

#search.pro-search-revolution .pro-search-section-suggestions .pro-search-chip:hover,
#search.pro-search-revolution .pro-search-section-suggestions .pro-search-chip:focus,
#search.pro-search-revolution .pro-search-section-suggestions .pro-search-chip.active {
	background: #e9ecef;
	border: 0;
	color: #202428;
}

/* Category totals use the same soft pink square counters as the filters. */
#search.pro-search-revolution .pro-search-count,
#search.pro-search-revolution .pro-search-item:hover .pro-search-count,
#search.pro-search-revolution .pro-search-item.active .pro-search-count {
	background: #ffe0ef !important;
	border: 0 !important;
	border-radius: 0;
	color: #b52d72 !important;
	min-width: 22px;
}

@media (max-width: 767px) {
	#search.pro-search-revolution {
		max-width: none;
	}

	#search.pro-search-revolution .pro-search-input-group {
		border-radius: 4px;
		min-height: 40px;
	}

	#search.pro-search-revolution .pro-search-input-group .form-control,
	#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .form-control,
	#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .form-control {
		border-radius: 4px 0 0 4px;
		font-size: 16px;
		height: 40px;
		padding-left: 12px;
		padding-right: 8px;
	}

	#search.pro-search-revolution .pro-search-input-group .input-group-btn,
	#search.pro-search-revolution.pro-search-size-large .pro-search-input-group .input-group-btn,
	#search.pro-search-revolution.pro-search-size-normal .pro-search-input-group .input-group-btn {
		bottom: auto;
		flex: 0 0 44px;
		inset: auto;
		padding: 3px;
		position: static;
		right: auto;
		top: auto;
		width: auto;
	}

	#search.pro-search-revolution .pro-search-dropdown {
		margin-top: 6px;
	}
}

/* On phones the search becomes a dedicated full-screen surface.  This keeps
 * the header and page underneath out of the way while preserving normal
 * scrolling inside the result list. */
@media (max-width: 767px) {
	body.pro-search-mobile-search-open {
		overflow: hidden;
	}

	#search.pro-search-revolution.pro-search-mobile-open {
		background: #fff;
		bottom: 0;
		display: flex !important;
		flex-direction: column;
		left: 0;
		margin: 0 !important;
		max-width: none;
		min-height: 100vh;
		min-height: 100dvh;
		overflow: hidden;
		padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 100000;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-input-group {
		flex: 0 0 auto;
		margin-right: 48px;
		width: auto;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-mobile-close {
		align-items: center;
		background: #f1f3f5;
		border: 0;
		border-radius: 3px;
		color: #3e464c;
		display: inline-flex;
		font-size: 23px;
		font-weight: 300;
		height: 40px;
		justify-content: center;
		line-height: 1;
		padding: 0;
		position: absolute;
		right: 12px;
		top: 12px;
		transition: background-color .16s ease, color .16s ease;
		width: 40px;
		z-index: 2;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-mobile-close:hover,
	#search.pro-search-revolution.pro-search-mobile-open .pro-search-mobile-close:focus {
		background: #e6e9ec;
		color: #202428;
		outline: 0;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-dropdown {
		background: #fff;
		border: 0;
		border-top: 1px solid #edf0f2;
		border-radius: 0;
		box-shadow: none;
		flex: 1 1 auto;
		left: auto;
		margin: 12px -12px 0;
		max-height: none;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		position: static;
		right: auto;
		transform: none;
		width: auto;
		/* The fixed storefront menu is outside this surface. Leave a scrollable
		 * tail so the last result and any "Показать ещё" link stay reachable. */
		padding-bottom: calc(84px + env(safe-area-inset-bottom));
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-dropdown::-webkit-scrollbar {
		width: 4px;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-dropdown::-webkit-scrollbar-thumb {
		background: #202428;
		border: 1px solid transparent;
		background-clip: content-box;
	}
}

/* Category cards use the same restrained lift and image motion as products. */
.psch .psch-card-image {
	transition: border-color .22s ease, box-shadow .22s ease, transform .22s cubic-bezier(.22,1,.36,1);
}

.psch .psch-card-image img {
	transition: transform .36s cubic-bezier(.22,1,.36,1);
}

.psch .psch-card:hover .psch-card-image,
.psch .psch-card:focus .psch-card-image {
	border-color: #c6ccd0;
	box-shadow: 0 10px 24px rgba(17, 20, 23, .1);
	transform: translateY(-2px);
}

.psch .psch-card:hover .psch-card-image img,
.psch .psch-card:focus .psch-card-image img { transform: scale(1.035); }

@media (max-width: 767px) {
	/* The theme keeps a 38px top offset for its optional fixed mobile toolbar.
	 * Pro Search does not render that toolbar, so reclaim the blank strip. */
	#top2,
	#top2 .container { margin-top: 0 !important; }

	#top3_links { display: none !important; }

	#top2 #search.pro-search-revolution,
	#search.pro-search-revolution {
		margin: 8px auto 2px !important;
		max-width: 420px;
		width: calc(100% - 24px);
	}

	#search.pro-search-revolution .pro-search-dropdown {
		max-height: 68vh;
		scrollbar-width: thin;
	}

	#search.pro-search-revolution .pro-search-suggestions {
		flex-wrap: nowrap;
		max-width: 100%;
		overflow-x: auto;
		scrollbar-width: thin;
	}

	#search.pro-search-revolution .pro-search-suggestions::-webkit-scrollbar {
		height: 3px;
	}

	#search.pro-search-revolution .pro-search-suggestions::-webkit-scrollbar-thumb {
		background: #202428;
	}

	#search.pro-search-revolution .pro-search-chip { flex: 0 0 auto; }

	.psl .psl-card-actions .psl-icon-button.is-compare { display: flex; }
	.psl .psl-card-title a { -webkit-line-clamp: unset; }
	.psl .psl-card-actions { right: 7px; top: 7px; }
	.psl .psl-icon-button { height: 31px; width: 31px; }
	.psl-card-primary-sticker { left: 7px; top: 7px; }
}

/* Keep the full-screen state authoritative over the theme's normal mobile
 * width and dropdown-height rules above. */
@media (max-width: 767px) {
	#top2 #search.pro-search-revolution.pro-search-mobile-open,
	#search.pro-search-revolution.pro-search-mobile-open {
		margin: 0 !important;
		max-width: none !important;
		width: 100% !important;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-dropdown {
		max-height: none !important;
	}
}

/* Product actions: keep only the glyphs on a clean horizontal line.  The
 * label remains available as a small tooltip and the glyph gets a restrained
 * scale/colour lift on hover or keyboard focus. */
.pro-search-mobile-close {
	display: none;
}

.psl .psl-card-actions,
.psl .psl-card:hover .psl-card-actions,
.psl .psl-card:focus-within .psl-card-actions {
		align-items: center;
		backdrop-filter: none;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0;
		box-shadow: none !important;
		flex-direction: column;
		gap: 7px;
		padding: 0;
}

.psl .psl-icon-button,
.psl .psl-icon-button:hover,
.psl .psl-icon-button:focus,
.psl .psl-icon-button.is-wishlist:hover {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0;
		box-shadow: none !important;
		color: #3d454b;
		height: 27px;
		transform: none;
		transition: color .16s ease, transform .2s cubic-bezier(.22,1,.36,1);
		width: 27px;
}

.psl .psl-icon-button:hover,
.psl .psl-icon-button:focus {
		color: #111518;
		transform: scale(1.16);
}

.psl .psl-icon-button.is-wishlist:hover svg {
		fill: currentColor;
		transform: scale(1.05);
}

.psl .psl-icon-button::after {
		bottom: auto;
		left: 50%;
		right: auto;
		top: calc(100% + 7px);
		transform: translate(-50%, -5px);
}

.psl .psl-icon-button:hover::after,
.psl .psl-icon-button:focus::after {
	opacity: 1;
	transform: translate(-50%, 0);
}

@media (min-width: 768px) {
	.psl .psl-load-more,
	.psl .psl-load-more:hover,
	.psl .psl-load-more:focus {
		border-radius: 0;
		font-size: 13px;
		height: 40px;
		min-width: 176px;
		padding: 0 18px;
	}

	.psl .psl-load-more svg {
		height: 15px;
		width: 15px;
	}
}

/* The category navigation is useful on desktop but duplicates the mobile
 * storefront navigation. Keep the mobile category hub focused on its cards. */
@media (max-width: 767px) {
	.psch .psch-tree { display: none !important; }
	.psch .psch-main { margin-top: 0; }
}

@media (max-width: 767px) {
	.psl .psl-card-actions {
		gap: 5px;
		right: 7px;
		top: 7px;
	}

	.psl .psl-card-actions .psl-icon-button.is-compare {
		display: flex;
	}

	.psl .psl-icon-button {
		height: 27px;
		width: 27px;
	}

	.psl .psl-icon-button::after {
		display: none;
	}

	/* Product names may wrap to their natural height, but the model line must
	 * always follow them in normal flow instead of sitting on the last line. */
	#search.pro-search-revolution .pro-search-product {
		align-items: flex-start;
	}

	#search.pro-search-revolution .pro-search-product .pro-search-main {
		align-self: stretch;
		display: flex;
		flex-direction: column;
		gap: 2px;
		height: auto;
		justify-content: flex-start;
	}

	#search.pro-search-revolution .pro-search-product .pro-search-name {
		display: block !important;
		line-height: 1.28;
		max-height: none;
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	#search.pro-search-revolution .pro-search-product .pro-search-meta {
		clear: both;
		line-height: 1.25;
		max-height: none;
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
		word-break: normal;
		overflow-wrap: anywhere;
	}
}

/* Final light-field pass: no hard Bootstrap outline in the header or the
 * mobile full-screen surface. */
#search.pro-search-revolution .pro-search-input-group,
#search.pro-search-revolution .pro-search-input-group:focus-within {
	background: #f5f6f8;
	border: 0 !important;
	box-shadow: 0 4px 15px rgba(32, 36, 40, .06);
}

#search.pro-search-revolution .pro-search-input-group .form-control,
#search.pro-search-revolution .pro-search-input-group .form-control:focus {
	background: transparent;
	border: 0 !important;
	box-shadow: none !important;
	outline: 0;
}

@media (max-width: 767px) {
	#search.pro-search-revolution .pro-search-input-group,
	#search.pro-search-revolution .pro-search-input-group:focus-within {
		background: #f5f6f8;
		box-shadow: none;
	}

	#search.pro-search-revolution.pro-search-mobile-open .pro-search-mobile-close,
	#search.pro-search-revolution.pro-search-mobile-open .pro-search-mobile-close:hover,
	#search.pro-search-revolution.pro-search-mobile-open .pro-search-mobile-close:focus {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		font-size: 21px;
		height: 36px;
		outline: 0;
		right: 10px;
		top: 14px;
		width: 36px;
	}
}

/* Last cascade layer for the Revolution listing: keep the card itself open
 * for the action tooltips.  The shine is rendered by its own clipped layer
 * across the complete product card, so it cannot leak into neighbouring cards. */
.psl .psl-card,
.psl .psl-card-media {
	overflow: visible;
}

.psl .psl-card::before {
	display: none;
}

.psl .psl-card-shine {
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	z-index: 5;
}

.psl .psl-card-shine::before {
	background: linear-gradient(115deg, transparent 18%, rgba(255,255,255,.58) 48%, transparent 78%);
	content: '';
	inset: 0;
	opacity: 0;
	position: absolute;
	transform: translateX(-125%);
	transition: opacity .22s ease, transform .7s ease;
}

.psl .psl-card:hover,
.psl .psl-card:focus-within {
	border-color: transparent !important;
	box-shadow: 0 18px 42px rgba(18,34,48,.11), 0 2px 7px rgba(18,34,48,.04);
	transform: translateY(-5px);
	z-index: 20;
}

.psl .psl-card:hover .psl-card-shine::before,
.psl .psl-card:focus-within .psl-card-shine::before {
	opacity: 1;
	transform: translateX(125%);
}

.psl .psl-card-actions,
.psl .psl-icon-button::after {
	z-index: 40;
}

.psl .psl-price-preset small,
.psl .psl-check-row small,
.psl .psl-check-row:has(input:checked) small,
.psl .psl-tree a > small,
.psch .psch-tree a > small,
.psch .psch-section-count {
	background: #ffe0ef !important;
	border-radius: 0 !important;
	color: #b52d72 !important;
}

/* Mobile bottom navigation is supplied by the Revolution theme and must stay
 * untouched. Reserve a stable 84px visual safe area inside the filter sheet
 * so its action buttons never sit behind that fixed navigation bar. */
@media (max-width: 767px) {
	/* Keep the crawlable "Показать ещё" control above the fixed storefront
	 * menu when the product grid reaches its last visible row. */
	.psl .psl-load-more {
		margin-bottom: calc(84px + env(safe-area-inset-bottom));
	}

	.psl .psl-pagination {
		padding-bottom: calc(8px + 84px + env(safe-area-inset-bottom));
	}

	.psl .psl-filter-footer {
		padding-bottom: calc(12px + env(safe-area-inset-bottom) + 84px) !important;
		position: sticky;
		z-index: 3;
	}

	/* One compact matte control language for active filters and the mobile
	 * quick toolbar. The theme's bottom menu remains unchanged. */
	.psl .psl-mobile-filter,
	.psl .psl-quick-control,
	.psl .psl-quick-chip,
	.psl .psl-quick-chip.is-active,
	.psl .psl-active-clear,
	.psl .psl-active-chip,
	.psl .psl-filter-reset,
	.psl .psl-filter-apply {
		background: #5c5c5c !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: #fff !important;
	}

	.psl .psl-mobile-filter,
	.psl .psl-quick-control,
	.psl .psl-quick-chip {
		height: 34px;
		padding-left: 9px;
		padding-right: 9px;
	}

	.psl .psl-active-clear,
	.psl .psl-active-chip {
		height: 32px;
	}

	.psl .psl-mobile-filter:hover,
	.psl .psl-mobile-filter:focus,
	.psl .psl-quick-control:hover,
	.psl .psl-quick-control:focus,
	.psl .psl-quick-chip:hover,
	.psl .psl-quick-chip:focus,
	.psl .psl-active-clear:hover,
	.psl .psl-active-clear:focus,
	.psl .psl-active-chip:hover,
	.psl .psl-active-chip:focus,
	.psl .psl-filter-reset:hover,
	.psl .psl-filter-reset:focus,
	.psl .psl-filter-apply:hover,
	.psl .psl-filter-apply:focus {
		background: #686868 !important;
		border-color: transparent !important;
		color: #fff !important;
		transform: none;
	}

	.psl .psl-mobile-filter i,
	.psl .psl-quick-control i {
		background: #ff69b4;
		color: #171a1d;
	}
}

@media (min-width: 768px) {
	.psl .psl-load-more,
	.psl .psl-load-more:hover,
	.psl .psl-load-more:focus {
		height: 38px;
		max-width: 220px;
		min-width: 168px;
		padding: 0 15px;
		width: max-content;
	}
}
