// Desipass — Desi events marketplace in Germany
// Real-world artists + plausible German venues. Copy is English;
// cities/venues/addresses stay German (shows are IN Germany).

const DESI_EVENTS = [
  {
    id: 'diljit-dilluminati-berlin',
    artist: 'Diljit Dosanjh',
    title: 'Dil-Luminati Tour 2026',
    subtitle: 'Europe Leg · Berlin',
    date: 'Sat, 16 May 2026',
    dateShort: '16 MAY',
    day: 'Saturday',
    time: '20:00',
    doors: '18:30',
    venue: 'Mercedes-Benz Arena',
    address: 'Mercedes-Platz 1, 10243 Berlin',
    city: 'Berlin',
    district: 'Friedrichshain',
    lat: 52.5058, lng: 13.4423,
    priceFrom: 65,
    priceTo: 285,
    currency: '€',
    category: 'Concert',
    tags: ['Punjabi', 'Live', 'Big Arena'],
    poster: ['#E54558', '#3B2E4D'],
    posterStyle: 'concert',
    status: 'selling-fast',
    featured: true,
    attendees: 14200,
    description: 'Punjfrom ki shaan Diljit Dosanjh brings his sold-out Dil-Luminati World Tour to Berlin. Expect the biggest Punjabi stage production ever seen in Germany — pyrotechnics, LED walls, and two hours of hits from Do You Know to G.O.A.T.',
    organiser: {
      id: 'nri-events-gmbh',
      name: 'NRI Events GmbH',
      city: 'Berlin',
      followers: 12400,
      verified: true,
      events: 47,
    },
    ageRestriction: '16+',
    duration: '3 hrs (incl. opening act)',
    language: 'Punjabi / Hindi / English',
  },
  {
    id: 'shreya-ghoshal-frankfurt',
    artist: 'Shreya Ghoshal',
    title: 'All Hearts Tour',
    subtitle: 'An Evening of Melodies',
    date: 'Fri, 22 May 2026',
    dateShort: '22 MAY',
    day: 'Friday',
    time: '19:30',
    doors: '18:00',
    venue: 'Festhalle Frankfurt',
    address: 'Ludwig-Erhard-Anlage 1, 60327 Frankfurt am Main',
    city: 'Frankfurt',
    district: 'Bockenheim',
    lat: 50.1120, lng: 8.6497,
    priceFrom: 49,
    priceTo: 195,
    currency: '€',
    category: 'Concert',
    tags: ['Bollywood', 'Classical', 'Live orchestra'],
    poster: ['#B83C8C', '#3B2E4D'],
    posterStyle: 'elegant',
    status: null,
    featured: true,
    attendees: 8500,
    description: 'The voice of a generation returns to Germany. Shreya Ghoshal performs a career-spanning set with a 12-piece live orchestra — from Devdas to Padmaavat, plus new material from her debut Bengali album.',
    organiser: {
      id: 'saregama-live-eu',
      name: 'Saregama Live EU',
      city: 'Frankfurt',
      followers: 8900,
      verified: true,
      events: 29,
    },
    ageRestriction: 'All ages',
    duration: '2 hrs 30 min',
    language: 'Hindi / Bengali',
  },
  {
    id: 'ap-dhillon-munich',
    artist: 'AP Dhillon',
    title: 'The Brownprint Tour',
    subtitle: 'Munich Stop',
    date: 'Sat, 30 May 2026',
    dateShort: '30 MAY',
    day: 'Saturday',
    time: '21:00',
    doors: '19:30',
    venue: 'Olympiahalle Munich',
    address: 'Spiridon-Louis-Ring 21, 80809 Munich',
    city: 'Munich',
    district: 'Milbertshofen',
    lat: 48.1730, lng: 11.5470,
    priceFrom: 55,
    priceTo: 220,
    currency: '€',
    category: 'Concert',
    tags: ['Punjabi rap', 'Hip-hop', 'Trap'],
    poster: ['#1a1a2e', '#E54558'],
    posterStyle: 'dark',
    status: 'selling-fast',
    featured: true,
    attendees: 11200,
    description: 'Brown Munde hitmaker AP Dhillon returns to Europe. Raw Punjabi vocals meet 808s, neon visuals and a live band. First time in Munich.',
    organiser: {
      id: 'run-up-records',
      name: 'Run-Up Records',
      city: 'Berlin',
      followers: 5600,
      verified: true,
      events: 18,
    },
    ageRestriction: '18+',
    duration: '2 hrs',
    language: 'Punjabi / English',
  },
  {
    id: 'karan-aujla-hamburg',
    artist: 'Karan Aujla',
    title: 'It Was All A Dream · EU Tour',
    subtitle: 'Hamburg Live',
    date: 'Fri, 5 June 2026',
    dateShort: '05 JUN',
    day: 'Friday',
    time: '20:00',
    doors: '18:30',
    venue: 'Barclays Arena',
    address: 'Sylvesterallee 10, 22525 Hamburg',
    city: 'Hamburg',
    district: 'Bahrenfeld',
    lat: 53.5889, lng: 9.8988,
    priceFrom: 59,
    priceTo: 249,
    currency: '€',
    category: 'Concert',
    tags: ['Punjabi rap', 'Live band'],
    poster: ['#3B2E4D', '#E54558'],
    posterStyle: 'gradient',
    status: null,
    featured: true,
    attendees: 9800,
    description: "Karan Aujla's long-awaited European tour lands in Hamburg. Performing the full IWAAD album live for the first time, plus every banger from Tauba Tauba to Softly.",
    organiser: {
      id: 'four-you-entertainment',
      name: '4You Entertainment',
      city: 'Hamburg',
      followers: 7200,
      verified: true,
      events: 34,
    },
    ageRestriction: '16+',
    duration: '2 hrs 15 min',
    language: 'Punjabi',
  },
  {
    id: 'sunidhi-chauhan-stuttgart',
    artist: 'Sunidhi Chauhan',
    title: 'The Live Experience',
    subtitle: 'Stuttgart',
    date: 'Sun, 14 June 2026',
    dateShort: '14 JUN',
    day: 'Sunday',
    time: '19:00',
    doors: '17:30',
    venue: 'Schleyer-Halle',
    address: 'Mercedesstraße 69, 70372 Stuttgart',
    city: 'Stuttgart',
    district: 'Bad Cannstatt',
    lat: 48.7920, lng: 9.2318,
    priceFrom: 45,
    priceTo: 175,
    currency: '€',
    category: 'Concert',
    tags: ['Bollywood', 'Live band'],
    poster: ['#E54558', '#B83C8C'],
    posterStyle: 'vibrant',
    status: null,
    featured: false,
    attendees: 6400,
    description: 'Three-time National Award winner Sunidhi Chauhan brings her explosive live show to Stuttgart. Crazy Kiya Re, Sheila Ki Jawani, Bhaag D.K. Bose — all in one night.',
    organiser: {
      id: 'desi-beats-de',
      name: 'Desi Beats DE',
      city: 'Stuttgart',
      followers: 3200,
      verified: true,
      events: 22,
    },
    ageRestriction: 'All ages',
    duration: '2 hrs',
    language: 'Hindi',
  },
  {
    id: 'bhangra-empire-cologne',
    artist: 'Bhangra Empire',
    title: 'Holi Festival 2026',
    subtitle: "NRW's biggest Holi",
    date: 'Sat, 21 March 2026',
    dateShort: '21 MAR',
    day: 'Saturday',
    time: '14:00',
    doors: '13:00',
    venue: 'LANXESS arena',
    address: 'Willy-Brandt-Platz 3, 50679 Cologne',
    city: 'Cologne',
    district: 'Deutz',
    lat: 50.9383, lng: 6.9830,
    priceFrom: 25,
    priceTo: 89,
    currency: '€',
    category: 'Festival',
    tags: ['Holi', 'DJ', 'Food', 'Family'],
    poster: ['#FFA500', '#E54558'],
    posterStyle: 'festival',
    status: 'selling-fast',
    featured: true,
    attendees: 18000,
    description: "10 DJs, 5 hours of color throws, unlimited street food. Germany's biggest Holi celebration returns to Cologne. Family-friendly until 18:00, then club vibes until midnight.",
    organiser: {
      id: 'desi-beats-de',
      name: 'Desi Beats DE',
      city: 'Stuttgart',
      followers: 3200,
      verified: true,
      events: 22,
    },
    ageRestriction: 'All ages (18+ after 20:00)',
    duration: '10 hrs',
    language: 'English / Hindi / Punjabi',
  },
  {
    id: 'arijit-singh-berlin',
    artist: 'Arijit Singh',
    title: 'Live in Concert',
    subtitle: 'Berlin Premiere',
    date: 'Fri, 11 July 2026',
    dateShort: '11 JUL',
    day: 'Friday',
    time: '20:00',
    doors: '18:30',
    venue: 'Uber Arena',
    address: 'Mühlenstraße 12-30, 10243 Berlin',
    city: 'Berlin',
    district: 'Friedrichshain',
    lat: 52.5063, lng: 13.4430,
    priceFrom: 69,
    priceTo: 295,
    currency: '€',
    category: 'Concert',
    tags: ['Bollywood', 'Romantic', 'Live band'],
    poster: ['#2A1F3D', '#E54558'],
    posterStyle: 'romantic',
    status: null,
    featured: true,
    attendees: 12600,
    description: 'The king of melodies. Three hours of heart-melting hits — Tum Hi Ho, Channa Mereya, Kesariya, Apna Bana Le. His first ever Berlin show.',
    organiser: {
      id: 'nri-events-gmbh',
      name: 'NRI Events GmbH',
      city: 'Berlin',
      followers: 12400,
      verified: true,
      events: 47,
    },
    ageRestriction: 'All ages',
    duration: '3 hrs',
    language: 'Hindi',
  },
  {
    id: 'comedy-zakir-berlin',
    artist: 'Zakir Khan',
    title: 'Mannpasand Tour',
    subtitle: 'Sakht Launda in Berlin',
    date: 'Sat, 18 April 2026',
    dateShort: '18 APR',
    day: 'Saturday',
    time: '19:30',
    doors: '19:00',
    venue: 'Admiralspalast',
    address: 'Friedrichstraße 101, 10117 Berlin',
    city: 'Berlin',
    district: 'Mitte',
    lat: 52.5209, lng: 13.3882,
    priceFrom: 35,
    priceTo: 89,
    currency: '€',
    category: 'Comedy',
    tags: ['Stand-up', 'Hindi comedy'],
    poster: ['#F5D776', '#3B2E4D'],
    posterStyle: 'comedy',
    status: null,
    featured: false,
    attendees: 1800,
    description: "India's most-loved storyteller brings his brand-new Hindi stand-up show to Berlin. Two-night residency — second night usually sells out 6 weeks in advance.",
    organiser: {
      id: 'only-much-louder',
      name: 'Only Much Louder EU',
      city: 'Berlin',
      followers: 4100,
      verified: true,
      events: 52,
    },
    ageRestriction: '16+',
    duration: '1 hr 45 min',
    language: 'Hindi',
  },
  {
    id: 'bollywood-night-dusseldorf',
    artist: 'DJ NYK + MC Kash',
    title: 'Bollywood Night XXL',
    subtitle: "Düsseldorf's biggest Desi club night",
    date: 'Sat, 25 April 2026',
    dateShort: '25 APR',
    day: 'Saturday',
    time: '22:00',
    doors: '21:30',
    venue: 'Stahlwerk',
    address: 'Ronsdorfer Straße 134, 40233 Düsseldorf',
    city: 'Düsseldorf',
    district: 'Flingern',
    lat: 51.2194, lng: 6.8089,
    priceFrom: 15,
    priceTo: 45,
    currency: '€',
    category: 'Club',
    tags: ['DJ set', 'Bollywood', 'Punjabi'],
    poster: ['#8B1538', '#E54558'],
    posterStyle: 'club',
    status: null,
    featured: false,
    attendees: 2400,
    description: '4 DJs, 3 rooms, one wild Bollywood-Punjabi-Afrobeats night. Free masala chai until midnight.',
    organiser: {
      id: 'rangtaal-events',
      name: 'Rangtaal Events',
      city: 'Düsseldorf',
      followers: 2100,
      verified: false,
      events: 14,
    },
    ageRestriction: '18+',
    duration: '6 hrs',
    language: 'Mixed',
  },
  {
    id: 'hanumankind-hamburg',
    artist: 'Hanumankind',
    title: 'Big Dawgs Tour',
    subtitle: 'First Europe run',
    date: 'Thu, 7 May 2026',
    dateShort: '07 MAY',
    day: 'Thursday',
    time: '20:30',
    doors: '19:00',
    venue: 'Gruenspan',
    address: 'Große Freiheit 58, 22767 Hamburg',
    city: 'Hamburg',
    district: 'St. Pauli',
    lat: 53.5495, lng: 9.9609,
    priceFrom: 32,
    priceTo: 65,
    currency: '€',
    category: 'Concert',
    tags: ['Hip-hop', 'Indie rap'],
    poster: ['#0F0F0F', '#E54558'],
    posterStyle: 'underground',
    status: 'selling-fast',
    featured: false,
    attendees: 900,
    description: 'Big Dawgs. Run It Up. The Bangalore rapper reshaping Indian hip-hop. Intimate first European run — 900-cap rooms only.',
    organiser: {
      id: 'mass-appeal-india',
      name: 'Mass Appeal India',
      city: 'Mumbai',
      followers: 6800,
      verified: true,
      events: 19,
    },
    ageRestriction: '16+',
    duration: '1 hr 30 min',
    language: 'English / Malayalam',
  },
  {
    id: 'garba-navratri-frankfurt',
    artist: 'Falguni Pathak',
    title: 'Navratri Garba Nights',
    subtitle: '9 nights · 9 chaniya cholis',
    date: 'Sat, 4 October 2026',
    dateShort: '04 OCT',
    day: 'Saturday',
    time: '19:00',
    doors: '18:00',
    venue: 'Eissporthalle Frankfurt',
    address: 'Am Bornheimer Hang 4, 60386 Frankfurt am Main',
    city: 'Frankfurt',
    district: 'Ostend',
    lat: 50.1250, lng: 8.7180,
    priceFrom: 22,
    priceTo: 75,
    currency: '€',
    category: 'Festival',
    tags: ['Garba', 'Gujarati', 'Family'],
    poster: ['#D4007A', '#F5A623'],
    posterStyle: 'festival',
    status: null,
    featured: false,
    attendees: 4200,
    description: 'The queen of Garba. Dandiya, traditional live dhol, authentic Gujarati thali included. Family-friendly cultural celebration.',
    organiser: {
      id: 'gujarat-samaj-de',
      name: 'Gujarat Samaj Germany',
      city: 'Frankfurt',
      followers: 5900,
      verified: true,
      events: 38,
    },
    ageRestriction: 'All ages',
    duration: '4 hrs',
    language: 'Gujarati / Hindi',
  },
  {
    id: 'dance-deewane-hamburg',
    artist: 'Madhuri Dixit',
    title: 'Dance Deewane Live',
    subtitle: 'A Dance Extravaganza',
    date: 'Sun, 24 May 2026',
    dateShort: '24 MAY',
    day: 'Sunday',
    time: '18:00',
    doors: '16:30',
    venue: 'Mehr! Theater am Großmarkt',
    address: 'Banksstraße 28, 20097 Hamburg',
    city: 'Hamburg',
    district: 'Hammerbrook',
    lat: 53.5461, lng: 10.0196,
    priceFrom: 59,
    priceTo: 189,
    currency: '€',
    category: 'Theatre',
    tags: ['Dance', 'Bollywood', 'Stage show'],
    poster: ['#C41E3A', '#F5D776'],
    posterStyle: 'elegant',
    status: null,
    featured: false,
    attendees: 3600,
    description: 'The Dhak Dhak girl in a never-before-seen dance spectacular. 40 dancers, 12 costume changes, all your favourite choreographies from Tezafrom to Kalank.',
    organiser: {
      id: 'saregama-live-eu',
      name: 'Saregama Live EU',
      city: 'Frankfurt',
      followers: 8900,
      verified: true,
      events: 29,
    },
    ageRestriction: 'All ages',
    duration: '2 hrs 30 min',
    language: 'Hindi / English',
  },
];

const DESI_CATEGORIES = [
  { id: 'all', label: 'All', emoji: '✨' },
  { id: 'concert', label: 'Concerts', emoji: '🎤' },
  { id: 'festival', label: 'Festivals', emoji: '🎉' },
  { id: 'club', label: 'Club Nights', emoji: '🪩' },
  { id: 'comedy', label: 'Comedy', emoji: '🎭' },
  { id: 'theatre', label: 'Theatre', emoji: '🎬' },
];

const DESI_CITIES = [
  { id: 'berlin', label: 'Berlin', count: 18, img: 'berlin' },
  { id: 'frankfurt', label: 'Frankfurt', count: 12, img: 'frankfurt' },
  { id: 'munich', label: 'Munich', count: 9, img: 'munich' },
  { id: 'hamburg', label: 'Hamburg', count: 8, img: 'hamburg' },
  { id: 'cologne', label: 'Cologne', count: 7, img: 'cologne' },
  { id: 'stuttgart', label: 'Stuttgart', count: 6, img: 'stuttgart' },
  { id: 'dusseldorf', label: 'Düsseldorf', count: 5, img: 'dusseldorf' },
];

const DESI_COLORS = {
  brandRed: '#E54558',
  brandPurple: '#3B2E4D',
  brandPink: '#B83C8C',
  brandGreen: '#1a9d3d',
  gradient: 'linear-gradient(135deg, #E54558 0%, #B83C8C 50%, #3B2E4D 100%)',
  gradientSoft: 'linear-gradient(135deg, rgba(229,69,88,0.08) 0%, rgba(59,46,77,0.08) 100%)',
  gradientText: 'linear-gradient(266deg, #3B2E4D 0%, #E54558 100%)',

  bg: '#ffffff',
  bgSoft: '#faf7fb',
  bgTint: '#fdf4f6',
  ink: '#16111f',
  ink2: '#4a3f55',
  ink3: '#7a7185',
  ink4: '#a8a0b0',
  line: '#ebe5ee',
  lineStrong: '#d9d1dd',

  success: '#1a9d3d',
  warning: '#e8910b',
  danger: '#c62828',
};

// Ticket tiers for any event
function getTiersForEvent(event) {
  const base = event.priceFrom;
  if (event.category === 'Club') {
    return [
      { id: 'early', name: 'Early Bird', desc: 'Until 20:00 — limited', price: base, fee: 2.50, capacity: 200, sold: 145 },
      { id: 'regular', name: 'Regular', desc: 'General entry', price: base + 8, fee: 2.50, capacity: 800, sold: 340 },
      { id: 'vip', name: 'VIP Table', desc: '4 guests, 1 bottle incl.', price: event.priceTo, fee: 5.00, capacity: 20, sold: 14, group: true, groupSize: 4 },
    ];
  }
  if (event.category === 'Festival') {
    return [
      { id: 'early', name: 'Early Bird', desc: 'Limited — 15% off', price: base, fee: 3.50, capacity: 500, sold: 487, badge: 'Almost gone' },
      { id: 'regular', name: 'Standard', desc: 'General admission', price: base + 15, fee: 3.50, capacity: 4000, sold: 1820 },
      { id: 'family', name: 'Family Pack (4)', desc: 'For up to 4 people', price: (base + 15) * 3.5, fee: 5.00, capacity: 200, sold: 88, group: true, groupSize: 4 },
      { id: 'vip', name: 'VIP Pass', desc: 'Early entry · Backstage · Food', price: event.priceTo, fee: 8.00, capacity: 100, sold: 62 },
    ];
  }
  // Concerts, theatre, comedy — seated
  return [
    { id: 'balcony', name: 'Balcony', desc: 'Upper-tier view seats', price: base, fee: 4.50, capacity: 800, sold: 412, color: '#c62828' },
    { id: 'upper', name: 'Upper Tier Side', desc: 'Tier 3 · Side view', price: base + 25, fee: 4.50, capacity: 1200, sold: 980, color: '#e8910b' },
    { id: 'main', name: 'Stalls Tier 2', desc: 'Good center seats', price: base + 60, fee: 5.00, capacity: 1800, sold: 1520, color: '#1a9d3d' },
    { id: 'premium', name: 'Stalls Premium', desc: 'Close to stage', price: base + 120, fee: 6.00, capacity: 600, sold: 540, color: '#3B2E4D' },
    { id: 'vip', name: 'VIP Meet & Greet', desc: 'Backstage pass · Photo op', price: event.priceTo, fee: 8.00, capacity: 80, sold: 74, badge: 'Almost gone', color: '#E54558' },
  ];
}

const CITY_CATEGORY_COUNTS = {
  berlin: { concert: 8, festival: 3, club: 4, comedy: 2, theatre: 1 },
  frankfurt: { concert: 5, festival: 4, club: 2, comedy: 1, theatre: 0 },
  munich: { concert: 4, festival: 2, club: 1, comedy: 1, theatre: 1 },
  hamburg: { concert: 4, festival: 1, club: 2, comedy: 0, theatre: 1 },
};

function findEvent(id) {
  return DESI_EVENTS.find(e => e.id === id) || DESI_EVENTS[0];
}

// English number format — "from 65" (no decimal needed)
function fmtEur(n, includeCents = true) {
  if (includeCents) {
    return '€' + n.toFixed(2);
  }
  return '€' + Math.round(n);
}

window.findEvent = findEvent;
window.fmtEur = fmtEur;
window.DESI_EVENTS = DESI_EVENTS;
window.DESI_CATEGORIES = DESI_CATEGORIES;
window.DESI_CITIES = DESI_CITIES;
window.DESI_COLORS = DESI_COLORS;
window.getTiersForEvent = getTiersForEvent;
window.CITY_CATEGORY_COUNTS = CITY_CATEGORY_COUNTS;
