/* Xiaomi Slider by Ndovu — scoped, dependency-free storefront styles. */
.nxs {
  position: relative; isolation: isolate; overflow: clip; width: 100%; max-width: 100%;
  margin: 0; color: var(--nxs-ink, #151820); background: var(--nxs-base, #f8f9fc);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.5; text-align: left; -webkit-font-smoothing: antialiased;
}
.nxs.nxs--inherit-font { font-family: inherit; }
.nxs *, .nxs *::before, .nxs *::after { box-sizing: border-box; }
.nxs [hidden] { display: none !important; }
.nxs a { color: inherit; text-decoration: none; }
.nxs button, .nxs a { -webkit-tap-highlight-color: transparent; }
.nxs button { font: inherit; cursor: pointer; }
.nxs a:focus-visible, .nxs button:focus-visible { outline: 3px solid var(--nxs-ink); outline-offset: 4px; }
.nxs svg { display: block; flex: 0 0 22px; width: 22px; height: 22px; }
.nxs__ambient {
  position: absolute; z-index: -2; right: -20%; top: -25%; width: 95%; height: 135%;
  pointer-events: none; transition: background-color 500ms ease;
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 12%, transparent 72%);
  mask-image: radial-gradient(ellipse at 50% 50%, #000 12%, transparent 72%);
}
.nxs[data-background="clean"] .nxs__ambient { display: none; }
.nxs[data-background="spotlight"] .nxs__ambient { right: 2%; top: 8%; width: 60%; height: 84%; }
.nxs[data-background="wave"]::after {
  content: ""; position: absolute; inset: 48% -10% -35% 30%; z-index: -1; pointer-events: none;
  border: 1px solid rgba(255,255,255,.9); background: rgba(255,255,255,.38); border-radius: 50% 5% 0 0;
  transform: rotate(-12deg);
}
.nxs .nxs__background-image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; opacity: .25; pointer-events: none; }
.nxs__inner {
  width: 100%; max-width: var(--nxs-max, 1800px); margin-inline: auto;
  padding: var(--nxs-pad, 48px); display: grid;
  grid-template-columns: minmax(270px, .84fr) minmax(560px, 1.56fr);
  column-gap: clamp(20px, 3vw, 56px); row-gap: 30px; align-items: center;
}
.nxs__copy, .nxs__stage, .nxs__slides, .nxs__slide, .nxs__card { min-width: 0; }
.nxs .nxs__logo { display: block; width: auto; max-width: 230px; max-height: 68px; object-fit: contain; margin: 0 0 30px; }
.nxs .nxs__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; color: var(--nxs-muted); font-size: 11px; line-height: 1.6; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.nxs__eyebrow > span { width: 5px; height: 21px; flex: 0 0 5px; border-radius: 4px; background: var(--nxs-accent); }
.nxs .nxs__heading { padding: 0; margin: 0; font-family: inherit; font-size: clamp(36px, 4.05vw, var(--nxs-heading, 60px)); line-height: 1.055; letter-spacing: -.045em; font-weight: 800; color: var(--nxs-ink); text-wrap: balance; overflow-wrap: break-word; }
.nxs .nxs__heading > span { display: block; margin-top: .06em; color: var(--nxs-highlight, #bf4a00); }
.nxs .nxs__description { max-width: 470px; margin: 25px 0 0; font-size: clamp(16px, 1.18vw, 20px); line-height: 1.65; font-weight: 400; color: var(--nxs-muted); }
.nxs__main-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin-top: 28px; }
.nxs a.nxs__button { display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 52px; padding: 14px 20px; border: 1px solid transparent; border-radius: 11px; font-size: 15px; line-height: 1.3; font-weight: 650; text-decoration: none; box-shadow: none; transition: box-shadow 150ms, filter 150ms; text-align: center; }
.nxs a.nxs__button:hover { filter: brightness(.96); text-decoration: none; box-shadow: 0 6px 18px rgba(25,27,33,.09); }
.nxs a.nxs__button--primary, .nxs a.nxs__button--product { background: var(--nxs-accent); color: var(--nxs-button-text); }
.nxs a.nxs__button--secondary { color: var(--nxs-ink); background: rgba(255,255,255,.60); border-color: rgba(65,71,90,.20); }
.nxs__stage { display: grid; grid-template-rows: 1fr auto; row-gap: 12px; }
.nxs__slides { display: grid; grid-area: 1 / 1; align-items: stretch; }
.nxs__slide {
  display: grid; grid-area: 1 / 1; grid-template-columns: minmax(210px, 1fr) minmax(290px, .94fr);
  align-items: center; column-gap: clamp(12px, 2vw, 36px); opacity: 0; visibility: hidden;
  pointer-events: none; transition: opacity var(--nxs-duration, 240ms) ease, visibility 0s var(--nxs-duration, 240ms);
}
.nxs__slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity var(--nxs-duration, 240ms) ease, visibility 0s; }
.nxs .nxs__media { position: relative; height: var(--nxs-image-h, 480px); display: flex; align-items: center; justify-content: center; isolation: isolate; touch-action: pan-y; min-width: 0; }
.nxs .nxs__image { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; border: 0; border-radius: 0; object-fit: contain; object-position: center; transform: scale(var(--nxs-scale,1)); filter: drop-shadow(0 20px 18px rgba(25,24,39,.12)); user-select: none; -webkit-user-drag: none; }
.nxs__product-halo { position: absolute; z-index: -1; inset: 14% -5% 12%; border-radius: 50%; opacity: .5; -webkit-mask-image: radial-gradient(ellipse,#000,transparent 68%); mask-image: radial-gradient(ellipse,#000,transparent 68%); }
.nxs__image-unavailable { padding: 24px; color: var(--nxs-muted); border: 1px dashed #c8cbd3; border-radius: 16px; font-size: 15px; }
.nxs__card { background: rgba(255,255,255,.93); border: 1px solid rgba(255,255,255,.98); border-radius: var(--nxs-radius, 24px); box-shadow: 0 12px 38px -18px rgba(35,31,58,.24), 0 1px 3px rgba(25,24,39,.03); overflow: hidden; }
.nxs--card-white .nxs__card { background: #fff; border-color: #e8e9ed; box-shadow: 0 7px 24px -18px #333; }
.nxs__card-inner { padding: clamp(20px, 1.8vw, 30px); }
.nxs__badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 28px; margin-bottom: 14px; }
.nxs__stock { display: inline-flex; align-items: center; gap: 6px; color: #156542; background: #e9f5ef; border-radius: 30px; padding: 4px 9px; font-size: 11px; line-height: 1.6; font-weight: 650; margin-left: auto; }
.nxs__stock > span { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.nxs__tag { font-size: 10px; letter-spacing: .10em; text-transform: uppercase; font-weight: 700; color: var(--nxs-muted); }
.nxs .nxs__product-title { margin: 0; padding: 0; font-size: clamp(21px, 1.85vw, 30px); line-height: 1.18; letter-spacing: -.04em; font-weight: 750; font-family: inherit; color: var(--nxs-ink); overflow-wrap: break-word; }
.nxs .nxs__product-title a { color: inherit; text-decoration: none; }
.nxs .nxs__product-title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.nxs .nxs__specs { margin: 23px 0 0; padding: 0; }
.nxs__spec { display: grid; grid-template-columns: minmax(95px, .82fr) minmax(0, 1fr); align-items: center; gap: 10px; border-top: 1px solid #edeef3; padding: 12px 0; }
.nxs .nxs__spec dt { display: flex; align-items: center; gap: 9px; margin: 0; color: var(--nxs-muted); font-size: 12px; font-weight: 400; line-height: 1.4; }
.nxs__spec dt svg { width: 17px; height: 17px; flex-basis: 17px; color: #454b5c; }
.nxs .nxs__spec dd { margin: 0; font-size: 13px; font-weight: 650; line-height: 1.35; text-align: right; color: var(--nxs-ink); overflow-wrap: break-word; }
.nxs__offer { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e9eaf0; }
.nxs__saving { display: inline-block; margin-bottom: 7px; border-radius: 5px; color: #983c00; background: #fff0e3; font-weight: 650; font-size: 11px; padding: 4px 8px; }
.nxs .nxs__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 12px; font-size: clamp(26px, 2.3vw, 38px); line-height: 1.25; font-weight: 780; letter-spacing: -.045em; color: var(--nxs-ink); }
.nxs .nxs__price ins { color: inherit; order: -1; text-decoration: none; background: none; font-weight: inherit; }
.nxs .nxs__price del { font-size: 14px; color: #747b89; font-weight: 450; letter-spacing: -.01em; opacity: 1; }
.nxs .nxs__price .woocommerce-price-suffix { font-size: 11px; letter-spacing: 0; font-weight: 400; }
.nxs .nxs__price .amount { white-space: nowrap; }
.nxs a.nxs__button--product { display: flex; width: 100%; margin-top: 20px; }
.nxs__saving-ticket { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 16px 20px; background: var(--nxs-accent); color: var(--nxs-button-text); }
.nxs__saving-ticket > span { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; font-weight: 600; }
.nxs__saving-ticket > strong { font-size: 34px; letter-spacing: -.04em; line-height: 1.2; font-weight: 800; }
.nxs__controls { grid-area: 2 / 1; display: flex; gap: 6px; align-items: center; justify-content: center; min-height: 44px; }
.nxs button.nxs__control { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(91,99,120,.18); background: rgba(255,255,255,.65); color: #3b4151; padding: 0; box-shadow: none; transition: opacity 160ms, background-color 160ms; }
@supports (backdrop-filter: blur(4px)) { .nxs button.nxs__control { backdrop-filter: blur(4px); } }
.nxs button.nxs__control:hover { background: #fff; }
.nxs__control svg { width: 19px; height: 19px; flex-basis: 19px; }
.nxs__counter { display: flex; align-items: center; gap: 5px; font-size: 11px; color: #727886; padding: 0 6px; font-variant-numeric: tabular-nums; }
.nxs__counter > :first-child { color: #202735; font-weight: 700; }
.nxs__selectors { display: flex; gap: 0; align-items: center; justify-content: center; }
.nxs button.nxs__selector { border: 0; background: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 44px; padding: 0; border-radius: 9px; box-shadow: none; }
.nxs__selector > span { display: block; width: 6px; height: 6px; border-radius: 9px; background: #a3a6b0; transition: width 200ms; }
.nxs__selector.is-current > span { width: 22px; background: var(--nxs-accent); }
.nxs .nxs__selectors--thumbnails { gap: 6px; flex-wrap: wrap; }
.nxs .nxs__selectors--thumbnails .nxs__selector { width: 48px; height: 48px; background: #fff; border: 1px solid #dedfe6; }
.nxs .nxs__selectors--thumbnails .nxs__selector.is-current { border: 2px solid var(--nxs-accent); }
.nxs .nxs__selector > img { width: 36px; height: 36px; object-fit: contain; border-radius: 5px; margin: 0; }
.nxs__trust { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit,minmax(175px,1fr)); gap: 22px; padding-top: 8px; }
.nxs__trust-item { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nxs__trust-icon { width: 42px; height: 42px; flex: 0 0 42px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(103,94,129,.10); background: rgba(255,255,255,.60); border-radius: 50%; color: var(--nxs-ink); }
.nxs__trust-item strong { display: block; color: var(--nxs-ink); font-size: 13px; line-height: 1.4; font-weight: 650; }
.nxs__trust-item small { display: block; font-size: 11px; line-height: 1.5; color: var(--nxs-muted); margin-top: 2px; }
.nxs__sr, .nxs .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.nxs__nojs-links { font-size: 12px; padding: 12px 0; color: var(--nxs-muted); }
.nxs__nojs-links a { text-decoration: underline; margin: 0 8px 0 0; }
.nxs.nxs--full-bleed { max-width: none; width: auto; margin-inline: calc((100% - 100vw + var(--nxs-scrollbar, 0px))/2); }
.nxs--showcase .nxs__inner { grid-template-columns: minmax(250px,.75fr) minmax(580px,1.65fr); }
.nxs--showcase .nxs__slide { grid-template-columns: minmax(230px,1.2fr) minmax(270px,.85fr); }
.nxs--compact .nxs__inner { padding-top: 30px; padding-bottom: 24px; }
.nxs--compact .nxs__media { max-height: 390px; }
.nxs--compact .nxs__heading { font-size: min(var(--nxs-heading), 48px); }
.nxs--compact .nxs__description { font-size: 16px; }
.nxs--compact .nxs__card-inner { padding: 20px; }
.nxs--compact .nxs__spec { padding: 9px 0; }
@media (hover: hover) and (pointer: fine) {
  .nxs .nxs__previous, .nxs .nxs__next { opacity: 0; }
  .nxs:hover .nxs__previous, .nxs:hover .nxs__next, .nxs:focus-within .nxs__previous, .nxs:focus-within .nxs__next { opacity: 1; }
}
@media (max-width: 1140px) and (min-width: 768px) {
  .nxs .nxs__inner { grid-template-columns: 1fr; padding: 32px; gap: 22px; }
  .nxs__copy { max-width: 820px; }
  .nxs .nxs__heading { font-size: min(var(--nxs-heading), 50px); }
  .nxs .nxs__heading > span { display: inline; margin-left: .12em; }
  .nxs .nxs__description { max-width: 700px; margin-top: 16px; }
  .nxs .nxs__slide { grid-template-columns: minmax(240px,1fr) minmax(290px,.92fr); }
  .nxs .nxs__product-title { font-size: 28px; }
  .nxs .nxs__spec dt { font-size: 13px; }
  .nxs .nxs__spec dd { font-size: 14px; }
  .nxs .nxs__price { font-size: 34px; }
}
@media (max-width: 767px) {
  .nxs .nxs__inner { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; padding: 28px var(--nxs-mobile-pad,20px) 24px; }
  .nxs .nxs__logo { max-width: 180px; max-height: 48px; margin-bottom: 20px; }
  .nxs .nxs__eyebrow { margin-bottom: 15px; font-size: 9px; letter-spacing: .1em; }
  .nxs .nxs__heading { font-size: var(--nxs-mobile-heading,36px); line-height: 1.08; text-wrap: initial; }
  .nxs .nxs__description { font-size: 14px; line-height: 1.6; margin-top: 17px; max-width: none; }
  .nxs .nxs__main-actions { gap: 9px; margin-top: 20px; }
  .nxs a.nxs__button { min-height: 48px; padding: 12px 15px; font-size: 13px; gap: 10px; }
  .nxs__main-actions > a { flex: 1 1 auto; }
  .nxs .nxs__stage { gap: 13px; }
  .nxs .nxs__slide { grid-template-columns: minmax(0,1fr); grid-template-rows: var(--nxs-mobile-image-h,280px) 1fr; gap: 20px; align-items: start; }
  .nxs .nxs__media { height: var(--nxs-mobile-image-h,280px); max-height: none; width: 100%; }
  .nxs .nxs__image { width: 92%; }
  .nxs__ambient { right: -55%; width: 155%; top: 10%; height: 70%; }
  .nxs .nxs__card { width: 100%; height: 100%; }
  .nxs .nxs__card-inner { padding: 22px; }
  .nxs .nxs__product-title { font-size: 25px; line-height: 1.2; }
  .nxs .nxs__specs { margin-top: 20px; }
  .nxs .nxs__spec { grid-template-columns: minmax(102px,.82fr) minmax(0,1fr); padding: 11px 0; }
  .nxs .nxs__spec dt { font-size: 12px; }
  .nxs .nxs__spec dd { font-size: 13px; }
  .nxs .nxs__price { font-size: 32px; }
  .nxs__offer { margin-top: 14px; padding-top: 15px; }
  .nxs a.nxs__button--product { margin-top: 18px; min-height: 50px; font-size: 15px; }
  .nxs__controls { gap: 3px; flex-wrap: wrap; }
  .nxs button.nxs__selector { width: 28px; }
  .nxs__counter { padding-inline: 3px; }
  .nxs__trust { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 12px; padding-top: 6px; }
  .nxs__trust-item { gap: 9px; align-items: flex-start; }
  .nxs__trust-icon { width: 32px; height: 32px; flex-basis: 32px; }
  .nxs__trust-icon svg { width: 18px; height: 18px; flex-basis: 18px; }
  .nxs__trust-item strong { font-size: 11px; }
  .nxs__trust-item small { font-size: 10px; }
  .nxs--mobile-no-description .nxs__description, .nxs--mobile-no-trust .nxs__trust { display: none; }
}
@media (max-width: 359px) {
  .nxs .nxs__card-inner { padding: 17px; }
  .nxs .nxs__product-title { font-size: 23px; }
  .nxs .nxs__price { font-size: 29px; }
  .nxs .nxs__spec { grid-template-columns: 98px minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .nxs *, .nxs *::before, .nxs *::after { transition-duration: 0ms !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Reference-inspired studio scenes. These are layers, not flattened banner images. */
.nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"]) {
  --nxs-scene: var(--nxs-tint, #eee8f5);
  background: linear-gradient(120deg, #fff 8%, var(--nxs-base, #f8f9fc) 54%, #fff 100%);
}
.nxs[data-background="warm_ribbon"] { --nxs-scene: #ffe0bc; }
.nxs[data-background="lilac_ribbon"] { --nxs-scene: #e7daf9; }
.nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"]) .nxs__ambient {
  inset: 0; width: 100%; height: 100%; opacity: .7;
  background: radial-gradient(ellipse at 73% 58%, var(--nxs-scene) 0%, transparent 66%) !important;
  mask-image: none; -webkit-mask-image: none;
}
.nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"])::before,
.nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"])::after {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  border: 1px solid rgba(255,255,255,.85);
  background: linear-gradient(135deg, rgba(255,255,255,.2), var(--nxs-scene) 55%, rgba(255,255,255,.65));
}
.nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"])::before {
  top: -48%; right: -12%; width: 68%; height: 150%; border-radius: 52% 48% 16% 78%;
  transform: rotate(31deg); opacity: .52; box-shadow: inset 2px 1px 2px rgba(255,255,255,.8);
}
.nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"])::after {
  left: 22%; right: -18%; top: 58%; height: 75%; border-radius: 50% 5% 0 0;
  transform: rotate(-20deg); opacity: .56;
}
.nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"]) .nxs__trust-icon {
  color: var(--nxs-accent); background: #fff0e2; border-color: transparent;
}

/* Genuine savings occupy the orange header. Unsold/non-sale products omit it. */
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__card {
  background: #fff; border: 1px solid rgba(255,255,255,.95);
  box-shadow: 0 22px 48px -20px rgba(49,33,26,.24), 0 2px 8px rgba(49,33,26,.03);
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket {
  position: relative; isolation: isolate; overflow: hidden; gap: 5px;
  padding: 24px 16px 32px; color: #fff;
  background: linear-gradient(125deg, #b83c00 0%, #ed5800 60%, #ff902e 100%);
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket::before,
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket::after {
  content: ""; position: absolute; z-index: -1; pointer-events: none; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.25); transform: rotate(-25deg);
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket::before {
  width: 140%; height: 110%; right: -53%; bottom: -75%;
  background: linear-gradient(120deg, rgba(128,32,0,.3), rgba(255,209,117,.25));
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket::after {
  width: 115%; height: 120%; right: -50%; bottom: -98%; background: rgba(255,200,105,.3);
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket > span {
  max-width: 100%; font-size: 12px; line-height: 1.45; letter-spacing: .16em;
  text-align: center; font-weight: 750; overflow-wrap: anywhere;
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket > strong {
  max-width: 100%; font-size: clamp(32px, 3.15vw, 58px); line-height: 1.12;
  letter-spacing: -.055em; font-weight: 800; overflow-wrap: anywhere;
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket .amount { white-space: normal; }
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket + .nxs__card-inner {
  position: relative; margin-top: -14px; background: #fff; border-radius: 16px 16px 0 0;
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__spec dd {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; font-weight: 500;
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__spec dt { font-size: 13px; }
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__price { font-size: clamp(30px, 2.65vw, 44px); }
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__tag { color: #b33d00; letter-spacing: .16em; }
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__spec:last-child { border-bottom: 1px solid #edeef3; }
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__offer { border-top: 0; margin-top: 19px; padding-top: 0; }
.nxs--card-receipt .nxs__spec dt { text-transform: uppercase; letter-spacing: .09em; font-size: 10px; font-weight: 600; }
.nxs--card-receipt .nxs__spec dt svg { display: none; }
.nxs__receipt-lines {
  height: 30px; margin-top: 20px; opacity: .82;
  background: repeating-linear-gradient(90deg, #111 0 2px, transparent 2px 5px, #111 5px 6px, transparent 6px 9px, #111 9px 13px, transparent 13px 15px, #111 15px 17px, transparent 17px 22px);
}

/* Surface effects reuse the decoded transparent image. No second product source. */
.nxs:is(.nxs--surface-reflection, .nxs--surface-pedestal) .nxs__media { align-items: flex-end; }
.nxs:is(.nxs--surface-reflection, .nxs--surface-pedestal) .nxs__image {
  object-position: center bottom; transform-origin: center bottom;
  filter: drop-shadow(0 16px 14px rgba(32,27,44,.13));
}
.nxs:is(.nxs--surface-reflection, .nxs--surface-pedestal) .nxs__media::before {
  content: ""; position: absolute; z-index: -1; width: 105%; height: 38px; left: -2.5%; bottom: -20px;
  border-radius: 50%; background: radial-gradient(ellipse, rgba(53,39,50,.18), transparent 69%); pointer-events: none;
}
.nxs__reflection {
  position: absolute; z-index: -1; top: calc(100% + 3px); left: 0; width: 100%; height: 100%;
  pointer-events: none; opacity: .2;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 19%);
  mask-image: linear-gradient(to bottom, #000 0%, transparent 19%);
}
.nxs .nxs__reflection-image {
  display: block; width: 100%; height: 100%; max-width: 100%; margin: 0; border: 0; border-radius: 0;
  object-fit: contain; object-position: center bottom; transform: scaleY(-1) scale(var(--nxs-scale,1));
  transform-origin: center center; user-select: none; -webkit-user-drag: none;
}
.nxs--surface-reflection .nxs__controls { margin-top: 55px; }
.nxs--surface-pedestal .nxs__media::after {
  content: ""; position: absolute; z-index: -2; left: -6%; right: -6%; bottom: -27px; height: 38px;
  border: 1px solid rgba(255,255,255,.9); border-radius: 50% / 30%; pointer-events: none;
  background: radial-gradient(ellipse at 50% 0, #fff 8%, #f8eee5 60%, #dccbbe 100%);
  box-shadow: 0 22px 22px -17px rgba(64,42,25,.28), inset 0 -10px 12px rgba(150,120,99,.1);
}
.nxs--surface-pedestal .nxs__controls { margin-top: 24px; }
@media (max-width: 767px) {
  .nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket { padding: 21px 15px 30px; }
  .nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket > strong { font-size: clamp(32px, 10vw, 44px); }
  .nxs--surface-reflection .nxs__slide { row-gap: 65px; }
  .nxs--surface-pedestal .nxs__slide { row-gap: 46px; }
  .nxs:is(.nxs--surface-reflection, .nxs--surface-pedestal) .nxs__controls { margin-top: 0; }
  .nxs .nxs__reflection-image { width: 92%; margin-inline: auto; }
  .nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"])::before {
    right: -100%; top: -8%; width: 175%; height: 78%; opacity: .44;
  }
  .nxs:is([data-background="warm_ribbon"], [data-background="lilac_ribbon"], [data-background="product_ribbon"])::after {
    left: -18%; right: -60%; top: 35%; height: 40%; opacity: .4;
  }
}


/* Theme inheritance also covers the weekly offer's specification values. */
.nxs.nxs--inherit-font .nxs__spec dd { font-family: inherit; }

/* Black Friday: graphite stage, orange horizon and a luminous offer card. */
.nxs[data-background="blackfriday"] {
  background: radial-gradient(ellipse at 56% 75%, rgba(254,105,0,.14), transparent 45%),
    radial-gradient(ellipse at 84% 5%, #202027, transparent 48%), #08090c;
}
.nxs[data-background="blackfriday"] .nxs__ambient { display: none; }
.nxs[data-background="blackfriday"]::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: 68%; height: 125%; right: -15%; top: -38%; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.1); transform: rotate(-28deg);
  box-shadow: -25px 22px 70px rgba(254,105,0,.06), inset 1px 0 rgba(255,255,255,.05);
}
.nxs[data-background="blackfriday"]::after {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  height: 1px; width: 65%; left: 20%; top: 77%;
  background: linear-gradient(90deg, transparent, rgba(254,105,0,.65), transparent);
  box-shadow: 0 0 30px 7px rgba(254,105,0,.09);
}
.nxs[data-background="blackfriday"] .nxs__product-halo { opacity: .08; }
.nxs[data-background="blackfriday"] .nxs__image {
  filter: drop-shadow(0 1px 2px rgba(255,255,255,.18)) drop-shadow(0 22px 25px rgba(0,0,0,.5));
}
.nxs[data-background="blackfriday"] .nxs__reflection { opacity: .2; }
.nxs[data-background="blackfriday"] .nxs__eyebrow { color: #ebcbb4; }
.nxs[data-background="blackfriday"] .nxs__main-actions .nxs__button--primary {
  box-shadow: 0 10px 32px rgba(254,105,0,.17);
}
.nxs.nxs--card-blackfriday .nxs__card {
  background: linear-gradient(145deg, #24252b, #14151b 65%); border: 1px solid #42434a;
  box-shadow: 0 26px 60px rgba(0,0,0,.42), 0 0 30px -20px rgba(254,105,0,.8);
}
.nxs.nxs--card-blackfriday .nxs__saving-ticket {
  padding: 22px 18px; gap: 4px; align-items: flex-start;
  background: linear-gradient(110deg, #fe6900, #c14c00); color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.nxs.nxs--card-blackfriday .nxs__saving-ticket > span { font-size: 11px; letter-spacing: .17em; }
.nxs.nxs--card-blackfriday .nxs__saving-ticket > strong {
  font-size: clamp(32px, 3.1vw, 54px); line-height: 1.1; letter-spacing: -.045em;
}
.nxs.nxs--card-blackfriday .nxs__spec, .nxs.nxs--card-blackfriday .nxs__offer { border-color: #383941; }
.nxs.nxs--card-blackfriday .nxs__spec dt svg { color: #ffb27a; }
.nxs.nxs--card-blackfriday .nxs__price del { color: #a4a5af; }
.nxs.nxs--card-blackfriday .nxs__stock { background: #20382e; color: #a8e3c2; }
.nxs[data-background="blackfriday"] button.nxs__control {
  background: #202127; border-color: #44454e; color: #f4f4f7;
}
.nxs[data-background="blackfriday"] button.nxs__control:hover { background: #36373e; }
.nxs[data-background="blackfriday"] .nxs__counter { color: #a6a7b2; }
.nxs[data-background="blackfriday"] .nxs__counter > :first-child { color: #fff; }
.nxs[data-background="blackfriday"] .nxs__selector > span { background: #70717d; }
.nxs[data-background="blackfriday"] .nxs__selector.is-current > span { background: var(--nxs-accent); }

/* Keep genuine savings legible when the theme colours WooCommerce amount spans. */
.nxs .nxs__saving-ticket .woocommerce-Price-amount,
.nxs .nxs__saving-ticket .woocommerce-Price-currencySymbol { color: inherit !important; }
/* Framed studio: a broad canvas with an even inset, never flush to the viewport. */
.nxs { --nxs-gutter: 12px; margin-block: var(--nxs-gutter); border: 1px solid rgba(116,119,132,.16); border-radius: 18px; }
.nxs.nxs--full-bleed { margin-inline: calc((100% - 100vw + var(--nxs-scrollbar,0px))/2 + var(--nxs-gutter)); }
.nxs .nxs__inner { max-width: 1920px; padding: clamp(20px,1.8vw,32px); padding-bottom: 66px; gap: clamp(18px,2vw,32px); grid-template-columns: minmax(0,1fr) minmax(0,1.85fr); }
.nxs .nxs__copy { container-type: inline-size; }
.nxs .nxs__heading { font-size: clamp(32px,10cqw,54px); line-height: 1.07; text-wrap: pretty; }
.nxs .nxs__heading > span { text-wrap: pretty; }
.nxs .nxs__eyebrow { margin-bottom: 18px; }
.nxs .nxs__description { max-width: none; margin-top: 20px; font-size: clamp(15px,1.1vw,18px); line-height: 1.55; text-wrap: pretty; }
.nxs .nxs__main-actions { margin-top: 22px; }
.nxs .nxs__stage { display: block; }
.nxs .nxs__slide { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: clamp(14px,1.6vw,28px); }
.nxs .nxs__media { height: clamp(270px,calc(var(--nxs-room,680px)*.60),420px); }
.nxs .nxs__card { height: auto; container-type: inline-size; transition: transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease; }
.nxs .nxs__card-inner { padding: clamp(16px,5cqw,24px); }
.nxs .nxs__badges { min-height: 20px; margin-bottom: 10px; }
.nxs .nxs__product-title { font-size: clamp(20px,6.4cqw,28px); line-height: 1.16; text-wrap: pretty; letter-spacing: -.025em; }
.nxs .nxs__specs { margin-top: 16px; }
.nxs .nxs__spec { padding: 9px 0; grid-template-columns: minmax(85px,.7fr) minmax(0,1fr); gap: 8px; }
.nxs .nxs__spec dt { font-size: 12px; }
.nxs .nxs__spec dd { font-size: 13px; line-height: 1.35; }
.nxs .nxs__offer { margin-top: 12px; padding-top: 0; }
.nxs .nxs__price { font-size: clamp(28px,9cqw,40px); }
.nxs a.nxs__button { min-height: 46px; padding-block: 11px; }
.nxs a.nxs__button--product { margin-top: 14px; }
.nxs .nxs__saving-ticket { padding: 16px 14px 23px; gap: 3px; }
.nxs .nxs__saving-ticket > span { font-size: 10px; letter-spacing: .12em; }
.nxs .nxs__saving-ticket > strong { font-size: clamp(30px,11cqw,46px); line-height: 1.1; }
.nxs .nxs__controls { position: absolute; z-index: 5; bottom: 12px; left: 50%; transform: translateX(-50%); min-height: 40px; gap: 6px; flex-wrap: nowrap; padding: 0; }
.nxs button.nxs__control { width: 40px; height: 40px; opacity: 1; }
.nxs .nxs__reflection { max-height: 70px; opacity: .20; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .nxs .nxs__card:hover { transform: translateY(-5px); border-color: rgba(254,105,0,.45); box-shadow: 0 24px 45px -22px rgba(42,33,29,.38); }
  .nxs.nxs--card-blackfriday .nxs__card:hover { box-shadow: 0 24px 46px -20px rgba(254,105,0,.22); }
}
@media (min-width:1150px) and (max-height:800px) {
  .nxs .nxs__inner { padding-top: 18px; padding-bottom: 58px; }
  .nxs .nxs__heading { font-size: clamp(30px,9cqw,46px); }
  .nxs .nxs__description { font-size: 15px; margin-top: 16px; }
  .nxs .nxs__card-inner { padding: 16px 20px; }
  .nxs .nxs__product-title { font-size: clamp(19px,5.8cqw,24px); }
  .nxs .nxs__saving-ticket { padding: 12px 12px 20px; }
  .nxs .nxs__saving-ticket > strong { font-size: 34px; }
  .nxs .nxs__spec { padding-block: 7px; }
  .nxs .nxs__specs { margin-top: 12px; }
  .nxs .nxs__price { font-size: 32px; }
}
@media (max-width:1149px) and (min-width:768px) {
  .nxs .nxs__inner { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 20px; }
  .nxs .nxs__slide { grid-template-columns: minmax(0,1fr); }
  .nxs .nxs__media { height: 220px; }
  .nxs .nxs__heading { font-size: clamp(30px,10cqw,44px); }
  .nxs .nxs__heading > span { display: block; margin-left: 0; }
}
@media (max-width:767px) {
  .nxs { --nxs-gutter: 8px; border-radius: 14px; }
  .nxs .nxs__inner { grid-template-columns: minmax(0,1fr); padding: 14px 18px 20px; gap: 20px; }
  .nxs .nxs__eyebrow { min-height: 40px; padding-right: 126px; margin-bottom: 12px; font-size: 8px; letter-spacing: .07em; }
  .nxs .nxs__heading { font-size: clamp(29px,9.6cqw,38px); }
  .nxs .nxs__description { font-size: 14px; line-height: 1.5; margin-top: 16px; }
  .nxs .nxs__main-actions { margin-top: 18px; }
  .nxs .nxs__slide { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; gap: 20px; }
  .nxs .nxs__media { height: clamp(210px,30svh,280px); }
  .nxs .nxs__card { height: auto; }
  .nxs .nxs__card-inner { padding: 18px; }
  .nxs .nxs__product-title { font-size: clamp(21px,7cqw,26px); }
  .nxs .nxs__controls { top: 14px; right: 14px; bottom: auto; left: auto; transform: none; gap: 4px; }
  .nxs button.nxs__control { width: 38px; height: 38px; }
  .nxs .nxs__saving-ticket > strong { font-size: clamp(32px,12cqw,44px); }
}
@media (prefers-reduced-motion:reduce) { .nxs .nxs__card:hover { transform: none; } }

/* Premium studio surfaces: the floor is inside the media box, never below its clip. */
.nxs .nxs__product-title { width:100%; max-width:none; font-size:clamp(19px,5.25cqw,26px); text-wrap:wrap; overflow-wrap:normal; word-break:normal; letter-spacing:-.025em; }
.nxs .nxs__product-title a { display:block; width:100%; color:inherit; }
.nxs .nxs__slide { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }
.nxs:is(.nxs--surface-reflection,.nxs--surface-pedestal) .nxs__media { --nxs-floor:92px; position:relative; overflow:visible; }
.nxs:is(.nxs--surface-reflection,.nxs--surface-pedestal) .nxs__image {
  position:absolute; z-index:3; inset:0 0 auto; height:calc(100% - var(--nxs-floor)); width:100%;
  object-fit:contain; object-position:center bottom; transform-origin:center bottom;
  filter:drop-shadow(0 8px 8px rgba(25,24,39,.14));
}
.nxs:is(.nxs--surface-reflection,.nxs--surface-pedestal) .nxs__media::before { content:none; }
.nxs .nxs__contact-shadow { display:none; }
.nxs:is(.nxs--surface-reflection,.nxs--surface-pedestal) .nxs__contact-shadow {
  display:block; position:absolute; z-index:2; left:12%; width:76%; height:26px; bottom:calc(var(--nxs-floor) - 17px);
  border-radius:50%; background:radial-gradient(ellipse,rgba(37,30,28,.32),rgba(37,30,28,.12) 42%,transparent 72%); pointer-events:none;
}
.nxs:is(.nxs--surface-pedestal) .nxs__media::after {
  content:""; position:absolute; z-index:0; left:1%; width:98%; bottom:34px; height:64px;
  border:1px solid rgba(255,255,255,.85); border-radius:50% / 24%;
  background:radial-gradient(ellipse at 50% 6%,#fffaf4 0%,#f3e9df 38%,transparent 39%),
    linear-gradient(100deg,#e9d8c8 0%,#fff6ec 22%,#ecdbce 64%,#cfb9a7 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.95),inset 0 -10px 14px rgba(116,82,57,.09),0 28px 22px -18px rgba(77,49,26,.28);
  pointer-events:none;
}
.nxs .nxs__reflection {
  position:absolute; z-index:1; left:0; top:calc(100% - var(--nxs-floor) - 2px); width:100%; height:calc(100% - var(--nxs-floor));
  max-height:none; opacity:.42; overflow:visible; pointer-events:none;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.65) 12%,transparent 36%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.65) 12%,transparent 36%);
}
.nxs .nxs__reflection-image { width:100%; height:100%; margin:0; object-fit:contain; object-position:center bottom; transform:scaleY(-1) scale(var(--nxs-scale,1)); }
.nxs:is(.nxs--surface-reflection,.nxs--surface-pedestal) .nxs__controls { margin-top:0; }
.nxs .nxs__slide { row-gap:20px; }
.nxs[data-background="blackfriday"]:is(.nxs--surface-pedestal) .nxs__media::after {
  border-color:rgba(255,255,255,.18);
  background:radial-gradient(ellipse at 50% 6%,#3c3d43 0%,#25262c 38%,transparent 39%),linear-gradient(100deg,#15161a,#34353b 27%,#1c1d22 70%,#111216);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.2),inset 0 -12px 18px rgba(0,0,0,.3),0 20px 30px -16px rgba(254,105,0,.3);
}
.nxs[data-background="blackfriday"] .nxs__contact-shadow { background:radial-gradient(ellipse,rgba(0,0,0,.8),transparent 70%); }
.nxs[data-background="blackfriday"] .nxs__reflection { opacity:.48; }
@media(min-width:1150px) and (max-height:800px){.nxs .nxs__product-title{font-size:clamp(18px,5.1cqw,24px);}}
@media(max-width:1149px) and (min-width:768px){.nxs .nxs__slide{grid-template-columns:minmax(0,1fr);} .nxs:is(.nxs--surface-reflection,.nxs--surface-pedestal) .nxs__media{height:280px;--nxs-floor:72px;}}
@media(max-width:767px){
  .nxs .nxs__slide { grid-template-columns:minmax(0,1fr); }
  .nxs .nxs__product-title { font-size:clamp(18px,6cqw,24px); }
  .nxs:is(.nxs--surface-reflection,.nxs--surface-pedestal) .nxs__media { height:clamp(260px,37svh,330px); --nxs-floor:80px; }
  .nxs:is(.nxs--surface-pedestal) .nxs__media::after { height:52px; bottom:34px; }
}

/* Mutually exclusive studio effects. */
.nxs:not(.nxs--surface-reflection) .nxs__reflection{display:none!important;}
.nxs--surface-pedestal .nxs__contact-shadow{background:radial-gradient(ellipse,rgba(37,30,28,.4),rgba(37,30,28,.16) 42%,transparent 72%);}
.nxs[data-background="blackfriday"].nxs--surface-pedestal .nxs__contact-shadow{background:radial-gradient(ellipse,rgba(0,0,0,.85),transparent 70%);}

/* Ndovu Product Scene System: stationary, product-aware layers; no raster backdrops. */
.nxs.nxs--scenes .nxs__media {
  --scene-h:clamp(270px,calc(var(--nxs-room,680px)*.60),420px); --scene-floor:60px;
  --product-h:calc(var(--scene-h) - var(--scene-floor) - var(--product-elevation));
  --render-width:calc(min(100cqw,calc(var(--product-h)*var(--image-ratio)))*var(--product-scale)*var(--image-content-width));
  height:var(--scene-h); container-type:inline-size; overflow:visible; position:relative; isolation:isolate;
}
.nxs.nxs--scenes .nxs__media::before,.nxs.nxs--scenes .nxs__media::after { content:none; }
.nxs.nxs--scenes .nxs__scene-backdrop,
.nxs.nxs--scenes .nxs__scene-halo,
.nxs.nxs--scenes .nxs__scene-base { display:block; position:absolute; pointer-events:none; }
.nxs.nxs--scenes .nxs__scene-backdrop { z-index:0; inset:4% -4% 4%; border-radius:50%; background:radial-gradient(ellipse,var(--scene-secondary),transparent 68%); opacity:.7; }
.nxs.nxs--scenes .nxs__media[data-dark="1"] .nxs__scene-backdrop { background:radial-gradient(ellipse,color-mix(in srgb,var(--scene-dark) 90%,transparent),color-mix(in srgb,var(--scene-dark) 35%,transparent) 44%,transparent 70%); opacity:.9; }
.nxs.nxs--scenes .nxs__scene-halo {
  z-index:1; inset:7% 0 12%; border-radius:50%; opacity:var(--halo-opacity);
  background:radial-gradient(ellipse at 53% 58%,color-mix(in srgb,var(--scene-primary) 72%,transparent),transparent 68%),
    radial-gradient(ellipse at 73% 70%,color-mix(in srgb,var(--scene-glow) 12%,transparent),transparent 65%);
}
.nxs.nxs--scenes .nxs__media[data-halo="off"] .nxs__scene-halo,
.nxs.nxs--scenes .nxs__media[data-glow="off"] .nxs__scene-halo { display:none; }
.nxs.nxs--scenes .nxs__media[data-dark="1"] .nxs__scene-halo,
.nxs[data-background="blackfriday"].nxs--scenes .nxs__scene-halo {
  background:radial-gradient(ellipse at 50% 52%,color-mix(in srgb,var(--scene-dark) 55%,transparent),transparent 68%),
    radial-gradient(ellipse at 65% 72%,color-mix(in srgb,var(--scene-glow) 10%,transparent),transparent 65%);
}
.nxs.nxs--scenes .nxs__scene-base {
  --base-depth:10px; z-index:2; left:50%; width:min(96%,calc(var(--render-width)*var(--base-ratio)));
  height:var(--base-depth); bottom:calc(var(--scene-floor) - var(--base-depth));
  transform:translateX(calc(-50% + var(--product-offset-x))); border-radius:4px;
  border:1px solid color-mix(in srgb,var(--scene-surface) 40%,white);
  background:linear-gradient(120deg,color-mix(in srgb,var(--scene-surface) 75%,white),var(--scene-surface));
  box-shadow:inset 0 1px 1px #ffffff70,0 8px 12px -8px rgba(var(--scene-shadow),.3);
}
.nxs.nxs--scenes .nxs__media[data-base="none"] .nxs__scene-base { display:none; }
.nxs.nxs--scenes .nxs__media[data-base="glass"] .nxs__scene-base { --base-depth:12px; border-radius:5px; background:color-mix(in srgb,var(--scene-surface) 8%,transparent); backdrop-filter:blur(5px); }
.nxs.nxs--scenes .nxs__media[data-material="glass"] .nxs__scene-base { background:color-mix(in srgb,var(--scene-surface) 6%,transparent); }
.nxs.nxs--scenes .nxs__media[data-material="frosted"] .nxs__scene-base { background:color-mix(in srgb,var(--scene-surface) 12%,transparent); }
.nxs.nxs--scenes .nxs__media[data-material="transparent"] .nxs__scene-base { background:transparent; box-shadow:inset 0 1px 1px #ffffff50; }
.nxs.nxs--scenes .nxs__media[data-base="floor"] .nxs__scene-base { --base-depth:2px; border:0; opacity:.42; border-radius:50%; background:linear-gradient(90deg,transparent,var(--scene-surface),transparent); box-shadow:0 10px 18px rgba(var(--scene-shadow),.1); }
.nxs.nxs--scenes .nxs__media[data-base="shelf"] .nxs__scene-base { --base-depth:8px; border-radius:3px; }
.nxs.nxs--scenes .nxs__media[data-base="classic"] .nxs__scene-base { --base-depth:40px; border-radius:50% / 24%; background:radial-gradient(ellipse at 50% 6%,color-mix(in srgb,var(--scene-surface) 55%,white) 0%,var(--scene-surface) 38%,transparent 39%),linear-gradient(100deg,color-mix(in srgb,var(--scene-surface) 88%,black),var(--scene-surface) 28%,color-mix(in srgb,var(--scene-surface) 82%,black)); }
.nxs.nxs--scenes .nxs__image {
  position:absolute; z-index:4; inset:auto 0; bottom:calc(var(--scene-floor) + var(--product-elevation) - var(--image-foot)*min(var(--product-h),calc(100cqw/var(--image-ratio))));
  width:100%; height:var(--product-h); max-height:none; object-fit:contain; object-position:center bottom;
  transform-origin:center bottom; transform:translate(var(--product-offset-x),var(--product-offset-y)) scale(calc(var(--product-scale)*var(--scene-phase,1)));
  transition:transform var(--nxs-duration,380ms) ease; filter:drop-shadow(0 4px 4px rgba(var(--scene-shadow),.08));
}
.nxs.nxs--scenes .nxs__slide:not(.is-active) { --scene-phase:.975; }
.nxs.nxs--scenes .nxs__contact-shadow {
  display:block; position:absolute; z-index:3; left:50%; width:min(96%,calc(var(--render-width)*var(--shadow-ratio))); height:var(--shadow-height,20px);
  bottom:calc(var(--scene-floor) - var(--shadow-height,20px)/2); transform:translateX(calc(-50% + var(--product-offset-x))); border-radius:50%; pointer-events:none;
  opacity:var(--shadow-opacity); filter:blur(var(--shadow-blur)); background:radial-gradient(ellipse,rgba(var(--scene-shadow),.95),rgba(var(--scene-shadow),.3) 40%,transparent 72%);
}
.nxs.nxs--scenes .nxs__media[data-shadow="none"] .nxs__contact-shadow { display:none; }
.nxs.nxs--scenes .nxs__media[data-scene="lifestyle"] .nxs__image,
.nxs.nxs--scenes .nxs__media[data-scene="none"] .nxs__image { filter:none; }
.nxs.nxs--scenes .nxs__media[data-scene="lifestyle"] .nxs__scene-backdrop { opacity:.26; }
.nxs.nxs--scenes .nxs__media[data-scene="lifestyle"] .nxs__scene-halo { opacity:calc(var(--halo-opacity)*.55); }
.nxs.nxs--scenes .nxs__media[data-scene="none"] .nxs__scene-backdrop,
.nxs.nxs--scenes .nxs__media[data-scene="none"] .nxs__scene-halo { display:none; }
.nxs.nxs--scenes .nxs__reflection {
  display:block!important; position:absolute; z-index:2; left:0; top:calc(100% - var(--scene-floor) + var(--product-elevation));
  width:100%; height:var(--product-h); max-height:none; opacity:var(--reflection-opacity); pointer-events:none;
  mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.5) 12%,transparent 28%);
  -webkit-mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.5) 12%,transparent 28%);
}
.nxs.nxs--scenes .nxs__reflection-image { width:100%; margin:0; height:100%; object-fit:contain; object-position:center bottom; transform:translate(var(--product-offset-x),calc(-1*var(--product-offset-y))) scaleY(-1) scale(var(--product-scale)); }
.nxs.nxs--scenes .nxs__controls { margin-top:0; }
@media(max-width:1149px) and (min-width:768px){.nxs.nxs--scenes .nxs__media{--scene-h:280px;--scene-floor:50px;}}
@media(max-width:767px){
  .nxs.nxs--scenes .nxs__media{--scene-h:clamp(260px,37svh,330px);--scene-floor:44px;}
  .nxs.nxs--scenes .nxs__media[data-base="glass"] .nxs__scene-base{--base-depth:6px;backdrop-filter:none;}
  .nxs.nxs--scenes .nxs__media[data-base="shelf"] .nxs__scene-base{--base-depth:5px;}
  .nxs.nxs--scenes .nxs__media[data-base="classic"] .nxs__scene-base{--base-depth:24px;}
  .nxs.nxs--scenes .nxs__scene-halo{opacity:calc(var(--halo-opacity)*.65);}
  .nxs.nxs--scenes .nxs__reflection{opacity:calc(var(--reflection-opacity)*.65);}
}
@media(prefers-reduced-motion:reduce){.nxs.nxs--scenes .nxs__slide,.nxs.nxs--scenes .nxs__image{transition:none!important;--scene-phase:1!important;}}

/* Stable title rhythm from the first paint: no post-load font fitting.
   Reserve two lines (three on narrow cards) through theme font swaps;
   full names may expand beyond this minimum and are never clipped. */
.nxs .nxs__product-title { min-block-size:2.32em; min-block-size:2lh; overflow-wrap:anywhere; }
@media(max-width:1149px) {
  .nxs .nxs__product-title { min-block-size:3.48em; min-block-size:3lh; }
}

/* Distinct scene signatures. Product-derived colours and existing controls remain in charge. */
.nxs.nxs--scenes .nxs__media[data-base="glass"] .nxs__scene-base {
  --base-depth:24px; border-radius:8px / 5px;
  border:1px solid color-mix(in srgb,var(--scene-palette) 52%,white);
  background:linear-gradient(175deg,#ffffffd9 0%,color-mix(in srgb,var(--scene-palette) 35%,transparent) 18%,#ffffff40 48%,color-mix(in srgb,var(--scene-palette) 52%,transparent) 100%);
  box-shadow:inset 0 3px 2px #ffffffe0,inset 0 -3px 2px #ffffffa0,0 12px 16px -7px rgba(var(--scene-shadow),.28);
}
.nxs.nxs--scenes .nxs__media[data-base="shelf"] .nxs__scene-base {
  --base-depth:15px; border-radius:3px; border-top:3px solid color-mix(in srgb,var(--scene-surface) 45%,white);
  box-shadow:inset 0 -4px 3px rgba(var(--scene-shadow),.16),0 15px 15px -7px rgba(var(--scene-shadow),.32);
}
.nxs.nxs--scenes .nxs__media[data-base="floor"] .nxs__scene-base {
  --base-depth:3px; opacity:.7; width:96%; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--scene-palette) 45%,var(--scene-surface)),transparent);
}
.nxs.nxs--scenes .nxs__media[data-base="floor"] .nxs__scene-base::after {
  content:""; position:absolute; left:-2%; right:-2%; top:1px; height:38px;
  background:linear-gradient(to bottom,color-mix(in srgb,var(--scene-palette) 28%,transparent),transparent);
  clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);
}
.nxs.nxs--scenes .nxs__media[data-scene="floating"] .nxs__scene-halo {
  inset:0 9% 24%; background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--scene-palette) 35%,transparent),transparent 68%);
}
.nxs.nxs--scenes .nxs__media[data-scene="soft_shadow"] .nxs__scene-backdrop { opacity:.18; }
.nxs.nxs--scenes .nxs__media[data-scene="soft_shadow"] .nxs__scene-halo {
  inset:62% -3% 4%; background:radial-gradient(ellipse,color-mix(in srgb,var(--scene-palette) 22%,transparent),transparent 70%);
}
.nxs.nxs--scenes .nxs__media[data-scene="halo"] .nxs__scene-halo {
  inset:10% 7% 20%; border:1px solid color-mix(in srgb,var(--scene-palette) 38%,transparent);
  background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--scene-palette) 45%,transparent) 0%,color-mix(in srgb,var(--scene-palette) 18%,transparent) 58%,transparent 72%);
  box-shadow:0 0 28px color-mix(in srgb,var(--scene-palette) 18%,transparent),inset 0 0 36px #ffffff45;
}
.nxs.nxs--scenes .nxs__media[data-scene="lifestyle"] .nxs__scene-halo { opacity:calc(var(--halo-opacity)*.22); }
/* Explicit material choices remain effective for every physical shape. */
.nxs.nxs--scenes .nxs__media[data-material="transparent"] .nxs__scene-base { background:transparent; }
.nxs.nxs--scenes .nxs__media[data-material="frosted"] .nxs__scene-base { background:color-mix(in srgb,var(--scene-surface) 45%,transparent); backdrop-filter:blur(5px); }
@media(max-width:767px){
  .nxs.nxs--scenes .nxs__media[data-base="glass"] .nxs__scene-base{--base-depth:14px;backdrop-filter:none;}
  .nxs.nxs--scenes .nxs__media[data-base="shelf"] .nxs__scene-base{--base-depth:10px;}
  .nxs.nxs--scenes .nxs__media[data-base="floor"] .nxs__scene-base::after{height:24px;}
}


/* Decorative hanging-ticket slot, shared by the weekly icon and receipt cards. */
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket {
  padding-top: 29px;
}
.nxs:is(.nxs--card-weekly, .nxs--card-receipt) .nxs__saving-ticket > span::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: clamp(36px, 12cqw, 54px);
  height: 7px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #f7f8fa;
  box-shadow: inset 0 1px 2px rgba(60, 35, 20, .24), 0 1px 0 rgba(255, 255, 255, .35);
  pointer-events: none;
}
