/* ===========================================================
   Woo Video Shopping 2.0 — premium vertical shopping feed
   Scoped under .wvs-app. No theme bleed.
   =========================================================== */

.wvs-app{
  --wvs-height: 78vh;
  --wvs-bg:#08080b;
  --wvs-fg:#fff;
  --wvs-accent:#fe2c55;
  --wvs-accent-2:#ff5e7e;
  --wvs-cyan:#25f4ee;
  --wvs-gold:#ffcf3f;
  --wvs-glass:rgba(255,255,255,.12);
  --wvs-glass-bd:rgba(255,255,255,.18);
  --wvs-radius:22px;
  --wvs-bar-h:74px;
  --wvs-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  position:relative;
  width:100%;
  max-width:440px;
  height:var(--wvs-height);
  margin:0 auto;
  background:var(--wvs-bg);
  color:var(--wvs-fg);
  border-radius:var(--wvs-radius);
  overflow:hidden;
  font-family:var(--wvs-font);
  -webkit-tap-highlight-color:transparent;
  isolation:isolate;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6);
}
.wvs-app *{box-sizing:border-box;}

/* ---------- standalone full page ---------- */
body.wvs-fullpage{margin:0;background:#000;overflow:hidden;}
body.wvs-fullpage .wvs-app{
  --wvs-height:100dvh;
  max-width:100%;
  height:100dvh;
  height:100svh;
  border-radius:0;
  box-shadow:none;
}
/* On wide screens the feed is centred in a phone frame over an ambient backdrop. */
@media (min-width:760px){
  body.wvs-fullpage{
    display:flex;align-items:center;justify-content:center;
    background:#0b0b0f;
  }
  body.wvs-fullpage::before{
    content:"";position:fixed;inset:-10%;z-index:0;
    background-image:var(--wvs-page-bg,none);
    background-size:cover;background-position:center;
    filter:blur(60px) saturate(1.3) brightness(.55);
    transform:scale(1.15);
  }
  body.wvs-fullpage .wvs-app{
    --wvs-height:min(92dvh,860px);
    height:min(92dvh,860px);
    max-width:430px;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 40px 120px -20px rgba(0,0,0,.85);
    z-index:1;
  }
}
.wvs-back{
  position:fixed;top:16px;left:16px;z-index:60;
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;background:rgba(0,0,0,.4);
  border-radius:50%;backdrop-filter:blur(8px);
}

/* ambient blurred backdrop inside the app (mirrors current product) */
.wvs-ambient{
  position:absolute;inset:0;z-index:0;
  background-image:var(--wvs-card-bg,none);
  background-size:cover;background-position:center;
  filter:blur(40px) brightness(.5) saturate(1.2);
  transform:scale(1.2);
  transition:background-image .4s ease;
}

/* ---------- top category tabs ---------- */
.wvs-tabs{
  position:absolute;top:0;left:0;right:0;z-index:25;
  display:flex;gap:8px;padding:14px 56px 12px 16px;
  overflow-x:auto;scrollbar-width:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0));
  -webkit-mask-image:linear-gradient(to right,#000 88%,transparent);
}
.wvs-tabs::-webkit-scrollbar{display:none;}
.wvs-tab{
  flex:0 0 auto;border:0;cursor:pointer;
  background:transparent;color:rgba(255,255,255,.7);
  font:600 14px/1 var(--wvs-font);padding:6px 4px;position:relative;
  white-space:nowrap;transition:color .2s;
}
.wvs-tab.is-on{color:#fff;}
.wvs-tab.is-on::after{
  content:"";position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);
  width:18px;height:3px;border-radius:2px;background:var(--wvs-accent);
}

/* ---------- feed ---------- */
.wvs-feed{
  position:relative;z-index:1;
  height:100%;
  overflow-y:scroll;overflow-x:hidden;
  scroll-snap-type:y mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.wvs-feed::-webkit-scrollbar{display:none;}

.wvs-card{
  position:relative;height:100%;
  scroll-snap-align:start;scroll-snap-stop:always;
  overflow:hidden;background:#0a0a0e;
  display:flex;align-items:center;justify-content:center;
}

.wvs-media{position:absolute;inset:0;}
/* blurred fill behind contained media — any aspect ratio looks intentional */
.wvs-blur{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  filter:blur(32px) brightness(.5) saturate(1.3);
  transform:scale(1.3);
}
.wvs-media > video{
  position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;
}

/* image-as-video carousel */
.wvs-slides{
  position:absolute;inset:0;z-index:1;display:flex;
  overflow-x:scroll;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.wvs-slides::-webkit-scrollbar{display:none;}
.wvs-slide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:center;overflow:hidden;}
.wvs-slide img{
  position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;
  transform:scale(1.02);
}

.wvs-app[data-motion="kenburns"] .wvs-card.is-active .wvs-slide.is-shown img{animation:wvsKB 9s ease-in-out infinite alternate;}
.wvs-app[data-motion="pan"] .wvs-card.is-active .wvs-slide.is-shown img{animation:wvsPan 10s linear infinite alternate;}
@keyframes wvsKB{from{transform:scale(1.02);}to{transform:scale(1.12);}}
@keyframes wvsPan{from{transform:scale(1.08) translateY(-3%);}to{transform:scale(1.08) translateY(3%);}}
@media (prefers-reduced-motion:reduce){.wvs-slide img{animation:none !important;transform:scale(1.02);}}

.wvs-scrim{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.82) 12%,rgba(0,0,0,.5) 28%,rgba(0,0,0,.18) 42%,rgba(0,0,0,0) 58%),
    linear-gradient(to bottom,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 20%);
}

/* slide dots */
.wvs-dots{position:absolute;top:58px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:6;}
.wvs-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);transition:.25s;}
.wvs-dot.is-on{background:#fff;width:18px;border-radius:4px;}

/* badges (sale / stock) top-left of card */
.wvs-badges{position:absolute;top:54px;left:16px;z-index:6;display:flex;flex-direction:column;gap:7px;align-items:flex-start;}
.wvs-badge{
  font:700 11px/1 var(--wvs-font);letter-spacing:.04em;
  padding:6px 10px;border-radius:8px;backdrop-filter:blur(6px);
}
.wvs-badge.sale{background:var(--wvs-accent);color:#fff;}
.wvs-badge.stock{background:rgba(255,207,63,.95);color:#241a00;}

/* ---------- right action rail ---------- */
.wvs-rail{
  position:absolute;right:12px;bottom:calc(var(--wvs-bar-h) + 84px);z-index:8;
  display:flex;flex-direction:column;align-items:center;gap:20px;
}
.wvs-act{
  background:none;border:0;cursor:pointer;color:#fff;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  font:600 12px/1 var(--wvs-font);padding:0;
}
.wvs-act-ic{
  width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));
  transition:transform .16s,color .2s;
}
.wvs-act-ic svg{width:33px;height:33px;}
.wvs-act:active .wvs-act-ic{transform:scale(.84);}
.wvs-act.is-active.wvs-like .wvs-act-ic{color:var(--wvs-accent);}
.wvs-act.is-active.wvs-save .wvs-act-ic{color:var(--wvs-gold);}
.wvs-count{text-shadow:0 1px 4px rgba(0,0,0,.8);min-height:12px;font-weight:700;}
.wvs-pop{animation:wvsPop .42s ease;}
@keyframes wvsPop{0%{transform:scale(1);}40%{transform:scale(1.35);}100%{transform:scale(1);}}

/* brand avatar + follow */
.wvs-avatar{
  position:relative;width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--wvs-accent),var(--wvs-cyan));
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:18px;color:#fff;border:2px solid #fff;
  box-shadow:0 4px 14px rgba(0,0,0,.4);
}
.wvs-follow{
  position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);
  width:22px;height:22px;border-radius:50%;border:2px solid #fff;cursor:pointer;
  background:var(--wvs-accent);color:#fff;font-size:15px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,transform .15s;
}
.wvs-follow:active{transform:translateX(-50%) scale(.85);}
.wvs-follow.is-active{background:#2ecc71;}

/* heart burst */
.wvs-heart-burst{
  position:absolute;top:50%;left:50%;z-index:9;color:var(--wvs-accent);
  pointer-events:none;transform:translate(-50%,-50%) scale(0);opacity:0;
  filter:drop-shadow(0 6px 22px rgba(0,0,0,.45));
}
.wvs-heart-burst svg{width:110px;height:110px;}
.wvs-heart-burst.go{animation:wvsBurst .8s ease forwards;}
@keyframes wvsBurst{
  0%{transform:translate(-50%,-50%) scale(0) rotate(-12deg);opacity:0;}
  25%{transform:translate(-50%,-50%) scale(1.12) rotate(8deg);opacity:1;}
  60%{transform:translate(-50%,-50%) scale(1) rotate(-4deg);opacity:1;}
  100%{transform:translate(-50%,-60%) scale(1.18) rotate(0);opacity:0;}
}

/* ---------- product info ---------- */
.wvs-info{
  position:absolute;left:0;right:0;bottom:var(--wvs-bar-h);z-index:7;
  padding:14px 84px 14px 16px;
}
.wvs-info *{text-shadow:0 1px 8px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.6);}
.wvs-brandline{display:flex;align-items:center;gap:8px;margin-bottom:7px;flex-wrap:nowrap;min-width:0;}
.wvs-brandname{
  font-weight:700;font-size:15px;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wvs-cats{font-size:12px;opacity:.78;white-space:nowrap;flex:0 0 auto;}
.wvs-title{
  font-size:15.5px;font-weight:650;line-height:1.34;margin:0 0 5px;
  color:#fff;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wvs-detailtoggle{
  display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  background:none;border:0;color:rgba(255,255,255,.9);
  font:600 12.5px/1 var(--wvs-font);padding:4px 0;margin:0 0 6px;
}
.wvs-detailtoggle svg{width:13px;height:13px;}
.wvs-price{font-size:19px;font-weight:800;margin-bottom:3px;letter-spacing:-.01em;}
.wvs-price del{opacity:.6;font-weight:500;font-size:14px;margin-right:7px;}
.wvs-price ins{text-decoration:none;color:#fff;}
.wvs-rating{font-size:12px;opacity:.88;display:inline-flex;gap:5px;align-items:center;}
.wvs-rating .star{color:var(--wvs-gold);}

/* ---------- buy bar (always visible, safe-area aware) ---------- */
.wvs-buybar{
  position:absolute;left:0;right:0;bottom:0;z-index:9;
  display:flex;gap:10px;align-items:center;
  height:var(--wvs-bar-h);
  padding:0 14px;
  padding-bottom:env(safe-area-inset-bottom);
  background:linear-gradient(to top,rgba(0,0,0,.72) 30%,rgba(0,0,0,0));
}
.wvs-wa{
  flex:0 0 auto;width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.2);
  background:rgba(37,211,102,.16);color:#25d366;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.wvs-wa svg{width:24px;height:24px;}
.wvs-btn{
  flex:1;border:0;cursor:pointer;border-radius:14px;
  font:700 15px/1 var(--wvs-font);height:48px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  transition:transform .12s,filter .2s,opacity .2s;
}
.wvs-btn:active{transform:scale(.97);}
.wvs-btn[disabled]{opacity:.45;cursor:not-allowed;}
.wvs-btn svg{width:18px;height:18px;}
.wvs-cart{background:var(--wvs-glass);color:#fff;border:1px solid var(--wvs-glass-bd);backdrop-filter:blur(10px);}
.wvs-buy{background:linear-gradient(135deg,var(--wvs-accent),var(--wvs-accent-2));color:#fff;box-shadow:0 8px 22px -6px rgba(254,44,85,.6);}
.wvs-btn.is-busy{pointer-events:none;}

/* play/pause + progress */
.wvs-playpause{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;
  color:rgba(255,255,255,.9);pointer-events:none;opacity:0;transition:opacity .2s;
}
.wvs-playpause svg{width:64px;height:64px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));}
.wvs-card.is-paused .wvs-playpause{opacity:1;}
.wvs-progress{position:absolute;left:0;right:0;bottom:var(--wvs-bar-h);height:3px;z-index:8;background:rgba(255,255,255,.16);}
.wvs-progress-fill{height:100%;width:0;background:#fff;}

/* ---------- mute + cart bubble (top right) ---------- */
.wvs-mute,.wvs-cartbubble{
  position:absolute;z-index:30;border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.42);color:#fff;backdrop-filter:blur(8px);cursor:pointer;
}
.wvs-mute{top:16px;right:16px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.wvs-mute svg{width:20px;height:20px;}
.wvs-cartbubble{top:16px;right:64px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.wvs-tabs ~ .wvs-mute{top:54px;}
.wvs-tabs ~ .wvs-cartbubble{top:54px;}
.wvs-cartbubble-n{
  position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;
  background:var(--wvs-accent);color:#fff;border-radius:9px;
  font:700 11px/18px var(--wvs-font);text-align:center;
}
.wvs-cartbubble[data-empty="1"] .wvs-cartbubble-n{display:none;}

/* ---------- bottom sheet / drawer ---------- */
.wvs-sheet{position:absolute;inset:0;z-index:80;}
.wvs-sheet-scrim{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .25s;}
.wvs-sheet.is-open .wvs-sheet-scrim{opacity:1;}
.wvs-sheet-panel{
  position:absolute;left:0;right:0;bottom:0;
  max-height:82%;display:flex;flex-direction:column;
  background:#16161c;color:#fff;
  border-radius:22px 22px 0 0;
  transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);
  padding:18px 18px calc(18px + env(safe-area-inset-bottom));
  box-shadow:0 -20px 60px rgba(0,0,0,.5);
}
.wvs-sheet.is-open .wvs-sheet-panel{transform:translateY(0);}
.wvs-sheet-panel::before{
  content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);
  width:38px;height:4px;border-radius:2px;background:rgba(255,255,255,.25);
}
.wvs-sheet-close{
  position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;font-size:20px;line-height:1;cursor:pointer;
}
.wvs-sheet-body{overflow-y:auto;margin-top:14px;}

/* variation picker */
.wvs-vgroup{margin-bottom:16px;}
.wvs-vgroup-label{font:600 13px/1 var(--wvs-font);opacity:.7;margin-bottom:9px;}
.wvs-vopts{display:flex;flex-wrap:wrap;gap:8px;}
.wvs-vopt{
  border:1.5px solid rgba(255,255,255,.2);background:transparent;color:#fff;
  border-radius:10px;padding:9px 14px;font:600 13.5px/1 var(--wvs-font);cursor:pointer;transition:.18s;
}
.wvs-vopt.is-on{border-color:var(--wvs-accent);background:rgba(254,44,85,.16);}
.wvs-vopt[disabled]{opacity:.3;cursor:not-allowed;text-decoration:line-through;}
.wvs-vprice{font-size:20px;font-weight:800;margin:6px 0 14px;}
.wvs-qtyrow{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.wvs-qtyrow .lbl{font:600 13px/1 var(--wvs-font);opacity:.7;}
.wvs-stepper{display:flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.2);border-radius:10px;overflow:hidden;}
.wvs-stepper button{width:38px;height:38px;border:0;background:rgba(255,255,255,.06);color:#fff;font-size:18px;cursor:pointer;}
.wvs-stepper span{min-width:40px;text-align:center;font-weight:700;}
.wvs-sheet-cta{
  width:100%;border:0;border-radius:14px;height:52px;cursor:pointer;
  background:linear-gradient(135deg,var(--wvs-accent),var(--wvs-accent-2));color:#fff;
  font:700 16px/1 var(--wvs-font);box-shadow:0 10px 26px -8px rgba(254,44,85,.6);
}
.wvs-sheet-cta[disabled]{opacity:.45;}

/* details sheet */
.wvs-detail-title{font:700 17px/1.3 var(--wvs-font);margin:0 0 6px;}
.wvs-detail-price{font-size:18px;font-weight:800;margin-bottom:12px;}
.wvs-detail-desc{font-size:14px;line-height:1.6;opacity:.9;}
.wvs-detail-desc p{margin:0 0 10px;}
.wvs-detail-desc img{max-width:100%;height:auto;border-radius:10px;}

/* cart drawer */
.wvs-cartlist{display:flex;flex-direction:column;gap:12px;}
.wvs-citem{display:flex;gap:12px;align-items:center;}
.wvs-citem img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:#222;}
.wvs-citem-main{flex:1;min-width:0;}
.wvs-citem-name{font:600 13.5px/1.3 var(--wvs-font);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wvs-citem-price{font-size:13px;opacity:.7;margin-top:2px;}
.wvs-citem .wvs-stepper{transform:scale(.85);}
.wvs-cremove{border:0;background:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:20px;padding:4px;}
.wvs-cartfoot{margin-top:16px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;}
.wvs-cartfoot-row{display:flex;justify-content:space-between;font-weight:700;font-size:16px;margin-bottom:14px;}
.wvs-cartfoot-btns{display:flex;gap:10px;}
.wvs-cartfoot-btns a{flex:1;text-align:center;text-decoration:none;border-radius:14px;height:50px;display:flex;align-items:center;justify-content:center;font-weight:700;}
.wvs-cf-view{background:rgba(255,255,255,.1);color:#fff;}
.wvs-cf-checkout{background:linear-gradient(135deg,var(--wvs-accent),var(--wvs-accent-2));color:#fff;}
.wvs-cart-empty{text-align:center;opacity:.6;padding:40px 0;}

/* ---------- loaders / end ---------- */
.wvs-boot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#08080b;z-index:40;}
.wvs-boot.is-hidden{display:none;}
.wvs-spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.22);border-top-color:#fff;animation:wvsSpin .8s linear infinite;}
@keyframes wvsSpin{to{transform:rotate(360deg);}}
.wvs-end{height:100%;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#9a9aa6;text-align:center;padding:24px;}
.wvs-end-emoji{font-size:46px;}
.wvs-end button{background:var(--wvs-accent);color:#fff;border:0;border-radius:999px;padding:12px 26px;font-weight:700;cursor:pointer;}

/* toast */
.wvs-toast{
  position:absolute;left:50%;bottom:calc(var(--wvs-bar-h) + 24px);transform:translate(-50%,12px);
  z-index:70;max-width:84%;padding:11px 18px;border-radius:14px;
  background:rgba(18,18,22,.94);border:1px solid rgba(255,255,255,.1);color:#fff;
  font:600 14px/1.3 var(--wvs-font);opacity:0;pointer-events:none;transition:.25s;text-align:center;
  backdrop-filter:blur(10px);
}
.wvs-toast.is-show{opacity:1;transform:translate(-50%,0);}

/* product page button + fab */
.wvs-launch-btn{margin-top:10px;display:inline-flex;align-items:center;}
.wvs-fab{
  position:fixed;right:18px;bottom:84px;z-index:9990;
  display:flex;align-items:center;gap:8px;text-decoration:none;
  background:linear-gradient(135deg,#fe2c55,#ff5e7e);color:#fff;padding:12px 18px;border-radius:999px;
  font-weight:700;box-shadow:0 10px 28px rgba(254,44,85,.4);
}

/* skeleton */
.wvs-skel{position:absolute;inset:0;background:linear-gradient(110deg,#141419 30%,#1d1d25 50%,#141419 70%);background-size:200% 100%;animation:wvsShimmer 1.4s linear infinite;}
@keyframes wvsShimmer{to{background-position:-200% 0;}}

/* ===========================================================
   2.0.2 — full-screen embed (Taobao-style immersion),
   image-fit override, clip guards
   =========================================================== */

/* Full-screen embed: portaled to <body>, covers everything edge-to-edge */
.wvs-app.is-fullscreen{
  position:fixed;inset:0;z-index:2147483000;
  width:100vw;max-width:none;
  height:100dvh;height:100svh;
  margin:0;border-radius:0;box-shadow:none;
}
body.wvs-lock{overflow:hidden !important;}

/* dedicated header for the feed screen (replaces the site header) */
.wvs-fs-header{display:none;}
.wvs-app.is-fullscreen .wvs-fs-header{
  display:flex;align-items:center;gap:8px;
  position:absolute;top:0;left:0;right:0;z-index:58;
  height:calc(54px + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) 14px 0 6px;
  background:linear-gradient(to bottom,rgba(0,0,0,.6) 30%,rgba(0,0,0,0));
  pointer-events:none;
}
.wvs-fs-close{
  width:42px;height:42px;border:0;border-radius:50%;cursor:pointer;flex:0 0 auto;
  background:rgba(0,0,0,.38);color:#fff;backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;pointer-events:auto;
}
.wvs-fs-close svg{width:22px;height:22px;}
.wvs-fs-title{
  font:700 16px/1 var(--wvs-font);color:#fff;pointer-events:none;
  text-shadow:0 1px 6px rgba(0,0,0,.7);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* in fullscreen, push tabs + controls below the dedicated header */
.wvs-app.is-fullscreen .wvs-tabs{
  top:calc(54px + env(safe-area-inset-top));
  padding-top:0;background:none;-webkit-mask-image:none;
}
.wvs-app.is-fullscreen .wvs-mute,
.wvs-app.is-fullscreen .wvs-cartbubble{top:calc(env(safe-area-inset-top) + 8px);z-index:60;}
.wvs-app.is-fullscreen .wvs-tabs ~ .wvs-mute,
.wvs-app.is-fullscreen .wvs-tabs ~ .wvs-cartbubble{top:calc(env(safe-area-inset-top) + 8px);}

/* Image fit override (merchant choice). Default in base CSS is contain. */
.wvs-app[data-fit="cover"] .wvs-slide img,
.wvs-app[data-fit="cover"] .wvs-media > video{object-fit:cover;}
.wvs-app[data-fit="cover"] .wvs-blur{display:none;}

/* clip guards: never let info text bleed off-screen */
.wvs-app,.wvs-feed,.wvs-card{max-width:100%;}
.wvs-info{max-width:100%;}
.wvs-brandname,.wvs-title{overflow-wrap:anywhere;}

/* 2.0.3 — fullscreen scrim + desktop phone-frame */
.wvs-fs-scrim{position:fixed;inset:0;z-index:2147482999;background:#0b0b0f;}
@media (min-width:760px){
  .wvs-app.is-fullscreen{
    inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);
    width:430px;max-width:430px;
    height:min(94dvh,880px);
    border-radius:28px;border:1px solid rgba(255,255,255,.08);
    box-shadow:0 40px 120px -20px rgba(0,0,0,.85);
    overflow:hidden;
  }
  .wvs-fs-scrim{background:#0b0b0f;}
}
@media (max-width:759px){
  .wvs-fs-scrim{background:#000;}
}
