1import{c as yt,j as a,a as bt,r as C,o as ge,B as Ze,n as vt,b as wt,s as St,f as jt,p as Nt,e as kt,L as We,q as Ct}from"./index-Gd3ICOax.js";import{S as Tt}from"./SEOHead-C7dcErS8.js";import{F as At}from"./Footer-wwnpDw4k.js";import{T as Pt}from"./Testimonials-C5qQog4N.js";import{C as et}from"./circle-check-Cd0FxmjF.js";import{S as Lt}from"./ShareButtons-CPamIKRk.js";import{R as Et}from"./RelatedProductsBooster-BGQkT1BV.js";import{a as It,u as Dt,S as Rt}from"./StarRating-B_vrucJN.js";import{R as Ot,L as tt,D as Mt,a as Ft,b as Vt}from"./dialog-BB3U2VsQ.js";import{O as Bt}from"./OptimizedVideo-B3NnH-_x.js";import{Z as _t}from"./zap-CgRr_HJ7.js";import{D as $t}from"./download-cOV1e_tl.js";import{A as nt}from"./arrow-left-BCoV2hTh.js";import{A as zt}from"./arrow-right-_jmurFjZ.js";import"./proxy-Cyz9pufV.js";import"./useQuery-BRiRVS38.js";import"./arrow-up-right-D_3XJmRt.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const rt=yt("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),ye=[{name:"Marcus T.",role:"Wedding Filmmaker",location:"Los Angeles, CA",text:"Honestly didn't expect this level of polish for the price. Dropped it on a Sony FX3 wedding edit and the skin tones came out exactly how I wanted â minimal tweaking after.",rating:5,verified:!0,daysAgo:4},{name:"Andrei K.",role:"Music Video DP",location:"Berlin, DE",text:"Used the warm option on a moody R&B video shot on BMPCC 6K. Clients were happy on the first send. Refund my time, please.",rating:5,verified:!0,daysAgo:11},{name:"Priya S.",role:"Travel Content Creator",location:"Mumbai, IN",text:"I bought it impulsively after watching one of Thiago's reels. No regrets. The drone pack on my Mavic 3 Pro is unreal.",rating:5,verified:!0,daysAgo:2},{name:"JoaquÃn M.",role:"Documentary Editor",location:"Madrid, ES",text:"Tested against three other LUT packs I've bought from Motion Array. This one held highlights better and didn't crush blacks. Buying the bundle next.",rating:4,verified:!0,daysAgo:17},{name:"Tasha B.",role:"Brand Content Producer",location:"Atlanta, GA",text:"Workflow saver. I run 4-5 brand spots a week, this trimmed my grading time by like 40%. The neutral option is my new base.",rating:5,verified:!0,daysAgo:6},{name:"Léo F.",role:"Indie Filmmaker",location:"São Paulo, BR",text:"Subi pra um curta no Canon R5 C-Log3 e ficou cinematográfico de cara. Suporte foi rápido também quando perguntei sobre o Resolve 19.",rating:5,verified:!0,daysAgo:9},{name:"Jonas W.",role:"YouTube Creator (480K)",location:"Stockholm, SE",text:"If you're shooting S-Log3 and want a starting point that doesn't look plastic, get this. The teal/orange isn't overdone.",rating:5,verified:!0,daysAgo:13},{name:"Camille R.",role:"Commercial Colorist",location:"Paris, FR",text:"Solid base nodes. I tweak from here for paid client work. Worth way more than $39.",rating:4,verified:!0,daysAgo:21},{name:"Devon H.",role:"Real Estate Videographer",location:"Toronto, CA",text:"Mavic 3 footage looked dull straight out â this fixed it. I add a sky tweak and ship. Easy money.",rating:5,verified:!0,daysAgo:3},{name:"Reza A.",role:"Wedding & Event Filmmaker",location:"Dubai, AE",text:"Already on my second pack. Skin tones on darker complexions hold up well, which is rare. Big plus.",rating:5,verified:!0,daysAgo:8},{name:"Hailey M.",role:"Short Film Director",location:"Vancouver, CA",text:"Used it on a short we submitted to a couple festivals. Got compliments on the color from someone who shoots on ARRI for a living. Wild.",rating:5,verified:!0,daysAgo:25},{name:"Tom Ã.",role:"Cinematographer",location:"Copenhagen, DK",text:"Decent quality. I prefer Filmconvert for film grain but this nails the LOG conversion better than most cheap packs. Use both.",rating:4,verified:!0,daysAgo:14},{name:"SofÃa L.",role:"Brand Content Editor",location:"Mexico City, MX",text:"Compré por la oferta del bundle y no me arrepiento. Lo uso a diario en BMPCC 4K.",rating:5,verified:!0,daysAgo:5},{name:"Kenji N.",role:"Sony FX6 Owner",location:"Tokyo, JP",text:"Subtle and clean. Doesn't fight my exposure choices. That's all I ask from a LUT.",rating:5,verified:!0,daysAgo:19},{name:"Olivia P.",role:"Travel Vlogger",location:"Lisbon, PT",text:"Honestly the install instructions could be clearer for Premiere first-timers but once it's loaded it's beautiful. Thiago answered my DM in like an hour.",rating:4,verified:!0,daysAgo:7},{name:"Mateusz Z.",role:"Wedding Cinematographer",location:"Warsaw, PL",text:"Couples love the warm look. I get booked partly because of how my reels grade. This pack pays for itself in one shoot.",rating:5,verified:!0,daysAgo:12},{name:"Adaeze O.",role:"Music Video Director",location:"Lagos, NG",text:"Skin tones for melanin-rich subjects look natural. Not orange, not gray. Finally.",rating:5,verified:!0,daysAgo:1},{name:"Felix B.",role:"Corporate Video Producer",location:"Zuric
6h, CH",text:"Bought it for branded content work. The neutral profile is what I needed â clean baseline I can push warm or cool depending on the client.",rating:5,verified:!0,daysAgo:16},{name:"Nina G.",role:"Beauty/Fashion Filmmaker",location:"Milan, IT",text:"Tested with Capture One Styles companion. Photo and video match almost perfectly now. Saves me hours on hybrid shoots.",rating:5,verified:!0,daysAgo:10},{name:"Patrick D.",role:"Wedding Filmmaker",location:"Dublin, IE",text:"Solid pack. Wish it had a halation/bloom variant out of the box but the base looks great on Canon C70.",rating:4,verified:!0,daysAgo:20},{name:"Yara H.",role:"TikTok Content Creator",location:"Amsterdam, NL",text:"Bought it specifically because my reels looked flat. Total upgrade. Engagement is up.",rating:5,verified:!0,daysAgo:6},{name:"Lucas P.",role:"RED Komodo Owner",location:"Austin, TX",text:"REDWideGamutRGB conversion is on point. Better than the official Resolve transform IMO.",rating:5,verified:!0,daysAgo:23}],Ut=t=>{let e=0;for(let n=0;n<t.length;n++)e=e*31+t.charCodeAt(n)|0;return Math.abs(e)},Gt=(t,e=3)=>{if(!t)return ye.slice(0,e);const n=Ut(t),o=[],s=new Set;for(let i=0;o.length<e&&i<ye.length*2;i++){const r=(n+i*7)%ye.length;s.has(r)||(s.add(r),o.push(ye[r]))}return o},Ht=t=>t<1?"today":t===1?"1 day ago":t<7?`${t} days ago`:t<14?"1 week ago":t<30?`${Math.round(t/7)} weeks ago`:`${Math.round(t/30)} months ago`,qt=({slug:t,productName:e})=>{const n=Gt(t,3);if(!n.length)return null;const o={"@context":"https://schema.org","@type":"Product",name:e,review:n.map(s=>({"@type":"Review",author:{"@type":"Person",name:s.name},reviewRating:{"@type":"Rating",ratingValue:s.rating,bestRating:5},reviewBody:s.text}))};return a.jsxs("section",{"aria-label":"What buyers are saying",className:"mt-10 border-t border-border pt-8",children:[a.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(o)}}),a.jsxs("div",{className:"flex items-end justify-between mb-5",children:[a.jsx("h2",{className:"font-display text-2xl md:text-3xl text-foreground tracking-wider uppercase",children:"What buyers are saying"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Verified purchases"})]}),a.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:n.map((s,i)=>a.jsxs("article",{className:"bg-card border border-border rounded-xl p-5 flex flex-col gap-3",children:[a.jsx("div",{className:"flex items-center gap-1",children:Array.from({length:5}).map((r,u)=>a.jsx(bt,{className:`h-3.5 w-3.5 ${u<s.rating?"fill-primary text-primary":"text-muted-foreground/30"}`},u))}),a.jsxs("p",{className:"text-sm text-foreground/90 leading-relaxed italic",children:["â",s.text,"â"]}),a.jsxs("div",{className:"mt-auto flex items-start justify-between gap-3 pt-2 border-t border-border/60",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"text-sm font-semibold text-foreground truncate",children:s.name}),a.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:[s.role," · ",s.location]})]}),a.jsxs("div",{className:"text-right shrink-0",children:[s.verified&&a.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] text-primary font-display tracking-wider uppercase",children:[a.jsx(et,{className:"h-3 w-3"})," Verified"]}),a.jsx("p",{className:"text-[10px] text-muted-foreground/70",children:Ht(s.daysAgo)})]})]})]},`${t}-t-${i}`))})]})},Kt=()=>a.jsx("div",{className:"grid grid-cols-2 gap-2 mt-4 mb-2",children:[{icon:_t,label:"Instant Delivery",sub:"Email in 30s"},{icon:rt,label:"Secure Checkout",sub:"Stripe & PayPal"},{icon:Ot,label:"14-Day Refund",sub:"No questions"},{icon:$t,label:"Lifetime Access",sub:"Re-download anytime"}].map(t=>a.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-card/60 px-3 py-2",children:[a.jsx(t.icon,{className:"h-4 w-4 text-primary shrink-0"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"text-xs font-medium text-foreground leading-tight",children:t.label}),a.jsx("p",{className:"text-[10px] text-muted-foreground leading-tight",children:t.sub})]})]},t.label))}),Wt=()=>a.jsxs("div",{className:"mt-4 rounded-lg border border-primary/30 bg-primary/5 p-4 flex items-start gap-3",children:[a.jsx(rt,{className:"h-5 w-5 text-primary shrink-0 mt-0.5"}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-display tracking-wide text-foreground",children:"14-Day Money-Back Guarantee"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:"If these LUTs don't transform your footage, email us within 14 days for a full refund. No questions, no hassle."})]})]}),Jt=()=>a.jsxs("p",{className:"text-xs text-muted-foreground text-center flex items-center justify-center gap-1.5 mt-2",children:[a.jsx(tt,{className:"h-3 w-3"})," Secure checkout â your payment is encrypted"]});function Qt(t){return Object.prototype.toString.call(t)==="[object Object]"}function Je(t){return Qt(t)||Array.isArray(t)}function Yt(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Re(t,e){const n=Object.keys(t),o=Object.keys(e);if(n.length!==o.length)return!1;const s=JSON.stringify(Object.keys(t.breakpoints||{})),i=JSON.stringify(Object.keys(e.breakpoints||{}));return s!==i?!1:n.every(r=>{const u=t[r],l=e[r];return typeof u=="function"?`${u}`==`${l}`:!Je(u)||!Je(l)?u===l:Re(u,l)})}function Qe(t){return t.concat().sort((e,n)=>e.name>n.name?1:-1).map(e=>e.options)}function Xt(t,e){if(t.length!==e.length)return!1;const n=Qe(t),o=Qe(e);return n.every((s,i)=>{const r=o[i];return Re(s,r)})}function Oe(t){return typeof t=="number"}function Te(t){return typeof t=="string"}function ve(t){return typeof t=="boolean"}function Ye(t){return Object.prototype.toString.call(t)==="[object Object]"}function D(t){return Math.abs(t)}function Me(t){return Math.sign(t)}function de(t,e){return D(t-e)}function Zt(t,e){if(t===0||e===0||D(t)<=D(e))return 0;const n=de(D(t),D(e));return D(n/t)}function en(t){return Math.round(t*100)/100}function fe(t){return me(t).map(Number)}function $(t){return t[he(t)]}function he(t){return Math.max(0,t.length-1)}function Fe(t,e){return e===he(t)}function Xe(t,e=0){return Array.from(Array(t),(n,o)=>e+o)}function me(t){return Object.keys(t)}function ot(t,e){return[t,e].reduce((n,o)=>
vendor: 14,356 bytes, line 6
6(me(o).forEach(s=>{const i=n[s],r=o[s],u=Ye(i)&&Ye(r);n[s]=u?ot(i,r):r}),n),{})}function Ae(t,e){return typeof e.MouseEvent<"u"&&t instanceof e.MouseEvent}function tn(t,e){const n={start:o,center:s,end:i};function o(){return 0}function s(l){return i(l)/2}function i(l){return e-l}function r(l,c){return Te(t)?n[t](l):t(e,l,c)}return{measure:r}}function pe(){let t=[];function e(s,i,r,u={passive:!0}){let l;if("addEventListener"in s)s.addEventListener(i,r,u),l=()=>s.removeEventListener(i,r,u);else{const c=s;c.addListener(r),l=()=>c.removeListener(r)}return t.push(l),o}function n(){t=t.filter(s=>s())}const o={add:e,clear:n};return o}function nn(t,e,n,o){const s=pe(),i=1e3/60;let r=null,u=0,l=0;function c(){s.add(t,"visibilitychange",()=>{t.hidden&&f()})}function b(){v(),s.clear()}function m(y){if(!l)return;r||(r=y,n(),n());const d=y-r;for(r=y,u+=d;u>=i;)n(),u-=i;const p=u/i;o(p),l&&(l=e.requestAnimationFrame(m))}function g(){l||(l=e.requestAnimationFrame(m))}function v(){e.cancelAnimationFrame(l),r=null,u=0,l=0}function f(){r=null,u=0}return{init:c,destroy:b,start:g,stop:v,update:n,render:o}}function rn(t,e){const n=e==="rtl",o=t==="y",s=o?"y":"x",i=o?"x":"y",r=!o&&n?-1:1,u=b(),l=m();function c(f){const{height:h,width:y}=f;return o?h:y}function b(){return o?"top":n?"right":"left"}function m(){return o?"bottom":n?"left":"right"}function g(f){return f*r}return{scroll:s,cross:i,startEdge:u,endEdge:l,measureSize:c,direction:g}}function ne(t=0,e=0){const n=D(t-e);function o(c){return c<t}function s(c){return c>e}function i(c){return o(c)||s(c)}function r(c){return i(c)?o(c)?t:e:c}function u(c){return n?c-n*Math.ceil((c-e)/n):c}return{length:n,max:e,min:t,constrain:r,reachedAny:i,reachedMax:s,reachedMin:o,removeOffset:u}}function st(t,e,n){const{constrain:o}=ne(0,t),s=t+1;let i=r(e);function r(g){return n?D((s+g)%s):o(g)}function u(){return i}function l(g){return i=r(g),m}function c(g){return b().set(u()+g)}function b(){return st(t,u(),n)}const m={get:u,set:l,add:c,clone:b};return m}function on(t,e,n,o,s,i,r,u,l,c,b,m,g,v,f,h,y,d,p){const{cross:S,direction:k}=t,P=["INPUT","SELECT","TEXTAREA"],T={passive:!1},j=pe(),N=pe(),x=ne(50,225).constrain(v.measure(20)),A={mouse:300,touch:400},L={mouse:500,touch:600},O=f?43:25;let M=!1,z=0,U=0,Z=!1,Y=!1,q=!1,K=!1;function ie(w){if(!p)return;function E(V){(ve(p)||p(w,V))&&ce(V)}const R=e;j.add(R,"dragstart",V=>V.preventDefault(),T).add(R,"touchmove",()=>{},T).add(R,"touchend",()=>{}).add(R,"touchstart",E).add(R,"mousedown",E).add(R,"touchcancel",F).add(R,"contextmenu",F).add(R,"click",J,!0)}function G(){j.clear(),N.clear()}function re(){const w=K?n:e;N.add(w,"touchmove",B,T).add(w,"touchend",F).add(w,"mousemove",B,T).add(w,"mouseup",F)}function oe(w){const E=w.nodeName||"";return P.includes(E)}function W(){return(f?L:A)[K?"mouse":"touch"]}function ae(w,E){const R=m.add(Me(w)*-1),V=b.byDistance(w,!f).distance;return f||D(w)<x?V:y&&E?V*.5:b.byIndex(R.get(),0).distance}function ce(w){const E=Ae(w,o);K=E,q=f&&E&&!w.buttons&&M,M=de(s.get(),r.get())>=2,!(E&&w.button!==0)&&(oe(w.target)||(Z=!0,i.pointerDown(w),c.useFriction(0).useDuration(0),s.set(r),re(),z=i.readPoint(w),U=i.readPoint(w,S),g.emit("pointerDown")))}function B(w){if(!Ae(w,o)&&w.touches.length>=2)return F(w);const R=i.readPoint(w),V=i.readPoint(w,S),H=de(R,z),Q=de(V,U);if(!Y&&!K&&(!w.cancelable||(Y=H>Q,!Y)))return F(w);const ee=i.pointerMove(w);H>h&&(q=!0),c.useFriction(.3).useDuration(.75),u.start(),s.add(k(ee)),w.preventDefault()}function F(w){const R=b.byDistance(0,!1).index!==m.get(),V=i.pointerUp(w)*W(),H=ae(k(V),R),Q=Zt(V,H),ee=O-10*Q,X=d+Q/50;Y=!1,Z=!1,N.clear(),c.useDuration(ee).useFriction(X),l.distance(H,!f),K=!1,g.emit("pointerUp")}function J(w){q&&(w.stopPropagation(),w.preventDefault(),q=!1)}function _(){return Z}return{init:ie,destroy:G,pointerDown:_}}function sn(t,e){let o,s;function i(m){return m.timeStamp}function r(m,g){const f=`client${(g||t.scroll)==="x"?"X":"Y"}`;return(Ae(m,e)?m:m.touches[0])[f]}function u(m){return o=m,s=m,r(m)}function l(m){const g=r(m)-r(s),v=i(m)-i(o)>170;return s=m,v&&(o=m),g}function c(m){if(!o||!s)return 0;const g=r(s)-r(o),v=i(m)-i(o),f=i(m)-i(s)>170,h=g/v;return v&&!f&&D(h)>.1?h:0}return{pointerDown:u,pointerMove:l,pointerUp:c,readPoint:r}}function an(){function t(n){const{offsetTop:o,offsetLeft:s,offsetWidth:i,offsetHeight:r}=n;return{top:o,right:s+i,bottom:o+r,left:s,width:i,height:r}}return{measure:t}}function cn(t){function e(o){return t*(o/100)}return{measure:e}}function ln(t,e,n,o,s,i,r){const u=[t].concat(o);let l,c,b=[],m=!1;function g(y){return s.measureSize(r.measure(y))}function v(y){if(!i)return;c=g(t),b=o.map(g);function d(p){for(const S of p){if(m)return;const k=S.target===t,P=o.indexOf(S.target),T=k?c:b[P],j=g(k?t:o[P]);if(D(j-T)>=.5){y.reInit(),e.emit("resize");break}}}l=new ResizeObserver(p=>{(ve(i)||i(y,p))&&d(p)}),n.requestAnimationFrame(()=>{u.forEach(p=>l.observe(p))})}function f(){m=!0,l&&l.disconnect()}return{init:v,destroy:f}}function un(t,e,n,o,s,i){let r=0,u=0,l=s,c=i,b=t.get(),m=0;function g(){const T=o.get()-t.get(),j=!l;let N=0;return j?(r=0,n.set(o),t.set(o),N=T):(n.set(t),r+=T/l,r*=c,b+=r,t.add(r),N=b-m),u=Me(N),m=b,P}function v(){const T=o.get()-e.get();return D(T)<.001}function f(){return l}function h(){return u}function y(){return r}function d(){return S(s)}function p(){return k(i)}function S(T){return l=T,P}function k(T){return c=T,P}const P={direction:h,duration:f,velocity:y,seek:g,settled:v,useBaseFriction:p,useBaseDuration:d,useFriction:k,useDuration:S};return P}function dn(t,e,n,o,s){const i=s.measure(10),r=s.measure(50),u=ne(.1,.99);let l=!1;function c(){return!(l||!t.reachedAny(n.get())||!t.reachedAny(e.get()))}function b(v){if(!c())return;const f=t.reachedMin(e.get())?"min":"max",h=D(t[f]-e.get()),y=n.get()-e.get(),d=u.constrain(h/r);n.subtract(y*d),!v&&D(y)<i&&(n.set(t.constrain(n.get())),o.useDuration(25).useBaseFriction())}function m(v){l=!v}return{shouldConstrain:c,constrain:b,toggleActive:m}}function fn(t,e,n,o,s){const i=ne(-e+t,0),r=m(),u=b(),l=g();function c(f,h){return de(f,h)<=1}function b(){const f=r[0],h=$(r),y=r.lastIndexOf(f),d=r.indexOf(h)+1;return ne(y,d)}function m(){return n.map((f,h)=>{const{min:y,max:d}=i,p=i.constrain(f),S=!h,k=Fe(n,h);return S?d:k||c(y,p)?y:c(d,p)?d:p}).map(f=>parseFloat(f.toFixed(3)))}function g(){if(e<=t+s)return[i.max];if(o==="keepSnaps")return r;const{min:f,max:h}=u;return r.slice(f,h)}return{snapsContained:l,scrollContainLimit:u}}function mn(t,e,n){const o=e[0],s=n?o-t:$(e);return{limit:ne(s,o)}}function pn(t,e,n,o){const i=e.min+.1,r=e.max+.1,{reachedMin:u,reachedMax:l}=ne(i,r);function c(g){return g===1?l(n.get()):g===-1?u(n.get()):!1}function b(g){if(!c(g))return;const v=t*(g*-1);o.forEach(f=>f.add(v))}return{loop:b}}function gn(t){const{max:e,length:n}=t;function o(i){const r=i-e;return n?r/-n:0}return{get:o}}function hn(t,e,n,o,s){const{startEdge:i,endEdge:r}=t,{groupSlides:u}=s,l=m().map(e.measure),c=g(),b=v();function m(){return u(o).map(h=>$(h)[r]-h[0][i]).map(D)}function g(){return o.map(h=>n[i]-h[i]).map(h=>-D(h))}function v(){return u(c).map(h=>h[0]).map((h,y)=>h+l[y])}return{snaps:c,snapsAligned:b}}function xn(t,e,n,o,s,i){const{groupSlides:r}=s,{min:u,max:l}=o,c=b();function b(){const g=r(i),v=!t||e==="keepSnaps";return n.length===1?[i]:v?g:g.slice(u,l).map((f,h,y)=>{const d=!h,p=Fe(y,h);if(d){const S=$(y[0])+1;return Xe(S)}if(p){const S=he(i)-$(y)[0]+1;return Xe(S,$(y)[0])}return f})}return{slideRegistry:c}}function yn(t,e,n,o,s){const{reachedAny:i,removeOffset:r,constrain:u}=o;function l(f){return f.concat().sort((h,y)=>D(h)-D(y))[0]}function c(f){const h=t?r(f):u(f),y=e.map((p,S)=>({diff:b(p-h,0),index:S})).sort((p,S)=>D(p.diff)-D(S.diff)),{index:d}=y[0];return{index:d,distance:h}}function b(f,h){const y=[f,f+n,f-n];if(!t)return f;if(!h)return l(y);const d=y.filter(p=>Me(p)===h);return d.length?l(d):$(y)-n}function m(f,h){const y=e[f]-s.get(),d=b(y,h);return{index:f,distance:d}}function g(f,h){const y=s.get()+f,{index:d,distance:p}=c(y),S=!t&&i(y);if(!h||S)return{index:d,distance:f};const k=e[d]-p,P=f+b(k,0);return{index:d,distance:P}}return{byDistance:g,byIndex:m,shortcut:b}}function bn(t,e,n,o,s,i,r){function u(m){const g=m.distance,v=m.index!==e.get();i.add(g),g&&(o.duration()?t.start():(t.update(),t.render(1),t.update())),v&&(n.set(e.get()),e.set(m.index),r.emit("select"))}function l(m,g){const v=s.byDistance(m,g);u(v)}function c(m,g){const v=e.clone().set(m),f=s.byIndex(v.get(),g);u(f)}return{distance:l,index:c}}function vn(t,e,n,o,s,i,r,u){const l={passive:!0,capture:!0};let c=0;function b(v){if(!u)return;function f(h){if(new Date().getTime()-c>10)return;r.emit("slideFocusStart"),t.scrollLeft=0;const p=n.findIndex(S=>S.includes(h));Oe(p)&&(s.useDuration(0),o.index(p,0),r.emit("slideFocus"))}i.add(document,"keydown",m,!1),e.forEach((h,y)=>{i.add(h,"focus",d=>{(ve(u)||u(v,d))&&f(y)},l)})}function m(v){v.code==="Tab"&&(c=new Date().getTime())}return{init:b}}function ue(t){let e=t;function n(){return e}function o(l){e=r(l)}function s(l){e+=r(l)}function i(l){e-=r(l)}function r(l){return Oe(l)?l:l.get()}return{get:n,set:o,add:s,subtract:i}}function it(t,e){const n=t.scroll==="x"?r:u,o=e.style;let s=null,i=!1;function r(g){return`translate3d(${g}px,0px,0px)`}function u(g){return`translate3d(0px,${g}px,0px)`}function l(g){if(i)return;const v=en(t.direction(g));v!==s&&(o.transform=n(v),s=v)}function c(g){i=!g}function b(){i||(o.transform="",e.getAttribute("style")||e.removeAttribute("style"))}return{clear:b,to:l,toggleActive:c}}function wn(t,e,n,o,s,i,r,u,l){const b=fe(s),m=fe(s).reverse(),g=d().concat(p());function v(j,N){return j.reduce((x,A)=>x-s[A],N)}function f(j,N){return j.reduce((x,A)=>v(x,N)>0?x.concat([A]):x,[])}function h(j){return i.map((N,x)=>({start:N-o[x]+.5+j,end:N+e-.5+j}))}function y(j,N,x){const A=h(N);return j.map(L=>{const O=x?0:-n,M=x?n:0,z=x?"end":"start",U=A[L][z];return{index:L,loopPoint:U,slideLocation:ue(-1),translate:it(t,l[L]),target:()=>u.get()>U?O:M}})}function d(){const j=r[0],N=f(m,j);return y(N,n,!1)}function p(){const j=e-r[0]-1,N=f(b,j);return y(N,-n,!0)}function S(){return g.every(({index:j})=>{const N=b.filter(x=>x!==j);return v(N,e)<=.1})}function k(){g.forEach(j=>{const{target:N,translate:x,slideLocation:A}=j,L=N();L!==A.get()&&(x.to(L),A.set(L))})}function P(){g.forEach(j=>j.translate.clear())}return{canLoop:S,clear:P,loop:k,loopPoints:g}}function Sn(t,e,n){let o,s=!1;function i(l){if(!n)return;function c(b){for(const m of b)if(m.type==="childList"){l.reInit(),e.emit("slidesChanged");break}}o=new MutationObserver(b=>{s||(ve(n)||n(l,b))&&c(b)}),o.observe(t,{childList:!0})}function r(){o&&o.disconnect(),s=!0}return{init:i,destroy:r}}function jn(t,e,n,o){const s={};let i=null,r=null,u,l=!1;function c(){u=new IntersectionObserver(f=>{l||(f.forEach(h=>{const y=e.indexOf(h.target);s[y]=h}),i=null,r=null,n.emit("slidesInView"))},{root:t.parentElement,threshold:o}),e.forEach(f=>u.observe(f))}function b(){u&&u.disconnect(),l=!0}function m(f){return me(s).reduce((h,y)=>{const d=parseInt(y),{isIntersecting:p}=s[d];return(f&&p||!f&&!p)&&h.push(d),h},[])}function g(f=!0){if(f&&i)return i;if(!f&&r)return r;const h=m(f);return f&&(i=h),f||(r=h),h}return{init:c,destroy:b,get:g}}function Nn(t,e,n,o,s,i){const{measureSize:r,startEdge:u,endEdge:l}=t,c=n[0]&&s,b=f(),m=h(),g=n.map(r),v=y();function f(){if(!c)return 0;const p=n[0];return D(e[u]-p[u])}function h(){if(!c)return 0;const p=i.getComputedStyle($(o));return parseFloat(p.getPropertyValue(`margin-${l}`))}function y(){return n.map((p,S,k)=>{const P=!S,T=Fe(k,S);return P?g[S]+b:T?g[S]+m:k[S+1][u]-p[u]}).map(D)}return{slideSizes:g,slideSizesWithGaps:v,startGap:b,endGap:m}}function kn(t,e,n,o,s,i,r,u,l){const{startEdge:c,endEdge:b,direction:m}=t,g=Oe(n);function v(d,p){return fe(d).filter(S=>S%p===0).map(S=>d.slice(S,S+p))}function f(d){return d.length?fe(d).reduce((p,S,k)=>{const P=$(p)||0,T=P===0,j=S===he(d),N=s[c]-i[P][c],x=s[c]-i[S][b],A=!o&&T?m(r):0,L=!o&&j?m(u):0,O=D(x-L-(N+A));return k&&O>e+l&&p.push(S),j&&p.push(d.length),p},[]).map((p,S,k)=>{const P=Math.max(k[S-1]||0);return d.slice(P,p)}):[]}function h(d){return g?v(d,n):f(d)}return{groupSlides:h}}function Cn(t,e,n,o,s,i,r){const{align:u,axis:l,direction:c,startIndex:b,loop:m,duration:g,dragFree:v,dragThreshold:f,inViewThreshold:h,slidesToScroll:y,skipSnaps:d,containScroll:p,watchResize:S,watchSlides:k,watchDrag:P,watchFocus:T}=i,j=2,N=an(),x=N.measure(e),A=n.map(N.measure),L=rn(l,c),O=L.measureSize(x),M=cn(O),z=tn(u,O),U=!m&&!!p,Z=m||!!p,{slideSizes:Y,slideSizesWithGaps:q,startGap:K,endGap:ie}=Nn(L,x,A,n,Z,s),G=kn(L,O,y,m,x,A,K,ie,j),{snaps:re,snapsAligned:oe}=hn(L,z,x,A,G),W=-$(re)+$(q),{snapsContained:ae,scrollContainLimit:ce}=fn(O,W,oe,p,j),B=U?ae:oe,{limit:F}=mn(W,B,m),J=st(he(B),b,m),_=J.clone(),I=fe(n),w=({dragHandler:se,scrollBody:ke,scrollBounds:Ce,options:{loop:xe}})=>{xe||Ce.constrain(se.pointerDown()),ke.seek()},E=({scrollBody:se,translate:ke,location:Ce,offsetLocation:xe,previousLocation:ut,scrollLooper:dt,slideLooper:ft,dragHandler:mt,animation:pt,eventHandler:ze,scrollBounds:gt,options:{loop:Ue}},Ge)=>{const He=se.settled(),ht=!gt.shouldConstrain(),qe=Ue?He:He&&ht,Ke=qe&&!mt.pointerDown();Ke&&pt.stop();const xt=Ce.get()*Ge+ut.get()*(1-Ge);xe.set(xt),Ue&&(dt.loop(se.direction()),ft.loop()),ke.to(xe.get()),Ke&&ze.emit("settle"),qe||ze.emit("scroll")},R=nn(o,s,()=>w(Ne),se=>E(Ne,se)),V=.68,H=B[J.get()],Q=ue(H),ee=ue(H),X=ue(H),te=ue(H),le=un(Q,X,ee,te,g,V),Se=yn(m,B,W,F,te),je=bn(R,J,_,le,Se,te,r),Be=gn(F),_e=pe(),ct=jn(e,n,r,h),{slideRegistry:$e}=xn(U,p,B,ce,G,I),lt=vn(t,n,$e,je,le,_e,r,T),Ne={ownerDocument:o,ownerWindow:s,eventHandler:r,containerRect:x,slideRects:A,animation:R,axis:L,dragHandler:on(L,t,o,s,te,sn(L,s),Q,R,je,le,Se,J,r,M,v,f,d,V,P),eventStore:_e,percentOfView:M,index:J,indexPrevious:_,limit:F,location:Q,offsetLocation:X,previousLocation:ee,options:i,resizeHandler:ln(e,r,s,n,L,S,N),scrollBody:le,scrollBounds:dn(F,X,te,le,M),scrollLooper:pn(W,F,X,[Q,X,ee,te]),scrollProgress:Be,scrollSnapList:B.map(Be.get),scrollSnaps:B,scrollTarget:Se,scrollTo:je,slideLooper:wn(L,O,W,Y,q,re,B,X,n),slideFocus:lt,slidesHandler:Sn(e,r,k),slidesInView:ct,slideIndexes:I,slideRegistry:$e,slidesToScroll:G,target:te,translate:it(L,e)};return Ne}function Tn(){let t={},e;function n(c){e=c}function o(c){return t[c]||[]}
6function s(c){return o(c).forEach(b=>b(e,c)),l}function i(c,b){return t[c]=o(c).concat([b]),l}function r(c,b){return t[c]=o(c).filter(m=>m!==b),l}function u(){t={}}const l={init:n,emit:s,off:r,on:i,clear:u};return l}const An={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function Pn(t){function e(i,r){return ot(i,r||{})}function n(i){const r=i.breakpoints||{},u=me(r).filter(l=>t.matchMedia(l).matches).map(l=>r[l]).reduce((l,c)=>e(l,c),{});return e(i,u)}function o(i){return i.map(r=>me(r.breakpoints||{})).reduce((r,u)=>r.concat(u),[]).map(t.matchMedia)}return{mergeOptions:e,optionsAtMedia:n,optionsMediaQueries:o}}function Ln(t){let e=[];function n(i,r){return e=r.filter(({options:u})=>t.optionsAtMedia(u).active!==!1),e.forEach(u=>u.init(i,t)),r.reduce((u,l)=>Object.assign(u,{[l.name]:l}),{})}function o(){e=e.filter(i=>i.destroy())}return{init:n,destroy:o}}function be(t,e,n){const o=t.ownerDocument,s=o.defaultView,i=Pn(s),r=Ln(i),u=pe(),l=Tn(),{mergeOptions:c,optionsAtMedia:b,optionsMediaQueries:m}=i,{on:g,off:v,emit:f}=l,h=L;let y=!1,d,p=c(An,be.globalOptions),S=c(p),k=[],P,T,j;function N(){const{container:I,slides:w}=S;T=(Te(I)?t.querySelector(I):I)||t.children[0];const R=Te(w)?T.querySelectorAll(w):w;j=[].slice.call(R||T.children)}function x(I){const w=Cn(t,T,j,o,s,I,l);if(I.loop&&!w.slideLooper.canLoop()){const E=Object.assign({},I,{loop:!1});return x(E)}return w}function A(I,w){y||(p=c(p,I),S=b(p),k=w||k,N(),d=x(S),m([p,...k.map(({options:E})=>E)]).forEach(E=>u.add(E,"change",L)),S.active&&(d.translate.to(d.location.get()),d.animation.init(),d.slidesInView.init(),d.slideFocus.init(_),d.eventHandler.init(_),d.resizeHandler.init(_),d.slidesHandler.init(_),d.options.loop&&d.slideLooper.loop(),T.offsetParent&&j.length&&d.dragHandler.init(_),P=r.init(_,k)))}function L(I,w){const E=G();O(),A(c({startIndex:E},I),w),l.emit("reInit")}function O(){d.dragHandler.destroy(),d.eventStore.clear(),d.translate.clear(),d.slideLooper.clear(),d.resizeHandler.destroy(),d.slidesHandler.destroy(),d.slidesInView.destroy(),d.animation.destroy(),r.destroy(),u.clear()}function M(){y||(y=!0,u.clear(),O(),l.emit("destroy"),l.clear())}function z(I,w,E){!S.active||y||(d.scrollBody.useBaseFriction().useDuration(w===!0?0:S.duration),d.scrollTo.index(I,E||0))}function U(I){const w=d.index.add(1).get();z(w,I,-1)}function Z(I){const w=d.index.add(-1).get();z(w,I,1)}function Y(){return d.index.add(1).get()!==G()}function q(){return d.index.add(-1).get()!==G()}function K(){return d.scrollSnapList}function ie(){return d.scrollProgress.get(d.offsetLocation.get())}function G(){return d.index.get()}function re(){return d.indexPrevious.get()}function oe(){return d.slidesInView.get()}function W(){return d.slidesInView.get(!1)}function ae(){return P}function ce(){return d}function B(){return t}function F(){return T}function J(){return j}const _={canScrollNext:Y,canScrollPrev:q,containerNode:F,internalEngine:ce,destroy:M,off:v,on:g,emit:f,plugins:ae,previousScrollSnap:re,reInit:h,rootNode:B,scrollNext:U,scrollPrev:Z,scrollProgress:ie,scrollSnapList:K,scrollTo:z,selectedScrollSnap:G,slideNodes:J,slidesInView:oe,slidesNotInView:W};return A(e,n),setTimeout(()=>l.emit("init"),0),_}be.globalOptions=void 0;function Ve(t={},e=[]){const n=C.useRef(t),o=C.useRef(e),[s,i]=C.useState(),[r,u]=C.useState(),l=C.useCallback(()=>{s&&s.reInit(n.current,o.current)},[s]);return C.useEffect(()=>{Re(n.current,t)||(n.current=t,l())},[t,l]),C.useEffect(()=>{Xt(o.current,e)||(o.current=e,l())},[e,l]),C.useEffect(()=>{if(Yt()&&r){be.globalOptions=Ve.globalOptions;const c=be(r,n.current,o.current);return i(c),()=>c.destroy()}else i(void 0)},[r,i]),[u,s]}Ve.globalOptions=void 0;const at=C.createContext(null);function we(){const t=C.useContext(at);if(!t)throw new Error("useCarousel must be used within a <Carousel />");return t}const Pe=C.forwardRef(({orientation:t="horizontal",opts:e,setApi:n,plugins:o,className:s,children:i,...r},u)=>{const[l,c]=Ve({...e,axis:t==="horizontal"?"x":"y"},o),[b,m]=C.useState(!1),[g,v]=C.useState(!1),f=C.useCallback(p=>{p&&(m(p.canScrollPrev()),v(p.canScrollNext()))},[]),h=C.useCallback(()=>{c==null||c.scrollPrev()},[c]),y=C.useCallback(()=>{c==null||c.scrollNext()},[c]),d=C.useCallback(p=>{p.key==="ArrowLeft"?(p.preventDefault(),h()):p.key==="ArrowRight"&&(p.preventDefault(),y())},[h,y]);return C.useEffect(()=>{!c||!n||n(c)},[c,n]),C.useEffect(()=>{if(c)return f(c),c.on("reInit",f),c.on("select",f),()=>{c==null||c.off("select",f)}},[c,f]),a.jsx(at.Provider,{value:{carouselRef:l,api:c,opts:e,orientation:t||((e==null?void 0:e.axis)==="y"?"vertical":"horizontal"),scrollPrev:h,scrollNext:y,canScrollPrev:b,canScrollNext:g},children:a.jsx("div",{ref:u,onKeyDownCapture:d,className:ge("relative",s),role:"region","aria-roledescription":"carousel",...r,children:i})})});
6Pe.displayName="Carousel";const Le=C.forwardRef(({className:t,...e},n)=>{const{carouselRef:o,orientation:s}=we();return a.jsx("div",{ref:o,className:"overflow-hidden",children:a.jsx("div",{ref:n,className:ge("flex",s==="horizontal"?"-ml-4":"-mt-4 flex-col",t),...e})})});Le.displayName="CarouselContent";const Ee=C.forwardRef(({className:t,...e},n)=>{const{orientation:o}=we();return a.jsx("div",{ref:n,role:"group","aria-roledescription":"slide",className:ge("min-w-0 shrink-0 grow-0 basis-full",o==="horizontal"?"pl-4":"pt-4",t),...e})});Ee.displayName="CarouselItem";const Ie=C.forwardRef(({className:t,variant:e="outline",size:n="icon",...o},s)=>{const{orientation:i,scrollPrev:r,canScrollPrev:u}=we();return a.jsxs(Ze,{ref:s,variant:e,size:n,className:ge("absolute h-8 w-8 rounded-full",i==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!u,onClick:r,...o,children:[a.jsx(nt,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Previous slide"})]})});Ie.displayName="CarouselPrevious";const De=C.forwardRef(({className:t,variant:e="outline",size:n="icon",...o},s)=>{const{orientation:i,scrollNext:r,canScrollNext:u}=we();return a.jsxs(Ze,{ref:s,variant:e,size:n,className:ge("absolute h-8 w-8 rounded-full",i==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!u,onClick:r,...o,children:[a.jsx(zt,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Next slide"})]})});De.displayName="CarouselNext";const En=new Set(["capture-one-styles","lightroom-presets"]),Jn=()=>{var N;const{slug:t}=vt(),[e,n]=C.useState(null),[o,s]=C.useState(!0);C.useState("");const[i,r]=C.useState(!1),[u,l]=C.useState(!1),[c,b]=C.useState(null);C.useRef(null),wt();const{reviews:m,avg:g,count:v}=It(e==null?void 0:e.id),f=Dt({defer:!0}),h=(()=>{const x=Object.values(f);if(!x.length)return{avg:4.9,count:127};const A=x.reduce((O,M)=>O+M.count,0),L=A>0?x.reduce((O,M)=>O+M.avg*M.count,0)/A:4.9;return{avg:Number(L.toFixed(1))||4.9,count:Math.max(A,127)}})(),y=v>0?g:h.avg,d=v>0?v:h.count;if(C.useEffect(()=>{const x=()=>{r(!1),l(!1)};return window.addEventListener("pageshow",x),window.addEventListener("focus",x),()=>{window.removeEventListener("pageshow",x),window.removeEventListener("focus",x)}},[]),C.useEffect(()=>{t&&St.from("digital_products").select("*").eq("slug",t).eq("is_active",!0).maybeSingle().then(({data:x})=>{n(x),x&&(jt("product_view",{product_id:x.id,product_name:x.name,price:Number(x.price),category:x.category,slug:x.slug}),Nt({item_id:x.id,item_name:x.name,item_category:x.category,price:Number(x.price)})),s(!1)})},[t]),o)return a.jsx("div",{className:"flex justify-center items-center min-h-screen",children:a.jsx(kt,{className:"h-10 w-10 animate-spin text-primary"})});if(!e)return a.jsxs("div",{className:"min-h-screen flex flex-col items-center justify-center px-4 text-center",children:[a.jsx("h1",{className:"font-display text-3xl mb-4",children:"Product not found"}),a.jsx(We,{to:"/shop",className:"text-primary underline",children:"Back to Shop"})]});const p=e.video_url||e.video_preview_url,S=[...e.image_url?[e.image_url]:[],...(e.image_urls||[]).filter(x=>x&&x!==e.image_url)],k=S.length>1,P=En.has(e.category),T=P?"/shop?category=lightroom-presets":"/shop",j=P?"Back to Presets":"Back to Shop";return a.jsxs(a.Fragment,{children:[a.jsxs(Tt,{title:`${Ct(e.name).slice(0,55)} | ThiagoVibesp`.slice(0,60),description:`${e.description.slice(0,120)} â
${y}/5 from ${d}+ reviews. Instant download.`.slice(0,158),path:`/product/${e.slug}`,keywords:e.keywords,ogType:"product",ogImage:e.image_url||((N=e.image_urls)==null?void 0:N[0])||void 0,breadcrumbs:[{name:"Home",path:"/"},{name:"Shop",path:"/shop"},{name:e.name}],children:[p&&a.jsxs(a.Fragment,{children:[a.jsx("meta",{property:"og:video",content:p}),a.jsx("meta",{property:"og:video:secure_url",content:p}),a.jsx("meta",{property:"og:video:type",content:"video/mp4"}),a.jsx("meta",{property:"og:video:width",content:"1280"}),a.jsx("meta",{property:"og:video:height",content:"720"}),a.jsx("meta",{name:"twitter:player",content:p}),a.jsx("meta",{name:"twitter:player:width",content:"1280"}),a.jsx("meta",{name:"twitter:player:height",content:"720"})]}),a.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Product",name:e.name,description:e.description.slice(0,5e3),image:[...e.image_url?[e.image_url]:[],...(e.image_urls||[]).filter(x=>x&&x!==e.image_url)],sku:e.id,mpn:`TVP-${e.id.slice(0,8).toUpperCase()}`,productID:e.id,category:e.category,brand:{"@type":"Brand",name:"ThiagoVibesp"},manufacturer:{"@type":"Organization",name:"ThiagoVibesp"},url:`https://thiagovibesp.com/product/${e.slug}`,offers:{"@type":"Offer",url:`https://thiagovibesp.com/product/${e.slug}`,priceCurrency:"USD",price:Number(e.price).toFixed(2),availability:"https://schema.org/InStock",itemCondition:"https://schema.org/NewCondition",priceValidUntil:new Date(Date.now()+365*24*60*60*1e3).toISOString().split("T")[0],seller:{"@type":"Organization",name:"ThiagoVibesp"},hasMerchantReturnPolicy:{"@type":"MerchantReturnPolicy",applicableCountry:"US",returnPolicyCategory:"https://schema.org/MerchantReturnFiniteReturnWindow",merchantReturnDays:14,returnMethod:"https://schema.org/ReturnByMail",returnFees:"https://schema.org/FreeReturn"},shippingDetails:{"@type":"OfferShippingDetails",shippingRate:{"@type":"MonetaryAmount",value:"
60",currency:"USD"},shippingDestination:{"@type":"DefinedRegion",geoMidpoint:{"@type":"GeoCoordinates",latitude:0,longitude:0}},doesNotShip:!1,deliveryTime:{"@type":"ShippingDeliveryTime",handlingTime:{"@type":"QuantitativeValue",minValue:0,maxValue:0,unitCode:"DAY"},transitTime:{"@type":"QuantitativeValue",minValue:0,maxValue:0,unitCode:"DAY"}}}},aggregateRating:{"@type":"AggregateRating",ratingValue:y.toFixed(1),reviewCount:d,bestRating:5,worstRating:1},...m.length>0?{review:m.slice(0,5).map(x=>({"@type":"Review",author:{"@type":"Person",name:x.reviewer_name},datePublished:x.created_at,reviewBody:x.message||"",reviewRating:{"@type":"Rating",ratingValue:x.rating,bestRating:5,worstRating:1}}))}:{}})}),p&&a.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"VideoObject",name:`${e.name} â Preview`,description:e.description.slice(0,500),thumbnailUrl:[e.image_url,...(e.image_urls||[]).filter(x=>x&&x!==e.image_url)].filter(Boolean),uploadDate:(e.created_at||new Date().toISOString()).split("T")[0],contentUrl:p,embedUrl:p,duration:"PT15S",inLanguage:"en",isFamilyFriendly:!0,publisher:{"@type":"Organization",name:"ThiagoVibesp",logo:{"@type":"ImageObject",url:"https://thiagovibesp.com/og-image.jpg"}},potentialAction:{"@type":"SeekToAction",target:`https://thiagovibesp.com/product/${e.slug}?t={seek_to_second_number}`,"startOffset-input":"required name=seek_to_second_number"}})}),a.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"WebPage",name:e.name,url:`https://thiagovibesp.com/product/${e.slug}`,speakable:{"@type":"SpeakableSpecification",cssSelector:["h1",".ai-answer",".ai-faq"]}})}),a.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:`What is ${e.name}
6?`,acceptedAnswer:{"@type":"Answer",text:`${e.name} is a professional ${e.category.replace(/-/g," ")} pack by ThiagoVibesp Creative. ${e.description.slice(0,280)}`}},{"@type":"Question",name:`How much does ${e.name} cost?`,acceptedAnswer:{"@type":"Answer",text:`${e.name} costs $${Number(e.price).toFixed(2)} USD. Instant download via email after secure checkout with Stripe or PayPal. Includes commercial license and 14-day money-back guarantee.`}},{"@type":"Question",name:`Is ${e.name} compatible with DaVinci Resolve and Premiere Pro?`,acceptedAnswer:{"@type":"Answer",text:"Yes. The pack works in DaVinci Resolve, Adobe Premiere Pro, Final Cut Pro, and any NLE that supports .cube LUT files. Full installation guide is included."}}]})})]}),a.jsxs("div",{className:"relative min-h-screen pt-32 md:pt-36 pb-16 px-4",children:[a.jsxs("div",{className:"max-w-6xl mx-auto",children:[a.jsxs(We,{to:T,className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary mb-6",children:[a.jsx(nt,{className:"h-4 w-4"})," ",j]}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-8 md:items-start",children:[a.jsxs("div",{className:"flex flex-col gap-6",children:[a.jsx("div",{className:"rounded-xl overflow-hidden bg-card border border-border shadow-[var(--shadow-card)]",children:p?a.jsx(Bt,{src:p,poster:e.image_url||void 0,controls:!0,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,className:"w-full aspect-video object-cover",eager:!0}):k?a.jsxs(Pe,{className:"w-full",opts:{loop:!0},children:[a.jsx(Le,{children:S.map((x,A)=>a.jsx(Ee,{children:a.jsx("button",{type:"button",onClick:()=>b(x),className:"block w-full",children:a.jsx("img",{src:x,alt:`${e.name} â ${e.category} LUTs cinematic color grading preview ${A+1}`,className:"w-full aspect-video object-contain bg-muted"})})},A))}),a.jsx(Ie,{className:"left-2"}),a.jsx(De,{className:"right-2"})]}):e.image_url?a.jsx("button",{type:"button",onClick:()=>b(e.image_url),className:"block w-full",children:a.jsx("img",{src:e.image_url,alt:`${e.name} â ${e.category} LUTs cinematic color grading preset`,className:"w-full aspect-video object-contain bg-muted"})}):null}),p&&k&&a.jsxs(Pe,{className:"w-full",opts:{loop:!0},children:[a.jsx(Le,{children:S.map((x,A)=>a.jsx(Ee,{className:"basis-2/3 sm:basis-1/2 lg:basis-1/3",children:a.jsx("button",{type:"button",onClick:()=>b(x),className:"block w-full",children:a.jsx("img",{src:x,alt:`${e.name} â ${e.category} cinematic LUTs preview ${A+1}`,loading:"lazy",className:"w-full aspect-video rounded-lg border border-border object-contain bg-card"})})},A))}),a.jsx(Ie,{className:"left-2"}),a.jsx(De,{className:"right-2"})]})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("h1",{className:"font-display text-3xl md:text-4xl text-foreground tracking-wider mb-3",children:e.name}),a.jsx("div",{className:"flex items-center gap-2 mb-3",children:a.jsx(Rt,{value:5,size:16})}),a.jsx("ul",{className:"space-y-1.5 mb-5",children:["Instant download from your member library","Works in DaVinci, Premiere & Final Cut","Commercial license included","New products added every week"].map(x=>a.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground/85",children:[a.jsx(et,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),a.jsx("span",{children:x})]},x))}),a.jsx("div",{className:"space-y-4 mb-4",children:a.jsxs("div",{className:"bg-card border border-border rounded-xl p-5",children:[a.jsx("a",{href:"https://thiagovibespcreative.etsy.com",target:"_blank",rel:"noopener noreferrer",className:"w-full inline-flex items-center justify-center h-12 bg-primary text-primary-foreground hover:bg-primary/90 font-display tracking-[0.15em] text-[11px] rounded-md uppercase",children:"Download"}),a.jsxs("div",{className:"flex items-center justify-center gap-1 mt-2 text-[10px] text-muted-foreground",children:[a.jsx(tt,{className:"h-3 w-3"}),"Available on Etsy"]})]})}),a.jsx(Jt,{}),a.jsx(Kt,{}),a.jsx(Wt,{}),a.jsx("p",{className:"text-foreground/85 whitespace-pre-line my-6 leading-relaxed",children:e.description}),a.jsxs("section",{className:"ai-answer mt-2 mb-6 rounded-lg border border-border bg-card/60 p-4",children:[a.jsx("h2",{className:"font-display text-lg text-foreground mb-2",children:"Qu
6ick facts"}),a.jsxs("p",{className:"text-sm text-foreground/85 leading-relaxed",children:[a.jsx("strong",{children:e.name})," is a professional ",e.category.replace(/-/g," ")," pack by ThiagoVibesp Creative. Available for instant download on Etsy. Compatible with DaVinci Resolve, Adobe Premiere Pro, and Final Cut Pro. Includes commercial license and a 14-day money-back guarantee."]})]}),a.jsxs("section",{className:"ai-faq mb-6",children:[a.jsx("h2",{className:"font-display text-lg text-foreground mb-3",children:"Frequently asked questions"}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsxs("h3",{className:"text-sm font-semibold text-foreground",children:["How do I receive ",e.name,"?"]}),a.jsx("p",{className:"text-sm text-foreground/75 leading-relaxed",children:"A secure download link is emailed to you within 30 seconds of payment confirmation."})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Which software is supported?"}),a.jsx("p",{className:"text-sm text-foreground/75 leading-relaxed",children:"DaVinci Resolve, Adobe Premiere Pro, Final Cut Pro, and any editor that accepts .cube LUT files."})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Can I use it in client work?"}),a.jsx("p",{className:"text-sm text-foreground/75 leading-relaxed",children:"Yes â every purchase includes a commercial license for films, YouTube, ads, and client deliverables."})]})]})]}),a.jsx("div",{className:"mt-4 pt-4 border-t border-border",children:a.jsx(Lt,{url:typeof window<"u"?window.location.href:`https://thiagovibesp.com/product/${e.slug}`,title:e.name,description:e.description.slice(0,160),imageUrl:e.image_url||void 0})})]})]}),a.jsx(qt,{slug:e.slug,productName:e.name}),a.jsx(Pt,{}),a.jsx(Et,{context:`${e.name} ${e.category} ${e.keywords||""}`,heading:"Customers also viewed",limit:4,source:"product_detail_related"})]}),a.jsx(At,{})]}),a.jsx(Mt,{open:!!c,onOpenChange:x=>!x&&b(null),children:a.jsxs(Ft,{className:"max-w-5xl border-border bg-background p-2 sm:p-4",children:[a.jsx(Vt,{className:"sr-only",children:"Product image preview"}),c&&a.jsx("img",{src:c,alt:e.name,className:"mx-auto max-h-[82vh] w-full rounded-lg object-contain"})]})})]})};export{Jn as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.