Bläddra i källkod

feat: implement localized privacy policy and optimize mobile spacing

unknown 1 vecka sedan
förälder
incheckning
ed518118ee

+ 5 - 3
src/components/Footer.vue

@@ -1,7 +1,7 @@
 <template>
-  <footer class="bg-white border-t border-black/[0.04] pt-12 pb-6">
+  <footer class="bg-white border-t border-black/[0.04] pt-8 sm:pt-12 pb-6">
     <div class="container mx-auto px-4">
-      <div class="grid sm:grid-cols-2 lg:grid-cols-5 gap-12 mb-12">
+      <div class="grid sm:grid-cols-2 lg:grid-cols-5 gap-12 mb-8 sm:mb-12">
         <!-- Brand -->
         <div class="lg:col-span-2">
           <Logo />
@@ -30,7 +30,8 @@
           <h4 class="font-display text-xs font-bold uppercase tracking-widest text-foreground/40 mb-3">{{ t("footer.company") }}</h4>
           <ul class="space-y-1.5">
             <li v-for="link in footerLinks.company" :key="link.label">
-              <a :href="link.href" class="text-xs font-bold text-foreground/60 hover:text-primary transition-colors">{{ link.label }}</a>
+              <router-link v-if="link.to" :to="link.to" class="text-xs font-bold text-foreground/60 hover:text-primary transition-colors">{{ link.label }}</router-link>
+              <a v-else :href="link.href" class="text-xs font-bold text-foreground/60 hover:text-primary transition-colors">{{ link.label }}</a>
             </li>
           </ul>
         </div>
@@ -71,6 +72,7 @@ const footerLinks = computed(() => ({
   ],
   company: [
     { label: t("footer.about"), href: "#" },
+    { label: t("footer.privacy"), to: "/privacy" },
     { label: t("footer.careers"), href: "#" },
     { label: t("footer.blog"), href: "#" },
     { label: t("footer.contact"), href: "#" },

+ 5 - 5
src/components/HeroSection.vue

@@ -1,9 +1,9 @@
 <template>
-  <section class="relative min-h-[85vh] flex items-center justify-center overflow-hidden bg-white">
+  <section class="relative min-h-[70vh] sm:min-h-[85vh] flex items-center justify-center overflow-hidden bg-white">
     <div class="absolute inset-0 grid-pattern opacity-50" />
     <div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-gradient-glow rounded-full blur-3xl" />
 
-    <div class="container mx-auto px-4 pt-16 lg:pt-0">
+    <div class="container mx-auto px-4 pt-10 sm:pt-16 lg:pt-0">
       <div class="grid lg:grid-cols-2 gap-12 items-center">
         <!-- Text -->
         <div class="text-center lg:text-left animate-slide-up">
@@ -11,12 +11,12 @@
             <span class="text-xs text-primary font-bold tracking-widest">{{ t("hero.badge") }}</span>
           </div>
 
-          <h1 class="font-display text-4xl sm:text-5xl lg:text-6xl font-extrabold leading-[1.1] mb-6 tracking-tight">
+          <h1 class="font-display text-4xl sm:text-5xl lg:text-6xl font-extrabold leading-[1.1] mb-4 sm:mb-6 tracking-tight">
             {{ t("hero.title") }}
             <span class="block text-primary">{{ t("hero.titleGradient") }}</span>
           </h1>
 
-          <p class="text-lg text-foreground/70 max-w-xl mx-auto lg:mx-0 mb-8 leading-relaxed font-medium">
+          <p class="text-base sm:text-lg text-foreground/70 max-w-xl mx-auto lg:mx-0 mb-6 sm:mb-8 leading-relaxed font-medium">
             {{ t("hero.description") }}
           </p>
 
@@ -32,7 +32,7 @@
           </div>
 
           <!-- Stats -->
-          <div class="grid grid-cols-3 gap-6 mt-10 pt-6 border-t border-black/[0.05]">
+          <div class="grid grid-cols-3 gap-6 mt-8 sm:mt-10 pt-6 border-t border-black/[0.05]">
             <div class="space-y-1">
               <div class="font-display text-xl sm:text-2xl font-bold text-primary">{{ t("hero.stats.precisionValue") }}</div>
               <div class="text-[10px] uppercase tracking-widest font-bold text-foreground/40">{{ t("hero.stats.precision") }}</div>

+ 3 - 3
src/components/ModelUploadSection.vue

@@ -1,9 +1,9 @@
 <template>
-  <section id="upload" class="py-20 bg-white relative">
+  <section id="upload" class="py-12 sm:py-20 bg-white relative">
     <div class="absolute inset-0 bg-gradient-glow opacity-50" />
 
     <div class="container mx-auto px-4 relative z-10">
-      <div class="text-center mb-12">
+      <div class="text-center mb-10 sm:mb-12">
         <span class="text-primary font-display text-xs font-bold tracking-[0.2em] uppercase">{{ t("upload.badge") }}</span>
         <h2 class="font-display text-3xl sm:text-4xl lg:text-5xl font-extrabold mt-4 mb-4 tracking-tight">
           {{ t("upload.title") }} <span class="text-primary">{{ t("upload.titleGradient") }}</span>
@@ -11,7 +11,7 @@
         <p class="text-foreground/60 max-w-xl mx-auto text-base font-medium">{{ t("upload.description") }}</p>
       </div>
 
-      <div class="max-w-3xl mx-auto space-y-8">
+      <div class="max-w-3xl mx-auto space-y-6 sm:space-y-8">
         <!-- Contact -->
         <div class="grid sm:grid-cols-2 gap-6">
           <div class="space-y-1.5">

+ 3 - 3
src/components/ProcessSection.vue

@@ -1,7 +1,7 @@
 <template>
-  <section id="process" class="py-24 relative overflow-hidden bg-card/30">
+  <section id="process" class="py-12 sm:py-24 relative overflow-hidden bg-card/30">
     <div class="container mx-auto px-4">
-      <div class="text-center mb-16 animate-slide-up">
+      <div class="text-center mb-10 sm:mb-16 animate-slide-up">
         <span class="text-primary font-display text-sm tracking-widest uppercase">{{ t("nav.howItWorks") }}</span>
         <h2 class="font-display text-3xl sm:text-4xl lg:text-5xl font-bold mt-4 mb-6">
           {{ t("hero.title") }} <span class="text-gradient">{{ t("hero.titleGradient") }}</span>
@@ -15,7 +15,7 @@
           <div v-if="index < steps.length - 1" class="hidden lg:block absolute top-10 left-[60%] w-full h-0.5 bg-gradient-to-r from-primary/30 to-transparent z-0" />
 
           <div class="relative z-10 text-center flex flex-col items-center">
-            <div class="relative inline-block mb-6">
+            <div class="relative inline-block mb-4 sm:mb-6">
               <div class="w-20 h-20 bg-secondary rounded-2xl flex items-center justify-center border border-border/50 group-hover:border-primary/50 transition-all duration-500 group-hover:bg-primary/5 group-hover:rotate-6">
                 <component :is="step.icon" class="w-8 h-8 text-primary transition-transform group-hover:scale-110" />
               </div>

+ 3 - 3
src/components/QuotingSection.vue

@@ -1,9 +1,9 @@
 <template>
-  <section id="philosophy" class="py-20 bg-white relative overflow-hidden">
+  <section id="philosophy" class="py-12 sm:py-20 bg-white relative overflow-hidden">
     <div class="absolute inset-0 bg-gradient-glow opacity-30" />
 
     <div class="container mx-auto px-4 relative z-10">
-      <div class="text-center mb-16 animate-slide-up">
+      <div class="text-center mb-10 sm:mb-16 animate-slide-up">
         <div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-primary/5 border border-primary/10 text-primary mb-4">
           <Shield class="w-4 h-4" />
           <span class="text-[10px] font-display font-bold tracking-[0.2em] uppercase">{{ t("pricing.badge") }}</span>
@@ -30,7 +30,7 @@
       </div>
 
       <!-- Philosophy block -->
-      <div class="mt-16 p-8 sm:p-10 rounded-[2.5rem] bg-secondary/30 relative overflow-hidden group animate-fade-in">
+      <div class="mt-10 sm:mt-16 p-8 sm:p-10 rounded-[2.5rem] bg-secondary/30 relative overflow-hidden group animate-fade-in">
         <div class="absolute top-0 right-0 w-64 h-64 bg-primary/5 rounded-full blur-3xl -mr-32 -mt-32 transition-transform group-hover:scale-110 duration-700" />
         <div class="grid lg:grid-cols-2 gap-10 items-center relative z-10">
           <div class="space-y-4">

+ 3 - 3
src/components/ServicesSection.vue

@@ -1,5 +1,5 @@
 <template>
-  <section id="services" class="py-20 bg-white relative overflow-hidden">
+  <section id="services" class="py-12 sm:py-20 bg-white relative overflow-hidden">
     <div class="absolute inset-0 grid-pattern opacity-30" />
 
     <div v-if="isLoading" class="py-24 flex items-center justify-center">
@@ -16,7 +16,7 @@
       </div>
 
       <!-- Services Grid -->
-      <div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-24">
+      <div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-12 sm:mb-24">
         <div
           v-for="(service, index) in services"
           :key="service.id"
@@ -32,7 +32,7 @@
       </div>
 
       <!-- Materials -->
-      <div id="materials" class="mt-16">
+      <div id="materials" class="mt-10 sm:mt-16">
         <div class="flex items-center gap-3 mb-8">
           <div class="w-8 h-8 bg-primary/5 rounded-lg flex items-center justify-center">
             <Sparkles class="w-4 h-4 text-primary" />

+ 132 - 0
src/components/privacy policy.txt

@@ -0,0 +1,132 @@
+
+Radionica3d ( “we”, “us”) operates this website and is responsible for how your personal data is collected and used. This Privacy Policy describes:
+
+what data we collect
+
+how and why we use it
+
+where and how it is stored or transferred
+
+your rights regarding your data
+
+how to contact us about privacy
+
+By visiting our site, contacting us, or using our services, you agree to this policy.
+
+If you have any questions or wish to exercise your data rights, please contact us at:
+
+[ our_email ]
+
+
+1. Data We Collect
+We may collect and process:
+
+Contact details: name, email, phone number, company
+
+Project data & uploads: messages, briefs, 3D models, images, sketches
+
+Transaction data: quotes, invoices, payments
+
+Website & technical data: IP address, browser type, cookies, analytics
+
+We do not collect sensitive categories (e.g. race, health, religious beliefs).
+
+
+2. How We Use Your Data
+We use personal data to:
+
+respond to enquiries and provide quotes
+
+manage projects, orders, deliveries
+
+maintain client records in our systems
+
+send updates or confirmations (email or WhatsApp/Viber/Telegram, where consent given)
+
+improve our website and services via anonymised analytics
+
+We do not sell or rent your personal data to third parties.
+
+
+3. Lawful Basis for Processing
+Under EU GDPR, we rely on:
+
+Contract — to perform services you request (quotes, production)
+
+Legitimate Interest — for business administration, client management, and responding to enquiries
+
+Consent — for optional marketing or newsletters
+
+If you give consent, you may withdraw it at any time (we will respect that).
+
+
+4. File Uploads & Submitted Content
+When you upload files or models, they are handled under our Content Submission & IP Protection Agreement.
+
+We keep project files securely while a job is active. After the job or after a defined period (e.g. 30 days on temporary services), we may delete or anonymise them as per our data-retention rules.
+
+
+5. Storage & Security
+Our primary storage is on secure servers under our control in the EU.
+
+We use encryption, secure access controls, and limited staff access.
+
+Only authorised personnel and vetted contractors can access your data.
+
+Transaction and project records are kept for up to six years (for accounting and legal compliance). After that, they are deleted or anonymised.
+
+ Where a client asks us to retain project files for repeat orders, we will do so securely until instructed otherwise
+ 
+ 
+
+6. Sharing & Third-Party Services
+We only share personal data when necessary to provide the service, such as:
+
+Payment processors (for payment transactions) if any.
+
+Order / file management platforms (e.g. for on-demand print workflows)
+
+Logistics / delivery partners
+
+Accountants, legal advisors
+
+All third parties are bound to confidentiality and data protection obligations consistent with EU GDPR.
+
+
+7. Your Rights
+You have the right to:
+
+access your personal data
+
+correct inaccuracies
+
+request deletion (where legally permitted)
+
+object to processing or withdraw consent
+
+request restriction or portability of data
+
+Submit requests via privacy@champion3d.com (or contact form). We will respond within 30 days.
+
+
+8. Cookies & Analytics
+We use essential cookies for site functionality, and optional analytics cookies to monitor usage and improve performance.
+
+You can manage or disable cookies via browser settings (bottom left of screen, blue cookie button) or our Cookie Policy page.
+
+
+9. International Transfers & Third-Country Processing
+Although we store most data in the EU, we also work with service providers (such as order or CRM platforms) whose servers may be located outside the EU (including the US).
+
+When personal data is transferred internationally, we ensure it is protected via Standard Contractual Clauses (SCCs) or equivalent safeguards approved under EU GDPR, so your data remains legally protected.
+
+By using our services, you acknowledge that your data may be transferred and processed outside the UE under such safeguards.
+
+
+10. Policy Updates
+We may revise this policy from time to time. The latest version is always on [link to privacy policy] , and the “Effective Date” at the top shows when it was last updated.
+
+
+11. Contact & Complaints
+If you have questions or concerns about how we handle your data, contact us.
+

+ 0 - 11
src/locales/.cursorrules

@@ -1,11 +0,0 @@
-# Localization Management Rules
-
-- **Source of Truth**: `src/locales/translations.json` is the single source of truth for all frontend translations.
-- **No Direct Edits**: DO NOT edit `en.json`, `me.json`, or `ru.json` directly. These files are generated from `translations.json`.
-- **Workflow**:
-  1. Add or modify keys in `translations.json`.
-  2. Always provide translations for all supported languages (`en`, `me`, `ru`).
-  3. After making changes, run `npm run i18n:generate` to update the individual locale files.
-- **Keys Hierarchy**: Maintain the hierarchical structure in `translations.json`. Group related keys under parent objects (e.g., `auth.login.submit`).
-- **Placeholders**: Use `{{variable_name}}` for i18next-style placeholders.
-- **Validation**: Ensure that all keys used in the code with `t()` actually exist in `translations.json`.

+ 45 - 15
src/locales/en.json

@@ -15,7 +15,7 @@
     },
     "login": {
       "submit": "Log In",
-      "subtitle": "Log in to your Radionica 3D account",
+      "subtitle": "Log in to your Radionica3D account",
       "title": "Welcome Back",
       "toggle": "New here? Create an account"
     },
@@ -30,7 +30,8 @@
       "subtitle": "Choose a strong new password",
       "title": "Reset Password",
       "token": "Code from email"
-    }
+    },
+    "orContinueWith": "Or continue with"
   },
   "chat": {
     "admin": "Support",
@@ -170,23 +171,52 @@
   },
   "privacy": {
     "title": "Privacy Policy",
-    "subtitle": "Your data is safe with us. We respect your privacy and follow GDPR guidelines.",
+    "subtitle": "Effective Date: April 11, 2026\nRadionica3d (“we”, “us”) operates this website and is responsible for how your personal data is collected and used.",
+    "intro": "This Privacy Policy describes:\n• what data we collect\n• how and why we use it\n• where and how it is stored or transferred\n• your rights regarding your data\n• how to contact us about privacy\n\nBy visiting our site, contacting us, or using our services, you agree to this policy.",
     "sections": {
-      "collection": {
-        "title": "Data Collection",
-        "content": "We collect your personal information (name, email, phone number, and address) exclusively for the purpose of processing and delivering your 3D printing orders. We do not use this data for marketing or other unsolicited purposes."
+      "01_data": {
+        "title": "1. Data We Collect",
+        "content": "We may collect and process:\n• Contact details: name, email, phone number, company\n• Project data & uploads: messages, briefs, 3D models, images, sketches\n• Transaction data: quotes, invoices, payments\n• Website & technical data: IP address, browser type, cookies, analytics\n\nWe do not collect sensitive categories (e.g. race, health, religious beliefs)."
+      },
+      "02_usage": {
+        "title": "2. How We Use Your Data",
+        "content": "We use personal data to:\n• respond to enquiries and provide quotes\n• manage projects, orders, deliveries\n• maintain client records in our systems\n• send updates or confirmations (email or WhatsApp/Viber/Telegram, where consent given)\n• improve our website and services via anonymised analytics\n\nWe do not sell or rent your personal data to third parties."
+      },
+      "03_basis": {
+        "title": "3. Lawful Basis for Processing",
+        "content": "Under EU GDPR, we rely on:\n• Contract — to perform services you request (quotes, production)\n• Legitimate Interest — for business administration, client management, and responding to enquiries\n• Consent — for optional marketing or newsletters\n\nIf you give consent, you may withdraw it at any time (we will respect that)."
+      },
+      "04_uploads": {
+        "title": "4. File Uploads & Submitted Content",
+        "content": "When you upload files or models, they are handled under our Content Submission & IP Protection Agreement. We keep project files securely while a job is active. After the job or after a defined period (e.g. 30 days on temporary services), we may delete or anonymise them as per our data-retention rules."
+      },
+      "05_security": {
+        "title": "5. Storage & Security",
+        "content": "Our primary storage is on secure servers under our control in the EU. We use encryption, secure access controls, and limited staff access. Transaction and project records are kept for up to six years (for accounting and legal compliance). Where a client asks us to retain project files for repeat orders, we will do so securely until instructed otherwise."
+      },
+      "06_sharing": {
+        "title": "6. Sharing & Third-Party Services",
+        "content": "We only share personal data when necessary to provide the service, such as:\n• Payment processors (for transactions)\n• Order / file management platforms\n• Logistics / delivery partners\n• Accountants, legal advisors\nAll third parties are bound to confidentiality and data protection obligations consistent with EU GDPR."
+      },
+      "07_rights": {
+        "title": "7. Your Rights",
+        "content": "You have the right to: access your personal data, correct inaccuracies, request deletion (where legally permitted), object to processing or withdraw consent, request restriction or portability of data. Submit requests via Hello@radionica3d.me. We will respond within 30 days."
+      },
+      "08_cookies": {
+        "title": "8. Cookies & Analytics",
+        "content": "We use essential cookies for site functionality, and optional analytics cookies to monitor usage and improve performance. You can manage or disable cookies via browser settings or our site interface."
       },
-      "sharing": {
-        "title": "Data Sharing",
-        "content": "We do not share, sell, or disclose your personal data to any third parties, except where required by law (e.g., authorized government authorities)."
+      "09_international": {
+        "title": "9. International Transfers & Third-Country Processing",
+        "content": "Although we store most data in the EU, we also work with service providers (such as order or CRM platforms) whose servers may be located outside the EU (including the US). When personal data is transferred internationally, we ensure it is protected via Standard Contractual Clauses (SCCs) or equivalent safeguards approved under EU GDPR."
       },
-      "retention": {
-        "title": "Retention & Deletion",
-        "content": "Your data is stored securely. You have the right to request the deletion of your personal information at any time. Automatically, data may be deleted after a 12-month period of inactivity following order completion."
+      "10_updates": {
+        "title": "10. Policy Updates",
+        "content": "We may revise this policy from time to time. The latest version is always available on our website."
       },
-      "rights": {
-        "title": "GDPR Compliance",
-        "content": "Under GDPR, you have the right to access, rectify, or erase your data, as well as the right to data portability. Contact us at hello@radionica3d.me for any privacy-related requests."
+      "11_contact": {
+        "title": "11. Contact & Complaints",
+        "content": "If you have questions or concerns about how we handle your data, please contact us at Hello@radionica3d.me."
       }
     }
   },

+ 45 - 15
src/locales/me.json

@@ -15,7 +15,7 @@
     },
     "login": {
       "submit": "Prijavi se",
-      "subtitle": "Prijavi se na svoj Radionica 3D nalog",
+      "subtitle": "Prijavi se na svoj Radionica3D nalog",
       "title": "Dobrodošao nazad",
       "toggle": "Nemaš nalog? Registruj se"
     },
@@ -30,7 +30,8 @@
       "subtitle": "Kreiraj novu sigurnu lozinku",
       "title": "Nova lozinka",
       "token": "Kod iz mejla"
-    }
+    },
+    "orContinueWith": "Ili nastavi sa"
   },
   "chat": {
     "admin": "Podrška",
@@ -170,23 +171,52 @@
   },
   "privacy": {
     "title": "Politika privatnosti",
-    "subtitle": "Vaši podaci su bezbjedni. Poštujemo vašu privatnost i pratimo GDPR smjernice.",
+    "subtitle": "Datum stupanja na snagu: 11. april 2026.\nRadionica3d („mi”, „nas”) upravlja ovim sajtom i odgovorna je za način na koji se vaši lični podaci prikupljaju i koriste.",
+    "intro": "Ova Politika privatnosti opisuje:\n• koje podatke prikupljamo\n• kako i zašto ih koristimo\n• gdje se čuvaju i kako se prenose\n• vaša prava u vezi sa vašim podacima\n• kako da nas kontaktirate u vezi sa privatnošću\n\nPosjetom našem sajtu, stupanjem u kontakt sa nama ili korišćenjem naših usluga, prihvatate ovu politiku.",
     "sections": {
-      "collection": {
-        "title": "Prikupljanje podataka",
-        "content": "Vaše lične podatke (ime, email, broj telefona i adresu) prikupljamo isključivo u svrhu obrade i dostave vaših porudžbina za 3D štampu. Ove podatke ne koristimo u marketinške ili druge nepredviđene svrhe."
+      "01_data": {
+        "title": "1. Podaci koje prikupljamo",
+        "content": "Možemo prikupljati i obrađivati:\n• Kontakt podatke: ime, email, broj telefona, kompanija\n• Podatke o projektima i otpremanje: poruke, brifove, 3D modele, slike, skice\n• Podatke o transakcijama: ponude, fakture, plaćanja\n• Tehničke podatke: IP adresa, tip pretraživača, kolačići, analitika\n\nNe prikupljamo osjetljive kategorije (npr. rasa, zdravlje, vjerska uvjerenja)."
+      },
+      "02_usage": {
+        "title": "2. Kako koristimo vaše podatke",
+        "content": "Podatke koristimo za:\n• odgovaranje na upite i izradu ponuda\n• upravljanje projektima, porudžbinama, isporukama\n• vođenje evidencije o klijentima u našim sistemima\n• slanje ažuriranja ili potvrda (email ili WhatsApp/Viber/Telegram, uz saglasnost)\n• poboljšanje našeg sajta i usluga putem anonimne analitike\n\nVaše lične podatke ne prodajemo niti iznajmljujemo trećim licima."
+      },
+      "03_basis": {
+        "title": "3. Pravni osnov za obradu",
+        "content": "Prema EU GDPR-u, oslanjamo se na:\n• Ugovor — za pružanje traženih usluga (ponude, proizvodnja)\n• Legitimni interes — za administraciju poslovanja, upravljanje klijentima i odgovaranje na upite\n• Saglasnost — za opcioni marketing ili obavještenja\n\nAko date saglasnost, možete je povući u bilo kom trenutku."
+      },
+      "04_uploads": {
+        "title": "4. Otpremanje fajlova i poslati sadržaj",
+        "content": "Kada otpremite fajlove ili modele, oni se obrađuju u skladu sa našim Ugovorom o dostavljanju sadržaja i zaštiti intelektualne svojine. Čuvamo fajlove projekta dok je posao aktivan. Nakon završetka posla ili nakon određenog perioda (npr. 30 dana za privremene usluge), možemo ih izbrisati ili anonimizovati."
+      },
+      "05_security": {
+        "title": "5. Čuvanje i bezbjednost",
+        "content": "Skladištimo podatke na sigurnim serverima pod našom kontrolom u EU. Koristimo enkripciju i ograničen pristup osoblja. Zapisi o transakcijama i projektima čuvaju se do šest godina (radi računovodstvene i pravne usklađenosti). Ako klijent zatraži da zadržimo fajlove projekta za ponovne porudžbine, to ćemo činiti bezbjedno dok ne dobijemo drugačija uputstva."
+      },
+      "06_sharing": {
+        "title": "6. Dijeljenje podataka i usluge trećih lica",
+        "content": "Lične podatke dijelimo samo kada je neophodno za pružanje usluge, kao što su:\n• Platni procesori (za transakcije)\n• Platforme za upravljanje porudžbinama/fajlovima\n• Logistički partneri\n• Računovođe, pravni savjetnici\nSve treće strane su obavezane na povjerljivost i zaštitu podataka u skladu sa EU GDPR-om."
+      },
+      "07_rights": {
+        "title": "7. Vaša prava",
+        "content": "Imate pravo na: pristup svojim podacima, ispravku netačnosti, zahtijevanje brisanja (gdje je zakonom dozvoljeno), prigovor na obradu ili povlačenje saglasnosti, zahtijevanje ograničenja ili prenosivosti podataka. Zahtjeve šaljite na Hello@radionica3d.me. Odgovorićemo u roku od 30 dana."
+      },
+      "08_cookies": {
+        "title": "8. Kolačići i analitika",
+        "content": "Koristimo neophodne kolačiće za funkcionalnost sajta i analitičke kolačiće za praćenje korišćenja. Kolačićima možete upravljati ili ih isključiti u podešavanjima pretraživača."
       },
-      "sharing": {
-        "title": "Dijeljenje podataka",
-        "content": "Vaše lične podatke ne dijelimo, ne prodajemo i ne otkrivamo trećim licima, osim u slučajevima predviđenim zakonom (npr. ovlašćenim državnim organima)."
+      "09_international": {
+        "title": "9. Međunarodni prenos i obrada u trećim zemljama",
+        "content": "Iako većinu podataka čuvamo u EU, radimo i sa pružaocima usluga čiji se serveri mogu nalaziti izvan EU (uključujući SAD). Kada se podaci prenose međunarodno, osiguravamo zaštitu putem Standardnih ugovornih klauzula (SCC) ili ekvivalentnih zaštitnih mjera u skladu sa EU GDPR-om."
       },
-      "retention": {
-        "title": "Zadržavanje i brisanje",
-        "content": "Vaši podaci se čuvaju na siguran način. Imate pravo da zatražite brisanje svojih ličnih podataka u bilo kom trenutku. Podaci se automatski brišu nakon perioda od 12 mjeseci neaktivnosti nakon završetka porudžbine."
+      "10_updates": {
+        "title": "10. Ažuriranje politike",
+        "content": "Povremeno možemo revidirati ovu politiku. Najnovija verzija je uvijek dostupna na našem sajtu."
       },
-      "rights": {
-        "title": "Usklađenost sa GDPR",
-        "content": "Prema GDPR regulativi, imate pravo na pristup, ispravku ili brisanje svojih podataka, kao i pravo na prenosivost podataka. Kontaktirajte nas na hello@radionica3d.me za sve upite u vezi sa privatnošću."
+      "11_contact": {
+        "title": "11. Kontakt i prigovori",
+        "content": "Ako imate pitanja ili nedoumica o tome kako rukujemo vašim podacima, kontaktirajte nas na Hello@radionica3d.me."
       }
     }
   },

+ 46 - 16
src/locales/ru.json

@@ -15,7 +15,7 @@
     },
     "login": {
       "submit": "Войти",
-      "subtitle": "Войдите в свой аккаунт Radionica 3D",
+      "subtitle": "Войдите в свой аккаунт Radionica3D",
       "title": "С возвращением",
       "toggle": "Нет аккаунта? Зарегистрируйтесь"
     },
@@ -30,7 +30,8 @@
       "subtitle": "Придумайте новый надежный пароль",
       "title": "Сброс пароля",
       "token": "Код из письма"
-    }
+    },
+    "orContinueWith": "Или продолжить через"
   },
   "chat": {
     "admin": "Поддержка",
@@ -161,7 +162,7 @@
     "description2": "Этот подход позволяет убрать барьеры \"сложных расчетов\" и дать вам возможность получить именно то, что вы задумали, оценив результат самостоятельно.",
     "items": {
       "noCommissions": "Без комиссий",
-      "noPrepayment": "Без предоплаты",
+      "noPrepayment": "Bez предоплаты",
       "shipping": "Отправка почтой",
       "yourPrice": "Ваша цена"
     },
@@ -170,23 +171,52 @@
   },
   "privacy": {
     "title": "Политика конфиденциальности",
-    "subtitle": "Ваши данные в безопасности. Мы уважаем вашу конфиденциальность и следуем принципам GDPR.",
+    "subtitle": "Дата вступления в силу: 11 апреля 2026 г.\nRadionica3d («мы», «нам») управляет этим сайтом и несет ответственность за сбор и использование ваших персональных данных.",
+    "intro": "Эта Политика конфиденциальности описывает:\n• какие данные мы собираем\n• как и почему мы их используем\n• где и как они хранятся или передаются\n• ваши права в отношении ваших данных\n• как связаться с нами по вопросам конфиденциальности\n\nПосещая наш сайт, связываясь с нами или пользуясь нашими услугами, вы соглашаетесь с этой политикой.",
     "sections": {
-      "collection": {
-        "title": "Сбор данных",
-        "content": "Мы собираем вашу личную информацию (имя, адрес электронной почты, номер телефона и адрес) исключительно в целях обработки и доставки ваших заказов на 3D-печать. Мы не используем эти данные для маркетинга или других нежелательных целей."
+      "01_data": {
+        "title": "1. Собираемые данные",
+        "content": "Мы можем собирать и обрабатывать:\n• Контактные данные: имя, email, номер телефона, компания\n• Данные проекта и загрузки: сообщения, брифы, 3D-модели, изображения, эскизы\n• Данные о транзакциях: сметы, счета, платежи\n• Технические данные сайта: IP-адрес, тип браузера, файлы cookie, аналитика\n\nМы не собираем чувствительные категории данных (например, раса, состояние здоровья, религиозные убеждения)."
+      },
+      "02_usage": {
+        "title": "2. Как мы используем ваши данные",
+        "content": "Мы используем персональные данные для:\n• ответов на запросы и предоставления смет\n• управления проектами, заказами, доставкой\n• ведения клиентских записей в наших системах\n• отправки обновлений или подтверждений (email или WhatsApp/Viber/Telegram, при наличии согласия)\n• улучшения нашего сайта и услуг с помощью анонимной аналитики\n\nМы не продаем и не сдаем в аренду ваши персональные данные третьим лицам."
+      },
+      "03_basis": {
+        "title": "3. Правовые основания для обработки",
+        "content": "В соответствии с EU GDPR мы опираемся на:\n• Контракт — для выполнения запрашиваемых вами услуг (сметы, производство)\n• Законный интерес — для администрирования бизнеса, управления клиентами и ответов на запросы\n• Согласие — для дополнительного маркетинга или рассылок\n\nЕсли вы даете согласие, вы можете отозвать его в любое время."
+      },
+      "04_uploads": {
+        "title": "4. Загрузка файлов и отправленный контент",
+        "content": "При загрузке файлов или моделей они обрабатываются в соответствии с нашим Соглашением о подаче контента и защите ИС. Мы надежно храним файлы проекта, пока работа активна. После завершения работы или по истечении определенного периода (например, 30 дней для временных услуг), мы можем удалить или анонимизировать их."
+      },
+      "05_security": {
+        "title": "5. Хранение и безопасность",
+        "content": "Нашим основным хранилищем являются защищенные серверы под нашим контролем в ЕС. Мы используем шифрование, средства контроля безопасного доступа и ограниченный доступ персонала. Записи о транзакциях и проектах хранятся до шести лет (для бухгалтерского и юридического учета). Если клиент просит нас сохранить файлы проекта для повторных заказов, мы будем хранить их надежно до получения иных указаний."
+      },
+      "06_sharing": {
+        "title": "6. Передача данных и сторонние услуги",
+        "content": "Мы передаем персональные данные только в случае необходимости для предоставления услуги, например:\n• Платежным системам (для транзакций)\n• Платформам управления заказами/файлами\n• Партнерам по логистике/доставке\n• Бухгалтерам, юридическим консультантам\nВсе третьи стороны связаны обязательствами по конфиденциальности и защите данных в соответствии с EU GDPR."
+      },
+      "07_rights": {
+        "title": "7. Ваши права",
+        "content": "Вы имеете право на: доступ к вашим персональным данным, исправление неточностей, запрос на удаление (где это разрешено законом), возражение против обработки или отзыв согласия, запрос на ограничение или перенос данных. Направляйте запросы на Hello@radionica3d.me. Мы ответим в течение 30 дней."
+      },
+      "08_cookies": {
+        "title": "8. Файлы cookie и аналитика",
+        "content": "Мы используем необходимые файлы cookie для работы сайта и дополнительные аналитические файлы cookie для мониторинга использования и повышения производительности. Вы можете управлять файлами cookie или отключать их в настройках браузера."
       },
-      "sharing": {
-        "title": "Передача данных",
-        "content": "Мы не передаем, не продаем и не раскрываем ваши личные данные третьим лицам, за исключением случаев, предусмотренных законом (например, уполномоченным государственным органам)."
+      "09_international": {
+        "title": "9. Международная передача и обработка в третьих странах",
+        "content": "Хотя мы храним большую часть данных в ЕС, мы также работаем с поставщиками услуг, чьи серверы могут находиться за пределами ЕС (включая США). При международной передаче данных мы обеспечиваем их защиту с помощью Стандартных договорных условий (SCC) или эквивалентных гарантий, утвержденных в соответствии с EU GDPR."
       },
-      "retention": {
-        "title": "Хранение и удаление",
-        "content": "Ваши данные хранятся в безопасности. Вы имеете право запросить удаление вашей личной информации в любое время. Данные могут быть автоматически удалены по истечении 12-месячного периода бездействия после завершения заказа."
+      "10_updates": {
+        "title": "10. Обновления политики",
+        "content": "Мы можем время от времени пересматривать эту политику. Последняя версия всегда доступна на нашем сайте."
       },
-      "rights": {
-        "title": "Соответствие GDPR",
-        "content": "В соответствии с GDPR у вас есть право на доступ к своим данным, их исправление или удаление, а также право на переносимость данных. Свяжитесь с нами по адресу hello@radionica3d.me по любым вопросам, связанным с конфиденциальностью."
+      "11_contact": {
+        "title": "11. Контакты и жалобы",
+        "content": "Если у вас есть вопросы или опасения по поводу того, как мы обрабатываем ваши данные, свяжитесь с нами по адресу Hello@radionica3d.me."
       }
     }
   },

+ 160 - 50
src/locales/translations.json

@@ -66,10 +66,10 @@
         "ua": "Увійти"
       },
       "subtitle": {
-        "en": "Log in to your Radionica 3D account",
-        "me": "Prijavi se na svoj Radionica 3D nalog",
-        "ru": "Войдите в свой аккаунт Radionica 3D",
-        "ua": "Войдите в свой аккаунт Radionica 3D"
+        "en": "Log in to your Radionica3D account",
+        "me": "Prijavi se na svoj Radionica3D nalog",
+        "ru": "Войдите в свой аккаунт Radionica3D",
+        "ua": "Увійдіть у свій акаунт Radionica3D"
       },
       "title": {
         "en": "Welcome Back",
@@ -135,6 +135,12 @@
         "ru": "Код из письма",
         "ua": "Код из письма"
       }
+    },
+    "orContinueWith": {
+      "en": "Or continue with",
+      "me": "Ili nastavi sa",
+      "ru": "Или продолжить через",
+      "ua": "Або продовжити через"
     }
   },
   "chat": {
@@ -541,7 +547,7 @@
         "en": "Maximum resolution and smooth industrial finish.",
         "me": "Maksimalna preciznost i glatka industrijska obrada.",
         "ru": "Максимальная детализация и гладкость изделий.",
-        "ua": "Максимальная детализация и гладкость изделий."
+        "ua": "Максимальная детализация and гладкость изделий."
       },
       "title": {
         "en": "SLA Resin",
@@ -636,7 +642,7 @@
       "en": "Upload a file or provide a link to a model (Thingiverse, Printables, etc.). We'll contact you for details.",
       "me": "Otpremite datoteku ili navedite link do modela (Thingiverse, Printables i dr.). Kontaktiraćemo vas radi detalja.",
       "ru": "Загрузите файл или укажите ссылку на модель (Thingiverse, Printables и др.). Мы свяжемся с вами для уточнения деталей.",
-      "ua": "Загрузите файл или укажите ссылку на модель (Thingiverse, Printables и др.). Мы свяжемся с вами для уточнения деталей."
+      "ua": "Загрузите файл или укажите ссылку на модель (Thingiverse, Printables i др.). Мы свяжемся с вами для уточнения деталей."
     },
     "dropzone": {
       "en": "Upload files (STL, OBJ, STEP)",
@@ -764,8 +770,8 @@
       "noPrepayment": {
         "en": "No prepayment",
         "me": "Bez uplate unaprijed",
-        "ru": "Без предоплаты",
-        "ua": "Без предоплаты"
+        "ru": "Bez предоплаты",
+        "ua": "Bez предоплаты"
       },
       "shipping": {
         "en": "Mail delivery",
@@ -777,7 +783,7 @@
         "en": "Your price",
         "me": "Tvoja cijena",
         "ru": "Ваша цена",
-        "ua": "Ваша цена"
+        "ua": "Ваша cena"
       }
     },
     "title": {
@@ -798,69 +804,173 @@
       "en": "Privacy Policy",
       "ru": "Политика конфиденциальности",
       "me": "Politika privatnosti",
-      "ua": "Политика конфиденциальности"
+      "ua": "Політика конфіденційності"
     },
     "subtitle": {
-      "en": "Your data is safe with us. We respect your privacy and follow GDPR guidelines.",
-      "ru": "Ваши данные в безопасности. Мы уважаем вашу конфиденциальность и следуем принципам GDPR.",
-      "me": "Vaši podaci su bezbjedni. Poštujemo vašu privatnost i pratimo GDPR smjernice.",
-      "ua": "Ваши данные в безопасности. Мы уважаем вашу конфиденциальность и следуем принципам GDPR."
+      "en": "Effective Date: April 11, 2026\nRadionica3d (“we”, “us”) operates this website and is responsible for how your personal data is collected and used.",
+      "ru": "Дата вступления в силу: 11 апреля 2026 г.\nRadionica3d («мы», «нам») управляет этим сайтом и несет ответственность за сбор и использование ваших персональных данных.",
+      "me": "Datum stupanja na snagu: 11. april 2026.\nRadionica3d („mi”, „nas”) upravlja ovim sajtom i odgovorna je za način na koji se vaši lični podaci prikupljaju i koriste.",
+      "ua": "Дата набрання чинності: 11 квітня 2026 р.\nRadionica3d («ми», «нам») керує цим сайтом і несе відповідальність за збір та використання ваших персональних даних."
+    },
+    "intro": {
+      "en": "This Privacy Policy describes:\n• what data we collect\n• how and why we use it\n• where and how it is stored or transferred\n• your rights regarding your data\n• how to contact us about privacy\n\nBy visiting our site, contacting us, or using our services, you agree to this policy.",
+      "ru": "Эта Политика конфиденциальности описывает:\n• какие данные мы собираем\n• как и почему мы их используем\n• где и как они хранятся или передаются\n• ваши права в отношении ваших данных\n• как связаться с нами по вопросам конфиденциальности\n\nПосещая наш сайт, связываясь с нами или пользуясь нашими услугами, вы соглашаетесь с этой политикой.",
+      "me": "Ova Politika privatnosti opisuje:\n• koje podatke prikupljamo\n• kako i zašto ih koristimo\n• gdje se čuvaju i kako se prenose\n• vaša prava u vezi sa vašim podacima\n• kako da nas kontaktirate u vezi sa privatnošću\n\nPosjetom našem sajtu, stupanjem u kontakt sa nama ili korišćenjem naših usluga, prihvatate ovu politiku.",
+      "ua": "Ця Політика конфіденційності описує:\n• які дані ми збираємо\n• як і чому ми їх використовуємо\n• де і як вони зберігаються або передаються\n• ваші права щодо ваших даних\n• як зв'язатися з нами щодо конфіденційності\n\nВідвідуючи наш сайт, зв'язуючись з нами або користуючись нашими послугами, вы погоджуєтеся з цією політикою."
     },
     "sections": {
-      "collection": {
+      "01_data": {
+        "title": {
+          "en": "1. Data We Collect",
+          "ru": "1. Собираемые данные",
+          "me": "1. Podaci koje prikupljamo",
+          "ua": "1. Дані, які ми збираємо"
+        },
+        "content": {
+          "en": "We may collect and process:\n• Contact details: name, email, phone number, company\n• Project data & uploads: messages, briefs, 3D models, images, sketches\n• Transaction data: quotes, invoices, payments\n• Website & technical data: IP address, browser type, cookies, analytics\n\nWe do not collect sensitive categories (e.g. race, health, religious beliefs).",
+          "ru": "Мы можем собирать и обрабатывать:\n• Контактные данные: имя, email, номер телефона, компания\n• Данные проекта и загрузки: сообщения, брифы, 3D-модели, изображения, эскизы\n• Данные о транзакциях: сметы, счета, платежи\n• Технические данные сайта: IP-адрес, тип браузера, файлы cookie, аналитика\n\nМы не собираем чувствительные категории данных (например, раса, состояние здоровья, религиозные убеждения).",
+          "me": "Možemo prikupljati i obrađivati:\n• Kontakt podatke: ime, email, broj telefona, kompanija\n• Podatke o projektima i otpremanje: poruke, brifove, 3D modele, slike, skice\n• Podatke o transakcijama: ponude, fakture, plaćanja\n• Tehničke podatke: IP adresa, tip pretraživača, kolačići, analitika\n\nNe prikupljamo osjetljive kategorije (npr. rasa, zdravlje, vjerska uvjerenja).",
+          "ua": "Ми можемо збирати та обробляти:\n• Контактні дані: ім'я, email, номер телефону, компанія\n• Дані проекту та завантаження: повідомлення, брифи, 3D-моделі, зображення, ескізи\n• Дані про транзакції: кошториси, рахунки, платежі\n• Технічні дані: IP-адреса, тип браузера, файли cookie, аналітика\n\nМи не збираємо чутливі категорії даних (наприклад, раса, стан здоров'я, релігійні переконання)."
+        }
+      },
+      "02_usage": {
+        "title": {
+          "en": "2. How We Use Your Data",
+          "ru": "2. Как мы используем ваши данные",
+          "me": "2. Kako koristimo vaše podatke",
+          "ua": "2. Як ми використовуємо ваші дані"
+        },
+        "content": {
+          "en": "We use personal data to:\n• respond to enquiries and provide quotes\n• manage projects, orders, deliveries\n• maintain client records in our systems\n• send updates or confirmations (email or WhatsApp/Viber/Telegram, where consent given)\n• improve our website and services via anonymised analytics\n\nWe do not sell or rent your personal data to third parties.",
+          "ru": "Мы используем персональные данные для:\n• ответов на запросы и предоставления смет\n• управления проектами, заказами, доставкой\n• ведения клиентских записей в наших системах\n• отправки обновлений или подтверждений (email или WhatsApp/Viber/Telegram, при наличии согласия)\n• улучшения нашего сайта и услуг с помощью анонимной аналитики\n\nМы не продаем и не сдаем в аренду ваши персональные данные третьим лицам.",
+          "me": "Podatke koristimo za:\n• odgovaranje na upite i izradu ponuda\n• upravljanje projektima, porudžbinama, isporukama\n• vođenje evidencije o klijentima u našim sistemima\n• slanje ažuriranja ili potvrda (email ili WhatsApp/Viber/Telegram, uz saglasnost)\n• poboljšanje našeg sajta i usluga putem anonimne analitike\n\nVaše lične podatke ne prodajemo niti iznajmljujemo trećim licima.",
+          "ua": "Ми використовуємо персональні дані для:\n• відповідей на запити та надання кошторисів\n• управління проектами, замовленнями, доставкою\n• ведення клієнтських записів у наших системах\n• надсилання оновлень або підтвержень (email або WhatsApp/Viber/Telegram, за згодою)\n• покращення нашого сайту та послуг за допомогою анонімної аналітики\n\nМи не продаємо і не здаємо в оренду ваші персональні дані третім особам."
+        }
+      },
+      "03_basis": {
+        "title": {
+          "en": "3. Lawful Basis for Processing",
+          "ru": "3. Правовые основания для обработки",
+          "me": "3. Pravni osnov za obradu",
+          "ua": "3. Правові підстави для обробки"
+        },
+        "content": {
+          "en": "Under EU GDPR, we rely on:\n• Contract — to perform services you request (quotes, production)\n• Legitimate Interest — for business administration, client management, and responding to enquiries\n• Consent — for optional marketing or newsletters\n\nIf you give consent, you may withdraw it at any time (we will respect that).",
+          "ru": "В соответствии с EU GDPR мы опираемся на:\n• Контракт — для выполнения запрашиваемых вами услуг (сметы, производство)\n• Законный интерес — для администрирования бизнеса, управления клиентами и ответов на запросы\n• Согласие — для дополнительного маркетинга или рассылок\n\nЕсли вы даете согласие, вы можете отозвать его в любое время.",
+          "me": "Prema EU GDPR-u, oslanjamo se na:\n• Ugovor — za pružanje traženih usluga (ponude, proizvodnja)\n• Legitimni interes — za administraciju poslovanja, upravljanje klijentima i odgovaranje na upite\n• Saglasnost — za opcioni marketing ili obavještenja\n\nAko date saglasnost, možete je povući u bilo kom trenutku.",
+          "ua": "Відповідно до EU GDPR ми спираємося на:\n• Контракт — для надання послуг за вашим запитом (кошториси, виробництво)\n• Законний інтерес — для адміністрування бізнесу, управління клієнтами та відповідей на запити\n• Згоду — для додаткового маркетингу або розсилок\n\nЯкщо ви надаєте згоду, ви можете відкликати її в будь-який час."
+        }
+      },
+      "04_uploads": {
+        "title": {
+          "en": "4. File Uploads & Submitted Content",
+          "ru": "4. Загрузка файлов и отправленный контент",
+          "me": "4. Otpremanje fajlova i poslati sadržaj",
+          "ua": "4. Завантаження файлів та надісланий контент"
+        },
+        "content": {
+          "en": "When you upload files or models, they are handled under our Content Submission & IP Protection Agreement. We keep project files securely while a job is active. After the job or after a defined period (e.g. 30 days on temporary services), we may delete or anonymise them as per our data-retention rules.",
+          "ru": "При загрузке файлов или моделей они обрабатываются в соответствии с нашим Соглашением о подаче контента и защите ИС. Мы надежно храним файлы проекта, пока работа активна. После завершения работы или по истечении определенного периода (например, 30 дней для временных услуг), мы можем удалить или анонимизировать их.",
+          "me": "Kada otpremite fajlove ili modele, oni se obrađuju u skladu sa našim Ugovorom o dostavljanju sadržaja i zaštiti intelektualne svojine. Čuvamo fajlove projekta dok je posao aktivan. Nakon završetka posla ili nakon određenog perioda (npr. 30 dana za privremene usluge), možemo ih izbrisati ili anonimizovati.",
+          "ua": "При завантаженні файлів або моделей вони обробляються відповідно до нашої Угоди про подання контенту та захист ІВ. Ми надійно зберігаємо файли проекту, поки робота активна. Після завершення роботи або після певного періоду (наприклад, 30 днів для тимчасових послуг), ми можемо видалити або анонімізувати їх."
+        }
+      },
+      "05_security": {
+        "title": {
+          "en": "5. Storage & Security",
+          "ru": "5. Хранение и безопасность",
+          "me": "5. Čuvanje i bezbjednost",
+          "ua": "5. Зберігання та безпека"
+        },
+        "content": {
+          "en": "Our primary storage is on secure servers under our control in the EU. We use encryption, secure access controls, and limited staff access. Transaction and project records are kept for up to six years (for accounting and legal compliance). Where a client asks us to retain project files for repeat orders, we will do so securely until instructed otherwise.",
+          "ru": "Нашим основным хранилищем являются защищенные серверы под нашим контролем в ЕС. Мы используем шифрование, средства контроля безопасного доступа и ограниченный доступ персонала. Записи о транзакциях и проектах хранятся до шести лет (для бухгалтерского и юридического учета). Если клиент просит нас сохранить файлы проекта для повторных заказов, мы будем хранить их надежно до получения иных указаний.",
+          "me": "Skladištimo podatke na sigurnim serverima pod našom kontrolom u EU. Koristimo enkripciju i ograničen pristup osoblja. Zapisi o transakcijama i projektima čuvaju se do šest godina (radi računovodstvene i pravne usklađenosti). Ako klijent zatraži da zadržimo fajlove projekta za ponovne porudžbine, to ćemo činiti bezbjedno dok ne dobijemo drugačija uputstva.",
+          "ua": "Нашим основним сховищем є захищені сервери под нашим контролем в ЄС. Ми використовуємо шифрування, засоби контролю безпечного доступу та обмежений доступ персоналу. Записи про транзакції та проекти зберігаються до шести років (для бухгалтерського та юридичного обліку). Якщо клієнт просить нас зберегти файли проекту для повторних замовлень, ми будемо зберігати їх надійно до отримання інших вказівок."
+        }
+      },
+      "06_sharing": {
+        "title": {
+          "en": "6. Sharing & Third-Party Services",
+          "ru": "6. Передача данных и сторонние услуги",
+          "me": "6. Dijeljenje podataka i usluge trećih lica",
+          "ua": "6. Передача даних та сторонні послуги"
+        },
+        "content": {
+          "en": "We only share personal data when necessary to provide the service, such as:\n• Payment processors (for transactions)\n• Order / file management platforms\n• Logistics / delivery partners\n• Accountants, legal advisors\nAll third parties are bound to confidentiality and data protection obligations consistent with EU GDPR.",
+          "ru": "Мы передаем персональные данные только в случае необходимости для предоставления услуги, например:\n• Платежным системам (для транзакций)\n• Платформам управления заказами/файлами\n• Партнерам по логистике/доставке\n• Бухгалтерам, юридическим консультантам\nВсе третьи стороны связаны обязательствами по конфиденциальности и защите данных в соответствии с EU GDPR.",
+          "me": "Lične podatke dijelimo samo kada je neophodno za pružanje usluge, kao što su:\n• Platni procesori (za transakcije)\n• Platforme za upravljanje porudžbinama/fajlovima\n• Logistički partneri\n• Računovođe, pravni savjetnici\nSve treće strane su obavezane na povjerljivost i zaštitu podataka u skladu sa EU GDPR-om.",
+          "ua": "Ми передаємо персональні дані лише у разі потреби для надання послуги, наприклад:\n• Платіжним системам (для транзакцій)\n• Платформам управління замовленнями/файлами\n• Партнерам з логістики/доставки\n• Бухгалтерам, юридичним консультантам\nУсі треті сторони пов'язані зобов'язаннями щодо конфіденційності та захисту даних відповідно до EU GDPR."
+        }
+      },
+      "07_rights": {
+        "title": {
+          "en": "7. Your Rights",
+          "ru": "7. Ваши права",
+          "me": "7. Vaša prava",
+          "ua": "7. Ваші права"
+        },
+        "content": {
+          "en": "You have the right to: access your personal data, correct inaccuracies, request deletion (where legally permitted), object to processing or withdraw consent, request restriction or portability of data. Submit requests via Hello@radionica3d.me. We will respond within 30 days.",
+          "ru": "Вы имеете право на: доступ к вашим персональным данным, исправление неточностей, запрос на удаление (где это разрешено законом), возражение против обработки или отзыв согласия, запрос на ограничение или перенос данных. Направляйте запросы на Hello@radionica3d.me. Мы ответим в течение 30 дней.",
+          "me": "Imate pravo na: pristup svojim podacima, ispravku netačnosti, zahtijevanje brisanja (gdje je zakonom dozvoljeno), prigovor na obradu ili povlačenje saglasnosti, zahtijevanje ograničenja ili prenosivosti podataka. Zahtjeve šaljite na Hello@radionica3d.me. Odgovorićemo u roku od 30 dana.",
+          "ua": "Ви маєте право на: доступ до ваших персональних даних, виправлення неточністьей, запит на видалення (де це дозволено законом), заперечення проти обробки або відкликання згоди, запит на обмеження або перенесення даних. Надсилайте запити на Hello@radionica3d.me. Ми відповімо протягом 30 днів."
+        }
+      },
+      "08_cookies": {
         "title": {
-          "en": "Data Collection",
-          "ru": "Сбор данных",
-          "me": "Prikupljanje podataka",
-          "ua": "Сбор данных"
+          "en": "8. Cookies & Analytics",
+          "ru": "8. Файлы cookie и аналитика",
+          "me": "8. Kolačići i analitika",
+          "ua": "8. Файли cookie та аналітика"
         },
         "content": {
-          "en": "We collect your personal information (name, email, phone number, and address) exclusively for the purpose of processing and delivering your 3D printing orders. We do not use this data for marketing or other unsolicited purposes.",
-          "ru": "Мы собираем вашу личную информацию (имя, адрес электронной почты, номер телефона и адрес) исключительно в целях обработки и доставки ваших заказов на 3D-печать. Мы не используем эти данные для маркетинга или других нежелательных целей.",
-          "me": "Vaše lične podatke (ime, email, broj telefona i adresu) prikupljamo isključivo u svrhu obrade i dostave vaših porudžbina za 3D štampu. Ove podatke ne koristimo u marketinške ili druge nepredviđene svrhe.",
-          "ua": "Мы собираем вашу личную информацию (имя, адрес электронной почты, номер телефона и адрес) исключительно в целях обработки и доставки ваших заказов на 3D-печать. Мы не используем эти данные для маркетинга или других нежелательных целей."
+          "en": "We use essential cookies for site functionality, and optional analytics cookies to monitor usage and improve performance. You can manage or disable cookies via browser settings or our site interface.",
+          "ru": "Мы используем необходимые файлы cookie для работы сайта и дополнительные аналитические файлы cookie для мониторинга использования и повышения производительности. Вы можете управлять файлами cookie или отключать их в настройках браузера.",
+          "me": "Koristimo neophodne kolačiće za funkcionalnost sajta i analitičke kolačiće za praćenje korišćenja. Kolačićima možete upravljati ili ih isključiti u podešavanjima pretraživača.",
+          "ua": "Ми використовуємо необхідні файли cookie для роботи сайту та додаткові аналітичні файли cookie для моніторингу використання та підвищення продуктивності. Ви можете керувати файлами cookie або вимикати їх у налаштуваннях браузера."
         }
       },
-      "sharing": {
+      "09_international": {
         "title": {
-          "en": "Data Sharing",
-          "ru": "Передача данных",
-          "me": "Dijeljenje podataka",
-          "ua": "Передача данных"
+          "en": "9. International Transfers & Third-Country Processing",
+          "ru": "9. Международная передача и обработка в третьих странах",
+          "me": "9. Međunarodni prenos i obrada u trećim zemljama",
+          "ua": "9. Міжнародна передача та обробка у третіх країнах"
         },
         "content": {
-          "en": "We do not share, sell, or disclose your personal data to any third parties, except where required by law (e.g., authorized government authorities).",
-          "ru": "Мы не передаем, не продаем и не раскрываем ваши личные данные третьим лицам, за исключением случаев, предусмотренных законом (например, уполномоченным государственным органам).",
-          "me": "Vaše lične podatke ne dijelimo, ne prodajemo i ne otkrivamo trećim licima, osim u slučajevima predviđenim zakonom (npr. ovlašćenim državnim organima).",
-          "ua": "Мы не передаем, не продаем и не раскрываем ваши личные данные третьим лицам, за исключением случаев, предусмотренных законом (например, уполномоченным государственным органам)."
+          "en": "Although we store most data in the EU, we also work with service providers (such as order or CRM platforms) whose servers may be located outside the EU (including the US). When personal data is transferred internationally, we ensure it is protected via Standard Contractual Clauses (SCCs) or equivalent safeguards approved under EU GDPR.",
+          "ru": "Хотя мы храним большую часть данных в ЕС, мы также работаем с поставщиками услуг, чьи серверы могут находиться за пределами ЕС (включая США). При международной передаче данных мы обеспечиваем их защиту с помощью Стандартных договорных условий (SCC) или эквивалентных гарантий, утвержденных в соответствии с EU GDPR.",
+          "me": "Iako većinu podataka čuvamo u EU, radimo i sa pružaocima usluga čiji se serveri mogu nalaziti izvan EU (uključujući SAD). Kada se podaci prenose međunarodno, osiguravamo zaštitu putem Standardnih ugovornih klauzula (SCC) ili ekvivalentnih zaštitnih mjera u skladu sa EU GDPR-om.",
+          "ua": "Хоча ми зберігаємо більшу частину даних в ЄС, ми також працюємо з постачальниками послуг, чиї сервери можуть знаходитися за межами ЄС (включаючи США). При міжнародній передачі даних ми забезпечуємо їх захист за допомогою Стандартних договірних умов (SCC) або еквівалентних гарантій, затверджених відповідно до EU GDPR."
         }
       },
-      "retention": {
+      "10_updates": {
         "title": {
-          "en": "Retention & Deletion",
-          "ru": "Хранение и удаление",
-          "me": "Zadržavanje i brisanje",
-          "ua": "Хранение и удаление"
+          "en": "10. Policy Updates",
+          "ru": "10. Обновления политики",
+          "me": "10. Ažuriranje politike",
+          "ua": "10. Оновлення політики"
         },
         "content": {
-          "en": "Your data is stored securely. You have the right to request the deletion of your personal information at any time. Automatically, data may be deleted after a 12-month period of inactivity following order completion.",
-          "ru": "Ваши данные хранятся в безопасности. Вы имеете право запросить удаление вашей личной информации в любое время. Данные могут быть автоматически удалены по истечении 12-месячного периода бездействия после завершения заказа.",
-          "me": "Vaši podaci se čuvaju na siguran način. Imate pravo da zatražite brisanje svojih ličnih podataka u bilo kom trenutku. Podaci se automatski brišu nakon perioda od 12 mjeseci neaktivnosti nakon završetka porudžbine.",
-          "ua": "Ваши данные хранятся в безопасности. Вы имеете право запросить удаление вашей личной информации в любое время. Данные могут быть автоматически удалены по истечении 12-месячного периода бездействия после завершения заказа."
+          "en": "We may revise this policy from time to time. The latest version is always available on our website.",
+          "ru": "Мы можем время от времени пересматривать эту политику. Последняя версия всегда доступна на нашем сайте.",
+          "me": "Povremeno možemo revidirati ovu politiku. Najnovija verzija je uvijek dostupna na našem sajtu.",
+          "ua": "Ми можемо час від часу переглядати цю політику. Остання версія завжди доступна на нашому сайті."
         }
       },
-      "rights": {
+      "11_contact": {
         "title": {
-          "en": "GDPR Compliance",
-          "ru": "Соответствие GDPR",
-          "me": "Usklađenost sa GDPR",
-          "ua": "Соответствие GDPR"
+          "en": "11. Contact & Complaints",
+          "ru": "11. Контакты и жалобы",
+          "me": "11. Kontakt i prigovori",
+          "ua": "11. Контакти та скарги"
         },
         "content": {
-          "en": "Under GDPR, you have the right to access, rectify, or erase your data, as well as the right to data portability. Contact us at hello@radionica3d.me for any privacy-related requests.",
-          "ru": "В соответствии с GDPR у вас есть право на доступ к своим данным, их исправление или удаление, а также право на переносимость данных. Свяжитесь с нами по адресу hello@radionica3d.me по любым вопросам, связанным с конфиденциальностью.",
-          "me": "Prema GDPR regulativi, imate pravo na pristup, ispravku ili brisanje svojih podataka, kao i pravo na prenosivost podataka. Kontaktirajte nas na hello@radionica3d.me za sve upite u vezi sa privatnošću.",
-          "ua": "В соответствии с GDPR у вас есть право на доступ к своим данным, их исправление или удаление, а также право на переносимость данных. Свяжитесь с нами по адресу hello@radionica3d.me по любым вопросам, связанным с конфиденциальностью."
+          "en": "If you have questions or concerns about how we handle your data, please contact us at Hello@radionica3d.me.",
+          "ru": "Если у вас есть вопросы или опасения по поводу того, как мы обрабатываем ваши данные, свяжитесь с нами по адресу Hello@radionica3d.me.",
+          "me": "Ako imate pitanja ili nedoumica o tome kako rukujemo vašim podacima, kontaktirajte nas na Hello@radionica3d.me.",
+          "ua": "Якщо у вас є запитання або побоювання щодо того, як ми обробляємо ваші дані, зв’яжіться з нами за адресою Hello@radionica3d.me."
         }
       }
     }

+ 50 - 20
src/locales/ua.json

@@ -15,7 +15,7 @@
     },
     "login": {
       "submit": "Увійти",
-      "subtitle": "Войдите в свой аккаунт Radionica 3D",
+      "subtitle": "Увійдіть у свій акаунт Radionica3D",
       "title": "З поверненням",
       "toggle": "Нет аккаунта? Зарегистрируйтесь"
     },
@@ -30,7 +30,8 @@
       "subtitle": "Придумайте новый надежный пароль",
       "title": "Сброс пароля",
       "token": "Код из письма"
-    }
+    },
+    "orContinueWith": "Або продовжити через"
   },
   "chat": {
     "admin": "Поддержка",
@@ -117,7 +118,7 @@
       "title": "FDM печать"
     },
     "sla": {
-      "description": "Максимальная детализация и гладкость изделий.",
+      "description": "Максимальная детализация and гладкость изделий.",
       "title": "SLA смола"
     },
     "title": "Технологии",
@@ -137,7 +138,7 @@
     "selectMaterial": "Выберите материал",
     "browse": "выбрать файлы",
     "continue": "Отправить заказ",
-    "description": "Загрузите файл или укажите ссылку на модель (Thingiverse, Printables и др.). Мы свяжемся с вами для уточнения деталей.",
+    "description": "Загрузите файл или укажите ссылку на модель (Thingiverse, Printables i др.). Мы свяжемся с вами для уточнения деталей.",
     "dropzone": "Загрузить файлы (STL, OBJ, STEP)",
     "dropzoneActive": "Переместите файлы сюда",
     "email": "Email",
@@ -161,32 +162,61 @@
     "description2": "Этот подход позволяет убрать барьеры \"сложных расчетов\" и дать вам возможность получить именно то, что вы задумали, оценив результат самостоятельно.",
     "items": {
       "noCommissions": "Без комиссий",
-      "noPrepayment": "Без предоплаты",
+      "noPrepayment": "Bez предоплаты",
       "shipping": "Отправка почтой",
-      "yourPrice": "Ваша цена"
+      "yourPrice": "Ваша cena"
     },
     "title": "Почему мы",
     "titleItalic": "доверяем"
   },
   "privacy": {
-    "title": "Политика конфиденциальности",
-    "subtitle": "Ваши данные в безопасности. Мы уважаем вашу конфиденциальность и следуем принципам GDPR.",
+    "title": "Політика конфіденційності",
+    "subtitle": "Дата набрання чинності: 11 квітня 2026 р.\nRadionica3d («ми», «нам») керує цим сайтом і несе відповідальність за збір та використання ваших персональних даних.",
+    "intro": "Ця Політика конфіденційності описує:\n• які дані ми збираємо\n• як і чому ми їх використовуємо\n• де і як вони зберігаються або передаються\n• ваші права щодо ваших даних\n• як зв'язатися з нами щодо конфіденційності\n\nВідвідуючи наш сайт, зв'язуючись з нами або користуючись нашими послугами, вы погоджуєтеся з цією політикою.",
     "sections": {
-      "collection": {
-        "title": "Сбор данных",
-        "content": "Мы собираем вашу личную информацию (имя, адрес электронной почты, номер телефона и адрес) исключительно в целях обработки и доставки ваших заказов на 3D-печать. Мы не используем эти данные для маркетинга или других нежелательных целей."
+      "01_data": {
+        "title": "1. Дані, які ми збираємо",
+        "content": "Ми можемо збирати та обробляти:\n• Контактні дані: ім'я, email, номер телефону, компанія\n• Дані проекту та завантаження: повідомлення, брифи, 3D-моделі, зображення, ескізи\n• Дані про транзакції: кошториси, рахунки, платежі\n• Технічні дані: IP-адреса, тип браузера, файли cookie, аналітика\n\nМи не збираємо чутливі категорії даних (наприклад, раса, стан здоров'я, релігійні переконання)."
+      },
+      "02_usage": {
+        "title": "2. Як ми використовуємо ваші дані",
+        "content": "Ми використовуємо персональні дані для:\n• відповідей на запити та надання кошторисів\n• управління проектами, замовленнями, доставкою\n• ведення клієнтських записів у наших системах\n• надсилання оновлень або підтвержень (email або WhatsApp/Viber/Telegram, за згодою)\n• покращення нашого сайту та послуг за допомогою анонімної аналітики\n\nМи не продаємо і не здаємо в оренду ваші персональні дані третім особам."
+      },
+      "03_basis": {
+        "title": "3. Правові підстави для обробки",
+        "content": "Відповідно до EU GDPR ми спираємося на:\n• Контракт — для надання послуг за вашим запитом (кошториси, виробництво)\n• Законний інтерес — для адміністрування бізнесу, управління клієнтами та відповідей на запити\n• Згоду — для додаткового маркетингу або розсилок\n\nЯкщо ви надаєте згоду, ви можете відкликати її в будь-який час."
+      },
+      "04_uploads": {
+        "title": "4. Завантаження файлів та надісланий контент",
+        "content": "При завантаженні файлів або моделей вони обробляються відповідно до нашої Угоди про подання контенту та захист ІВ. Ми надійно зберігаємо файли проекту, поки робота активна. Після завершення роботи або після певного періоду (наприклад, 30 днів для тимчасових послуг), ми можемо видалити або анонімізувати їх."
+      },
+      "05_security": {
+        "title": "5. Зберігання та безпека",
+        "content": "Нашим основним сховищем є захищені сервери под нашим контролем в ЄС. Ми використовуємо шифрування, засоби контролю безпечного доступу та обмежений доступ персоналу. Записи про транзакції та проекти зберігаються до шести років (для бухгалтерського та юридичного обліку). Якщо клієнт просить нас зберегти файли проекту для повторних замовлень, ми будемо зберігати їх надійно до отримання інших вказівок."
+      },
+      "06_sharing": {
+        "title": "6. Передача даних та сторонні послуги",
+        "content": "Ми передаємо персональні дані лише у разі потреби для надання послуги, наприклад:\n• Платіжним системам (для транзакцій)\n• Платформам управління замовленнями/файлами\n• Партнерам з логістики/доставки\n• Бухгалтерам, юридичним консультантам\nУсі треті сторони пов'язані зобов'язаннями щодо конфіденційності та захисту даних відповідно до EU GDPR."
+      },
+      "07_rights": {
+        "title": "7. Ваші права",
+        "content": "Ви маєте право на: доступ до ваших персональних даних, виправлення неточністьей, запит на видалення (де це дозволено законом), заперечення проти обробки або відкликання згоди, запит на обмеження або перенесення даних. Надсилайте запити на Hello@radionica3d.me. Ми відповімо протягом 30 днів."
+      },
+      "08_cookies": {
+        "title": "8. Файли cookie та аналітика",
+        "content": "Ми використовуємо необхідні файли cookie для роботи сайту та додаткові аналітичні файли cookie для моніторингу використання та підвищення продуктивності. Ви можете керувати файлами cookie або вимикати їх у налаштуваннях браузера."
       },
-      "sharing": {
-        "title": "Передача данных",
-        "content": "Мы не передаем, не продаем и не раскрываем ваши личные данные третьим лицам, за исключением случаев, предусмотренных законом (например, уполномоченным государственным органам)."
+      "09_international": {
+        "title": "9. Міжнародна передача та обробка у третіх країнах",
+        "content": "Хоча ми зберігаємо більшу частину даних в ЄС, ми також працюємо з постачальниками послуг, чиї сервери можуть знаходитися за межами ЄС (включаючи США). При міжнародній передачі даних ми забезпечуємо їх захист за допомогою Стандартних договірних умов (SCC) або еквівалентних гарантій, затверджених відповідно до EU GDPR."
       },
-      "retention": {
-        "title": "Хранение и удаление",
-        "content": "Ваши данные хранятся в безопасности. Вы имеете право запросить удаление вашей личной информации в любое время. Данные могут быть автоматически удалены по истечении 12-месячного периода бездействия после завершения заказа."
+      "10_updates": {
+        "title": "10. Оновлення політики",
+        "content": "Ми можемо час від часу переглядати цю політику. Остання версія завжди доступна на нашому сайті."
       },
-      "rights": {
-        "title": "Соответствие GDPR",
-        "content": "В соответствии с GDPR у вас есть право на доступ к своим данным, их исправление или удаление, а также право на переносимость данных. Свяжитесь с нами по адресу hello@radionica3d.me по любым вопросам, связанным с конфиденциальностью."
+      "11_contact": {
+        "title": "11. Контакти та скарги",
+        "content": "Якщо у вас є запитання або побоювання щодо того, як ми обробляємо ваші дані, зв’яжіться з нами за адресою Hello@radionica3d.me."
       }
     }
   },

+ 109 - 22
src/pages/Privacy.vue

@@ -1,29 +1,75 @@
 <template>
-  <div class="min-h-screen bg-background text-foreground pt-32 pb-24">
-    <div class="container mx-auto px-4 max-w-3xl">
-      <h1 class="font-display text-4xl md:text-5xl font-extrabold tracking-tight mb-6">
-        {{ t("privacy.title") }}
-      </h1>
-      <p class="text-xl text-foreground/60 font-medium mb-16">
-        {{ t("privacy.subtitle") }}
-      </p>
-
-      <div class="space-y-12">
-        <section v-for="section in sections" :key="section" class="space-y-4">
-          <h2 class="font-display text-2xl font-bold tracking-tight text-foreground">
-            {{ t(`privacy.sections.${section}.title`) }}
-          </h2>
-          <p class="text-foreground/70 leading-relaxed font-medium">
-            {{ t(`privacy.sections.${section}.content`) }}
-          </p>
+  <div class="min-h-screen bg-[#fafafa] pt-16 sm:pt-32 pb-12 sm:pb-24 selection:bg-primary/10">
+    <div class="container mx-auto px-6 max-w-4xl">
+      <!-- Header Section -->
+      <div class="relative mb-10 sm:mb-20 animate-in fade-in slide-in-from-bottom-4 duration-1000">
+        <div class="absolute -left-12 top-0 w-24 h-24 bg-primary/5 rounded-full blur-3xl -z-10 animate-pulse"></div>
+        <h1 class="font-display text-5xl md:text-7xl font-extrabold tracking-tight text-foreground mb-8 text-balance">
+          {{ t("privacy.title") }}
+        </h1>
+        <div class="grid md:grid-cols-2 gap-12 items-start">
+          <div class="space-y-6">
+            <p class="text-xl text-foreground/70 font-medium leading-relaxed whitespace-pre-line">
+              {{ t("privacy.subtitle") }}
+            </p>
+            <p class="text-lg text-foreground/50 leading-relaxed italic border-l-2 border-primary/20 pl-6 whitespace-pre-line">
+              {{ t("privacy.intro") }}
+            </p>
+          </div>
+          <div class="bg-white p-8 rounded-3xl border border-black/[0.04] shadow-sm hover:shadow-md transition-shadow">
+            <h3 class="text-xs font-bold uppercase tracking-widest text-primary mb-2">Need assistance?</h3>
+            <p class="text-sm text-foreground/60 mb-6 font-medium">If you have any questions or wish to exercise your data rights, please reach out to our dedicated team.</p>
+            <a href="mailto:Hello@radionica3d.me" class="inline-flex items-center gap-2 px-6 py-3 bg-foreground text-background rounded-full text-sm font-bold hover:bg-primary transition-colors group">
+              <Mail class="w-4 h-4" />
+              Hello@radionica3d.me
+              <ArrowUpRight class="w-4 h-4 opacity-0 -translate-y-1 translate-x-1 group-hover:opacity-100 group-hover:translate-y-0 group-hover:translate-x-0 transition-all" />
+            </a>
+          </div>
+        </div>
+      </div>
+
+      <!-- Policy Sections -->
+      <div class="grid gap-12 sm:gap-20">
+        <section 
+          v-for="(section, index) in privacySections" 
+          :key="section" 
+          class="group relative animate-in fade-in slide-in-from-bottom-8 duration-1000"
+          :style="{ animationDelay: (index * 100) + 'ms' }"
+        >
+          <div class="flex flex-col md:flex-row gap-8 md:gap-16">
+            <div class="md:w-16 shrink-0">
+              <span class="sticky top-40 block text-5xl md:text-7xl font-black text-black/[0.03] group-hover:text-primary/[0.08] transition-colors tabular-nums">
+                {{ (index + 1).toString().padStart(2, '0') }}
+              </span>
+            </div>
+            <div class="flex-1 space-y-6">
+              <h2 class="font-display text-2xl md:text-3xl font-bold tracking-tight text-foreground/90 transition-colors group-hover:text-foreground">
+                {{ t(`privacy.sections.${section}.title`).replace(/^\d+\.\s*/, '') }}
+              </h2>
+              <div 
+                class="text-foreground/70 leading-relaxed font-medium text-lg whitespace-pre-line max-w-none"
+                v-html="formatContent(t(`privacy.sections.${section}.content`))"
+              ></div>
+            </div>
+          </div>
         </section>
       </div>
       
-      <!-- Back to Home -->
-      <div class="mt-16 pt-8 border-t border-black/[0.1]">
-        <router-link to="/" class="inline-flex items-center gap-2 text-sm font-bold text-foreground hover:text-primary transition-colors">
-          &larr; {{ t("auth.back") }}
+      <!-- Footer Navigation -->
+      <div class="mt-16 sm:mt-32 pt-12 border-t border-black/[0.04] flex flex-col sm:flex-row justify-between items-center gap-8">
+        <router-link 
+          to="/" 
+          class="group inline-flex items-center gap-3 text-sm font-bold text-foreground/40 hover:text-primary transition-all px-8 py-4 bg-white rounded-full border border-black/[0.02] shadow-sm hover:shadow-md"
+        >
+          <ArrowLeft class="w-4 h-4 transition-transform group-hover:-translate-x-1" />
+          {{ t("auth.back") }}
         </router-link>
+        
+        <div class="flex items-center gap-6">
+          <span class="text-[10px] font-bold text-foreground/20 uppercase tracking-widest bg-black/[0.02] px-4 py-2 rounded-full">
+            {{ t("privacy.subtitle").split('\n')[0] }}
+          </span>
+        </div>
       </div>
     </div>
   </div>
@@ -31,7 +77,48 @@
 
 <script setup lang="ts">
 import { useI18n } from "vue-i18n";
+import { ArrowLeft, Mail, ArrowUpRight } from "lucide-vue-next";
 
 const { t } = useI18n();
-const sections = ["collection", "sharing", "retention", "rights"];
+
+const privacySections = [
+  "01_data", "02_usage", "03_basis", "04_uploads", "05_security", 
+  "06_sharing", "07_rights", "08_cookies", "09_international", 
+  "10_updates", "11_contact"
+];
+
+const formatContent = (content: string) => {
+  // Add styling to bullet points and their labels
+  return content
+    .replace(/(•\s)([^:]+:)/g, '<span class="text-primary mr-2">●</span><span class="font-bold text-foreground/90">$2</span>')
+    .replace(/(•\s)/g, '<span class="text-primary mr-2">●</span>');
+};
 </script>
+
+<style scoped>
+.font-display {
+  font-family: inherit;
+}
+
+@keyframes fade-in {
+  from { opacity: 0; }
+  to { opacity: 1; }
+}
+
+@keyframes slide-in-from-bottom {
+  from { transform: translateY(1rem); }
+  to { transform: translateY(0); }
+}
+
+.animate-in {
+  animation: fade-in 1s ease-out forwards;
+}
+
+.slide-in-from-bottom-4 {
+  animation: fade-in 1s ease-out forwards, slide-in-from-bottom 1s ease-out forwards;
+}
+
+.slide-in-from-bottom-8 {
+  animation: fade-in 1s ease-out forwards, slide-in-from-bottom 1s ease-out forwards;
+}
+</style>