PageSourceSearch

https://lepetitchef.com/assets/GiftPage-lOlHfBT8.js

js lepetitchef.com collected 2026-10-04 00:10:18 UTC 105,478 bytes, 67 lines download raw bytes

1import{j as e}from"./framer-motion-D_zjAnjw.js";import{r as i,u as Bt}from"./vendor-DF062BdS.js";import{x as mt,y as S,w as Me,m as Be,z as It,A as $t,B as Mt,F as Rt,G as Ot,H as Vt,I as Kt,J as Ut,q as Ie,K as at,v as ft,u as Wt,M as qt}from"./index-Df2aYqkM.js";import{a as Ve,b as Ke,G as Ue,c as gt,d as pt}from"./giftProductRules-BwCucWYn.js";import{G as Ht,a as Yt,b as Xt,P as Zt,I as Jt,g as bt,c as it,d as st,p as Qt,e as ea,V as nt,f as ta,D as aa}from"./ImageDetailViewer-DM9MzULZ.js";import{L as Re}from"./LangFlag-xN2PIqXe.js";import{F as H,L as ke}from"./lpcTheme-7WsCjSeF.js";import{G as ia}from"./GiftAtmosphere-KuEtzXiZ.js";import{a as sa}from"./GiftIntro-BdXJNaxB.js";import{g as Oe,l as na,m as ra,C as oa}from"./lucide-react-D3h7R6ya.js";import{u as la}from"./usePromoBanner-DEoJX1S_.js";import"./recharts-65EOoOu0.js";const da={fr:{title:"Offrez un bon cadeau Le Petit Chef – l'expérience du dîner 3D",description:"Offrez l'expérience de dîner 3D : bon cadeau en PDF instantané ou imprimé avec livraison standard gratuite, carte pop-up 3D offerte."},zh:{title:"赠送一张 Le Petit Chef 代金券——3D 晚宴体验",description:"赠送 3D 晚宴体验:可选择即时 PDF 代金券,或标准配送免费的印制版本,附赠免费 3D 立体贺卡。"},"zh-hant":{title:"贈送 Le Petit Chef 禮券——3D 晚宴體驗",description:"送上 3D 晚宴體驗:可選擇即時 PDF 禮券,或標準配送免費的印製版本,並附贈免費 3D 立體彈出卡。"},tr:{title:"Le Petit Chef Hediye Çeki Armağan Edin – 3D Akşam Yemeği Deneyimi",description:"3D akşam yemeği deneyimini armağan edin: anında PDF veya standart gönderimi ücretsiz basılı hediye çeki, ücretsiz 3D açılır kart."},th:{title:"มอบบัตรกำนัล Le Petit Chef – ประสบการณ์มื้อค่ำ 3D",description:"มอบประสบการณ์มื้อค่ำ 3D: บัตรกำนัลในรูปแบบ PDF ทันที หรือฉบับพิมพ์พร้อมจัดส่งมาตรฐานฟรี และการ์ดป๊อปอัป 3D ฟรี"},nl:{title:"Geef een Le Petit Chef-cadeaubon cadeau – de 3D-dinerervaring",description:"Geef de 3D-dinerervaring cadeau: cadeaubon als directe PDF of gedrukt met gratis standaardverzending, met een gratis 3D-pop-upkaart."},ar:{title:"أهدِ قسيمة Le Petit Chef – تجربة العشاء 3D",description:"قدّم تجربة العشاء 3D: قسيمة بصيغة PDF فورية أو نسخة مطبوعة مع شحن قياسي مجاني، وبطاقة منبثقة 3D مجانية."},ru:{title:"Подарите сертификат Le Petit Chef — 3D гастрономическое впечатление",description:"Подарите 3D гастрономическое впечатление: сертификат в виде мгновенного PDF или печатный вариант с бесплатной стандартной доставкой и бесплатной 3D открыткой-раскладушкой."},es:{title:"Regala un vale de Le Petit Chef: la experiencia gastronómica en 3D",description:"Regala la experiencia gastronómica en 3D: vale como PDF instantáneo o impreso con envío estándar gratuito y tarjeta emergente 3D gratis."},it:{title:"Regala un buono Le Petit Chef – l'esperienza gastronomica 3D",description:"Regala l'esperienza gastronomica 3D: buono regalo in PDF immediato o stampato con spedizione standard gratuita e biglietto pop-up 3D gratuito."},pt:{title:"Ofereça um Vale-presente Le Petit Chef – a Experiência de Jantar 3D",description:"Ofereça a experiência de jantar 3D: vale-presente em PDF instantâneo ou impresso com envio padrão grátis e cartão pop-up 3D grátis."},ko:{title:"Le Petit Chef 이용권 선물 – 3D 디너 경험",description:"3D 디너 경험을 선물하세요: 즉시 받는 PDF 이용권 또는 표준 배송이 무료인 인쇄본과 무료 3D 팝업 카드."},ja:{title:"Le Petit Chefのバウチャーを贈る ― 3Dディナー体験",description:"3Dディナー体験を贈りましょう。即時PDFまたは標準配送無料の印刷バウチャー、無料の3Dポップアップカード付き。"},pl:{title:"Podaruj voucher Le Petit Chef – kolację 3D",description:"Podaruj doświadczenie kolacji 3D: voucher jako natychmiastowy PDF lub w wersji drukowanej z bezpłatną wysyłką standardową, z bezpłatną kartą 3D pop-up."},cs:{title:"Darujte poukaz Le Petit Chef – 3D večeřní zážitek",description:"Darujte 3D večeřní zážitek: poukaz jako okamžité PDF nebo tištěný s dopravou zdarma ve standardu a 3D rozkládací kartou zdarma."},da:{title:"Giv et Le Petit Chef-gavekort – 3D-middagsoplevelsen",description:"Giv 3D-middagsoplevelsen: gavekort som PDF med det samme eller trykt med gratis standardlevering og gratis 3D-pop-op-kort."},sv:{title:"Ge bort ett presentkort från Le Petit Chef – middagupplevelsen i 3D",description:"Ge bort middagsupplevelsen i 3D: presentkort som direkt PDF eller tryckt med fri standardfrakt och gratis 3D-popupkort."},no:{title:"Gi bort et Le Petit Chef-gavekort – 3D-middagsopplevelsen",description:"Gi bort 3D-middagsopplevelsen: gavekort som umiddelbar PDF eller trykt med gratis standardfrakt og gratis 3D-popup-kort."},hu:{title:"Ajándékozzon Le Petit Chef utalványt – a 3D vacsoraélményt",description:"Ajándékozza a 3D vacsoraélményt: utalvány azonnali PDF-ként vagy nyomtatott formában, ingyenes standard szállítással és ingyenes 3D felugró képeslappal."},uk:{title:"Подаруйте сертифікат Le Petit Chef — 3D вечерю-враження",description:"Подаруйте 3D вечеря-шоу: сертифікат у вигляді миттєвого PDF або друкований із безкоштовною стандартною доставкою та безкоштовною 3D об’ємною листівкою."},vi:{title:"Tặng Phiếu quà tặng Le Petit Chef – Trải nghiệm Bữa tối 3D",description:"Tặng trải nghiệm bữa tối 3D: phiếu quà tặng dưới dạng PDF tức thì hoặc bản in kèm vận chuyển tiêu chuẩn miễn phí, 
1cùng thẻ bật lên 3D miễn phí."},id:{title:"Hadiahkan Voucher Le Petit Chef – Pengalaman Makan Malam 3D",description:"Berikan pengalaman makan malam 3D: voucher sebagai PDF instan atau cetak dengan pengiriman standar gratis, serta kartu pop-up 3D gratis."},ms:{title:"Hadiahkan Baucar Le Petit Chef – Pengalaman Makan Malam 3D",description:"Berikan pengalaman makan malam 3D: baucar sebagai PDF segera atau dicetak dengan penghantaran standard percuma, serta kad pop timbul 3D percuma."},hi:{title:"Le Petit Chef वाउचर उपहार में दें – 3D डिनर अनुभव",description:"3D डिनर अनुभव दें: तुरंत PDF या मानक निःशुल्क डिलीवरी के साथ मुद्रित वाउचर और निःशुल्क 3D उभरते कार्ड।"},el:{title:"Χαρίστε ένα κουπόνι Le Petit Chef – τη 3D εμπειρία δείπνου",description:"Χαρίστε την 3D εμπειρία δείπνου: κουπόνι ως άμεσο PDF ή εκτυπωμένο με δωρεάν τυπική αποστολή και δωρεάν 3D αναδυόμενη κάρτα."},bg:{title:"Подарете ваучер за Le Petit Chef – 3D изживяването с вечеря",description:"Подарете 3D изживяване с вечеря: ваучер като незабавен PDF или отпечатан с безплатна стандартна доставка и безплатна 3D изскачаща картичка."},sr:{title:"Poklonite vaučer Le Petit Chef – 3D iskustvo večere",description:"Poklonite 3D iskustvo večere: vaučer kao trenutni PDF ili štampani vaučer uz besplatnu standardnu dostavu i besplatna 3D iskačuća kartica."},mk:{title:"Подарете ваучер од Le Petit Chef – 3D искуството со вечера",description:"Подарете 3D искуство со вечера: ваучер како веднаш достапен PDF или испечатен со бесплатна стандардна достава и бесплатна 3D картичка на расклопување."},ka:{title:"აჩუქეთ Le Petit Chef-ის ვაუჩერი – 3D ვახშმის გამოცდილება",description:"აჩუქეთ 3D ვახშმის გამოცდილება: ვაუჩერი მყისიერი PDF-ის სახით ან დაბეჭდილი, სტანდარტული უფასო მიწოდებით და უფასო 3D ამოსახტომი ბარათით."},hy:{title:"Նվիրեք Le Petit Chef նվերային վկայագիր՝ 3D ընթրիքի փորձառությունը",description:"Նվիրեք 3D ընթրիքի փորձառությունը․ նվերային վկայագիր՝ որպես անմիջական PDF կամ տպագրված՝ անվճար ստանդարտ առաքմամբ և անվճար 3D բացվող քարտով։"},lv:{title:"Uzdāviniet Le Petit Chef kuponu – 3D vakariņu pieredzi",description:"Uzdāviniet 3D vakariņu pieredzi: kuponu kā tūlītēju PDF vai drukātā veidā ar bezmaksas standarta piegādi un bezmaksas 3D uznirstošo kartīti."},ro:{title:"Oferă un voucher Le Petit Chef – experiența culinară 3D",description:"Oferă experiența culinară 3D: voucher ca PDF instantaneu sau tipărit cu livrare standard gratuită și felicitare 3D pop-up gratuită."},sw:{title:"Toa Vocha ya Le Petit Chef kama zawadi – Tukio la Chakula cha Jioni la 3D",description:"Toa tukio la chakula cha jioni la 3D: vocha kama PDF ya papo hapo au iliyochapishwa yenye usafirishaji wa kawaida bila malipo na kadi ya 3D inayojitokeza bila malipo."}},$={min:Ve,max:Ke,currency:gt.toUpperCase()},ue=Ue;function vt(s,l){const d=s/100;return l==="de-DE"?`${d.toLocaleString(l,{minimumFractionDigits:2})} €`:`€${d.toLocaleString(l,{minimumFractionDigits:2})}`}const rt=vt(pt,"de-DE"),ot=vt(pt,"en-GB"),ye=`${Ve} €`,lt=`${Ke} €`,we=`€${Ve}`,dt=`€${Ke}`,De=gt.toUpperCase(),ca=[{key:"black",src:"/assets/gift-designs/black.webp"},{key:"love",src:"/assets/gift-designs/love.webp"},{key:"christmas",src:"/assets/gift-designs/christmas.webp"},{key:"wishes",src:"/assets/gift-designs/wishes.webp"},{key:"birthday",src:"/assets/gift-designs/birthday.webp"}],ua=Object.fromEntries(mt.map(s=>[s,`https://giftcards.lepetitchef.com/${s==="de"?"de":"en"}-de/EUR`]));ua.en;const ha={black:["Black","Ein besonderer Abend"],love:["Love","Love Edition"],christmas:["Weihnachten","Frohe Weihnachten"],wishes:["Alles Liebe","Alles Liebe!"],birthday:["Geburtstag","Alles Gute!"],easter:["Ostern","Frohe Ostern!"]},ma={black:["Black Edition","An unforgettable evening"],love:["Love Edition","A gift from the heart"],christmas:["Christmas","Merry Christmas"],wishes:["Best wishes","All the best!"],birthday:["Birthday","Happy birthday!"],easter:["Happy Easter","Happy Easter!"]};function xt(s){return ca.map(l=>({key:l.key,label:s[l.key][0],alt:`Le Petit Chef – ${s[l.key][1]}`}))}const fa={bar:"Wertgutschein für das Le Petit Chef Erlebnis · PDF oder Post",header:{cta:"Gutschein auswählen",langSwitchLabel:"Sprache wählen",logoAlt:"Le Petit Chef"},hero:{eyebrow:"Le Petit Chef Gutschein",h1:"Gutschein verschenken",lede:`Ein besonderer Abend, persönlich verschenkt. Wähle den Gutscheinwert ab ${ye} und dein Lieblingsmotiv. Als PDF per E-Mail oder als Geschenk per Post.`,ctaPrimary:"Gutschein auswählen",ctaSecondary:"Standorte ansehen",ctaMicro:`Frei personalisierbar · ${De}-Wertgutschein · Zahlung erst am Ende`},value:{kicker:"Wert & Zustellung",h2:"Du bestimmst den Wert. Sie wählen das Erlebnis.",sub:"Ein Wertgutschein ist kein festes Menü für eine bestimmte Personenzahl. Menüpreise und Verfügbarkeit können je Standort variieren.",amountLabel:"Gutsc
1heinwert",amountCustom:`Wunschbetrag von ${ye} bis ${lt}`,amountCta:"Diesen Wert wählen",deliveryTitle:"Zustellung auswählen",deliveryPdfTitle:"PDF per E-Mail",deliveryPdfText:"Die digitale Ausgabe wird nach erfolgreicher Zahlung an die gewählte E-Mail-Adresse zugestellt.",deliveryPostTitle:"Gedruckt per Post",deliveryPostText:"Für eine gedruckte Ausgabe wird das verfügbare Lieferland im Bestellvorgang abgefragt.",deliveryNote:`Standardpost ist kostenlos; Expressversand für gedruckte Gutscheine kostet ${rt}. Wähle im Bestellvorgang ein verfügbares Lieferziel.`,conditionsText:"Die Gutscheinbedingungen findest du in den",designTitle:"Lieblingsmotiv wählen",designSub:"Wähle dein Motiv jetzt. Deine Auswahl wird für den Gutschein übernommen.",designs:xt(ha)},experience:{kicker:"Das Erlebnis",h2:"Dinner und Projektion werden zu einer Geschichte",sub:"Der kleine Koch erzählt direkt auf dem Tisch. Die Projektion begleitet das Menü, während das Restaurant für die Küche und den Service sorgt.",items:[{title:"Eine Geschichte auf dem Teller",text:"Licht und Animation holen Le Petit Chef ganz nah an den gedeckten Tisch.",alt:"Le Petit Chef Projektion auf einem Teller"},{title:"Der Tisch wird zur Bühne",text:"Zwischen den Gängen entsteht eine immersive Szene – nicht neben dem Dinner, sondern mittendrin.",alt:"Le Petit Chef Projektion auf einem gedeckten Tisch"},{title:"Ein echtes Menü dazu",text:"Die Show ersetzt das Essen nicht. Das jeweilige Haus serviert sein eigenes Menü und informiert über die aktuelle Verfügbarkeit.",alt:"Gäste bei einem Le Petit Chef Dinner"}],redemptionTitle:"Passenden Standort wählen",redemptionText:"Prüfe vor dem Kauf den gewünschten Standort und die Gutscheinbedingungen. Bei Fragen zur Einlösung hilft [email protected].",redemptionCta:"Standorte ansehen"},reviews:{kicker:"Echte Stimmen zum Erlebnis",h2:"Was Gäste nach dem Dinner erzählen",source:"Google-Bewertung",items:[{quote:"Es war ein Geburtstagsgeschenk für meine Schwester. Wir waren beide sehr begeistert. Dann passierte etwas Unerwartetes. Eine Geburtstagsüberraschung mit bleibenden Eindrücken — ich will nicht zu viel verraten, das müsst ihr selbst erleben.",name:"Ute Krügel",location:"Hamburg"},{quote:"Ein rundum zauberhafter Besuch! Die Speisen waren exquisit und stilvoll angerichtet, geschmacklich einfach hervorragend. Die märchenhafte, animierte Tischdecke hat uns völlig verzaubert.",name:"Alina Golenko",location:"Düsseldorf"},{quote:"Das Ambiente, die aufmerksame Betreuung, das hervorragende Essen und vor allem die liebevoll präsentierte Geschichte des Magischen Buchs in animierter, geradezu lebendiger Form. Ein zauberhafter Abend in jeder Hinsicht!",name:"Boris Stubbe",location:"Frankfurt"}],linkLabel:"Bewertungen bei Google ansehen"},faq:{kicker:"Vor dem Kauf",h2:"Gut zu wissen",items:[{q:"Welche Beträge sind möglich?",a:`Du kannst aktuell ${De}-Wertgutscheine von ${ye} bis ${lt} wählen. Der Betrag wird als Gutscheinwert gespeichert; ein bestimmtes Menü oder eine feste Personenzahl ist damit nicht zugesagt.`},{q:"Wie wird der Gutschein zugestellt?",a:`Du kannst eine PDF-Zustellung per E-Mail oder eine gedruckte Ausgabe per Post auswählen. Standardpost ist kostenlos; Expressversand kostet ${rt}. Im Bestellformular siehst du die für den Postversand verfügbaren Länder.`},{q:"Sind 3D-Karte und Plüschfigur oder Schneekugel dabei?",a:`Nur bei Postversand: Eine 3D-Geschenkkarte kannst du ohne Aufpreis auswählen. Ab ${ue.freeCollectibleThresholdEur} € Gutscheinwert kannst du zusätzlich eine Plüschfigur oder Schneekugel ohne Aufpreis wählen. Bei kleineren Beträgen zeigt dir der Bestellvorgang den Preis für ein optionales Extra. Beim PDF gibt es keine physischen Beigaben.`},{q:"Wo kann ich ihn einlösen?",a:"Die Einlösbarkeit hängt vom konkreten Standort und den Bedingungen des Produkts ab. Prüfe die AGB und frage vor dem Kauf bei [email protected] nach, wenn der gewünschte Standort nicht eindeutig ist."},{q:"Was passiert, wenn das Menü mehr kostet als der Gutscheinwert?",a:"Menüpreise können je Standort variieren. Ob und wie ein Mehrbetrag bei einer k
1onkreten Buchung ausgeglichen wird, richtet sich nach den AGB und dem jeweiligen Standort. Frage vor dem Kauf bei [email protected] nach."},{q:"Wie lange ist der Gutschein gültig?",a:`Die verlinkten Le Petit Chef Gutschein-AGB nennen eine Einlösefrist von ${Ue.validityYears} Jahren ab dem Kauf. Weitere Einschränkungen zur Einlösung findest du dort.`},{q:"Wo bekomme ich Hilfe?",a:"Bei Fragen zum Kauf hilft der Kontakt im Impressum. Für Datenschutz und rechtliche Bedingungen findest du die passenden Links unten auf dieser Seite."}]},final:{h2:"Bereit für einen Abend, der bleibt?",p:"Wert wählen · Motiv auswählen · Zustellung festlegen",cta:"Gutschein auswählen"},sticky:{label:"Wertgutschein",from:`ab ${ye}`,cta:"Auswählen"},legal:{privacy:"Datenschutz",terms:"AGB",help:"Hilfe & Kontakt",contact:"[email protected]"},seo:{title:"Le Petit Chef Gutschein – einen besonderen Abend verschenken",description:"Le Petit Chef Wertgutschein auswählen: Motiv und Betrag festlegen, als PDF per E-Mail oder gedruckt per Post."},pvc:{title:"Premium-Geschenkkarte",sub:"Optionales physisches Extra bei Postversand.",badge:"Neu",black:"Black Edition",pink:"Pink Edition",flip:"Vorderseite / Rückseite",remove:"Ohne Premium-Karte fortfahren"},goodies:{kicker:"Exklusive Zugaben",h2:"Das Geschenk physisch ergänzen",p:`Ab ${ue.freeCollectibleThresholdEur} € Gutscheinwert und bei Postversand gibt es im Bestellvorgang wahlweise ein Goodie kostenlos dazu.`,included:"Inklusive",plush:{title:"Plüschfigur",sub:"Der kleine Koch persönlich."},tomato:{title:"Plüsch-Tomate",sub:"Eine verspielte Tomatenfigur."},snowglobe:{title:"Schneekugel",sub:"Zauberhafte Erinnerung."},enable3d:"3D aktivieren"},cards3d:{kicker:"Inklusive bei Postversand",h2:"3D Pop-Up Karte",p:"Bei gedruckten Gutscheinen ist eine 3D Pop-Up Karte inklusive (nicht bei PDF). Das Motiv wählst du später im Bestellvorgang."}},$e={bar:"A value voucher for the Le Petit Chef experience · PDF or post",header:{cta:"Choose a gift voucher",langSwitchLabel:"Choose language",logoAlt:"Le Petit Chef"},hero:{eyebrow:"Le Petit Chef gift voucher",h1:"Give a Le Petit Chef gift voucher",lede:`An evening to remember, personalised for them. Choose a value from ${we} and your favourite design. As a PDF by email or printed by post.`,ctaPrimary:"Choose a gift voucher",ctaSecondary:"View locations",ctaMicro:`Fully personalisable · ${De} value voucher · payment only at the end`},value:{kicker:"Value & delivery",h2:"You choose the value. They choose the experience.",sub:"A value voucher is not a fixed menu for a set number of guests. Menu prices and availability can vary by venue.",amountLabel:"Voucher value",amountCustom:`Choose any value from ${we} to ${dt}`,amountCta:"Choose this value",deliveryTitle:"Choose delivery",deliveryPdfTitle:"PDF by email",deliveryPdfText:"The digital version is sent to the selected email address after successful payment.",deliveryPostTitle:"Printed by post",deliveryPostText:"For a printed version, your order asks for a delivery country and shows the available options.",deliveryNote:`Standard post is free; express delivery for printed vouchers costs ${ot}. Choose an available destination during checkout.`,conditionsText:"The voucher conditions are set out in the",designTitle:"Choose a favourite design",designSub:"Choose a design now. Your choice is used for the gift voucher.",designs:xt(ma)},experience:{kicker:"The experience",h2:"Dinner and projection become one story",sub:"The little chef tells his story directly on the table. The projection accompanies the menu while the venue takes care of the food and service.",items:[{title:"A story on the plate",text:"Light and animation bring Le Petit Chef close to the set table.",alt:"Le Petit Chef projection on a plate"},{title:"The table becomes a stage",text:"Between courses, an immersive scene unfolds – not beside dinner, but within it.",alt:"Le Petit Chef projection on a set table"},{title:"A real menu alongside it",text:"The show does not replace the food. Each venue serves its own menu and shares current availability.",alt:"Guests at a Le Petit Chef dinner"}
1],redemptionTitle:"Choose a location",redemptionText:"Before buying, review the desired location and the voucher conditions. Contact [email protected] with redemption questions.",redemptionCta:"View locations"},reviews:{kicker:"Real voices about the experience",h2:"What guests say after dinner",source:"Google review",items:[{quote:"It was a birthday present for my sister. We were both thrilled — then something unexpected happened. A birthday surprise with lasting memories. I do not want to give too much away, you have to experience it yourself.",name:"Ute Krügel",location:"Hamburg"},{quote:"A thoroughly magical visit. The food was exquisite and beautifully presented, and the animated tablecloth enchanted us completely.",name:"Alina Golenko",location:"Düsseldorf"},{quote:"The ambience, the attentive service, the outstanding food, and above all the lovingly presented story of the magical book — animated, almost alive. A magical evening in every way.",name:"Boris Stubbe",location:"Frankfurt"}],linkLabel:"See reviews on Google"},faq:{kicker:"Before you buy",h2:"Good to know",items:[{q:"Which values are available?",a:`You can currently choose ${De} value vouchers from ${we} to ${dt}. The amount is stored as voucher value; it does not promise a particular menu or a fixed number of guests.`},{q:"How is the voucher delivered?",a:`You can choose PDF delivery by email or a printed version by post. Standard post is free; express delivery costs ${ot}. The checkout shows the destinations currently available for printed delivery.`},{q:"Are the 3D card and plush figure or snow globe included?",a:`Only with postal delivery: you can choose a 3D pop-up card at no extra charge. From €${ue.freeCollectibleThresholdEur} voucher value you can also choose a plush figure or snow globe at no extra charge. For lower values, checkout shows the price of an optional collectible. PDF vouchers do not include physical extras.`},{q:"Where can it be redeemed?",a:"Eligibility depends on the specific venue and the product conditions. Review the terms and contact [email protected] before buying if the venue you want is not clear."},{q:"What if the menu costs more than the voucher value?",a:"Menu prices can vary by venue. Whether and how a difference is settled depends on the terms and the specific venue; contact [email protected] before buying."},{q:"How long is the voucher valid?",a:`The linked Le Petit Chef voucher terms give a redemption period of ${Ue.validityYears} years from purchase. Further redemption restrictions are set out there.`},{q:"Where can I get help?",a:"For purchase questions, use the verified contact in the imprint. Links to privacy and the applicable legal terms are available below."}]},final:{h2:"Ready for an evening they will remember?",p:"Choose a value · choose a design · choose delivery",cta:"Choose a gift voucher"},sticky:{label:"Value voucher",from:`from ${we}`,cta:"Choose"},legal:{privacy:"Privacy",terms:"Terms",help:"Help & contact",contact:"[email protected]"},seo:{title:"Le Petit Chef gift voucher – give an evening to remember",description:"Choose a Le Petit Chef value voucher, pick a design and select PDF by email or printed delivery by post."},pvc:{title:"Premium gift card",sub:"Optional physical extra for postal delivery.",badge:"New",black:"Black Edition",pink:"Pink Edition",flip:"Front / Back",remove:"Continue without premium card"},goodies:{kicker:"Exclusive Collectibles",h2:"Enhance the physical gift",p:`For voucher values of ${ue.freeCollectibleThresholdEur} € or more sent by post, you can choose a complimentary collectible at purchase.`,included:"Included",plush:{title:"Plush Figure",sub:"The little chef himself."},tomato:{title:"Plush Tomato",sub:"A playful tomato character."},snowglobe:{title:"Snowglobe",sub:"Magical memory."},enable3d:"Enable 3D"},cards3d:{kicker:"Included with postal delivery",h2:"3D Pop-Up Card",p:"One 3D pop-up card is included free with printed vouchers (PDF excluded). You will choose your preferred design during checkout."}},ga={en:["Exclusive collectibles","Enhance the physical gift","For voucher values of {threshold} € or more sent by post, you can choose a complimentary collectible at purchase.","Included","Plush Figure","The little chef himself.","Plush Tomato","A playful tomato character.","Snow Globe","A magical keepsake.","Enable 3D"],de:["Exklusive Zugaben","Das Geschenk physisch ergänzen","Ab {threshold} € Gutscheinwert und bei Postversand gibt es im Bestellvorgang wahlweise ein Goodie kostenlos dazu.","Inklusive","Plüschfigur","Der kleine Koch persönlich.","Plüsch-Tomate","Eine verspielte Tomatenfigur.","Schneekugel","Zauberhafte Erinnerung.","3D aktivieren"],fr:["Objets de collection exclusifs","Complétez le cadeau","Pour un bon d’au moins {threshold} € envoyé par courrier, choisissez gratuitement un objet de collection lors de l’achat.","Inclus","Peluche","Le petit chef en personne.","Tomate en peluche","Un personnage tomate plein de fantaisie.","Boule à neige","Un souvenir magique.","Activer la 3D"],zh:["专属收藏品","为实体礼物增添心意","邮寄价值达到 {threshold} € 的礼券时,可在购买时免费选择一件收藏品。","已包含","毛绒公仔","小厨师本人。","毛绒番茄","俏皮可爱的番茄角色。","雪花球","一份奇妙的纪念。","启用 3D"],"zh-hant":["專屬收藏品","為實體禮物增添心意","郵寄價值達 {threshold} € 的禮券時,可於購買時免費選擇一件收藏品。","已包含","絨毛公仔","小廚師本人。","絨毛番茄","俏皮可愛的番茄角色。","雪花球","一份奇妙的紀念。","啟用 3D"],tr:["Özel koleksiyon ürünleri","Fiziksel hediyeyi zenginleştirin","Postayla gönderilen en az {threshold} € değerindeki kuponlarda satın alırken ücretsiz bir koleksiyon ürünü seçebilirsiniz.","Dahil","Pelüş Figür","Küçük şefin ta kendisi.","Pelüş Domates","Eğlenceli b
1ir domates karakteri.","Kar Küresi","Büyülü bir hatıra.","3D’yi etkinleştir"],th:["ของสะสมสุดพิเศษ","เติมเต็มของขวัญชิ้นจริง","สำหรับบัตรกำนัลมูลค่าอย่างน้อย {threshold} € ที่จัดส่งทางไปรษณีย์ คุณสามารถเลือกของสะสมฟรีได้เมื่อสั่งซื้อ","รวมแล้ว","ตุ๊กตาผ้า","เชฟตัวน้อยนั่นเอง","ตุ๊กตามะเขือเทศ","ตัวละครมะเขือเทศแสนขี้เล่น","ลูกแก้วหิมะ","ของที่ระลึกแสนวิเศษ","เปิดใช้ 3D"],nl:["Exclusieve verzamelitems","Maak het tastbare cadeau compleet","Bij een voucher vanaf {threshold} € die per post wordt verzonden, kies je tijdens de aankoop gratis een verzamelitem.","Inbegrepen","Pluchen figuur","De kleine chef zelf.","Pluchen tomaat","Een speels tomatenfiguurtje.","Sneeuwbol","Een magisch aandenken.","3D inschakelen"],ar:["مقتنيات حصرية","أضف لمسة إلى الهدية الملموسة","عند إرسال قسيمة بقيمة {threshold} € أو أكثر بالبريد، يمكنك اختيار قطعة تذكارية مجانية عند الشراء.","مشمولة","دمية محشوة","الطاهي الصغير بنفسه.","طماطم محشوة","شخصية طماطم مرحة.","كرة ثلجية","تذكار ساحر.","تفعيل العرض ثلاثي الأبعاد"],ru:["Эксклюзивные сувениры","Дополните подарок","При отправке по почте сертификата на сумму от {threshold} € можно бесплатно выбрать один сувенир при покупке.","Включено","Плюшевая фигурка","Сам маленький шеф.","Плюшевый помидор","Забавный персонаж-помидор.","Снежный шар","Волшебный сувенир.","Включить 3D"],es:["Objetos de colección exclusivos","Completa el regalo físico","Con un vale de al menos {threshold} € enviado por correo, puedes elegir gratis un objeto de colección durante la compra.","Incluido","Figura de peluche","El pequeño chef en persona.","Tomate de peluche","Un simpático personaje con forma de tomate.","Bola de nieve","Un recuerdo mágico.","Activar 3D"],it:["Oggetti da collezione esclusivi","Completa il regalo fisico","Con un buono di almeno {threshold} € spedito per posta, puoi scegliere gratuitamente un oggetto da collezione durante l’acquisto.","Incluso","Peluche","Il piccolo chef in persona.","Pomodoro di peluche","Un simpatico personaggio a forma di pomodoro.","Palla di neve","Un ricordo magico.","Attiva 3D"],pt:["Colecionáveis exclusivos","Complete o presente físico","Num vale de pelo menos {threshold} € enviado por correio, pode escolher gratuitamente um colecionável durante a compra.","Incluído","Figura de peluche","O pequeno chef em pessoa.","Tomate de peluche","Uma divertida personagem em forma de tomate.","Globo de neve","Uma recordação mágica.","Ativar 3D"],ko:["특별한 소장품","실물 선물을 더 특별하게","우편 배송되는 {threshold} € 이상의 상품권을 구매하면 소장품 하나를 무료로 선택할 수 있습니다.","포함","봉제 인형","꼬마 셰프를 그대로 담았습니다.","토마토 봉제 인형","장난기 넘치는 토마토 캐릭터입니다.","스노 글로브","마법 같은 기념품입니다.","3D 활성화"],ja:["限定コレクションアイテム","贈り物をさらに特別に","郵送する {threshold} € 以上のギフト券では、購入時にコレクションアイテムを1点無料で選べます。","込み","ぬいぐるみ","小さなシェフ本人です。","トマトのぬいぐるみ","遊び心のあるトマトのキャラクター。","スノードーム","魔法のような思い出の品。","3Dを有効にする"],pl:["Ekskluzywne upominki","Uzupełnij fizyczny prezent","Do bonu o wartości co najmniej {threshold} € wysyłanego pocztą możesz podczas zakupu bezpłatnie wybrać jeden upominek.","W zestawie","Pluszowa figurka","Sam mały szef kuchni.","Pluszowy pomidor","Figlarna postać pomidora.","Kula śnieżna","Magiczna pamiątka.","Włącz 3D"],cs:["Exkluzivní sběratelské předměty","Doplňte fyzický dárek","K poukazu v hodnotě alespoň {threshold} € zasílanému poštou si při nákupu můžete zdarma vybrat sběratelský předmět.","Zahrnuto","Plyšová figurka","Samotný malý šéfkuchař.","Plyšové rajče","Hravá postavička rajčete.","Sněžítko","Kouzelná památka.","Zapnout 3D"],da:["Eksklusive samleobjekter","Fulden
1d den fysiske gave","Ved et gavekort pÃ¥ mindst {threshold} € sendt med posten kan du gratis vælge et samleobjekt ved købet.","Inkluderet","Plysfigur","Den lille kok selv.","Plystomat","En legesyg tomatfigur.","Snekugle","Et magisk minde.","Aktivér 3D"],sv:["Exklusiva samlarföremÃ¥l","Komplettera den fysiska gÃ¥van","Med ett presentkort pÃ¥ minst {threshold} € som skickas med post kan du välja ett samlarföremÃ¥l utan kostnad vid köpet.","IngÃ¥r","Plyschfigur","Den lille kocken själv.","Plyschtomat","En lekfull tomatfigur.","Snöglob","Ett magiskt minne.","Aktivera 3D"],no:["Eksklusive samleobjekter","Gjør den fysiske gaven komplett","Med et gavekort pÃ¥ minst {threshold} € sendt i posten kan du velge et samleobjekt kostnadsfritt ved kjøpet.","Inkludert","Plysjfigur","Den lille kokken selv.","Plysjtomat","En leken tomatfigur.","Snøkule","Et magisk minne.","Aktiver 3D"],hu:["Exkluzív gyűjthető ajándékok","Egészítse ki a kézzelfogható ajándékot","A legalább {threshold} € értékű, postán küldött utalványhoz vásárláskor ingyen választhat egy gyűjthető ajándékot.","Tartalmazza","Plüssfigura","Maga a kis séf.","Plüssparadicsom","Egy játékos paradicsomfigura.","Hógömb","Varázslatos emlék.","3D bekapcsolása"],uk:["Ексклюзивні сувеніри","Доповніть подарунок","До сертифіката на суму від {threshold} €, що надсилається поштою, під час купівлі можна безкоштовно вибрати один сувенір.","Включено","Плюшева фігурка","Сам маленький шеф.","Плюшевий помідор","Веселий персонаж-помідор.","Снігова куля","Чарівна згадка.","Увімкнути 3D"],vi:["Quà sưu tầm độc quyền","Hoàn thiện món quà hữu hình","Với phiếu quà tặng từ {threshold} € được gá»­i qua bưu điện, bạn có thể chọn miễn phí một món đồ sưu tầm khi mua.","Đã bao gồm","Thú nhồi bông","Chính là đầu bếp tí hon.","Cà chua nhồi bông","Một nhân vật cà chua tinh nghịch.","Quả cầu tuyết","Một ká»· vật kỳ diệu.","Bật 3D"],id:["Koleksi eksklusif","Lengkapi hadiah fisik","Untuk voucer senilai minimal {threshold} € yang dikirim melalui pos, Anda dapat memilih satu koleksi gratis saat membeli.","Termasuk","Boneka plush","Sang koki kecil sendiri.","Tomat plush","Karakter tomat yang ceria.","Bola salju","Kenang-kenangan yang ajaib.","Aktifkan 3D"],ms:["Barangan koleksi eksklusif","Lengkapkan hadiah fizikal","Bagi baucar bernilai sekurang-kurangnya {threshold} € yang dihantar melalui pos, anda boleh memilih satu barangan koleksi percuma semasa pembelian.","Termasuk","Patung gebu","Si cef kecil sendiri.","Tomato gebu","Watak tomato yang ceria.","Bebola salji","Kenang-kenangan yang ajaib.","Aktifkan 3D"],hi:["विशेष संग्रहणीय वस्तुएँ","उपहार को और खास बनाएँ","डाक से भेजे जाने वाले {threshold} € या अधिक मूल्य के वाउचर के साथ खरीदते समय एक संग्रहणीय वस्तु निःशुल्क चुन सकते हैं।","शामिल","प्लश फ़िगर","नन्हा शेफ़ स्वयं।","प्लश टमाटर","एक चंचल टमाटर पात्र।","स्नो ग्लोब","एक जादुई यादगार।","3D चालू करें"],el:["Αποκλειστικά συλλεκτικά","Ολοκληρώστε το φυσικό δώρο","Με δωροεπιταγή αξίας τουλάχιστον {threshold} € που αποστέλλεται ταχυδρομικά, μπορείτε να επιλέξετε δωρεάν ένα συλλεκτικό κατά την αγορά.","Περιλαμβάνεται","Λούτρινη φιγούρα","Ο ίδιος ο μικρός σεφ.","Λούτρινη ντομάτα","Ένας παιχνιδιάρικος χαρακτήρας ντομάτας.","Χιονόμπαλα","Ένα μαγικό ενθύμιο.","Ενεργοποίηση 3D"],bg:["Ексклузивни колекционерски предмети","Допълнете физическия подарък","Към ваучер на стойност поне {threshold} €, изпратен по пощата, можете да изберете безплатно колекционерски предмет при покупката.","Включено","Плюшена Ñ
1„игурка","Самият малък готвач.","Плюшен домат","Закачлив герой домат.","Снежно кълбо","Вълшебен спомен.","Включване на 3D"],sr:["Ekskluzivni kolekcionarski predmeti","Upotpunite fizički poklon","Uz vaučer vredan najmanje {threshold} € koji se Å¡alje poÅ¡tom, pri kupovini možete besplatno izabrati kolekcionarski predmet.","Uključeno","PliÅ¡ana figura","Lično mali kuvar.","PliÅ¡ani paradajz","Razigrani lik paradajza.","Snežna kugla","Čarobna uspomena.","Uključi 3D"],mk:["Ексклузивни колекционерски предмети","Дополнете го физичкиот подарок","Со ваучер од најмалку {threshold} € што се испраќа по пошта, при купувањето можете бесплатно да изберете колекционерски предмет.","Вклучено","Плишана фигура","Самиот мал готвач.","Плишан домат","Разигран лик на домат.","Снежна топка","Волшебен спомен.","Вклучи 3D"],ka:["ექსკლუზიური საკოლექციო ნივთები","შეავსეთ ფიზიკური საჩუქარი","ფოსტით გაგზავნილი მინიმუმ {threshold} € ღირებულების ვაუჩერის შეძენისას შეგიძლიათ უფასოდ აირჩიოთ ერთი საკოლექციო ნივთი.","შედის","რბილი ფიგურა","თავად პატარა შეფი.","რბილი პომიდორი","მხიარული პომიდვრის პერსონაჟი.","თოვლის სფერო","ჯადოსნური სამახსოვრო.","3D-ის ჩართვა"],hy:["Բացառիկ հավաքածուներ","Լրացրեք ֆիզիկական նվերը","Փոստով ուղարկվող Õ¡Õ¼Õ¶Õ¾Õ¡Õ¦Õ¶ {threshold} € արժողությամբ վաուչերի Õ°Õ¥Õ¿ Õ£Õ¶Õ´Õ¡Õ¶ ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯ կարող եք անվճար ընտրել Õ´Õ¥Õ¯ հուշանվեր։","Ներառված Õ§","Փափուկ խաղալիք","Հենց փոքրիկ խոհարարը։","Փափուկ Õ¬Õ¸Õ¬Õ«Õ¯","Զվարճալի Õ¬Õ¸Õ¬Õ«Õ¯Õ« կերպար։","Ձնագունդ","Կախարդական հուշանվեր։","Միացնել 3D-Õ¨"],lv:["EkskluzÄ«vi kolekcijas priekÅ¡meti","Papildiniet taustāmo dāvanu","Pasta sÅ«tÄ«jumam ar dāvanu karti vismaz {threshold} € vērtÄ«bā pirkuma laikā varat bez maksas izvēlēties vienu kolekcijas priekÅ¡metu.","Iekļauts","Plīša figÅ«ra","Pats mazais Å¡efpavārs.","Plīša tomāts","Rotaļīgs tomāta tēls.","Sniega bumba","MaÄ£iska piemiņa.","Ieslēgt 3D"],ro:["Obiecte de colecție exclusive","Completează cadoul fizic","Pentru un voucher de cel puțin {threshold} € trimis prin poștă, poți alege gratuit un obiect de colecție la cumpărare.","Inclus","Figurină de pluș","Micul bucătar în persoană.","Roșie de pluș","Un personaj-roșie jucăuș.","Glob de zăpadă","O amintire magică.","Activează 3D"],sw:["Vitu vya kipekee vya kukusanya","Kamilisha zawadi halisi","Kwa vocha ya angalau {threshold} € inayotumwa kwa posta, unaweza kuchagua bila malipo kitu kimoja cha kukusanya wakati wa kununua.","Imejumuishwa","Sanamu ya kitambaa","Mpishi mdogo mwenyewe.","Nyanya ya kitambaa","Mhusika wa nyanya mwenye uchangamfu.","Tufe la theluji","Kumbukumbu ya kichawi.","Washa 3D"]};function pa(s){const[l,d,a,n,P,w,c,p,y,x,B]=ga[s];return{kicker:l,h2:d,p:a.replace("{threshold}",String(ue.freeCollectibleThresholdEur)),included:n,plush:{title:P,sub:w},tomato:{title:c,sub:p},snowglobe:{title:y,sub:x},enable3d:B}}const ct=Object.fromEntries(mt.map(s=>[s,s==="de"?fa:s==="en"?$e:{...$e,goodies:pa(s),seo:da[s]??$e.seo}])),de={rest:350,forward:500,hold:1200,back:500,rotate:650},ut={rest:"forward",forward:"hold",hold:"back",back:"rotate",rotate:"rest"};function ba(s){const{count:l,canAutoplay:d,settleManualNavigation:a,targetRef
1:n}=s,[P,w]=i.useState(0),[c,p]=i.useState("rest"),[y,x]=i.useState(!1),[B,_]=i.useState(!1),[M,z]=i.useState(!1),[f,N]=i.useState(!0),[C,I]=i.useState(typeof document>"u"?!0:!document.hidden),[o,v]=i.useState(!1),[b,A]=i.useState(0),k=i.useRef(de.rest),r=i.useRef(0);i.useEffect(()=>{const g=n.current;if(!g||typeof IntersectionObserver>"u")return;const D=new IntersectionObserver(([F])=>N(F.isIntersecting),{threshold:.15});return D.observe(g),()=>D.disconnect()},[n]),i.useEffect(()=>{const g=n.current;if(!g)return;const D=()=>_(!0),F=()=>_(!1),T=()=>z(!0),V=je=>{g.contains(je.relatedTarget)||z(!1)};return g.addEventListener("mouseenter",D),g.addEventListener("mouseleave",F),g.addEventListener("focusin",T),g.addEventListener("focusout",V),()=>{g.removeEventListener("mouseenter",D),g.removeEventListener("mouseleave",F),g.removeEventListener("focusin",T),g.removeEventListener("focusout",V)}},[n]),i.useEffect(()=>{const g=()=>I(!document.hidden);return document.addEventListener("visibilitychange",g),()=>document.removeEventListener("visibilitychange",g)},[]);const u=d&&!y&&!B&&!M&&f&&C&&l>1,E=f&&C;i.useEffect(()=>{if(!u&&!(o&&E))return;const g=Date.now(),D=r.current;let F=!1;const T=window.setTimeout(()=>{if(F=!0,c==="rotate"&&o){k.current=de.rest,v(!1),p("rest");return}k.current=de[ut[c]],c==="back"&&w(V=>(V+1)%l),p(ut[c])},k.current);return()=>{window.clearTimeout(T),!F&&D===r.current&&(k.current=Math.max(0,k.current-(Date.now()-g)))}},[u,o,E,c,l,b]);const h=i.useCallback(g=>{l<2||(r.current+=1,k.current=a?de.rotate:de.rest,w(D=>(D+g+l)%l),v(a),p(a?"rotate":"rest"),A(D=>D+1))},[l,a]);return{active:l?P%l:0,phase:c,running:u,userPaused:y,togglePause:()=>x(g=>!g),next:()=>h(1),prev:()=>h(-1)}}const va=[[-95,-55,-18,0],[92,-70,16,90],[-68,-120,-8,180],[68,-125,12,270],[2,-145,0,350],[-115,-8,-24,440]],ht={de:{line1:"Ein Gutschein.",line2:"Große Freude.",sub:"Entdecke unser Gutschein-Sortiment.",ctaPrimary:"Gutschein gestalten",comingSoon:"Coming Soon",stageLabel:"Geschenkideen",keyboardHelp:"Mit den Pfeiltasten Geschenke wechseln. Leertaste pausiert oder startet die Animation.",pausedStatus:"Animation pausiert",playingStatus:"Animation bereit zum Fortsetzen",prev:"Vorheriges Geschenk",next:"Nächstes Geschenk"},en:{line1:"One voucher.",line2:"So much joy.",sub:"Discover our gift voucher collection.",ctaPrimary:"Create your gift card",comingSoon:"Coming Soon",stageLabel:"Gift ideas",keyboardHelp:"Use the arrow keys to browse gifts. Space pauses or resumes the animation.",pausedStatus:"Animation paused",playingStatus:"Animation ready to resume",prev:"Previous gift",next:"Next gift"}};function xa({lang:s="de",prefersReducedMotion:l,introCompleted:d}){const a=ht[s]||ht.en,n=s==="de"?"de":"en",P=n==="de"?"Unsere Goodies":"Our goodies",w=Xt,c=Ht,p=c.length,y=i.useRef(null),x=ba({count:p,canAutoplay:d&&!l,settleManualNavigation:!l,targetRef:y}),{active:B,phase:_}=x;i.useEffect(()=>{y.current?.querySelectorAll(".gs-item")?.forEach(v=>v.getAnimations?.().forEach(b=>{x.running?b.playState==="paused"&&b.play():b.playState==="running"&&b.pause()}))},[x.running]),i.useEffect(()=>{x.running||y.current?.querySelectorAll(".gs-item").forEach(o=>{o.getAnimations?.().forEach(v=>{v.playState==="paused"&&v.cancel()})})},[B]);const M=Math.min(2,Math.floor((p-1)/2)),z=i.useRef({}),f=c.map((o,v)=>{let b=((v-B)%p+p)%p;return b>p/2&&(b-=p),b});i.useEffect(()=>{c.forEach((o,v)=>z.current[o.key]=f[v])});const N=i.useRef(null),C=c[B]?.product,I=d&&!l;return e.jsx("section",{id:"gift-hero","data-testid":"gift-hero","data-phase":_,"data-user-paused":x.userPaused?"true":"false","data-reduced-motion":l?"true":"false","data-intro":d?"done":"pending",className:S("gs-hero relative flex flex-col items-center",l&&"gs-reduced",I&&"gs-intro-go",(x.userPaused||!x.running)&&"gs-paused"),children:e.jsxs("div",{className:"gs-content relative z-10 w-full mx-auto flex flex-col items-center pt-10 lg:pt-16 pb-10",children:[e.jsxs("h1",{"data-testid":"text-hero-headline",className:"gs-headline text-center font-bold leading-[1.05] text-[38px] sm:text-6xl lg:text-[84px] text-balance",style:{fontFamily:H},children:[e.jsx("span",{className:"block gs-rise gs-rise-1",children:a.line1}),e.jsx("span",{className:"block gs-rise gs-rise-2",children:e.jsx("span",{className:"gs-gold",children:a.line2})})]}),e.jsx("p",{"data-testid":"text-hero-sub",className:"gs-rise gs-rise-3 mt-4 max-w-xl text-center text-[16px] sm:text-xl gs-sub text-balance",children:a.sub}),e.jsxs("a",{href:"#gift-variant-track","data-testid":"link-hero-cta",onClick:o=>{const v=document.getElementById("gift-variant-track");v&&(o.preventDefault(),v.scrollIntoView?.({behavior:l?"auto":"smooth",block:"start"}),v.querySelector('input[type="radio"]:checked')?.focus({preventScroll:!0}))},className:"gs-rise gs-rise-5 gs-cta mt-6 w-full max-w-sm flex items-center justify-center gap-2 px-6 py-4 rounded-full font-bold text-base sm:text-lg min-h-[52px]",children:[e.jsx(Oe,{size:22})," ",a.ctaPrimary]}),e.jsxs("div",{ref:y,className:"gs-stage gs-rise gs-rise-4","data-testid":"gift-stage",role:"region","aria-roledescription":"carousel","aria-label":a.stageLabel,"aria-describedby":"gift-stage-keyboard-help",tabIndex:0,onKeyDown:o=>{o.target===o.currentTarget&&(o.key==="ArrowRight"&&(o.preventDefault(),x.next()),o.key==="ArrowLeft"&&(o.preventDefault(),x.prev()),o.key===" "&&!l&&(o.preventDefault(),x.togglePause()))},onPointerDown:o=>{!o.isPrimary||o.pointerType==="mouse"&&o.button!==0||(N.current={id:o.pointerId,x:o.clientX,y:o.clientY},o.pointerType!=="touch"&&o.currentTarget.setPointerCapture?.(o.pointerId))},onPointerUp:o=>{const v=N.current;if(!v||v.id!==o.pointerId)return;N.current=null,o.currentTarget.hasPointerCapture?.(o.pointerId)&&o.currentTarget.releasePointerCapture(o.pointerId);const b=o.clientX-v.x,A=o.clientY-v.y;Math.abs(b)>40&&Math.abs(b)>Math.abs(A)&&(b<0?x.next:x.prev)()},onPointerCancel:o=>{N.current?.id===o.pointerId&&(N.current=null)},children:[e.jsx("span",{id:"gift-stage-keyboard-help",className:"sr-only",children:a.keyboardHelp}),e.jsx("span",{className:"sr-only","aria-live":"polite","data-testid":"status-stage-user-pause",children:x.userPaused?a.pausedStatus:a.playingStatus}),e.jsxs("h2",{className:"gs-goodie-heading",style:{fontFamily:H},"data-testid":"text-goodie-heading",children:[e.jsx("span",{className:"sr-only",children:P}),e.jsx(Yt,{title:P,testId:"goodie-letters"})]}),e.jsxs("div",{className:"gs-scenery","data-testid":"stage-scenery","aria-hidden":"true",children:[e.jsx("div",{className:"gs-backdrop","aria-hidden":!0}),e.jsx("img",{className:"gs-brand-backdrop",src:"/assets/gift-stage/logo-gold.png",alt:"","aria-hidden":"true",draggable:!1}),e.jsx("div",{className:"gs-valance","aria-hidden":!0}),e.jsx("div",{className:"gs-sparkles","aria-hidden":!0,"data-testid":"stage-sparkles",children:Array.from({length:12},(o,v)=>e.jsx("span",{className:"gs-spark",style:{"--k":v,top:`${12+v*37%70}%`}},v))}),e.jsx("div",{className:"gs-sheen","aria-hidden":!0,"data-testid":"stage-sheen"}
1),e.jsx("div",{className:"gs-truss","aria-hidden":!0,children:Array.from({length:9},(o,v)=>e.jsx("span",{className:"gs-bulb"},v))}),e.jsx("div",{className:"gs-cone gs-cone-main","data-testid":"stage-light-main","aria-hidden":!0}),e.jsx("div",{className:"gs-cone gs-cone-side hidden md:block",style:{left:"10%"},"aria-hidden":!0}),e.jsx("div",{className:"gs-cone gs-cone-side hidden md:block",style:{left:"90%"},"aria-hidden":!0}),e.jsx("div",{className:"gs-pool","aria-hidden":!0}),e.jsx("div",{className:"gs-floor","aria-hidden":!0,children:e.jsx("div",{className:"gs-led"})}),e.jsxs("div",{className:"gs-curtains gs-curtains-static","data-testid":"stage-curtains","data-state":"open","aria-hidden":"true",children:[e.jsx("div",{className:"gs-curtain gs-curtain-left"}),e.jsx("div",{className:"gs-curtain gs-curtain-right"})]})]}),e.jsx("div",{className:"sr-only","aria-live":x.running?"off":"polite","data-testid":"text-stage-current",children:C?`${C.name[n]}${C.comingSoon?` – ${a.comingSoon}`:""}. ${C.note[n]}`:""}),c.map((o,v)=>{const b=o.product,A=f[v],k=Math.abs(A),r=z.current[o.key],u=r!==void 0&&Math.abs(r-A)>1,E=A===0&&(_==="forward"||_==="hold"),h=A===0&&(l||_==="rest"||_==="forward"||_==="hold");return e.jsxs("div",{className:"gs-item","data-testid":`stage-product-${o.key}`,"data-product-id":b.id,"data-slot":v,"data-offset":A,"data-abs":k,"data-active":A===0?"true":"false","data-focus":E?"true":"false","data-hidden":k>M?"true":"false","data-jump":u?"true":"false","data-coming-soon":b.comingSoon?"true":"false","aria-hidden":A!==0,style:{"--o":A,"--fit":b.scale??1},children:[b.comingSoon&&h&&e.jsx("span",{className:"gs-reserved","data-testid":`badge-coming-soon-${o.key}`,"aria-label":a.comingSoon,children:a.comingSoon}),e.jsxs("div",{className:"gs-img-wrap",children:[e.jsx("div",{className:"gs-shadow","aria-hidden":!0}),e.jsx("img",{className:"gs-img",src:b.src,alt:b.name[n],loading:"eager",decoding:"async",draggable:!1,...k<=1?{fetchPriority:"high"}:{}}),e.jsx("div",{className:"gs-reflect","aria-hidden":!0,children:e.jsx("img",{src:b.src,alt:"",loading:"eager",decoding:"async"})}),E&&x.running&&b.motif&&b.motif.length>0&&e.jsx("div",{className:"gs-motif","aria-hidden":!0,"data-testid":`motif-burst-${o.key}`,children:va.map((g,D)=>e.jsx("span",{className:"gs-motif-p",style:{"--dx":g[0]/100,"--dy":g[1]/100,"--rot":`${g[2]}deg`,"--d":`${g[3]}ms`},children:b.motif[D%b.motif.length]},D))})]})]},o.key)})]}),e.jsx("div",{className:"gs-captions","data-testid":"stage-captions",children:w.map(o=>{const v=C?.id===o.id,b=v;return e.jsx("div",{className:"gs-caption","data-testid":`caption-${o.id}`,"data-active":v?"true":"false","data-show":b?"true":"false","aria-hidden":!v,children:e.jsxs("div",{className:"gs-caption-inner","data-testid":`caption-entry-${o.id}`,children:[e.jsx("div",{className:"gs-name","data-testid":`text-product-name-${o.id}`,children:o.name[n]}),o.note&&e.jsxs("div",{className:"gs-note","data-testid":`text-product-note-${o.id}`,"data-show":b?"true":"false",children:[e.jsx("span",{className:"gs-note-rule","aria-hidden":!0}),e.jsx("span",{className:"gs-note-text",children:o.note[n]}),e.jsx("span",{className:"gs-note-rule","aria-hidden":!0})]})]},v?`entry-${B}`:"idle")},o.id)})}),p>1&&e.jsxs("div",{className:"gs-rise gs-rise-5 mt-4 flex items-center gap-3","data-testid":"stage-controls",children:[e.jsx("button",{type:"button",className:"gs-ctrl",onClick:x.prev,"aria-label":a.prev,"data-testid":"button-stage-prev",children:e.jsx(na,{size:20})}),e.jsx("button",{type:"button",className:"gs-ctrl",onClick:x.next,"aria-label":a.next,"data-testid":"button-stage-next",children:e.jsx(ra,{size:20})})]})]})})}const ka=150;function ya({lang:s,introCompleted:l=!0,purchaseDestination:d,onPurchaseClick:a}){const n=la(),[P,w]=i.useState(null),c=i.useRef(null),[p,y]=i.useState("idle"),x=i.useRef(new Set),[B,_]=i.useState([0,1,2,3]),M=B.length,z=n.enabled&&n.image?.[s==="de"?"de":"en"]===`/assets/promo/summer-offer-${s==="de"?"de":"en"}.png`;if(i.useEffect(()=>{const b=c.current;if(!l||!z||!b||x.current.size===4||typeof window>"u"||typeof IntersectionObserver>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;_([...x.current]),y(x.current.size?"in":"armed");const A=Array.from(b.children),k=new Set,r=new Map;let u=!0;const E=g=>{r.delete(g),!(!u||!k.has(g)||x.current.has(g))&&(x.current.add(g),y("in"),_([...x.current]),x.current.size===A.length&&h.disconnect())},h=new IntersectionObserver(g=>{if(!u)return;for(const F of g){const T=A.indexOf(F.target);T<0||(F.isIntersecting&&F.intersectionRatio>=.5?k.add(T):(k.delete(T),clearTimeout(r.get(T)),r.delete(T)))}let D=0;for(const F of[...k].sort((T,V)=>T-V))x.current.has(F)||r.has(F)||(D===0?E(F):r.set(F,setTimeout(()=>E(F),D)),D+=ka)},{threshold:.5,rootMargin:"0px 0px -64px 0px"});return A.forEach(g=>h.observe(g)),()=>{u=!1,h.disconnect(),r.forEach(clearTimeout)}},[z,l]),!n.enabled)return null;const f=s==="de"?"de":"en",N=n.image?.[f],C=f==="de",I=N===`/assets/promo/summer-offer-${f}.png`,o=C?"Sommer-Angebot":"Summer Special",v=C?[{emoji:"💌",text:"Gutsc
1hein im Wunschdesign",detail:"Wähle beim Bestellen das Design, das zum Anlass passt."},{emoji:"🚚",text:"Kostenloser Versand",detail:"Standardversand per Post ist inklusive. Expressversand wird im Bestellvorgang gesondert berechnet."},{emoji:"🎁",text:"Gratis 3D-Geschenkkarte",detail:"Bei Postversand kannst du eine 3D-Geschenkkarte ohne Aufpreis wählen. Beim PDF gibt es keine physischen Beigaben."},{emoji:"✨",text:"Ab 100 €: Exklusives Geschenk inklusive",detail:"Ab 100 € Gutscheinwert kannst du bei Postversand eine Plüschfigur oder Schneekugel ohne Aufpreis wählen."}]:[{emoji:"💌",text:"Voucher in your favourite design",detail:"Choose the design that suits the occasion when you order."},{emoji:"🚚",text:"Free shipping",detail:"Standard post is included. Express delivery is priced separately at checkout."},{emoji:"🎁",text:"Free 3D gift card",detail:"With postal delivery you can choose a 3D gift card at no extra charge. PDF vouchers do not include physical extras."},{emoji:"✨",text:"From €100: exclusive gift included",detail:"From €100 voucher value, you can choose a plush figure or snow globe at no extra charge with postal delivery."}];return e.jsx("section",{className:`gift-promo${I?" gift-promo--summer":""}`,"data-testid":"gift-promo","aria-label":C?"Aktuelle Aktion":"Current promotion",children:e.jsxs("div",{className:"gift-promo__wrap",children:[e.jsx("span",{className:"gift-promo__eyebrow","aria-hidden":"true",children:C?"Aktuelle Aktion":"Current promotion"}),e.jsx("a",{className:"gift-promo__link","data-testid":"link-gift-promo",href:d??n.href,...!d&&n.external?{target:"_blank",rel:"noopener noreferrer"}:{},style:N?void 0:{background:n.background},"aria-label":N?I?o:C?"Aktuelle Aktion ansehen":"View current promotion":void 0,onClick:b=>{a?.(b),Me("select_promotion",{promotion_id:"global_promo",promotion_name:N?"global_promo":n.title[f],creative_slot:N?"image_banner":"text_band"})},children:N?e.jsx("img",{className:"gift-promo__image",src:N,alt:I?o:C?"Aktuelle Aktion von Le Petit Chef":"Current Le Petit Chef promotion",width:1920,height:250,decoding:"async"}):e.jsxs("span",{className:"gift-promo__text",children:[e.jsx("span",{className:"gift-promo__title",children:n.title[f]}),e.jsxs("span",{className:"gift-promo__subtitle",children:[n.subtitle[f]," ",e.jsx("span",{"aria-hidden":"true",children:"↗"})]})]})}),I&&e.jsxs("div",{className:`gift-summer-benefits${p==="armed"?" is-armed":p==="in"?" is-in":""}`,"data-testid":"gift-summer-benefits","data-step":M,lang:f,children:[e.jsxs("header",{className:"gsb__head",children:[e.jsx("span",{className:"gsb__kicker",children:C?"Inklusive":"Included"}),e.jsx("h2",{children:C?"Dein Sommerangebot":"Your summer special"})]}),e.jsxs("p",{className:"gsb__instant-pdf","data-testid":"gift-instant-pdf",children:[e.jsx("strong",{children:C?"Auch spontan schenken:":"Perfect for last-minute gifts:"})," ",C?"Dein Gutschein kommt direkt nach bestätigter Zahlung als PDF per E-Mail.":"Your PDF voucher arrives by email right after payment confirmation."]}),e.jsx("ol",{className:"gsb__list",ref:c,children:v.map(({emoji:b,text:A,detail:k},r)=>{const u=P===r,E=`gsb-detail-${r}`;return e.jsxs("li",{className:`gsb__item${u?" is-open":""}${B.includes(r)?" is-shown":""}`,children:[e.jsx("span",{className:"gsb__dot","aria-hidden":"true",children:b}),e.jsx("button",{type:"button",className:"gsb__btn","aria-expanded":u,"aria-controls":E,"data-testid":`button-gift-benefit-${r}`,onClick:()=>w(u?null:r),children:e.jsxs("span",{className:"gsb__row",children:[e.jsxs("span",{className:"gsb__num","aria-hidden":"true",children:["0",r+1]}),e.jsx("span",{className:"gsb__text",children:r===3?e.jsxs(e.Fragment,{children:[e.jsx("span",{children:C?"Ab 100 €: Exklusives":"From €100: exclusive"})," ",e.jsx("span",{className:"gsb__final-phrase",children:C?"Geschenk inklusive":"gift included"})]}):A}),e.jsx(oa,{className:"gsb__chev",size:16,strokeWidth:1.5,"aria-hidden":"true"}),r===0&&e.jsx("span",{className:"gsb__products gsb__products--vouchers","aria-hidden":"true",children:["black","love","birthday"].map(h=>e.jsx(Zt,{motif:h,artworkLang:f,className:"gsb__cover"},h))}),r===1&&e.jsx("span",{className:"gsb__shipping","aria-hidden":"true",children:e.jsx("img",{src:"/assets/gift-chef-heart-letter.webp",alt:"",width:1800,height:1080,decoding:"async","data-testid":"img-gift-benefit-chef"})}),r>=2&&e.jsx("span",{className:"gsb__products","aria-hidden":"true",children:(r===2?["love-new","birthday","flowers-new"]:["plush-original","plush-tomato","snowglobe"]).map(h=>e.jsx("img",{src:`/assets/gift-extras/${h}.webp`,alt:"",width:96,height:96,decoding:"async"},h))})]})}),e.jsx("div",{id:E,className:"gsb__detail",role:"region","aria-hidden":!u,children:e.jsx("div",{children:e.jsx("p",{children:k})})})]},A)})})]})]})})}function wa({amount:s,onChange:l,onCommit:d,min:a,max:n,lang:P,prefersReducedMotion:w,popTrigger:c=0,currency:p="€"}){const[y,x]=i.useState(Math.min(s??a,n)),[B,_]=i.useState([]),M=i.useRef(0),z=i.useRef(new Set);i.useEffect(()=>()=>{z.current.forEach(clearTimeout),z.current.clear()},[]);const f=(r,u)=>{const E=setTimeout(()=>{z.current.delete(E),r()},u);z.current.add(E)};i.useEffect(()=>{c>0&&s!==null&&s>0&&b(s)},[c]),i.useEffect(()=>{x(s!==null?Math.min(s,n):0)},[s]);const N=(r,u="stepper")=>{const E=y===0&&r>0?0:y;let h;if(E===0&&r>0)h=50;else{const g=Math.round(E/50)*50;h=Math.max(0,Math.min(n,g+r))}h<a&&h>0&&(h=0),x(h),h===0?l(null):(l(h),d(h,u),b(h))},C=r=>{["ArrowRight","ArrowUp"].includes(r.key)?(r.preventDefault(),N(50,"keyboard-adjust")):["ArrowLeft","ArrowDown"].includes(r.key)?(r.preventDefault(),N(-50,"keyboard-adjust")):r.key==="Home"?(r.preventDefault(),x(0),l(null)):r.key==="End"&&(r.preventDefault(),x(n),l(n),d(n,"keyboard-adjust"),b(n))},I=r=>{["ArrowRight","ArrowUp","ArrowLeft","ArrowDown","End"].includes(r.key)&&y>=a&&d(y,"keyboard-release")},o=r=>{const u=Number(r.target.value),E=Math.round(u/50)*50,h=Math.max(0,Math.min(n,E));x(h),l(h===0?null:h)},v=()=>{y===0?l(null):(s===null&&l(y),d(y,"pointer"),b(y))},b=r=>{if(w)return;const u=3;for(let E=0;E<u;E++)f(()=>{const h=M.current++,g=(Math.random()-.5)*30,D=(Math.random()-.5)*30,F=(Math.random()-.5)*15;_(T=>[...T,{id:h,val:r,style:{"--echo-x":`${D}px`,"--echo-y":`${F}px`,"--echo-angle":`${g}deg`}}]),f(()=>{_(T=>T.filter(V=>V.id!==h))},1e3)},E*150)},A=y/n*100,k=[];for(let r=Math.max(50,a);r<=n;r+=50)k.push(r);return e.jsxs("div",{className:"w-full max-w-[440px] mx-auto py-6 px-4 flex flex-col items-center select-none bg-[#FAF7F2] border border-[#C84B2F]/30 rounded-2xl shadow-sm","data-testid":"gift-amount-slider",children:[e.jsx("style",{children:`
2        .gold-slider {
3          -webkit-appearance: none;
4          appearance: none;
5          width: 100%;
6          height: 44px;
7          background: transparent;
8          outline: none;
9          position: relative;
10          z-index: 10;
11          margin: 0;
12          cursor: pointer;
13          touch-action: pan-y;
14        }
15        .gold-slider::-webkit-slider-runnable-track {
16          width: 100%;
17          height: 6px;
18          background: linear-gradient(to right, #C84B2F ${A}%, #E8DDD0 ${A}%);
19          border-radius: 999px;
20          box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
21          margin-top: 19px;
22        }
23        .gold-slider::-moz-range-track {
24          width: 100%;
25          height: 6px;
26          background: linear-gradient(to right, #C84B2F ${A}%, #E8DDD0 ${A}%);
27          border-radius: 999px;
28          box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
29        }
30        .gold-slider::-webkit-slider-thumb {
31          -webkit-appearance: none;
32          appearance: none;
33          width: 32px;
34          height: 32px;
35          border-radius: 50%;
36          background: #C84B2F;
37          cursor: pointer;
38          margin-top: -13px;
39          box-shadow: 0 4px 10px rgba(200,75,47,0.4), inset 0 2px 4px rgba(255,255,255,0.5);
40          border: 3px solid white;
41          transition: transform 0.1s;
42        }
43        .gold-slider::-moz-range-thumb {
44          width: 32px;
45          height: 32px;
46          border-radius: 50%;
47          background: #C84B2F;
48          cursor: pointer;
49          box-shadow: 0 4px 10px rgba(200,75,47,0.4), inset 0 2px 4px rgba(255,255,255,0.5);
50          border: 3px solid white;
51          transition: transform 0.1s;
52        }
53        .gold-slider:active::-webkit-slider-thumb {
54          transform: scale(1.15);
55        }
56        .gold-slider:active::-moz-range-thumb {
57          transform: scale(1.15);
58        }
59        
60        @keyframes value-echo {
61          0% { opacity: 1;
61 transform: translate(calc(-50% + var(--echo-x)), calc(-50% + var(--echo-y))) rotate(var(--echo-angle)) scale(0.8); }
62          100% { opacity: 0; transform: translate(calc(-50% + var(--echo-x)), calc(-50% - 40px)) rotate(var(--echo-angle)) scale(1.3); }
63        }
64        .animate-value-echo {
65          animation: value-echo 1.0s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
66        }
67      `}),e.jsx("div",{className:"h-12 flex flex-col justify-end mb-20 relative w-full","data-testid":"gift-amount-display",children:y===0?e.jsx("div",{className:"text-xl sm:text-2xl font-semibold text-[#1A1A1A]/40 font-serif text-center mt-auto h-12 flex items-center justify-center",children:P==="de"?"Betrag wählen":"Choose amount"}):e.jsxs("div",{className:"relative text-center mt-auto h-12 flex items-center justify-center",children:[e.jsxs("span",{className:"text-4xl sm:text-5xl font-bold text-[#C84B2F] font-serif tracking-tight",children:[y," ",p]}),B.map(r=>e.jsxs("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[100] animate-value-echo pointer-events-none text-4xl font-bold text-[#C84B2F] drop-shadow-sm font-serif flex items-center gap-1",style:r.style,"aria-hidden":"true",children:[r.val," ",p,e.jsx("span",{className:"text-2xl opacity-80",children:"❤️"})]},r.id))]})}),e.jsxs("div",{className:"flex items-center w-full gap-3 sm:gap-4 mb-8",children:[e.jsx("button",{type:"button","data-testid":"slider-decrement",onClick:()=>N(-50),disabled:y<=0,"aria-label":"Decrease amount",className:"w-10 h-10 sm:w-12 sm:h-12 flex-shrink-0 rounded-full border border-[#E8DDD0] flex items-center justify-center text-[#C84B2F] bg-white shadow-sm hover:border-[#C84B2F] disabled:opacity-40 disabled:hover:border-[#E8DDD0] transition-all text-2xl font-light",children:"−"}),e.jsxs("div",{className:"flex-1 relative flex items-center h-[44px]",children:[e.jsx("div",{"data-testid":"slider-chef",className:"absolute bottom-[42px] pointer-events-none w-[116px]",style:{left:`calc(${A}% + ${16-32*A/100}px)`,transform:"translateX(-53%)"},"aria-hidden":"true",children:e.jsx("img",{src:"/assets/gift-chef-heart-letter.webp",alt:"",draggable:!1,className:"block w-full h-auto object-contain drop-shadow-md"})}),e.jsx("input",{type:"range","data-testid":"slider-input",min:0,max:n,step:1,value:y,onChange:o,onKeyDown:C,onKeyUp:I,onPointerUp:v,"aria-label":P==="de"?"Gutscheinwert":"Voucher value","aria-valuetext":y===0?"0":`${y} ${p}`,className:"gold-slider"}),e.jsx("div",{className:"absolute top-1/2 -translate-y-1/2 left-[16px] right-[16px] h-[6px] pointer-events-none z-0",children:k.map(r=>{const u=r/n*100;return e.jsx("div",{className:S("w-[2px] h-[4px] rounded-full absolute top-1/2 -translate-y-1/2",y>=r?"bg-white/60":"bg-[#1A1A1A]/10"),style:{left:`${u}%`,transform:"translateX(-50%)"}},r)})})]}),e.jsx("button",{type:"button","data-testid":"slider-increment",onClick:()=>N(50),disabled:y>=n,"aria-label":"Increase amount",className:"w-10 h-10 sm:w-12 sm:h-12 flex-shrink-0 rounded-full border border-[#E8DDD0] flex items-center justify-center text-[#C84B2F] bg-white shadow-sm hover:border-[#C84B2F] disabled:opacity-40 disabled:hover:border-[#E8DDD0] transition-all text-2xl font-light",children:"+"})]}),e.jsx("div",{className:"grid grid-cols-5 gap-2 sm:gap-3 w-full",role:"group","aria-label":"Select preset amount",children:k.map(r=>{const u=s!==null&&s===r&&y===r;return e.jsx("button",{type:"button","data-testid":`slider-chip-${r}`,onClick:()=>{x(r),l(r),d(r,"preset"),b(r)},className:S("h-10 sm:h-12 rounded-lg font-semibold text-[13px] sm:text-[15px] transition-all border",u?"bg-transparent text-[#C84B2F] border-[#C84B2F] shadow-sm ring-1 ring-[#C84B2F]":"bg-white text-[#1A1A1A] border-[#E8DDD0] hover:border-[#C84B2F] hover:bg-[#F9F6F0]"),children:r},r)})}),e.jsx("label",{htmlFor:"amount-input",className:"mt-5 flex min-h-12 w-full cursor-pointer items-center justify-center rounded-xl border-2 border-[#C84B2F] bg-white px-3 py-2 text-center text-sm font-bold text-[#A64227] shadow-sm hover:bg-[#FFF4ED] focus-within:ring-2 focus-within:ring-[#C84B2F]",children:P==="de"?"Eigenen Betrag wählen":"Choose your own amount"})]})}function Da({value:s,onChange:l,legend:d,tone:a="light",testId:n="gift-artw
67ork-selector",name:P}){const w=i.useId(),c=a==="dark";return e.jsxs("fieldset",{className:"flex flex-col items-center gap-1.5",onClick:p=>p.stopPropagation(),children:[e.jsx("legend",{className:S("mb-1.5 text-center text-xs font-semibold uppercase tracking-widest",c?"text-white/70":"text-[#1A1A1A]/60"),children:d}),e.jsxs("div",{"data-testid":n,"data-value":s,className:S("relative inline-grid grid-cols-2 rounded-full border p-1",c?"border-white/20 bg-white/10":"border-[#E8DDD0] bg-white shadow-inner"),children:[e.jsx("span",{"aria-hidden":"true",className:S("absolute inset-y-1 left-1 w-[calc(50%-4px)] rounded-full shadow-md transition-transform duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)] motion-reduce:transition-none",c?"bg-white":"bg-[#1A1A1A]"),style:{transform:s==="en"?"translateX(100%)":"translateX(0)"}}),["de","en"].map(p=>e.jsxs("label",{title:p==="de"?"Deutsch":"English","data-testid":`${n}-${p}`,className:S("relative z-10 flex items-center justify-center min-h-11 min-w-[64px] cursor-pointer rounded-full px-4 py-2 text-center text-sm font-semibold transition-colors focus-within:ring-2 focus-within:ring-[#C84B2F]",s===p?c?"text-black":"text-white":c?"text-white/80":"text-[#1A1A1A]"),children:[e.jsx("input",{type:"radio",name:P??w,value:p,checked:s===p,onChange:()=>l(p),className:"sr-only"}),e.jsx("span",{className:"sr-only",children:p==="de"?"Deutsch":"English"}),e.jsx(Re,{countryCode:p==="de"?"de":"gb",emoji:p==="de"?"🇩🇪":"🇬🇧",size:"lg",className:"rounded-sm shadow-sm"})]},p))]})]})}const ja=[2e3,944],Pa=[2e3,474];function Na(s,l,d,a){const n=d==="de",P=l==="de"?n?"Deutsch":"German":n?"Englisch":"English",w=it(s,l,"inner"),c=a??s;return[{id:"outside",label:n?"Außenseite (flach)":"Outside (flat)",src:it(s,l,"outer"),alt:n?`Papier-Klappkarte ${c}, Außenseite flach ausgebreitet (${P})`:`Paper greeting card ${c}, outside spread laid flat (${P})`,caption:n?"Papier-Außenseite, flach ausgebreitet. Gefaltet ist die rechte Hälfte die Titelseite, die linke Hälfte die Rückseite.":"Paper exterior, shown flat. When folded, the right half is the front cover and the left half is the back."},{id:"inside",label:n?"Innenseite (aufgeklappt)":"Inside (opened flat)",src:w,alt:n?`Papier-Klappkarte ${c}, Innenseite aufgeklappt (${P})`:`Paper greeting card ${c}, inside spread opened flat (${P})`,placeholder:w?void 0:n?"Englische Innenseite für dieses Motiv nicht verfügbar – keine Ersatzgrafik.":"English inside artwork is not available for this motif – no substitute shown.",caption:n?"Papier-Innenseite, vollständig aufgeklappt. Die PVC-Gutscheinkarte liegt beim Versand im Inneren bei.":"Paper interior, fully opened. The PVC gift card rests inside when shipped."}]}function Aa(s,l="en"){const d=s==="de",a=l==="en"?d?"englisches Original":"English original":d?"deutsches Original":"German original";return["front","back"].map(n=>({id:n,label:n==="front"?d?"Vorderseite":"Front":d?"Rückseite":"Back",src:bt(l,n),alt:`${d?"Schwarze Goldkarte":"Black gold card"}, ${n==="front"?d?"Vorderseite":"front":d?"Rückseite":"back"} (${a})`,caption:d?`Schwarze Karte mit Gold-Heißfolierung – ${a}.`:`Black card with gold hot foil – ${a}.`}))}function Ca({kind:s,open:l,onOpenChange:d,trigger:a,lang:n,artworkLang:P,onArtworkLangChange:w,motif:c,motifLabel:p,initialFocus:y}){const[x,B]=i.useState("front"),[_,M]=i.useState("outside"),z=n==="de",f=s==="gold",N=e.jsx(Da,{tone:"dark",testId:`${s}-detail-artwork-lang`,legend:z?"Kartensprache":"Artwork language",value:P,onChange:w});return e.jsx(Jt,{open:l,onOpenChange:d,trigger:a,lang:n,testIdPrefix:f?"gold":"paper",title:f?z?"Goldkarte im Detail":"Gold card detail":z?"Papier-Klappkarte im Detail":"Paper greeting card detail",ratio:f?ja:Pa,views:f?Aa(n,P):Na(c,P,n,p),viewId:f?x:_,onViewChange:f?B:M,initialFocus:y,toolbar:N})}const X=4,ae=["format","motif","amount","review"];function Ea({lang:s="de",onLanguageChange:l}){const d=ct[s]||ct.de,a=s==="de",n=a?"Premium Set +3€":"Premium set +€3",[P,w]=i.useState(!1),[c,p]=i.useState(!1),[y,x]=i.useState(!1),[B,_]=i.useState(!1),[M,z]=i.useState(!1),[f,N]=i.useState(null),[C,I]=i.useState(""),[o,v]=i.useState(!1),[b,A]=i.useState(0),[k,r]=i.useState("love"),[u,E]=i.useState("post"),[h,g]=i.useState("pvc"),[D,F]=i.useState(a?"de":"en"),[T,V]=i.useState(!1),[je,kt]=i.useState("paper"),[yt,wt]=i.useState(),[Dt,jt]=i.useState(!1),[te,ie]=i.useState(!1),[R,Pe]=i.useState(!1),[W,Z]=i.useState(!1),[he,Ne]=i.useState(!1),[L,We]=i.useState(0),[qe,se]=i.useState(null),[ne,Pt]=i.useState(!1);i.useEffect(()=>{Pt(!0)},[]);const He=i.useRef(null),Ae=i.useRef(!1);i.useEffect(()=>{Ae.current&&(Ae.current=!1,He.current?.focus({preventScroll:!0}))},[L]);const[re,oe]=i.useState({amount:!1,variant:!1,motif:!1}),J=t=>oe(m=>({...m,[t]:!1})),me=(t,m)=>e.jsxs("div",{"data-testid":`compact-${t}`,className:"col-span-full flex w-full min-w-0 items-center justify-between gap-4 roun
67ded-xl border border-[#E8DDD0] bg-white/70 p-4",children:[e.jsxs("span",{className:"min-w-0 flex-1 font-semibold",children:[m,t==="amount"&&e.jsx("span",{className:"block text-xs font-normal text-[#1A1A1A]/70",children:a?"Über „Ändern“ auch eigenen Betrag eingeben":"Use “Edit” to enter your own amount"})]}),e.jsx("button",{type:"button",className:"ml-auto min-h-11 shrink-0 whitespace-nowrap px-3 text-[#A64227] underline",onClick:()=>oe(j=>({...j,[t]:!0})),children:a?"Ändern":"Edit"})]}),[G,K]=i.useState(null),[Nt,fe]=i.useState(!1),Ce=i.useRef(!1),Ye=i.useRef(null),Xe=i.useRef(null),ge=i.useRef(null),Ze=i.useRef(null),Ee=i.useRef(null),Je=i.useRef(null),Se=i.useRef(null),Fe=i.useRef(!1),Ge=i.useRef(null),[At,Ct]=i.useState(0),[Et,Qe]=i.useState(!1),ze=Be.find(t=>t.code===s)||Be[0];i.useEffect(()=>{if(Me("gift_landing_view",{page:"gift",funnel:"gift_landing",page_lang:s}),typeof window.matchMedia!="function")return;const t=window.matchMedia("(prefers-reduced-motion: reduce)");p(t.matches);const m=j=>p(j.matches);return t.addEventListener?.("change",m),()=>t.removeEventListener?.("change",m)},[s]),i.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const t=document.getElementById("gift-hero"),m=Se.current;if(!t||!m)return;const j=new IntersectionObserver(([xe])=>{x(!xe.isIntersecting&&xe.boundingClientRect.bottom<=0)}),tt=new IntersectionObserver(([xe])=>_(xe.isIntersecting));return j.observe(t),tt.observe(m),()=>{j.disconnect(),tt.disconnect()}},[]),i.useEffect(()=>{if(!M)return;const t=m=>{Je.current?.contains(m.target)||z(!1)};return document.addEventListener("pointerdown",t),()=>document.removeEventListener("pointerdown",t)},[M]),i.useEffect(()=>{const m=new URLSearchParams(window.location.search).get(st);(m==="de"||m==="en")&&F(m)},[]),i.useLayoutEffect(()=>{const t=Ge.current;if(!t)return;Ge.current=null;const m=t.target==="variant"?ge.current:t.target==="detail"?document.getElementById("gift-variant-detail"):t.target==="motif"?Xe.current??ge.current:t.target==="amount"?G==="amount"?document.getElementById("amount-input"):Ye.current:t.target==="continue"?Se.current:Ze.current;m?.scrollIntoView?.({behavior:t.immediate||c?"auto":"smooth",block:t.target==="continue"?"end":"start"}),m?.focus({preventScroll:!0})},[At]);const U=(u==="pdf"||h==="pvc")&&!W;function q(t,m=!1){Ge.current={target:t==="continue"&&U?"motif":t,immediate:m},Ct(j=>j+1)}function _e(t){if(t==="gold"){Qe(!0);return}Qe(!1),E("post"),Ne(!0),Pe(!0),J("variant"),K(null),q(t==="gold"?"amount":"detail"),t!==h&&(jt(!0),g(t))}function Le(t,m="continue"){Ne(!0),K(null),t!==u&&(q(t==="post"?"variant":m,!0),E(t),g(t==="post"?"pvc":null),Pe(!1))}function St(t,m,j){Ee.current=document.activeElement,kt(t),wt(m),V(!0)}i.useEffect(()=>{try{const t=JSON.parse(sessionStorage.getItem("lpc_gift_landing_choices")||"null");if(!t)return;t.version===1&&t.amountChosen===!0&&Number.isInteger(t.amount)&&t.amount>=$.min&&t.amount<=$.max&&(N(t.amount),I(String(t.amount)));const m=["black","love","christmas","wishes","birthday"].includes(t.design);m&&r(t.design),t.version===1&&m&&t.motifConfirmed===!0&&Z(!0),t.version===1&&t.amountChosen===!0&&Number.isInteger(t.amount)&&t.amount>=$.min&&t.amount<=$.max&&ie(!0),t.version===1&&t.deliveryChosen===!0&&(t.delivery==="pdf"||t.delivery==="post")&&Ne(!0),t.version===1&&t.cardChosen===!0&&t.delivery==="post"&&t.cardVariant==="pvc"&&Pe(!0),(t.delivery==="pdf"||t.delivery==="post")&&E(t.delivery),t.delivery==="pdf"?g(null):(t.cardVariant==="pvc"||t.cardVariant==="gold")&&g("pvc"),t.version===1&&Number.isInteger(t.mobileStep)&&t.mobileStep>=0&&t.mobileStep<X&&We(t.mobileStep)}catch{}},[]),i.useEffect(()=>{try{sessionStorage.setItem("lpc_gift_landing_choices",JSON.stringify({version:1,amount:f,design:k,delivery:u,cardVariant:h,amountChosen:te,cardChosen:R,motifConfirmed:W,deliveryChosen:he,mobileStep:L}))}catch{}},[f,k,u,h,te,R,W,he,L]);const O=f!==null&&Number.isInteger(f)&&f>=$.min&&f<=$.max,Q=u==="post"&&(!R||!h)?"variant":U?"motif":!te||!O?"amount":he?null:"delivery",le=G&&Q===G?G==="variant"?a?"Bitte wähle eine Kartenvariante aus, um fortzufahren.":"Please choose a card variant to continue."
67:G==="motif"?a?"Bitte wähle noch ein Gutscheinmotiv aus, um fortzufahren.":"Please choose a voucher motif to continue.":G==="delivery"?a?"Bitte wähle PDF oder Postversand aus, um fortzufahren.":"Please choose PDF or postal delivery to continue.":f!==null&&!O?a?`Bitte gib einen ganzen Gutscheinwert zwischen 50 € und ${$.max} € ein, um fortzufahren.`:`Please enter a whole voucher value between €50 and €${$.max} to continue.`:a?"Bitte wähle noch einen Gutscheinwert aus, um fortzufahren.":"Please select a voucher value to continue.":null;function Ft(){return Q?(K(Q),fe(!0),!1):!0}const pe=a?{format:"Format",motif:"Motiv",amount:"Wert",review:"Prüfen"}:{format:"Format",motif:"Design",amount:"Value",review:"Review"},ee=d.value.designs.find(t=>t.key===k)?.label||k,Gt=u==="pdf"?a?"Standard-Digitalgutschein (PDF)":"Standard digital voucher (PDF)":n,Y=t=>S("gift-mstep",ae[L]===t&&"is-active");function Te(t){se(null),Ae.current=!0,We(Math.max(0,Math.min(X-1,t))),document.getElementById("configurator")?.scrollIntoView?.({behavior:c?"auto":"smooth",block:"start"})}function zt(){const t=ae[L];if(t==="format"&&(!he||u==="post"&&(!R||h!=="pvc"))){se(a?"Bitte wähle PDF oder das Premium Set per Post.":"Please choose PDF or the Premium set by post.");return}if(t==="motif"&&!W&&(Z(!0),J("motif"),K(null)),t==="amount"&&(!te||!O)){se(a?`Bitte wähle einen Gutscheinwert zwischen 50 € und ${$.max} €.`:`Please choose a voucher value between €50 and €${$.max}.`);return}Te(L+1)}const _t=e.jsxs("div",{"data-testid":"pdf-standard-notice",className:"mb-3 rounded-xl border border-[#E8DDD0] bg-white/70 p-4 text-sm leading-relaxed text-[#1A1A1A]/80",children:[e.jsx("strong",{className:"block text-[#1A1A1A]",children:a?"Standard-Digitalgutschein (PDF)":"Standard digital voucher (PDF)"}),a?"Die Motivvorschau ist nur eine Illustration – der ausgestellte PDF-Gutschein kann davon abweichen.":"The motif preview is an illustration only – the issued PDF voucher may differ from it."]}),Lt=e.jsxs("div",{"data-testid":"pdf-illustrated-unavailable","aria-disabled":"true",className:"mb-3 flex items-center justify-between gap-3 rounded-xl border border-dashed border-[#C9B9A6] bg-[#F3ECE2] p-3 text-sm text-[#1A1A1A]/60",children:[e.jsx("span",{children:a?"Illustrierte PDF-Edition":"Illustrated PDF edition"}),e.jsx("span",{className:"shrink-0 rounded-full border border-[#C9B9A6] px-2 py-0.5 text-xs font-bold uppercase tracking-wider",children:a?"Noch nicht erhältlich":"Not yet available"})]}),et=!W&&e.jsxs("div",{className:"mt-3 flex flex-col items-center gap-2 text-center",children:[e.jsx("p",{"data-testid":"text-motif-preview-state",className:"text-xs text-[#1A1A1A]/70",children:a?`Vorschau: ${ee} – noch nicht ausgewählt`:`Previewing: ${ee} – not selected yet`}),e.jsx("button",{type:"button","data-testid":"button-confirm-motif",onClick:()=>{Z(!0),J("motif"),K(null),q("amount")},className:"min-h-11 rounded-full border border-[#A64227] px-5 text-sm font-bold text-[#A64227]",children:a?`${ee} wählen`:`Use ${ee}`})]});function be(t){return Q?Q==="motif"?u==="pdf"?"#gift-variant-track":"#pvc-step-motif":"#configurator":Tt({slot:"landing",step:u==="post"?"design":"amount"})}function Tt({slot:t,step:m="amount"}={}){if(!O)return"#configurator";const j=new URLSearchParams;return j.set("amount",String(f)),j.set("design",u==="pdf"||h==="pvc"?k:"black"),j.set("delivery",u),j.set("pvcCard",u==="post"&&h==="pvc"?"black":"none"),u==="post"&&h==="gold"&&j.set("cardVariant","gold"),j.set("card3d","none"),u==="post"&&j.set(st,D),j.set("decisions","v1"),t&&j.set("gift_source",t),`${Ut(s,m)}?${j}${m==="design"?"#gs-h2":""}`}function ve(t){return m=>{if(!Ft()){m.preventDefault();return}const j=new URL(m.currentTarget.href).searchParams;j.sort();try{sessionStorage.setItem("LPC_GIFT_PENDING_HANDOFF",j.toString())}catch{}Me("checkout_click",{page:"gift",funnel:"gift_landing",slot:t,page_lang:s,destination:"local_gift_checkout"})}}return e.jsxs("div",{className:"gift-page min-h-[100dvh] overflow-x-clip font-sans selection:bg-[#C84B2F] selection:text-white","data-hydrated":ne?"true":"false",style:{background:ke.bg,color:ke.textPrimary,overflowX:"clip",maxWidth:"100%"},children:[e.jsx(ia,{reducedMotion:c}),e.jsx(sa,{onComplete:()=>w(!0)}),e.jsx(It,{open:Nt,onOpenChange:fe,children:e.jsxs($t,{children:[e.jsx(Mt,{className:"fixed inset-0 z-[200] bg-black/60 backdrop-blur-sm"}
67),e.jsxs(Rt,{className:"fixed left-1/2 top-1/2 z-[201] w-[calc(100%-2rem)] max-w-md -translate-x-1/2 -translate-y-1/2 rounded-2xl border border-[#E8DDD0] bg-[#FAF7F2] p-6 text-[#1A1A1A] shadow-2xl",onCloseAutoFocus:t=>{Ce.current&&G&&(t.preventDefault(),Ce.current=!1,q(G))},children:[e.jsx(Ot,{className:"text-2xl font-bold",children:a?"Noch ein Schritt fehlt":"One more step"}),e.jsx(Vt,{className:"mt-4 text-lg font-semibold leading-relaxed",children:G==="motif"?a?"Um weiterzumachen, wähle bitte zuerst dein Lieblingsmotiv aus.":"To continue, please choose your favourite design first.":le}),e.jsx("button",{type:"button",className:"mt-6 min-h-12 w-full rounded-full bg-[#A64227] px-5 py-3 text-base font-bold text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#A64227]",onClick:()=>{Ce.current=!0,fe(!1)},children:G==="motif"?a?"Lieblingsmotiv wählen":"Choose my design":G==="variant"?a?"Kartenvariante wählen":"Choose card variant":G==="amount"?a?"Gutscheinwert wählen":"Choose voucher value":a?"Versandart wählen":"Choose delivery"}),e.jsx(Kt,{className:"mt-3 min-h-11 w-full rounded-full text-sm font-semibold underline",children:a?"Schließen":"Close"})]})]})}),e.jsx("header",{className:"sticky top-0 z-50 backdrop-blur-md border-b",style:{background:"rgba(250, 247, 242, 0.9)",borderColor:ke.border},children:e.jsxs("div",{className:"max-w-[1100px] mx-auto px-4 md:px-8 h-14 md:h-20 flex items-center justify-between",children:[e.jsx("a",{href:"/",className:"flex items-center min-h-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#C84B2F]",children:e.jsx("img",{src:"/assets/logo.png",alt:d.header.logoAlt,className:"h-10 w-auto object-contain"})}),e.jsxs("div",{className:"flex items-center gap-4 md:gap-6",children:[e.jsxs("div",{className:"relative",ref:Je,children:[e.jsxs("button",{type:"button",className:"flex items-center justify-center gap-2 text-sm font-semibold hover:text-[#C84B2F] transition-colors p-2 min-h-[44px] min-w-[44px]",onClick:()=>z(!M),"aria-label":d.header.langSwitchLabel,"aria-expanded":M,"aria-haspopup":"listbox",children:[e.jsx(Re,{countryCode:ze.countryCode,emoji:ze.flag,size:"sm"}),e.jsx("span",{className:"uppercase tracking-widest",children:ze.code})]}),M&&e.jsx("div",{role:"listbox",className:"absolute right-0 top-full mt-2 w-56 bg-white border shadow-xl rounded-xl overflow-hidden py-2",style:{borderColor:ke.border},children:Be.map(t=>e.jsxs("button",{type:"button",role:"option","data-testid":`gift-lang-${t.code}`,"aria-selected":t.code===s,className:S("w-full flex items-center gap-3 px-5 py-3 text-sm hover:bg-[#FAF7F2] transition-colors text-left min-h-[44px]",t.code===s&&"text-[#C84B2F] font-bold bg-[#FAF7F2]"),onClick:()=>{l?.(t.code),z(!1)},children:[e.jsx(Re,{countryCode:t.countryCode,emoji:t.flag,size:"md"}),t.label]},t.code))})]}),e.jsxs("a",{href:be(),onClick:ve("header"),className:"flex items-center justify-center gap-2 bg-transparent border border-[#C84B2F]/65 text-[#C84B2F] px-3 md:px-6 py-2 rounded-full text-sm font-bold min-h-[44px] hover:bg-[#C84B2F]/10 transition-all",children:[e.jsx(Oe,{size:16})," ",a?"Gutschein kaufen":"Buy a gift card"]})]})]})}),e.jsxs("main",{children:[e.jsx(xa,{lang:s,prefersReducedMotion:c,introCompleted:P}),e.jsx(ya,{lang:s,introCompleted:P,purchaseDestination:be(),onPurchaseClick:ve("promotion")}),e.jsx(Ca,{kind:je,open:T,onOpenChange:t=>{V(t),t||Ee.current?.focus()},trigger:Ee,lang:a?"de":"en",artworkLang:D,onArtworkLangChange:F,motif:k,motifLabel:d.value.designs.find(t=>t.key===k)?.label,initialFocus:yt}),e.jsx("section",{id:"configurator","data-testid":"gift-configurator","aria-busy":!ne,style:ne?void 0:{pointerEvents:"none"},className:"gift-configurator py-6 md:py-14 border-b border-[#E8DDD0]",children:e.jsxs("div",{className:"max-w-[1100px] mx-auto px-4 md:px-8",children:[e.jsxs("div",{className:"text-center mb-3 md:mb-6",children:[e.jsx("span",{className:"text-[#C84B2F] font-bold tracking-[0.2em] uppercase text-xs mb-3 block",children:u==="pdf"?a?"Digitaler Gutschein":"Digital voucher":a?"Zwei Kartenvarianten":"Two card options"}),e.jsx("h2",{className:"text-[28px] md:text-[34px] font-bold mb-4 text-balance text-[#1A1A1A]",style:{fontFamily:H},children:a?"Ein kleines Geschenk. Ein großer Abend.":"A little gift. A great evening."}),u==="post"&&e.jsx("p",{className:"hidden md:block text-base text-[#1A1A1A]/70 leading-relaxed max-w-xl mx-auto",children:a?"Wähle die PVC-Karte mit Motivhülle oder die goldveredelte Gutscheinkarte.":"Choose the PVC card with an illustrated cover or the gold-finished gift card."})]}),e.jsxs("div",{"data-testid":"gift-mobile-stepper",className:"md:hidden mb-4",children:[e.jsx("h3",{id:"gift-mobile-step-heading",ref:He,tabIndex:-1,"data-testid":"text-mobile-step","aria-live":"polite",className:"mb-2 text-sm font-bold focus:outline-none",children:a?`Schritt ${L+1} von ${X}: ${pe[ae[L]]}`:`Step ${L+1} of ${X}: ${pe[ae[L]]}`}),e.jsx("div",{role:"progressbar","aria-valuemin":1,"aria-valuemax":X,"aria-valuenow":L+1,className:"h-1.5 overflow-hidden rounded-full bg-[#E8DDD0]",children:e.jsx("div",{className:"h-full origin-left bg-[#A64227] transition-transform",style:{transform:`scaleX(${(L+1)/X})`}})}),e.jsx("ol",{className:"mt-2 grid grid-cols-4 gap-1 text-[11px] uppercase tracking-wider",children:ae.map((t,m)=>e.jsx("li",{"data-testid":`mobile-step-${t}`,"aria-current":m===L?"step":void 0,className:S("truncate text-center",m===L?"font-bold text-[#A64227]":"text-[#1A1A1A]/55"),children:pe[t]},t))})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-y-6 lg:gap-x-8 lg:gap-y-8 items-start relative",children:[u==="post"?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:S(Y("format"),"col
67-span-1 lg:col-span-2 flex items-end justify-between border-b border-[#E8DDD0] pb-2 mb-[-8px] lg:mb-[-16px]"),children:e.jsxs("h3",{className:"text-xl md:text-2xl font-bold",style:{fontFamily:H},children:["1. ",a?"Kartenvariante":"Card Variant"]})}),e.jsx("div",{id:"gift-variant-track",ref:ge,"data-mstep":"format",tabIndex:-1,"data-testid":"gift-variant-track",className:S(Y("format"),"gift-variant-track col-span-1 lg:col-span-2 focus:outline-none"),role:"radiogroup","aria-label":a?"Kartenvarianten":"Card variants","aria-describedby":G==="variant"?"gift-variant-error":void 0,children:R&&!re.variant?me("variant",h==="pvc"?n:a?"Goldveredelte Gutscheinkarte · Inklusive":"Gold-finished gift card · Included"):e.jsxs(e.Fragment,{children:[G==="variant"&&e.jsx("p",{id:"gift-variant-error",role:"alert",className:"text-sm font-semibold text-[#A64227]",children:a?"Bitte wähle eine Kartenvariante ausdrücklich aus.":"Please choose a card variant explicitly."}),[{key:"pvc",short:n,full:n,note:a?"Schwarze PVC-Karte in einer Klappkarte mit Motiv deiner Wahl":"Black PVC card in your chosen folded greeting card",img:Qt("black",D,"front")},{key:"gold",short:a?"Goldveredelte Gutscheinkarte":"Gold-finished gift card",full:a?"Goldveredelte Gutscheinkarte":"Gold-finished gift card",note:a?"Goldveredelte Gutscheinkarte":"Gold-finished gift card",img:bt(D,"front")}].map(t=>e.jsxs("label",{"data-testid":`variant-${t.key}`,onClick:()=>_e(t.key),"data-unavailable":t.key==="gold"?"true":void 0,"aria-disabled":t.key==="gold"?!0:void 0,className:S("gift-variant rounded-2xl",t.key==="gold"?"is-unavailable cursor-not-allowed opacity-60":"cursor-pointer",R&&h===t.key&&"is-selected"),children:[e.jsx("span",{className:"gift-variant__media","aria-hidden":"true",children:e.jsx("img",{src:t.img,alt:"",className:S("gift-variant__img",t.key==="gold"?"is-gold":"is-pvc"),draggable:!1})}),e.jsxs("span",{className:"gift-variant__body",children:[e.jsxs("span",{className:"gift-variant__title-row",children:[e.jsx("input",{type:"radio",name:"card-variant",value:t.key,"aria-label":t.full,checked:R&&h===t.key,disabled:!ne||t.key==="gold"&&!0,onChange:()=>_e(t.key),onClick:m=>{m.stopPropagation(),_e(t.key)},className:"gift-variant__radio shrink-0"}),e.jsxs("span",{className:"gift-variant__title",children:[e.jsx("span",{className:"sm:hidden",children:t.short}),e.jsx("span",{className:"hidden sm:inline",children:t.full})]}),e.jsx("span",{"data-testid":t.key==="pvc"?"pvc-new-badge":void 0,className:"gift-variant__badge",children:t.key==="gold"?a?"Noch nicht erhältlich":"Not yet available":a?"Neu":"New"})]}),e.jsx("span",{className:"gift-variant__note",children:t.key==="gold"?a?"Vorschau – derzeit nicht bestellbar. Wähle das Premium Set oder einen PDF-Gutschein.":"Preview only – not available to order yet. Choose the Premium set or a PDF voucher.":t.note})]})]},t.key)),Et&&e.jsx("p",{role:"status","data-testid":"gold-unavailable-notice",className:"col-span-full text-sm font-semibold text-[#A64227]",children:a?"Die goldveredelte Karte ist noch nicht erhältlich. Bitte wähle das Premium Set oder einen PDF-Gutschein.":"The gold-finished card is not available yet. Please choose the Premium set or a PDF voucher."})]})}),e.jsxs("div",{id:"gift-variant-detail","data-testid":"gift-variant-detail","data-variant":h,tabIndex:-1,className:S(Y("motif"),"gift-detail col-span-1 lg:col-span-2 scroll-mt-24 focus:outline-none"),"aria-label":a?"Details zur gewählten Karte":"Details for the selected card",role:"region",children:[e.jsx("div",{className:"gift-detail__head",children:e.jsxs("div",{children:[e.jsx("span",{className:"gift-detail__eyebrow",children:R?a?"Deine Auswahl":"Your choice":a?"Vorschau · Karte noch wählen":"Preview · choose your card"}),e.jsx("h3",{className:"gift-detail__title",style:{fontFamily:H},"data-testid":"text-detail-title",children:h==="gold"?a?"Goldveredelte Gutscheinkarte":"Gold-finished gift card":a?"Premium Set gestalten":"Personalise your Premium set"})]})}),e.jsxs("button",{type:"button","data-testid":"choose-voucher-value",className:"mb-6 flex min-h-14 w-full items-center justify-center rounded-full bg-[#A64227] px-6 py-4 text-lg font-bold text-white shadow-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#A64227]",onClick:()=>
67{if(!R||U){K(R?"motif":"variant"),fe(!0);return}oe(t=>({...t,amount:!0})),q("amount")},children:[a?"Gutscheinwert wählen":"Choose voucher value"," ",e.jsx("span",{className:"ml-2","aria-hidden":"true",children:"→"})]}),e.jsx("div",{className:S("gift-detail__panel",!c&&Dt&&"is-entering"),children:h==="gold"?e.jsxs("div",{className:"gift-detail__gold",children:[e.jsx("div",{className:"gift-detail__gold-stage",children:e.jsx(ea,{color:"black",artworkLang:D,prefersReducedMotion:c,className:"w-full max-w-[400px]",flipLabel:a?"Vorderseite / Rückseite":"Front / Back"})}),e.jsxs("div",{className:"gift-detail__gold-copy",children:[e.jsx("p",{"data-testid":"gold-no-configuration",className:"text-base text-[#1A1A1A]/80 leading-relaxed",children:a?"Goldveredelte Gutscheinkarte":"Gold-finished gift card"}),e.jsxs("ul",{className:"gift-detail__facts",children:[e.jsx("li",{children:R?a?"Goldveredelte Gutscheinkarte ausgewählt":"Gold-finished gift card selected":a?"Zur Auswahl oben auf die Karte tippen":"Choose this card above to confirm"}),e.jsx("li",{children:a?"Tippen oder seitlich wischen zeigt die Rückseite":"Tap or swipe sideways to see the back"})]})]})]}):e.jsxs("div",{"data-testid":"card-configuration-details",className:"gift-premium flex flex-col gap-6 lg:gap-8 w-full",children:[e.jsxs("section",{id:"pvc-step-motif",ref:Xe,tabIndex:-1,"data-testid":"pvc-step-motif","aria-labelledby":"pvc-step-motif-title","aria-describedby":U?"pvc-motif-prompt":void 0,className:"w-full scroll-mt-24 focus:outline-none flex flex-col items-center",children:[e.jsx("h4",{id:"pvc-step-motif-title",className:"text-center text-sm font-bold uppercase tracking-widest text-[#1A1A1A]/55 mb-2",children:a?"1 · Motiv der Klappkarte":"1 · Greeting card motif"}),W&&!re.motif?me("motif",d.value.designs.find(t=>t.key===k)?.label||k):e.jsxs(e.Fragment,{children:[U&&e.jsx("p",{id:"pvc-motif-prompt",role:"status",className:"text-sm font-semibold text-[#A64227] text-center mb-2",children:G==="motif"?a?"Bitte wähle das Motiv ausdrücklich aus.":"Please choose a motif explicitly.":a?"Wähle zuerst dein Lieblingsmotiv.":"Choose your favourite motif first."}),e.jsx("p",{className:"text-xs text-[#1A1A1A]/65 text-center max-w-[340px] mb-4",children:a?"Wähle das Motiv für die äußere Papier-Klappkarte. Die echte PVC-Geschenkkarte liegt im Inneren bei.":"Choose the motif for the outer paper greeting card. The physical PVC gift card rests inside."}),e.jsx(nt,{designs:d.value.designs,selected:k,onSelect:t=>{t!==k&&Z(!1),r(t)},onCommit:()=>{J("motif"),Z(!0),K(null)},prefersReducedMotion:c,artworkLang:D}),et,e.jsxs("button",{type:"button","data-testid":"button-pvc-next-preview",onClick:()=>{if(U){q("motif");return}const t=document.getElementById("pvc-step-preview");t?.scrollIntoView?.({behavior:c?"auto":"smooth",block:"start"}),t?.focus({preventScroll:!0})},className:"mt-2 inline-flex min-h-11 items-center gap-2 rounded-full bg-[#1A1A1A] px-6 text-xs font-bold uppercase tracking-widest text-[#FAF6F0] hover:bg-[#C84B2F]",children:[U?a?"Motiv wählen":"Choose motif":a?"Weiter zur Vorschau":"Next: preview"," ",e.jsx("span",{"aria-hidden":"true",children:"→"})]})]})]}),e.jsx("section",{id:"pvc-step-preview",tabIndex:-1,"data-testid":"pvc-step-preview","aria-labelledby":"pvc-step-preview-title",className:"w-full scroll-mt-24 focus:outline-none",children:e.jsxs("div",{className:"gift-premium__preview relative overflow-hidden w-full",children:[e.jsxs("div",{className:"relative z-10 text-center mb-3",children:[e.jsx("h4",{id:"pvc-step-preview-title",className:"text-sm font-bold uppercase tracking-widest text-[#C84B2F] mb-1",children:a?"2 · So sieht dein Geschenk aus":"2 · How your gift looks"}),e.jsx("p",{className:"text-xs text-[#1A1A1A]/70 max-w-[300px] mx-auto",children:a?"Klappkarte mit deinem Motiv, die PVC-Karte liegt innen.":"Your motif on the folded card, with the PVC card inside."})]}),e.jsx("div",{className:"relative z-10",children:e.jsx(ta,{motifKey:k,pvcColor:"black",prefersReducedMotion:c,lang:s,artworkLang:D,onInspect:t=>St("paper",t)})})]})})]})},h)]})]}
67):e.jsxs("section",{id:"gift-variant-track",ref:ge,tabIndex:-1,className:S(Y("motif"),"col-span-1 lg:col-span-2 scroll-mt-20 focus:outline-none"),"data-testid":"pdf-voucher-motif","aria-describedby":G==="motif"?"gift-pdf-motif-error":void 0,children:[e.jsxs("h3",{className:"text-xl md:text-2xl font-bold mb-3",style:{fontFamily:H},children:["1. ",a?"Digitales Gutscheinmotiv":"Digital voucher design"]}),e.jsx("button",{type:"button",onClick:()=>Le("post","variant"),"data-testid":"choose-postal-card",className:"mb-3 min-h-11 text-sm font-semibold text-[#C84B2F] underline underline-offset-4",children:a?"Lieber eine Karte per Post mit 3D-Karte & Goodies wählen":"Choose a postal card with a 3D card & goodies instead"}),_t,Lt,G==="motif"&&e.jsx("p",{id:"gift-pdf-motif-error",role:"alert",className:"text-sm font-semibold text-[#A64227]",children:a?"Bitte wähle dein PDF-Motiv ausdrücklich aus.":"Please choose your PDF motif explicitly."}),W&&!re.motif?me("motif",d.value.designs.find(t=>t.key===k)?.label||k):e.jsx(nt,{designs:d.value.designs,selected:k,onSelect:t=>{t!==k&&Z(!1),r(t)},onCommit:()=>{J("motif"),Z(!0),K(null),q("amount")},prefersReducedMotion:c,artworkLang:D}),!re.motif&&W?null:et]}),e.jsxs("div",{className:"col-span-1 lg:col-span-2 flex flex-col space-y-5 md:space-y-8 pb-24 md:pb-0 mt-4 lg:mt-8 w-full lg:max-w-4xl lg:mx-auto",children:[e.jsxs("div",{role:"group","aria-label":d.value.amountLabel,ref:Ye,tabIndex:-1,className:S(Y("amount"),"scroll-mt-24 focus:outline-none"),children:[e.jsx("div",{className:"flex items-end justify-between border-b border-[#E8DDD0] pb-2",children:e.jsxs("h3",{className:"text-xl md:text-2xl font-bold",style:{fontFamily:H},children:["2. ",d.value.amountLabel]})}),te&&O&&!re.amount?me("amount",`${f} €`):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"hidden md:block mb-4 text-sm leading-relaxed text-[#1A1A1A]/70",children:a?"Du wählst den Wert, sie das Erlebnis. Preise und Verfügbarkeit variieren je Standort.":"You choose the value, they choose the experience. Prices and availability vary by venue."}),e.jsx(wa,{amount:f,onChange:t=>{ie(!1),N(t),I(t===null?"":String(t)),v(!1)},onCommit:(t,m)=>{m!=="keyboard-adjust"?J("amount"):oe(j=>({...j,amount:!0})),ie(!0),K(null),se(null),N(t),I(String(t)),v(!1),m!=="keyboard-adjust"&&q("continue")},min:$.min,max:500,lang:s,prefersReducedMotion:c,popTrigger:b}),e.jsxs("div",{className:"relative mt-2",children:[e.jsx("div",{className:S("absolute inset-[3px] rounded-[9px] border border-dashed pointer-events-none transition-colors z-10",o?"border-[#C84B2F]/30":"border-transparent")}),e.jsx("input",{id:"amount-input",type:"number","aria-label":d.value.amountCustom,min:$.min,max:$.max,step:"1",value:o?C:f??"",onFocus:()=>{oe(t=>({...t,amount:!0})),Fe.current=!1,o||(I(f===null?"":String(f)),v(!0))},onChange:t=>{Fe.current=!0,ie(!1),v(!0),I(t.target.value),N(t.target.value===""?null:Number(t.target.value))},onBlur:t=>{const m=Number(C);Fe.current&&C!==""&&Number.isInteger(m)&&m>=$.min&&m<=$.max&&(N(m),ie(!0),window.matchMedia("(max-width: 767px)").matches||J("amount"),K(null),se(null),I(String(m)),A(j=>j+1),t.relatedTarget instanceof Element&&t.relatedTarget.closest("a, button, input, select, textarea, [tabindex]")||q("continue"))},onKeyDown:t=>{t.key!=="Enter"||!O||t.currentTarget.blur()},"aria-invalid":f!==null&&!O||G==="amount","aria-describedby":f!==null&&!O||G==="amount"?"gift-amount-error":void 0,className:S("gift-amount-input w-full px-12 text-center h-[60px] rounded-xl text-lg font-bold transition-all outline-none",o?"bg-[#FFFCF7] text-[#39261D] border border-[#B58A50] shadow-sm ring-2 ring-[#B58A50]/20 relative z-20":"bg-white text-[#1A1A1A] border border-[#E8DDD0] hover:border-[#C84B2F]/40 focus:border-[#C84B2F] hover:bg-[#FAF7F2]"),style:{fontVariantNumeric:"tabular-nums",fontSize:"24px"}}),e.jsx("span",{className:"absolute right-4 top-1/2 -translate-y-1/2 text-[#89673E] text-xl","aria-hidden":"true",children:"€"})]}),(f!==null&&!O||G==="amount")&&e.jsx("p",{id:"gift-amount-error",role:"alert",className:"mt-2 text-sm font-medium text-[#A64227]",children:f!==null&&!O?a?`Bitte einen ganzen Betrag zwischen 50 € und ${$.max} € eingeben.`:`Enter a whole amount between €50 and €${$.max}.`:a?"Bitte bestätige deinen Gutscheinwert durch Auswahl oder Eingabe.":"Please confirm your voucher value by selecting or entering it."})]})]}),e.jsxs("fieldset",{ref:Ze,tabIndex:-1,"aria-describedby":G==="delivery"?"gift-delivery-error":void 0,className:S(Y("format"),"scroll-mt-24 focus:outline-none min-w-0 border-0 p-0"),children:[e.jsxs("legend",{className:"mb-3 p-0 text-base font-bold",children:["3. ",a?"Zustellung":"Delivery"]}),e.jsxs("div",{"data-testid":"gift-delivery-options",className:"rounded-xl border border-[#
67E8DDD0] bg-white/70 p-4",children:[G==="delivery"&&e.jsx("p",{id:"gift-delivery-error",role:"alert",className:"text-sm font-semibold text-[#A64227]",children:a?"Bitte bestätige die Zustellung ausdrücklich.":"Please confirm your delivery method explicitly."}),e.jsx("div",{className:"flex flex-wrap gap-4",children:["post","pdf"].map(t=>e.jsxs("label",{className:"flex min-h-11 items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"radio",name:"gift-delivery",checked:u===t,disabled:!ne,onChange:()=>Le(t),onClick:()=>Le(t),className:"accent-[#C84B2F]"}),e.jsx("span",{className:"relative inline-block h-14 w-20 shrink-0","aria-hidden":"true",children:e.jsx(aa,{type:t,isActive:u===t,prefersReducedMotion:c})}),t==="post"?h==="gold"?a?"Per Post":"By post":n:a?"Per E-Mail (PDF)":"Email (PDF)"]},t))}),u==="pdf"&&e.jsx("p",{className:"text-sm text-[#8B452A]",children:a?"Bei PDF erhältst du nur den digitalen Gutschein – keine PVC- oder Goldkarte, 3D-Karte oder Sammlerstücke.":"PDF delivery includes only the digital voucher — no PVC or gold card, 3D card, or collectible."})]})]}),e.jsxs("section",{"data-testid":"gift-mobile-review","aria-labelledby":"gift-mobile-review-title",className:S(Y("review"),"md:hidden rounded-2xl border border-[#E8DDD0] bg-white/70 p-4"),children:[e.jsx("h3",{id:"gift-mobile-review-title",className:"mb-2 text-xl font-bold",style:{fontFamily:H},children:a?"Deine Auswahl prüfen":"Review your choice"}),e.jsx("dl",{className:"divide-y divide-[#E8DDD0]",children:[["format",0,Gt],["motif",1,ee],["amount",2,O?`${f} €`:"—"]].map(([t,m,j])=>e.jsxs("div",{"data-testid":`review-${t}`,className:"flex items-center justify-between gap-3 py-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("dt",{className:"text-xs uppercase tracking-widest text-[#1A1A1A]/55",children:pe[t]}),e.jsx("dd",{className:"font-semibold",children:j})]}),e.jsx("button",{type:"button","data-testid":`mobile-review-edit-${t}`,onClick:()=>Te(m),className:"min-h-11 shrink-0 px-2 text-sm text-[#A64227] underline",children:a?"Ändern":"Edit"})]},t))}),u==="pdf"&&e.jsx("p",{"data-testid":"review-standard-pdf-note",className:"mt-2 text-xs text-[#1A1A1A]/70",children:a?"Standard-PDF: Die illustrierte Vorschau ist nicht garantiert das ausgestellte Design.":"Standard PDF: the illustrated preview is not guaranteed to be the issued design."})]}),e.jsxs("div",{className:S(Y("review"),"flex flex-col space-y-5"),children:[e.jsx("a",{ref:Se,"data-testid":"selection-continue","data-cta":"checkout",href:be(),"aria-disabled":!!Q,onClick:ve("landing"),className:"gift-selection-continue scroll-mb-6 flex items-center justify-center w-full min-h-[52px] rounded-full font-bold text-lg px-6 py-3",children:U?a?"Motiv wählen":"Choose motif":u==="post"?a?"Weiter zu den Goodies":"Continue to goodies":a?"Weiter zur Zustellung":"Continue to delivery"}),le&&e.jsx("p",{role:"status","data-testid":"gift-action-error",className:"text-center text-sm font-semibold text-[#A64227]",children:le}),e.jsx("p",{className:"text-center text-sm text-[#1A1A1A]/70","data-testid":"gift-redemption-note",children:a?"Nur ein Gutschein pro Besuch einlösbar.":"Only one voucher can be redeemed per visit."})]}),e.jsxs("nav",{"data-testid":"gift-mobile-nav","aria-label":a?"Schritte":"Steps",className:"md:hidden flex flex-col gap-2",children:[qe&&e.jsx("p",{role:"alert","data-testid":"mobile-step-error",className:"text-center text-sm font-semibold text-[#A64227]",children:qe}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx("button",{type:"button","data-testid":"mobile-step-back",disabled:L===0,onClick:()=>Te(L-1),className:"min-h-12 flex-1 rounded-full border border-[#1A1A1A]/25 font-bold disabled:opacity-40",children:a?"Zurück":"Back"}),L<X-1&&e.jsx("button",{type:"button","data-testid":"mobile-step-next",onClick:zt,className:"min-h-12 flex-[2] rounded-full bg-[#A64227] px-4 font-bold text-white",children:ae[L]==="motif"&&!W?a?`${ee} wählen & weiter`:`Use ${ee} & next`:a?"Weiter":"Next"})]})]})]})]})]})}),e.jsxs("div",{hidden:L!==X-1||!y||B,"data-testid":"gift-mobile-summary",className:"md:hidden fixed bottom-0 left-0 right-0 z-40 bg-white/95 backdrop-blur-md border-t border-[#
67E8DDD0] p-4 pb-[max(1rem,env(safe-area-inset-bottom))] shadow-[0_-4px_20px_rgba(0,0,0,0.05)]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex flex-col min-w-0",children:[e.jsx("strong",{className:"text-lg",style:{fontFamily:H},children:f!==null?`${f} €`:"—"}),e.jsx("span",{className:"text-xs text-[#1A1A1A]/60 truncate","data-testid":"mobile-sticky-summary",children:h==="gold"&&u==="post"?a?"Goldveredelte Gutscheinkarte":"Gold-finished gift card":`${d.value.designs.find(t=>t.key===k)?.label||k} · ${u==="post"?n:"PDF"}`})]}),e.jsxs("a",{href:be(),"aria-disabled":!!Q,onClick:ve("sticky"),className:S("flex-1 flex items-center justify-center gap-2 px-4 py-3 rounded-full font-bold text-sm min-h-[44px] transition-all border border-[#C84B2F]/65 text-[#C84B2F]",R&&te&&!U&&"gift-mobile-ready"),children:[e.jsx(Oe,{size:17})," ",U?a?"Motiv wählen":"Choose motif":O?d.final.cta:a?"Betrag wählen":"Select amount"]})]}),le&&e.jsx("p",{role:"status","data-testid":"gift-mobile-action-error",className:"mt-2 text-center text-sm font-semibold text-[#A64227]",children:le})]})]}),e.jsx("footer",{className:"py-8 pb-[calc(2rem+80px+env(safe-area-inset-bottom))] md:pb-8 border-t border-[#E8DDD0]",style:{background:"#FAF7F2"},children:e.jsx("div",{className:"max-w-[1100px] mx-auto px-4 md:px-8 flex flex-col md:flex-row items-center justify-between gap-6",children:e.jsxs("div",{className:"text-sm font-medium text-[#1A1A1A]/55 flex flex-wrap justify-center md:justify-start gap-4 md:gap-8",children:[e.jsx("a",{href:"https://2spicy.com/privacy",className:"hover:text-[#1A1A1A] min-h-[44px] flex items-center",children:d.legal.privacy}),e.jsx("a",{href:a?"/gift/terms":"/en/gift/terms",className:"hover:text-[#1A1A1A] min-h-[44px] flex items-center",children:d.legal.terms}),e.jsx("a",{href:"https://2spicy.com/contact",className:"hover:text-[#1A1A1A] min-h-[44px] flex items-center",children:d.legal.help}),e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-[#1A1A1A] min-h-[44px] flex items-center",children:d.legal.contact})]})})})]})}const ce="lpc_gift_lang";function Sa(){try{return[navigator.language||"",...navigator.languages?.length?[...navigator.languages]:[]].filter((s,l,d)=>s&&d.indexOf(s)===l)}catch{return[]}}function Fa(s){if(s!=="de")return null;const l=ft(ce);if(l&&Wt(l))return l==="de"?null:l;const d=qt(Sa());return d==="de"?null:d}function Ka({lang:s="de"}){const[,l]=Bt(),[d,a]=i.useState(s),n=d===s?Fa(s):null;if(i.useEffect(()=>{a(s)},[s]),i.useEffect(()=>{const w=document.documentElement,c=document.body,p={htmlX:w.style.overflowX,htmlY:w.style.overflowY,bodyX:c.style.overflowX,bodyY:c.style.overflowY};return w.style.overflowX="clip",w.style.overflowY="visible",c.style.overflowX="clip",c.style.overflowY="visible",()=>{w.style.overflowX=p.htmlX,w.style.overflowY=p.htmlY,c.style.overflowX=p.bodyX,c.style.overflowY=p.bodyY}},[]),i.useEffect(()=>{s==="de"&&(n?(Ie(ce,n),l(`${at(n)}${window.location.search}${window.location.hash}`,{replace:!0})):ft(ce)||Ie(ce,"de"))},[s,l,n]),n)return null;function P(w){w!==d&&(Ie(ce,w),window.history.replaceState(window.history.state,"",`${at(w)}${window.location.search}${window.location.hash}`),a(w))}return e.jsx(Ea,{lang:d,onLanguageChange:P})}export{ce as GIFT_LANG_KEY,Ka 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.