/* PupVibes Studio 0.6.167 — flat glass mockup to realistic glass preview
   Front-office only. If the uploaded mockup is a very flat white silhouette,
   keep the BO flat asset but render it like translucent glass for the customer. */

.pv-preview-inner.pv-flat-glass-detected{
  position:relative;
  isolation:isolate;
}

.pv-preview-inner .pv-mockup-image.pv-flat-glass-source{
  position:relative;
  z-index:1;
  opacity:.22 !important;
  filter:
    grayscale(1)
    saturate(0)
    brightness(1.16)
    contrast(0.96)
    drop-shadow(0 0 0.6px rgba(53,61,72,.74))
    drop-shadow(0 0 2.4px rgba(130,143,160,.22))
    drop-shadow(0 3px 16px rgba(88,96,110,.10));
}

.pv-preview-inner .pv-flat-glass-render{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  --pv-flat-glass-mask:none;
  -webkit-mask-image:var(--pv-flat-glass-mask);
  mask-image:var(--pv-flat-glass-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-size:contain;
  mask-size:contain;
  background:
    radial-gradient(ellipse at 50% 10%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.30) 12%, rgba(255,255,255,0) 30%),
    radial-gradient(ellipse at 52% 82%, rgba(255,255,255,.68) 0%, rgba(255,255,255,.18) 16%, rgba(255,255,255,0) 34%),
    linear-gradient(90deg,
      rgba(48,56,66,.70) 0%,
      rgba(255,255,255,.14) 9%,
      rgba(255,255,255,.54) 16%,
      rgba(255,255,255,.10) 23%,
      rgba(147,157,171,.16) 34%,
      rgba(255,255,255,.10) 49%,
      rgba(255,255,255,.62) 61%,
      rgba(89,98,110,.16) 74%,
      rgba(255,255,255,.34) 87%,
      rgba(54,63,74,.62) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.28) 0%,
      rgba(255,255,255,.12) 18%,
      rgba(229,235,242,.08) 48%,
      rgba(255,255,255,.06) 60%,
      rgba(118,128,142,.18) 80%,
      rgba(255,255,255,.38) 100%);
  opacity:.95;
  filter:
    drop-shadow(0 0 0.9px rgba(37,45,56,.78))
    drop-shadow(0 1px 1px rgba(112,120,135,.18))
    drop-shadow(0 6px 20px rgba(88,95,108,.08));
}

.pv-preview-inner .pv-flat-glass-render::before,
.pv-preview-inner .pv-flat-glass-render::after{
  content:'';
  position:absolute;
  inset:0;
  -webkit-mask-image:var(--pv-flat-glass-mask);
  mask-image:var(--pv-flat-glass-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

/* Thin specular strokes to recover the realistic rim / stem feeling. */
.pv-preview-inner .pv-flat-glass-render::before{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.68) 12%,
      rgba(255,255,255,.12) 20%,
      rgba(255,255,255,0) 28%,
      rgba(255,255,255,.12) 55%,
      rgba(255,255,255,.74) 65%,
      rgba(255,255,255,.08) 74%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.52) 0%,
      rgba(255,255,255,.05) 10%,
      rgba(255,255,255,0) 35%,
      rgba(255,255,255,.05) 70%,
      rgba(255,255,255,.38) 100%);
  mix-blend-mode:screen;
  opacity:.88;
}

/* Soft translucent volume. */
.pv-preview-inner .pv-flat-glass-render::after{
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.30) 0%, rgba(255,255,255,.12) 25%, rgba(255,255,255,.02) 52%, rgba(255,255,255,0) 70%),
    linear-gradient(180deg, rgba(222,228,236,.18) 0%, rgba(255,255,255,.02) 38%, rgba(103,112,126,.14) 100%);
  mix-blend-mode:normal;
  opacity:.82;
}
