// brands.jsx — fictional studio brand presets for white-label demonstration
// Each brand is a complete identity: name, mark, palette, type vibe, copy

const BRANDS = {
  halcyon: {
    id: 'halcyon',
    name: 'Halcyon Pilates',
    tagline: 'Reformer · Mat · Privates',
    initials: 'H',
    // palette
    accent:        '#5B7361',  // sage green
    accentDeep:    '#3F5544',  // deep sage (pressed)
    accentSoft:    '#E4ECDF',  // wash
    bg:            '#F5F1E8',  // warm cream
    surface:       '#FFFFFF',
    ink:           '#1F2A22',  // deep forest near-black
    inkSoft:       '#516056',  // muted forest
    border:        '#E2DDCC',
    // type
    displayFont:   "'Sora', sans-serif",
    bodyFont:      "'Open Sans', sans-serif",
    displayWeight: 700,
    // bookable items
    appointment: {
      title: 'Reformer Privates with Lena',
      duration: '55 minutes',
      provider: 'Lena Ortiz',
      date: 'Tue, May 14',
      time: '8:30 AM',
      price: 95,
      address: 'Halcyon Studio · 218 Atlantic Ave, Brooklyn',
      pricing: [
        { id: 'single',    label: 'Single session', sub: 'Pay-as-you-go',                price: 95,  perSession: 95, sessions: 1,  recurring: false },
        { id: 'pack5',     label: '5-session pack', sub: 'Save $50 · 1 year to use',     price: 425, perSession: 85, sessions: 5,  recurring: false, badge: 'Save $50' },
        { id: 'pack10',    label: '10-session pack',sub: 'Save $150 · 1 year to use',    price: 800, perSession: 80, sessions: 10, recurring: false, badge: 'Best value' },
      ],
    },
    class: {
      title: 'Reformer Flow',
      instructor: 'Marisol Pena',
      date: 'Wed, May 15',
      time: '7:00 AM',
      duration: '50 min',
      location: 'Studio A',
      price: 38,
      image: 'https://images.unsplash.com/photo-1518611012118-696072aa579a?auto=format&fit=crop&w=900&q=70',
      pricing: [
        { id: 'dropin',    label: 'Drop-in',           sub: 'This class only',           price: 38,  perSession: 38, sessions: 1,  recurring: false },
        { id: 'pack5',     label: '5-class pack',      sub: 'Save $20 · 90 days to use', price: 170, perSession: 34, sessions: 5,  recurring: false, badge: 'Save $20' },
        { id: 'pack10',    label: '10-class pack',     sub: 'Save $60 · 90 days to use', price: 320, perSession: 32, sessions: 10, recurring: false, badge: 'Save $60' },
        { id: 'unlimited', label: 'Unlimited monthly', sub: 'All classes · cancel anytime', price: 219, perSession: null, sessions: null, recurring: true, badge: 'Most popular' },
      ],
    },
    event: {
      title: 'Spring Reformer Workshop',
      subtitle: 'Three-hour intensive for intermediate practitioners',
      date: 'Saturday, June 8',
      time: '10:00 AM – 1:00 PM',
      location: 'Halcyon Studio · 218 Atlantic Ave, Brooklyn',
      price: 65,
    },
    membership: {
      title: 'Unlimited Monthly',
      subtitle: 'Unlimited classes & 10% off privates',
      cadence: 'Billed every 4 weeks',
      price: 219,
    },
    packs: [
      { id: 'intro',  label: 'Intro offer',         sub: '2 weeks unlimited · first-timers only', price: 49,  credits: null, expires: '14 days', perCredit: null, badge: 'New here?' },
      { id: 'pack5',  label: '5-class pack',        sub: '90 days to use · transferable',        price: 170, credits: 5,    expires: '90 days', perCredit: 34 },
      { id: 'pack10', label: '10-class pack',       sub: '90 days to use · best value',          price: 320, credits: 10,   expires: '90 days', perCredit: 32, badge: 'Save $60' },
      { id: 'pack20', label: '20-class pack',       sub: '120 days to use',                       price: 600, credits: 20,   expires: '120 days', perCredit: 30, badge: 'Best value' },
    ],
    giftCard: {
      headline: 'Halcyon · Gift Card',
      footer: 'Redeemable for any class, private session, or pack.',
    },
  },
  forge: {
    id: 'forge',
    name: 'Forge Strength',
    tagline: 'Personal training · Open gym · Group',
    initials: 'F',
    accent:        '#0A0A0A',  // pure black
    accentDeep:    '#000000',
    accentSoft:    '#EFEFEF',  // light grey wash
    bg:            '#F4F4F4',  // light grey page
    surface:       '#FFFFFF',
    ink:           '#0A0A0A',
    inkSoft:       '#6B6B6B',
    border:        '#E2E2E2',
    displayFont:   "'Sora', sans-serif",
    bodyFont:      "'Open Sans', sans-serif",
    displayWeight: 800,
    appointment: {
      title: '1:1 Strength Session with Cole',
      duration: '60 minutes',
      provider: 'Cole Whittaker',
      date: 'Tue, May 14',
      time: '6:30 AM',
      price: 110,
      address: 'Forge Strength · 4421 Williamson Ave, Austin',
      pricing: [
        { id: 'single', label: 'Single session', sub: 'Pay-as-you-go',                  price: 110, perSession: 110, sessions: 1,  recurring: false },
        { id: 'pack5',  label: '5-session pack', sub: 'Save $50 · 1 year to use',       price: 500, perSession: 100, sessions: 5,  recurring: false, badge: 'Save $50' },
        { id: 'pack10', label: '10-session pack',sub: 'Save $200 · 1 year to use',     price: 900, perSession: 90,  sessions: 10, recurring: false, badge: 'Best value' },
      ],
    },
    class: {
      title: 'Power Hour',
      instructor: 'Devin Pierce',
      date: 'Wed, May 15',
      time: '6:00 PM',
      duration: '60 min',
      location: 'Main Floor',
      price: 32,
      image: 'https://images.unsplash.com/photo-1534438327276-14e5300c3a48?auto=format&fit=crop&w=900&q=70',
      pricing: [
        { id: 'dropin',    label: 'Drop-in',            sub: 'This class only',            price: 32,  perSession: 32, sessions: 1,  recurring: false },
        { id: 'pack5',     label: '5-class pack',       sub: 'Save $20 · 90 days to use',  price: 140, perSession: 28, sessions: 5,  recurring: false, badge: 'Save $20' },
        { id: 'pack10',    label: '10-class pack',      sub: 'Save $50 · 90 days to use',  price: 270, perSession: 27, sessions: 10, recurring: false, badge: 'Save $50' },
        { id: 'unlimited', label: 'Unlimited monthly',  sub: 'Group + open gym · cancel anytime', price: 189, perSession: null, sessions: null, recurring: true, badge: 'Most popular' },
      ],
    },
    event: {
      title: 'Hyrox Prep Workshop',
      subtitle: 'Form check, strategy, and a simulated heat',
      date: 'Saturday, June 8',
      time: '9:00 AM – 12:00 PM',
      location: 'Forge Strength · Austin',
      price: 75,
    },
    membership: {
      title: 'Unlimited Membership',
      subtitle: 'Unlimited group + open gym access',
      cadence: 'Billed monthly',
      price: 189,
    },
    packs: [
      { id: 'intro',  label: 'Intro offer',     sub: '3 classes · first-timers only', price: 39,  credits: 3,  expires: '21 days', perCredit: 13, badge: 'New here?' },
      { id: 'pack5',  label: '5-class pack',    sub: '60 days to use',                price: 140, credits: 5,  expires: '60 days', perCredit: 28 },
      { id: 'pack10', label: '10-class pack',   sub: '90 days to use · best value',   price: 270, credits: 10, expires: '90 days', perCredit: 27, badge: 'Save $50' },
      { id: 'pack20', label: '20-class pack',   sub: '120 days to use',               price: 500, credits: 20, expires: '120 days', perCredit: 25, badge: 'Best value' },
    ],
    giftCard: {
      headline: 'Forge · Gift Card',
      footer: 'Redeemable for sessions, classes, or merch.',
    },
  },
  sol: {
    id: 'sol',
    name: 'Sol Yoga',
    tagline: 'Vinyasa · Yin · Restorative',
    initials: 'S',
    accent:        '#C99A4D',
    accentDeep:    '#8C6624',
    accentSoft:    '#F5EBD8',
    bg:            '#FBF6EC',
    surface:       '#FFFFFF',
    ink:           '#1F1A14',
    inkSoft:       '#6B5F4D',
    border:        '#EAE2CD',
    displayFont:   "'Sora', sans-serif",
    bodyFont:      "'Open Sans', sans-serif",
    displayWeight: 600,
    appointment: {
      title: 'Private Yoga with Yasmin',
      duration: '60 minutes',
      provider: 'Yasmin Castillo',
      date: 'Tue, May 14',
      time: '9:00 AM',
      price: 85,
      address: 'Sol Yoga · 1812 Larimer St, Denver',
      pricing: [
        { id: 'single', label: 'Single session', sub: 'Pay-as-you-go',                  price: 85,  perSession: 85, sessions: 1,  recurring: false },
        { id: 'pack5',  label: '5-session pack', sub: 'Save $50 · 1 year to use',       price: 375, perSession: 75, sessions: 5,  recurring: false, badge: 'Save $50' },
        { id: 'pack10', label: '10-session pack',sub: 'Save $150 · 1 year to use',     price: 700, perSession: 70, sessions: 10, recurring: false, badge: 'Best value' },
      ],
    },
    class: {
      title: 'Slow Vinyasa',
      instructor: 'Anika Rao',
      date: 'Wed, May 15',
      time: '5:30 PM',
      duration: '60 min',
      location: 'East Studio',
      price: 28,
      image: 'https://images.unsplash.com/photo-1506126613408-eca07ce68773?auto=format&fit=crop&w=900&q=70',
      pricing: [
        { id: 'dropin',    label: 'Drop-in',            sub: 'This class only',            price: 28,  perSession: 28, sessions: 1,  recurring: false },
        { id: 'pack5',     label: '5-class pack',       sub: 'Save $15 · 90 days to use',  price: 125, perSession: 25, sessions: 5,  recurring: false, badge: 'Save $15' },
        { id: 'pack10',    label: '10-class pack',      sub: 'Save $40 · 90 days to use',  price: 240, perSession: 24, sessions: 10, recurring: false, badge: 'Save $40' },
        { id: 'unlimited', label: 'Unlimited monthly',  sub: 'All classes · cancel anytime', price: 159, perSession: null, sessions: null, recurring: true, badge: 'Most popular' },
      ],
    },
    event: {
      title: 'New Moon Yin & Sound',
      subtitle: 'Yin yoga, sound bath, and tea',
      date: 'Saturday, June 8',
      time: '7:00 PM – 9:00 PM',
      location: 'Sol Yoga · Denver',
      price: 45,
    },
    membership: {
      title: 'Unlimited Yoga',
      subtitle: 'Every class, every day',
      cadence: 'Billed monthly',
      price: 159,
    },
    packs: [
      { id: 'intro',  label: 'New student offer', sub: '2 weeks unlimited · first-timers only', price: 39,  credits: null, expires: '14 days', perCredit: null, badge: 'New here?' },
      { id: 'pack5',  label: '5-class pack',      sub: '60 days to use',                       price: 125, credits: 5,    expires: '60 days', perCredit: 25 },
      { id: 'pack10', label: '10-class pack',     sub: '90 days to use · best value',          price: 240, credits: 10,   expires: '90 days', perCredit: 24, badge: 'Save $40' },
      { id: 'pack20', label: '20-class pack',     sub: '120 days to use',                      price: 440, credits: 20,   expires: '120 days', perCredit: 22, badge: 'Best value' },
    ],
    giftCard: {
      headline: 'Sol · Gift Card',
      footer: 'Redeemable for any class, private, or workshop.',
    },
  },
};

// Apply brand CSS vars to a root element so children can read --studio-* tokens
function applyBrand(brand) {
  const r = document.documentElement.style;
  r.setProperty('--studio-bg',         brand.bg);
  r.setProperty('--studio-surface',    brand.surface);
  r.setProperty('--studio-ink',        brand.ink);
  r.setProperty('--studio-ink-soft',   brand.inkSoft);
  r.setProperty('--studio-accent',     brand.accent);
  r.setProperty('--studio-accent-deep',brand.accentDeep);
  r.setProperty('--studio-accent-soft',brand.accentSoft);
  r.setProperty('--studio-border',     brand.border);
  r.setProperty('--studio-display',    brand.displayFont);
  r.setProperty('--studio-body',       brand.bodyFont);
}

Object.assign(window, { BRANDS, applyBrand });
