// Live booking calendar — the hero centerpiece. // Mocks "Studio Lia · estúdio de beleza" with appointments staggering in. const SBCalendar = () => { // Each appt: day idx (0..5), startHour (decimal), durationHours, service, client, tone, delay const appts = [ { d: 0, s: 9.5, dur: 1.0, service: "Manicure", client: "Camila A.", tone: "clay", delay: 0.4 }, { d: 0, s: 11, dur: 1.5, service: "Eletricista", client: "Júlia P.", tone: "rose", delay: 0.7 }, { d: 1, s: 9, dur: 2, service: "Coloração + Corte", client: "Marina V.", tone: "sand", delay: 1.0 }, { d: 1, s: 14, dur: 1, service: "Aula de piano", client: "Helena R.", tone: "green", delay: 1.3 }, { d: 2, s: 10, dur: 1.5, service: "Manicure + Pedicure", client: "Larissa M.", tone: "clay", delay: 1.55 }, { d: 2, s: 15.5, dur: 1.5, service: "Mecânico", client: "Ana B.", tone: "rose", delay: 1.8 }, { d: 3, s: 9, dur: 1, service: "Limpeza de Pele", client: "Sofia C.", tone: "sand", delay: 2.0 }, { d: 3, s: 13.5, dur: 1.5, service: "Cílios Volume", client: "Bia F.", tone: "ink", delay: 2.25 }, { d: 4, s: 10.5, dur: 1, service: "Manicure Express", client: "Carla N.", tone: "clay", delay: 2.5 }, { d: 4, s: 16, dur: 1, service: "Corte + Escova", client: "Renata L.", tone: "green", delay: 3.0 }, { d: 5, s: 11, dur: 2, service: "Dia da Noiva", client: "Isabela G.", tone: "rose", delay: 3.4 }]; const days = [ { lab: "SEG", num: 11 }, { lab: "TER", num: 12 }, { lab: "QUA", num: 13 }, { lab: "QUI", num: 14, today: true }, { lab: "SEX", num: 15 }, { lab: "SÁB", num: 16 }]; // Visible time range 9 → 18 const startHour = 9; const endHour = 18; const rowH = 44; // matches CSS .time-row height const hours = endHour - startHour; const bodyHeight = hours * rowH; // "Now" line — Thursday-ish, 13:10 const nowHour = 13 + 10 / 60; const nowTop = (nowHour - startHour) * rowH; return (