/* Product page widgets (AW Product Hero, Details, Reviews, Showroom Card). Tokens come from ws-widgets.css. */

/* ---------- Hero: layout ---------- */
body .wsw-pdp {
	--wsw-pdp-media: 54%; --wsw-pdp-gap: 56px; --wsw-pdp-top: 24px; --wsw-pdp-r: 20px;
	--wsw-pdp-accent: var(--wsw-orange, #F59A57); --wsw-pdp-accent-d: var(--wsw-orange-d, #E27A30);
	--wsw-g-bg: #F3ECE3; --wsw-pdp-panel: #FBF7F2; --wsw-pdp-line: #E7E2DB; --wsw-pdp-ok: #2F8A55;
	--wsw-g-ratio: 1 / 1; --wsw-g-fit: cover; --wsw-pdp-lines: 3; --wsw-pdp-head: 0px;
	--wd-otl-style: solid; --wd-otl-width: 2px; --wd-otl-offset: 2px; --wd-otl-color: var(--wsw-pdp-accent);
	font-family: var(--wsw-body); color: var(--wsw-dark);
}
body .wsw-pdp *, body .wsw-pdp *::before, body .wsw-pdp *::after { box-sizing: border-box; }
body .wsw-pdp button { font-family: inherit; }
body .wsw-pdp__grid { display: grid; grid-template-columns: minmax(0, var(--wsw-pdp-media)) minmax(0, 1fr); gap: var(--wsw-pdp-gap); align-items: start; }
body .wsw-pdp__media { position: sticky; top: calc(var(--wsw-pdp-top) + var(--wsw-pdp-head)); min-width: 0; }
@media (min-width: 783px) {
	body.admin-bar .wsw-pdp__media { top: calc(var(--wsw-pdp-top) + var(--wsw-pdp-head) + 32px); }
	body.admin-bar .wsw-rvw__side { top: 56px; }
}
/* The template sets its own spacing, so the theme's padding around the page content is not needed */
body main.wd-content-layout:has(.wsw-pdp) { padding-top: 0; padding-bottom: 0; }
body .wsw-pdp__info { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

/* Breadcrumb */
body .wsw-pdp__crumbs { margin: 0 0 20px; }
body .wsw-pdp__crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 1.4; color: var(--wsw-light); }
body .wsw-pdp__crumbs li { display: inline-flex; align-items: center; gap: 6px; margin: 0; min-width: 0; }
body .wsw-pdp__crumbs a { color: var(--wsw-muted); text-decoration: none !important; transition: color var(--wsw-speed, 250ms) var(--wsw-ease); }
body .wsw-pdp__crumbs a:hover { color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__crumbs .wsw-svg { color: #B9B4AC; }
body .wsw-pdp__crumbs [aria-current] { color: var(--wsw-dark); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46ch; }
body .wsw-pdp__notices:empty { display: none; }
body .wsw-pdp__notices .woocommerce-message, body .wsw-pdp__notices .woocommerce-error, body .wsw-pdp__notices .woocommerce-info { margin: 0 0 20px; border-radius: 12px; }

/* ---------- Gallery ---------- */
body .wsw-g { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
body .wsw-g--multi { grid-template-columns: 76px minmax(0, 1fr); }
body .wsw-g__thumbs { display: flex; flex-direction: column; gap: 10px; max-height: 100%; overflow-y: auto; scrollbar-width: none; }
body .wsw-g__thumbs::-webkit-scrollbar { display: none; }
body .wsw-g__thumb { position: relative; flex: none; width: 76px; aspect-ratio: 1 / 1; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: var(--wsw-g-bg); cursor: pointer; opacity: .72; transition: opacity var(--wsw-speed, 250ms) var(--wsw-ease), box-shadow var(--wsw-speed, 250ms) var(--wsw-ease); }
body .wsw-g__thumb::after { content: ""; position: absolute; inset: 0; border: 1.5px solid var(--wsw-pdp-line); border-radius: inherit; transition: border-color var(--wsw-speed, 250ms) var(--wsw-ease); }
body .wsw-g__thumb:hover { opacity: 1; }
body .wsw-g__thumb.is-active { opacity: 1; }
body .wsw-g__thumb.is-active::after { border: 2px solid var(--wsw-pdp-accent); }
body .wsw-g__timg { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
body .wsw-g__stage { position: relative; min-width: 0; overflow: hidden; border-radius: var(--wsw-pdp-r); background: var(--wsw-g-bg); isolation: isolate; }
body .wsw-g__track { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; outline: none; }
body .wsw-g__track::-webkit-scrollbar { display: none; }
body .wsw-g__slide { position: relative; flex: 0 0 100%; margin: 0; aspect-ratio: var(--wsw-g-ratio); scroll-snap-align: center; scroll-snap-stop: always; cursor: zoom-in; }
body .wsw-g__img, body .wsw-g__slide img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: var(--wsw-g-fit); transition: opacity 300ms ease; }
body .wsw-g__slide--ph { cursor: default; }
body .wsw-g__lens { position: absolute; inset: 0; z-index: 2; background-repeat: no-repeat; background-color: var(--wsw-g-bg); opacity: 0; pointer-events: none; transition: opacity 220ms ease; }
body .wsw-g.is-zoom .wsw-g__lens { opacity: 1; }
body .wsw-g.is-zoom .wsw-g__acts, body .wsw-g.is-zoom .wsw-g__badges, body .wsw-g.is-zoom .wsw-g__arrow, body .wsw-g.is-zoom .wsw-g__foot { opacity: 0; }
body .wsw-g__badges { position: absolute; top: 16px; left: 16px; z-index: 3; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 90px); pointer-events: none; transition: opacity 200ms ease; }
body .wsw-g__badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: #fff; color: var(--wsw-pdp-accent-d); font-family: var(--wsw-head); font-weight: 600; font-size: 12.5px; line-height: 1; box-shadow: 0 4px 12px rgba(30, 34, 38, .08); }
body .wsw-g__acts { position: absolute; top: 14px; right: 14px; z-index: 3; display: flex; flex-direction: column; gap: 8px; transition: opacity 200ms ease; }
body .wsw-g__acts .wsw-act { width: 40px; height: 40px; border: 0; padding: 0; cursor: pointer; box-shadow: 0 4px 12px rgba(30, 34, 38, .1); }
body .wsw-g__acts .wsw-act:hover { color: var(--wsw-pdp-accent-d); background: #FEF1E6; }
body .wsw-g__acts .wsw-act::after { right: calc(100% + 10px); }
body .wsw-g__arrow { position: absolute; top: 50%; z-index: 3; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: -22px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--wsw-dark); cursor: pointer; opacity: 0; box-shadow: 0 6px 16px rgba(30, 34, 38, .12); transition: opacity 200ms ease, transform 200ms var(--wsw-ease), background-color 200ms ease; }
body .wsw-g__arrow--prev { left: 14px; transform: translateX(-6px); }
body .wsw-g__arrow--next { right: 14px; transform: translateX(6px); }
body .wsw-g__stage:hover .wsw-g__arrow, body .wsw-g__arrow:focus-visible { opacity: 1; transform: none; }
body .wsw-g__arrow:hover { background: #fff; color: var(--wsw-pdp-accent-d); }
body .wsw-g__arrow[disabled] { opacity: 0 !important; pointer-events: none; }
body .wsw-g__foot { position: absolute; right: 14px; bottom: 14px; left: 14px; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 8px; pointer-events: none; transition: opacity 200ms ease; }
body .wsw-g__count { padding: 6px 11px; border-radius: 999px; background: rgba(30, 34, 38, .62); color: #fff; font-family: var(--wsw-head); font-size: 12.5px; line-height: 1; letter-spacing: .3px; }
body .wsw-g__count b { font-weight: 600; }
body .wsw-g__expand { margin-left: auto; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--wsw-dark); cursor: pointer; pointer-events: auto; box-shadow: 0 4px 12px rgba(30, 34, 38, .1); transition: color 200ms ease, transform 200ms var(--wsw-ease); }
body .wsw-g__expand:hover { color: var(--wsw-pdp-accent-d); transform: scale(1.06); }
body .wsw-g__dots { display: none; }

/* ---------- Title block ---------- */
body .wsw-pdp__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 22px; }
body .wsw-pdp__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
body .wsw-pdp__cat, body .wsw-pdp__brand { font-family: var(--wsw-body); font-weight: 600; font-size: 13px; line-height: 1.3; letter-spacing: 1.4px; text-transform: uppercase; text-decoration: none !important; }
body .wsw-pdp__cat { color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__brand { color: var(--wsw-muted); }
body a.wsw-pdp__cat:hover, body a.wsw-pdp__brand:hover { color: var(--wsw-dark); }
body .wsw-pdp__dot { width: 4px; height: 4px; border-radius: 50%; background: #CFC8BF; }
body .wsw-pdp__rating { flex: none; display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; border-radius: 999px; background: #FEF1E6; color: var(--wsw-pdp-accent-d); font-size: 13px; line-height: 1; text-decoration: none !important; }
body .wsw-pdp__rating b { color: var(--wsw-dark); font-family: var(--wsw-head); font-weight: 600; }
body .wsw-pdp__rating span { color: var(--wsw-muted); }
body .wsw-pdp__title { margin: -6px 0 0; font-family: var(--wsw-head); font-weight: 600; font-size: 30px; line-height: 1.22; letter-spacing: -.3px; color: var(--wsw-dark); text-wrap: balance; }
body .wsw-pdp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: -8px; }
body .wsw-pdp__code { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 6px 10px; border: 1px solid var(--wsw-pdp-line); border-radius: 8px; background: #fff; color: var(--wsw-muted); font-size: 13px; line-height: 1; cursor: copy; transition: border-color 200ms ease, color 200ms ease; }
body .wsw-pdp__code b { color: var(--wsw-dark); font-weight: 600; letter-spacing: .2px; }
body .wsw-pdp__code .wsw-svg { color: var(--wsw-light); }
body .wsw-pdp__code:hover { border-color: var(--wsw-pdp-accent); }
body .wsw-pdp__code.is-copied { border-color: var(--wsw-pdp-ok); color: var(--wsw-pdp-ok); }
body .wsw-pdp__stock { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; line-height: 1; }
body .wsw-pdp__stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent); }
body .wsw-pdp__stock.is-in { color: var(--wsw-pdp-ok); }
body .wsw-pdp__stock.is-out { color: #C0392B; }
body .wsw-pdp__stock.is-back { color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__excerpt { font-size: 15px; line-height: 1.65; color: var(--wsw-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--wsw-pdp-lines); overflow: hidden; }
body .wsw-pdp__excerpt p { margin: 0 0 .6em; }
body .wsw-pdp__excerpt p:last-child { margin: 0; }
body .wsw-pdp__more { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; margin-top: -12px; font-family: var(--wsw-head); font-weight: 600; font-size: 14px; color: var(--wsw-pdp-accent-d); text-decoration: none !important; }
body .wsw-pdp__more:hover { color: var(--wsw-dark); }

/* ---------- Price ---------- */
body .wsw-pdp__price { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; border-radius: 16px; background: var(--wsw-pdp-panel); }
body .wsw-pdp__price-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
body .wsw-pdp__amount { font-family: var(--wsw-head); font-weight: 600; font-size: 32px; line-height: 1.1; letter-spacing: -.4px; color: var(--wsw-dark); }
body .wsw-pdp__amount--na { font-size: 24px; }
body .wsw-pdp__unit { font-size: 15px; color: var(--wsw-muted); }
body .wsw-pdp__persq { margin-left: auto; padding: 6px 10px; border-radius: 8px; background: #fff; box-shadow: inset 0 0 0 1px var(--wsw-pdp-line); font-family: var(--wsw-head); font-weight: 600; font-size: 13.5px; line-height: 1; color: var(--wsw-dark); }
body .wsw-pdp__price-sub { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; line-height: 1.45; color: var(--wsw-dark); }
body .wsw-pdp__price-sub .wsw-svg { color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__price-note { margin: 0; font-size: 12.5px; line-height: 1.4; color: var(--wsw-light); }

/* ---------- Key detail chips ---------- */
body .wsw-pdp__specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
body .wsw-pdp__spec { display: flex; align-items: flex-start; gap: 10px; min-width: 0; margin: 0; padding: 11px 12px; border: 1px solid var(--wsw-pdp-line); border-radius: 12px; background: #fff; }
body .wsw-pdp__spec-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9px; background: #FEF1E6; color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__spec-tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
body .wsw-pdp__spec-tx small { font-size: 11px; line-height: 1.2; letter-spacing: .6px; text-transform: uppercase; color: var(--wsw-light); }
body .wsw-pdp__spec-tx b { font-family: var(--wsw-head); font-weight: 500; font-size: 14px; line-height: 1.3; color: var(--wsw-dark); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }

/* ---------- Tile calculator ---------- */
body .wsw-calc { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; border: 1px solid var(--wsw-pdp-line); border-radius: 16px; background: #fff; }
body .wsw-calc__head { display: flex; align-items: center; gap: 12px; }
body .wsw-calc__ic { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--wsw-dark); color: #fff; }
body .wsw-calc__head div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
body .wsw-calc__title { font-family: var(--wsw-head); font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--wsw-dark); }
body .wsw-calc__note { font-size: 13px; line-height: 1.35; color: var(--wsw-muted); }
body .wsw-calc__bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
body .wsw-calc__modes, body .wsw-calc__units { display: inline-flex; padding: 3px; border-radius: 10px; background: var(--wsw-pdp-panel); box-shadow: inset 0 0 0 1px var(--wsw-pdp-line); }
body .wsw-calc__modes button, body .wsw-calc__units button { height: 32px; margin: 0; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; color: var(--wsw-muted); font-family: var(--wsw-head); font-weight: 500; font-size: 13.5px; line-height: 1; cursor: pointer; transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease; }
body .wsw-calc__units button { padding: 0 11px; }
body .wsw-calc__modes button.is-active, body .wsw-calc__units button.is-active { background: #fff; color: var(--wsw-dark); box-shadow: 0 1px 3px rgba(30, 34, 38, .12); }
body .wsw-calc__fields { display: flex; align-items: flex-end; gap: 10px; }
body .wsw-calc__field { flex: 1 1 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; position: relative; }
body .wsw-calc__field[hidden], body .wsw-calc__x[hidden] { display: none; }
body .wsw-calc__field span { font-size: 12.5px; font-weight: 600; color: var(--wsw-muted); }
body .wsw-calc__field input { width: 100%; height: 48px; margin: 0; padding: 0 52px 0 14px; border: 1.5px solid var(--wsw-pdp-line); border-radius: 12px; background: #fff; color: var(--wsw-dark); font-family: var(--wsw-head); font-weight: 600; font-size: 17px; box-shadow: none; -moz-appearance: textfield; transition: border-color 200ms ease, box-shadow 200ms ease; }
body .wsw-calc__field input::-webkit-outer-spin-button, body .wsw-calc__field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body .wsw-calc__field input:focus { outline: none; border-color: var(--wsw-pdp-accent); box-shadow: 0 0 0 4px rgba(245, 154, 87, .18); }
body .wsw-calc__field input::placeholder { color: #C3BDB5; font-weight: 500; }
body .wsw-calc__field em { position: absolute; right: 14px; bottom: 15px; font-style: normal; font-size: 13px; color: var(--wsw-light); pointer-events: none; }
body .wsw-calc__x { flex: none; display: flex; align-items: center; height: 48px; color: var(--wsw-light); }
body .wsw-calc__waste { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13.5px; line-height: 1.35; color: var(--wsw-dark); cursor: pointer; user-select: none; }
body .wsw-calc__waste input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body .wsw-calc__tick { flex: none; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1.5px solid #C9C2B8; border-radius: 6px; color: transparent; background: #fff; transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease; }
body .wsw-calc__waste input:checked + .wsw-calc__tick { border-color: var(--wsw-pdp-accent); background: var(--wsw-pdp-accent); color: var(--wsw-dark); }
body .wsw-calc__waste input:focus-visible + .wsw-calc__tick { outline: 2px solid var(--wsw-pdp-accent-d); outline-offset: 2px; }
body .wsw-calc__out { display: flex; flex-direction: column; gap: 12px; padding-top: 14px; border-top: 1px dashed var(--wsw-pdp-line); animation: wsw-calc-in 280ms var(--wsw-ease); }
body .wsw-calc__out[hidden] { display: none; }
@keyframes wsw-calc-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
body .wsw-calc__res { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 10px; }
body .wsw-calc__need, body .wsw-calc__stat { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 10px 12px; border-radius: 12px; background: var(--wsw-pdp-panel); }
body .wsw-calc__need { background: #FEF1E6; }
body .wsw-calc__res small { font-size: 11.5px; letter-spacing: .5px; text-transform: uppercase; color: var(--wsw-muted); }
body .wsw-calc__res b { font-family: var(--wsw-head); font-weight: 600; font-size: 18px; line-height: 1.2; color: var(--wsw-dark); }
body .wsw-calc__need span { font-size: 12.5px; color: var(--wsw-muted); }
body .wsw-calc__min { margin: 0; font-size: 12.5px; color: var(--wsw-pdp-accent-d); }
body .wsw-calc__min[hidden] { display: none; }
body .wsw-calc__use { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 48px; margin: 0; padding: 0 18px; border: 0; border-radius: 12px; background: var(--wsw-dark); color: #fff; font-family: var(--wsw-head); font-weight: 600; font-size: 15px; cursor: pointer; transition: background-color var(--wsw-speed, 250ms) var(--wsw-ease), color var(--wsw-speed, 250ms) var(--wsw-ease), transform 120ms ease; }
body .wsw-calc__use:hover { background: var(--wsw-pdp-accent); color: var(--wsw-dark); }
body .wsw-calc__use:active { transform: translateY(1px); }
body .wsw-calc__use.is-wa { background: #25D366; color: #fff; }
body .wsw-calc__use.is-wa:hover { background: #1EBE5A; color: #fff; }

/* ---------- Buy: WooCommerce add to cart form, styled ---------- */
body .wsw-pdp__buy .stock, body .wsw-pdp__buy .wa-order-class, body .wsw-pdp__buy .wcmmq-custom-message { display: none !important; }
body .wsw-pdp__buy form.cart { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body .wsw-pdp__buy form.cart > * { margin: 0 !important; }
body .wsw-pdp__buy form.cart .quantity { grid-column: span 2; display: flex !important; align-items: center; justify-content: space-between; height: 56px; padding: 0 4px; border: 1.5px solid var(--wsw-pdp-line); border-radius: 12px; background: #fff; }
body .wsw-pdp__buy form.cart .quantity .minus, body .wsw-pdp__buy form.cart .quantity .plus { flex: none; width: 40px; height: 40px; min-width: 0; margin: 0; padding: 0; border: 0 !important; border-radius: 9px; background: transparent !important; color: var(--wsw-dark) !important; font-size: 20px; font-weight: 500; line-height: 1; cursor: pointer; box-shadow: none !important; transition: background-color 200ms ease, color 200ms ease; }
body .wsw-pdp__buy form.cart .quantity .minus:hover, body .wsw-pdp__buy form.cart .quantity .plus:hover { background: #FEF1E6 !important; color: var(--wsw-pdp-accent-d) !important; }
body .wsw-pdp__buy form.cart .quantity input.qty { flex: 1 1 auto; width: 100%; min-width: 0; height: 40px; margin: 0; padding: 0; border: 0 !important; background: transparent !important; color: var(--wsw-dark); text-align: center; font-family: var(--wsw-head); font-weight: 600; font-size: 17px; box-shadow: none !important; -moz-appearance: textfield; }
body .wsw-pdp__buy form.cart .quantity input.qty::-webkit-outer-spin-button, body .wsw-pdp__buy form.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body .wsw-pdp__buy .single_add_to_cart_button, body .wsw-pdp__buy .wd-buy-now-btn, body .wsw-pdp__wa {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; height: 56px; min-height: 0; padding: 0 18px !important;
	border: 1.5px solid transparent !important; border-radius: 12px !important; font-family: var(--wsw-head) !important; font-weight: 600 !important; font-size: 16px !important; line-height: 1 !important;
	letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important; white-space: nowrap; cursor: pointer; box-shadow: none;
	transition: background-color var(--wsw-speed, 250ms) var(--wsw-ease), color var(--wsw-speed, 250ms) var(--wsw-ease), border-color var(--wsw-speed, 250ms) var(--wsw-ease), box-shadow var(--wsw-speed, 250ms) var(--wsw-ease), transform 120ms ease;
}
body .wsw-pdp__buy .single_add_to_cart_button { grid-column: span 4; background: var(--wsw-pdp-accent) !important; color: var(--wsw-dark) !important; box-shadow: 0 8px 10px rgba(245, 153, 87, .35) !important; }
body .wsw-pdp__buy .single_add_to_cart_button:hover { background: var(--wsw-pdp-accent-d) !important; box-shadow: 0 10px 12px rgba(245, 153, 87, .5) !important; }
body .wsw-pdp__buy .single_add_to_cart_button.loading { opacity: .85; }
body .wsw-pdp__buy .single_add_to_cart_button.is-pulse { animation: wsw-pulse 900ms var(--wsw-ease); }
@keyframes wsw-pulse { 0% { box-shadow: 0 0 0 0 rgba(245, 154, 87, .6); } 100% { box-shadow: 0 0 0 16px rgba(245, 154, 87, 0); } }
body .wsw-pdp__buy .wd-buy-now-btn { grid-column: span 3; background: var(--wsw-dark) !important; color: #fff !important; }
body .wsw-pdp__buy .wd-buy-now-btn:hover { background: var(--wsw-pdp-accent) !important; color: var(--wsw-dark) !important; }
body .wsw-pdp__wa { grid-column: span 3; background: #fff; border-color: #25D366 !important; color: #128C4A !important; }
body .wsw-pdp__wa:hover { background: #25D366; color: #fff !important; }
body .wsw-pdp__wa .wsw-svg { color: #25D366; transition: color 200ms ease; }
body .wsw-pdp__wa:hover .wsw-svg { color: #fff; }
body .wsw-pdp__buy form.cart:not(:has(.wd-buy-now-btn)) .wsw-pdp__wa { grid-column: span 6; }
body .wsw-pdp__buy .single_add_to_cart_button:active, body .wsw-pdp__buy .wd-buy-now-btn:active, body .wsw-pdp__wa:active { transform: translateY(1px); }
body .wsw-pdp__buy .added_to_cart { grid-column: 1 / -1; justify-self: start; font-family: var(--wsw-head); font-weight: 600; font-size: 14px; color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__ask { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body .wsw-pdp__ask .wsw-btn { width: 100%; height: 56px; border-radius: 12px; gap: 10px; }
body .wsw-pdp__ask .wsw-btn:only-child { grid-column: 1 / -1; }
body .wsw-pdp__ask-wa { background: #25D366 !important; color: #fff !important; box-shadow: 0 8px 14px rgba(37, 211, 102, .28) !important; }
body .wsw-pdp__ask-wa:hover { background: #1EBE5A !important; }

/* ---------- Promises ---------- */
body .wsw-pdp__promises { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; border: 1px solid var(--wsw-pdp-line); border-radius: 16px; overflow: hidden; }
body .wsw-pdp__promises li { margin: 0; }
body .wsw-pdp__promises li + li { border-top: 1px solid var(--wsw-pdp-line); }
body .wsw-pdp__promise { display: flex; align-items: center; gap: 14px; padding: 14px 16px; color: var(--wsw-dark); text-decoration: none !important; transition: background-color 200ms ease; }
body a.wsw-pdp__promise:hover { background: var(--wsw-pdp-panel); }
body .wsw-pdp__promise > .wsw-svg { margin-left: auto; color: var(--wsw-light); transition: transform 200ms var(--wsw-ease), color 200ms ease; }
body a.wsw-pdp__promise:hover > .wsw-svg { transform: translateX(3px); color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__promise-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #FEF1E6; color: var(--wsw-pdp-accent-d); }
body .wsw-pdp__promise-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body .wsw-pdp__promise-tx b { font-family: var(--wsw-head); font-weight: 600; font-size: 14.5px; line-height: 1.3; }
body .wsw-pdp__promise-tx small { font-size: 13px; line-height: 1.4; color: var(--wsw-muted); }

/* ---------- Sticky buy bar ---------- */
body .wsw-bar { --wsw-pdp-accent: var(--wsw-orange, #F59A57); --wsw-pdp-accent-d: var(--wsw-orange-d, #E27A30); --wsw-g-bg: #F3ECE3; position: fixed; right: 0; bottom: 0; left: 0; z-index: 9980; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); box-shadow: 0 -10px 30px rgba(30, 34, 38, .12); transform: translateY(110%); transition: transform 360ms cubic-bezier(.32, .72, 0, 1); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body .wsw-bar.is-on { transform: none; }
body .wsw-bar__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1360px; margin: 0 auto; }
body .wsw-bar__prod { display: flex; align-items: center; gap: 12px; min-width: 0; }
body .wsw-bar__img { flex: none; width: 48px !important; height: 48px !important; border-radius: 10px; object-fit: cover; background: var(--wsw-g-bg); }
body .wsw-bar__tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body .wsw-bar__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--wsw-head); font-weight: 600; font-size: 15px; line-height: 1.25; }
body .wsw-bar__price { font-size: 13px; color: var(--wsw-muted); white-space: nowrap; }
body .wsw-bar__price b { font-family: var(--wsw-head); font-weight: 600; font-size: 15px; color: var(--wsw-dark); }
body .wsw-bar__btns { flex: none; display: flex; align-items: center; gap: 10px; }
body .wsw-bar__cart { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; margin: 0; padding: 0 24px; border: 0; border-radius: 12px; background: var(--wsw-pdp-accent); color: var(--wsw-dark); font-family: var(--wsw-head); font-weight: 600; font-size: 15px; line-height: 1; text-decoration: none !important; cursor: pointer; transition: background-color 200ms ease; }
body .wsw-bar__cart:hover { background: var(--wsw-pdp-accent-d); color: var(--wsw-dark); }
body .wsw-bar__cart--wa { background: #25D366; color: #fff; }
body .wsw-bar__cart--wa:hover { background: #1EBE5A; color: #fff; }
body .wsw-bar__wa { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: #25D366; color: #fff; text-decoration: none !important; transition: background-color 200ms ease; }
body .wsw-bar__wa:hover { background: #1EBE5A; color: #fff; }
@media (min-width: 1025px) { body .wsw-bar:not(.wsw-bar--desk) { display: none; } }

/* ---------- Lightbox ---------- */
body .wsw-lb { position: fixed; inset: 0; z-index: 2147483100; display: flex; flex-direction: column; background: rgba(20, 22, 25, .96); color: #fff; opacity: 0; transition: opacity 260ms ease; }
body .wsw-lb.is-on { opacity: 1; }
body .wsw-lb[hidden] { display: none; }
body .wsw-lb__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; }
body .wsw-lb__count { font-family: var(--wsw-head); font-size: 14px; color: rgba(255, 255, 255, .8); }
body .wsw-lb__title { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--wsw-head); font-weight: 500; font-size: 15px; text-align: center; color: rgba(255, 255, 255, .9); }
body .wsw-lb__close, body .wsw-lb__arrow { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer; transition: background-color 200ms ease; }
body .wsw-lb__close:hover, body .wsw-lb__arrow:hover { background: rgba(255, 255, 255, .24); }
body .wsw-lb__main { position: relative; flex: 1; min-height: 0; }
body .wsw-lb__track { display: flex; height: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; }
body .wsw-lb__track::-webkit-scrollbar { display: none; }
body .wsw-lb__slide { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; padding: 8px 72px; scroll-snap-align: center; }
body .wsw-lb__slide img { display: block; max-width: 100%; max-height: 100%; width: auto !important; height: auto !important; object-fit: contain; border-radius: 8px; }
body .wsw-lb__arrow { position: absolute; top: 50%; margin-top: -22px; }
body .wsw-lb__arrow--prev { left: 16px; }
body .wsw-lb__arrow--next { right: 16px; }
body .wsw-lb__thumbs { display: flex; justify-content: center; gap: 8px; padding: 14px 16px 18px; overflow-x: auto; scrollbar-width: none; }
body .wsw-lb__thumbs button { flex: none; width: 56px; height: 56px; margin: 0; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 10px; background: #2A2D31; opacity: .55; cursor: pointer; transition: opacity 200ms ease, border-color 200ms ease; }
body .wsw-lb__thumbs button.is-active { opacity: 1; border-color: var(--wsw-orange, #F59A57); }
body .wsw-lb__thumbs img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
html.wsw-lb-open, html.wsw-lb-open body { overflow: hidden !important; }

/* ---------- Details ---------- */
body .wsw-pd { --wsw-pd-bg: #FBF7F2; --wsw-pd-card: #FFFFFF; --wsw-pd-accent: var(--wsw-orange, #F59A57); --wsw-pd-pad: 40px; --wsw-pd-cols: 4; padding: var(--wsw-pd-pad); border-radius: 24px; background: var(--wsw-pd-bg); color: var(--wsw-dark); font-family: var(--wsw-body); scroll-margin-top: 90px; }
body .wsw-pd *, body .wsw-pd *::before, body .wsw-pd *::after { box-sizing: border-box; }
body .wsw-pd__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-bottom: 24px; }
body .wsw-pd__title { position: relative; margin: 0; padding-left: 16px; font-family: var(--wsw-head); font-weight: 600; font-size: 28px; line-height: 1.2; color: var(--wsw-dark); }
body .wsw-pd__title::before { content: ""; position: absolute; top: 4px; bottom: 4px; left: 0; width: 4px; border-radius: 2px; background: var(--wsw-pd-accent); }
body .wsw-pd__tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
body .wsw-pd__tabs::-webkit-scrollbar { display: none; }
body .wsw-pd__tab { flex: none; height: 42px; margin: 0; padding: 0 18px; border: 1px solid transparent; border-radius: 999px; background: var(--wsw-pd-card); color: var(--wsw-muted); font-family: var(--wsw-head); font-weight: 500; font-size: 14.5px; line-height: 1; cursor: pointer; box-shadow: inset 0 0 0 1px #ECE5DB; transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease; }
body .wsw-pd__tab:hover { color: var(--wsw-dark); }
body .wsw-pd__tab.is-active { background: var(--wsw-dark); color: #fff; box-shadow: none; }
body .wsw-pd__tab:focus-visible { outline: 2px solid var(--wsw-pd-accent); outline-offset: 2px; }
body .wsw-pd__panel[hidden] { display: none; }
body .wsw-pd__panel { animation: wsw-calc-in 300ms var(--wsw-ease); }
body .wsw-pd__grid { display: grid; grid-template-columns: repeat(var(--wsw-pd-cols), minmax(0, 1fr)); gap: 12px; margin: 0; }
body .wsw-pd__cell { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 16px 18px; border-radius: 14px; background: var(--wsw-pd-card); box-shadow: inset 0 0 0 1px #EFE8DE; }
body .wsw-pd__cell--wide { grid-column: span 2; }
body .wsw-pd__cell dt { margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: .7px; text-transform: uppercase; color: var(--wsw-light); }
body .wsw-pd__cell dd { margin: 0; font-family: var(--wsw-head); font-weight: 500; font-size: 15.5px; line-height: 1.4; color: var(--wsw-dark); overflow-wrap: anywhere; }
body .wsw-pd__sub { display: flex; align-items: center; gap: 12px; margin: 28px 0 14px; font-family: var(--wsw-head); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--wsw-dark); }
body .wsw-pd__sub::after { content: ""; flex: 1; height: 1px; background: #E9E1D6; }
body .wsw-pd__uses ul { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
body .wsw-pd__uses li { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 104px; margin: 0; padding: 14px 8px 12px; border-radius: 14px; background: var(--wsw-pd-card); box-shadow: inset 0 0 0 1px #EFE8DE; text-align: center; font-family: var(--wsw-head); font-weight: 500; font-size: 13.5px; line-height: 1.25; }
body .wsw-pd__use-ic { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: #FEF1E6; color: var(--wsw-orange-t, #A84F0C); }
body .wsw-pd__text { max-width: 860px; font-size: 15.5px; line-height: 1.75; color: #3D4249; }
body .wsw-pd__text p { margin: 0 0 1em; }
body .wsw-pd__text p:last-child { margin-bottom: 0; }
body .wsw-pd__text ul, body .wsw-pd__text ol { margin: 0 0 1em 1.2em; padding: 0; }
body .wsw-pd__extra { max-width: 860px; }
body .wsw-pd__note { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid #ECE4D9; font-size: 15px; line-height: 1.6; color: #3D4249; }
body .wsw-pd__note b { font-family: var(--wsw-head); font-weight: 600; color: var(--wsw-dark); }
body .wsw-pd__note p { margin: 0; }
body .wsw-pd__faqs { display: flex; flex-direction: column; gap: 10px; max-width: 920px; }
body .wsw-faq { border-radius: 14px; background: var(--wsw-pd-card); box-shadow: inset 0 0 0 1px #EFE8DE; }
body .wsw-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; font-family: var(--wsw-head); font-weight: 600; font-size: 15.5px; line-height: 1.4; cursor: pointer; list-style: none; }
body .wsw-faq summary::-webkit-details-marker { display: none; }
body .wsw-faq__ic { flex: none; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #FEF1E6; color: var(--wsw-orange-t, #A84F0C); transition: transform 280ms var(--wsw-ease), background-color 200ms ease, color 200ms ease; }
body .wsw-faq[open] .wsw-faq__ic { transform: rotate(45deg); background: var(--wsw-dark); color: #fff; }
body .wsw-faq__a { padding: 0 18px 18px; font-size: 15px; line-height: 1.7; color: #3D4249; }
body .wsw-faq__a p { margin: 0 0 .8em; }
body .wsw-faq__a p:last-child { margin: 0; }

/* ---------- Reviews ---------- */
body .wsw-rvw { --wsw-rvw-star: var(--wsw-orange, #F59A57); --wsw-rvw-panel: #FBF7F2; display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 48px; align-items: start; color: var(--wsw-dark); font-family: var(--wsw-body); scroll-margin-top: 90px; }
body .wsw-rvw *, body .wsw-rvw *::before, body .wsw-rvw *::after { box-sizing: border-box; }
body .wsw-rvw__side { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px; }
body .wsw-rvw__title { margin: 0; font-family: var(--wsw-head); font-weight: 600; font-size: 28px; line-height: 1.2; }
body .wsw-rvw__sum { display: flex; flex-direction: column; gap: 18px; padding: 22px; border-radius: 20px; background: var(--wsw-rvw-panel); }
body .wsw-rvw__avg { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; }
body .wsw-rvw__avg > b { grid-row: span 2; font-family: var(--wsw-head); font-weight: 600; font-size: 46px; line-height: 1; }
body .wsw-rvw__avg > span { font-size: 13px; color: var(--wsw-muted); }
body .wsw-stars { --s: 16px; --r: 0; display: inline-block; width: calc(var(--s) * 5); height: var(--s); background: linear-gradient(90deg, var(--wsw-rvw-star, #F59A57) calc(var(--r) * 20%), #E3DDD4 0); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z'/%3E%3C/svg%3E") 0 0 / var(--s) var(--s) repeat-x; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z'/%3E%3C/svg%3E") 0 0 / var(--s) var(--s) repeat-x; }
body .wsw-stars .wsw-svg { display: none; }
body .wsw-rvw__avg .wsw-stars { --s: 18px; }
body .wsw-rvw__rate .wsw-stars { --s: 15px; }
body .wsw-rvw__bars { display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 0; list-style: none; }
body .wsw-rvw__bars li { display: grid; grid-template-columns: 32px 1fr 28px; align-items: center; gap: 10px; margin: 0; font-size: 13px; color: var(--wsw-muted); }
body .wsw-rvw__bars li > span { display: inline-flex; align-items: center; gap: 3px; color: var(--wsw-dark); font-weight: 600; }
body .wsw-rvw__bars li > span .wsw-svg { color: var(--wsw-rvw-star); }
body .wsw-rvw__bars i { height: 8px; overflow: hidden; border-radius: 4px; background: #ECE5DB; }
body .wsw-rvw__bars em { display: block; height: 100%; border-radius: 4px; background: var(--wsw-rvw-star); }
body .wsw-rvw__bars small { text-align: right; }
body .wsw-rvw__empty { margin: 0; font-size: 15px; line-height: 1.6; color: var(--wsw-muted); }
body .wsw-rvw__write, body .wsw-rvw__login { width: 100%; }
body .wsw-rvw__main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
body .wsw-rvw__list { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
body .wsw-rvw__item { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 20px 22px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px #ECE5DB; }
body .wsw-rvw__item[hidden] { display: none; }
body .wsw-rvw__who { display: flex; align-items: center; gap: 12px; }
body .wsw-rvw__av { flex: none; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #FEF1E6; color: var(--wsw-orange-t, #A84F0C); font-family: var(--wsw-head); font-weight: 600; font-size: 17px; }
body .wsw-rvw__who > div { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; min-width: 0; }
body .wsw-rvw__who b { font-family: var(--wsw-head); font-weight: 600; font-size: 15px; }
body .wsw-rvw__who time { flex-basis: 100%; font-size: 12.5px; color: var(--wsw-light); }
body .wsw-rvw__ver { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: #2F8A55; }
body .wsw-rvw__text { font-size: 15px; line-height: 1.7; color: #3D4249; }
body .wsw-rvw__text p { margin: 0 0 .7em; }
body .wsw-rvw__text p:last-child { margin: 0; }
body .wsw-rvw__more { align-self: center; }
/* No reviews yet: one row with the note and the button instead of an empty second column */
body .wsw-rvw--empty { grid-template-columns: minmax(0, 1fr); gap: 20px; }
body .wsw-rvw--empty .wsw-rvw__side { position: static; }
body .wsw-rvw--empty .wsw-rvw__sum { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 26px; }
body .wsw-rvw--empty .wsw-rvw__empty { max-width: 640px; }
body .wsw-rvw--empty .wsw-rvw__write, body .wsw-rvw--empty .wsw-rvw__login { flex: none; width: auto; }
body .wsw-rvw--empty .wsw-rvw__main:not(:has(.wsw-rvw__form:not([hidden]))) { display: none; }
body .wsw-rvw__form { padding: 22px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px #ECE5DB; }
body .wsw-rvw__form[hidden] { display: none; }
body .wsw-rvw__form .comment-respond { margin: 0; padding: 0; border: 0; }
body .wsw-rvw__ftitle { margin: 0 0 14px; font-family: var(--wsw-head); font-weight: 600; font-size: 18px; }
body .wsw-rvw__ftitle small { display: none; }
body .wsw-rvw__f { display: flex; flex-direction: column; gap: 14px; margin: 0; }
body .wsw-rvw__stars { margin: 0; padding: 0; border: 0; }
body .wsw-rvw__stars legend { margin-bottom: 6px; padding: 0; font-size: 13px; font-weight: 600; color: var(--wsw-muted); }
body .wsw-rvw__pick { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
body .wsw-rvw__pick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body .wsw-rvw__pick label { margin: 0; color: #DCD5CB; cursor: pointer; transition: color 150ms ease, transform 150ms ease; }
body .wsw-rvw__pick label:hover, body .wsw-rvw__pick label:hover ~ label, body .wsw-rvw__pick input:checked ~ label { color: var(--wsw-rvw-star); }
body .wsw-rvw__pick label:hover { transform: scale(1.1); }
body .wsw-rvw__pick input:focus-visible + label { outline: 2px solid var(--wsw-orange-d, #E27A30); outline-offset: 2px; border-radius: 4px; }
body .wsw-rvw__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
body .wsw-rvw__field label { font-size: 13px; font-weight: 600; color: var(--wsw-muted); }
body .wsw-rvw__field textarea { width: 100%; min-height: 120px; padding: 12px 14px; border: 1.5px solid #E7E2DB; border-radius: 12px; font-family: var(--wsw-body); font-size: 15px; line-height: 1.6; color: var(--wsw-dark); resize: vertical; }
body .wsw-rvw__field textarea:focus { outline: none; border-color: var(--wsw-orange, #F59A57); box-shadow: 0 0 0 4px rgba(245, 154, 87, .18); }
body .wsw-rvw__f .form-submit { margin: 0; }

/* ---------- Showroom card ---------- */
body .wsw-sr { --wsw-sr-bg: #1E2226; --wsw-sr-fg: #FFFFFF; --wsw-sr-accent: var(--wsw-orange, #F59A57); display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; border-radius: 24px; background: var(--wsw-sr-bg); color: var(--wsw-sr-fg); font-family: var(--wsw-body); }
body .wsw-sr--img { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body .wsw-sr__media { position: relative; min-height: 320px; overflow: hidden; }
body .wsw-sr__img { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform 900ms var(--wsw-ease); }
body .wsw-sr:hover .wsw-sr__img { transform: scale(1.04); }
body .wsw-sr__body { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 44px 48px; }
body .wsw-sr__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 12.5px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--wsw-sr-accent); }
body .wsw-sr__title { margin: 0; font-family: var(--wsw-head); font-weight: 600; font-size: 30px; line-height: 1.2; color: inherit; }
body .wsw-sr__text { margin: 0; font-size: 15.5px; line-height: 1.65; color: color-mix(in srgb, var(--wsw-sr-fg) 78%, transparent); }
body .wsw-sr__lines { display: flex; flex-direction: column; gap: 10px; margin: 4px 0 0; padding: 0; list-style: none; }
body .wsw-sr__lines li { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 14.5px; line-height: 1.5; color: color-mix(in srgb, var(--wsw-sr-fg) 88%, transparent); }
body .wsw-sr__lines .wsw-svg { margin-top: 2px; color: var(--wsw-sr-accent); }
body .wsw-sr__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
body .wsw-sr__btns .wsw-btn { gap: 8px; }
body .wsw-sr__wa .wsw-svg { color: #25D366; }
body .wsw-sr__wa:hover .wsw-svg { color: inherit; }

/* ---------- Tablet and phone ---------- */
@media (max-width: 1024px) {
	body .wsw-pdp__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body .wsw-pdp__media { position: relative; top: auto; }
	body .wsw-g--multi { grid-template-columns: minmax(0, 1fr); }
	body .wsw-g__thumbs { order: 2; flex-direction: row; overflow-x: auto; overflow-y: hidden; padding-bottom: 2px; }
	body .wsw-g__thumb { width: 68px; }
	body .wsw-g__arrow { display: none; }
	body .wsw-g__slide { cursor: default; }
	body .wsw-pd__cell--wide { grid-column: span 2; }
	body .wsw-rvw { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body .wsw-rvw__side { position: static; }
	body .wsw-sr--img { grid-template-columns: minmax(0, 1fr); }
	body .wsw-sr__media { min-height: 240px; }
	body .wsw-sr__body { padding: 32px; }
	body.sticky-toolbar-on .wsw-bar { bottom: 55px; padding-bottom: 10px; }
}
@media (max-width: 767px) {
	body .wsw-pdp__crumbs { margin-bottom: 12px; }
	body .wsw-pdp__crumbs [aria-current] { max-width: 22ch; }
	body .wsw-pdp__media { margin: 0 -16px; }
	body .wsw-g__stage { border-radius: 0; }
	body .wsw-g__thumbs { padding: 0 16px 2px; }
	body .wsw-g__thumb { width: 60px; border-radius: 10px; }
	body .wsw-g__badges { top: 12px; left: 12px; }
	body .wsw-g__acts { top: 10px; right: 10px; }
	body .wsw-g__acts .wsw-act { width: 38px; height: 38px; }
	body .wsw-g__acts .wsw-act::after { display: none; }
	body .wsw-g__foot { right: 12px; bottom: 12px; left: 12px; }
	body .wsw-pdp__info { gap: 16px; }
	body .wsw-pdp__title { font-size: 22px; margin-top: -4px; }
	body .wsw-pdp__amount { font-size: 26px; }
	body .wsw-pdp__price, body .wsw-calc { padding: 16px; }
	body .wsw-pdp__persq { margin-left: 0; }
	body .wsw-pdp__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	body .wsw-pdp__spec { padding: 10px; gap: 8px; }
	body .wsw-pdp__spec-ic { width: 28px; height: 28px; }
	body .wsw-calc__bar { flex-wrap: wrap; }
	body .wsw-calc__res { grid-template-columns: 1fr 1fr; }
	body .wsw-calc__need { grid-column: 1 / -1; }
	body .wsw-pdp__buy form.cart { gap: 10px; }
	body .wsw-pdp__buy form.cart .quantity, body .wsw-pdp__buy .single_add_to_cart_button, body .wsw-pdp__buy .wd-buy-now-btn, body .wsw-pdp__wa { height: 52px; font-size: 15px !important; }
	body .wsw-pdp__buy .single_add_to_cart_button, body .wsw-pdp__buy .wd-buy-now-btn, body .wsw-pdp__wa { padding: 0 12px !important; }
	/* Phones: Buy now gets the width, WhatsApp becomes a square icon button (its label stays for screen readers) */
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wd-buy-now-btn { grid-column: span 5; }
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wsw-pdp__wa { position: relative; grid-column: span 1; padding: 0 !important; }
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wsw-pdp__wa span { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wsw-pdp__wa .wsw-svg { width: 23px; height: 23px; }
	body .wsw-pdp__ask { grid-template-columns: 1fr; }
	body .wsw-bar { padding-left: 12px; padding-right: 12px; }
	body .wsw-bar__img { width: 42px !important; height: 42px !important; }
	body .wsw-bar__cart { height: 46px; padding: 0 16px; }
	body .wsw-bar__wa { width: 46px; height: 46px; }
	body .wsw-pd { border-radius: 20px; }
	body .wsw-pd__title { font-size: 22px; }
	body .wsw-pd__head { margin-bottom: 18px; }
	body .wsw-pd__tab { height: 38px; padding: 0 14px; font-size: 13.5px; }
	body .wsw-pd__cell { padding: 12px 14px; }
	body .wsw-pd__cell dd { font-size: 14.5px; }
	body .wsw-pd__note { grid-template-columns: minmax(0, 1fr); gap: 4px; }
	body .wsw-pd__uses li { width: calc(33.333% - 8px); }
	body .wsw-rvw__title { font-size: 22px; }
	body .wsw-rvw__sum { padding: 18px; }
	body .wsw-rvw__item { padding: 16px; }
	body .wsw-sr { border-radius: 20px; }
	body .wsw-sr__body { padding: 24px 20px 26px; }
	body .wsw-sr__title { font-size: 23px; }
	body .wsw-sr__btns .wsw-btn { flex: 1 1 calc(50% - 5px); padding-left: 12px; padding-right: 12px; }
	body .wsw-sr__btns .wsw-btn:first-child { flex-basis: 100%; }
	body .wsw-rvw--empty .wsw-rvw__sum { flex-direction: column; align-items: stretch; gap: 16px; padding: 18px; }
	body .wsw-rvw--empty .wsw-rvw__write, body .wsw-rvw--empty .wsw-rvw__login { width: 100%; }
	body .wsw-lb__slide { padding: 8px; }
	body .wsw-lb__arrow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	body .wsw-pdp *, body .wsw-pd *, body .wsw-rvw *, body .wsw-bar, body .wsw-lb { transition-duration: 1ms !important; animation-duration: 1ms !important; scroll-behavior: auto !important; }
}


/* ==================== UX audit fixes, Oct 2026 (refs P1 to P8) ==================== */
/* P1: bracketed size and finish sit under a two line title */
body .wsw-pdp__subtitle { display: block; margin-top: 6px; font-family: var(--wsw-body); font-weight: 500; font-size: 15px; line-height: 1.4; letter-spacing: 0; color: var(--wsw-muted); text-wrap: pretty; }
/* P2: per sq ft price leads; box price on the line below */
body .wsw-pdp__price-box { color: var(--wsw-dark); }
/* P4: the calculator button hides once it fills the quantity itself */
body .wsw-calc__use[hidden] { display: none; }
/* P6: Google rating instead of an empty review block */
body .wsw-rvw__google { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
body .wsw-rvw__google b { font-family: var(--wsw-head); font-weight: 600; font-size: 28px; line-height: 1; color: var(--wsw-dark); }
body .wsw-rvw__google .wsw-rvw__gtxt { flex: 1 1 220px; font-size: 14.5px; line-height: 1.5; color: var(--wsw-muted); }
body .wsw-rvw__glink { display: inline-flex; align-items: center; gap: 6px; font-family: var(--wsw-head); font-weight: 600; font-size: 14px; color: var(--wsw-pdp-accent-d, #E27A30); text-decoration: none !important; }
body .wsw-rvw__glink:hover { color: var(--wsw-dark); }
/* P7: buy bar shows price per sq ft with the box price under it */
body .wsw-bar__price small { display: block; font-size: 12px; line-height: 1.3; color: var(--wsw-muted); }
@media (max-width: 1024px) {
	/* P7: price only in the phone buy bar, so Add to cart and WhatsApp both fit */
	body .wsw-bar__name { display: none; }
	/* P7: the main bottom bar always stays on. The buy bar sits just above it and slides out from behind it. */
	body.sticky-toolbar-on .wsw-bar { bottom: 55px; z-index: 349; padding-bottom: 10px; }
	html.wsw-bar-on body.sticky-toolbar-on .scrollToTop { bottom: 133px; }
	body.sticky-toolbar-on:has(.wsw-bar) { padding-bottom: 121px; }
}

/* Hidden bar never catches taps or peeks over the mobile bottom bar: while it is off it moves fully off screen and is hidden, so taps reach the bottom bar items exactly as shown. */
body .wsw-bar:not(.is-on) { visibility: hidden; transform: translateY(calc(100% + 90px)); transition: transform 360ms cubic-bezier(.32, .72, 0, 1), visibility 0s linear 360ms; }
body .wsw-bar.is-on { visibility: visible; transition: transform 360ms cubic-bezier(.32, .72, 0, 1), visibility 0s; }
/* Mobile: the WhatsApp order button gets its own full width row with its label, like desktop, so buyers see they can order on WhatsApp. */
@media (max-width: 767px) {
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wd-buy-now-btn { grid-column: span 6; }
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wsw-pdp__wa { grid-column: span 6; padding: 0 12px !important; }
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wsw-pdp__wa span { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: nowrap; }
	body .wsw-pdp__buy form.cart:has(.wd-buy-now-btn) .wsw-pdp__wa .wsw-svg { width: 21px; height: 21px; }
}

/* P1: on short laptop screens (1366 x 768) the whole price box clears the buy bar on the first screen */
@media (min-width: 1025px) and (max-height: 760px) {
	body .wsw-pdp__info { gap: 14px; }
}

/* Small phones: the buy bar price never runs under Add to cart */
body .wsw-bar__prod, body .wsw-bar__tx { min-width: 0; }
@media (max-width: 389px) {
	body .wsw-bar__in { gap: 10px; }
	body .wsw-bar__prod { gap: 8px; }
	body .wsw-bar__img { width: 40px !important; height: 40px !important; }
	body .wsw-bar .wsw-bar__cart { padding-left: 12px !important; padding-right: 12px !important; }
}
@media (max-width: 359px) {
	body .wsw-bar__img { display: none; }
}

/* P6: real Google reviews under the showroom rating when a product has no reviews yet */
body .wsw-rvw__gq { list-style: none; display: grid; gap: 12px; margin: 16px 0 0; padding: 0; }
body .wsw-rvw__gqi { margin: 0; padding: 16px; border: 1px solid #ECE7E0; border-radius: 14px; background: #fff; }
body .wsw-rvw__gqh { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
body .wsw-rvw__gqh > :last-child { flex: none; }
body .wsw-rvw__gav { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #FEF1E6; color: var(--wsw-dark, #1F2228); font-family: var(--wsw-head); font-weight: 600; font-size: 15px; }
body .wsw-rvw__gqn { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; }
body .wsw-rvw__gqn b { font-family: var(--wsw-head); font-size: 15px; font-weight: 600; line-height: 1.25; color: var(--wsw-dark, #1F2228); }
body .wsw-rvw__gsrc { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; line-height: 1.3; color: #6B7079; }
body .wsw-rvw__gg { flex: none; }
body .wsw-rvw__gqi p { margin: 0; font-size: 14.5px; line-height: 1.6; color: #3C4043; }
@media (min-width: 768px) { body .wsw-rvw__gq { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Product page: rooms this tile is ticked for (Products > Rooms), each linking to its room page */
body .wsw-pdp__rooms { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--wsw-muted, #5B6068); }
body .wsw-pdp__rooms span { font-weight: 600; color: var(--wsw-dark, #1E2226); }
body .wsw-pdp__rooms a { color: var(--wsw-orange-t, #A84F0C); font-weight: 500; text-decoration: none; }
body .wsw-pdp__rooms a:hover { text-decoration: underline; }
body .wsw-pdp__rooms i { font-style: normal; color: var(--wsw-light, #61666E); }
