1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[97855],{3018:(e,t,n)=>{n.d(t,{F:()=>a});var r=n(95155),o=n(64269);function a(e){let{className:t,gradientId:n="wlogo-grad",iconOnly:a=!1,forceWordmark:i=!1}=e;return(0,r.jsxs)("span",{className:(0,o.cn)("brand-logo flex items-center gap-2",t),children:[(0,r.jsxs)("svg",{viewBox:"0 0 64 64",className:"h-8 w-8 shrink-0","aria-hidden":!0,children:[(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:n,x1:"0",y1:"1",x2:"1",y2:"0",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:"var(--gradient-to, #7e22ce)"}),(0,r.jsx)("stop",{offset:"55%",stopColor:"var(--gradient-via, #a855f7)"}),(0,r.jsx)("stop",{offset:"100%",stopColor:"var(--gradient-from, #c084fc)"})]})}),(0,r.jsx)("line",{x1:"10",y1:"55",x2:"25",y2:"40",stroke:"url(#".concat(n,")"),strokeWidth:"7.5",strokeLinecap:"round"}),(0,r.jsx)("path",{d:"M41 4 C43.6 17.4 47.6 21.4 61 24 C47.6 26.6 43.6 30.6 41 44 C38.4 30.6 34.4 26.6 21 24 C34.4 21.4 38.4 17.4 41 4 Z",fill:"url(#".concat(n,")")})]}),a?null:(0,r.jsxs)("span",{className:(0,o.cn)("font-[family-name:var(--font-display)] text-[19px] font-bold leading-none tracking-tight text-foreground",!i&&"max-sm:hidden"),children:["wandura",(0,r.jsx)("span",{style:{color:"var(--lime)"},children:".ai"})]})]})}},6870:(e,t,n)=>{n.d(t,{$3:()=>a.$3,Du:()=>a.Du,Ft:()=>a.Ft,M2:()=>a.M2,UV:()=>a.UV,YA:()=>o.Y,Zk:()=>r.Zk,aD:()=>a.aD,bz:()=>r.bz,kS:()=>a.kS,mY:()=>a.mY,sX:()=>a.sX,xS:()=>a.xS,yW:()=>r.yW}),n(27483);var r=n(3348),o=n(87107),a=n(17409)},17409:(e,t,n)=>{n.d(t,{$3:()=>f,Du:()=>v,Ft:()=>g,M2:()=>c,UV:()=>s,WR:()=>i,aD:()=>b,kS:()=>d,mY:()=>h,sX:()=>u,xS:()=>x});var r=n(3348),o=n(87107),a=n(27483);function i(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():"evt_".concat(Date.now(),"_").concat(Math.floor(1e3*performance.now()))}function l(e){var t,n;let a=(0,o.o)();return{env:(0,r.Uo)(window.location.hostname),...e,creative_id:null!=(t=e.creative_id)?t:a.utm_content,campaign:null!=(n=e.campaign)?n:a.utm_campaign,...a.flow?{flow:a.flow}:{}}}function c(e){"undefined"!=typeof document&&(document.cookie="".concat(r.S8,"=").concat(e?"granted":"denied","; Max-Age=").concat(15552e3,"; Path=/; SameSite=Lax"));let t=e?"granted":"denied";p("consent","update",{ad_storage:t,ad_user_data:t,ad_personalization:t,analytics_storage:t}),(r.Zk||r.gV)&&window.fbq&&window.fbq("consent",e?"grant":"revoke"),e||d()}function s(){return"undefined"==typeof document||document.cookie.includes("".concat(r.S8,"="))}function d(){"undefined"!=typeof document&&(document.cookie="wdr_am=; Max-Age=0; Path=/; SameSite=Lax")}function p(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];r.yW&&window.gtag&&window.gtag(...t)}function u(e){e&&p("set","user_data",{email:e})}function m(e,t){var n,o;let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{meta:c,ga4:s}=a.q[e],d=null!=(n=l.metaName)?n:c,u=null!=(o=l.eventId)?o:i();!function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];r.Zk&&window.fbq&&window.fbq(...t)}(l.custom?"trackCustom":"track",d,t,{eventID:u}),l.skipGa4||p("event",s,t),function(e,t,n,o,a){if(r.Zk||r.gV)try{let i="undefined"!=typeof document?document.cookie.includes("".concat(r.S8,"=granted")):void 0,l=JSON.stringify({eventName:t,eventKey:e,ga4Name:n,eventId:o,value:a.value,currency:a.currency,transactionId:a.transaction_id,campaign:a.campaign,creativeId:a.creative_id,consent:i,env:a.env,pageUrl:window.location.href});fetch("/api/tracking/log",{method:"POST",headers:{"content-type":"application/json"},body:l,keepalive:!0}).catch(()=>{})}catch(e){}}(e,d,s,u,t)}function f(e){m("view",l(e))}function g(e){m("generate",l(e),{custom:!0})}function h(e,t){m("signup",l(e),{eventId:t})}function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m("checkout",{...l(t),...e})}function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m("scrollDepth",{...l(t),percent_scrolled:e},{custom:!0})}function v(e,t,n){m("purchase",{...l(t),...e},{eventId:n.eventId,metaName:n.subscription?"Subscribe":"Purchase",skipGa4:!0})}}
1,27483:(e,t,n)=>{n.d(t,{q:()=>r});let r={view:{meta:"ViewContent",ga4:"view_item"},tryNow:{meta:"TryNow",ga4:"try_now"},generate:{meta:"Generate",ga4:"generate_click"},signup:{meta:"CompleteRegistration",ga4:"sign_up"},activation:{meta:"StartTrial",ga4:"made_creative"},purchase:{meta:"Purchase",ga4:"purchase"},renewal:{meta:"SubscriptionRenewal",ga4:"subscription_renewal"},funnelStep:{meta:"FunnelStep",ga4:"funnel_step"},lead:{meta:"Lead",ga4:"generate_lead"},checkout:{meta:"InitiateCheckout",ga4:"begin_checkout"},scrollDepth:{meta:"ScrollDepth",ga4:"scroll_depth"}}},28176:(e,t,n)=>{n.d(t,{CreditsProvider:()=>p,Gj:()=>m,I:()=>u,YY:()=>l});var r=n(95155),o=n(12115),a=n(96648),i=n(70867);let l="wandura:credits-refresh",c={balance:null,personalBalance:null,planCredits:null,topupCredits:null,planCreditsQuota:null,plan:"none",interval:null,renewsAt:null,hasSubscription:!1,enterprise:!1,activeWallet:null,walletNotice:null},s=new Set(["team_disabled","team_context_invalid","team_suspended"]),d=(0,o.createContext)(null);function p(e){let{children:t}=e,[n,p]=(0,o.useState)(c),[u,m]=(0,o.useState)(!0),f=(0,o.useRef)(!1),g=(0,o.useRef)(!1),h=(0,o.useRef)(null),x=(0,o.useCallback)(()=>{p(e=>{var t,n;return h.current=null!=(n=null==(t=e.walletNotice)?void 0:t.code)?n:null,{...e,walletNotice:null}})},[]),b=(0,o.useCallback)(async()=>{if(f.current){g.current=!0;return}f.current=!0;try{var e,t,n,r,o,l;if(!await (0,a.getBrowserSessionSafe)())return void p(c);let d=await fetch("/api/credits");if(!d.ok)return void p(c);let u=await d.json(),m=function(e){var t,n,r,o;if(!("activeWallet"in e))return{enterprise:!1,activeWallet:null,walletNotice:null};(0,i.oV)();let a=(t=e.activeWallet)&&"object"==typeof t?"team"===t.kind&&"string"==typeof t.teamId?{kind:"team",teamId:t.teamId,teamName:"string"==typeof t.teamName?t.teamName:"",role:"string"==typeof t.role?t.role:void 0,balance:Number(null!=(n=t.balance)?n:0),reserved:Number(null!=(r=t.reserved)?r:0),frozen:!!t.frozen}:"personal"===t.kind?{kind:"personal",balance:Number(null!=(o=t.balance)?o:0)}:null:null,l=e.walletRefusal;if(a)return(0,i.vg)("team"===a.kind?a.teamId:i.bw),{enterprise:!0,activeWallet:a,walletNotice:null};let c="string"==typeof(null==l?void 0:l.code)?l.code:"team_context_unavailable",d="string"==typeof(null==l?void 0:l.message)?l.message:"We couldn't confirm which workspace to use.";return s.has(c)&&(0,i.vg)(i.bw),{enterprise:!0,activeWallet:null,walletNotice:{code:c,message:d}}}(u),f=null!=(t=u.balance)?t:0,g=(null==(e=m.activeWallet)?void 0:e.kind)==="team";m.walletNotice||(h.current=null);let x=m.walletNotice&&h.current===m.walletNotice.code?null:m.walletNotice;p({balance:m.enterprise?m.activeWallet?m.activeWallet.balance:null:f,personalBalance:f,planCredits:null!=(n=u.planCredits)?n:0,topupCredits:null!=(r=u.topupCredits)?r:0,planCreditsQuota:g||"number"!=typeof u.planCreditsQuota?null:u.planCreditsQuota,plan:null!=(o=u.plan)?o:"none",interval:"month"===u.interval||"year"===u.interval?u.interval:null,renewsAt:null!=(l=u.renewsAt)?l:null,hasSubscription:!!u.hasSubscription,...m,walletNotice:x})}catch(e){}finally{f.current=!1,m(!1),g.current&&(g.current=!1,b())}},[]);return(0,o.useEffect)(()=>{b();let e=()=>b();window.addEventListener("focus",e),window.addEventListener(l,e);let t=window.setInterval(()=>{"visible"===document.visibilityState&&b()},2e4),n=null;try{let{data:e}=(0,a.supabaseBrowser)().auth.onAuthStateChange(()=>b());n=()=>e.subscription.unsubscribe()}catch(e){}return()=>{window.removeEventListener("focus",e),window.removeEventListener(l,e),window.clearInterval(t),null==n||n()}},[b]),(0,r.jsx)(d.Provider,{value:{...n,loading:u,refresh:b,dismissWalletNotice:x},children:t})}function u(){let e=(0,o.useContext)(d);return e||{...c,loading:!1,refresh:()=>{},dismissWalletNotice:()=>{}}}function m(e){return"none"!==e&&"free"!==e}}
1,31912:(e,t,n)=>{n.d(t,{$8:()=>x,nW:()=>h,o:()=>v});var r=n(95155),o=n(12115),a=n(47650),i=n(94511),l=n(12890),c=n(3018),s=n(50750),d=n(73296),p=n(6870),u=n(62903);let m="pk_live_51RocI1RTFiCqGCgWF0ek1S0bRV9KwNgaLb1wqOHGpC4jVImJlcjCsAcgqxInCAKgIwWmrDw150NYjxU8rQLUOUVy00QgN4lvAv",f=null,g=!1;function h(){return m?(g||(g=!0,f=(0,i.c)(m)),f):null}let x={theme:"night",variables:{colorPrimary:"#db2777",colorBackground:"#0d0d0f",colorText:"#ffffff",colorTextSecondary:"rgba(255,255,255,0.68)",colorDanger:"#ff6b6b",borderRadius:"10px",fontFamily:"Poppins, system-ui, sans-serif",spacingUnit:"4px"}};function b(e){let{payLabel:t,returnUrl:n,isSetup:a,step:i,onPaid:c}=e,s=(0,l.t2)(),d=(0,l.HH)(),[p,u]=(0,o.useState)(null),[m,f]=(0,o.useState)(!1),[g,h]=(0,o.useState)(!1),x=(0,o.useRef)(!1),b=(0,o.useRef)(!1);async function v(){if(s&&d){f(!0),u(null),i("payment_submitted");try{let{error:o}=a?await s.confirmSetup({elements:d,confirmParams:{return_url:n}}):await s.confirmPayment({elements:d,confirmParams:{return_url:n}});if(o||c(),o){var e,t,r;i("checkout_error",{stage:"confirm",code:null!=(e=o.code)?e:null,decline_code:null!=(t=o.decline_code)?t:null}),u(null!=(r=o.message)?r:"Payment failed. Please check your details and try again."),f(!1)}}catch(e){i("checkout_error",{stage:"confirm_threw"}),u((null==e?void 0:e.message)||"Payment could not be processed. Please try again."),f(!1)}}}async function y(e){e.preventDefault(),await v()}return(0,r.jsxs)("form",{className:"pr-co-form",onSubmit:y,children:[(0,r.jsxs)("div",{className:"pr-co-fields",children:[(0,r.jsxs)("div",{className:"pr-co-express",style:!a&&g?void 0:{display:"none"},children:[(0,r.jsx)(l.F8,{options:{buttonHeight:44,paymentMethods:{amazonPay:"never",paypal:"never",klarna:"never"}},onReady:e=>{let{availablePaymentMethods:t}=e;return h(!!t)},onConfirm:v}),(0,r.jsx)("div",{className:"pr-co-express-sep",children:(0,r.jsx)("span",{children:"or pay with card"})})]}),(0,r.jsx)(l.He,{onReady:()=>{x.current||(x.current=!0,i("checkout_mounted"))},onChange:e=>{b.current||e.empty||(b.current=!0,i("add_payment_info"))},options:{layout:"tabs",wallets:{link:"never"}}}),p&&(0,r.jsx)("div",{className:"pr-co-err",role:"alert",children:p})]}),(0,r.jsxs)("div",{className:"pr-co-foot",children:[(0,r.jsx)("button",{type:"submit",className:"pr-co-pay",disabled:!s||m,children:m?"Processingâ¦":t}),(0,r.jsx)("div",{className:"pr-co-secure",children:"\uD83D\uDD12 Payments are secure and encrypted"})]})]})}function v(e){let{clientSecret:t,summary:n,returnUrl:i,subscriptionId:m,paymentIntentId:f,onClose:g,trackSurface:v,trackPlanId:y}=e,w=(0,o.useRef)(null),k=(0,o.useRef)(!1),S=(0,o.useRef)(!1),j=(0,o.useRef)({surface:null!=v?v:"modal",planId:y});j.current={surface:null!=v?v:"modal",planId:y};let _=(0,o.useCallback)((e,t)=>{let{surface:n,planId:r}=j.current;(0,u.p$)(e,{flow:"B",surface:n,...r?{plan_id:r}:{},...t})},[]);(0,o.useEffect)(()=>()=>{if(k.current||S.current)return;S.current=!0;let{surface:e,planId:t}=j.current;(0,u.p$)("checkout_abandoned",{flow:"B",surface:e,...t?{plan_id:t}:{}})},[]);let[N,C]=(0,o.useState)(!1);(0,o.useEffect)(()=>C(!0),[]);let P=(0,o.useRef)(!1);(0,o.useEffect)(()=>{var e,t;if(P.current)return;P.current=!0;let r=Number(String(null!=(t=null!=(e=n.total)?e:n.amount)?t:"").replace(/[^0-9.]/g,""))||0;(0,p.xS)({value:r,currency:"USD",items:[{item_id:n.title,item_name:n.title,price:r,quantity:1}]},{})},[n]);let L=h(),[I,z]=(0,o.useState)(t),[U,D]=(0,o.useState)(n),[E,R]=(0,o.useState)(null),[A,W]=(0,o.useState)(null),[F,T]=(0,o.useState)(!1);async function O(e){T(!0),W(null);try{let t=await fetch("/api/billing/apply-promo",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({code:e,subscriptionId:m,paymentIntentId:f})}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r.error||"Could not apply this code");if(r.free)return void window.location.assign(i);let o=parseFloat(n.total.replace(/[^0-9.]/g,""))||0,a="number"==typeof r.amountUsd?r.amountUsd:o,l=Math.max(0,o-a);D(e=>({...e,total:"$".concat(a.toFixed(2)),discountLine:{label:"Promo (".concat(r.discountLabel,")"),value:"â$".concat(l.toFixed(2))}})),r.clientSecret&&z(r.clientSecret),R(r.discountLabel)}catch(e){W(e.message)}finally{T(!1)}}return((0,o.useEffect)(()=>{var e;let t=document.body.style.overflow;document.body.style.overflow="hidden";let n=e=>{"Escape"===e.key&&g()};return window.addEventListener("keydown",n),null==(e=w.current)||e.focus(),()=>{document.body.style.overflow=t,window.removeEventListener("keydown",n)}},[g]),N)?(0,a.createPortal)((0,r.jsxs)("div",{className:"pr-co-scrim",role:"dialog","aria-modal":"true","aria-label":"Checkout",onClick:e=>{e.target===e.currentTarget&&g()},children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:d.$}}),(0,r.jsxs)("div",{className:"pr-co-card",children:[(0,r.jsxs)("div",{className:"pr-co-head",children:[(0,r.jsx)(c.F,{gradientId:"wlogo-grad-checkout"}),(0,r.jsx)("button",{ref:w,type:"button",className:"pr-co-close","aria-label":"Close checkout",onClick:g,children:"â"})]}),(0,r.jsxs)("div",{className:"pr-co-body",children:[(0,r.jsx)(s.t,{summary:U,promo:{appliedLabel:E,error:A,busy:F,onApply:O}}),(0,r.jsx)("div",{className:"pr-co-pay-col",children:L?(0,r.jsx)(l.S8,{stripe:L,options:{clientSecret:I,appearance:x,locale:"en"},children:(0,r.jsx)(b,{isSetup:I.startsWith("seti_"),payLabel:I.startsWith("seti_")?"Add card & start subscription":"Pay ".concat(U.total),returnUrl:i,step:_,onPaid:()=>{k.current=!0}})},I):(0,r.jsx)("div",{className:"pr-co-error",role:"alert",children:"Payment is not configured. Please set NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY."})})]})]})]}),document.body):null}},50750:(e,t,n)=>{n.d(t,{t:()=>a});var r=n(95155),o=n(12115);function a(e){let{summary:t,promo:n}=e,[a,i]=(0,o.useState)(!1),[l,c]=(0,o.useState)("");return(0,r.jsxs)("div",{className:"pr-co-sum",children:[(0,r.jsx)("div",{className:"pr-co-sum-title",children:t.title}),(0,r.jsxs)("div",{className:"pr-co-price",children:[t.amount,t.amountUnit&&(0,r.jsxs)("small",{children:[" ",t.amountUnit]})]}),t.subNote&&(0,r.jsx)("div",{className:"pr-co-permo",children:t.subNote}),t.creditsLabel&&(0,r.jsxs)("div",{className:"pr-co-chip",children:["⦠",t.creditsLabel]}),(0,r.jsx)("div",{className:"pr-co-hr"}),t.lines.map((e,t)=>(0,r.jsxs)("div",{className:"pr-co-li",children:[(0,r.jsxs)("span",{className:"k",children:[e.label,e.sub&&(0,r.jsx)("small",{children:e.sub})]}),(0,r.jsx)("span",{className:"v",children:e.value})]},t)),t.discountLine&&(0,r.jsxs)("div",{className:"pr-co-li pr-co-disc",children:[(0,r.jsx)("span",{className:"k",children:t.discountLine.label}),(0,r.jsx)("span",{className:"v",children:t.discountLine.value})]}),n&&(0,r.jsxs)("div",{className:"pr-co-promo",children:[n.appliedLabel?(0,r.jsxs)("div",{className:"pr-co-promo-ok",children:["â Promotion code applied â ",n.appliedLabel]}):a?(0,r.jsxs)("form",{className:"pr-co-promo-row",onSubmit:e=>{e.preventDefault(),l.trim()&&n.onApply(l.trim())},children:[(0,r.jsx)("input",{className:"pr-co-promo-input",placeholder:"Promotion code",value:l,onCh
1ange:e=>c(e.target.value),"aria-label":"Promotion code",autoFocus:!0}),(0,r.jsx)("button",{type:"submit",className:"pr-co-promo-apply",disabled:n.busy||!l.trim(),children:n.busy?"â¦":"Apply"})]}):(0,r.jsx)("button",{type:"button",className:"pr-co-promo-toggle",onClick:()=>i(!0),children:"+ Add promotion code"}),n.error&&(0,r.jsx)("div",{className:"pr-co-promo-err",role:"alert",children:n.error})]}),(0,r.jsxs)("div",{className:"pr-co-total",children:[(0,r.jsx)("span",{className:"k",children:"Total due today"}),(0,r.jsx)("span",{className:"v",children:t.total})]}),(0,r.jsxs)("div",{className:"pr-co-trust",children:[(0,r.jsx)("span",{children:"\uD83D\uDD12 Secured by Stripe"}),(0,r.jsx)("span",{children:"⺠Cancel anytime"})]})]})}},64269:(e,t,n)=>{n.d(t,{cn:()=>a,r:()=>i});var r=n(2821),o=n(75889);function a(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.QP)((0,r.$)(t))}function i(e){return/\.(mp4|webm|mov)(\?|#|$)/i.test(e)}},70867:(e,t,n)=>{n.d(t,{ZQ:()=>a,bw:()=>o,i9:()=>u,oV:()=>f,vg:()=>c});let r="x-wdr-wallet",o="personal",a="wandura:team-wallet-insufficient",i=null,l=!1;function c(e){i=e}function s(e,t){try{let n=new URL(e,t);return n.origin===t&&n.pathname.startsWith("/api/")}catch(e){return!1}}function d(e){return"string"==typeof e?e:e instanceof URL?e.href:e.url}let p=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0;function u(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}async function m(e){try{var t;if(!(null!=(t=e.headers.get("content-type"))?t:"").includes("json"))return;let n=function(e){if(!e||"object"!=typeof e)return null;if("team_wallet_insufficient"===e.error_code){var t;let n=p(e.need),r=p(e.available),o=null!=(t=p(e.shortfall))?t:null!=n&&null!=r?Math.max(0,n-r):void 0;return{need:n,available:r,shortfall:o,message:"string"==typeof e.error?e.error:void 0}}let n=e.error;if(n&&"object"==typeof n&&"team_wallet_insufficient"===n.code){let e=n.message;return{message:"string"==typeof e?e:void 0}}return null}(await e.json());n&&u(n)}catch(e){console.warn("[wallet-header] could not read a 402 body:",e instanceof Error?e.message:String(e))}}function f(){if(l)return;l=!0;let e=window.fetch.bind(window);window.fetch=async(t,n)=>{let o=window.location.origin,a=await e(t,function(e,t,n,o){var a;if(!n||!s(d(e),o))return t;let i=new Headers(null!=(a=null==t?void 0:t.headers)?a:"object"==typeof e&&"headers"in e?e.headers:void 0);return i.has(r)?t:(i.set(r,n),{...t,headers:i})}(t,n,i,o));return 402===a.status&&s(d(t),o)&&m(a.clone()),a}}},73296:(e,t,n)=>{n.d(t,{$:()=>r});let r="\n\n/* âââ CHECKOUT MODAL (Mức 3 Elements: summary tá»i + PaymentElement) âââ */\n/* Scrim: quầng glow há»ng + backdrop-blur. */\n.pr-co-scrim{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;\n background:radial-gradient(900px 520px at 50% -8%,rgba(219,39,119,.28),transparent 60%),rgba(0,0,0,.74);\n backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);\n animation:pr-co-fade .22s ease both}\n/* Card ná»i bo g\xf3c + glow há»ng + Äá» b\xf3ng s\xe2u. Flex column + overflow hidden â body/foot chia chiá»u cao,\n n\xfat Pay ghim Ä\xe1y (kh\xf4ng cần scroll cả card). */\n.pr-co-card{width:100%;max-width:980px;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;\n background:var(--surface);border:1px solid var(--border-strong);border-radius:20px;\n box-shadow:0 40px 120px -40px rgba(219,39,119,.42),0 30px 80px -50px #000;\n animation:pr-co-pop .28s var(--ease-pop-soft,cubic-bezier(.34,1.28,.5,1)) both}\n.pr-co-head{flex:none;display:flex;align-items:center;justify-content:space-between;\n padding:14px 20px;border-bottom:1px solid var(--border)}\n.pr-co-close{background:transparent;border:none;color:var(--text-muted);font-size:18px;line-height:1;\n cursor:pointer;width:34px;height:34px;border-radius:9px;transition:background .16s,color .16s}\n.pr-co-close:hover{background:rgba(255,255,255,.06);color:var(--text)}\n.pr-co-close:focus-visible{outline:2px solid var(--lime);outline-offset:2px}\n\n/* 2 cá»t: summary (tr\xe1i) + form (phải). Chiếm phần cao c\xf2n lại cá»§a card; min-height:0 Äá» con cuá»n ÄÆ°á»£c. */\n.pr-co-body{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:1.02fr .98fr}\n/* Cá»t summary Tá»I (ours). */\n.pr-co-sum{padding:32px 34px;display:flex;flex-direction:column;overflow-y:auto;\n background:radial-gradient(520px 260px at -10% -20%,rgba(219,39,119,.16),transparent 60%),var(--surface)}\n.pr-co-sum-title{font-size:14px;color:var(--text-muted);margin-bottom:10px}\n.pr-co-price{font-size:42px;font-weight:800;letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline;gap:9px}\n.pr-co-price small{font-size:13px;font-weight:500;color:var(--text-faint);letter-spacing:0}\n.pr-co-permo{font-size:13px;color:var(--text-faint);margin-top:9px}\n.pr-co-chip{align-self:flex-start;margin-top:18px;display:inline-flex;align-items:center;gap:7px;\n background:rgba(219,39,119,.12);border:1px solid rgba(219,39,119,.4);color:#f9a8d4;
1\n font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:100px}\n.pr-co-hr{height:1px;background:var(--border);margin:24px 0}\n.pr-co-li{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;padding:5px 0}\n.pr-co-li .k{color:var(--text-muted)}.pr-co-li .k small{display:block;color:var(--text-faint);font-size:11.5px}\n.pr-co-li .v{font-weight:600;font-variant-numeric:tabular-nums}\n.pr-co-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;\n border-top:1px solid var(--border)}\n.pr-co-total .k{font-weight:600}.pr-co-total .v{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}\n.pr-co-trust{display:flex;gap:16px;margin-top:auto;padding-top:26px;font-size:11.5px;color:var(--text-faint);flex-wrap:wrap}\n/* D\xf2ng giảm gi\xe1 sau khi \xe1p promo. */\n.pr-co-disc .k{color:#34d399}.pr-co-disc .v{color:#34d399}\n/* Promo code â thay \xf4 \"Add promotion code\" cá»§a Stripe Checkout. */\n.pr-co-promo{margin-top:12px}\n.pr-co-promo-toggle{background:transparent;border:none;color:var(--text-muted);font-size:13px;font-weight:600;\n cursor:pointer;padding:2px 0;transition:color .16s}\n.pr-co-promo-toggle:hover{color:var(--text)}\n.pr-co-promo-row{display:flex;gap:8px}\n.pr-co-promo-input{flex:1;height:38px;border-radius:9px;border:1px solid var(--border-strong);\n background:var(--surface);color:var(--text);font-size:13.5px;padding:0 12px;font-family:inherit}\n.pr-co-promo-input::placeholder{color:var(--text-faint)}\n.pr-co-promo-input:focus{outline:none;border-color:var(--lime)}\n.pr-co-promo-apply{height:38px;padding:0 16px;border-radius:9px;border:1px solid var(--border-strong);\n background:var(--surface-2);color:var(--text);font-weight:600;font-size:13px;cursor:pointer;\n transition:background .16s,border-color .16s}\n.pr-co-promo-apply:hover:not(:disabled){background:rgba(255,255,255,.06);border-color:var(--text-muted)}\n.pr-co-promo-apply:disabled{opacity:.5;cursor:not-allowed}\n.pr-co-promo-ok{font-size:12.5px;font-weight:600;color:#34d399;display:flex;align-items:center;gap:6px}\n.pr-co-promo-err{margin-top:7px;font-size:12px;color:#ff9d9d}\n\n/* Cá»t form (phải) â ná»n surface-2 t\xe1ch nhẹ; PaymentElement tá»± style theme night. */\n.pr-co-pay-col{padding:24px 34px 26px;background:var(--surface-2);border-left:1px solid var(--border);\n display:flex;flex-direction:column;overflow:hidden;min-height:0}\n.pr-co-form{display:flex;flex-direction:column;height:100%;min-height:0}\n/* Field CUá»N trong (form Stripe d\xe0i) â n\xfat Pay kh\xf4ng bá» Äẩy khuất. */\n.pr-co-fields{flex:1;min-height:0;overflow-y:auto;padding-right:4px}\n/* Express row (Apple Pay/Google Pay/Link) tr\xean card form â WD-T135. Khá»i ẩn (inline style) tá»i khi\n ECE onReady b\xe1o c\xf3 wallet, tr\xe1nh separator má» c\xf4i. Style sep same seller-paywall. */\n.pr-co-express{margin-bottom:4px}\n.pr-co-express-sep{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:11px;\n color:rgba(255,255,255,.4)}\n.pr-co-express-sep::before,.pr-co-express-sep::after{content:'';flex:1;height:1px;\n background:rgba(255,255,255,.1)}\n/* Footer GHIM Ä\xe1y cá»t â Pay lu\xf4n thấy. */\n.pr-co-foot{flex:none;padding-top:16px;display:flex;flex-direction:column;gap:10px}\n.pr-co-pay{height:46px;border-radius:10px;border:none;cursor:pointer;color:#fff;font-weight:700;font-size:15px;\n background-image:var(--primary-gradient);box-shadow:0 12px 30px -12px rgba(219,39,119,.7);\n transition:filter .16s,transform .16s}\n.pr-co-pay:hover:not(:disabled){filter:brightness(1.06)}\n.pr-co-pay:active:not(:disabled){transform:translateY(1px)}\n.pr-co-pay:disabled{opacity:.6;cursor:not-allowed}\n.pr-co-err{font-size:13px;color:#ff9d9d;background:rgba(255,107,107,.10);border:1px solid rgba(255,107,107,.4);\n border-radius:9px;padding:10px 13px}\n.pr-co-secure{text-align:center;font-size:11.5px;color:var(--text-faint)}\n.pr-co-error{padding:22px 24px;margin:16px;border-radius:12px;text-align:center;font-size:14px;font-weight:600;\n color:#f9a8d4;background:rgba(219,39,119,.10);border:1px solid rgba(219,39,119,.42)}\n\n@keyframes pr-co-fade{from{opacity:0}
1to{opacity:1}}\n@keyframes pr-co-pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}\n@media(max-width:760px){\n /* Mobile: xếp 1 cá»t, cả body cuá»n; n\xfat Pay STICKY Ä\xe1y Äá» lu\xf4n thấy. */\n .pr-co-body{grid-template-columns:1fr;overflow-y:auto}\n .pr-co-sum{overflow:visible}\n .pr-co-pay-col{border-left:none;border-top:1px solid var(--border);overflow:visible}\n .pr-co-form{height:auto}\n /* flex:none (bug prod 260713): giữ flex:1+min-height:0 cá»§a desktop trong container height:auto\n â iOS Safari sáºp há»p vá» 0 khi iframe Stripe Äá»i chiá»u cao Äá»ng, iframe tr\xe0n (overflow:visible)\n v\xe0 foot sticky vẽ Ä\xc8 l\xean \xf4 Card number. flex:none â há»p lu\xf4n \xf4m Ä\xfang ná»i dung iframe. */\n .pr-co-fields{flex:none;overflow:visible}\n /* translateZ(0)+z-index (c\xf9ng bug): \xe9p foot ra compositing layer ri\xeang â iOS Safari c\xf3 lá»i kh\xf4ng\n t\xednh lại vá» tr\xed sticky khi content trong scroller ph\xecnh sau layout (iframe Stripe load xong má»i\n cao l\xean) â foot Äứng á» toạ Äá» cÅ© giữa form. Layer ri\xeang buá»c reposition Ä\xfang má»i frame. */\n .pr-co-foot{position:sticky;bottom:0;z-index:1;background:var(--surface-2);padding-bottom:14px;\n box-shadow:0 -10px 20px -6px var(--surface-2);transform:translateZ(0)}\n}\n@media(max-width:640px){\n .pr-co-scrim{padding:0}\n .pr-co-card{max-width:100%;max-height:100vh;height:100vh;border-radius:0;border:none}\n /* 100dvh: 100vh tr\xean iOS cao hÆ¡n viewport tháºt (thanh URL/toolbar) â Ä\xe1y card (n\xfat Pay) bá»\n toolbar che. dvh b\xe1m Ä\xfang viewport Äá»ng; giữ d\xf2ng 100vh tr\xean l\xe0m fallback tr\xecnh duyá»t cÅ©. */\n .pr-co-card{max-height:100dvh;height:100dvh}\n}\n@media(prefers-reduced-motion:reduce){\n .pr-co-scrim,.pr-co-card{animation:none}\n}\n\n"},87107:(e,t,n)=>{n.d(t,{Y:()=>i,o:()=>a});var r=n(3348);let o=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"];function a(){var e;if("undefined"==typeof document)return{};
1let t=null==(e=document.cookie.split("; ").find(e=>e.startsWith("".concat(r.rp,"="))))?void 0:e.slice(r.rp.length+1);if(!t)return{};try{return JSON.parse(decodeURIComponent(t))}catch(e){return{}}}function i(){var e,t,n;let i=new URLSearchParams(window.location.search),l={};for(let e of["gclid","wbraid","gbraid","fbclid","ttclid","flow","fb_campaign_id","fb_adset_id","fb_ad_id","placement"]){let t=i.get(e);t&&(l[e]=t)}for(let e of o){let t=i.get(e);t&&(l[e]=t)}let c=Object.keys(l).length>0,s=a();if(!c||Object.keys(s).length>0)return s;let d={...l,ts:new Date().toISOString()};return e=r.rp,t=encodeURIComponent(JSON.stringify(d)),n=r.h5,document.cookie="".concat(e,"=").concat(t,"; Max-Age=").concat(24*n*3600,"; Path=/; SameSite=Lax"),d}},96648:(e,t,n)=>{n.r(t),n.d(t,{clearSupabaseAuthCookies:()=>i,getBrowserSessionSafe:()=>l,supabaseBrowser:()=>a});var r=n(40188);let o=null;function a(){return o||(o=(0,r.k)("https://oyscxfzmtvwrwpaefpcf.supabase.co","sb_publishable_1FLTY7iHfmejAB-UlmO-ig_sKr0NITv"))}function i(){if("undefined"!=typeof document)for(let t of document.cookie.split(";")){var e;let n=null==(e=t.split("=")[0])?void 0:e.trim();n&&n.startsWith("sb-")&&n.includes("auth-token")&&(document.cookie="".concat(n,"=; path=/; max-age=0"))}}async function l(){try{let{data:{session:e}}=await a().auth.getSession();return e}catch(e){return i(),null}}}}]);
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.