.pnf-ws{--ws-accent:#690b78;width:100%;max-width:1200px;margin:32px auto;font-family:inherit}.pnf-ws *,.pnf-ws-modal *{box-sizing:border-box}.pnf-ws-heading{text-align:center;margin-bottom:20px}.pnf-ws-heading h2{margin:0 0 6px;font-size:clamp(22px,3vw,32px)}.pnf-ws-heading span{color:#69616d;font-size:14px}.pnf-ws-list{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;width:fit-content;max-width:100%;margin:auto}.pnf-ws-card{position:relative;flex:0 0 210px;aspect-ratio:9/16;border:0;border-radius:12px;background:#27182b;color:white;padding:0;overflow:hidden;cursor:pointer;scroll-snap-align:start;text-align:left}.pnf-ws-card video{width:100%;height:100%;object-fit:cover;display:block}.pnf-ws-card:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}.pnf-ws-play{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:#ffffffbb;color:#690b78;border-radius:50%;width:38px;height:38px;z-index:1;font-size:13px}.pnf-ws-caption{position:absolute;bottom:16px;left:12px;right:12px;z-index:1;font-weight:600;line-height:1.35;font-size:14px}.pnf-ws-caption small{display:block;font-weight:400;font-size:11px;margin-top:5px}.pnf-ws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,210px));justify-content:center;overflow:visible;width:100%}.pnf-ws-stories .pnf-ws-card{flex-basis:116px;aspect-ratio:1;border:3px solid var(--ws-accent);border-radius:50%}.pnf-ws-stories .pnf-ws-caption{display:none}.pnf-ws-modal{width:min(450px,100%);max-width:100%;height:min(800px,94dvh);max-height:100dvh;padding:0;border:0;border-radius:14px;background:#09070a;color:#fff;font-family:inherit;overflow:hidden;margin:auto}.pnf-ws-modal::backdrop{background:#0c0714dc}.pnf-ws-modal{overscroll-behavior:none}.pnf-ws-product-list{overscroll-behavior-x:contain;touch-action:pan-x pan-y}.pnf-ws-feed{height:100%;width:100%;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:none;touch-action:pan-y;scrollbar-width:none}.pnf-ws-feed::-webkit-scrollbar{display:none}.pnf-ws-reel{position:relative;height:100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;background:#09070a;isolation:isolate}.pnf-ws-reel>video{width:100%;height:100%;object-fit:cover;display:block}.pnf-ws-reel:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008);z-index:0;pointer-events:none}.pnf-ws-modal button{font-family:inherit;cursor:pointer}.pnf-ws-close,.pnf-ws-sound,.pnf-ws-toggle{position:absolute;display:grid;place-items:center;width:40px;height:40px;padding:0!important;border:1px solid #ffffff88!important;border-radius:50%!important;background:#0006!important;color:#fff!important;z-index:4}.pnf-ws-close{top:14px;right:14px;font-size:27px}.pnf-ws-sound{right:66px;top:14px}.pnf-ws-sound.is-muted{opacity:.65}.pnf-ws-modal svg{width:24px;height:24px}.pnf-ws-toggle{top:45%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;font-size:20px}.pnf-ws-toggle[hidden]{display:none!important}.pnf-ws-social{position:absolute;right:12px;bottom:245px;z-index:3;display:flex;flex-direction:column;gap:20px;text-align:center}.pnf-ws-social button,.pnf-ws-views{border:0!important;background:transparent!important;color:white!important;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0!important;font-size:12px;text-shadow:0 1px 3px #000}.pnf-ws-social svg{width:27px;height:27px;filter:drop-shadow(0 1px 2px #000)}.pnf-ws-like[aria-pressed=true] svg{fill:#e72f60;stroke:#e72f60}.pnf-ws-bottom{position:absolute;bottom:18px;left:18px;right:18px;z-index:2}.pnf-ws-reel-title{font-size:13px;color:#fff;margin:0 50px 10px 0;text-shadow:0 1px 3px #000}.pnf-ws-product-list{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;scrollbar-width:thin}.pnf-ws-product{flex:0 0 100%;scroll-snap-align:start;background:#fff;color:#231c28;border-radius:14px;padding:14px;min-width:0}.pnf-ws-product-top{display:flex;gap:12px;align-items:center}.pnf-ws-product-top img{width:58px;height:58px;object-fit:contain;background:#f7f4f9;border-radius:8px;flex-shrink:0}.pnf-ws-product-top>div{flex:1;min-width:0}.pnf-ws-product a{color:#231c28;text-decoration:none;font-size:14px;font-weight:600;line-height:1.35}.pnf-ws-price{margin-top:6px;font-size:14px;font-weight:600;color:#690b78}.pnf-ws-price del{font-weight:400;opacity:.65}.pnf-ws-product .pnf-ws-cart,.pnf-ws-product .pnf-ws-options{width:100%;display:block;text-align:center;background:#690b78!important;color:#fff!important;border:0!important;padding:12px!important;border-radius:8px!important;font-size:13px;font-weight:600;line-height:1.4;margin-top:12px;text-transform:none!important}.pnf-ws-cart:disabled{opacity:.6;cursor:wait}.pnf-ws-product .pnf-ws-view-cart{display:block;text-align:center;margin-top:7px;color:#690b78;font-size:12px}.pnf-ws-status{font-size:12px;margin:7px 0 0;color:#fff;text-shadow:0 1px 3px #000}.pnf-ws-status:empty{display:none}.pnf-ws-status a{color:#fff}.pnf-ws button:focus-visible,.pnf-ws-modal button:focus-visible,.pnf-ws-modal a:focus-visible{outline:3px solid #b779d4;outline-offset:3px}@media(max-width:640px){.pnf-ws{margin:24px auto}.pnf-ws-list{width:100%;gap:12px;padding:0 0 10px}.pnf-ws-card{flex:0 0 calc((100% - 12px)/2)}.pnf-ws-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pnf-ws-stories .pnf-ws-card{flex-basis:calc((100% - 12px)/2)}.pnf-ws-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.pnf-ws-bottom{bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px}.pnf-ws-close,.pnf-ws-sound{top:max(14px,env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){.pnf-ws-feed{scroll-behavior:auto}}

/* Compact product cards and desktop product browsing. */
.pnf-ws-product-list{scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.pnf-ws-product-list::-webkit-scrollbar{display:none;width:0;height:0}
.pnf-ws-product-list.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.pnf-ws-product-list.is-dragging *{cursor:grabbing!important}
.pnf-ws-product{padding:10px;border-radius:10px}
.pnf-ws-product-top{gap:9px}
.pnf-ws-product-top img{width:44px;height:44px;border-radius:6px}
.pnf-ws-product-top a{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.pnf-ws-price{font-size:12px;margin-top:4px}
.pnf-ws-product .pnf-ws-cart,.pnf-ws-product .pnf-ws-options{padding:9px!important;margin-top:8px;font-size:12px}
.pnf-ws-product .pnf-ws-view-cart{margin-top:4px;font-size:11px;line-height:1.3}
.pnf-ws-social{bottom:210px}
.pnf-ws-status{font-size:11px;margin-top:5px}
@media(max-width:640px){.pnf-ws-heading{text-align:left}}

.pnf-ws-product-list.is-wheeling{scroll-snap-type:none}

/* Instagram-style playback timeline. */
.pnf-ws-timeline{position:absolute;top:7px;left:10px;width:calc(100% - 20px);height:3px;margin:0;padding:0;border:0;border-radius:4px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#ffffff55;color:#fff;z-index:5;pointer-events:none}
.pnf-ws-timeline::-webkit-progress-bar{background:#ffffff55;border-radius:4px}
.pnf-ws-timeline::-webkit-progress-value{background:#fff;border-radius:4px}
.pnf-ws-timeline::-moz-progress-bar{background:#fff;border-radius:4px}
@media(max-width:640px){.pnf-ws-timeline{top:max(7px,env(safe-area-inset-top))}.pnf-ws-close,.pnf-ws-sound{top:calc(max(7px,env(safe-area-inset-top)) + 12px)}}

/* 1.1.6 — Thumbnail view/like counters. */
.pnf-ws-stats{position:absolute;top:10px;left:10px;right:10px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}
.pnf-ws-stat{display:inline-flex;align-items:center;gap:4px;padding:4px 9px 4px 7px;border-radius:999px;background:rgba(15,8,20,.42);-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(255,255,255,.22);color:#fff!important;font-size:11px;font-weight:600;line-height:1;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 1px 4px rgba(0,0,0,.25)}
.pnf-ws-stat svg{width:12px;height:12px;flex-shrink:0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.pnf-ws-stat b{font-weight:600}
.pnf-ws-stat-likes svg{color:#ff6b8f}
.pnf-ws .pnf-ws-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pnf-ws-stories .pnf-ws-stats{top:16%;left:0;right:0;justify-content:center;gap:3px}
.pnf-ws-stories .pnf-ws-stat{padding:3px 6px 3px 5px;font-size:9px;gap:3px}
.pnf-ws-stories .pnf-ws-stat svg{width:9px;height:9px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pnf-ws-stat{background:rgba(15,8,20,.62)}}

/* 1.1.6 — Reel timeline stays visible on bright/white footage. */
.pnf-ws-reel:before{content:'';position:absolute;inset:0 0 auto;height:96px;background:linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.12) 55%,transparent);z-index:1;pointer-events:none}
.pnf-ws-timeline{height:3px;background:rgba(255,255,255,.5);filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(0,0,0,.35))}
.pnf-ws-timeline::-webkit-progress-bar{background:rgba(255,255,255,.5)}
.pnf-ws-timeline::-moz-progress-bar{background:#fff}
.pnf-ws-reel:after{inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}

/* 1.1.6 — Frosted-glass product cards. */
.pnf-ws-product{position:relative;background:rgba(28,18,34,.34);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:14px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px rgba(255,255,255,.04);overflow:hidden}
.pnf-ws-product:before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.04) 45%,rgba(255,255,255,0));pointer-events:none}
.pnf-ws-product>*{position:relative}
.pnf-ws-product-top img{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.55);box-shadow:0 2px 6px rgba(0,0,0,.18)}
.pnf-ws-product a,.pnf-ws-product a:hover{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.pnf-ws-price{color:#f2d4f8;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.pnf-ws-price del{color:#fff}
.pnf-ws-price ins{text-decoration:none;color:inherit}
.pnf-ws-product .pnf-ws-cart,.pnf-ws-product .pnf-ws-options{background:linear-gradient(135deg,rgba(130,26,148,.92),rgba(93,8,108,.92))!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 4px 12px rgba(60,0,72,.35),inset 0 1px 0 rgba(255,255,255,.25);backdrop-filter:blur(4px)}
.pnf-ws-product .pnf-ws-cart:hover,.pnf-ws-product .pnf-ws-options:hover{filter:brightness(1.1)}
.pnf-ws-product .pnf-ws-view-cart{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pnf-ws-product{background:rgba(28,18,34,.82)}}

/* 1.1.7 — Clean glass card edges, readable price, smooth timeline. */
.pnf-ws-modal .pnf-ws-product{overflow:visible;border-radius:14px;clip-path:inset(0 round 14px);-webkit-clip-path:inset(0 round 14px);background:rgba(18,10,24,.58);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),inset 0 1px 0 rgba(255,255,255,.4);transform:translateZ(0)}
.pnf-ws-modal .pnf-ws-product:before{border-radius:14px}
.pnf-ws-modal .pnf-ws-product-list{padding:2px 0;border-radius:14px}
.pnf-ws-modal .pnf-ws-product a{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.pnf-ws-modal .pnf-ws-price,.pnf-ws-modal .pnf-ws-price *{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.75)}
.pnf-ws-modal .pnf-ws-price{font-size:14px;font-weight:700;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.pnf-ws-modal .pnf-ws-price del,.pnf-ws-modal .pnf-ws-price del *{opacity:.7;font-weight:400;font-size:12px;text-decoration-thickness:1px}
.pnf-ws-modal .pnf-ws-price ins,.pnf-ws-modal .pnf-ws-price ins *{text-decoration:none;color:#f6d6ff!important;font-weight:700}
.pnf-ws-modal .pnf-ws-product .pnf-ws-view-cart{color:#fff!important;text-decoration:underline;text-underline-offset:2px;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.pnf-ws-modal .pnf-ws-product-top img{background:#fff}
.pnf-ws-timeline,.pnf-ws-timeline::-webkit-progress-value,.pnf-ws-timeline::-moz-progress-bar{transition:none}
.pnf-ws-timeline{will-change:contents}

/* 1.1.8 — Keep the UAE Dirham symbol (font, mask, background or image based) visible. */
.pnf-ws-modal .pnf-ws-price .woocommerce-Price-currencySymbol{display:inline-block;visibility:visible;opacity:1;color:inherit!important;text-shadow:none}
.pnf-ws-modal .pnf-ws-price .woocommerce-Price-currencySymbol[class*=dirham],.pnf-ws-modal .pnf-ws-price [class*=dirham],.pnf-ws-modal .pnf-ws-price [class*=aed]{background-color:currentColor}
.pnf-ws-modal .pnf-ws-price img{display:inline-block;vertical-align:-.1em;height:.85em;width:auto;filter:brightness(0) invert(1)}

/* 1.1.9 — Instagram-style reel timeline: eased dark scrim, soft layered shadow, GPU-smooth fill. */
.pnf-ws-reel:before{height:130px;background:linear-gradient(to bottom,rgba(0,0,0,.52) 0,rgba(0,0,0,.40) 18%,rgba(0,0,0,.27) 40%,rgba(0,0,0,.13) 66%,rgba(0,0,0,.04) 86%,rgba(0,0,0,0) 100%)}
.pnf-ws-modal .pnf-ws-timeline{position:absolute;display:block;top:8px;left:10px;width:calc(100% - 20px);height:3px;margin:0;padding:0;border:0;border-radius:3px;overflow:hidden;background:rgba(255,255,255,.34);filter:none;box-shadow:0 0 0 .5px rgba(0,0,0,.22),0 1px 2px rgba(0,0,0,.30),0 2px 8px rgba(0,0,0,.22);z-index:5;pointer-events:none;contain:layout paint}
.pnf-ws-modal .pnf-ws-timeline-fill{display:block;width:100%;height:100%;border-radius:3px;background:#fff;transform:scaleX(0);transform-origin:0 50%;will-change:transform;transition:none}
@media(max-width:640px){.pnf-ws-modal .pnf-ws-timeline{top:max(8px,env(safe-area-inset-top))}}

/* 1.1.10 — Double-tap to like with heart burst animation. */
.pnf-ws-reel>video{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.pnf-ws-burst{position:absolute;width:96px;height:96px;z-index:6;pointer-events:none;transform:translate(-50%,-50%);animation:pnf-ws-burst .9s ease-out forwards;will-change:transform,opacity}
.pnf-ws-burst>svg{width:100%;height:100%;fill:#ff2d55;stroke:#ff2d55;stroke-width:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}
.pnf-ws-spark{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;opacity:0;animation:pnf-ws-spark .8s ease-out .06s forwards}
.pnf-ws-spark svg{width:100%;height:100%;fill:#ff5c7f;stroke:#ff5c7f;stroke-width:1;transform:rotate(calc(var(--a) * -1))}
@keyframes pnf-ws-burst{0%{transform:translate(-50%,-50%) scale(.2) rotate(var(--tilt));opacity:0}15%{transform:translate(-50%,-50%) scale(1.25) rotate(var(--tilt));opacity:1}30%{transform:translate(-50%,-50%) scale(.95) rotate(var(--tilt))}70%{transform:translate(-50%,-50%) scale(1) rotate(var(--tilt));opacity:1}100%{transform:translate(-50%,-85%) scale(1.15) rotate(var(--tilt));opacity:0}}
@keyframes pnf-ws-spark{0%{transform:rotate(var(--a)) translateY(-28px) scale(.4);opacity:0}25%{opacity:1}100%{transform:rotate(var(--a)) translateY(-86px) scale(.9);opacity:0}}
.pnf-ws-like.is-pop svg{animation:pnf-ws-pop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes pnf-ws-pop{0%{transform:scale(.6)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.pnf-ws-burst{animation:pnf-ws-burst-rm .6s ease-out forwards}.pnf-ws-spark{display:none}.pnf-ws-like.is-pop svg{animation:none}@keyframes pnf-ws-burst-rm{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}}

/* 1.1.11 — Hold to pause, no native video menu. */
.pnf-ws-reel>video,.pnf-ws-card,.pnf-ws-card video{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.pnf-ws-reel.is-holding .pnf-ws-toggle{display:none!important}

/* 1.1.12 — No hover/active/focus effects on thumbnail cards or their titles (theme button:hover styles were fading the text). */
.pnf-ws .pnf-ws-card,.pnf-ws .pnf-ws-card:hover,.pnf-ws .pnf-ws-card:focus,.pnf-ws .pnf-ws-card:active{background:#27182b!important;color:#fff!important;opacity:1!important;filter:none!important;transform:none!important;box-shadow:none!important;text-shadow:none!important;transition:none!important;-webkit-tap-highlight-color:transparent}
.pnf-ws .pnf-ws-card:hover video,.pnf-ws .pnf-ws-card:active video{opacity:1!important;filter:none!important;transform:none!important}
.pnf-ws .pnf-ws-caption,.pnf-ws .pnf-ws-card:hover .pnf-ws-caption,.pnf-ws .pnf-ws-card:active .pnf-ws-caption,.pnf-ws .pnf-ws-card:focus .pnf-ws-caption,.pnf-ws .pnf-ws-caption small,.pnf-ws .pnf-ws-card:hover .pnf-ws-caption small,.pnf-ws .pnf-ws-card:active .pnf-ws-caption small{color:#fff!important;opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.pnf-ws .pnf-ws-card:hover:after,.pnf-ws .pnf-ws-card:active:after{opacity:1!important;transition:none!important}
.pnf-ws .pnf-ws-card:hover .pnf-ws-play,.pnf-ws .pnf-ws-card:active .pnf-ws-play,.pnf-ws .pnf-ws-card:hover .pnf-ws-stats,.pnf-ws .pnf-ws-card:active .pnf-ws-stats{opacity:1!important;transform:translate(-50%,-50%)!important;transition:none!important}
.pnf-ws .pnf-ws-card:hover .pnf-ws-stats,.pnf-ws .pnf-ws-card:active .pnf-ws-stats{transform:none!important}

/* 1.1.13 — Seekable timeline: tap or drag to go backward/forward. */
.pnf-ws-reel{--tl-top:8px}
@media(max-width:640px){.pnf-ws-reel{--tl-top:max(8px,env(safe-area-inset-top))}}
.pnf-ws-modal .pnf-ws-timeline{top:var(--tl-top);transition:transform .15s ease}
.pnf-ws-reel.is-scrubbing .pnf-ws-timeline{transform:scaleY(2)}
.pnf-ws-scrub{position:absolute;left:10px;width:calc(100% - 20px);top:calc(var(--tl-top) - 11.5px);height:26px;z-index:3;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.pnf-ws-scrub:focus-visible{outline:2px solid #fff;outline-offset:-2px;border-radius:6px}
.pnf-ws-scrub-thumb{position:absolute;top:50%;left:calc(var(--p,0) * 100%);width:14px;height:14px;margin:0;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.25),0 1px 4px rgba(0,0,0,.45);transform:translate(-50%,-50%) scale(0);opacity:0;transition:transform .15s ease,opacity .15s ease;pointer-events:none}
.pnf-ws-reel.is-scrubbing .pnf-ws-scrub-thumb{transform:translate(-50%,-50%) scale(1);opacity:1}
.pnf-ws-time{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 10px;border-radius:999px;background:rgba(15,8,20,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .15s ease}
.pnf-ws-reel.is-scrubbing .pnf-ws-time{opacity:1}
.pnf-ws-reel.is-scrubbing .pnf-ws-toggle{display:none!important}
@media(prefers-reduced-motion:reduce){.pnf-ws-modal .pnf-ws-timeline,.pnf-ws-scrub-thumb,.pnf-ws-time{transition:none}}

/* 1.1.14 — Product swipe tutorial hint + position dots. */
.pnf-ws-products{position:relative}
.pnf-ws-reel-title{transition:opacity .25s ease}
.pnf-ws-reel.is-hinting .pnf-ws-reel-title{opacity:0}
.pnf-ws-dots{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:8px;min-height:6px}
.pnf-ws-dots i{display:block;width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.55);box-shadow:0 0 0 .5px rgba(0,0,0,.25),0 1px 3px rgba(0,0,0,.4);transition:width .2s ease,background-color .2s ease}
.pnf-ws-dots i.is-active{width:16px;background:#fff}
.pnf-ws-hint{position:absolute;left:50%;bottom:calc(100% + 8px);display:flex;align-items:center;gap:8px;padding:8px 14px 8px 11px;border-radius:999px;background:rgba(18,10,24,.62);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 4px 16px rgba(0,0,0,.3);color:#fff;font-size:12.5px;font-weight:600;line-height:1;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.6);opacity:0;transform:translate(-50%,6px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;z-index:3}
.pnf-ws-hint.is-visible{opacity:1;transform:translate(-50%,0)}
.pnf-ws-hint svg{width:18px;height:18px;flex-shrink:0;stroke-width:2;animation:pnf-ws-hint-slide 1.2s ease-in-out infinite}
@keyframes pnf-ws-hint-slide{0%,100%{transform:translateX(3px)}50%{transform:translateX(-3px)}}
.pnf-ws-reel.is-hint-nudge .pnf-ws-product{animation:pnf-ws-nudge 1.2s ease-in-out .5s 1}
@keyframes pnf-ws-nudge{0%,100%{transform:translateX(0)}35%{transform:translateX(-34px)}70%{transform:translateX(0)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pnf-ws-hint{background:rgba(18,10,24,.88)}}
@media(prefers-reduced-motion:reduce){.pnf-ws-hint,.pnf-ws-dots i,.pnf-ws-reel-title{transition:none}.pnf-ws-hint svg,.pnf-ws-reel.is-hint-nudge .pnf-ws-product{animation:none}}

/* 1.1.15 — "Added to cart." is announced to screen readers but not shown; the button already says Added ✓. */
.pnf-ws-status.is-silent{position:absolute!important;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 1.3.0 — Quick view, quantity controls and a shared WooCommerce cart. */
.pnf-ws-modal [hidden]{display:none!important}
.pnf-ws-player-cart{position:absolute;left:14px;top:22px;z-index:7;display:flex;align-items:center;gap:7px;min-width:58px;height:40px;padding:7px 10px!important;border:1px solid #ffffff88!important;border-radius:22px!important;background:#0008!important;color:#fff!important}
.pnf-ws-cart-count{font-size:12px;font-weight:700}
.pnf-ws-quantity{display:flex;align-items:center;gap:0;width:112px;margin:8px 0;border:1px solid #ffffff66;border-radius:8px;overflow:hidden}
.pnf-ws-modal .pnf-ws-quantity button{width:34px;min-width:34px;height:34px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:20px}
.pnf-ws-modal .pnf-ws-quantity input{width:42px;min-width:0;height:34px;padding:0!important;margin:0;text-align:center;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:14px;appearance:textfield;-moz-appearance:textfield}
.pnf-ws-quantity input::-webkit-inner-spin-button,.pnf-ws-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pnf-ws-modal button:disabled{opacity:.5;cursor:default}
.pnf-ws-modal :is(button,a,input):focus-visible{outline:2px solid #bc76cc;outline-offset:2px}
.pnf-ws-sheet-overlay{position:absolute;inset:0;z-index:9;background:#0008;display:flex;align-items:flex-end}
.pnf-ws-sheet{width:100%;max-height:85%;display:flex;flex-direction:column;border-radius:18px 18px 0 0;background:#fff;color:#281c2c;overflow:hidden;box-shadow:0 -8px 28px #0004}
.pnf-ws-sheet header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #eee;flex-shrink:0}
.pnf-ws-sheet h3{margin:0;font-size:19px;color:#281c2c}
.pnf-ws-sheet header button{width:40px;height:40px;padding:0!important;border:0!important;border-radius:50%!important;background:#f3edf5!important;color:#281c2c!important;font-size:26px}
.pnf-ws-sheet-content{padding:16px 16px max(20px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;line-height:1.5}
.pnf-ws-sheet-content h4{font-size:20px;margin:14px 0 8px;color:#281c2c}
.pnf-ws-sheet-content a{color:#690b78!important;text-shadow:none;display:inline-block;margin-top:10px}
.pnf-ws-sheet-content .pnf-ws-primary{display:block;width:100%;padding:12px 16px!important;border:0!important;border-radius:10px!important;background:#690b78!important;color:#fff!important;text-align:center;text-decoration:none;font-size:14px;font-weight:600;margin:12px 0}
.pnf-ws-sheet-content .pnf-ws-quantity{border-color:#d9cbdf;color:#281c2c}
.pnf-ws-detail-images{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}
.pnf-ws-detail-images img{width:100%;height:210px;object-fit:contain;flex:0 0 100%;scroll-snap-align:start;border-radius:10px;background:#f8f6f9}
.pnf-ws-description{font-size:14px;margin:12px 0;overflow-wrap:anywhere}
.pnf-ws-description img{max-width:100%;height:auto}
.pnf-ws-cart-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eee}
.pnf-ws-cart-row>img{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#f8f6f9;flex-shrink:0}
.pnf-ws-cart-row>div{min-width:0;flex:1}.pnf-ws-cart-row strong{font-size:14px}.pnf-ws-cart-row dl{font-size:12px;margin:4px 0}
.pnf-ws-sheet-content .pnf-ws-text-button{border:0!important;padding:6px 10px!important;background:#f4eef6!important;color:#690b78!important;border-radius:6px!important;font-size:12px;margin-right:6px}
.pnf-ws-cart-total{font-weight:700;font-size:17px;margin:16px 0 6px}
.pnf-ws-video-retry{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);z-index:7;padding:10px 16px!important;border-radius:20px!important;border:1px solid #ffffff66!important;background:#000b!important;color:#fff!important;white-space:nowrap;font-size:13px}
.pnf-ws-modal .pnf-ws-social{bottom:285px}
@media(max-width:640px){.pnf-ws-player-cart{top:calc(max(8px,env(safe-area-inset-top)) + 14px)}}

/* 1.3.1 — Compact price/quantity row and clean quick-view image cards. */
.pnf-ws-modal .pnf-ws-product-top>div{min-width:0;flex:1}
.pnf-ws-price-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:5px}
.pnf-ws-modal .pnf-ws-price-row .pnf-ws-price{min-width:0;flex:1;font-size:13px;gap:2px 5px}
.pnf-ws-modal .pnf-ws-price-row .pnf-ws-quantity{flex:0 0 90px;width:90px;margin:0;border-radius:7px}
.pnf-ws-modal .pnf-ws-price-row .pnf-ws-quantity button{width:28px;min-width:28px;height:30px;font-size:18px}
.pnf-ws-modal .pnf-ws-price-row .pnf-ws-quantity input{width:32px;height:30px;font-size:13px}
.pnf-ws-reel.has-retry .pnf-ws-toggle{display:none!important}
.pnf-ws-modal .pnf-ws-sheet,.pnf-ws-modal .pnf-ws-sheet-content,.pnf-ws-modal .pnf-ws-detail-images{background:#fff!important}
.pnf-ws-modal .pnf-ws-detail-images img{background:#fff!important;border:1px solid #d3d3d3!important;border-radius:10px!important}
.pnf-ws-modal .pnf-ws-social{bottom:235px}

/* 1.3.3 — Reduce animation work (frosted glass is kept on every device since 1.4.0). */
/* was: Reduce compositing and animation work on touch/modest devices. */
.pnf-ws-card{contain:none;isolation:isolate}
.pnf-ws-lite .pnf-ws-stat svg{filter:none}
.pnf-ws-modal.pnf-ws-lite .pnf-ws-social svg{filter:none}
.pnf-ws-modal.pnf-ws-lite .pnf-ws-spark{display:none}
.pnf-ws-modal.pnf-ws-lite .pnf-ws-burst>svg{filter:none}
.pnf-ws-modal.pnf-ws-lite .pnf-ws-reel.is-hint-nudge .pnf-ws-product{animation:none}
.pnf-ws-modal .pnf-ws-reel:not(.is-active) :is(.pnf-ws-bottom,.pnf-ws-social,.pnf-ws-sound,.pnf-ws-scrub){visibility:hidden}

/* 1.4.0/1.4.1 — Instagram-style one-by-one front feed. */
.pnf-ws .pnf-ws-list.pnf-ws-feed-list{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;width:min(100%,400px);max-width:100%;height:min(80vh,720px);height:min(80dvh,720px);margin:0 auto;padding:0;overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;scroll-snap-type:y mandatory;overscroll-behavior-y:auto;touch-action:pan-y;scrollbar-width:none;border-radius:14px;background:#09070a}
.pnf-ws .pnf-ws-feed-list::-webkit-scrollbar{display:none}
.pnf-ws .pnf-ws-feed-list .pnf-ws-card{flex:0 0 100%;width:100%;min-height:100%;height:100%;aspect-ratio:auto;border-radius:0;scroll-snap-align:start;scroll-snap-stop:always;touch-action:pan-y}
.pnf-ws .pnf-ws-feed-list .pnf-ws-caption{bottom:22px;font-size:15px}
.pnf-ws .pnf-ws-feed-list .pnf-ws-play{width:52px;height:52px;font-size:18px}
.pnf-ws .pnf-ws-card.is-playing .pnf-ws-play{opacity:0!important;transition:opacity .25s ease!important}
.pnf-ws-card video{background:#27182b}
@media(max-width:640px){.pnf-ws .pnf-ws-list.pnf-ws-feed-list{width:100%;height:calc(100vh - 140px);height:calc(100dvh - 140px);min-height:420px;max-height:820px;border-radius:0;padding:0}}

/* 1.4.2 — Make horizontal swiping explicit on the carousel/grid/stories strips. */
.pnf-ws .pnf-ws-list:not(.pnf-ws-feed-list){overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scrollbar-width:none}
.pnf-ws .pnf-ws-list:not(.pnf-ws-feed-list)::-webkit-scrollbar{display:none}
.pnf-ws .pnf-ws-list:not(.pnf-ws-feed-list) .pnf-ws-card{touch-action:pan-x pan-y}
.pnf-ws .pnf-ws-list:not(.pnf-ws-feed-list) .pnf-ws-card video{pointer-events:none}

/* 1.4.7 — Soft, smooth shadow so like / share / views stay visible on white or bright footage (all devices). */
.pnf-ws-modal .pnf-ws-social svg,.pnf-ws-modal.pnf-ws-lite .pnf-ws-social svg,.pnf-ws-modal .pnf-ws-views svg{filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.42)) drop-shadow(0 3px 9px rgba(0,0,0,.34))}
.pnf-ws-modal .pnf-ws-social button,.pnf-ws-modal .pnf-ws-views{text-shadow:0 1px 2px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.4)}
.pnf-ws-modal .pnf-ws-like[aria-pressed=true] svg{filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.4)) drop-shadow(0 3px 9px rgba(0,0,0,.3))}

/* 1.5.0: reduce compositing work over videos on touch/modest devices. */
.pnf-ws-modal.pnf-ws-lite :is(.pnf-ws-product,.pnf-ws-cart,.pnf-ws-hint,.pnf-ws-time){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.pnf-ws-modal.pnf-ws-lite .pnf-ws-product{background:rgba(18,10,24,.86)}

/* 1.5.4: show the actual thumbnail whenever a card preview is not playing. */
.pnf-ws-card>.pnf-ws-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;z-index:0;opacity:0}
.pnf-ws-card>.pnf-ws-frame.is-ready{opacity:1}
.pnf-ws-card.is-playing>.pnf-ws-frame{opacity:0}

/* 1.5.9: supplied Lucide close and play controls. */
.pnf-ws .pnf-ws-play>svg,.pnf-ws-modal .pnf-ws-close>svg,.pnf-ws-modal .pnf-ws-toggle>svg,.pnf-ws-modal .pnf-ws-sheet header button>svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;pointer-events:none}
.pnf-ws-modal .pnf-ws-sheet header button{display:grid;place-items:center}

/* 1.5.11: simplify inline video composition and restore surfaces after app switching. */
.pnf-ws .pnf-ws-stat{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(25,20,29,.72)}
.pnf-ws .pnf-ws-card{contain:none!important;isolation:isolate;will-change:auto}
.pnf-ws.pnf-ws-restoring .pnf-ws-card>video{visibility:hidden!important}
.pnf-ws.pnf-ws-restoring .pnf-ws-card>.pnf-ws-frame.is-ready{opacity:1!important}

.pnf-ws-modal .pnf-ws-products[hidden],.pnf-ws-modal .pnf-ws-product[hidden],.pnf-ws-modal .pnf-ws-dots i[hidden]{display:none!important}
.pnf-ws-products.has-single-product .pnf-ws-dots,.pnf-ws-products.has-single-product .pnf-ws-hint{display:none!important}

/* Timed cards share one clipped stage so an outgoing card cannot push the next offscreen. */
.pnf-ws-modal .pnf-ws-product-list.is-timed-stage{display:block;position:relative;overflow:hidden;scroll-snap-type:none;cursor:default;padding:0;border-radius:14px}
.pnf-ws-modal .is-timed-stage>.pnf-ws-product{position:absolute;top:0;left:0;width:100%;margin:0;scroll-snap-align:none;animation:none!important}

.pnf-ws-modal .pnf-ws-reel-description{color:#fff;font-size:13px;line-height:1.45;margin:0 50px 10px 0;white-space:pre-line;overflow-wrap:anywhere;max-height:5.8em;overflow-y:auto;text-shadow:0 1px 3px #000}
.pnf-ws-reel.is-hinting .pnf-ws-reel-description{opacity:0}

/* Keep player text above a stable product slot while timed cards hide/show. */
.pnf-ws-modal .pnf-ws-reel-title{font-weight:700}
.pnf-ws-modal .pnf-ws-products.is-time-empty{visibility:hidden;pointer-events:none}

/* Product card above the bottom text; controls follow the currently visible overlay. */
.pnf-ws-modal .pnf-ws-bottom{display:flex;flex-direction:column}
.pnf-ws-modal .pnf-ws-bottom.is-timed-layout>.pnf-ws-products{margin-bottom:12px}
.pnf-ws-modal .pnf-ws-bottom.is-timed-layout .pnf-ws-reel-title{margin-bottom:4px}
.pnf-ws-modal .pnf-ws-bottom.is-timed-layout .pnf-ws-reel-description{margin-bottom:0}
.pnf-ws-modal .pnf-ws-social{bottom:235px;transition:none}
@media(prefers-reduced-motion:reduce){.pnf-ws-modal .pnf-ws-social{transition:none}}

.pnf-ws-modal .pnf-ws-reel-title{font-size:15px;line-height:1.4;font-weight:700}

/* Match views, likes and share labels regardless of theme button typography. */
.pnf-ws-modal .pnf-ws-social>.pnf-ws-like,.pnf-ws-modal .pnf-ws-social>.pnf-ws-views,.pnf-ws-modal .pnf-ws-social>.pnf-ws-share{font-family:inherit!important;font-size:12px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:normal!important;text-transform:none!important}
.pnf-ws-modal .pnf-ws-social>.pnf-ws-like>span,.pnf-ws-modal .pnf-ws-social>.pnf-ws-views>span,.pnf-ws-modal .pnf-ws-social>.pnf-ws-share>span{font-family:inherit!important;font-size:12px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:normal!important;text-transform:none!important;display:block;margin:0!important;padding:0!important}

/* Per-video thumbnail badge shares the caption's left edge. */
.pnf-ws .pnf-ws-caption>.pnf-ws-badge{display:flex;align-items:center;gap:var(--pnf-badge-svg-gap,5px);width:fit-content;max-width:100%;margin:0 0 8px;padding:var(--pnf-badge-y,4px) var(--pnf-badge-x,8px);border-radius:var(--pnf-badge-radius,4px);background:var(--pnf-badge-bg,#690b78);color:var(--pnf-badge-color,#fff)!important;font-size:clamp(9px,2.8vw,var(--pnf-badge-size,11px));font-weight:var(--pnf-badge-weight,600);line-height:1.25;letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;overflow-wrap:anywhere;text-shadow:none!important;pointer-events:none}

.pnf-ws .pnf-ws-badge-text{min-width:0;overflow-wrap:anywhere;color:inherit!important;font-size:inherit;font-weight:inherit}
.pnf-ws .pnf-ws-badge-svg{display:flex;align-items:center;justify-content:center;flex:0 0 var(--pnf-badge-svg-size,16px);width:var(--pnf-badge-svg-size,16px);height:var(--pnf-badge-svg-size,16px);color:inherit!important}
.pnf-ws .pnf-ws-badge-svg>svg{display:block;width:100%;height:100%;max-width:100%;pointer-events:none}

.pnf-ws .pnf-ws-caption>.pnf-ws-badge-artwork{display:block;max-width:100%;margin:0 0 8px;pointer-events:none}
.pnf-ws .pnf-ws-badge-artwork>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:none;border:0;border-radius:0;box-shadow:none}

/* Optional shared gallery appearance. Scoped outside the fullscreen player. */
.pnf-ws.pnf-ws-custom{background:var(--pnf-gallery-bg,#fff)!important;border:var(--pnf-gallery-border,0 solid transparent);border-radius:var(--pnf-gallery-radius,0);padding:var(--pnf-gallery-padding-top,var(--pnf-gallery-padding,16px)) var(--pnf-gallery-padding-right,var(--pnf-gallery-padding,16px)) var(--pnf-gallery-padding-bottom,var(--pnf-gallery-padding,16px)) var(--pnf-gallery-padding-left,var(--pnf-gallery-padding,16px));box-sizing:border-box}
.pnf-ws.pnf-ws-custom .pnf-ws-heading h2{color:var(--pnf-gallery-title,#222)!important}
.pnf-ws.pnf-ws-custom .pnf-ws-heading>span{color:var(--pnf-gallery-subtitle,#777)!important}
.pnf-ws.pnf-ws-custom .pnf-ws-list>.pnf-ws-card,.pnf-ws.pnf-ws-custom .pnf-ws-feed-list{border-radius:var(--pnf-gallery-card-radius,14px)!important}
.pnf-ws.pnf-ws-custom .pnf-ws-card .pnf-ws-caption,.pnf-ws.pnf-ws-custom .pnf-ws-card .pnf-ws-caption small{color:var(--pnf-gallery-caption,#fff)!important}

.pnf-ws.pnf-ws-custom .pnf-ws-list>.pnf-ws-card{border:var(--pnf-gallery-card-border,0 solid transparent)!important;box-sizing:border-box}

.pnf-ws .pnf-ws-gallery-actions{display:flex;justify-content:center;align-items:center;margin-top:18px;width:100%}
.pnf-ws .pnf-ws-gallery-actions[hidden]{display:none!important}
.pnf-ws .pnf-ws-gallery-watch,.pnf-ws .pnf-ws-gallery-watch:hover,.pnf-ws .pnf-ws-gallery-watch:focus,.pnf-ws .pnf-ws-gallery-watch:active{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;padding:12px 24px!important;background:var(--pnf-watch-bg,#690b78)!important;color:var(--pnf-watch-color,#fff)!important;border:var(--pnf-watch-border,0 solid transparent)!important;border-radius:var(--pnf-watch-radius,24px)!important;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-transform:none;letter-spacing:normal;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-sizing:border-box;text-decoration:none;box-shadow:none;transform:none}
.pnf-ws .pnf-ws-gallery-watch:focus-visible{outline:2px solid var(--pnf-watch-bg,#690b78);outline-offset:3px}

.pnf-ws[data-mobile-heading-align="left"]{--pnf-mobile-heading-align:left}
.pnf-ws[data-mobile-heading-align="center"]{--pnf-mobile-heading-align:center}
.pnf-ws[data-mobile-heading-align="right"]{--pnf-mobile-heading-align:right}
@media(max-width:640px){
 .pnf-ws[data-mobile-heading-align]>.pnf-ws-heading,.pnf-ws[data-mobile-heading-align]>.pnf-ws-heading>h2,.pnf-ws[data-mobile-heading-align]>.pnf-ws-heading>span{text-align:var(--pnf-mobile-heading-align)!important}
}
/* Show the mobile alignment in the admin preview, even on a desktop editor. */
.pnf-ws.pnf-ws-mobile-preview[data-mobile-heading-align]>.pnf-ws-heading,.pnf-ws.pnf-ws-mobile-preview[data-mobile-heading-align]>.pnf-ws-heading>h2,.pnf-ws.pnf-ws-mobile-preview[data-mobile-heading-align]>.pnf-ws-heading>span{text-align:var(--pnf-mobile-heading-align)!important}

/* Static pattern backgrounds: no overlays, filters or opacity on gallery content. */
.pnf-ws.pnf-ws-custom[data-gallery-pattern]{--pnf-pattern-size:var(--pnf-pattern-scale,24px) var(--pnf-pattern-scale,24px);--pnf-pattern-position:0 0;--pnf-pattern-blends:var(--pnf-pattern-blend,normal);background-color:var(--pnf-gallery-base-color,#fff)!important;background-image:var(--pnf-pattern-image),var(--pnf-gallery-base-image,linear-gradient(#fff,#fff))!important;background-size:var(--pnf-pattern-size),100% 100%!important;background-position:var(--pnf-pattern-position),0 0!important;background-repeat:repeat!important;background-blend-mode:var(--pnf-pattern-blends),normal!important}
.pnf-ws.pnf-ws-custom[data-gallery-pattern="dots"]{--pnf-pattern-image:radial-gradient(circle,var(--pnf-pattern-color) 1.5px,transparent 1.7px)}
.pnf-ws.pnf-ws-custom[data-gallery-pattern="grid"]{--pnf-pattern-image:linear-gradient(var(--pnf-pattern-color) 1px,transparent 1px),linear-gradient(90deg,var(--pnf-pattern-color) 1px,transparent 1px);--pnf-pattern-size:var(--pnf-pattern-scale) var(--pnf-pattern-scale),var(--pnf-pattern-scale) var(--pnf-pattern-scale);--pnf-pattern-position:0 0,0 0;--pnf-pattern-blends:var(--pnf-pattern-blend),var(--pnf-pattern-blend)}
.pnf-ws.pnf-ws-custom[data-gallery-pattern="diagonal"]{--pnf-pattern-image:repeating-linear-gradient(45deg,var(--pnf-pattern-color) 0 2px,transparent 2px var(--pnf-pattern-half))}
.pnf-ws.pnf-ws-custom[data-gallery-pattern="horizontal"]{--pnf-pattern-image:linear-gradient(var(--pnf-pattern-color) 2px,transparent 2px)}
.pnf-ws.pnf-ws-custom[data-gallery-pattern="vertical"]{--pnf-pattern-image:linear-gradient(90deg,var(--pnf-pattern-color) 2px,transparent 2px)}
.pnf-ws.pnf-ws-custom[data-gallery-pattern="checkerboard"]{--pnf-pattern-image:conic-gradient(var(--pnf-pattern-color) 25%,transparent 0 50%,var(--pnf-pattern-color) 0 75%,transparent 0)}
.pnf-ws.pnf-ws-custom[data-gallery-pattern="zigzag"]{--pnf-pattern-image:linear-gradient(135deg,var(--pnf-pattern-color) 25%,transparent 25%),linear-gradient(225deg,var(--pnf-pattern-color) 25%,transparent 25%),linear-gradient(315deg,var(--pnf-pattern-color) 25%,transparent 25%),linear-gradient(45deg,var(--pnf-pattern-color) 25%,transparent 25%);--pnf-pattern-size:var(--pnf-pattern-scale) var(--pnf-pattern-scale),var(--pnf-pattern-scale) var(--pnf-pattern-scale),var(--pnf-pattern-scale) var(--pnf-pattern-scale),var(--pnf-pattern-scale) var(--pnf-pattern-scale);--pnf-pattern-position:calc(-1 * var(--pnf-pattern-half)) 0,calc(-1 * var(--pnf-pattern-half)) 0,0 0,0 0;--pnf-pattern-blends:var(--pnf-pattern-blend),var(--pnf-pattern-blend),var(--pnf-pattern-blend),var(--pnf-pattern-blend)}

/* Broad flowing contour lines inspired by the reference, scaled across the gallery. */
.pnf-ws.pnf-ws-custom[data-gallery-pattern="wavy"]{--pnf-pattern-image:repeating-radial-gradient(ellipse at -20% -30%,transparent 0,transparent calc(var(--pnf-pattern-scale) - 2px),var(--pnf-pattern-color) calc(var(--pnf-pattern-scale) - 1.5px),var(--pnf-pattern-color) calc(var(--pnf-pattern-scale) - .5px),transparent var(--pnf-pattern-scale));--pnf-pattern-size:100% 100%}

/* Desktop galleries fill their page container; keep the admin preview constrained. */
@media(min-width:1025px){
 .pnf-ws:not(#pnf-gallery-live-preview){max-width:none}
}

/* Price, savings badge and quantity stay on one compact row. */
.pnf-ws-modal .pnf-ws-price-with-off{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:0;max-width:100%;flex:1}
.pnf-ws-modal .pnf-ws-price-with-off>.pnf-ws-price{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;gap:4px;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none;margin:0}
.pnf-ws-modal .pnf-ws-price-with-off>.pnf-ws-price::-webkit-scrollbar{display:none}
.pnf-ws-modal .pnf-ws-price-with-off>.pnf-ws-price>del,.pnf-ws-modal .pnf-ws-price-with-off>.pnf-ws-price>ins{flex-shrink:0}
.pnf-ws-modal .pnf-ws-product-off{display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap;font-size:10px;line-height:1.3;font-weight:700;color:#381343!important;background:#ffe600;border-radius:4px;padding:3px 5px;text-shadow:none}
.pnf-ws-modal .pnf-ws-price-row.has-discount{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0}
.pnf-ws-modal .pnf-ws-price-row.has-discount>.pnf-ws-price-with-off{width:auto;flex:1 1 0;min-width:0;gap:4px}
.pnf-ws-modal .pnf-ws-price-row.has-discount>.pnf-ws-quantity{flex:0 0 76px;width:76px}
.pnf-ws-modal .pnf-ws-price-row.has-discount .pnf-ws-quantity button{width:24px;min-width:24px;height:28px;font-size:16px}
.pnf-ws-modal .pnf-ws-price-row.has-discount .pnf-ws-quantity input{width:26px;height:28px;font-size:12px}
.pnf-ws-modal .pnf-ws-price-row.has-discount .pnf-ws-product-off{font-size:9px;padding:3px 4px}
.pnf-ws-modal .pnf-ws-price-row.has-discount .pnf-ws-price{font-size:12px;gap:3px}
.pnf-ws-modal .pnf-ws-price-row.has-discount .pnf-ws-price ins{order:-1}
.pnf-ws-modal .pnf-ws-price-row.has-discount .pnf-ws-price del,.pnf-ws-modal .pnf-ws-price-row.has-discount .pnf-ws-price del *{font-size:10px}
.pnf-ws-modal .pnf-ws-sheet-content .pnf-ws-price{color:#381343!important;text-shadow:none;font-size:14px}
.pnf-ws-modal .pnf-ws-sheet-content .pnf-ws-price *{color:inherit!important;text-shadow:none}

/* One final scroll-snap page after the last fullscreen reel. */
.pnf-ws-modal .pnf-ws-end-screen{height:100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:72px 28px;text-align:center;background:radial-gradient(ellipse at top,#38113f,#09070a 70%);color:#fff}
.pnf-ws-modal .pnf-ws-end-icon{width:64px;height:64px;margin-bottom:8px;color:#dca6ed}
.pnf-ws-modal .pnf-ws-end-icon>svg{width:100%;height:100%}
.pnf-ws-modal .pnf-ws-end-screen h2{margin:0;color:#fff;font-size:24px;line-height:1.3;font-weight:700}
.pnf-ws-modal .pnf-ws-end-screen p{margin:0;max-width:290px;color:#d8cdda;font-size:13px;line-height:1.6}
.pnf-ws-modal .pnf-ws-end-screen button{margin-top:12px;padding:11px 22px!important;min-height:44px;border:1px solid #dca6ed!important;border-radius:24px!important;background:transparent!important;color:#fff!important;font-size:13px;font-weight:600;line-height:1.4;text-transform:none}
.pnf-ws-modal .pnf-ws-end-screen button:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* 1.5.46 — Larger centre card, close spacing and persistent edge neighbours. */
.pnf-ws .pnf-ws-list.pnf-ws-centre{position:relative;display:block;width:100%;max-width:100%;height:auto;aspect-ratio:.96;margin:0 auto;padding:0;overflow:hidden;scroll-snap-type:none;touch-action:pan-y;direction:ltr}
.pnf-ws .pnf-ws-centre>.pnf-ws-card,.pnf-ws .pnf-ws-centre>.pnf-ws-card:hover,.pnf-ws .pnf-ws-centre>.pnf-ws-card:focus,.pnf-ws .pnf-ws-centre>.pnf-ws-card:active{position:absolute;top:2%;left:50%;width:56%;height:auto;min-height:0;aspect-ratio:9/16;margin:0;flex:none;border-radius:20px;opacity:1!important;visibility:visible;pointer-events:none;transform:translateX(calc(-50% + var(--pnf-slot)*96%)) scale(.85)!important;transform-origin:center center;transition:transform .42s ease-in-out!important;z-index:0}
.pnf-ws .pnf-ws-centre>.pnf-ws-card.is-neighbour{visibility:visible;opacity:1!important;pointer-events:auto;z-index:1}
.pnf-ws .pnf-ws-centre>.pnf-ws-card.is-centre{visibility:visible;opacity:1!important;pointer-events:auto;transform:translateX(-50%) scale(1)!important;z-index:2}
.pnf-ws .pnf-ws-centre>.pnf-ws-card video{touch-action:pan-y}
/* Desktop: fit the centre card and both complete neighbours inside the stage. */
@media(min-width:768px){
 .pnf-ws .pnf-ws-list.pnf-ws-centre{max-width:1000px;aspect-ratio:1.8}
 .pnf-ws .pnf-ws-centre>.pnf-ws-card,
 .pnf-ws .pnf-ws-centre>.pnf-ws-card:hover,
 .pnf-ws .pnf-ws-centre>.pnf-ws-card:focus,
 .pnf-ws .pnf-ws-centre>.pnf-ws-card:active{width:30%}
 .pnf-ws .pnf-ws-centre>.pnf-ws-card:not(.is-centre):not(.is-neighbour){visibility:hidden}
}
@media(max-width:480px){.pnf-ws .pnf-ws-centre .pnf-ws-caption{left:8px;right:8px;bottom:12px;font-size:12px}.pnf-ws .pnf-ws-centre .pnf-ws-stats{left:6px;right:6px;gap:4px}.pnf-ws .pnf-ws-centre .pnf-ws-stat{font-size:10px;padding:4px 6px}.pnf-ws .pnf-ws-centre .pnf-ws-stat svg{width:13px;height:13px}}
@media(prefers-reduced-motion:reduce){.pnf-ws .pnf-ws-centre>.pnf-ws-card{transition:none!important}}

.pnf-ws .pnf-ws-centre.pnf-ws-snap>.pnf-ws-card{transition:none!important}
