/* SpaCart storefront design system - catalogue layer: product cards, grids,
 * carousels, home sections, listing toolbar, facets and pagination.
 * Markup: templates/common/products*.php, filter.php, navigation.php,
 * templates/home/*, category/, search/, brands/. */

/* ---------- Product grid and card ---------- */
.sf-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sf-s4) var(--sf-s3); }
/* Dense grid: about 200-240px per card on desktop, as on marketplace listings.
 * Pages with the filter column keep one column fewer. */
@media (min-width: 600px) { .sf-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sf-s4) var(--sf-s3); } }
@media (min-width: 900px) { .sf-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .withleftmenu .sf-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .sf-product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } .withleftmenu .sf-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1400px) { .sf-product-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .withleftmenu .sf-product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.sf-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--sf-surface); border: 1px solid var(--sf-line); border-radius: var(--sf-r-card); overflow: hidden; transition: border-color var(--sf-medium) var(--sf-ease), box-shadow var(--sf-medium) var(--sf-ease); }
/* Lift without moving: a deeper shadow and a stronger border, never a transform. */
.sf-card:hover { border-color: var(--sf-line-strong); box-shadow: 0 10px 28px rgba(20, 23, 28, .10), 0 2px 6px rgba(20, 23, 28, .05); }
.sf-card-media { position: relative; aspect-ratio: 1 / 1; background: var(--sf-subtle); }
.sf-card-image { position: absolute; inset: 0; display: grid; place-items: center; padding: var(--sf-s3); text-decoration: none; }
.sf-card-image img { width: 100%; height: 100%; object-fit: contain; transition: transform var(--sf-slow) var(--sf-ease), opacity var(--sf-medium) var(--sf-ease); }
/* Second photo (products.js, data-hover-image): cross-fades on hover or focus. */
.sf-card-image .product-image-alt { position: absolute; top: var(--sf-s3); left: var(--sf-s3); width: calc(100% - 2 * var(--sf-s3)); height: calc(100% - 2 * var(--sf-s3)); opacity: 0; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
	.sf-card.has-hover-image:is(:hover, :focus-within) .product-image { opacity: 0; }
	.sf-card.has-hover-image:is(:hover, :focus-within) .product-image-alt { opacity: 1; }
}
/* Photos sit on white, as shot; only the missing-image state uses the subtle tint. */
.sf-card-media:has(.product-image) { background: #fff; }
.sf-card:not(.has-hover-image):hover .sf-card-image img { transform: scale(1.03); }
.product-image-placeholder { display: grid; justify-items: center; gap: var(--sf-s2); color: var(--sf-muted); font-size: var(--sf-fs-xs); text-align: center; }
.product-image-placeholder svg { width: 36px; height: 36px; }
.sf-card-badges { position: absolute; top: var(--sf-s2); left: var(--sf-s2); display: flex; flex-wrap: wrap; gap: 4px; max-width: calc(100% - 56px); pointer-events: none; }
.product-bestseller { display: inline-flex; padding: 3px 9px; border-radius: var(--sf-r-pill); background: var(--sf-surface); color: var(--sf-ink); font-size: var(--sf-fs-xs); font-weight: 650; box-shadow: 0 1px 2px rgba(20, 23, 28, .12); }
.wishlist-toggle {
	position: absolute; top: var(--sf-s2); right: var(--sf-s2); z-index: 2; width: 38px; height: 38px; display: grid; place-items: center;
	padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--sf-ink); box-shadow: 0 1px 3px rgba(20, 23, 28, .14); cursor: pointer;
}
.wishlist-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.wishlist-toggle:hover { color: var(--sf-danger); }
.wishlist-toggle svg { transition: fill var(--sf-fast) var(--sf-ease), stroke var(--sf-fast) var(--sf-ease); }
.wishlist-toggle[aria-pressed="true"] svg { fill: var(--sf-danger); stroke: var(--sf-danger); }
/* Pop when the shopper saves an item (products.js); reduced motion neutralizes it. */
.wishlist-toggle.is-popping svg { animation: sf-heart-pop var(--sf-slow) var(--sf-ease-out); }
@keyframes sf-heart-pop { 0% { transform: scale(1); } 35% { transform: scale(1.32); } 65% { transform: scale(.92); } 100% { transform: scale(1); } }
.sf-card-body { display: flex; flex: 1; flex-direction: column; gap: 4px; padding: var(--sf-s3); }
.sf-card .res-name { margin: 0; font-family: var(--sf-font-text); font-size: 14px; font-weight: 600; line-height: 1.35; letter-spacing: 0; }
.sf-card .res-name a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--sf-ink); text-decoration: none; }
.sf-card .res-name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.sf-card .res-name a:focus-visible { outline: none; }
.sf-card:has(.res-name a:focus-visible) { outline: 2px solid var(--sf-brand); outline-offset: 2px; }
.sf-card-seller { margin: 0; font-size: var(--sf-fs-xs); color: var(--sf-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.res-rating { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 5px; width: fit-content; font-size: var(--sf-fs-xs); color: var(--sf-muted); text-decoration: none; }
.res-rating:hover { color: var(--sf-ink); }
.card-stars { position: relative; display: inline-block; font-size: 13px; letter-spacing: 1px; line-height: 1; color: var(--sf-line-strong); }
.card-stars::before { content: "★★★★★"; position: absolute; inset: 0; width: var(--rating, 0%); overflow: hidden; color: #e1a700; }
/* Star fill in half-star steps: the CSP forbids inline style attributes. */
.card-stars[data-rating="0"] { --rating: 0%; }
.card-stars[data-rating="10"] { --rating: 10%; }
.card-stars[data-rating="20"] { --rating: 20%; }
.card-stars[data-rating="30"] { --rating: 30%; }
.card-stars[data-rating="40"] { --rating: 40%; }
.card-stars[data-rating="50"] { --rating: 50%; }
.card-stars[data-rating="60"] { --rating: 60%; }
.card-stars[data-rating="70"] { --rating: 70%; }
.card-stars[data-rating="80"] { --rating: 80%; }
.card-stars[data-rating="90"] { --rating: 90%; }
.card-stars[data-rating="100"] { --rating: 100%; }
.sf-card-rating { font-weight: 650; color: var(--sf-ink); }
.res-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--sf-s2); margin-top: auto; padding-top: var(--sf-s1); }
.res-price .sf-price { font-size: var(--sf-fs-md); }
.sf-price-was { color: var(--sf-muted); font-size: var(--sf-fs-sm); }
.sf-card:has(.discount) .res-price .sf-price { color: var(--sf-danger); }
.spacart-auction-card-state { width: 100%; font-size: var(--sf-fs-xs); color: var(--sf-muted); }
.res-buttons { position: relative; z-index: 2; margin-top: var(--sf-s1); }
.res-buttons .sf-btn { min-height: 34px; font-size: var(--sf-fs-sm); }
.res-buttons .sf-btn { gap: 6px; }
.res-buttons .sf-btn:hover { background: var(--sf-brand); border-color: var(--sf-brand); color: var(--sf-on-brand); }
.res-buttons .out-of-stock { margin: 0; min-height: var(--sf-control-h-sm); }
.res-zoom, .res-item > .clear { display: none; }

/* ---------- Carousels (home.js [data-carousel]) ---------- */
.carousel-pr { position: relative; }
.carousel-wrapper { overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--sf-s1)); padding: var(--sf-s1); }
.carousel-wrapper::-webkit-scrollbar { display: none; }
.carousel-wrapper:focus-visible { outline-offset: -2px; }
/* Faded edges say more cards scroll in (home.js sets the classes). */
.carousel-pr.has-more-end .carousel-wrapper { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); }
.carousel-pr.has-more-start .carousel-wrapper { -webkit-mask-image: linear-gradient(to right, transparent, #000 40px); mask-image: linear-gradient(to right, transparent, #000 40px); }
.carousel-pr.has-more-start.has-more-end .carousel-wrapper { -webkit-mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent); }
.carousel-wrapper .sf-product-grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(168px, 46%); gap: var(--sf-s3); }
@media (min-width: 600px) { .carousel-wrapper .sf-product-grid { grid-auto-columns: calc((100% - 2 * var(--sf-s4)) / 3); gap: var(--sf-s4); } }
@media (min-width: 900px) { .carousel-wrapper .sf-product-grid { grid-auto-columns: calc((100% - 3 * var(--sf-s4)) / 4); } }
@media (min-width: 1200px) { .carousel-wrapper .sf-product-grid { grid-auto-columns: calc((100% - 4 * var(--sf-s4)) / 5); } }
@media (min-width: 1400px) { .carousel-wrapper .sf-product-grid { grid-auto-columns: calc((100% - 5 * var(--sf-s4)) / 6); } }
.carousel-wrapper .sf-card { scroll-snap-align: start; }
.carousel-arrow {
	position: absolute; top: 38%; z-index: 3; width: 44px; height: 44px; display: none; place-items: center; padding: 0;
	border: 1px solid var(--sf-line); border-radius: 50%; background: var(--sf-surface); color: var(--sf-ink); box-shadow: var(--sf-shadow-pop); font-size: 26px; line-height: 1;
	opacity: 0; transition: opacity var(--sf-medium) var(--sf-ease), border-color var(--sf-fast) var(--sf-ease);
}
.carousel-prev { left: -14px; }
.carousel-next { right: -14px; }
.carousel-arrow:hover { border-color: var(--sf-ink); }
.carousel-arrow.is-hidden { opacity: 0; pointer-events: none; }
/* Desktop: arrows appear while the shelf is hovered or holds focus; at an end
 * the arrow stays visible but dimmed and inert. */
@media (min-width: 900px) and (hover: hover) {
	.carousel-arrow { display: grid; }
	.carousel-pr:is(:hover, :focus-within) .carousel-arrow, .carousel-arrow:focus-visible { opacity: 1; }
	.carousel-pr:is(:hover, :focus-within) .carousel-arrow[disabled] { opacity: .35; cursor: default; box-shadow: none; }
}

/* ---------- Home ---------- */
.spacart-home { padding-top: var(--sf-s2); }
.sc-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.spacart-home-section { margin-block: var(--sf-s6); }
@media (min-width: 900px) { .spacart-home-section { margin-block: var(--sf-s7); } }
.spacart-home-section > header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sf-s4); margin-bottom: var(--sf-s4); }
.spacart-home-section > header h2 { margin: 0; }
.spacart-home-section > header p { margin: 4px 0 0; color: var(--sf-muted); }
.surface-section-link, .surface-tile-link { font-size: var(--sf-fs-sm); font-weight: 600; white-space: nowrap; }

/* Hero slider (home.js): a fixed ratio, so slides never shift the page. */
.spacart-home-hero { position: relative; overflow: hidden; margin-top: var(--sf-s2); border-radius: var(--sf-r-card); background: var(--sf-ink); }
.ef-hero-track { position: relative; aspect-ratio: 4 / 3; touch-action: pan-y; }
@media (min-width: 600px) { .ef-hero-track { aspect-ratio: 2 / 1; } }
@media (min-width: 900px) { .ef-hero-track { aspect-ratio: 8 / 3; } }
@media (min-width: 1200px) { .ef-hero-track { aspect-ratio: 16 / 5; } }
.ef-hero-slide { position: absolute; inset: 0; display: flex; color: #fff; opacity: 0; visibility: hidden; transition: opacity var(--sf-slow) var(--sf-ease), visibility 0s linear var(--sf-slow); }
.ef-hero-slide.is-active { opacity: 1; visibility: visible; transition: opacity var(--sf-slow) var(--sf-ease); }
.ef-slide-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% center; }
.ef-slide-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .3); opacity: .55; }
.ef-slide-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--sf-s3); max-width: 560px; padding: var(--sf-s5) var(--sf-s5) 72px; }
/* Phones: the copy covers the picture, so a scrim keeps white text AA over any image. */
@media (max-width: 599px) {
	.ef-slide-media { object-position: 100% center; }
	.ef-hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .74), rgba(0, 0, 0, .3)); }
	.ef-slide-title { font-size: 24px; }
}
@media (min-width: 600px) { .ef-slide-content { justify-content: center; padding: var(--sf-s6) var(--sf-s6) var(--sf-s7); } }
@media (min-width: 900px) { .ef-slide-content { padding: var(--sf-s7) var(--sf-s8); } }
/* Copy settles in with the slide it belongs to. */
.ef-hero-slide .ef-slide-content { transform: translateY(6px); transition: transform var(--sf-slow) var(--sf-ease-out); }
.ef-hero-slide.is-active .ef-slide-content { transform: none; }
.ef-text-center .ef-slide-content { margin-inline: auto; align-items: center; text-align: center; }
.ef-text-right .ef-slide-content { margin-left: auto; align-items: flex-end; text-align: right; }
.ef-slide-title { margin: 0; color: inherit; font-size: clamp(26px, 4.4vw, var(--sf-fs-3xl)); font-weight: 800; letter-spacing: -.02em; }
.ef-slide-subtitle { margin: 0; font-size: var(--sf-fs-md); opacity: .92; }
@media (max-width: 599px) { .ef-slide-subtitle { font-size: var(--sf-fs-base); } }
.ef-slide-btn { display: inline-flex; align-items: center; min-height: var(--sf-control-h); padding: 0 var(--sf-s5); border-radius: var(--sf-r-control); background: #fff; color: var(--sf-ink); font-weight: 650; text-decoration: none; width: fit-content; transition: background-color var(--sf-fast) var(--sf-ease); }
.ef-slide-btn:hover { background: var(--sf-subtle); color: var(--sf-ink); }
.ef-slide-btn:focus-visible, .ef-hero-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 4px rgba(20, 23, 28, .6); }
.ef-hero-controls { position: absolute; z-index: 2; left: 0; right: 0; bottom: var(--sf-s3); display: flex; align-items: center; justify-content: center; gap: var(--sf-s2); }
@media (min-width: 600px) { .ef-hero-controls { left: auto; right: var(--sf-s4); bottom: var(--sf-s4); } }
.ef-hero-prev, .ef-hero-next, .ef-hero-toggle { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--sf-ink); line-height: 1; transition: background-color var(--sf-fast) var(--sf-ease); }
.ef-hero-prev:hover, .ef-hero-next:hover, .ef-hero-toggle:hover { background: #fff; }
.ef-hero-toggle .ef-hero-icon-play, .ef-hero-toggle[aria-pressed="true"] .ef-hero-icon-pause { display: none; }
.ef-hero-toggle[aria-pressed="true"] .ef-hero-icon-play { display: block; }
.ef-hero-dots { display: flex; gap: 0; }
/* 24px touch target; the visible dot is drawn inside it. */
.ef-hero-dots button { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; background: transparent; transition: width var(--sf-medium) var(--sf-ease); }
.ef-hero-dots button::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 1px rgba(20, 23, 28, .25); transition: width var(--sf-medium) var(--sf-ease), background-color var(--sf-medium) var(--sf-ease); }
.ef-hero-dots button[aria-current="true"]::before, .ef-hero-dots button.is-active::before { width: 22px; border-radius: 4px; background: #fff; }
.ef-hero-dots button[aria-current="true"], .ef-hero-dots button.is-active { width: 30px; }

/* Promotion band and discovery overview */
.surface-promo-band { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sf-s2) var(--sf-s4); margin: var(--sf-s4) 0; padding: var(--sf-s3) var(--sf-s4); border-radius: var(--sf-r-card); background: var(--spacart-promo-bg, var(--sf-ink)); color: var(--spacart-promo-text, #fff); }
.surface-promo-band strong { color: inherit; font-family: var(--sf-font-display); font-size: var(--sf-fs-md); }
.surface-promo-band a { margin-left: auto; color: inherit; font-weight: 650; }
.surface-promo-clock { display: inline-flex; gap: 6px; font-variant-numeric: tabular-nums; opacity: .9; }
.surface-discovery { display: grid; gap: var(--sf-s4); margin-block: var(--sf-s4) var(--sf-s6); }
@media (min-width: 600px) { .surface-discovery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .surface-discovery { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.surface-tile { display: flex; flex-direction: column; gap: var(--sf-s3); padding: var(--sf-s5); background: var(--sf-surface); border: 1px solid var(--sf-line); border-radius: var(--sf-r-card); min-width: 0; }
.surface-tile > h2 { margin: 0; font-size: var(--sf-fs-md); }
.surface-tile > p { margin: 0; color: var(--sf-muted); font-size: var(--sf-fs-sm); }
.surface-tile-link { margin-top: auto; padding-top: var(--sf-s2); }
.surface-tile-note { color: var(--sf-muted); font-size: var(--sf-fs-xs) !important; }
.surface-departments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sf-s2); }
.surface-departments a { display: grid; gap: 6px; padding: var(--sf-s2); border-radius: var(--sf-r-control); color: var(--sf-ink); font-size: var(--sf-fs-sm); font-weight: 600; text-decoration: none; }
.surface-departments a:hover { background: var(--sf-subtle); }
.surface-department-media, .surface-small-media { display: grid; place-items: center; overflow: hidden; border-radius: var(--sf-r-control); background: var(--sf-subtle); color: #9aa1ab; }
.surface-department-media { aspect-ratio: 7 / 6; }
.surface-department-media img, .surface-small-media img { width: 100%; height: 100%; object-fit: cover; }
.surface-department-media svg, .surface-small-media svg { width: 24px; height: 24px; fill: currentColor; }
.surface-small-media { width: 56px; height: 56px; flex: none; }
.surface-selection, .surface-auctions, .surface-orders, .surface-help-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.surface-selection a, .surface-auctions a, .surface-orders a { display: flex; align-items: center; gap: var(--sf-s3); padding: var(--sf-s2); border-radius: var(--sf-r-control); color: var(--sf-ink); text-decoration: none; font-size: var(--sf-fs-sm); }
.surface-selection a:hover, .surface-auctions a:hover, .surface-orders a:hover { background: var(--sf-subtle); }
.surface-selection strong, .surface-auction-copy strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; }
.surface-selection-price, .surface-auction-price { display: block; font-family: var(--sf-font-display); font-weight: 700; font-variant-numeric: tabular-nums; }
.surface-auction-copy { display: grid; min-width: 0; }
.surface-auction-copy small, .surface-auction-copy time { color: var(--sf-muted); font-size: var(--sf-fs-xs); }
.surface-auction-price { margin-left: auto; }
.surface-help-links a { display: block; padding: 6px 0; font-size: var(--sf-fs-sm); font-weight: 600; }
.surface-tier-table { font-size: var(--sf-fs-sm); }
.surface-tier-table :is(th, td) { padding: 6px 0; border-bottom: 1px solid var(--sf-line); text-align: left; }
.surface-tier-table th { color: var(--sf-muted); font-weight: 600; }
.surface-tile-action { display: inline-flex; align-items: center; justify-content: center; min-height: var(--sf-control-h); padding: 0 var(--sf-s5); border-radius: var(--sf-r-control); background: var(--sf-brand); color: var(--sf-on-brand); font-weight: 650; text-decoration: none; }
.surface-tile-action:hover { background: var(--sf-brand-strong); color: var(--sf-on-brand); }
.surface-tile-action--secondary { background: var(--sf-surface); color: var(--sf-ink); border: 1px solid var(--sf-line-strong); }
.surface-tile-action--secondary:hover { background: var(--sf-surface); color: var(--sf-ink); border-color: var(--sf-ink); }
.surface-tile-account { background: var(--sf-ink); border-color: var(--sf-ink); color: #c9ced6; }
.surface-tile-account > h2 { color: #fff; }
.surface-tile-account > p { color: #c9ced6; }
.surface-tile-account .surface-tile-action { margin-top: auto; }
.surface-tile-account .surface-tile-action + .surface-tile-action { margin-top: 0; }
.surface-tile-account .surface-tile-action--secondary { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .3); }
.surface-tile-account .surface-orders a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--sf-s3); color: #fff; }
.surface-tile-account .surface-orders strong { color: #fff; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.surface-tile-account .surface-orders span { grid-column: 2; grid-row: 1; justify-self: end; padding: 1px 8px; border-radius: var(--sf-r-pill); background: rgba(255, 255, 255, .12); color: #fff; font-size: var(--sf-fs-xs); white-space: nowrap; }
.surface-tile-account .surface-orders time { grid-column: 1 / -1; color: #aab2bd; font-size: var(--sf-fs-xs); }
.surface-tile-account .surface-orders a:hover { background: rgba(255, 255, 255, .08); }
.surface-tile-account .surface-orders a:hover { background: rgba(255, 255, 255, .08); }
.surface-account-symbol { display: none; }
.surface-wholesale-product { font-weight: 650; }
.surface-tile-welcome { background: var(--sf-brand-soft); border-color: var(--sf-brand-line); }
.surface-tile-welcome > h2 { font-size: var(--sf-fs-sm); color: var(--sf-muted); font-family: var(--sf-font-text); font-weight: 600; }
.surface-tile-welcome .surface-welcome-title { color: var(--sf-ink); font-family: var(--sf-font-display); font-size: var(--sf-fs-xl); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; }
.surface-tile-welcome .surface-tile-action { margin-top: auto; width: fit-content; }
@media (max-width: 599px) { .surface-tile-help { display: none; } }
body:has(.spacart-home-newsletter) #foot-subscribe { display: none; }

/* Category browse grid */
.surface-browse-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: var(--sf-s3); }
.surface-browse-grid a { display: grid; justify-items: center; gap: var(--sf-s2); padding: var(--sf-s3) var(--sf-s2); border-radius: var(--sf-r-card); color: var(--sf-ink); font-weight: 600; font-size: var(--sf-fs-sm); text-align: center; text-decoration: none; }
.surface-browse-grid a:hover { background: var(--sf-surface); box-shadow: 0 0 0 1px var(--sf-line); }
.surface-browse-media { width: 96px; height: 96px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--sf-surface); border: 1px solid var(--sf-line); color: #9aa1ab; }
.surface-browse-media img { width: 100%; height: 100%; object-fit: cover; }
.surface-browse-media svg { width: 28px; height: 28px; fill: currentColor; }

/* Commitments band */
.spacart-home-usp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sf-s4); margin-block: var(--sf-s6); padding: var(--sf-s5); background: var(--sf-surface); border: 1px solid var(--sf-line); border-radius: var(--sf-r-card); }
@media (min-width: 900px) { .spacart-home-usp { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.spacart-home-usp > div { display: grid; gap: 2px; padding-left: var(--sf-s3); border-left: 3px solid var(--sf-brand); }
.spacart-home-usp strong { font-family: var(--sf-font-display); font-size: var(--sf-fs-base); }
.spacart-home-usp span { color: var(--sf-muted); font-size: var(--sf-fs-sm); }

/* Newsletter band */
.spacart-home-newsletter { display: grid; gap: var(--sf-s4); padding: var(--sf-s6) var(--sf-s5); background: var(--sf-brand-soft); border: 1px solid var(--sf-brand-line); border-radius: var(--sf-r-card); }
@media (min-width: 900px) { .spacart-home-newsletter { grid-template-columns: 1fr 1.2fr; align-items: center; padding: var(--sf-s6); } }
.spacart-home-newsletter > header { margin: 0; }
.home-newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sf-s2); align-items: end; }
.home-newsletter-form label { grid-column: 1 / -1; }
.home-newsletter-form input { margin: 0; }
.home-newsletter-status { grid-column: 1 / -1; margin: 0; font-size: var(--sf-fs-sm); }
.home-newsletter-status:empty { display: none; }

/* Other home sections share the content styles */
.spacart-home-news, .spacart-home-blog, .spacart-home-testimonials { margin-block: var(--sf-s6); }

/* ---------- Listing pages ---------- */
.category-page, .search-page, .brands-page { min-width: 0; }
.category-header, .search-page-heading { margin-bottom: var(--sf-s5); }
.category-header h1, .search-page-heading h1 { margin-bottom: var(--sf-s2); }
.category-description { max-width: 72ch; color: var(--sf-muted); }
.catalog-query { color: var(--sf-muted); font-weight: 600; overflow-wrap: anywhere; }
.category-products > h2, .category-featured > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.category-featured { margin-bottom: var(--sf-s6); }
/* Department tiles ("shop by category"): photo, name and live count, before the listing. */
.category-subcategories { margin-bottom: var(--sf-s6); }
.category-subcategories > h2 { margin: 0 0 var(--sf-s3); font-size: var(--sf-fs-md); }
.category-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--sf-s3); margin: 0; padding: 0; list-style: none; }
.category-tile {
	display: grid; grid-template-rows: auto auto 1fr; gap: 2px; height: 100%; padding: var(--sf-s3) var(--sf-s3) var(--sf-s4);
	border: 1px solid var(--sf-line); border-radius: var(--sf-r-card); background: var(--sf-surface); color: var(--sf-ink); text-decoration: none;
	transition: border-color var(--sf-fast) var(--sf-ease), box-shadow var(--sf-fast) var(--sf-ease), transform var(--sf-fast) var(--sf-ease);
}
.category-tile:hover { border-color: var(--sf-line-strong); box-shadow: var(--sf-shadow-card, 0 6px 18px rgba(20, 23, 28, .08)); transform: translateY(-2px); text-decoration: none; }
.category-tile:focus-visible { outline: 2px solid var(--sf-focus, var(--sf-brand)); outline-offset: 2px; }
.category-tile-media { display: grid; place-items: center; aspect-ratio: 1; margin-bottom: var(--sf-s2); overflow: hidden; border-radius: calc(var(--sf-r-card) - 4px); background: var(--sf-canvas); }
.category-tile-media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform var(--sf-medium) var(--sf-ease-out); }
.category-tile:hover .category-tile-media img { transform: scale(1.04); }
.category-tile-media svg { width: 36px; height: 36px; fill: var(--sf-line-strong); }
.category-tile-name { font-weight: 650; font-size: var(--sf-fs-sm); line-height: 1.3; overflow-wrap: anywhere; }
.category-tile-count { font-size: var(--sf-fs-xs); color: var(--sf-muted); }
@media (max-width: 599px) {
	/* Phones: one swipeable row instead of a tall wall of tiles. */
	.category-subcategories .category-tiles { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--sf-gutter); margin-inline: calc(-1 * var(--sf-gutter)); padding: 2px var(--sf-gutter) var(--sf-s2); scrollbar-width: none; }
	.category-subcategories .category-tiles > li { flex: 0 0 132px; scroll-snap-align: start; }
}
.category-banner-list { display: grid; gap: var(--sf-s4); margin-bottom: var(--sf-s6); }
.category-banner { position: relative; display: flex; min-height: 180px; overflow: hidden; border-radius: var(--sf-r-card); background: var(--sf-ink); background-size: cover; background-position: center; }
@media (min-width: 900px) { .category-banner { min-height: 220px; } }
.category-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.category-banner-overlay { position: absolute; inset: 0; opacity: .5; }
.category-banner-content { position: relative; z-index: 1; display: grid; align-content: center; gap: var(--sf-s2); max-width: 520px; padding: var(--sf-s5); }
.category-banner-content h2 { color: inherit; margin: 0; }
.category-banner-content p { margin: 0; }
.category-banner-button { width: fit-content; display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--sf-s2); padding: 0 var(--sf-s4); border-radius: var(--sf-r-control); background: #fff; color: var(--sf-ink); font-weight: 650; text-decoration: none; transition: transform var(--sf-fast) var(--sf-ease); }
.category-banner-button:hover { transform: translateY(-1px); text-decoration: none; }
@media (max-width: 599px) {
	.category-banner-image { opacity: .35; }
	.category-banner-content { padding: var(--sf-s4); }
}
.catalog-empty { padding: var(--sf-s6) var(--sf-s4); text-align: center; color: var(--sf-muted); border: 1px dashed var(--sf-line-strong); border-radius: var(--sf-r-card); background: var(--sf-surface); }
/* Empty category: say so plainly, then offer a way on (parent, catalogue, siblings). */
.category-empty { display: grid; justify-items: center; gap: var(--sf-s2); padding: var(--sf-s6) var(--sf-s4); text-align: center; border: 1px solid var(--sf-line); border-radius: var(--sf-r-card); background: var(--sf-surface); }
.category-empty-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--sf-subtle); color: var(--sf-muted); }
.category-empty-icon svg { width: 34px; height: 34px; }
.category-empty h2 { margin: var(--sf-s2) 0 0; font-size: var(--sf-fs-lg); }
.category-empty > p { max-width: 52ch; margin: 0; color: var(--sf-muted); }
.category-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sf-s2); margin-top: var(--sf-s3); }
.category-empty-nearby { justify-self: stretch; margin: var(--sf-s5) 0 var(--sf-s1); padding-top: var(--sf-s4); border-top: 1px solid var(--sf-line); font-size: var(--sf-fs-base); text-align: left; }
.category-empty .category-tiles { justify-self: stretch; text-align: left; }

/* Toolbar */
.catalog-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sf-s3); margin-bottom: var(--sf-s4); }
.catalog-count { margin: 0 auto 0 0; color: var(--sf-muted); font-size: var(--sf-fs-sm); font-weight: 600; }
.catalog-sort { position: relative; }
.catalog-sort > summary { display: inline-flex; align-items: center; gap: 6px; min-height: var(--sf-control-h-sm); padding: 0 var(--sf-s4); border: 1px solid var(--sf-line-strong); border-radius: var(--sf-r-pill); background: var(--sf-surface); font-size: var(--sf-fs-sm); cursor: pointer; list-style: none; }
.catalog-sort > summary::-webkit-details-marker { display: none; }
.catalog-sort > summary span:first-child { color: var(--sf-muted); }
.catalog-sort[open] > summary { border-color: var(--sf-ink); }
.sort-by { position: absolute; right: 0; top: calc(100% + 6px); z-index: 50; min-width: 240px; padding: var(--sf-s2); display: grid; gap: 2px; background: var(--sf-surface); border: 1px solid var(--sf-line); border-radius: var(--sf-r-card); box-shadow: var(--sf-shadow-pop); }
.sort-by a { display: flex; justify-content: space-between; gap: var(--sf-s3); padding: 9px var(--sf-s3); border-radius: var(--sf-r-control); color: var(--sf-ink); text-decoration: none; font-size: var(--sf-fs-sm); }
.sort-by a:hover { background: var(--sf-subtle); }
.sort-by a.active { font-weight: 700; background: var(--sf-subtle); }
.catalog-sort-direction { color: var(--sf-muted); font-size: var(--sf-fs-xs); }
/* Active filter chips above the results (products_results.php, products.js). */
.catalog-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: calc(-1 * var(--sf-s2)) 0 var(--sf-s4); }
.catalog-chip { min-height: 32px; transition: opacity var(--sf-fast) var(--sf-ease), transform var(--sf-fast) var(--sf-ease), background-color var(--sf-fast) var(--sf-ease); }
.catalog-chips-clear { display: inline-flex; align-items: center; min-height: 32px; padding: 0 var(--sf-s2); font-size: var(--sf-fs-xs); font-weight: 650; color: var(--sf-ink); }
.catalog-chips .is-entering { animation: sf-chip-in var(--sf-medium) var(--sf-ease-out) both; }
.catalog-chips .is-leaving { opacity: .35; transform: scale(.92); pointer-events: none; }
@keyframes sf-chip-in { from { opacity: 0; transform: scale(.88); } to { opacity: 1; transform: none; } }
.catalog-count.is-updated { animation: sf-count-in var(--sf-medium) var(--sf-ease-out); }
@keyframes sf-count-in { from { opacity: .25; transform: translateY(4px); } to { opacity: 1; transform: none; } }
/* Skeleton cards while facets, sorting or pages load (products.js). */
.sf-card--skeleton { pointer-events: none; }
.sf-card--skeleton .sf-card-media { display: block; border-radius: 0; }
.sf-skeleton-line, .sf-skeleton-price { display: block; height: 12px; margin: var(--sf-s3) var(--sf-s3) 0; }
.sf-skeleton-line.is-short { width: 55%; }
.sf-skeleton-price { width: 38%; height: 18px; margin-bottom: var(--sf-s4); }
.products-results.is-loading .catalog-toolbar, .products-results.is-loading .catalog-chips { opacity: .6; transition: opacity var(--sf-fast) var(--sf-ease); }

/* Facets (products.js) */
.hidden { display: none !important; }
.facet-summary { display: grid; gap: var(--sf-s2); margin-bottom: var(--sf-s3); font-size: var(--sf-fs-sm); color: var(--sf-muted); }
.facet-result-count strong { color: var(--sf-ink); }
.active-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.selected-filter { display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 0 10px; border-radius: var(--sf-r-pill); background: var(--sf-ink); color: #fff; font-size: var(--sf-fs-xs); font-weight: 600; text-decoration: none; }
.selected-filter::after { content: "\00d7"; font-size: 15px; line-height: 1; }
.selected-filter:hover { color: #fff; background: var(--sf-brand-strong); }
.selected-filter-group { opacity: .7; }
.clear-all-filters { font-size: var(--sf-fs-xs); font-weight: 600; align-self: center; }
.facet-group { border-top: 1px solid var(--sf-line); padding: var(--sf-s2) 0; }
.facet-group h3 { margin: 0; }
.facet-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: var(--sf-s2); min-height: 44px; padding: 0; border: 0; background: none; color: var(--sf-ink); font: 650 var(--sf-fs-base)/1.2 var(--sf-font-text); text-align: left; }
.facet-toggle::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 4px; transition: transform var(--sf-fast) var(--sf-ease); }
.facet-toggle[aria-expanded="true"]::after { transform: rotate(-135deg); }
.facet-selected-count { margin-left: auto; margin-right: var(--sf-s2); min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: var(--sf-r-pill); background: var(--sf-brand); color: var(--sf-on-brand); font-size: 11px; }
.facet-options { list-style: none; margin: 0; padding: 0 0 var(--sf-s2); display: none; }
.facet-options.opened, .facet-toggle[aria-expanded="true"] ~ .facet-options, .facet-options.op { display: grid; gap: 1px; }
.facet-option { display: flex; align-items: center; gap: var(--sf-s2); min-height: 36px; padding: 0 var(--sf-s1); border-radius: 6px; color: var(--sf-text); font-size: var(--sf-fs-sm); text-decoration: none; }
.facet-option:hover { background: var(--sf-subtle); color: var(--sf-ink); }
.facet-checkbox { width: 18px; height: 18px; flex: none; border: 1.5px solid var(--sf-line-strong); border-radius: 4px; background: var(--sf-surface); }
.facet-option.is-selected .facet-checkbox { background: var(--sf-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3.5 3.5L15 7' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center / 14px no-repeat; border-color: var(--sf-ink); }
.facet-option.is-selected { color: var(--sf-ink); font-weight: 600; }
.facet-label { flex: 1; min-width: 0; }
.facet-count { color: var(--sf-muted); font-size: var(--sf-fs-xs); }
.facet-value-search { margin: var(--sf-s1) 0 var(--sf-s2); min-height: 36px !important; font-size: 14px !important; }
.facet-more { margin: 0 0 var(--sf-s2); padding: 0; border: 0; background: none; color: var(--sf-ink); font-weight: 600; font-size: var(--sf-fs-sm); text-decoration: underline; }
.facet-no-match { display: block; padding: var(--sf-s2) 0; color: var(--sf-muted); font-size: var(--sf-fs-sm); }
/* The class sets display: keep the hidden empty-search feedback out of view and out of the a11y tree. */
.facet-no-match[hidden] { display: none; }
.facet-mobile-apply { display: none; }
@media (max-width: 899px) {
	.facet-mobile-apply { display: flex; position: sticky; bottom: env(safe-area-inset-bottom, 0px); z-index: 1; width: 100%; min-height: 48px; margin-top: var(--sf-s4); align-items: center; justify-content: center; border: 0; border-radius: var(--sf-r-control); background: var(--sf-brand); color: var(--sf-on-brand); font-weight: 650; }
}

/* Pagination */
.bottom-pagination { margin-top: var(--sf-s6); }
.navigation { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; }
.navigation-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.nav-sep { display: none; }
.navigation a, .navigation .current-page, .nav-dots { min-width: 44px; height: 44px; display: inline-grid; place-items: center; padding: 0 var(--sf-s2); border-radius: var(--sf-r-control); font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; }
.navigation a { border: 1px solid var(--sf-line); background: var(--sf-surface); color: var(--sf-ink); }
.navigation a:hover { border-color: var(--sf-ink); }
.navigation .current-page { background: var(--sf-ink); color: #fff; }
.nav-dots { color: var(--sf-muted); }

/* Quick view: revealed on hover or keyboard focus, on devices that can hover. */
.sf-card-quick { position: absolute; left: 50%; bottom: var(--sf-s3); z-index: 2; translate: -50% 8px; min-height: 34px; padding: 0 var(--sf-s4); border: 1px solid var(--sf-line-strong); border-radius: var(--sf-r-pill); background: var(--sf-surface); color: var(--sf-ink); font-size: var(--sf-fs-sm); font-weight: 600; white-space: nowrap; opacity: 0; box-shadow: 0 4px 12px rgba(20, 23, 28, .12); transition: opacity var(--sf-medium) var(--sf-ease), translate var(--sf-medium) var(--sf-ease-out), border-color var(--sf-fast) var(--sf-ease); }
.sf-card:hover .sf-card-quick, .sf-card:focus-within .sf-card-quick, .sf-card-quick:focus-visible { opacity: 1; translate: -50% 0; }
.sf-card-quick:hover { border-color: var(--sf-ink); }
@media (hover: none) { .sf-card-quick { display: none; } }
.products[data-catalog-view="list"] .sf-card-quick { display: none; }

/* ---------- Seller storefront (templates/seller/body.php, category.js) ----------
 * Amazon/Etsy store page: cover, identity card overlapping it with rating,
 * followers and a follow button, then a section bar (Produits, Avis, A propos).
 * Prefixed with .sf-store: sf-content.css (later in the cascade) keeps the base. */
.sf-store-hero { position: relative; margin-bottom: var(--sf-s4); }
.sf-store .sf-store-cover { margin: 0; overflow: hidden; aspect-ratio: 3 / 1; border-radius: var(--sf-r-card); background: var(--sf-subtle); }
@media (min-width: 900px) { .sf-store .sf-store-cover { aspect-ratio: 5 / 1; } }
.sf-store .sf-store-cover--plain { aspect-ratio: auto; height: 96px; background: linear-gradient(120deg, color-mix(in srgb, var(--sf-brand) 22%, var(--sf-surface)), color-mix(in srgb, var(--sf-brand) 6%, var(--sf-surface))); }
.sf-store .sf-store-header { position: relative; align-items: center; margin: -56px var(--sf-s4) 0; box-shadow: 0 8px 28px rgba(20, 23, 28, .08); }
@media (max-width: 599px) { .sf-store .sf-store-header { margin: -32px var(--sf-s2) 0; } }
.sf-store .seller-profile-identity { align-items: flex-start; }
.sf-store .seller-profile-logo { width: 104px; height: 104px; margin-top: -48px; box-shadow: 0 4px 14px rgba(20, 23, 28, .12); }
@media (max-width: 599px) { .sf-store .seller-profile-logo { width: 72px; height: 72px; margin-top: -36px; } }
.sf-store-monogram { display: grid; place-items: center; font-family: var(--sf-font-display); font-size: 40px; font-weight: 700; color: var(--sf-brand); }
.sf-store-stats { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sf-s1) var(--sf-s4); margin: var(--sf-s2) 0 0; font-size: var(--sf-fs-sm); color: var(--sf-muted); }
.sf-store-stats[hidden] { display: none; }
.sf-store-rating { display: inline-flex; align-items: center; gap: var(--sf-s2); color: var(--sf-ink); text-decoration: none; }
.sf-store-rating:hover { text-decoration: underline; }
.sf-store-rating strong { font-family: var(--sf-font-display); font-variant-numeric: tabular-nums; }
.sf-store-rating span:last-child { color: var(--sf-muted); font-weight: 500; }
.sf-store-stars { position: relative; display: inline-block; width: 84px; height: 16px; background: var(--sf-line-strong); -webkit-mask: var(--sf-store-star) left / 16.8px 16px repeat-x; mask: var(--sf-store-star) left / 16.8px 16px repeat-x; }
.sf-store-stars-fill { position: absolute; inset: 0 auto 0 0; background: #e8a317; }
.sf-store { --sf-store-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 20'%3E%3Cpath d='m10 1 2.7 5.6 6.1.9-4.4 4.3 1 6.1L10 15l-5.4 2.9 1-6.1L1.2 7.5l6.1-.9z'/%3E%3C/svg%3E"); }
.sf-store-followers::before { content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 var(--sf-s2) 2px 0; border-radius: 50%; background: currentColor; vertical-align: middle; }
.sf-store-actions { display: flex; flex-wrap: wrap; gap: var(--sf-s2); }
.sf-store-actions:empty { display: none; }
.sf-store-follow { min-width: 9rem; }
.sf-store-follow.is-following::before { content: ""; width: 10px; height: 6px; margin-right: 8px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(-45deg); }
/* The extension's own button is driven by the header one; its status line keeps speaking. */
.sf-store .sf-store-follow-source button { display: none; }
.sf-store .sf-store-follow-source [role="status"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sf-store-tabs { display: flex; gap: var(--sf-s1); margin: 0 0 var(--sf-s5); padding: 0 var(--sf-s1); overflow-x: auto; border-bottom: 1px solid var(--sf-line); scrollbar-width: none; }
.sf-store-tab { position: relative; display: inline-flex; align-items: center; gap: var(--sf-s2); min-height: 48px; padding: 0 var(--sf-s3); color: var(--sf-text); font-weight: 600; font-size: var(--sf-fs-sm); text-decoration: none; white-space: nowrap; }
.sf-store-tab::after { content: ""; position: absolute; left: var(--sf-s3); right: var(--sf-s3); bottom: -1px; height: 2px; border-radius: 2px; background: var(--sf-brand); transform: scaleX(0); transition: transform var(--sf-medium) var(--sf-ease-out); }
.sf-store-tab:hover { color: var(--sf-ink); text-decoration: none; }
.sf-store-tab[aria-current]{ color: var(--sf-ink); }
.sf-store-tab[aria-current]::after { transform: none; }
.sf-store-tab-count { padding: 1px 8px; border-radius: var(--sf-r-pill); background: var(--sf-subtle); color: var(--sf-muted); font-size: var(--sf-fs-xs); font-weight: 600; }
.sf-store .sf-store-section { margin-top: var(--sf-s7); scroll-margin-top: 140px; }
.sf-store .seller-profile-products.sf-store-section { margin-top: 0; }
.sf-store-section h2:focus { outline: none; }
.sf-store-reviews > h2 { margin: 0 0 var(--sf-s3); }
.sf-store .sf-store-reviews .spacart-seller-reputation { margin-top: 0; }
.sf-store .sf-store-reviews .spacart-seller-reputation-heading > div:first-child { display: none; }
.sf-store .sf-store-reviews .spacart-seller-rating strong { font-size: 40px; line-height: 1; }
.sf-store .sf-store-reviews .spacart-seller-review-list article { padding: var(--sf-s4) 0; border-bottom: 1px solid var(--sf-line); }
.sf-store .sf-store-reviews .spacart-seller-review-list article:last-child { border-bottom: 0; }
@media (max-width: 599px) {
	.sf-store .sf-store-header { flex-direction: column; align-items: stretch; }
	.sf-store-actions > * { flex: 1 1 auto; }
}
