Files
kaiser-natron/dist/assets/i18n-VERRV-oN.js
Dorian ab888d99b0 home: brand hero with in-flow splash animation, 3-product teaser, bundle imagery
Home page now opens with a BrandHero that plays the figure entrance
animation in flow (replacing the full-screen SplashIntro overlay),
followed by a 3-product Cook/Clean/Care teaser feeding the shop. Splash
paths extracted to a shared module so BrandHero can render the same
illustration without duplicating ~500KB of SVG path strings.

ProductCard gains `cream` and `brand` tones (cream/green media wash
with white card body); homepage teaser uses `brand`, shop catalogue
switches to the green wash too. Bundle cards point at the new
/bundles/background/* artwork.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 09:40:47 +01:00

21 lines
74 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{o as e,z as t}from"./runtime-core.esm-bundler-DTXUv7Wx.js";var n={"nav.shop":`Shop`,"nav.cook":`Kochen`,"nav.clean":`Reinigen`,"nav.care":`Pflege`,"nav.applications":`Anwendungen`,"nav.bundles":`Bundles`,"nav.revitalization":`Revitalisierung`,"nav.about":`Über uns`,"nav.contact":`Kontakt`,"shop.eyebrow":`Unser Sortiment`,"shop.headline":`Kaiser-Natron`,"shop.headline.em":`für jeden Bereich`,"shop.sub":`Vom Kochen über das Reinigen bis zur Pflege: drei Sammlungen, ein Rohstoff.`,"shop.section.cook.headline":`Backen, kochen,`,"shop.section.cook.headline.em":`gesund verdauen.`,"shop.section.cook.sub":`Pulver und Tabletten — die Basis für Teig, Gerichte und guten Geschmack.`,"shop.section.clean.headline":`Schrubben, waschen,`,"shop.section.clean.headline.em":`alles sauber.`,"shop.section.clean.sub":`Natron-basierte Reiniger und Waschhelfer, die auch bei hartnäckigem Schmutz überzeugen.`,"shop.section.care.headline":`Baden, pflegen,`,"shop.section.care.headline.em":`durchatmen.`,"shop.section.care.sub":`Bade- und Pflegeprodukte, abgestimmt auf den Alltag und den Sport.`,"shop.feature.cook":`Für die Küche`,"shop.feature.clean":`Für den Haushalt`,"shop.feature.care":`Für Körper & Pflege`,"shop.feature.cta.cook":`Zur Küche`,"shop.feature.cta.clean":`Zum Haushalt`,"shop.feature.cta.care":`Zur Pflege`,"product.back":`Zur Übersicht`,"product.backHome":`Zur Startseite`,"product.backGeneric":`Zurück`,"product.addToCart":`In den Warenkorb`,"product.outOfStock":`Nicht verfügbar`,"product.applications.title":`Anwendungen`,"product.applications.sub":`Vom Backen bis zum Putzen — so vielseitig setzt Du Kaiser-Natron® im Alltag ein.`,"product.about.title":`Über das Produkt`,"product.ingredients.title":`Inhaltsstoffe`,"product.warnings.title":`Hinweise`,"product.faq.title":`Häufige Fragen`,"product.related.title":`Auch interessant`,"product.related.sub":`Produkte aus derselben Kategorie, die gut zusammenpassen.`,"product.notFound.title":`Produkt nicht gefunden`,"product.notFound.sub":`Diese Seite gibt es nicht oder das Produkt ist nicht mehr verfügbar.`,"product.notFound.cta":`Zurück zum Shop`,"product.prop.vegan":`Vegan`,"product.prop.glutenfrei":`Glutenfrei`,"product.prop.laktosefrei":`Laktosefrei`,"product.prop.neutralisiert-saeuren":`Neutralisiert Säuren`,"product.prop.enthaertet":`Enthärtet`,"product.prop.mild-alkalisch":`Mild-alkalisch`,"product.prop.bio":`Bio`,"product.prop.made-in-austria":`In Österreich abgefüllt`,"product.prop.fuer-kueche-und-haushalt":`Für Küche und Haushalt`,"product.prop.fuer-boeden-und-oberflaechen":`Für Böden und Oberflächen`,"product.prop.frei-von-mikroplastik":`Frei von Mikroplastik`,"product.prop.frei-von-tierischen-substanzen":`Frei von tierischen Substanzen`,"product.prop.hautvertraeglich-dermatologisch-bestaetigt":`Hautverträglich dermatologisch bestätigt`,"product.prop.hygienische-sauberkeit":`Hygienische Sauberkeit`,"product.prop.mit-entspannendem-apfelsinenduft":`Mit entspannendem Apfelsinenduft`,"product.prop.mit-dem-duft-der-latschenkiefer":`Mit dem Duft der Latschenkiefer`,"product.prop.mit-natuerlicher-seife":`Mit natürlicher Seife`,"product.prop.mit-pampelmusenduft":`Mit Pampelmusenduft`,"product.prop.mit-pflegendem-lanolin":`Mit pflegendem Lanolin`,"product.prop.nachhaltig-durch-tenside-nachwachsenden-ursprungs":`Nachhaltig durch pflanzliche Tenside`,"product.prop.ohne-konservierungsstoffe":`Ohne Konservierungsstoffe`,"product.prop.ohne-mineraloel":`Ohne Mineralöl`,"product.prop.wohltuend-und-erfrischend":`Wohltuend und erfrischend`,"cart.open":`Warenkorb öffnen`,"cart.label":`Warenkorb`,"cart.subtotal":`Zwischensumme`,"cart.checkout":`Zur Kasse`,"cart.remove":`Entfernen`,"cart.qty.increase":`Menge erhöhen`,"cart.qty.decrease":`Menge verringern`,"cart.empty.title":`Dein Warenkorb ist leer`,"cart.empty.subtitle":`Leg Produkte aus dem Shop hinzu sie erscheinen direkt hier.`,"cart.added":`Zum Warenkorb hinzugefügt`,"menu.open":`Menü öffnen`,"menu.close":`Menü schließen`,"language.label":`Sprache`,"search.open":`Suche öffnen`,"search.label":`Produkte durchsuchen`,"search.placeholder":`Produkte suchen …`,"search.clear":`Löschen`,"search.results":`Suchergebnisse`,"search.noResults":`Keine Produkte gefunden`,"search.noResultsHint":`Probiere eine andere Schreibweise oder einen allgemeineren Begriff.`,"search.emptyHint":`Tippe, um Produkte zu finden z. B. „Natron Pulver" oder „Entkalker".`,"search.suggested":`Vorschläge`,"search.hint.navigate":`Navigieren`,"search.hint.select":`Auswählen`,"search.hint.close":`Schließen`,"ds.sidebar.brand":`Marke`,"ds.sidebar.tokens":`Tokens`,"ds.sidebar.components":`Komponenten`,"ds.sidebar.sections":`Sektionen`,"ds.sidebar.back":`← Zurück zur Website`,"ds.mobile.currentPage":`Aktuelle Seite`,"ds.mobile.selectPage":`Seite auswählen`,"ds.nav.logo":`Logo`,"ds.nav.colors":`Farben`,"ds.nav.typography":`Typografie`,"ds.nav.radii":`Radien`,"ds.nav.shadows":`Schatten`,"ds.nav.motion":`Motion`,"ds.nav.icons":`Icons`,"ds.nav.buttons":`Buttons`,"ds.nav.badges":`Badges`,"ds.nav.inputs":`Eingabefelder`,"ds.nav.cards":`Karten`,"ds.nav.products":`Produktkarten`,"ds.nav.bundleCard":`Bundle-Karte`,"ds.nav.hero":`Hero`,"ds.nav.navbar":`Navigation`,"ds.nav.search":`Suche`,"ds.nav.qtyStepper":`Mengenwähler`,"ds.nav.cartDrawer":`Warenkorb`,"ds.nav.language":`Sprachwahl`,"ds.nav.bundles":`Bundles-Sektion`,"ds.nav.revitalization":`Revitalization`,"ds.nav.about":`Über uns`,"ds.nav.footer":`Footer`,"ds.nav.checkoutStepper":`Kassen-Stepper`,"ds.footer.title":`Footer`,"ds.footer.description":`Sitewide-Footer mit Logo, Marken-Tagline, Erkundungs- und Rechtslinks. Drei Tonvarianten — cream (Standard), brand (Markengrün), paper (heller Akzent) — passen sich der Seitenfläche an.`,"ds.footer.tone.cream":`Cream (Standard)`,"ds.footer.tone.brand":`Brand`,"ds.footer.tone.paper":`Paper`,"ds.checkoutStepper.title":`Kassen-Stepper`,"ds.checkoutStepper.description":"Horizontale Fortschrittsanzeige mit den vier Schritten: Warenkorb → Konto → Versand → Bezahlung. Erledigte Schritte zeigen ein Häkchen, der aktive Schritt ist gefüllt, kommende Schritte sind dezent umrandet. Vorherige Schritte sind anklickbar; vorwärts springen wird über das `completed`-Flag gesteuert.","ds.search.title":`Suche`,"ds.search.description":`Volltextsuche über den Produktkatalog mit Bildvorschau. Mobil als Vollbild-Overlay, am Desktop als zentrierte Kommando-Palette. Tastaturbedienbar und standardmäßig in der primären Markenfarbe.`,"ds.search.label":`Produkte durchsuchen`,"ds.search.placeholder":`Produkte durchsuchen…`,"ds.search.noResults":`Keine Produkte gefunden.`,"ds.search.suggested":`Vorschläge`,"ds.search.results":`Ergebnisse`,"ds.search.open":`Suche öffnen`,"ds.search.picked":`Ausgewählt`,"ds.search.tryHint":`Tipp: probier „natron", „kalk", „wäsche" oder „bad".`,"ds.search.integrationHint":`Die Suche läuft über den im API-Layer (src/api/) exportierten Produktkatalog. Sobald das Backend steht, bleibt die Komponenten-Signatur unverändert.`,"ds.search.hint.navigate":`Navigieren`,"ds.search.hint.select":`Auswählen`,"ds.search.hint.close":`Schließen`,"ds.eyebrow.brand":`Marke`,"ds.eyebrow.tokens":`Tokens`,"ds.eyebrow.components":`Komponenten`,"ds.eyebrow.designSystem":`Design System`,"ds.heading.variants":`Varianten`,"ds.heading.sizes":`Größen`,"ds.heading.states":`Zustände`,"ds.heading.withIcons":`Mit Icons`,"ds.heading.onBrandSurface":`Auf Markenfläche`,"ds.heading.block":`Block`,"ds.heading.usage":`Verwendung`,"ds.heading.default":`Standard`,"ds.heading.tones":`Töne`,"ds.heading.interactive":`Interaktiv`,"ds.heading.withoutPadding":`Ohne Innenabstand`,"ds.heading.scale":`Skala`,"ds.heading.display":`Display`,"ds.heading.body":`Fließtext`,"ds.heading.nonUppercase":`Ohne Großbuchstaben`,"ds.heading.onDifferentSurfaces":`Auf verschiedenen Flächen`,"ds.heading.greenOnPaper":`Grün auf Papier`,"ds.heading.creamOnBrand":`Creme auf Markengrün`,"ds.logo.title":`Logo`,"ds.logo.description":"Ein einzelnes SVG, das die Farbe über CSS `color` erbt. Verwende das grüne Wortbild auf hellen Flächen und das cremefarbene auf dem Markengrün.","ds.logo.usageIntro":`Farbe über Utility-Klassen setzen:`,"ds.colors.title":`Farben`,"ds.colors.description":`Pinie-Grün auf Creme mit warmem Gelb als Akzent. Alle UI-Farben fließen aus diesen Tokens — niemals Werte in Komponenten hartkodieren.`,"ds.colors.group.brand":`Marke`,"ds.colors.group.accent":`Akzent`,"ds.colors.group.surface":`Fläche`,"ds.colors.group.ink":`Schrift`,"ds.colors.group.line":`Linie`,"ds.colors.group.semantic":`Semantisch`,"ds.typography.title":`Typografie`,"ds.typography.description":`Fraunces für Display — warm, organisch, mit optischen Größen. DM Sans für Fließtext und UI — klar und geometrisch.`,"ds.typography.serifDesc":`Serife mit optischer Skalierung. Für Hero-Bereiche, Section-Titel und Produktnamen.`,"ds.typography.sansDesc":`Klare geometrische Sans-Serif. Für Fließtext, UI, Navigation und Labels.`,"ds.typography.sample":`Der schnelle braune Fuchs`,"ds.radii.title":`Radien`,"ds.radii.description":`Von dezenten 6px an kleinen Elementen bis hin zu vollen Pillen auf Buttons. Passend zum weichen, organischen Gefühl der Referenzseite.`,"ds.shadows.title":`Schatten`,"ds.shadows.description":`Alle Schatten sind grünlich statt neutral schwarz getönt — sie wirken warm und sind Teil der Palette.`,"ds.shadows.sm.note":`Dezent — Nav beim Scrollen, ruhende Karten`,"ds.shadows.md.note":`Mittel — Hover des primären Buttons`,"ds.shadows.lg.note":`Groß — schwebende Karten, Overlays`,"ds.motion.title":`Motion`,"ds.motion.description":`Bewegung dient dem Verständnis, nicht der Dekoration. Drei UI-Dauern plus eine szenische Schleife, eine Standard-Kurve, und klare Regeln für Nutzer mit reduzierter Bewegung.`,"ds.motion.philosophy.title":`Philosophie`,"ds.motion.principle.purpose":`Nur animieren, wenn Hierarchie, Zustand oder Kontinuität erklärt werden. Dekorative Bewegung wird weggelassen.`,"ds.motion.principle.cadence":`Drei Dauern, eine Kurve: 120ms für Zustand, 200ms für UI-Übergänge, 320ms für größere Reveals. --ease-out als Standard — Ankünfte wirken gesetzt, nicht schnippisch.`,"ds.motion.principle.scenic":`Szenische Schleifen (Orbit, weiche Pulse) laufen linear über 1020 s. Lang genug, um als Atmosphäre zu lesen, nie als tickende Uhr.`,"ds.motion.principle.reduced":`prefers-reduced-motion wird immer respektiert. Schleifen einfrieren, Übergänge zusammenfallen lassen — wer Bewegung ablehnt, wird dafür nicht bestraft.`,"ds.motion.durations.title":`Dauern`,"ds.motion.duration.fast.note":`Zustand — Hover, Focus, Press.`,"ds.motion.duration.base.note":`Standard-UI — Farbwechsel, Öffnen/Schließen.`,"ds.motion.duration.slow.note":`Größere Reveals — Drawer, Overlays, Karten.`,"ds.motion.duration.scene.note":`Szenische Wechsel — ganze Sektion, Route-Wechsel.`,"ds.motion.duration.orbit.note":`Umgebungsschleifen — Orbit-Ringe, weiche Pulse.`,"ds.motion.easings.title":`Kurven`,"ds.motion.ease.out.note":`Standard. Ankünfte landen weich.`,"ds.motion.ease.inOut.note":`Nur wenn ein Element kommen und wieder gehen muss.`,"ds.motion.ease.linear.note":`Für mechanische Schleifen — Orbit, Spinner.`,"ds.motion.animations.title":`Benannte Animationen`,"ds.motion.animate.orbit.note":`Ring rotiert um ein zentriertes Icon. Verwendet im Revitalization-Abschnitt.`,"ds.motion.animate.fadeInUp.note":`Einblenden mit 8 px Versatz — für Eintrittsmomente.`,"ds.motion.animate.pulseSoft.note":`Ruhiger Opazitäts-Puls — für Live-Indikatoren.`,"ds.motion.reduced.title":`Reduzierte Bewegung`,"ds.motion.reduced.body":`Globale Regel in motion.css: bei prefers-reduced-motion: reduce kollabieren alle Animations- und Transition-Dauern auf ~0 ms. Komponenten brauchen keine eigenen Weichen dafür.`,"ds.motion.replay":`Neu abspielen`,"ds.motion.fadePreview":`Einblenden`,"ds.icons.title":`Icons`,"ds.icons.description":`Ein kuratiertes strich-basiertes Icon-Set im 24x24-Raster. Wird über die Icon-Komponente gerendert — erbt die Farbe von currentColor.`,"ds.icons.search":`Icons suchen…`,"ds.icons.copyHint":`Klick auf eine Kachel kopiert das Snippet.`,"ds.icons.copied":`Kopiert!`,"ds.icons.noMatch":`Keine Icons stimmen mit`,"ds.icons.sizeDefault":`20 (Standard)`,"ds.icons.addHint":`Neue Icons in %s hinzufügen. Nutze eine 24×24-viewBox, strichbasierte Pfade ohne Füllungen — die Komponente übernimmt die Farbe per %s. Gib %s für Screenreader an; weglassen bei dekorativen Icons.`,"ds.icons.group.commerce":`Commerce`,"ds.icons.group.navigation":`Navigation`,"ds.icons.group.actions":`Aktionen`,"ds.icons.group.contact":`Kontakt`,"ds.icons.group.feedback":`Feedback`,"ds.icons.group.devices":`Geräte`,"ds.buttons.title":`Buttons`,"ds.buttons.description":`Pillenförmig. Pinie-grüner Primary mit warmgelbem Label für die wichtigste Aktion, warmgelber Accent auf Markenflächen, plus Secondary-, Ghost- und Danger-Varianten.`,"ds.buttons.primary":`Primary`,"ds.buttons.accent":`Accent`,"ds.buttons.secondary":`Secondary`,"ds.buttons.ghost":`Ghost`,"ds.buttons.danger":`Danger`,"ds.buttons.small":`Klein`,"ds.buttons.medium":`Mittel`,"ds.buttons.large":`Groß`,"ds.buttons.disabled":`Deaktiviert`,"ds.buttons.loading":`Lädt`,"ds.buttons.addToCart":`In den Warenkorb`,"ds.buttons.learnMore":`Mehr erfahren`,"ds.buttons.save":`Merken`,"ds.buttons.confirm":`Bestätigen`,"ds.buttons.continueShopping":`Weiter einkaufen`,"ds.badges.title":`Badges`,"ds.badges.description":`Kleine Großbuchstaben-Labels für Metadaten, Status und Eyebrows über Überschriften.`,"ds.badges.neutral":`Neutral`,"ds.badges.brand":`Marke`,"ds.badges.accent":`Akzent`,"ds.badges.subtle":`Dezent`,"ds.badges.success":`Erfolg`,"ds.badges.warning":`Warnung`,"ds.badges.danger":`Fehler`,"ds.badges.newRelease":`Neu veröffentlicht`,"ds.badges.featured":`Empfohlen`,"ds.inputs.title":`Eingabefelder`,"ds.inputs.description":`Papier-Fläche mit dünnem grün getöntem Rahmen. Großbuchstaben-Labels. Der Fokus vertieft den Rahmen zu Markengrün.`,"ds.inputs.email":`E-Mail`,"ds.inputs.emailHint":`Wir teilen dies nie.`,"ds.inputs.password":`Passwort`,"ds.inputs.required":`Pflichtfeld`,"ds.inputs.requiredError":`Dieses Feld ist erforderlich`,"ds.inputs.disabled":`Deaktiviert`,"ds.inputs.disabledPlaceholder":`Hier geht nichts`,"ds.cards.title":`Karten`,"ds.cards.description":`Flächen zum Gruppieren von Inhalten. Drei Töne — Papier, Creme, Marke — und ein optionales interaktives Anheben beim Hover.`,"ds.cards.paper":`Papier`,"ds.cards.cream":`Creme`,"ds.cards.brand":`Marke`,"ds.cards.paperTitle":`Standardfläche`,"ds.cards.paperBody":`Die erste Wahl für die meisten Inhalte. Hoher Kontrast auf dem cremefarbenen Seitenhintergrund.`,"ds.cards.creamTitle":`Warme Fläche`,"ds.cards.creamBody":`Eine weichere Alternative für sekundäre Bereiche oder Callouts.`,"ds.cards.brandTitle":`Dunkle Fläche`,"ds.cards.brandBody":`Für Feature-Panels, CTAs und Momente, die auffallen wollen.`,"ds.cards.hoverMe":`Hover mich`,"ds.cards.hoverMeToo":`Mich auch`,"ds.cards.hoverBody":`Hebt sich beim Hover mit weichem grün getönten Schatten. Für klickbare Items im Raster.`,"ds.cards.hoverBodyAlt":`Gleiches Verhalten auf der warmen Fläche.`,"ds.cards.mediaTitle":`Media-Karte`,"ds.cards.mediaBody":`Wenn die Karte ein randloses Bild oder einen Header braucht, übergib`,"ds.product.title":`Produktkarte`,"ds.product.description":`Zusammengesetzt aus Karte, Badge, Button und Icon. Cutout-Bild auf einer Creme-Medienfläche, Titel mit Größe, Preis in der Markenfarbe und ein blockweiter „In den Warenkorb"-Primary.`,"ds.product.outOfStock":`Nicht verfügbar`,"ds.product.added":`Hinzugefügt`,"ds.hero.title":`Hero`,"ds.hero.description":`Ganzflächiger Bühnenbereich für die Startseite und Kategorie-Auftakte. Eyebrow, Display-Headline mit optionaler Kursiv-Hervorhebung, Unterzeile, Produkt-Cutout auf dekorativer Scheibe und ein Primary/Secondary-CTA-Paar. Responsiv von 390 bis 1280 px, drei Flächen­töne, zwei Layouts.`,"ds.hero.variant.label":`Layout`,"ds.hero.variant.split":`Split`,"ds.hero.variant.centered":`Zentriert`,"ds.hero.eyebrow":`Neu im Shop`,"ds.hero.headline.a":`Kaiser-Natron`,"ds.hero.headline.em":`für alles`,"ds.hero.headline.b":`was glänzen soll.`,"ds.hero.sub":`Reinigt, backt und neutralisiert Gerüche. Die 250-g-Großpackung für den Haushalt, der sich auf das Original verlässt.`,"home.banner.eyebrow":`Vielseitig einsetzbar`,"home.banner.headline.a":`Ein Pulver,`,"home.banner.headline.em":`hundert Anwendungen`,"home.banner.headline.b":`im Haushalt.`,"home.banner.sub":`Vom Kuchen über das Bad bis zur Wäsche Kaiser-Natron leistet überall still und zuverlässig seine Arbeit.`,"home.categories.clean":`Putzen`,"home.categories.cook":`Kochen`,"home.categories.care":`Pflege`,"home.brand.headline.a":`Kaiser Natron `,"home.brand.headline.em":`der Premium-Anbieter`,"home.brand.headline.b":`für Reinigen, Kochen, Pflegen.`,"home.brand.since":`seit 1881`,"home.teaser.eyebrow":`Drei Klassiker`,"home.teaser.headline":`Für jeden Bereich das Richtige.`,"home.teaser.sub":`Ein Beispiel aus jeder Familie Kochen, Reinigen, Pflegen.`,"home.teaser.cta":`Kaiser Natron Shop`,"checkout.eyebrow":`Bestellung abschließen`,"checkout.headline":`Fast geschafft —`,"checkout.headline.em":`nur ein paar Angaben.`,"checkout.sub":`Lieferadresse, Zahlung, fertig. Ihre Daten werden verschlüsselt übertragen und nach EU-Standard verarbeitet.`,"checkout.summary.heading":`Ihre Bestellung`,"checkout.section.express":`Express-Checkout`,"checkout.express.sub":`In einem Schritt mit Apple Pay oder Google Pay`,"checkout.express.or":`oder mit Adresse fortfahren`,"checkout.express.applePay.aria":`Mit Apple Pay bezahlen`,"checkout.express.googlePay.aria":`Mit Google Pay bezahlen`,"checkout.section.contact":`Kontakt`,"checkout.section.shipping":`Lieferadresse`,"checkout.section.billing":`Rechnungsadresse`,"checkout.section.payment":`Zahlung`,"checkout.field.email":`E-Mail`,"checkout.field.marketing":`Mich zu Aktionen und Neuigkeiten informieren`,"checkout.field.name":`Name`,"checkout.field.company":`Firma (optional)`,"checkout.field.street":`Straße & Hausnummer`,"checkout.field.postal":`PLZ`,"checkout.field.city":`Stadt`,"checkout.field.country":`Land`,"checkout.field.phone":`Telefon (optional)`,"checkout.field.billingSame":`Rechnungs- = Lieferadresse`,"checkout.placeholder.email":`sie@beispiel.at`,"checkout.hint.email":`Wir schicken Ihnen die Bestellbestätigung an diese Adresse.`,"checkout.hint.phone":`Nur bei Lieferproblemen, kein Marketing.`,"checkout.payment.secure":`SSL-verschlüsselt · Stripe`,"checkout.cta.continue":`Zur Zahlung`,"checkout.cta.pay":`Jetzt bezahlen`,"checkout.error.empty":`Ihr Warenkorb ist leer.`,"checkout.error.payment":`Zahlung konnte nicht abgeschlossen werden.`,"checkout.error.generic":`Etwas ist schiefgelaufen. Bitte erneut versuchen.`,"checkout.success.eyebrow":`Bestellung bestätigt`,"checkout.success.headline":`Vielen Dank,`,"checkout.success.headline.em":`Ihre Bestellung ist unterwegs.`,"checkout.success.sub":`Wir haben Ihre Zahlung erhalten und beginnen mit der Vorbereitung. Eine Bestätigung kommt gleich per E-Mail.`,"checkout.success.orderId":`Bestell-Nr.`,"checkout.success.email":`Eine Bestätigung haben wir an die angegebene E-Mail-Adresse geschickt.`,"checkout.success.missing":`Keine Bestellnummer in der URL — Status kann nicht abgerufen werden.`,"checkout.success.cta.shop":`Weiter einkaufen`,"checkout.success.cta.home":`Zur Startseite`,"bundles.headline.a":`Bundles &`,"bundles.headline.em":`Vorteile`,"bundles.sub":`Als Mitglied sparst du durch Staffelrabatte, exklusive Bundle-Deals und Frühzugang auf neue Produkte.`,"bundles.benefit.1.title":`Staffelrabatt bis 25 %`,"bundles.benefit.2.title":`Exklusive Bundle-Deals`,"bundles.benefit.3.title":`Frühzugang & Neuheiten`,"bundles.joinCta":`Mitglied werden`,"bundles.card.priceLabel":`Verkaufspreis`,"bundles.card.memberPrefix":`Mitglieder:`,"bundles.card.moreItems":`weitere`,"ds.bundles.carousel.label":`Bundle-Karussell`,"ds.bundles.carousel.prev":`Vorheriges Bundle`,"ds.bundles.carousel.next":`Nächstes Bundle`,"ds.bundles.carousel.goToSlide":`Zu Bundle`,"ds.bundleCard.title":`Bundle-Karte`,"ds.bundleCard.description":`Zusammengesetzte Karte für kuratierte Produktpakete. Medien mit optionalem Badge, Nutzungs-Label, Titel, bis zu drei Artikeln, Preisblock (inkl. Mitgliederpreis) und Primär-CTA. Zwei Layouts — vertikal für Raster, horizontal für Karussell-Slides von md aufwärts.`,"ds.bundles.title":`Bundles-Sektion`,"ds.bundles.description":`Kompound-Sektion mit fixer Sidebar (Headline + drei Vorteile + Mitglieder-CTA) und einem Scroll-Snap-Karussell mit horizontalen Bundle-Karten von md aufwärts. Tastatur und Touch-Swipe funktionieren out of the box; die Pfeile loopen am Ende zurück zum Anfang.`,"ds.revitalization.title":`Revitalization Center`,"ds.revitalization.description":`Zentrierte Feature-Teaser-Sektion auf Markengrün. Eyebrow-Badge, Display-Headline mit italic-Highlight, Unterzeile, bis zu drei Pillar-Punkte mit Akzent-Dots und ein einzelner CTA. Gedacht für „Demnächst"-Ankündigungen.`,"ds.about.title":`About / Geschichte`,"ds.about.description":`Zentrierte Intro-Zone plus drei Meilenstein-Karten in den drei Flächentönen (Papier / Creme / Marke) von links nach rechts. Fortlaufende Tonabfolge gibt der Zeitachse visuelle Progression.`,"revit.eyebrow":`Demnächst`,"revit.headline.a":`Revitalization`,"revit.headline.em":`Center`,"revit.sub":`Ein eigenes Wissens-Universum für NaHCO₃ Wissenschaft, Therapiekonzepte und professionelle Anwendungsguides. Mehr als ein Shop.`,"revit.feature.1.title":`Wissenschaft`,"revit.feature.2.title":`Therapie`,"revit.feature.3.title":`Natürlich heilen`,"revit.notifyCta":`Early Access sichern`,"about.eyebrow":`Geschichte & Wissenschaft`,"about.headline":`Über Kaiser-Natron®`,"about.sub":`Mehr als 140 Jahre Tradition, Reinheit und die Wissenschaft hinter dem Unterschied.`,"about.milestone.1.year":`1881`,"about.milestone.1.title":`Die Gründung`,"about.milestone.1.text":`Arnold Holste gründet in Bielefeld das Unternehmen, das Kaiser-Natron® zur Welt bringt reines Natriumhydrogencarbonat in Lebensmittelqualität, zu einer Zeit, als Chemie noch Handwerk war.`,"about.milestone.2.year":`Früh 1900er`,"about.milestone.2.title":`Die Ikone entsteht`,"about.milestone.2.text":`Kaiser-Natron® wird zum Haushalts-Klassiker im deutschsprachigen Raum. Großmütter schwören auf seine universelle Kraft vom Backen bis zum Reinigen.`,"about.milestone.3.year":`Heute`,"about.milestone.3.title":`Premium-Standard E500(ii)`,"about.milestone.3.text":`Kaiser-Natron® trägt die Lebensmittelzulassung E500(ii) extra gereinigt, standardisiert und chargenweise geprüft. Das Original bleibt unverändert gut.`,"ds.search.title":`Produktsuche`,"ds.search.description":`Suchknopf rechts in der Navbar (links der Sprachwahl) und links unten als Floating-Button auf dem Telefon. Klick öffnet ein Full-Screen-Overlay auf Mobilgeräten bzw. ein zentriertes Panel auf dem Desktop. Eingabefeld ist autofokussiert, Ergebnisliste aktualisiert sich beim Tippen, Pfeiltasten / Enter / Esc werden unterstützt.`,"ds.search.demo.label":`Demo öffnen`,"ds.search.demo.hint":`Probiere „Natron", „Pulver", „Entkalker" oder „Spray".`,"ds.navbar.title":`Navigation`,"ds.navbar.description":`Logo + Nav + Warenkorb, in drei Flächentönen. Auf Mobilgeräten behält die obere Leiste das Logo, Menü + Warenkorb wechseln in ein ergonomisches bodennahes rechtes Floating-Cluster. Das Menü öffnet ein vollflächiges markengrünes Overlay.`,"ds.navbar.tone":`Navigation-Ton`,"ds.navbar.tone.paper":`Papier`,"ds.navbar.tone.cream":`Creme`,"ds.navbar.tone.brand":`Marke`,"ds.navbar.layout":`Layout`,"ds.navbar.layout.standard":`Standard`,"ds.navbar.layout.floating":`Schwebend`,"ds.language.title":`Sprachwahl`,"ds.language.description":`Kompakte Pille zum Umschalten zwischen DE, AT und EN. Zwei Töne — Papier für helle Flächen, Marke für das Markengrün — plus ein schwebender Modus, der sich oben rechts an die Ecke heftet.`,"ds.language.paperNote":`Standardton für helle UI-Flächen wie Karten oder Toolbars.`,"ds.language.creamNote":`Stärkerer Rahmen, damit die Pille auf warmen Cremflächen Definition behält.`,"ds.language.brandNote":`Für Einsätze auf dem Markengrün — z. B. im mobilen Menü-Overlay.`,"ds.language.floating":`Schwebend`,"ds.language.floatingNote":"Mit dem Prop `floating` dockt die Pille rechts oben im Viewport an (24px Abstand). Genau so wird sie im Design-System oben rechts eingesetzt.","ds.qtyStepper.title":`Mengenwähler`,"ds.qtyStepper.description":"Kompaktes Plus/Minus-Steuerelement zur Auswahl einer Menge. Pillenförmig, passend zu Buttons und Input-Rahmen, erbt Ton und Radius aus den Tokens. Unterstützt `min`/`max`-Grenzen und einen deaktivierten Zustand.","ds.qtyStepper.minBoundary":`Untergrenze`,"ds.qtyStepper.maxBoundary":`Obergrenze`,"ds.cartDrawer.title":`Warenkorb-Panel`,"ds.cartDrawer.description":`Seitlich einfahrendes Panel auf Creme-Fläche. Zeigt die Positionen mit Bild, Größe, Mengen-Stepper und Zeilensumme; darunter Zwischensumme und ein breiter Zur-Kasse-Button. Auf Mobilgeräten nimmt das Panel die volle Breite ein, ab 440 px fixiert es rechts an. Scroll-Lock, ESC zum Schließen, Klick auf den Hintergrund schließt ebenfalls.`,"ds.cartDrawer.demoLabel":`Warenkorb befüllen & öffnen`,"ds.cartDrawer.demoHint":`Legt zwei Beispielartikel an und öffnet das Panel.`,"ds.cartDrawer.integrationTitle":`Backend-Integration`,"ds.cartDrawer.integrationBody":"Die Komponente kennt kein Backend direkt sie emittiert `update-quantity`, `remove` und `checkout`. Ihr Zustand kommt aus dem API-Layer in `src/api/cart.js`, der heute lokal arbeitet und später 1:1 auf die dokumentierten Endpunkte (siehe `docs/api/cart.md`) umgestellt wird, ohne dass oben etwas anzupassen ist.","footer.tagline":`Das Original aus Österreich. Reines Natron für Küche, Haushalt und Pflege seit Generationen.`,"footer.explore.heading":`Entdecken`,"footer.explore.shop":`Shop`,"footer.explore.pflege":`Pflege`,"footer.explore.haushalt":`Haushalt`,"footer.explore.bundles":`Bundles`,"footer.explore.about":`Über uns`,"footer.legal.heading":`Rechtliches`,"footer.legal.label":`Rechtliche Hinweise`,"footer.legal.impressum":`Impressum`,"footer.legal.datenschutz":`Datenschutz`,"footer.copyright":`Kaiser-Natron® · Alle Rechte vorbehalten.`,"footer.madeIn":`In Österreich abgefüllt.`,"legal.impressum.eyebrow":`Anbieterkennzeichnung`,"legal.impressum.title":`Impressum`,"legal.impressum.updated":`Stand: Mai 2026`,"legal.impressum.section.operator.heading":`Medieninhaber & Diensteanbieter`,"legal.impressum.section.operator.body":`Holste GmbH
Musterstraße 1
1010 Wien, Österreich
Geschäftsführung: [Name der Geschäftsführung]`,"legal.impressum.section.contact.heading":`Kontakt`,"legal.impressum.section.contact.body":`Telefon: +43 (0) 1 000 00 00
E-Mail: kontakt@kaiser-natron.at
Web: https://kaiser-natron.at`,"legal.impressum.section.register.heading":`Firmenbuch`,"legal.impressum.section.register.body":`Firmenbuchnummer: FN 000000a
Firmenbuchgericht: Handelsgericht Wien`,"legal.impressum.section.vat.heading":`UID-Nummer`,"legal.impressum.section.vat.body":`UID: ATU00000000
GISA-Zahl: 00000000`,"legal.impressum.section.authority.heading":`Aufsichtsbehörde & Gewerbeordnung`,"legal.impressum.section.authority.body":`Zuständige Aufsichtsbehörde: Magistratisches Bezirksamt Wien
Kammer: Wirtschaftskammer Wien
Anwendbare Rechtsvorschrift: Gewerbeordnung (www.ris.bka.gv.at)`,"legal.impressum.section.liability.heading":`Haftung für Inhalte und Links`,"legal.impressum.section.liability.body":`Die Inhalte dieser Website werden mit größtmöglicher Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Für Inhalte externer Links sind ausschließlich deren Betreiber verantwortlich.`,"legal.impressum.section.copyright.heading":`Urheberrecht`,"legal.impressum.section.copyright.body":`Sämtliche Inhalte (Texte, Bilder, Grafiken, Logos) auf dieser Website unterliegen dem Urheberrecht. Vervielfältigung, Bearbeitung oder Verbreitung außerhalb der gesetzlichen Schranken bedürfen der vorherigen schriftlichen Zustimmung der Holste GmbH.`,"legal.datenschutz.eyebrow":`Datenschutzerklärung`,"legal.datenschutz.title":`Datenschutz`,"legal.datenschutz.updated":`Stand: Mai 2026`,"legal.datenschutz.section.controller.heading":`Verantwortlicher`,"legal.datenschutz.section.controller.body":`Verantwortlich im Sinne der DSGVO und des österreichischen Datenschutzgesetzes ist die Holste GmbH, Musterstraße 1, 1010 Wien. Anfragen rund um den Datenschutz richten Sie bitte an datenschutz@kaiser-natron.at.`,"legal.datenschutz.section.scope.heading":`Geltungsbereich`,"legal.datenschutz.section.scope.body":`Diese Erklärung gilt für die Website kaiser-natron.at sowie alle damit verbundenen Online-Angebote, einschließlich des Bestell- und Kassenprozesses. Für externe Dienste, auf die wir verlinken, gelten ausschließlich deren eigene Datenschutzbestimmungen.`,"legal.datenschutz.section.legalBasis.heading":`Rechtsgrundlagen`,"legal.datenschutz.section.legalBasis.body":`Wir verarbeiten personenbezogene Daten auf Grundlage von Art. 6 Abs. 1 DSGVO insbesondere zur Vertragserfüllung (lit. b), zur Erfüllung rechtlicher Pflichten (lit. c) sowie auf Basis Ihrer Einwilligung (lit. a). Marketingbezogene Verarbeitungen erfolgen ausschließlich nach Opt-in.`,"legal.datenschutz.section.data.heading":`Welche Daten wir verarbeiten`,"legal.datenschutz.section.data.body":`Im Rahmen einer Bestellung erheben wir die für Vertragsabschluss und Versand notwendigen Daten: Name, Anschrift, E-Mail, optional Telefon. Bei einem Kundenkonto zusätzlich Ihre Zugangsdaten in verschlüsselter Form. Beim Aufruf der Website werden technisch erforderliche Server-Logs (IP, User-Agent, Zeitpunkt) für maximal sieben Tage gespeichert.`,"legal.datenschutz.section.cookies.heading":`Cookies`,"legal.datenschutz.section.cookies.body":`Wir setzen ausschließlich technisch notwendige Cookies (Sprachwahl, Warenkorb, Sitzung). Tracking- oder Marketing-Cookies werden nur nach ausdrücklicher Einwilligung über das Cookie-Banner geladen.`,"legal.datenschutz.section.analytics.heading":`Reichweitenmessung`,"legal.datenschutz.section.analytics.body":`Sofern aktiviert, verwenden wir eine selbst gehostete, anonymisierte Reichweitenmessung ohne Drittland-Übermittlung. IP-Adressen werden gekürzt; es werden keine Profile gebildet, die Sie persönlich identifizieren.`,"legal.datenschutz.section.payments.heading":`Zahlungsabwicklung`,"legal.datenschutz.section.payments.body":`Bezahlungen werden über den Zahlungsdienstleister Stripe (Stripe Payments Europe, Limited, Irland) abgewickelt. Dabei werden Zahlungsdaten direkt an Stripe übertragen; wir erhalten lediglich Zahlungsstatus und Transaktions-ID. Details siehe stripe.com/at/privacy.`,"legal.datenschutz.section.rights.heading":`Ihre Rechte`,"legal.datenschutz.section.rights.body":`Sie haben jederzeit das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit sowie Widerspruch. Eine erteilte Einwilligung können Sie jederzeit ohne Angabe von Gründen widerrufen. Beschwerden können Sie bei der österreichischen Datenschutzbehörde (dsb.gv.at) einreichen.`,"legal.datenschutz.section.retention.heading":`Speicherdauer`,"legal.datenschutz.section.retention.body":`Bestelldaten werden gemäß § 132 BAO sieben Jahre aufbewahrt. Marketing-Einwilligungen werden bis zum Widerruf, technische Logs maximal sieben Tage gespeichert.`,"legal.datenschutz.section.contact.heading":`Kontakt für Datenschutzanfragen`,"legal.datenschutz.section.contact.body":`Für alle Anliegen rund um den Datenschutz erreichen Sie uns unter datenschutz@kaiser-natron.at oder postalisch an die im Impressum angegebene Adresse.`,"category.pflege.eyebrow":`Pflege & Wohlbefinden`,"category.pflege.title.a":`Baden, pflegen,`,"category.pflege.title.em":`durchatmen.`,"category.pflege.sub":`Bade- und Pflegeprodukte rund um Kaiser-Natron® — abgestimmt auf Alltag, Sport und entspannte Stunden.`,"category.pflege.products.headline":`Sortiment für`,"category.pflege.products.headline.em":`Körper & Pflege`,"category.pflege.products.sub":`Vom basischen Vollbad bis zum Fußbad mit Latschenkiefer — alles auf Basis des Originals.`,"category.pflege.benefits.eyebrow":`Warum Natron pflegt`,"category.pflege.benefits.headline":`Mild, basisch,`,"category.pflege.benefits.headline.em":`hautverträglich.`,"category.pflege.benefit.1.title":`Säure-Basen-Balance`,"category.pflege.benefit.1.text":`Natron im Badewasser unterstützt das natürliche Hautgleichgewicht und neutralisiert überschüssige Säuren wohltuend nach Sport und langen Tagen.`,"category.pflege.benefit.2.title":`Ohne Reizstoffe`,"category.pflege.benefit.2.text":`Reines Natriumhydrogencarbonat statt aggressiver Tenside. Frei von Mikroplastik und Konservierungsstoffen, dermatologisch bestätigt.`,"category.pflege.benefit.3.title":`Vielseitig im Alltag`,"category.pflege.benefit.3.text":`Vollbad, Fußbad, Peeling, Deo: ein Rohstoff, viele kleine Pflege-Rituale — auch für empfindliche Haut.`,"category.pflege.cta.headline":`Mehr entdecken im`,"category.pflege.cta.headline.em":`gesamten Shop.`,"category.pflege.cta.sub":`Reinigung, Wäsche, Küche das ganze Sortiment auf einen Blick.`,"category.pflege.cta.button":`Zum Shop`,"category.haushalt.eyebrow":`Haushalt & Reinigung`,"category.haushalt.title.a":`Schrubben, waschen,`,"category.haushalt.title.em":`alles sauber.`,"category.haushalt.sub":`Natron-basierte Reiniger und Waschhelfer, die auch bei hartnäckigem Schmutz überzeugen — ohne unnötige Chemie.`,"category.haushalt.products.headline":`Sortiment für`,"category.haushalt.products.headline.em":`Haushalt & Wäsche`,"category.haushalt.products.sub":`Allzweck, Spülmittel, Wasch-Soda und mehr — vom feinen Reiniger bis zum kraftvollen Entkalker.`,"category.haushalt.benefits.eyebrow":`Warum Natron reinigt`,"category.haushalt.benefits.headline":`Wirksam, ehrlich,`,"category.haushalt.benefits.headline.em":`naturnah.`,"category.haushalt.benefit.1.title":`Geruchsneutralisierung`,"category.haushalt.benefit.1.text":`Natron bindet Säuren statt sie zu überdecken — Küche, Kühlschrank und Wäsche werden tatsächlich neutral, nicht nur überparfümiert.`,"category.haushalt.benefit.2.title":`Schonend zu Oberflächen`,"category.haushalt.benefit.2.text":`Mild abrasiv, nicht aggressiv: löst Fett und Verkrustungen, ohne Glas, Edelstahl oder Emaille anzugreifen.`,"category.haushalt.benefit.3.title":`Ohne Mikroplastik`,"category.haushalt.benefit.3.text":`Unsere Reiniger arbeiten mit pflanzlichen Tensiden und natürlichen Düften — frei von Mikroplastik und unnötigen Konservierern.`,"category.haushalt.cta.headline":`Auch für Pflege &`,"category.haushalt.cta.headline.em":`Küche im Shop.`,"category.haushalt.cta.sub":`Bade- und Küchenartikel, Bundles und mehr — alles auf einer Seite.`,"category.haushalt.cta.button":`Zum Shop`,"checkout.stepper.label":`Kassenfortschritt`,"checkout.step.cart":`Warenkorb`,"checkout.step.account":`Konto`,"checkout.step.shipping":`Versand`,"checkout.step.payment":`Bezahlung`,"checkout.back":`Zurück`,"checkout.exit":`Verlassen`,"checkout.backToShopping":`Zurück zum Shop`,"checkout.home":`Startseite`,"checkout.cta.review":`Weiter`,"checkout.cart.heading":`Dein Warenkorb`,"checkout.cart.title":`Warenkorb`,"checkout.cart.itemsLabel":`Artikel`,"checkout.cart.perItem":`pro Stück`,"checkout.cart.shipping":`Versand`,"checkout.cart.total":`Gesamt`,"checkout.cart.cta.shop":`Zum Shop`,"checkout.cart.cta.continueShopping":`← Weiter einkaufen`,"checkout.cart.cta.continue":`Weiter`,"checkout.account.heading":`Konto & Kontakt`,"checkout.account.sub":`Als Gast bestellen oder mit deinem Konto fortfahren ganz wie es dir lieber ist.`,"checkout.account.tabsLabel":`Konto-Optionen`,"checkout.account.tab.guest":`Als Gast`,"checkout.account.tab.signin":`Anmelden`,"checkout.account.tab.register":`Konto erstellen`,"checkout.account.forgot":`Passwort vergessen?`,"checkout.account.cta.continue":`Weiter`,"checkout.shipping.sub":`Wohin sollen wir liefern? Du kannst die Rechnungsadresse später separat angeben.`,"checkout.billing.sub":`Falls die Rechnung an eine andere Adresse gehen soll, hier deaktivieren.`,"checkout.shipping.cta.continue":`Weiter`,"checkout.payment.sub":`Mit Apple Pay, Google Pay oder per Karte alles über Stripe abgewickelt.`,"checkout.section.card":`Mit Karte bezahlen`,"checkout.field.firstName":`Vorname`,"checkout.field.lastName":`Nachname`,"checkout.field.password":`Passwort`,"checkout.field.passwordConfirm":`Passwort bestätigen`,"checkout.field.salutation":`Anrede`,"checkout.field.salutation.placeholder":`Bitte auswählen`,"checkout.field.salutation.frau":`Frau`,"checkout.field.salutation.herr":`Herr`,"checkout.field.salutation.divers":`Divers`,"checkout.hint.password":`Mindestens 8 Zeichen.`,"checkout.error.passwordMismatch":`Die Passwörter stimmen nicht überein.`,"checkout.error.addressIncomplete":`Bitte fülle alle Pflichtfelder der Adresse aus.`,"auth.login.eyebrow":`Wieder da`,"auth.login.title":`Anmelden`,"auth.login.sub":`Mit deinem Kaiser-Natron® Konto fortfahren.`,"auth.login.cta":`Anmelden`,"auth.login.forgot":`Passwort vergessen?`,"auth.login.newCustomer":`Neu hier?`,"auth.login.cta.register":`Konto erstellen`,"auth.reset.title":`Passwort zurücksetzen`,"auth.reset.sub":`Wir schicken dir einen sicheren Link an deine E-Mail-Adresse.`,"auth.reset.cta":`Link anfordern`,"auth.reset.back":`← Zurück zur Anmeldung`,"auth.reset.sent.title":`Mail unterwegs`,"auth.reset.sent.body":`Wenn ein Konto zu dieser Adresse existiert, findest du den Link in deinem Postfach.`,"auth.register.eyebrow":`Konto erstellen`,"auth.register.title":`Willkommen`,"auth.register.sub":`Mit einem Konto siehst du Bestellverlauf, Adressen und exklusive Bundle-Angebote.`,"auth.register.cta":`Konto erstellen`,"auth.register.haveAccount":`Schon ein Konto?`,"auth.register.cta.signIn":`Anmelden`,"auth.register.terms.before":`Ich habe die`,"auth.register.terms.link":`AGB & Datenschutzerklärung`,"auth.register.terms.after":`gelesen und akzeptiere sie.`},r={"cart.open":`Einkaufstasche öffnen`,"cart.label":`Einkaufstasche`,"cart.empty.title":`Deine Einkaufstasche ist leer`,"cart.empty.subtitle":`Leg Produkte aus dem Shop dazu sie erscheinen gleich hier.`,"cart.added":`Zur Einkaufstasche dazugelegt`,"ds.buttons.addToCart":`In die Einkaufstasche`,"ds.buttons.continueShopping":`Weiter einkaufen gehen`,"ds.buttons.save":`Vormerken`,"ds.cartDrawer.title":`Einkaufstasche-Panel`,"ds.sidebar.back":`← Retour zur Seite`},i={"nav.shop":`Shop`,"nav.cook":`Cook`,"nav.clean":`Clean`,"nav.care":`Care`,"nav.applications":`Uses`,"nav.bundles":`Bundles`,"nav.revitalization":`Revitalisation`,"nav.about":`About`,"nav.contact":`Contact`,"shop.eyebrow":`Our range`,"shop.headline":`Kaiser Natron`,"shop.headline.em":`for every corner`,"shop.sub":`From cooking to cleaning to care — three collections, one ingredient.`,"shop.section.cook.headline":`Bake, cook,`,"shop.section.cook.headline.em":`digest well.`,"shop.section.cook.sub":`Powders and tablets — the quiet foundation under bread, cakes and good digestion.`,"shop.section.clean.headline":`Scrub, wash,`,"shop.section.clean.headline.em":`all clean.`,"shop.section.clean.sub":`Natron-based cleaners and laundry helpers that hold up against stubborn grime.`,"shop.section.care.headline":`Bathe, soften,`,"shop.section.care.headline.em":`breathe easy.`,"shop.section.care.sub":`Bath and care products tuned for daily life and sport.`,"shop.feature.cook":`For the kitchen`,"shop.feature.clean":`For the home`,"shop.feature.care":`For body & care`,"shop.feature.cta.cook":`Shop kitchen`,"shop.feature.cta.clean":`Shop home`,"shop.feature.cta.care":`Shop care`,"product.back":`Back to shop`,"product.backHome":`Back home`,"product.backGeneric":`Back`,"product.addToCart":`Add to cart`,"product.outOfStock":`Out of stock`,"product.applications.title":`Uses`,"product.applications.sub":`From baking to cleaning — the everyday range of Kaiser-Natron®.`,"product.about.title":`About this product`,"product.ingredients.title":`Ingredients`,"product.warnings.title":`Notes`,"product.faq.title":`Frequently asked`,"product.related.title":`Also worth a look`,"product.related.sub":`Products from the same category that pair well together.`,"product.notFound.title":`Product not found`,"product.notFound.sub":`This page does not exist or the product is no longer available.`,"product.notFound.cta":`Back to shop`,"product.prop.vegan":`Vegan`,"product.prop.glutenfrei":`Gluten-free`,"product.prop.laktosefrei":`Lactose-free`,"product.prop.neutralisiert-saeuren":`Neutralises acids`,"product.prop.enthaertet":`Softens water`,"product.prop.mild-alkalisch":`Mildly alkaline`,"product.prop.bio":`Organic`,"product.prop.made-in-austria":`Bottled in Austria`,"product.prop.fuer-kueche-und-haushalt":`For kitchen & home`,"product.prop.fuer-boeden-und-oberflaechen":`For floors & surfaces`,"product.prop.frei-von-mikroplastik":`Microplastic-free`,"product.prop.frei-von-tierischen-substanzen":`No animal-derived substances`,"product.prop.hautvertraeglich-dermatologisch-bestaetigt":`Skin-friendly, dermatologically tested`,"product.prop.hygienische-sauberkeit":`Hygienic clean`,"product.prop.mit-entspannendem-apfelsinenduft":`With relaxing orange scent`,"product.prop.mit-dem-duft-der-latschenkiefer":`With mountain-pine scent`,"product.prop.mit-natuerlicher-seife":`With natural soap`,"product.prop.mit-pampelmusenduft":`With pomelo scent`,"product.prop.mit-pflegendem-lanolin":`With nourishing lanolin`,"product.prop.nachhaltig-durch-tenside-nachwachsenden-ursprungs":`Sustainable plant-based surfactants`,"product.prop.ohne-konservierungsstoffe":`No preservatives`,"product.prop.ohne-mineraloel":`Mineral-oil free`,"product.prop.wohltuend-und-erfrischend":`Soothing & refreshing`,"cart.open":`Open cart`,"cart.label":`Cart`,"cart.subtotal":`Subtotal`,"cart.checkout":`Checkout`,"cart.remove":`Remove`,"cart.qty.increase":`Increase quantity`,"cart.qty.decrease":`Decrease quantity`,"cart.empty.title":`Your cart is empty`,"cart.empty.subtitle":`Add products from the shop — they will appear right here.`,"cart.added":`Added to cart`,"menu.open":`Open menu`,"menu.close":`Close menu`,"language.label":`Language`,"search.open":`Open search`,"search.label":`Search products`,"search.placeholder":`Search products…`,"search.clear":`Clear`,"search.results":`Search results`,"search.noResults":`No products found`,"search.noResultsHint":`Try a different spelling or a broader term.`,"search.emptyHint":`Type to find products — e.g. "Natron powder" or "descaler".`,"search.suggested":`Suggested`,"search.hint.navigate":`Navigate`,"search.hint.select":`Select`,"search.hint.close":`Close`,"ds.sidebar.brand":`Brand`,"ds.sidebar.tokens":`Tokens`,"ds.sidebar.components":`Components`,"ds.sidebar.sections":`Sections`,"ds.sidebar.back":`← Back to site`,"ds.mobile.currentPage":`Current page`,"ds.mobile.selectPage":`Select a page`,"ds.nav.logo":`Logo`,"ds.nav.colors":`Colors`,"ds.nav.typography":`Typography`,"ds.nav.radii":`Radii`,"ds.nav.shadows":`Shadows`,"ds.nav.motion":`Motion`,"ds.nav.icons":`Icons`,"ds.nav.buttons":`Buttons`,"ds.nav.badges":`Badges`,"ds.nav.inputs":`Inputs`,"ds.nav.cards":`Cards`,"ds.nav.products":`Product cards`,"ds.nav.bundleCard":`Bundle card`,"ds.nav.hero":`Hero`,"ds.nav.navbar":`Navbar`,"ds.nav.search":`Search`,"ds.nav.qtyStepper":`Quantity stepper`,"ds.nav.cartDrawer":`Cart`,"ds.nav.language":`Language`,"ds.nav.bundles":`Bundles section`,"ds.nav.revitalization":`Revitalization`,"ds.nav.about":`About`,"ds.search.title":`Search`,"ds.search.description":`Full-text search across the product catalog with image previews. Full-screen overlay on mobile, centered command palette on desktop. Keyboard-navigable and brand-green by default.`,"ds.search.label":`Search products`,"ds.search.placeholder":`Search products…`,"ds.search.noResults":`No products found.`,"ds.search.suggested":`Suggestions`,"ds.search.results":`Results`,"ds.search.open":`Open search`,"ds.search.picked":`Picked`,"ds.search.tryHint":`Try: "natron", "limescale", "laundry", or "bath".`,"ds.search.integrationHint":`Search queries the catalog exported from the project API layer (src/api/). When the real backend lands, the component signature stays the same.`,"ds.search.hint.navigate":`Navigate`,"ds.search.hint.select":`Select`,"ds.search.hint.close":`Close`,"ds.eyebrow.brand":`Brand`,"ds.eyebrow.tokens":`Tokens`,"ds.eyebrow.components":`Components`,"ds.eyebrow.designSystem":`Design system`,"ds.heading.variants":`Variants`,"ds.heading.sizes":`Sizes`,"ds.heading.states":`States`,"ds.heading.withIcons":`With icons`,"ds.heading.onBrandSurface":`On brand surface`,"ds.heading.block":`Block`,"ds.heading.usage":`Usage`,"ds.heading.default":`Default`,"ds.heading.tones":`Tones`,"ds.heading.interactive":`Interactive`,"ds.heading.withoutPadding":`Without padding`,"ds.heading.scale":`Scale`,"ds.heading.display":`Display`,"ds.heading.body":`Body`,"ds.heading.nonUppercase":`Non-uppercase`,"ds.heading.onDifferentSurfaces":`On different surfaces`,"ds.heading.greenOnPaper":`Green on paper`,"ds.heading.creamOnBrand":`Cream on brand green`,"ds.logo.title":`Logo`,"ds.logo.description":"A single SVG component that inherits its fill from CSS `color`. Use the green wordmark on light surfaces and the cream wordmark on the brand green.","ds.logo.usageIntro":`Use color utilities to set the fill:`,"ds.colors.title":`Colors`,"ds.colors.description":`Pine green on cream, with a warm yellow accent. All UI color flows from these tokens — never hand-pick values in components.`,"ds.colors.group.brand":`Brand`,"ds.colors.group.accent":`Accent`,"ds.colors.group.surface":`Surface`,"ds.colors.group.ink":`Ink`,"ds.colors.group.line":`Line`,"ds.colors.group.semantic":`Semantic`,"ds.typography.title":`Typography`,"ds.typography.description":`Fraunces for display — warm, organic, optical-sized. DM Sans for body and UI — clean and geometric.`,"ds.typography.serifDesc":`Serif with optical sizing. Use for hero, section titles, product names.`,"ds.typography.sansDesc":`Clean geometric sans. Use for body, UI, navigation, labels.`,"ds.typography.sample":`The quick brown fox`,"ds.radii.title":`Radii`,"ds.radii.description":`From subtle 6px rounding on small elements to full pills on buttons. Matches the reference site's soft, organic feel.`,"ds.shadows.title":`Shadows`,"ds.shadows.description":`All shadows are tinted green rather than neutral black — they feel warm and part of the palette.`,"ds.shadows.sm.note":`Subtle — nav on scroll, resting cards`,"ds.shadows.md.note":`Medium — primary button hover`,"ds.shadows.lg.note":`Large — floating cards, overlays`,"ds.motion.title":`Motion`,"ds.motion.description":`Motion serves comprehension, not decoration. Three UI durations plus one scenic loop, one default curve, and a clear rule for reduced-motion users.`,"ds.motion.philosophy.title":`Philosophy`,"ds.motion.principle.purpose":`Only animate when it teaches hierarchy, state, or continuity. Decorative motion gets cut.`,"ds.motion.principle.cadence":`Three durations, one curve: 120ms for state, 200ms for UI transitions, 320ms for larger reveals. --ease-out is the default — arrivals feel settled, not snappy.`,"ds.motion.principle.scenic":`Scenic loops (orbit, soft pulses) run linear over 1020s. Long enough to read as atmosphere, never as a ticking clock.`,"ds.motion.principle.reduced":`prefers-reduced-motion is always honoured. Freeze loops, collapse transitions — never punish a user for opting out.`,"ds.motion.durations.title":`Durations`,"ds.motion.duration.fast.note":`State — hover, focus, press.`,"ds.motion.duration.base.note":`Standard UI — colour change, open/close.`,"ds.motion.duration.slow.note":`Larger reveals — drawer, overlays, cards.`,"ds.motion.duration.scene.note":`Scenic changes — full section, route transitions.`,"ds.motion.duration.orbit.note":`Ambient loops — orbit rings, soft pulses.`,"ds.motion.easings.title":`Easings`,"ds.motion.ease.out.note":`Default. Arrivals land softly.`,"ds.motion.ease.inOut.note":`Only when an element must come and go.`,"ds.motion.ease.linear.note":`For mechanical loops — orbit, spinners.`,"ds.motion.animations.title":`Named animations`,"ds.motion.animate.orbit.note":`Ring rotates around a centered icon. Used in the Revitalization section.`,"ds.motion.animate.fadeInUp.note":`Fade with an 8px rise — for entrance moments.`,"ds.motion.animate.pulseSoft.note":`Quiet opacity pulse — for live indicators.`,"ds.motion.reduced.title":`Reduced motion`,"ds.motion.reduced.body":`Global rule in motion.css: under prefers-reduced-motion: reduce, all animation and transition durations collapse to ~0ms. Components do not need their own switch.`,"ds.motion.replay":`Replay`,"ds.motion.fadePreview":`Fade in`,"ds.icons.title":`Icons`,"ds.icons.description":`A curated stroke-based icon set on a 24x24 grid. Rendered via the Icon component — inherits color from currentColor.`,"ds.icons.search":`Search icons…`,"ds.icons.copyHint":`Click a tile to copy its snippet.`,"ds.icons.copied":`Copied!`,"ds.icons.noMatch":`No icons match`,"ds.icons.sizeDefault":`20 (default)`,"ds.icons.addHint":`Add new icons in %s. Use a 24×24 viewBox, stroke-based paths, no fills — the component handles color via %s. Pass %s for screen readers; omit it for decorative icons.`,"ds.icons.group.commerce":`Commerce`,"ds.icons.group.navigation":`Navigation`,"ds.icons.group.actions":`Actions`,"ds.icons.group.contact":`Contact`,"ds.icons.group.feedback":`Feedback`,"ds.icons.group.devices":`Devices`,"ds.buttons.title":`Buttons`,"ds.buttons.description":`Pill-shaped. Pine-green primary with warm-yellow label for the main call to action, warm-yellow accent on brand surfaces, plus secondary, ghost, and danger variants.`,"ds.buttons.primary":`Primary`,"ds.buttons.accent":`Accent`,"ds.buttons.secondary":`Secondary`,"ds.buttons.ghost":`Ghost`,"ds.buttons.danger":`Danger`,"ds.buttons.small":`Small`,"ds.buttons.medium":`Medium`,"ds.buttons.large":`Large`,"ds.buttons.disabled":`Disabled`,"ds.buttons.loading":`Loading`,"ds.buttons.addToCart":`Add to cart`,"ds.buttons.learnMore":`Learn more`,"ds.buttons.save":`Save`,"ds.buttons.confirm":`Confirm`,"ds.buttons.continueShopping":`Continue shopping`,"ds.badges.title":`Badges`,"ds.badges.description":`Small uppercase labels for metadata, status, and eyebrows above headings.`,"ds.badges.neutral":`Neutral`,"ds.badges.brand":`Brand`,"ds.badges.accent":`Accent`,"ds.badges.subtle":`Subtle`,"ds.badges.success":`Success`,"ds.badges.warning":`Warning`,"ds.badges.danger":`Danger`,"ds.badges.newRelease":`New release`,"ds.badges.featured":`Featured`,"ds.inputs.title":`Inputs`,"ds.inputs.description":`Paper surface with a thin green-tinted border. Uppercase eyebrow labels. Focus deepens the border to brand green.`,"ds.inputs.email":`Email`,"ds.inputs.emailHint":`We never share this.`,"ds.inputs.password":`Password`,"ds.inputs.required":`Required field`,"ds.inputs.requiredError":`This field is required`,"ds.inputs.disabled":`Disabled`,"ds.inputs.disabledPlaceholder":`Can't type here`,"ds.cards.title":`Cards`,"ds.cards.description":`Surfaces for grouping content. Three tones — paper, cream, brand — and an optional interactive lift on hover.`,"ds.cards.paper":`Paper`,"ds.cards.cream":`Cream`,"ds.cards.brand":`Brand`,"ds.cards.paperTitle":`Default surface`,"ds.cards.paperBody":`The go-to card for most content. High contrast on the cream page background.`,"ds.cards.creamTitle":`Warm surface`,"ds.cards.creamBody":`A softer alternative for secondary sections or callouts.`,"ds.cards.brandTitle":`Dark surface`,"ds.cards.brandBody":`For feature panels, CTAs, and moments that want to stand out.`,"ds.cards.hoverMe":`Hover me`,"ds.cards.hoverMeToo":`Hover me too`,"ds.cards.hoverBody":`Lifts on hover with a soft green-tinted shadow. Use for clickable items in a grid.`,"ds.cards.hoverBodyAlt":`Same behavior on the warm surface.`,"ds.cards.mediaTitle":`Media card`,"ds.cards.mediaBody":`When the card needs a full-bleed image or header, pass`,"ds.product.title":`Product card`,"ds.product.description":`Composed from Card, Badge, Button, and Icon. Cutout image on a cream media surface, title + size, price in brand, and a full-width primary "Add to cart".`,"ds.product.outOfStock":`Out of stock`,"ds.product.added":`Added`,"ds.hero.title":`Hero`,"ds.hero.description":`Full-bleed stage for the home page and category tops. Eyebrow, display headline with optional italic emphasis, subheadline, product cutout on a decorative disc, and a primary/secondary CTA pair. Responsive from 390 to 1280px, three surface tones, two layouts.`,"ds.hero.variant.label":`Layout`,"ds.hero.variant.split":`Split`,"ds.hero.variant.centered":`Centered`,"ds.hero.eyebrow":`New in shop`,"ds.hero.headline.a":`Kaiser Natron`,"ds.hero.headline.em":`for everything`,"ds.hero.headline.b":`that should shine.`,"ds.hero.sub":`Cleans, bakes, and neutralises odours. The 250 g large pack for the household that trusts the original.`,"home.banner.eyebrow":`Truly versatile`,"home.banner.headline.a":`One powder,`,"home.banner.headline.em":`a hundred uses`,"home.banner.headline.b":`around the home.`,"home.banner.sub":`From baking to bathing to laundry — Kaiser Natron quietly does its work wherever you need it.`,"home.categories.clean":`Clean`,"home.categories.cook":`Cook`,"home.categories.care":`Care`,"home.brand.headline.a":`Kaiser Natron —`,"home.brand.headline.em":`the premium provider`,"home.brand.headline.b":`for Clean, Cook, Care.`,"home.brand.since":`since 1881`,"home.teaser.eyebrow":`Three classics`,"home.teaser.headline":`One pick from every family.`,"home.teaser.sub":`A flagship for cooking, cleaning and care — three SKUs, one origin.`,"home.teaser.cta":`Shop Kaiser Natron`,"checkout.eyebrow":`Complete your order`,"checkout.headline":`Almost there —`,"checkout.headline.em":`just a few details.`,"checkout.sub":`Address, payment, done. Your data is encrypted in transit and processed to EU privacy standards.`,"checkout.summary.heading":`Your order`,"checkout.section.express":`Express checkout`,"checkout.express.sub":`One tap with Apple Pay or Google Pay`,"checkout.express.or":`or continue with address`,"checkout.express.applePay.aria":`Pay with Apple Pay`,"checkout.express.googlePay.aria":`Pay with Google Pay`,"checkout.section.contact":`Contact`,"checkout.section.shipping":`Shipping address`,"checkout.section.billing":`Billing address`,"checkout.section.payment":`Payment`,"checkout.field.email":`Email`,"checkout.field.marketing":`Email me about offers and news`,"checkout.field.name":`Name`,"checkout.field.company":`Company (optional)`,"checkout.field.street":`Street & house number`,"checkout.field.postal":`Postal code`,"checkout.field.city":`City`,"checkout.field.country":`Country`,"checkout.field.phone":`Phone (optional)`,"checkout.field.billingSame":`Billing same as shipping`,"checkout.placeholder.email":`you@example.com`,"checkout.hint.email":`Order confirmation will be sent here.`,"checkout.hint.phone":`Only for delivery issues — no marketing.`,"checkout.payment.secure":`SSL · Stripe`,"checkout.cta.continue":`Continue to payment`,"checkout.cta.pay":`Pay now`,"checkout.error.empty":`Your cart is empty.`,"checkout.error.payment":`Payment could not be completed.`,"checkout.error.generic":`Something went wrong. Please try again.`,"checkout.success.eyebrow":`Order confirmed`,"checkout.success.headline":`Thank you —`,"checkout.success.headline.em":`your order is on its way.`,"checkout.success.sub":`We've received your payment and started prepping the order. A confirmation will arrive by email shortly.`,"checkout.success.orderId":`Order`,"checkout.success.email":`A confirmation email is on its way to the address you provided.`,"checkout.success.missing":`No order id in the URL — status can't be fetched.`,"checkout.success.cta.shop":`Keep shopping`,"checkout.success.cta.home":`Back to home`,"bundles.headline.a":`Bundles &`,"bundles.headline.em":`Benefits`,"bundles.sub":`Members save with tiered discounts, exclusive bundle deals, and early access to new products.`,"bundles.benefit.1.title":`Tiered discount up to 25%`,"bundles.benefit.2.title":`Exclusive bundle deals`,"bundles.benefit.3.title":`Early access & new releases`,"bundles.joinCta":`Become a member`,"bundles.card.priceLabel":`Retail price`,"bundles.card.memberPrefix":`Members:`,"bundles.card.moreItems":`more`,"ds.bundles.carousel.label":`Bundle carousel`,"ds.bundles.carousel.prev":`Previous bundle`,"ds.bundles.carousel.next":`Next bundle`,"ds.bundles.carousel.goToSlide":`Go to bundle`,"ds.bundleCard.title":`Bundle card`,"ds.bundleCard.description":`Composed card for curated product bundles. Media with optional badge, usage label, title, up to three line items, a price block (retail + member price) and a primary CTA. Two layouts — vertical for grid use and horizontal for carousel slides from md up.`,"ds.bundles.title":`Bundles section`,"ds.bundles.description":`Compound section combining a sticky sidebar (headline + three benefits + member CTA) with a scroll-snap carousel of horizontal bundle cards from md up. Keyboard and touch swipe work natively; the arrow controls loop past the ends.`,"ds.revitalization.title":`Revitalization Center`,"ds.revitalization.description":`Centered feature-teaser section on brand green. Eyebrow badge, display headline with an italic highlight, subheadline, up to three pillar bullets with accent dots and a single CTA. Designed for "coming soon" announcements.`,"ds.about.title":`About / history`,"ds.about.description":`Centered intro plus three milestone cards running the Card primitive's tones left-to-right (paper / cream / brand). The continuous tonal step gives the timeline a clear sense of visual progression.`,"ds.nav.footer":`Footer`,"ds.nav.checkoutStepper":`Checkout stepper`,"ds.footer.title":`Footer`,"ds.footer.description":`Sitewide footer with logo, brand tagline, explore and legal link columns. Three tone variants — cream (default), brand (primary green), paper (lighter accent) — pick the one that contrasts with the page surface above it.`,"ds.footer.tone.cream":`Cream (default)`,"ds.footer.tone.brand":`Brand`,"ds.footer.tone.paper":`Paper`,"ds.checkoutStepper.title":`Checkout stepper`,"ds.checkoutStepper.description":"Horizontal progress indicator for the four-step checkout: Cart → Account → Shipping → Payment. Completed steps render a filled brand circle with a checkmark, the active step is also filled, upcoming steps are subtly outlined. Earlier steps are click-back navigable; forward jumps are gated on each step's `completed` flag.","revit.eyebrow":`Coming soon`,"revit.headline.a":`Revitalization`,"revit.headline.em":`Center`,"revit.sub":`A dedicated knowledge universe for NaHCO₃ — science, therapy concepts, and professional application guides. More than a shop.`,"revit.feature.1.title":`Science`,"revit.feature.2.title":`Therapy`,"revit.feature.3.title":`Natural healing`,"revit.notifyCta":`Get early access`,"about.eyebrow":`History & science`,"about.headline":`About Kaiser-Natron®`,"about.sub":`More than 140 years of tradition, purity, and the science behind the difference.`,"about.milestone.1.year":`1881`,"about.milestone.1.title":`The founding`,"about.milestone.1.text":`Arnold Holste founds the company in Bielefeld that brings Kaiser-Natron® into the world — pure sodium bicarbonate at food grade, at a time when chemistry was still a craft.`,"about.milestone.2.year":`Early 1900s`,"about.milestone.2.title":`The icon emerges`,"about.milestone.2.text":`Kaiser-Natron® becomes a household staple across German-speaking countries. Grandmothers swear by its universal power — from baking to cleaning.`,"about.milestone.3.year":`Today`,"about.milestone.3.title":`Premium E500(ii) standard`,"about.milestone.3.text":`Kaiser-Natron® carries the E500(ii) food-grade approval — extra purified, standardised, and batch-tested. The original, as good as ever.`,"ds.search.title":`Product search`,"ds.search.description":`Search trigger on the right of the navbar (left of the language switcher) and bottom-left as a floating button on mobile. Tapping it opens a full-screen overlay on mobile and a centered panel on desktop. The input auto-focuses, the results list updates as you type, and arrow keys / Enter / Esc are supported.`,"ds.search.demo.label":`Open demo`,"ds.search.demo.hint":`Try "Natron", "pulver", "entkalker" or "spray".`,"ds.navbar.title":`Navbar`,"ds.navbar.description":`Logo + nav + cart, in three surface tones. On mobile, the top bar keeps the logo and the menu + cart move to an ergonomic bottom-right floating cluster. The menu opens a full-screen brand-green overlay.`,"ds.navbar.tone":`Navbar tone`,"ds.navbar.tone.paper":`Paper`,"ds.navbar.tone.cream":`Cream`,"ds.navbar.tone.brand":`Brand`,"ds.navbar.layout":`Layout`,"ds.navbar.layout.standard":`Standard`,"ds.navbar.layout.floating":`Floating`,"ds.language.title":`Language switcher`,"ds.language.description":`Compact pill for switching between DE, AT, and EN. Two tones — paper for light surfaces, brand for the brand-green — plus a floating mode that pins to the top-right corner.`,"ds.language.paperNote":`Default tone for light UI surfaces like cards or toolbars.`,"ds.language.creamNote":`Stronger border so the pill keeps definition on warm cream surfaces.`,"ds.language.brandNote":`For use on the brand green — e.g. inside the mobile menu overlay.`,"ds.language.floating":`Floating`,"ds.language.floatingNote":"The `floating` prop docks the pill to the top-right of the viewport (24px offset). This is the exact placement used by the design system chrome.","ds.qtyStepper.title":`Quantity stepper`,"ds.qtyStepper.description":"Compact plus/minus control for picking a quantity. Pill-shaped to sit next to Buttons and Input borders, inherits tone and radius from tokens. Supports `min`/`max` bounds and a disabled state.","ds.qtyStepper.minBoundary":`At min`,"ds.qtyStepper.maxBoundary":`At max`,"ds.cartDrawer.title":`Cart drawer`,"ds.cartDrawer.description":`A side-drawer that slides in from the right on a cream surface. Lists each line with image, size, quantity stepper, and line total; below that, a subtotal and a full-width checkout CTA. Edge-to-edge on mobile, pinned to the right at 440px from md up. Scroll-locks the page, closes on ESC, and dismisses when the backdrop is clicked.`,"ds.cartDrawer.demoLabel":`Populate & open cart`,"ds.cartDrawer.demoHint":`Adds two sample items and opens the drawer.`,"ds.cartDrawer.integrationTitle":`Backend integration`,"ds.cartDrawer.integrationBody":"The component owns no network code — it emits `update-quantity`, `remove`, and `checkout`. Its state comes from the API boundary in `src/api/cart.js`, which is a local implementation today and swaps to the documented endpoints (see `docs/api/cart.md`) without changes above this line.","footer.tagline":`The original from Austria. Pure sodium bicarbonate for the kitchen, the home, and personal care — for generations.`,"footer.explore.heading":`Explore`,"footer.explore.shop":`Shop`,"footer.explore.pflege":`Personal care`,"footer.explore.haushalt":`Home`,"footer.explore.bundles":`Bundles`,"footer.explore.about":`About`,"footer.legal.heading":`Legal`,"footer.legal.label":`Legal links`,"footer.legal.impressum":`Imprint`,"footer.legal.datenschutz":`Privacy policy`,"footer.copyright":`Kaiser-Natron® · All rights reserved.`,"footer.madeIn":`Filled in Austria.`,"legal.impressum.eyebrow":`Provider information`,"legal.impressum.title":`Imprint`,"legal.impressum.updated":`Last updated: May 2026`,"legal.impressum.section.operator.heading":`Media owner & service provider`,"legal.impressum.section.operator.body":`Holste GmbH
Musterstraße 1
1010 Vienna, Austria
Managing Director: [Name of Managing Director]`,"legal.impressum.section.contact.heading":`Contact`,"legal.impressum.section.contact.body":`Phone: +43 (0) 1 000 00 00
Email: kontakt@kaiser-natron.at
Web: https://kaiser-natron.at`,"legal.impressum.section.register.heading":`Commercial register`,"legal.impressum.section.register.body":`Company register number: FN 000000a
Register court: Commercial Court of Vienna`,"legal.impressum.section.vat.heading":`VAT identification`,"legal.impressum.section.vat.body":`VAT ID: ATU00000000
GISA number: 00000000`,"legal.impressum.section.authority.heading":`Supervisory authority & trade regulations`,"legal.impressum.section.authority.body":`Competent supervisory authority: Magistratisches Bezirksamt Wien
Chamber: Vienna Chamber of Commerce
Applicable trade regulation: Gewerbeordnung (www.ris.bka.gv.at)`,"legal.impressum.section.liability.heading":`Liability for content and links`,"legal.impressum.section.liability.body":`The content of this website is created with the greatest possible care. We cannot, however, guarantee the accuracy, completeness or topicality of the content. The operators of linked external websites are solely responsible for their content.`,"legal.impressum.section.copyright.heading":`Copyright`,"legal.impressum.section.copyright.body":`All content on this website (text, images, graphics, logos) is protected by copyright. Reproduction, modification or distribution outside the limits of copyright law require the prior written consent of Holste GmbH.`,"legal.datenschutz.eyebrow":`Privacy notice`,"legal.datenschutz.title":`Privacy policy`,"legal.datenschutz.updated":`Last updated: May 2026`,"legal.datenschutz.section.controller.heading":`Controller`,"legal.datenschutz.section.controller.body":`The controller within the meaning of the GDPR and the Austrian Data Protection Act is Holste GmbH, Musterstraße 1, 1010 Vienna. Privacy enquiries can be sent to datenschutz@kaiser-natron.at.`,"legal.datenschutz.section.scope.heading":`Scope`,"legal.datenschutz.section.scope.body":`This policy applies to kaiser-natron.at and all related online offerings, including the order and checkout flow. External services we link to are governed exclusively by their own privacy policies.`,"legal.datenschutz.section.legalBasis.heading":`Legal bases`,"legal.datenschutz.section.legalBasis.body":`We process personal data on the basis of Art. 6(1) GDPR — in particular for performance of contract (lit. b), to comply with legal obligations (lit. c), and on the basis of your consent (lit. a). Marketing-related processing only takes place on an opt-in basis.`,"legal.datenschutz.section.data.heading":`What data we process`,"legal.datenschutz.section.data.body":`When you place an order we collect the data needed to fulfil the contract and ship: name, postal address, email, optionally a phone number. If you create an account, your credentials are additionally stored in encrypted form. Technically necessary server logs (IP, user agent, timestamp) are retained for a maximum of seven days.`,"legal.datenschutz.section.cookies.heading":`Cookies`,"legal.datenschutz.section.cookies.body":`We use only strictly necessary cookies (language preference, cart, session). Tracking or marketing cookies are loaded only after explicit consent via the cookie banner.`,"legal.datenschutz.section.analytics.heading":`Audience measurement`,"legal.datenschutz.section.analytics.body":`Where enabled, we use a self-hosted, anonymised audience-measurement system without third-country transfers. IP addresses are truncated and no personally identifying profiles are created.`,"legal.datenschutz.section.payments.heading":`Payments`,"legal.datenschutz.section.payments.body":`Payments are processed by Stripe (Stripe Payments Europe, Limited, Ireland). Payment details are sent directly to Stripe; we receive only the payment status and transaction ID. See stripe.com/privacy for details.`,"legal.datenschutz.section.rights.heading":`Your rights`,"legal.datenschutz.section.rights.body":`You have the right at any time to request access, correction, erasure, restriction of processing, data portability, and to object. Consent once given may be withdrawn at any time without giving reasons. Complaints may be filed with the Austrian Data Protection Authority (dsb.gv.at).`,"legal.datenschutz.section.retention.heading":`Retention periods`,"legal.datenschutz.section.retention.body":`Order data is retained for seven years pursuant to § 132 BAO. Marketing consents are kept until withdrawal; technical logs for a maximum of seven days.`,"legal.datenschutz.section.contact.heading":`Privacy contact`,"legal.datenschutz.section.contact.body":`For all privacy-related matters please contact datenschutz@kaiser-natron.at or write to the postal address listed in the imprint.`,"category.pflege.eyebrow":`Personal care & wellbeing`,"category.pflege.title.a":`Bathe, soothe,`,"category.pflege.title.em":`breathe.`,"category.pflege.sub":`Bath and care products built around Kaiser-Natron® — tuned to everyday life, sport, and slow evenings at home.`,"category.pflege.products.headline":`Range for`,"category.pflege.products.headline.em":`body & care`,"category.pflege.products.sub":`From a full alkaline bath to a mountain-pine foot bath — all based on the original.`,"category.pflege.benefits.eyebrow":`Why natron cares`,"category.pflege.benefits.headline":`Gentle, alkaline,`,"category.pflege.benefits.headline.em":`skin-friendly.`,"category.pflege.benefit.1.title":`Acid-base balance`,"category.pflege.benefit.1.text":`Natron in bath water supports the skin's natural balance and neutralises excess acidity — soothing after sport and long days.`,"category.pflege.benefit.2.title":`No harsh chemistry`,"category.pflege.benefit.2.text":`Pure sodium bicarbonate, not aggressive surfactants. Free of microplastics and preservatives; dermatologically tested.`,"category.pflege.benefit.3.title":`Versatile rituals`,"category.pflege.benefit.3.text":`Full bath, foot bath, scrub, deodorant: one ingredient, many small care rituals — friendly even to sensitive skin.`,"category.pflege.cta.headline":`Discover more in the`,"category.pflege.cta.headline.em":`full shop.`,"category.pflege.cta.sub":`Cleaning, laundry, kitchen — the whole range at a glance.`,"category.pflege.cta.button":`Visit the shop`,"category.haushalt.eyebrow":`Home & cleaning`,"category.haushalt.title.a":`Scrub, wash,`,"category.haushalt.title.em":`everything clean.`,"category.haushalt.sub":`Natron-based cleaners and laundry helpers that handle stubborn dirt — without unnecessary chemistry.`,"category.haushalt.products.headline":`Range for`,"category.haushalt.products.headline.em":`home & laundry`,"category.haushalt.products.sub":`All-purpose, dish, wash-soda and more — from a fine cleaner to a powerful descaler.`,"category.haushalt.benefits.eyebrow":`Why natron cleans`,"category.haushalt.benefits.headline":`Effective, honest,`,"category.haushalt.benefits.headline.em":`close to nature.`,"category.haushalt.benefit.1.title":`Odour neutralisation`,"category.haushalt.benefit.1.text":`Natron binds acids rather than masking them — your kitchen, fridge and laundry actually become neutral, not just over-perfumed.`,"category.haushalt.benefit.2.title":`Gentle on surfaces`,"category.haushalt.benefit.2.text":`Mildly abrasive, not aggressive: lifts grease and crust without harming glass, stainless steel or enamel.`,"category.haushalt.benefit.3.title":`No microplastics`,"category.haushalt.benefit.3.text":`Our cleaners use plant-based surfactants and natural fragrances — free of microplastics and unnecessary preservatives.`,"category.haushalt.cta.headline":`Care &`,"category.haushalt.cta.headline.em":`kitchen too in the shop.`,"category.haushalt.cta.sub":`Bath and kitchen products, bundles and more — all on one page.`,"category.haushalt.cta.button":`Visit the shop`,"checkout.stepper.label":`Checkout progress`,"checkout.step.cart":`Cart`,"checkout.step.account":`Account`,"checkout.step.shipping":`Shipping`,"checkout.step.payment":`Payment`,"checkout.back":`Back`,"checkout.exit":`Exit`,"checkout.backToShopping":`Back to shopping`,"checkout.home":`Home`,"checkout.cta.review":`Continue`,"checkout.cart.heading":`Your cart`,"checkout.cart.title":`Cart`,"checkout.cart.itemsLabel":`Items`,"checkout.cart.perItem":`each`,"checkout.cart.shipping":`Shipping`,"checkout.cart.total":`Total`,"checkout.cart.cta.shop":`Visit the shop`,"checkout.cart.cta.continueShopping":`← Continue shopping`,"checkout.cart.cta.continue":`Continue`,"checkout.account.heading":`Account & contact`,"checkout.account.sub":`Check out as guest or continue with your account — whatever you prefer.`,"checkout.account.tabsLabel":`Account options`,"checkout.account.tab.guest":`Guest`,"checkout.account.tab.signin":`Sign in`,"checkout.account.tab.register":`Create account`,"checkout.account.forgot":`Forgot password?`,"checkout.account.cta.continue":`Continue`,"checkout.shipping.sub":`Where shall we deliver? You can enter a separate billing address below if needed.`,"checkout.billing.sub":`If the invoice should go to a different address, untick the box.`,"checkout.shipping.cta.continue":`Continue`,"checkout.payment.sub":`Pay with Apple Pay, Google Pay or card — all processed through Stripe.`,"checkout.section.card":`Pay with card`,"checkout.field.firstName":`First name`,"checkout.field.lastName":`Last name`,"checkout.field.password":`Password`,"checkout.field.passwordConfirm":`Confirm password`,"checkout.field.salutation":`Salutation`,"checkout.field.salutation.placeholder":`Please select`,"checkout.field.salutation.frau":`Mrs.`,"checkout.field.salutation.herr":`Mr.`,"checkout.field.salutation.divers":`Diverse`,"checkout.hint.password":`At least 8 characters.`,"checkout.error.passwordMismatch":`The passwords don't match.`,"checkout.error.addressIncomplete":`Please fill in all required address fields.`,"auth.login.eyebrow":`Welcome back`,"auth.login.title":`Sign in`,"auth.login.sub":`Continue with your Kaiser-Natron® account.`,"auth.login.cta":`Sign in`,"auth.login.forgot":`Forgot password?`,"auth.login.newCustomer":`New here?`,"auth.login.cta.register":`Create account`,"auth.reset.title":`Reset password`,"auth.reset.sub":`We'll send a secure link to your email.`,"auth.reset.cta":`Request link`,"auth.reset.back":`← Back to sign in`,"auth.reset.sent.title":`Mail on its way`,"auth.reset.sent.body":`If an account exists for that address, you'll find the link in your inbox.`,"auth.register.eyebrow":`Create account`,"auth.register.title":`Welcome`,"auth.register.sub":`An account gets you order history, saved addresses, and exclusive bundle offers.`,"auth.register.cta":`Create account`,"auth.register.haveAccount":`Already have an account?`,"auth.register.cta.signIn":`Sign in`,"auth.register.terms.before":`I have read and accept the`,"auth.register.terms.link":`Terms & Privacy policy`,"auth.register.terms.after":`.`},a={de:n,at:{...n,...r},en:i},o=`kn-locale`,s=`de`,c=[{code:`de`,label:`DE`,name:`Deutsch`},{code:`at`,label:`AT`,name:`Österreich`},{code:`en`,label:`EN`,name:`English`}],l=c.map(e=>e.code),u=typeof localStorage<`u`?localStorage.getItem(o):null,d=t({locale:l.includes(u)?u:s});typeof document<`u`&&(document.documentElement.lang=d.locale);function f(e){!l.includes(e)||d.locale===e||(d.locale=e,typeof localStorage<`u`&&localStorage.setItem(o,e),typeof document<`u`&&(document.documentElement.lang=e))}typeof window<`u`&&window.addEventListener(`storage`,e=>{e.key!==o||!l.includes(e.newValue)||(d.locale=e.newValue,typeof document<`u`&&(document.documentElement.lang=e.newValue))});function p(){return{locale:e({get:()=>d.locale,set:f}),setLocale:f,t:e=>(a[d.locale]||a[s])[e]??a[s][e]??e,availableLocales:c}}export{p as t};