/* ============================================================
   GlowMerald — Data & copy
   Tone: educated, empowering, calm, genuine. No hyperbole.
   ============================================================ */

const formatRp = (n) => 'Rp ' + Math.round(n).toLocaleString('id-ID');

/* ---- Ingredient glossary (tooltips) ---- */
const INGREDIENTS = {
  'Niacinamide':        'Membantu menyamarkan tampilan noda dan mendukung kecerahan kulit secara merata.',
  'Retinol':            'Mendukung regenerasi kulit dan membantu menyamarkan tampilan garis halus.',
  'Vitamin C':          'Antioksidan yang membantu kulit tampak lebih cerah dan bercahaya.',
  'Triple Hyaluronic Acid': 'Tiga ukuran molekul untuk hidrasi berlapis dari permukaan hingga lapisan lebih dalam.',
  'Soluble Collagen':   'Mendukung elastisitas dan membantu kulit tampak lebih kenyal.',
  'Probiotic Ferment':  'Membantu menenangkan dan mendukung keseimbangan skin barrier.',
  'Galactomyces Ferment':'Ferment yang membantu menghaluskan tekstur dan menghadirkan kesan glowing.',
  'Bifida Ferment':     'Mendukung ketahanan kulit dan membantu menenangkan tampilan kemerahan.',
  'Collagen':           'Membantu kulit tampak lebih plump dan terhidrasi.',
  'Hydrolyzed Hyaluronic Acid':'Hyaluronic acid terhidrolisa untuk hidrasi yang ringan dan cepat menyerap.',
  'Adenosine':          'Membantu menjaga tampilan kulit tetap halus dan kenyal.',
};

/* ---- Products ---- */
const PRODUCTS = [
  {
    id:'serum',
    type:'Serum',
    name:'6 in 1 Phyto Complex Serum',
    tagline:'Enam bahan aktif, satu ritual.',
    price:650000,
    size:'40 ml',
    bpom:'NA11262000011',
    rating:4.8, reviews:1243, sold:'8.4rb',
    bestSeller:true,
    visual:'serum',
    concerns:['Brightening','Anti-Aging','Hydration','Barrier'],
    ingredients:['Niacinamide','Retinol','Vitamin C','Triple Hyaluronic Acid','Soluble Collagen','Probiotic Ferment'],
    chips:['Niacinamide','Retinol','Vitamin C'],
    benefits:['Brightening','Anti-aging','Hidrasi berlapis','Barrier support','Antioksidan','Menenangkan'],
    desc:'Diformulasikan dengan enam bahan aktif yang bekerja sinergis dalam satu botol. Tekstur ringan yang cepat menyerap untuk mendukung kulit tampak lebih cerah, kenyal, dan terjaga kelembapannya — sebuah ritual yang efisien untuk keseharian.',
    howto:['Gunakan pada kulit yang bersih, pagi dan/atau malam.','Teteskan 2–3 tetes, ratakan lembut dengan gerakan menepuk.','Lanjutkan dengan pelembap.','Wajib gunakan SPF 30+ di pagi hari.'],
    variants:[{label:'40 ml', price:650000}],
    expect:[
      {range:'Minggu 1–2', text:'Kulit terasa lebih lembap dan kenyal; tekstur mulai tampak lebih halus.'},
      {range:'Minggu 4', text:'Warna kulit tampak lebih merata dan bercahaya secara bertahap.'},
      {range:'Minggu 8', text:'Tampilan garis halus tersamarkan; kulit tampak lebih sehat dan terawat.'},
    ],
  },
  {
    id:'mask',
    type:'Mask',
    name:'Luminous Skin Indulgence Hydrogel Mask',
    tagline:'Hidrasi intensif dengan sensasi sejuk.',
    price:265000,
    unitPrice:70000,
    size:'25 ml / lembar',
    bpom:'NA11260200061',
    rating:4.9, reviews:876, sold:'12.1rb',
    bestSeller:true,
    visual:'mask',
    concerns:['Hydration','Brightening'],
    ingredients:['Galactomyces Ferment','Bifida Ferment','Niacinamide','Collagen','Hydrolyzed Hyaluronic Acid','Adenosine'],
    chips:['Galactomyces','Bifida Ferment','Collagen'],
    benefits:['Hidrasi intensif','Luminositas','Sensasi sejuk','Efek plumping'],
    desc:'Masker hydrogel dengan teknologi slow-release yang memeluk kontur wajah. Diformulasikan dengan ferment dan hyaluronic acid untuk menghadirkan hidrasi mendalam, kesan glowing, dan sensasi menyejukkan dalam satu sesi me-time.',
    howto:['Aplikasikan pada kulit yang bersih.','Diamkan 1–2 jam — tanpa perlu dibilas.','Lanjutkan dengan pelembap.'],
    variants:[{label:'Box isi 4', price:265000},{label:'Sachet (1 pcs)', price:70000}],
    expect:[
      {range:'Seketika', text:'Kulit terasa sejuk, kenyal, dan tampak lebih segar setelah pemakaian.'},
      {range:'Pemakaian rutin', text:'Hidrasi yang terjaga membantu kulit tampak lebih bercahaya dari waktu ke waktu.'},
    ],
  },
];

/* ---- Bundles ---- */
const BUNDLES = [
  { id:'starter-duo', type:'Bundle', name:'Starter Duo', sub:'Serum + Mask Box', price:865000, was:915000, visual:'bundle',
    concerns:['Brightening','Hydration'], chips:['Serum 40ml','Mask Box 4'], rating:4.9, reviews:402,
    desc:'Titik awal ideal untuk mengenal ritual GlowMerald: serum harian dipadukan dengan masker hydrogel untuk perawatan mingguan.' },
  { id:'glow-ritual', type:'Bundle', name:'Glow Ritual', sub:'Serum + 2 Sachet Mask', price:760000, was:790000, visual:'bundle',
    concerns:['Brightening','Hydration','Anti-Aging'], chips:['Serum 40ml','2 Sachet'], rating:4.8, reviews:178,
    desc:'Serum lengkap dengan dua sachet masker untuk momen perawatan intensif di akhir pekan.' },
  { id:'double-glow', type:'Bundle', name:'Double Glow', sub:'2 Serum', price:1240000, was:1300000, visual:'bundle',
    concerns:['Brightening','Anti-Aging','Barrier'], chips:['2× Serum 40ml'], rating:4.9, reviews:96,
    desc:'Persediaan serum untuk ritual berkelanjutan — atau berbagi dengan orang terdekat.' },
];

const ALL_ITEMS = [...PRODUCTS, ...BUNDLES];
const findItem = (id) => ALL_ITEMS.find(p => p.id === id);

const CONCERNS = ['Brightening','Hydration','Anti-Aging','Barrier'];
const TYPES = ['Serum','Mask','Bundle'];

/* ---- Why GlowMerald ---- */
const WHY = [
  { icon:'shield', title:'Terdaftar BPOM', text:'Setiap produk melalui proses dan pengawasan BPOM.' },
  { icon:'layers', title:'Efisiensi 6-in-1', text:'Enam bahan aktif yang bekerja sinergis dalam satu langkah.' },
  { icon:'gem',    title:'Masstige Pricing', text:'Kualitas terasa premium dengan harga yang dapat dijangkau.' },
  { icon:'leaf',   title:'Formula Bersih', text:'Diformulasikan untuk kebutuhan kulit Asia.' },
];

/* ---- Testimonials ---- */
const TESTIMONIALS = [
  { name:'Anindhita', city:'Jakarta', concern:'Brightening', rating:5,
    quote:'Teksturnya ringan dan cepat menyerap. Setelah beberapa minggu, warna kulit saya tampak lebih merata.' },
  { name:'Rara', city:'Surabaya', concern:'Anti-Aging', rating:5,
    quote:'Suka sekali jadi ritual me-time. Kulit terasa lebih kenyal dan terawat sepanjang hari.' },
  { name:'Gisela', city:'Bandung', concern:'Hydration', rating:4,
    quote:'Mulai dari maskernya dulu, sensasinya sejuk dan bikin kulit kelihatan lebih segar. Sekarang lanjut ke serum.' },
  { name:'Maharani', city:'Depok', concern:'Barrier', rating:5,
    quote:'Kulit saya cenderung sensitif, tapi formula ini terasa menenangkan dan tidak bikin perih.' },
];

/* ---- Before / After ---- */
const BEFORE_AFTER = [
  { name:'Anindhita, 28', concern:'Brightening', stages:['Before','After — Minggu 4','After — Minggu 8'] },
  { name:'Rara, 34', concern:'Anti-Aging', stages:['Before','After — Minggu 4','After — Minggu 8'] },
];

/* ---- Beauty Insight articles ---- */
const ARTICLES = [
  { id:'a1', category:'Ingredient Science', read:'6 menit', featured:true,
    title:'Memahami Niacinamide: Bahan Multitugas untuk Kulit Tampak Cerah',
    excerpt:'Mengapa niacinamide menjadi salah satu bahan paling serbaguna dalam skincare modern — dan bagaimana ia bekerja mendukung skin barrier.' },
  { id:'a2', category:'Skin Routine', read:'4 menit',
    title:'Layering Serum dengan Benar: Urutan yang Mendukung Kerja Bahan Aktif',
    excerpt:'Panduan sederhana menyusun rutinitas pagi dan malam agar setiap tetes serum bekerja maksimal.' },
  { id:'a3', category:'Ingredient Science', read:'5 menit',
    title:'Triple Hyaluronic Acid: Tiga Lapis Hidrasi dalam Satu Formula',
    excerpt:'Bagaimana tiga ukuran molekul hyaluronic acid bekerja dari permukaan hingga lapisan kulit yang lebih dalam.' },
  { id:'a4', category:'Product Tips', read:'3 menit',
    title:'Cara Memaksimalkan Hydrogel Mask untuk Hasil yang Optimal',
    excerpt:'Tips kecil — dari persiapan kulit hingga durasi pemakaian — untuk pengalaman masker yang lebih maksimal.' },
  { id:'a5', category:'Skin Stories', read:'7 menit',
    title:'Ritual Pagi Anindhita: Skincare di Tengah Jadwal yang Padat',
    excerpt:'Bagaimana seorang marketing manager merawat kulitnya dengan rutinitas yang praktis namun bermakna.' },
  { id:'a6', category:'Skin Routine', read:'5 menit',
    title:'Mengenalkan Retinol ke Rutinitas Tanpa Membuat Kulit Stres',
    excerpt:'Pendekatan bertahap memperkenalkan retinol agar kulit tetap nyaman dan terjaga.' },
];
const ARTICLE_CATS = ['Semua','Ingredient Science','Skin Routine','Product Tips','Skin Stories'];

/* ---- UGC ---- */
const UGC = ['@anindhita.r','@rara.beauty','@gisela.glows','@maharani.skin','@glowmeraldofficial','@skinwithdita'];

/* ---- Account / Orders / Loyalty ---- */
const USER = {
  name:'Anindhita Pramesti', email:'anindhita.p@email.com', phone:'+62 812 1008 4421',
  tier:'Loyal Glow', points:1840, initials:'AP',
};
const TIERS = [
  { name:'New Glow', min:0 }, { name:'Loyal Glow', min:1000 },
  { name:'Inner Circle', min:3000 }, { name:'Ambassador', min:6000 },
];
const ORDERS = [
  { id:'GM-2406-00318', date:'2 Jun 2026', status:'Diproses', total:865000,
    items:[{name:'Starter Duo', qty:1, price:865000, visual:'bundle'}] },
  { id:'GM-2405-00204', date:'18 Mei 2026', status:'Dikirim', total:650000,
    items:[{name:'6 in 1 Phyto Complex Serum', qty:1, price:650000, visual:'serum'}] },
  { id:'GM-2504-00087', date:'27 Apr 2026', status:'Selesai', total:335000,
    items:[{name:'Luminous Hydrogel Mask — Box', qty:1, price:265000, visual:'mask'},{name:'Sachet (1 pcs)', qty:1, price:70000, visual:'mask'}] },
];
const ADDRESSES = [
  { id:1, label:'Rumah', def:true, name:'Anindhita Pramesti', phone:'+62 812 1008 4421',
    detail:'Jl. Senopati No. 84, Kebayoran Baru', city:'Jakarta Selatan', prov:'DKI Jakarta', post:'12190' },
  { id:2, label:'Kantor', def:false, name:'Anindhita Pramesti', phone:'+62 812 1008 4421',
    detail:'Menara BCA Lt. 21, Jl. M.H. Thamrin No. 1', city:'Jakarta Pusat', prov:'DKI Jakarta', post:'10310' },
];

/* ---- Checkout ---- */
const SHIPPING = [
  { id:'jne', name:'JNE Reguler', eta:'2–3 hari', price:18000 },
  { id:'jnt', name:'J&T Express', eta:'2–3 hari', price:16000 },
  { id:'sicepat', name:'SiCepat HALU', eta:'3–4 hari', price:14000 },
];
const PAYMENTS = [
  { group:'Transfer Bank / Virtual Account', options:['BCA','Mandiri','BNI','BRI'] },
  { group:'E-Wallet', options:['GoPay','OVO','Dana'] },
  { group:'Lainnya', options:['QRIS'] },
];
const PROVINCES = ['DKI Jakarta','Jawa Barat','Jawa Tengah','Jawa Timur','Banten','DI Yogyakarta','Bali','Sumatra Utara'];

Object.assign(window, {
  formatRp, INGREDIENTS, PRODUCTS, BUNDLES, ALL_ITEMS, findItem, CONCERNS, TYPES,
  WHY, TESTIMONIALS, BEFORE_AFTER, ARTICLES, ARTICLE_CATS, UGC,
  USER, TIERS, ORDERS, ADDRESSES, SHIPPING, PAYMENTS, PROVINCES,
});
