{"version":3,"file":"PartnerTermin.DqqDU6fa.mjs","names":["useState","useMemo"],"sources":["https:/framerusercontent.com/modules/mNl0UyQV0BkRz9K629uI/wQ7pzugDHeN4su0hApR8/PartnerTermin.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// ─── Helpers ──────────────────────────────────────────────────────────────────\nconst WEEKDAY_LABELS=[\"SO\",\"MO\",\"DI\",\"MI\",\"DO\",\"FR\",\"SA\"];const MONTH_NAMES=[\"Januar\",\"Februar\",\"M\\xe4rz\",\"April\",\"Mai\",\"Juni\",\"Juli\",\"August\",\"September\",\"Oktober\",\"November\",\"Dezember\"];// Alle möglichen Slots 08:00–17:00 (halbstündig, letzter Start 17:00)\nconst ALL_TIME_SLOTS=[\"08:00\",\"08:30\",\"09:00\",\"09:30\",\"10:00\",\"10:30\",\"11:00\",\"11:30\",\"12:00\",\"12:30\",\"13:00\",\"13:30\",\"14:00\",\"14:30\",\"15:00\",\"15:30\",\"16:00\",\"16:30\",\"17:00\"];// ── Pseudo-random helpers ─────────────────────────────────────────────────────\n// Seed-basierter LCG → stabile Werte beim Zurücknavigieren\nfunction seededRandom(seed){let s=seed;return()=>{s=s*1664525+1013904223&4294967295;return(s>>>0)/4294967295;};}// ── Max-Datum: letzter Tag des Monats, der 3 Monate nach heute beginnt ────────\nfunction getMaxDate(){const today=new Date;// Monat +3 → letzter Tag dieses Monats\nconst max=new Date(today.getFullYear(),today.getMonth()+3,0);max.setHours(23,59,59,999);return max;}// ── Dritter Monat? (Monat-Index des 3. buchbaren Monats ab heute) ─────────────\nfunction isThirdMonth(year,month){const today=new Date;const thirdYear=today.getMonth()>=10?today.getFullYear()+1:today.getFullYear();const thirdMonth=(today.getMonth()+2)%12// +2 → 3. Monat (0-indexed)\n;// Wenn Monat +2 > 11, läuft er ins nächste Jahr\nconst targetYear=new Date(today.getFullYear(),today.getMonth()+2,1).getFullYear();const targetMonth=new Date(today.getFullYear(),today.getMonth()+2,1).getMonth();return year===targetYear&&month===targetMonth;}// ── ISO-Kalenderwoche (Mo=1 … So=7) ──────────────────────────────────────────\nfunction getISOWeek(date){const d=new Date(Date.UTC(date.getFullYear(),date.getMonth(),date.getDate()));d.setUTCDate(d.getUTCDate()+4-(d.getUTCDay()||7));const yearStart=new Date(Date.UTC(d.getUTCFullYear(),0,1));return Math.ceil(((d.getTime()-yearStart.getTime())/864e5+1)/7);}/**\n * Gibt die 2 gesperrten Wochentag-Nummern (1=Mo … 6=Sa) für eine gegebene\n * Kalenderwoche zurück. Seed basiert auf Jahr + KW → stabil.\n */function getBlockedWeekdays(isoYear,isoWeek){const seed=isoYear*1e4+isoWeek*17+3;const rand=seededRandom(seed);const weekdays=[1,2,3,4,5,6]// Mo–Sa\n;// Fisher-Yates shuffle, ersten 2 nehmen\nfor(let i=weekdays.length-1;i>0;i--){const j=Math.floor(rand()*(i+1));[weekdays[i],weekdays[j]]=[weekdays[j],weekdays[i]];}return new Set(weekdays.slice(0,2));}/**\n * Gibt die verfügbaren Slots für einen Tag zurück.\n * • 3. Monat ab heute → alle Slots frei\n * • Sonst: ~20% der Slots (min. 2)\n */function getAvailableSlots(year,month,day){// Im dritten Monat alles frei\nif(isThirdMonth(year,month))return ALL_TIME_SLOTS;const seed=year*1e5+month*1e3+day*7+42;const rand=seededRandom(seed);const available=ALL_TIME_SLOTS.filter(()=>rand()>.8);// Sicherheitsnetz: mindestens 2 Slots\nif(available.length<2){const fallbackRand=seededRandom(seed+99);const shuffled=[...ALL_TIME_SLOTS].sort(()=>fallbackRand()-.5);return shuffled.slice(0,2).sort();}return available;}function getDaysInMonth(year,month){return new Date(year,month+1,0).getDate();}function getFirstWeekday(year,month){return new Date(year,month,1).getDay();}function isSelectable(year,month,day){const d=new Date(year,month,day);// Vergangenheit sperren\nconst today=new Date;today.setHours(0,0,0,0);if(d<today)return false;// Mehr als 3 Monate in die Zukunft sperren\nif(d>getMaxDate())return false;const dow=d.getDay();// Sonntag (0) immer sperren\nif(dow===0)return false;// 2 random gesperrte Werktage pro KW prüfen\n// dow: 0=So,1=Mo,...,6=Sa → wir nutzen direkt JS-Wochentag (1=Mo…6=Sa)\nconst isoWeek=getISOWeek(d);const isoYear=d.getFullYear();const blocked=getBlockedWeekdays(isoYear,isoWeek);if(blocked.has(dow))return false;return true;}function formatDate(year,month,day){return`${String(day).padStart(2,\"0\")}.${String(month+1).padStart(2,\"0\")}.${year}`;}function getWeekdayName(year,month,day){const names=[\"Sonntag\",\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\"];return names[new Date(year,month,day).getDay()];}// ─── Main Component ───────────────────────────────────────────────────────────\nexport default function PartnerTermin(props){const today=new Date;const[viewYear,setViewYear]=useState(today.getFullYear());const[viewMonth,setViewMonth]=useState(today.getMonth());const[selectedDay,setSelectedDay]=useState(null);const[selectedTime,setSelectedTime]=useState(null);const[step,setStep]=useState(\"calendar\");const[contactMode,setContactMode]=useState(\"email\");const[name,setName]=useState(\"\");const[contact,setContact]=useState(\"\");const[message,setMessage]=useState(\"\");const[loading,setLoading]=useState(false);const[error,setError]=useState(\"\");const daysInMonth=getDaysInMonth(viewYear,viewMonth);const firstWeekday=getFirstWeekday(viewYear,viewMonth);// Verfügbare Slots für den gewählten Tag (stabil per memo)\nconst availableSlots=useMemo(()=>{if(selectedDay===null)return[];return getAvailableSlots(viewYear,viewMonth,selectedDay);},[viewYear,viewMonth,selectedDay]);// Max buchbarer Monat: heute.month + 2 (3. Monat, 0-indexed)\nconst maxDate=getMaxDate();const maxNavYear=maxDate.getFullYear();const maxNavMonth=maxDate.getMonth();const canGoNext=!(viewYear===maxNavYear&&viewMonth===maxNavMonth);const today2=new Date;const canGoPrev=!(viewYear===today2.getFullYear()&&viewMonth===today2.getMonth());function prevMonth(){if(!canGoPrev)return;if(viewMonth===0){setViewYear(y=>y-1);setViewMonth(11);}else setViewMonth(m=>m-1);setSelectedDay(null);setSelectedTime(null);}function nextMonth(){if(!canGoNext)return;if(viewMonth===11){setViewYear(y=>y+1);setViewMonth(0);}else setViewMonth(m=>m+1);setSelectedDay(null);setSelectedTime(null);}function selectDay(day){if(!isSelectable(viewYear,viewMonth,day))return;setSelectedDay(day);setSelectedTime(null);setStep(\"time\");}function selectTime(t){setSelectedTime(t);setStep(\"form\");}async function handleSubmit(){if(!name.trim()||!contact.trim()){setError(\"Bitte f\\xfclle alle Pflichtfelder aus.\");return;}setError(\"\");setLoading(true);const dateStr=formatDate(viewYear,viewMonth,selectedDay);const timeStr=selectedTime;const emailVal=contactMode===\"email\"?contact:\"\";const phoneVal=contactMode===\"phone\"?contact:\"\";const contactRow=contactMode===\"email\"?`<tr><td width=\"100\" style=\"font-size:12px;font-weight:700;color:rgba(15,15,18,0.4);vertical-align:top;padding-top:1px;\">E-Mail</td><td><a href=\"mailto:${emailVal}\" style=\"font-size:14px;font-weight:700;color:#8736EB;text-decoration:none;\">${emailVal}</a></td></tr>`:`<tr><td width=\"100\" style=\"font-size:12px;font-weight:700;color:rgba(15,15,18,0.4);vertical-align:top;padding-top:1px;\">Telefon</td><td><a href=\"tel:${phoneVal}\" style=\"font-size:14px;font-weight:700;color:#8736EB;text-decoration:none;\">${phoneVal}</a></td></tr>`;const ctaHref=contactMode===\"email\"?`mailto:${emailVal}`:`tel:${phoneVal}`;const messageBlock=message.trim()?`\n          <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin-bottom:32px;\">\n            <tr>\n              <td style=\"background:#fafafa;border:1px solid rgba(0,0,0,0.07);border-left:3px solid #8736EB;border-radius:14px;padding:20px 24px;\">\n                <p style=\"margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:rgba(15,15,18,0.35);\">Nachricht</p>\n                <p style=\"margin:0;font-size:14px;color:#2a2a35;line-height:1.65;\">${message}</p>\n              </td>\n            </tr>\n          </table>`:`<div style=\"margin-bottom:32px;\"></div>`;const htmlEmail=`<!DOCTYPE html>\n<html lang=\"de\">\n<head><meta charset=\"UTF-8\"/><meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\"/><title>Neue Partneranfrage – callana.ai</title></head>\n<body style=\"margin:0;padding:0;background:#f0eff5;font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;\">\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background:#f0eff5;padding:40px 16px;\">\n<tr><td align=\"center\">\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"max-width:580px;\">\n\n  <tr><td align=\"center\" style=\"padding-bottom:24px;\">\n    <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr>\n      <td style=\"background:linear-gradient(135deg,#8736EB 0%,#6C28C4 100%);border-radius:12px;padding:10px 20px;\">\n        <span style=\"color:#fff;font-size:15px;font-weight:800;letter-spacing:-0.01em;\">callana.ai</span>\n      </td>\n    </tr></table>\n  </td></tr>\n\n  <tr><td style=\"background:#ffffff;border-radius:20px;overflow:hidden;box-shadow:0 8px 48px rgba(0,0,0,0.10);\">\n    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n      <tr><td style=\"background:linear-gradient(90deg,#8736EB 0%,#A855F7 50%,#6C28C4 100%);height:4px;line-height:4px;font-size:4px;\">&nbsp;</td></tr>\n      <tr><td style=\"padding:36px 40px 40px;\">\n\n        <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin-bottom:20px;\"><tr>\n          <td style=\"background:rgba(135,54,235,0.09);border:1px solid rgba(135,54,235,0.22);border-radius:999px;padding:5px 14px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#8736EB;\">● &nbsp;Neue Partneranfrage</td>\n        </tr></table>\n\n        <h1 style=\"margin:0 0 6px;font-size:26px;font-weight:900;letter-spacing:-0.03em;line-height:1.1;color:#0f0f12;\">${name} m\\xf6chte Partner werden.</h1>\n        <p style=\"margin:0 0 32px;font-size:14px;color:rgba(15,15,18,0.45);line-height:1.6;\">Eine neue Terminanfrage ist \\xfcber das Partnerformular eingegangen.</p>\n        <div style=\"height:1px;background:rgba(0,0,0,0.07);margin-bottom:28px;\"></div>\n\n        <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin-bottom:24px;\"><tr>\n          <td style=\"background:#fafafa;border:1px solid rgba(0,0,0,0.07);border-radius:14px;padding:20px 24px;\">\n            <p style=\"margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:rgba(15,15,18,0.35);\">Wunschtermin</p>\n            <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr>\n              <td style=\"vertical-align:top;padding-right:20px;\">\n                <p style=\"margin:0 0 4px;font-size:11px;color:rgba(15,15,18,0.4);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;\">Datum</p>\n                <p style=\"margin:0;font-size:20px;font-weight:900;letter-spacing:-0.02em;color:#0f0f12;\">${dateStr}</p>\n              </td>\n              <td style=\"width:1px;background:rgba(0,0,0,0.07);\">&nbsp;</td>\n              <td style=\"vertical-align:top;padding-left:20px;\">\n                <p style=\"margin:0 0 4px;font-size:11px;color:rgba(15,15,18,0.4);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;\">Uhrzeit</p>\n                <p style=\"margin:0;font-size:20px;font-weight:900;letter-spacing:-0.02em;color:#8736EB;\">${timeStr} Uhr</p>\n              </td>\n            </tr></table>\n          </td>\n        </tr></table>\n\n        <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin-bottom:24px;\"><tr>\n          <td style=\"background:#fafafa;border:1px solid rgba(0,0,0,0.07);border-radius:14px;padding:20px 24px;\">\n            <p style=\"margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:rgba(15,15,18,0.35);\">Kontakt</p>\n            <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n              <tr><td width=\"100\" style=\"font-size:12px;font-weight:700;color:rgba(15,15,18,0.4);vertical-align:top;padding-top:1px;padding-bottom:12px;\">Name</td><td style=\"font-size:14px;font-weight:700;color:#0f0f12;padding-bottom:12px;\">${name}</td></tr>\n              ${contactRow}\n            </table>\n          </td>\n        </tr></table>\n\n        ${messageBlock}\n\n        <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr>\n          <td align=\"center\">\n            <a href=\"${ctaHref}\" style=\"display:inline-block;background:linear-gradient(135deg,#8736EB 0%,#6C28C4 100%);color:#fff;font-size:15px;font-weight:700;text-decoration:none;padding:14px 32px;border-radius:12px;letter-spacing:-0.01em;box-shadow:0 8px 24px rgba(135,54,235,0.35);\">Jetzt antworten →</a>\n          </td>\n        </tr></table>\n\n      </td></tr>\n    </table>\n  </td></tr>\n\n  <tr><td align=\"center\" style=\"padding-top:28px;\">\n    <p style=\"margin:0;font-size:12px;color:rgba(15,15,18,0.3);line-height:1.7;\">Diese E-Mail wurde automatisch \\xfcber das<br/><strong style=\"color:rgba(15,15,18,0.45);\">callana.ai Partnerformular</strong> generiert.</p>\n  </td></tr>\n\n</table>\n</td></tr>\n</table>\n</body>\n</html>`;try{await fetch(props.webhookUrl,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({name,email:emailVal,phone:phoneVal,date:dateStr,time:timeStr,message,htmlEmail,source:\"partner-termin\"})});setStep(\"success\");}catch{setError(\"Fehler beim Senden. Bitte versuche es erneut.\");}setLoading(false);}// ── Calendar grid ──\nconst calendarCells=[];for(let i=0;i<firstWeekday;i++)calendarCells.push(null);for(let d=1;d<=daysInMonth;d++)calendarCells.push(d);const todayDay=today.getDate();const isCurrentMonth=viewYear===today.getFullYear()&&viewMonth===today.getMonth();return /*#__PURE__*/_jsxs(\"div\",{className:\"pt-root\",children:[/*#__PURE__*/_jsx(\"style\",{children:styles}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-header\",children:[/*#__PURE__*/_jsx(\"h2\",{className:\"pt-headline\",children:props.headline}),/*#__PURE__*/_jsx(\"p\",{className:\"pt-subline\",children:props.subline})]}),step===\"success\"?/*#__PURE__*/_jsxs(\"div\",{className:\"pt-success\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"pt-success-icon\",children:/*#__PURE__*/_jsxs(\"svg\",{width:\"32\",height:\"32\",viewBox:\"0 0 32 32\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"16\",cy:\"16\",r:\"16\",fill:\"rgba(135,54,235,0.12)\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 16l4 4 8-8\",stroke:\"#8736EB\",strokeWidth:\"2.2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]})}),/*#__PURE__*/_jsx(\"h3\",{className:\"pt-success-title\",children:\"Anfrage gesendet!\"}),/*#__PURE__*/_jsx(\"p\",{className:\"pt-success-text\",children:props.leftSuccessText}),/*#__PURE__*/_jsx(\"div\",{className:\"pt-success-summary\",children:/*#__PURE__*/_jsxs(\"span\",{className:\"pt-summary-chip\",children:[\"📅 \",formatDate(viewYear,viewMonth,selectedDay),\" \",\"um \",selectedTime,\" Uhr\"]})})]}):/*#__PURE__*/_jsxs(\"div\",{className:\"pt-card\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pt-left\",children:[props.teamLogo?/*#__PURE__*/_jsx(\"img\",{src:props.teamLogo,className:\"pt-left-logo\",alt:\"Callana Logo\"}):/*#__PURE__*/_jsx(\"div\",{className:\"pt-left-avatar-placeholder\",children:\"C\"}),/*#__PURE__*/_jsx(\"div\",{className:\"pt-left-name\",children:props.leftName}),/*#__PURE__*/_jsx(\"div\",{className:\"pt-left-title\",children:props.leftTitle}),/*#__PURE__*/_jsx(\"p\",{className:\"pt-left-desc\",children:props.leftDesc}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-left-meta\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"pt-meta-item\",children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"7\",cy:\"7\",r:\"6\",stroke:\"rgba(15,15,18,0.35)\",strokeWidth:\"1.4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7 4v3l2 1.5\",stroke:\"rgba(15,15,18,0.35)\",strokeWidth:\"1.3\",strokeLinecap:\"round\"})]}),props.leftDuration]}),/*#__PURE__*/_jsxs(\"span\",{className:\"pt-meta-item\",children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"1\",y:\"3\",width:\"12\",height:\"9\",rx:\"2\",stroke:\"rgba(15,15,18,0.35)\",strokeWidth:\"1.4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M1 6h12\",stroke:\"rgba(15,15,18,0.35)\",strokeWidth:\"1.4\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"4.5\",cy:\"4.5\",r:\"1\",fill:\"rgba(15,15,18,0.35)\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"9.5\",cy:\"4.5\",r:\"1\",fill:\"rgba(15,15,18,0.35)\"})]}),props.leftMeetingType]})]}),selectedDay&&/*#__PURE__*/_jsxs(\"div\",{className:\"pt-left-selected\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pt-left-selected-date\",children:[getWeekdayName(viewYear,viewMonth,selectedDay),\",\",\" \",formatDate(viewYear,viewMonth,selectedDay)]}),selectedTime&&/*#__PURE__*/_jsxs(\"div\",{className:\"pt-left-selected-time\",children:[selectedTime,\" Uhr\"]}),/*#__PURE__*/_jsx(\"button\",{className:\"pt-reset-btn\",onClick:()=>{setSelectedDay(null);setSelectedTime(null);setStep(\"calendar\");},children:\"\\xc4ndern\"})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"pt-divider\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-right\",children:[step===\"calendar\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"pt-calendar\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pt-cal-nav\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"pt-cal-month\",children:[/*#__PURE__*/_jsx(\"strong\",{children:MONTH_NAMES[viewMonth]}),/*#__PURE__*/_jsxs(\"span\",{className:\"pt-cal-year\",children:[\" \",viewYear]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-cal-arrows\",children:[/*#__PURE__*/_jsx(\"button\",{className:`pt-arrow${!canGoPrev?\" pt-arrow--disabled\":\"\"}`,onClick:prevMonth,disabled:!canGoPrev,children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M10 12L6 8l4-4\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(\"button\",{className:`pt-arrow${!canGoNext?\" pt-arrow--disabled\":\"\"}`,onClick:nextMonth,disabled:!canGoNext,children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 4l4 4-4 4\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-cal-grid\",children:[WEEKDAY_LABELS.map(l=>/*#__PURE__*/_jsx(\"div\",{className:\"pt-cal-label\",children:l},l)),calendarCells.map((d,i)=>{if(!d)return /*#__PURE__*/_jsx(\"div\",{},`e-${i}`);const selectable=isSelectable(viewYear,viewMonth,d);const isToday=isCurrentMonth&&d===todayDay;const isSelected=d===selectedDay;return /*#__PURE__*/_jsx(\"button\",{className:`pt-cal-day ${selectable?\"pt-cal-day--active\":\"pt-cal-day--disabled\"} ${isToday?\"pt-cal-day--today\":\"\"} ${isSelected?\"pt-cal-day--selected\":\"\"}`,onClick:()=>selectDay(d),disabled:!selectable,children:d},d);})]})]}),step===\"time\"&&selectedDay&&/*#__PURE__*/_jsxs(\"div\",{className:\"pt-times\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pt-times-header\",children:[/*#__PURE__*/_jsx(\"button\",{className:\"pt-back\",onClick:()=>setStep(\"calendar\"),children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M10 12L6 8l4-4\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsxs(\"span\",{className:\"pt-times-date\",children:[getWeekdayName(viewYear,viewMonth,selectedDay),\",\",\" \",formatDate(viewYear,viewMonth,selectedDay)]})]}),/*#__PURE__*/_jsxs(\"p\",{className:\"pt-times-hint\",children:[availableSlots.length,\" Termin\",availableSlots.length!==1?\"e\":\"\",\" \",\"verf\\xfcgbar\"]}),/*#__PURE__*/_jsx(\"div\",{className:\"pt-slots\",children:availableSlots.map(t=>/*#__PURE__*/_jsxs(\"button\",{className:\"pt-slot\",onClick:()=>selectTime(t),children:[t,\" Uhr\"]},t))})]}),step===\"form\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"pt-form\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pt-form-header\",children:[/*#__PURE__*/_jsx(\"button\",{className:\"pt-back\",onClick:()=>setStep(\"time\"),children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M10 12L6 8l4-4\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(\"span\",{className:\"pt-form-title\",children:\"Deine Kontaktdaten\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-field\",children:[/*#__PURE__*/_jsxs(\"label\",{className:\"pt-label\",children:[\"Name \",/*#__PURE__*/_jsx(\"span\",{className:\"pt-req\",children:\"*\"})]}),/*#__PURE__*/_jsx(\"input\",{className:\"pt-input\",placeholder:\"Vor- und Nachname\",value:name,onChange:e=>setName(e.target.value)})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-field\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pt-toggle-wrap\",children:[/*#__PURE__*/_jsx(\"button\",{className:`pt-toggle-btn ${contactMode===\"email\"?\"pt-toggle-btn--active\":\"\"}`,onClick:()=>{setContactMode(\"email\");setContact(\"\");},children:\"E-Mail\"}),/*#__PURE__*/_jsx(\"button\",{className:`pt-toggle-btn ${contactMode===\"phone\"?\"pt-toggle-btn--active\":\"\"}`,onClick:()=>{setContactMode(\"phone\");setContact(\"\");},children:\"Telefon\"})]}),/*#__PURE__*/_jsx(\"div\",{className:\"pt-input-anim-wrap\",children:/*#__PURE__*/_jsx(\"input\",{className:\"pt-input pt-input--slide\",placeholder:contactMode===\"email\"?\"deine@email.com\":\"+43 123 456 789\",type:contactMode===\"email\"?\"email\":\"tel\",value:contact,onChange:e=>setContact(e.target.value)},contactMode)})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pt-field\",children:[/*#__PURE__*/_jsxs(\"label\",{className:\"pt-label\",children:[\"Nachricht\",\" \",/*#__PURE__*/_jsx(\"span\",{className:\"pt-opt\",children:\"(optional)\"})]}),/*#__PURE__*/_jsx(\"textarea\",{className:\"pt-textarea\",placeholder:\"Was m\\xf6chtest du besprechen?\",rows:3,value:message,onChange:e=>setMessage(e.target.value)})]}),error&&/*#__PURE__*/_jsx(\"div\",{className:\"pt-error\",children:error}),/*#__PURE__*/_jsx(\"button\",{className:\"pt-submit\",onClick:handleSubmit,disabled:loading,children:loading?/*#__PURE__*/_jsx(\"span\",{className:\"pt-spinner\"}):\"Terminanfrage senden\"})]})]})]})]});}PartnerTermin.defaultProps={headline:\"Als Partner bewerben\",subline:\"Wir setzen auf ausgew\\xe4hlte Partner, die callana.ai aktiv weiterempfehlen.\\nBuche ein Gespr\\xe4ch und erz\\xe4hle uns mehr!\",webhookUrl:\"https://your-webhook-url.com/partner-termin\",leftName:\"Lorenz von Callana\",leftTitle:\"Jetzt Callana & unser Partnerprogramm kennenlernen.\",leftDesc:\"In wenigen Minuten erfahren, wie eine Zusammenarbeit aussehen kann.\",leftDuration:\"30 Min\",leftMeetingType:\"Google Meet\",leftSuccessText:\"Wir melden uns so schnell wie m\\xf6glich bei dir –\\nsp\\xe4testens bis zum n\\xe4chsten Werktag.\"};addPropertyControls(PartnerTermin,{headline:{type:ControlType.String,title:\"Headline\"},subline:{type:ControlType.String,title:\"Subline\"},webhookUrl:{type:ControlType.String,title:\"Webhook URL\"},teamLogo:{type:ControlType.Image,title:\"Team Logo\"},leftName:{type:ControlType.String,title:\"Name (Links)\"},leftTitle:{type:ControlType.String,title:\"Titel (Links)\"},leftDesc:{type:ControlType.String,title:\"Beschreibung (Links)\"},leftDuration:{type:ControlType.String,title:\"Dauer\"},leftMeetingType:{type:ControlType.String,title:\"Meeting-Typ\"},leftSuccessText:{type:ControlType.String,title:\"Success-Text\"}});// ─── Styles ───────────────────────────────────────────────────────────────────\nconst styles=`\n.pt-root {\n  font-family: -apple-system, 'Helvetica Neue', sans-serif;\n  -webkit-font-smoothing: antialiased;\n  color: #0f0f12;\n  padding: clamp(48px, 6vw, 80px) 32px;\n  background: #fff;\n}\n\n/* Header */\n.pt-header {\n  text-align: center;\n  margin-bottom: clamp(32px, 4vw, 52px);\n}\n.pt-headline {\n  margin: 0 0 12px;\n  font-size: clamp(28px, 4vw, 44px);\n  font-weight: 900;\n  letter-spacing: -0.03em;\n  line-height: 1.06;\n}\n.pt-subline {\n  margin: 0;\n  font-size: 15px;\n  color: rgba(15,15,18,0.52);\n  line-height: 1.65;\n  white-space: pre-line;\n}\n\n/* Card */\n.pt-card {\n  display: flex;\n  max-width: 860px;\n  margin: 0 auto;\n  border-radius: 20px;\n  border: 1px solid rgba(0,0,0,0.08);\n  box-shadow: 0 24px 64px rgba(0,0,0,0.07);\n  overflow: hidden;\n  background: #fff;\n  min-height: 480px;\n}\n\n/* Left */\n.pt-left {\n  width: 240px;\n  flex-shrink: 0;\n  padding: 28px 24px;\n  background: #fafafa;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  border-right: 1px solid rgba(0,0,0,0.07);\n}\n.pt-left-logo {\n  width: 36px; height: 36px;\n  border-radius: 50%;\n  object-fit: contain;\n}\n.pt-left-avatar-placeholder {\n  width: 36px; height: 36px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, #8736EB, #6C28C4);\n  color: #fff;\n  font-size: 14px;\n  font-weight: 800;\n  display: flex; align-items: center; justify-content: center;\n}\n.pt-left-name {\n  font-size: 13px;\n  font-weight: 700;\n  color: #0f0f12;\n  margin-top: 2px;\n}\n.pt-left-title {\n  font-size: 15px;\n  font-weight: 800;\n  line-height: 1.3;\n  letter-spacing: -0.02em;\n  color: #0f0f12;\n  margin-top: 6px;\n}\n.pt-left-desc {\n  margin: 0;\n  font-size: 12.5px;\n  color: rgba(15,15,18,0.52);\n  line-height: 1.55;\n}\n.pt-left-meta {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  margin-top: 6px;\n}\n.pt-meta-item {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  font-size: 12px;\n  color: rgba(15,15,18,0.45);\n}\n.pt-left-selected {\n  margin-top: 12px;\n  padding: 12px;\n  background: rgba(135,54,235,0.06);\n  border: 1px solid rgba(135,54,235,0.18);\n  border-radius: 10px;\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n}\n.pt-left-selected-date {\n  font-size: 12px;\n  font-weight: 700;\n  color: #8736EB;\n}\n.pt-left-selected-time {\n  font-size: 13px;\n  font-weight: 900;\n  color: #0f0f12;\n}\n.pt-reset-btn {\n  margin-top: 4px;\n  background: none;\n  border: none;\n  padding: 0;\n  font-size: 11px;\n  color: rgba(135,54,235,0.7);\n  cursor: pointer;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n  text-align: left;\n}\n.pt-reset-btn:hover { color: #8736EB; }\n\n/* Divider */\n.pt-divider { display: none; }\n\n/* Right */\n.pt-right {\n  flex: 1;\n  padding: 28px 28px;\n  overflow-y: auto;\n  display: flex;\n  flex-direction: column;\n}\n\n/* Calendar */\n.pt-cal-nav {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 18px;\n}\n.pt-cal-month {\n  font-size: 15px;\n  font-weight: 700;\n  letter-spacing: -0.01em;\n  color: #0f0f12;\n}\n.pt-cal-year { color: rgba(15,15,18,0.4); font-weight: 400; }\n.pt-cal-arrows { display: flex; gap: 4px; }\n.pt-arrow {\n  width: 30px; height: 30px;\n  border-radius: 8px;\n  border: 1px solid rgba(0,0,0,0.1);\n  background: #fff;\n  display: flex; align-items: center; justify-content: center;\n  cursor: pointer;\n  color: rgba(15,15,18,0.5);\n  transition: background 140ms, color 140ms;\n}\n.pt-arrow:hover { background: #f3f3f6; color: #0f0f12; }\n.pt-arrow--disabled { opacity: 0.25; cursor: default; pointer-events: none; }\n\n.pt-cal-grid {\n  display: grid;\n  grid-template-columns: repeat(7, 1fr);\n  gap: 4px;\n}\n.pt-cal-label {\n  text-align: center;\n  font-size: 10px;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  color: rgba(15,15,18,0.3);\n  padding-bottom: 6px;\n}\n.pt-cal-day {\n  aspect-ratio: 1;\n  border-radius: 8px;\n  border: none;\n  background: transparent;\n  font-size: 13px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: background 140ms, color 140ms, transform 100ms;\n  color: #0f0f12;\n  display: flex; align-items: center; justify-content: center;\n}\n.pt-cal-day--disabled {\n  color: rgba(15,15,18,0.2);\n  cursor: default;\n}\n.pt-cal-day--active:hover {\n  background: rgba(135,54,235,0.1);\n  color: #8736EB;\n  transform: scale(1.06);\n}\n.pt-cal-day--today {\n  position: relative;\n}\n.pt-cal-day--today::after {\n  content: '';\n  position: absolute;\n  bottom: 4px;\n  left: 50%; transform: translateX(-50%);\n  width: 4px; height: 4px;\n  border-radius: 50%;\n  background: #8736EB;\n  opacity: 0.5;\n}\n.pt-cal-day--selected {\n  background: linear-gradient(135deg, #8736EB, #6C28C4) !important;\n  color: #fff !important;\n  transform: scale(1.06);\n  box-shadow: 0 4px 14px rgba(135,54,235,0.35);\n}\n\n/* Time slots */\n.pt-times {\n  display: flex;\n  flex-direction: column;\n  gap: 0;\n}\n.pt-times-header {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 6px;\n}\n.pt-times-date {\n  font-size: 14px;\n  font-weight: 700;\n  color: #0f0f12;\n}\n.pt-times-hint {\n  font-size: 12px;\n  color: rgba(15,15,18,0.4);\n  margin: 0 0 16px;\n}\n.pt-back {\n  width: 28px; height: 28px;\n  border-radius: 7px;\n  border: 1px solid rgba(0,0,0,0.1);\n  background: #fff;\n  display: flex; align-items: center; justify-content: center;\n  cursor: pointer;\n  color: rgba(15,15,18,0.5);\n  flex-shrink: 0;\n  transition: background 140ms;\n}\n.pt-back:hover { background: #f3f3f6; }\n.pt-slots {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 8px;\n}\n.pt-slot {\n  padding: 10px 8px;\n  border-radius: 10px;\n  border: 1px solid rgba(0,0,0,0.1);\n  background: #fff;\n  font-size: 13px;\n  font-weight: 600;\n  color: #0f0f12;\n  cursor: pointer;\n  transition: all 140ms;\n  text-align: center;\n}\n.pt-slot:hover {\n  border-color: #8736EB;\n  background: rgba(135,54,235,0.06);\n  color: #8736EB;\n  transform: translateY(-1px);\n}\n\n/* Form */\n.pt-form {\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n.pt-form-header {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 2px;\n}\n.pt-form-title {\n  font-size: 14px;\n  font-weight: 700;\n  color: #0f0f12;\n}\n.pt-field {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n}\n.pt-label {\n  font-size: 12px;\n  font-weight: 700;\n  color: rgba(15,15,18,0.5);\n  letter-spacing: 0.03em;\n}\n.pt-req { color: #8736EB; }\n.pt-opt { color: rgba(15,15,18,0.3); font-weight: 400; }\n.pt-input, .pt-textarea {\n  padding: 11px 14px;\n  border-radius: 10px;\n  border: 1px solid rgba(0,0,0,0.12);\n  font-size: 14px;\n  font-family: inherit;\n  color: #0f0f12;\n  background: #fff;\n  outline: none;\n  transition: border-color 160ms, box-shadow 160ms;\n  width: 100%;\n  box-sizing: border-box;\n}\n.pt-input:focus, .pt-textarea:focus {\n  border-color: #8736EB;\n  box-shadow: 0 0 0 3px rgba(135,54,235,0.1);\n}\n.pt-textarea { resize: none; }\n\n/* Contact toggle */\n.pt-toggle-wrap {\n  display: inline-flex;\n  background: #f3f3f6;\n  border-radius: 10px;\n  padding: 3px;\n  gap: 2px;\n  align-self: flex-start;\n  margin-bottom: 6px;\n}\n.pt-toggle-btn {\n  padding: 6px 16px;\n  border-radius: 8px;\n  border: none;\n  background: transparent;\n  font-size: 13px;\n  font-weight: 600;\n  color: rgba(15,15,18,0.45);\n  cursor: pointer;\n  transition: all 160ms;\n}\n.pt-toggle-btn--active {\n  background: #fff;\n  color: #0f0f12;\n  box-shadow: 0 1px 4px rgba(0,0,0,0.1);\n}\n\n/* Slide-in animation for input */\n@keyframes pt-slide-in {\n  from { opacity: 0; transform: translateY(6px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n.pt-input--slide {\n  animation: pt-slide-in 180ms ease forwards;\n}\n\n.pt-error {\n  font-size: 13px;\n  color: #dc2626;\n  padding: 10px 12px;\n  background: rgba(220,38,38,0.06);\n  border-radius: 8px;\n}\n\n.pt-submit {\n  padding: 13px;\n  border-radius: 12px;\n  background: linear-gradient(135deg, #8736EB 0%, #6C28C4 100%);\n  color: #fff;\n  font-size: 15px;\n  font-weight: 700;\n  border: none;\n  cursor: pointer;\n  transition: transform 160ms, box-shadow 160ms;\n  box-shadow: 0 8px 24px rgba(135,54,235,0.3);\n  display: flex; align-items: center; justify-content: center;\n  min-height: 48px;\n}\n.pt-submit:hover:not(:disabled) {\n  transform: translateY(-2px);\n  box-shadow: 0 12px 32px rgba(135,54,235,0.4);\n}\n.pt-submit:disabled { opacity: 0.7; cursor: default; }\n\n/* Spinner */\n@keyframes pt-spin { to { transform: rotate(360deg); } }\n.pt-spinner {\n  width: 18px; height: 18px;\n  border: 2px solid rgba(255,255,255,0.35);\n  border-top-color: #fff;\n  border-radius: 50%;\n  animation: pt-spin 0.7s linear infinite;\n  display: inline-block;\n}\n\n/* Success */\n.pt-success {\n  max-width: 420px;\n  margin: 0 auto;\n  text-align: center;\n  padding: clamp(32px, 5vw, 64px) 24px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 12px;\n}\n.pt-success-icon {\n  width: 64px; height: 64px;\n  border-radius: 50%;\n  background: rgba(135,54,235,0.08);\n  display: flex; align-items: center; justify-content: center;\n}\n.pt-success-title {\n  margin: 0;\n  font-size: 22px;\n  font-weight: 900;\n  letter-spacing: -0.02em;\n}\n.pt-success-text {\n  margin: 0;\n  font-size: 14px;\n  color: rgba(15,15,18,0.52);\n  line-height: 1.65;\n  white-space: pre-line;\n}\n.pt-success-summary {\n  margin-top: 8px;\n}\n.pt-summary-chip {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  padding: 8px 16px;\n  background: rgba(135,54,235,0.07);\n  border: 1px solid rgba(135,54,235,0.18);\n  border-radius: 999px;\n  font-size: 13px;\n  font-weight: 600;\n  color: #8736EB;\n}\n\n/* Responsive */\n@media (max-width: 640px) {\n  .pt-card {\n    flex-direction: column;\n  }\n  .pt-left {\n    width: 100%;\n    border-right: none;\n    border-bottom: 1px solid rgba(0,0,0,0.07);\n  }\n  .pt-slots {\n    grid-template-columns: repeat(2, 1fr);\n  }\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PartnerTermin\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PartnerTermin.map"],"mappings":"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"}