/*! SASU Fashions Product Experience - storefront styles (v1.0.0)
 * Loaded on single product pages only. Follows the WoodMart design language (square buttons, 42px controls,
 * theme primary colour) and never restyles theme or third-party elements except the two documented overrides
 * at the end (theme share row, floating widgets while the sticky bar is showing).
 */

:root {
	--sasu-pe-primary: var(--wd-primary-color, #da3c3c);
	--sasu-pe-ink: #242424;
	--sasu-pe-muted: #767676;
	--sasu-pe-line: #e5e5e5;
	--sasu-pe-ok: #178a4c;
	--sasu-pe-low: #c2410c;
	--sasu-pe-out: #b91c1c;
	--sasu-pe-ease: cubic-bezier(.2, .8, .2, 1);
	--sasu-pe-tb: 0px;      /* height of the theme's fixed bottom toolbar, set by the script */
	--sasu-pe-bar-h: 0px;   /* height of the sticky bar while it is showing, set by the script */
}

.sasu-pe [hidden],
.sasu-pe-sticky[hidden],
.sasu-pe-share__btn[hidden] { display: none !important; }

/* ------------------------------------------------------------ share */
.sasu-pe-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 18px 0 4px;
}
.sasu-pe-share__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--sasu-pe-line);
	border-radius: 50%;
	background: #fff;
	color: var(--sasu-pe-ink);
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: transform .2s var(--sasu-pe-ease), background-color .2s, color .2s, border-color .2s, box-shadow .2s;
}
.sasu-pe-share__btn svg { display: block; width: 18px; height: 18px; }
.sasu-pe-share__icon,
.sasu-pe-share__done {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: opacity .2s, transform .25s var(--sasu-pe-ease);
}
.sasu-pe-share__done {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(.4);
}
.sasu-pe-share__btn:hover,
.sasu-pe-share__btn:focus-visible {
	color: #fff;
	border-color: transparent;
	box-shadow: 0 6px 14px rgba(0, 0, 0, .16);
	transform: translateY(-2px);
	text-decoration: none;
}
.sasu-pe-share__btn:active { transform: scale(.92); }
.sasu-pe-share__btn:focus-visible { outline: 2px solid var(--sasu-pe-ink); outline-offset: 2px; }
.sasu-pe-share__btn--facebook:hover,  .sasu-pe-share__btn--facebook:focus-visible  { background: #1877f2; }
.sasu-pe-share__btn--whatsapp:hover,  .sasu-pe-share__btn--whatsapp:focus-visible  { background: #25d366; }
.sasu-pe-share__btn--pinterest:hover, .sasu-pe-share__btn--pinterest:focus-visible { background: #e60023; }
.sasu-pe-share__btn--tiktok:hover,    .sasu-pe-share__btn--tiktok:focus-visible    { background: #010101; }
.sasu-pe-share__btn--copy:hover,      .sasu-pe-share__btn--copy:focus-visible      { background: var(--sasu-pe-ink); }
.sasu-pe-share__btn--print:hover,     .sasu-pe-share__btn--print:focus-visible     { background: var(--sasu-pe-ink); }
.sasu-pe-share__btn--instagram:hover, .sasu-pe-share__btn--instagram:focus-visible {
	background: linear-gradient(45deg, #f9ce34, #ee2a7b 55%, #6228d7);
}

/* copied state */
.sasu-pe-share__btn.is-done,
.sasu-pe-share__btn.is-done:hover {
	background: var(--sasu-pe-ok);
	border-color: transparent;
	color: #fff;
}
.sasu-pe-share__btn.is-done .sasu-pe-share__icon { opacity: 0; transform: scale(.4); }
.sasu-pe-share__btn.is-done .sasu-pe-share__done { opacity: 1; transform: scale(1); }

/* tooltips (also shown on keyboard focus) */
.sasu-pe-share__btn::after {
	content: attr(data-tip);
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	z-index: 5;
	padding: 5px 9px;
	background: var(--sasu-pe-ink);
	border-radius: 3px;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transform: translate(-50%, 4px);
	transition: opacity .15s, transform .15s;
}
.sasu-pe-share__btn:hover::after,
.sasu-pe-share__btn:focus-visible::after,
.sasu-pe-share__btn.is-done::after { opacity: 1; transform: translate(-50%, 0); }
.sasu-pe-share__btn:first-child::after { left: 0; transform: translate(0, 4px); }
.sasu-pe-share__btn:first-child:hover::after,
.sasu-pe-share__btn:first-child:focus-visible::after,
.sasu-pe-share__btn:first-child.is-done::after { transform: translate(0, 0); }
.sasu-pe-share__btn:last-child::after { left: auto; right: 0; transform: translate(0, 4px); }
.sasu-pe-share__btn:last-child:hover::after,
.sasu-pe-share__btn:last-child:focus-visible::after,
.sasu-pe-share__btn:last-child.is-done::after { transform: translate(0, 0); }
@media (hover: none) {
	.sasu-pe-share__btn:not(.is-done)::after { display: none; }
	.sasu-pe-share__btn:hover { transform: none; box-shadow: none; }
}

/* ------------------------------------------------------------ stock */
p.stock.sasu-pe-stock {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 10px;
	margin: 0 0 14px;
	color: var(--sasu-pe-ok);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}
.sasu-pe-stock__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: currentColor;
}
.sasu-pe-stock__icon svg { display: block; width: 12px; height: 12px; color: #fff; }
.sasu-pe-stock__detail { color: var(--sasu-pe-muted); font-weight: 500; }
p.stock.sasu-pe-stock--low { color: var(--sasu-pe-low); }
p.stock.sasu-pe-stock--low .sasu-pe-stock__detail { color: var(--sasu-pe-low); font-weight: 700; }
p.stock.sasu-pe-stock--out { color: var(--sasu-pe-out); }
p.stock.sasu-pe-stock--backorder { color: #8a6100; }

/* ------------------------------------------------------------ live viewers */
.sasu-pe-viewers {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 12px;
	color: var(--sasu-pe-ink);
	font-size: 13px;
	font-weight: 600;
	animation: sasu-pe-rise .4s var(--sasu-pe-ease) both;
}
.sasu-pe-viewers__icon { flex: 0 0 auto; color: var(--sasu-pe-primary); }
@keyframes sasu-pe-rise { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ------------------------------------------------------------ rating */
.sasu-pe-rating {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 14px;
	margin: 0 0 12px;
	font-size: 13px;
}
.sasu-pe-rating__summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--sasu-pe-ink);
	text-decoration: none;
}
.sasu-pe-rating__summary:hover { color: var(--sasu-pe-primary); }
.sasu-pe-stars {
	--sasu-pe-fill: 0%;
	display: inline-block;
	flex: 0 0 auto;
	width: 90px;
	height: 16px;
	background: linear-gradient(90deg, #f5a623 var(--sasu-pe-fill), #d9d9d9 var(--sasu-pe-fill));
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cg fill='%23000'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(24 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(48 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(72 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(96 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cg fill='%23000'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(24 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(48 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(72 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3Cpolygon transform='translate(96 0)' points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.sasu-pe-rating__avg { font-weight: 700; }
.sasu-pe-rating__of { margin-left: -5px; color: var(--sasu-pe-muted); }
.sasu-pe-rating__count { color: var(--sasu-pe-muted); }
.sasu-pe-rating__none { color: var(--sasu-pe-muted); }
.sasu-pe-rating__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin: 0 0 0 -8px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--sasu-pe-muted);
	cursor: pointer;
	transition: transform .2s var(--sasu-pe-ease), color .2s;
}
.sasu-pe-rating__toggle:hover { color: var(--sasu-pe-ink); }
.sasu-pe-rating__toggle[aria-expanded="true"] { transform: rotate(180deg); }
.sasu-pe-rating__toggle:focus-visible { outline: 2px solid var(--sasu-pe-ink); outline-offset: 1px; }
a.sasu-pe-rating__write {
	color: var(--sasu-pe-primary);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}
a.sasu-pe-rating__write:hover { border-bottom-color: currentColor; }
.sasu-pe-breakdown {
	flex: 1 0 100%;
	max-width: 320px;
	padding: 12px 14px;
	border: 1px solid var(--sasu-pe-line);
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
	animation: sasu-pe-rise .25s var(--sasu-pe-ease) both;
}
.sasu-pe-breakdown__row {
	display: grid;
	grid-template-columns: 46px 1fr 34px;
	align-items: center;
	gap: 10px;
	padding: 3px 0;
	font-size: 12px;
	color: var(--sasu-pe-muted);
}
.sasu-pe-breakdown__bar { display: block; height: 6px; background: #eee; border-radius: 3px; overflow: hidden; }
.sasu-pe-breakdown__bar > span { display: block; height: 100%; background: #f5a623; border-radius: 3px; }
.sasu-pe-breakdown__n { text-align: right; }
body.sasu-pe #reviews,
body.sasu-pe #tab-reviews { scroll-margin-top: 110px; }

/* ------------------------------------------------------------ Buy Now (inline, beside Add to Cart) */
/* Scoped with :has() to exactly the form our own button is in, so only the single-product-page Add to Cart
   button is affected - shop-loop, related-product and quick-view buttons elsewhere never match this.
   form.cart is flexed correctly, and WoodMart's .single_add_to_cart_button already sizes to its own content.
   Live-verified TWICE on the real deployed v1.0.1 site: a bare ".sasu-pe-buy-now { flex: 0 0 auto }" without
   !important lost to a higher-specificity WoodMart/WooCommerce rule (measured computed flex was still "1 1
   100%", stacking our button full-width above Add to Cart) - some WoodMart selector styling form.cart's direct
   children outranks a single-class selector on specificity. Re-tested live with !important added: computed
   flex correctly became "0 0 auto" and getBoundingClientRect() confirmed both buttons on the same row. */
form.cart:has(.sasu-pe-buy-now),
.woocommerce-variation-add-to-cart:has(.sasu-pe-buy-now) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}
/* WoodMart gives the native Add to Cart button an explicit "order: 10", which decides its position in the row
   regardless of DOM order (live-verified: moving our button earlier/later in the HTML had no visual effect).
   Our button defaults to order 0, so it always rendered first; order: 11 puts Add to Cart first, Buy Now
   second, matching the requested layout. Live-verified via getBoundingClientRect() before shipping. */
form.cart:has(.sasu-pe-buy-now) .sasu-pe-buy-now,
.woocommerce-variation-add-to-cart:has(.sasu-pe-buy-now) .sasu-pe-buy-now {
	order: 11 !important;
}
/* WoodMart paints the button's visible background via a ::before pseudo-element for its hover-fill animation;
   the button's own border-radius has no visual effect (locked to 0 by a more specific WoodMart rule even with
   !important), so the pseudo-element needs its own explicit radius - live-verified before shipping. */
form.cart:has(.sasu-pe-buy-now) .single_add_to_cart_button::before,
.woocommerce-variation-add-to-cart:has(.sasu-pe-buy-now) .single_add_to_cart_button::before {
	border-radius: 8px !important;
}
.sasu-pe-buy-now {
	flex: 0 0 auto !important;
	box-sizing: border-box;
	height: 42px;
	min-height: var(--wd-form-height, 42px);
	margin: 0;
	padding: 0 24px;
	border: 0;
	/* Deliberately a fixed radius, not var(--wd-form-brd-radius): that variable is 0 on this site (square,
	   matching Add to Cart, which we leave untouched), but this button was specifically asked to be rounded. */
	border-radius: 8px;
	background: var(--sasu-pe-primary);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: filter .2s, transform .15s, opacity .2s;
}
.sasu-pe-buy-now:hover { filter: brightness(.92); }
.sasu-pe-buy-now:active { transform: scale(.98); }
.sasu-pe-buy-now:focus-visible { outline: 2px solid var(--sasu-pe-ink); outline-offset: 2px; }
.sasu-pe-buy-now.is-busy { opacity: .65; pointer-events: none; }
.sasu-pe-buy-now.is-disabled { opacity: .5; }

/* ------------------------------------------------------------ View on Instagram */
.sasu-pe-ig-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 0;
	padding: 7px 14px 7px 11px;
	border: 1px solid var(--sasu-pe-line);
	border-radius: 999px;
	background: #fff;
	color: var(--sasu-pe-ink);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s, transform .15s;
}
.sasu-pe-ig-link:hover,
.sasu-pe-ig-link:focus-visible {
	border-color: transparent;
	background: linear-gradient(45deg, #f9ce34, #ee2a7b 55%, #6228d7);
	color: #fff;
	text-decoration: none;
}
.sasu-pe-ig-link:active { transform: scale(.97); }
.sasu-pe-ig-link:focus-visible { outline: 2px solid var(--sasu-pe-ink); outline-offset: 2px; }
.sasu-pe-ig-link__icon,
.sasu-pe-ig-link__arrow { display: inline-flex; }
.sasu-pe-ig-link__icon svg { width: 18px; height: 18px; }

/* ------------------------------------------------------------ sticky purchase bar */
.sasu-pe-sticky {
	position: fixed;
	right: 0;
	bottom: var(--sasu-pe-tb, 0px);
	left: 0;
	z-index: 900;
	padding-bottom: env(safe-area-inset-bottom, 0px);
	background: #fff;
	border-top: 1px solid var(--sasu-pe-line);
	box-shadow: 0 -6px 24px rgba(0, 0, 0, .1);
	transform: translateY(110%);
	transition: transform .28s var(--sasu-pe-ease);
	will-change: transform;
}
.sasu-pe-sticky.is-visible { transform: none; }
.sasu-pe-sticky__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	max-width: 1222px;
	margin: 0 auto;
	padding: 9px 15px;
}
.sasu-pe-sticky__thumb { flex: 0 0 auto; width: 46px; height: 46px; overflow: hidden; background: #f4f4f4; }
.sasu-pe-sticky__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sasu-pe-sticky__info { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; line-height: 1.25; }
.sasu-pe-sticky__title {
	overflow: hidden;
	color: var(--sasu-pe-ink);
	font-size: 14px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.sasu-pe-sticky__price { color: var(--sasu-pe-primary); font-size: 15px; font-weight: 700; }
.sasu-pe-sticky__price .price { color: inherit; font-size: inherit; }
.sasu-pe-sticky__price del { margin-right: 6px; color: var(--sasu-pe-muted); font-weight: 400; opacity: .8; }
.sasu-pe-sticky__price ins { background: none; text-decoration: none; }
.sasu-pe-sticky__price .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sasu-pe-sticky__actions { display: flex; flex: 0 0 auto; gap: 8px; }

.sasu-pe-qty {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	height: 40px;
	border: 1px solid var(--sasu-pe-line);
}
.sasu-pe-qty__btn {
	width: 32px;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: #f7f7f7;
	color: var(--sasu-pe-ink);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.sasu-pe-qty__btn:hover:not(:disabled) { background: #ececec; }
.sasu-pe-qty__btn:disabled { color: #b5b5b5; cursor: not-allowed; }
.sasu-pe-qty__btn:focus-visible { outline: 2px solid var(--sasu-pe-ink); outline-offset: -2px; }
.sasu-pe-qty__input {
	-moz-appearance: textfield;
	width: 40px;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: #fff;
	color: var(--sasu-pe-ink);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}
.sasu-pe-qty__input::-webkit-outer-spin-button,
.sasu-pe-qty__input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }

.sasu-pe-sticky__atc,
.sasu-pe-sticky__buy {
	box-sizing: border-box;
	height: 40px;
	margin: 0;
	padding: 0 20px;
	/* These are our own sticky-bar buttons, not the native Add to Cart button on the main page - free to round. */
	border-radius: 8px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .2s, color .2s, transform .15s, opacity .2s;
}
/* Same visual language as the main purchase area: both filled with the same red as Add to Cart. */
.sasu-pe-sticky__atc,
.sasu-pe-sticky__buy { border: 0; background: var(--sasu-pe-primary); color: #fff; }
.sasu-pe-sticky__atc:hover,
.sasu-pe-sticky__buy:hover { filter: brightness(.92); }
.sasu-pe-sticky__atc:active,
.sasu-pe-sticky__buy:active { transform: scale(.97); }
.sasu-pe-sticky__atc:focus-visible,
.sasu-pe-sticky__buy:focus-visible { outline: 2px solid var(--sasu-pe-ink); outline-offset: 2px; }
.sasu-pe-sticky__atc.is-busy,
.sasu-pe-sticky__buy.is-busy { opacity: .65; pointer-events: none; }
.sasu-pe-sticky__atc.is-disabled,
.sasu-pe-sticky__buy.is-disabled { opacity: .5; }

@media (max-width: 767px) {
	.sasu-pe-sticky__inner { gap: 8px; padding: 8px 10px; }
	.sasu-pe-sticky__thumb,
	.sasu-pe-sticky__title { display: none; }
	.sasu-pe-sticky__info { flex: 0 1 auto; }
	.sasu-pe-sticky__price { font-size: 14px; white-space: nowrap; }
	.sasu-pe-sticky__price del { display: none; }
	.sasu-pe-sticky__actions { flex: 1 1 auto; gap: 6px; }
	.sasu-pe-sticky__atc,
	.sasu-pe-sticky__buy { flex: 1 1 auto; padding: 0 8px; font-size: 12px; letter-spacing: 0; }
	.sasu-pe-qty { height: 38px; }
	.sasu-pe-qty__btn { width: 26px; font-size: 16px; }
	.sasu-pe-qty__input { width: 30px; font-size: 13px; }
}
@media (max-width: 359px) {
	.sasu-pe-sticky__price { display: none; }
}

/* ------------------------------------------------------------ toast */
.sasu-pe-toast {
	position: fixed;
	bottom: calc(var(--sasu-pe-tb, 0px) + 24px);
	left: 50%;
	z-index: 1000;
	box-sizing: border-box;
	max-width: calc(100vw - 32px);
	padding: 10px 16px;
	border-radius: 4px;
	background: var(--sasu-pe-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 16px);
	transition: opacity .2s, transform .25s var(--sasu-pe-ease);
}
.sasu-pe-toast:empty { display: none; }
.sasu-pe-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
body.sasu-pe-bar-on .sasu-pe-toast { bottom: calc(var(--sasu-pe-tb, 0px) + var(--sasu-pe-bar-h, 0px) + 16px); }

/* ------------------------------------------------------------ documented overrides */
/* One share row only: hide the theme's own when ours is on (Settings > Social Share). */
body.sasu-pe-hide-theme-share .summary .wd-social-icons.social-share,
body.sasu-pe-hide-theme-share .entry-summary .wd-social-icons.social-share { display: none !important; }

/* One rating block only: ours replaces the theme's/WooCommerce's default rating. */
body.sasu-pe-rating-on .summary > .woocommerce-product-rating,
body.sasu-pe-rating-on .summary-inner > .woocommerce-product-rating { display: none !important; }

/* Optional (Settings > Stock): hide the SF-04 "Low Stock Urgency" snippet badge. */
body.sasu-pe-hide-urgency #sasu-sf-stock-urgency-wrapper { display: none !important; }

/* Keep floating widgets clear of the sticky bar while it is showing. */
body.sasu-pe-bar-on .scrollToTop { bottom: calc(var(--sasu-pe-tb, 0px) + var(--sasu-pe-bar-h, 0px) + 16px) !important; }

/* ------------------------------------------------------------ scroll reveal */
/* Applied only by JS (initReveal(), and only when the visitor has no reduced-motion preference), so an element
   without JS or with reduced motion enabled is simply never given this class and stays normally visible - no
   layout shift either way, since only opacity/transform change, never size or position in the flow. */
.sasu-pe-reveal { opacity: 0; transform: translateY(10px); transition: opacity .45s var(--sasu-pe-ease), transform .45s var(--sasu-pe-ease); }
.sasu-pe-reveal-in { opacity: 1; transform: none; }

/* ------------------------------------------------------------ motion */
@media (prefers-reduced-motion: reduce) {
	.sasu-pe-share__btn,
	.sasu-pe-share__icon,
	.sasu-pe-share__done,
	.sasu-pe-share__btn::after,
	.sasu-pe-buy-now,
	.sasu-pe-ig-link,
	.sasu-pe-sticky,
	.sasu-pe-sticky__atc,
	.sasu-pe-sticky__buy,
	.sasu-pe-rating__toggle,
	.sasu-pe-toast { transition: none !important; }
	.sasu-pe-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.sasu-pe-viewers,
	.sasu-pe-breakdown { animation: none !important; }
}
