/* Smart Shop Flow — shop & category pages */
.ssf-shopx {
	--sx-brand: var(--ssf-brand, #1d3a9e);
	--sx-ink: #0f172a;
	--sx-muted: #64748b;
	--sx-line: #e6e8ef;
	--sx-soft: #f5f7fb;
	--sx-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Razzi's own big title and "Showing x of y" line: replaced by the header + bar below */
.ssf-shopx #page-header.page-header,
.ssf-shopx .mobile-catalog-page-header,
.ssf-shopx .book-filters-container .bf-section[data-bf-sec="sort"],
.ssf-shopx .woocommerce-products-header .page-title,
.ssf-shopx .catalog-toolbar .product-toolbar-header,
.ssf-shopx .catalog-toolbar .woocommerce-result-count,
.ssf-shopx .catalog-toolbar .woocommerce-ordering { display: none !important; }
.ssf-shopx .catalog-toolbar { min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ssf-shopx .catalog-toolbar .toggle-filters { display: none !important; } /* opened by our Filter button */
.ssf-shopx .site-content { padding-top: 22px; }

/* ------------------------------------------------------------ header */
.ssf-shop-hero, .ssf-shop-rail, .ssf-shop-bar, .ssf-shop-active { clear: both; box-sizing: border-box; width: auto; }
.ssf-shop-hero {
	position: relative; overflow: hidden; isolation: isolate;
	display: flex; align-items: flex-end; justify-content: space-between; gap: 18px 28px; flex-wrap: wrap;
	margin: 0 0 16px; padding: 22px 26px; border-radius: 22px;
	background:
		radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--sx-brand) 16%, transparent) 0%, transparent 55%),
		radial-gradient(90% 120% at 0% 100%, rgba(249, 115, 22, .10) 0%, transparent 60%),
		linear-gradient(180deg, #fbfcff, #f3f6fd);
	border: 1px solid color-mix(in srgb, var(--sx-brand) 12%, #fff);
}
.ssf-shop-hero::after {
	content: ""; position: absolute; z-index: -1; right: -40px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%;
	background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--sx-brand) 10%, transparent) 0 10px, transparent 10px 22px);
	opacity: .45; transform: rotate(-18deg);
}
.ssf-shop-hero__text { min-width: 0; flex: 1 1 380px; }
.ssf-shop-hero__eyebrow {
	display: inline-block; margin: 0 0 6px; padding: 3px 10px; border-radius: 999px;
	background: #fff; color: var(--sx-brand); border: 1px solid color-mix(in srgb, var(--sx-brand) 18%, #fff);
	font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.ssf-shopx h1.ssf-shop-hero__title {
	margin: 0 0 6px !important; padding: 0 !important; color: var(--sx-ink) !important; text-align: left !important;
	font-size: clamp(24px, 1.6vw + 16px, 36px) !important; line-height: 1.15 !important; font-weight: 800 !important; letter-spacing: -.02em;
}
.ssf-shop-hero__meta { margin: 0 !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; color: var(--sx-muted); font-size: 14.5px; line-height: 1.5; }
.ssf-shop-hero__count { flex: 0 0 auto; color: var(--sx-ink); }
.ssf-shop-hero__count b { font-weight: 800; color: var(--sx-brand); }
.ssf-shop-hero__desc { max-width: 62ch; }
.ssf-shop-hero__trust { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.ssf-shop-hero__trust li {
	display: inline-flex; align-items: center; gap: 7px; margin: 0 !important; padding: 7px 12px; border-radius: 12px;
	background: rgba(255, 255, 255, .85); border: 1px solid var(--sx-line); color: #1f2937; font-size: 13px; font-weight: 600;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.ssf-shop-ico { width: 17px; height: 17px; flex: 0 0 auto; }
.ssf-shop-hero__trust li .ssf-shop-ico { color: var(--sx-brand); }

/* ------------------------------------------------------------ category rail */
.ssf-shop-rail { position: relative; margin: 0 0 16px; }
.ssf-shop-rail__track {
	display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; padding: 2px 2px 6px;
	scrollbar-width: none; -webkit-overflow-scrolling: touch;
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent);
}
.ssf-shop-rail__track::-webkit-scrollbar { display: none; }
.ssf-shopx a.ssf-shop-rail__chip {
	flex: 0 0 auto; scroll-snap-align: start; display: inline-flex; align-items: center; gap: 7px;
	padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--sx-line);
	color: #1f2937 !important; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none !important; white-space: nowrap;
	transition: border-color .2s, color .2s, background .2s, transform .2s var(--sx-ease), box-shadow .2s;
}
.ssf-shop-rail__chip small { font-size: 11.5px; font-weight: 700; color: var(--sx-muted); background: var(--sx-soft); padding: 1px 7px; border-radius: 999px; }
.ssf-shopx a.ssf-shop-rail__chip:hover { border-color: var(--sx-brand); color: var(--sx-brand) !important; transform: translateY(-1px); box-shadow: 0 6px 14px -10px rgba(15, 23, 42, .5); }
.ssf-shopx a.ssf-shop-rail__chip.is-on { background: var(--sx-brand); border-color: var(--sx-brand); color: #fff !important; }
.ssf-shop-rail__chip.is-on small { background: rgba(255, 255, 255, .2); color: #fff; }
.ssf-shopx a.ssf-shop-rail__back { color: var(--sx-muted) !important; }

/* ------------------------------------------------------------ sort / filter bar */
.ssf-shop-bar {
	flex: 0 0 100%; max-width: 100%;
	display: flex; align-items: center; justify-content: space-between; gap: 10px 18px; flex-wrap: wrap;
	margin: 0 0 14px; padding: 10px 12px 10px 16px; border-radius: 16px; background: #fff; border: 1px solid var(--sx-line);
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.ssf-shop-bar__count { margin: 0 !important; color: var(--sx-muted); font-size: 14px; }
.ssf-shop-bar__count b { color: var(--sx-ink); font-weight: 700; }
.ssf-shop-bar__sorts { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ssf-shop-bar__label { margin-right: 2px; color: var(--sx-muted); font-size: 13.5px; font-weight: 600; }
.ssf-shopx a.ssf-sortchip {
	display: inline-flex; align-items: center; padding: 7px 12px; border-radius: 10px; border: 1px solid transparent;
	color: #334155 !important; font-size: 13.5px; font-weight: 600; text-decoration: none !important; line-height: 1.2; white-space: nowrap;
	transition: background .15s, color .15s, border-color .15s;
}
.ssf-shopx a.ssf-sortchip:hover { background: var(--sx-soft); color: var(--sx-ink) !important; }
.ssf-shopx a.ssf-sortchip.is-on { background: color-mix(in srgb, var(--sx-brand) 9%, #fff); border-color: color-mix(in srgb, var(--sx-brand) 28%, #fff); color: var(--sx-brand) !important; }
.ssf-shop-bar__mobile { display: none; }

/* Applied filters (mirrors the filter widget's chips) */
.ssf-shop-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 14px; }
.ssf-shop-active[hidden] { display: none; }
/* Desktop already lists applied filters in the sidebar ("Your filters") — only phones get these chips */
@media (min-width: 769px) { .ssf-shop-active { display: none !important; } }
.ssf-shopx .ssf-shop-active button.ssf-achip {
	all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 8px 6px 12px; border-radius: 999px; background: color-mix(in srgb, var(--sx-brand) 8%, #fff);
	color: var(--sx-brand); font-size: 13px; font-weight: 600; line-height: 1.2; border: 1px solid color-mix(in srgb, var(--sx-brand) 22%, #fff);
	transition: background .15s, color .15s;
}
.ssf-achip i { font-style: normal; opacity: .65; font-weight: 500; }
.ssf-achip svg { width: 16px; height: 16px; padding: 2px; border-radius: 50%; background: rgba(255, 255, 255, .8); }
.ssf-shopx .ssf-shop-active button.ssf-achip:hover { background: #dc2626; border-color: #dc2626; color: #fff; }
.ssf-shopx .ssf-shop-active button.ssf-achip--clear { background: none; border-color: transparent; color: #dc2626; padding-left: 4px; }
.ssf-shopx .ssf-shop-active button.ssf-achip--clear:hover { background: #fef2f2; color: #b91c1c; }

/* ------------------------------------------------------------ product cards */
.ssf-shopx ul.products li.product .product-inner {
	height: 100%; padding: 10px; border-radius: 18px; background: #fff; border: 1px solid #eef0f4;
	transition: box-shadow .35s var(--sx-ease), transform .35s var(--sx-ease), border-color .35s;
}
.ssf-shopx ul.products li.product:hover .product-inner {
	border-color: #e2e6ee; transform: translateY(-3px); box-shadow: 0 22px 40px -28px rgba(15, 23, 42, .45);
}
.ssf-shopx ul.products li.product .product-thumbnail {
	aspect-ratio: 4 / 5; margin-bottom: 10px !important;
	background: linear-gradient(110deg, #f1f3f7 30%, #f8f9fb 45%, #f1f3f7 60%) 0 0 / 300% 100%;
	animation: ssf-sx-shine 1.6s linear infinite;
}
.ssf-shopx ul.products li.product .product-thumbnail:has(img[src]:not([src=""])) { animation: none; }
.ssf-shopx ul.products li.product .product-thumbnail > a { display: block; height: 100%; }
.ssf-shopx ul.products li.product .product-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover; }
@keyframes ssf-sx-shine { to { background-position: -150% 0; } }
.ssf-shopx ul.products li.product .ssf-wl-btn--loop { top: 18px !important; right: 18px !important; }
.ssf-shopx ul.products li.product .woocommerce-loop-product__title,
.ssf-shopx ul.products li.product .woocommerce-loop-product__title a {
	font-size: 14.5px !important; font-weight: 600 !important; color: var(--sx-ink) !important; letter-spacing: -.005em;
}
.ssf-shopx ul.products li.product .price { font-size: 16px !important; font-weight: 800 !important; color: var(--sx-ink) !important; }
.ssf-shopx ul.products li.product .price ins .amount { color: var(--sx-ink) !important; }
.ssf-shopx ul.products li.product .price del { font-size: 13px; font-weight: 500; margin-right: 4px; }
.ssf-shopx ul.products li.product .ssf-sx-off { display: inline-block; margin-left: 6px; color: #059669; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.ssf-shopx ul.products li.product a.add_to_cart_button,
.ssf-shopx ul.products li.product a.button.product_type_simple,
.ssf-shopx ul.products li.product a.button.product_type_variable { font-weight: 700 !important; box-shadow: 0 8px 16px -12px color-mix(in srgb, var(--sx-brand) 80%, transparent) !important; }

/* Equal-height cards with the Add to cart button always inside the card
   (Razzi's hover-only button floated below the card and covered the next row). */
.ssf-shopx ul.products li.product { display: flex !important; }
.ssf-shopx ul.products li.product .product-inner { display: flex !important; flex-direction: column; width: 100%; height: auto !important; }
.ssf-shopx ul.products li.product .product-summary {
	display: flex !important; flex-direction: column; flex: 1 1 auto; position: static !important; transform: none !important; padding-bottom: 0 !important; background: none !important;
}
.ssf-shopx ul.products li.product .rz-atc-button-bg,
.ssf-shopx ul.products li.product .product-summary > a.button,
.ssf-shopx ul.products li.product .product-summary > .button {
	position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto !important; width: 100% !important; left: auto !important; right: auto !important;
	height: auto !important; margin: auto 0 0 !important; padding: 10px 0 0 !important; background: none !important; box-shadow: none !important; border: 0 !important;
}
.ssf-shopx ul.products li.product .rz-atc-button-bg::before, .ssf-shopx ul.products li.product .rz-atc-button-bg::after { display: none !important; }
.ssf-shopx ul.products li.product .rz-atc-button-bg a.button {
	margin: 0 !important; display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 42px !important; min-height: 0 !important;
	padding: 0 10px !important; font-size: 14px !important; line-height: 1 !important; opacity: 1 !important; visibility: visible !important; transform: none !important;
}
.ssf-shopx ul.products li.product:hover .product-inner { z-index: 2; }

/* ------------------------------------------------------------ pagination */
.ssf-shopx nav.woocommerce-pagination { margin: 28px 0 10px !important; text-align: center; }
.ssf-shopx nav.woocommerce-pagination ul.page-numbers { display: inline-flex !important; flex-wrap: wrap; justify-content: center; gap: 6px; border: 0 !important; margin: 0 !important; }
.ssf-shopx nav.woocommerce-pagination ul.page-numbers li { border: 0 !important; margin: 0 !important; float: none !important; }
.ssf-shopx nav.woocommerce-pagination .page-numbers a.page-numbers,
.ssf-shopx nav.woocommerce-pagination .page-numbers span.page-numbers {
	display: inline-flex !important; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px !important;
	border-radius: 12px !important; border: 1px solid var(--sx-line) !important; background: #fff !important; color: #1f2937 !important;
	font-size: 14.5px; font-weight: 600; line-height: 1 !important; text-decoration: none !important; transition: all .15s;
}
.ssf-shopx nav.woocommerce-pagination .page-numbers a.page-numbers:hover { border-color: var(--sx-brand) !important; color: var(--sx-brand) !important; }
.ssf-shopx nav.woocommerce-pagination .page-numbers span.current { background: var(--sx-brand) !important; border-color: var(--sx-brand) !important; color: #fff !important; box-shadow: 0 8px 18px -10px var(--sx-brand); }
.ssf-shopx nav.woocommerce-pagination .page-numbers span.dots { border-color: transparent !important; background: none !important; min-width: 20px; padding: 0 !important; }
.ssf-shop-pageinfo { margin: 8px 0 0; color: var(--sx-muted); font-size: 13px; text-align: center; }

/* ------------------------------------------------------------ empty state */
.ssf-shop-empty { margin: 10px 0 30px; padding: 40px 20px; text-align: center; border-radius: 22px; background: var(--sx-soft); border: 1px dashed #d6dbe6; }
.ssf-shop-empty__art { font-size: 46px; line-height: 1; margin-bottom: 10px; }
.ssf-shopx .ssf-shop-empty h2 { margin: 0 0 6px !important; font-size: 22px !important; font-weight: 800 !important; color: var(--sx-ink) !important; }
.ssf-shop-empty p { margin: 0 auto 18px; max-width: 46ch; color: var(--sx-muted); }
.ssf-shop-empty__go { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ssf-shopx a.ssf-shop-empty__btn { display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 12px; background: var(--sx-brand); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.ssf-shopx a.ssf-shop-empty__btn.is-ghost { background: #fff; color: var(--sx-ink) !important; border: 1px solid var(--sx-line); }
.ssf-shopx .woocommerce-info.woocommerce-no-products-found, .ssf-shopx .woocommerce-no-products-found .woocommerce-info { display: none !important; }

/* ------------------------------------------------------------ back to top */
.ssf-totop {
	position: fixed; right: 18px; bottom: 90px; z-index: 9980; width: 44px; height: 44px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; border: 1px solid var(--sx-line); background: #fff; color: var(--sx-ink);
	box-shadow: 0 10px 24px -12px rgba(15, 23, 42, .5); cursor: pointer; opacity: 0; transform: translateY(10px) scale(.9); pointer-events: none;
	transition: opacity .25s, transform .25s var(--sx-ease);
}
.ssf-totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
.ssf-totop svg { width: 20px; height: 20px; }

/* ------------------------------------------------------------ sort sheet (phones) */
.ssf-sortsheet { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: flex-end; }
.ssf-sortsheet[hidden] { display: none; }
.ssf-sortsheet__bg { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); animation: ssf-sx-fade .2s; }
.ssf-sortsheet__panel {
	position: relative; width: 100%; max-height: 80vh; overflow: auto; padding: 8px 16px calc(16px + env(safe-area-inset-bottom));
	border-radius: 22px 22px 0 0; background: #fff; animation: ssf-sx-up .3s var(--sx-ease);
}
.ssf-sortsheet__grab { width: 40px; height: 4px; margin: 4px auto 10px; border-radius: 4px; background: #d6dbe4; }
.ssf-sortsheet h3 { margin: 0 0 6px !important; font-size: 17px !important; font-weight: 800 !important; color: var(--sx-ink) !important; }
.ssf-sortsheet a.ssf-sortsheet__opt {
	display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 4px; border-bottom: 1px solid #f0f2f5;
	color: #1f2937 !important; font-size: 16px; font-weight: 500; text-decoration: none !important;
}
.ssf-sortsheet a.ssf-sortsheet__opt:last-child { border-bottom: 0; }
.ssf-sortsheet__opt i { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #cbd2dc; flex: 0 0 auto; }
.ssf-sortsheet a.ssf-sortsheet__opt.is-on { color: var(--sx-brand) !important; font-weight: 700; }
.ssf-sortsheet__opt.is-on i { border: 7px solid var(--sx-brand); }
@keyframes ssf-sx-up { from { transform: translateY(100%); } to { transform: none; } }
@keyframes ssf-sx-fade { from { opacity: 0; } to { opacity: 1; } }

/* ------------------------------------------------------------ filter sheet (Razzi modal + book filters) */
#catalog-filters-modal.catalog-filters-modal { z-index: 100001 !important; }
body.ssf-fsheet-open .ssf-bnav, body.ssf-fsheet-open .ssf-totop, body.ssf-fsheet-open .bcs-ai-fab, body.ssf-fsheet-open [class*="bcs-ai-fab"] { display: none !important; }
body.ssf-fsheet-open .ssf-hdr { z-index: 1 !important; }
.ssf-fsheet-foot { display: none; }
@media (max-width: 1024px) {
	#catalog-filters-modal .filters-panel-content, #catalog-filters-modal .panel-content {
		display: flex !important; flex-direction: column; width: min(420px, 92vw) !important; max-width: none !important; padding: 0 !important; height: 100% !important;
	}
	#catalog-filters-modal .modal-header, #catalog-filters-modal .panel-header {
		flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; margin: 0 !important; padding: 14px 16px !important;
		border-bottom: 1px solid var(--sx-line); background: #fff;
	}
	#catalog-filters-modal .modal-header h3, #catalog-filters-modal .panel-header h3, #catalog-filters-modal .modal-title { margin: 0 !important; font-size: 18px !important; font-weight: 800 !important; }
	#catalog-filters-modal .modal-content, #catalog-filters-modal .panel-body, #catalog-filters-modal .filters-panel-body {
		flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 14px 16px 20px !important; margin: 0 !important; -webkit-overflow-scrolling: touch;
	}
	#catalog-filters-modal .book-filters-container { margin-bottom: 0; }
	#catalog-filters-modal .bf-quick { margin-bottom: 14px; }
	#catalog-filters-modal .bf-section:first-of-type { border-top: 0; }
	.ssf-fsheet-foot {
		flex: 0 0 auto; display: flex; gap: 10px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: #fff; border-top: 1px solid var(--sx-line); box-shadow: 0 -10px 24px -18px rgba(15, 23, 42, .4);
	}
	.ssf-fsheet-foot button {
		all: unset; box-sizing: border-box; cursor: pointer; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
		font-size: 15.5px; font-weight: 700;
	}
	.ssf-fsheet-foot .ssf-fsheet-clear { flex: 0 0 auto; padding: 0 16px; color: #dc2626; border: 1px solid #fecaca; background: #fff; }
	.ssf-fsheet-foot .ssf-fsheet-clear[disabled] { opacity: .4; pointer-events: none; }
	.ssf-fsheet-foot .ssf-fsheet-show { flex: 1 1 auto; color: #fff; background: var(--sx-brand); box-shadow: 0 10px 20px -12px var(--sx-brand); }
	html.bf-busy .ssf-fsheet-show { opacity: .7; }
}

/* ------------------------------------------------------------ phones & tablets */
@media (max-width: 1024px) {
	.ssf-shop-bar__sorts { display: none; }
}
@media (max-width: 768px) {
	.ssf-shopx .site-content { padding-top: 12px; }
	.ssf-shop-hero { padding: 14px 16px 12px; border-radius: 18px; margin-bottom: 12px; gap: 10px; }
	.ssf-shop-hero__eyebrow, .ssf-shop-hero__desc { display: none !important; }
	.ssf-shop-hero::after { width: 140px; height: 140px; right: -40px; bottom: -50px; }
	.ssf-shopx h1.ssf-shop-hero__title { font-size: 22px !important; margin-bottom: 2px !important; }
	.ssf-shop-hero__meta { font-size: 13.5px; }
	.ssf-shop-hero__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.ssf-shop-hero__trust { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 6px; margin-right: -16px !important; padding-right: 16px !important; }
	.ssf-shop-hero__trust::-webkit-scrollbar { display: none; }
	.ssf-shop-hero__trust li { flex: 0 0 auto; padding: 6px 10px; font-size: 12.5px; border-radius: 10px; }
	.ssf-shop-rail { margin: 0 -15px 12px; }
	.ssf-shop-rail__track { padding: 2px 15px 6px; }
	.ssf-shopx a.ssf-shop-rail__chip { padding: 7px 12px; font-size: 13.5px; }

	.ssf-shop-bar {
		position: sticky; top: var(--ssf-hdr-h, 0px); z-index: 30; flex: none; max-width: none; margin: 0 -15px 12px; padding: 8px 15px; border-radius: 0;
		border-width: 1px 0; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px);
	}
	.ssf-shop-bar__count { display: none; }
	.ssf-shop-bar__mobile { display: flex; gap: 8px; width: 100%; }
	.ssf-shopx .ssf-shop-btn {
		all: unset; box-sizing: border-box; cursor: pointer; flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: 10px;
		height: 48px; padding: 0 12px; border-radius: 14px; border: 1px solid var(--sx-line); background: #fff; color: var(--sx-ink);
		-webkit-tap-highlight-color: transparent; transition: transform .15s, border-color .15s;
	}
	.ssf-shopx .ssf-shop-btn:active { transform: scale(.97); }
	.ssf-shop-btn .ssf-shop-ico { width: 20px; height: 20px; color: var(--sx-brand); }
	.ssf-shop-btn span { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
	.ssf-shop-btn b { font-size: 14.5px; font-weight: 700; }
	.ssf-shop-btn small { font-size: 12px; color: var(--sx-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.ssf-shop-btn.has-n { border-color: color-mix(in srgb, var(--sx-brand) 40%, #fff); background: color-mix(in srgb, var(--sx-brand) 6%, #fff); }
	.ssf-shop-btn.has-n small { color: var(--sx-brand); font-weight: 700; }
	.ssf-shop-active { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: -4px -15px 12px; padding: 0 15px; }
	.ssf-shop-active::-webkit-scrollbar { display: none; }
	.ssf-shopx .ssf-shop-active button.ssf-achip { flex: 0 0 auto; white-space: nowrap; }

	.ssf-shopx ul.products li.product .product-inner { padding: 6px; border-radius: 14px; }
	.ssf-shopx ul.products li.product:hover .product-inner { transform: none; }
	.ssf-shopx ul.products li.product .product-thumbnail { margin-bottom: 8px !important; border-radius: 10px !important; }
	.ssf-shopx ul.products li.product .ssf-wl-btn--loop { top: 12px !important; right: 12px !important; }
	.ssf-shopx ul.products li.product .woocommerce-loop-product__title,
	.ssf-shopx ul.products li.product .woocommerce-loop-product__title a { font-size: 13.5px !important; }
	.ssf-shopx ul.products li.product .price { font-size: 15px !important; }
	.ssf-shopx ul.products li.product .ssf-sx-off { display: block; margin: 2px 0 0; }
	.ssf-shopx ul.products li.product .rz-atc-button-bg a.button { height: 38px !important; font-size: 13px !important; border-radius: 10px !important; }
	.ssf-shopx ul.products li.product .rz-atc-button-bg { padding-top: 8px !important; }
	.ssf-shopx nav.woocommerce-pagination .page-numbers a.page-numbers,
	.ssf-shopx nav.woocommerce-pagination .page-numbers span.page-numbers { min-width: 38px; height: 38px; padding: 0 10px !important; font-size: 14px; }
	.ssf-has-bnav .ssf-totop { bottom: calc(96px + env(safe-area-inset-bottom)); }
	body.ssf-scrolling-down .ssf-totop { bottom: calc(18px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	.ssf-shopx ul.products li.product .product-inner, .ssf-shop-rail__chip, .ssf-totop, .ssf-sortsheet__panel, .ssf-sortsheet__bg { transition: none !important; animation: none !important; transform: none !important; }
	.ssf-shopx ul.products li.product .product-thumbnail { animation: none; }
}
