.BookingCalendar-module__badDfW__calendar{background:var(--background);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:1.25rem}.BookingCalendar-module__badDfW__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.BookingCalendar-module__badDfW__navButton{border:1px solid var(--border);width:36px;height:36px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.BookingCalendar-module__badDfW__navButton:hover:not(:disabled){background:var(--accent);border-color:var(--accent-foreground)}.BookingCalendar-module__badDfW__navButton:disabled{opacity:.4;cursor:not-allowed}.BookingCalendar-module__badDfW__monthYear{color:var(--foreground);font-size:1rem;font-weight:600}.BookingCalendar-module__badDfW__weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem;display:grid}.BookingCalendar-module__badDfW__weekday{text-align:center;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0;font-size:.75rem;font-weight:600}.BookingCalendar-module__badDfW__days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.BookingCalendar-module__badDfW__day{aspect-ratio:1;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.BookingCalendar-module__badDfW__day:hover:not(:disabled):not(.BookingCalendar-module__badDfW__selected){background:var(--accent)}.BookingCalendar-module__badDfW__emptyDay{aspect-ratio:1}.BookingCalendar-module__badDfW__today{border:2px solid var(--primary);font-weight:700}.BookingCalendar-module__badDfW__selected{font-weight:700;background:var(--primary)!important;color:var(--primary-foreground)!important}.BookingCalendar-module__badDfW__disabled{color:var(--muted-foreground);opacity:.4;cursor:not-allowed}.BookingCalendar-module__badDfW__disabled:hover{background:0 0}@media (max-width:400px){.BookingCalendar-module__badDfW__calendar{padding:1rem}.BookingCalendar-module__badDfW__day{font-size:.8rem}.BookingCalendar-module__badDfW__weekday{font-size:.7rem}}
.TimeSlotPicker-module__U5ViVG__grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}@media (max-width:500px){.TimeSlotPicker-module__U5ViVG__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:360px){.TimeSlotPicker-module__U5ViVG__grid{grid-template-columns:repeat(2,1fr)}}.TimeSlotPicker-module__U5ViVG__slot{text-align:center;border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:8px;padding:.75rem .5rem;font-size:.875rem;font-weight:500;transition:all .15s}.TimeSlotPicker-module__U5ViVG__slot:hover:not(:disabled):not(.TimeSlotPicker-module__U5ViVG__selected){background:var(--accent);border-color:var(--accent-foreground)}.TimeSlotPicker-module__U5ViVG__selected{font-weight:600;background:var(--primary)!important;color:var(--primary-foreground)!important;border-color:var(--primary)!important}.TimeSlotPicker-module__U5ViVG__unavailable{color:var(--muted-foreground);opacity:.5;cursor:not-allowed;text-decoration:line-through}.TimeSlotPicker-module__U5ViVG__unavailable:hover{background:var(--background);border-color:var(--border)}.TimeSlotPicker-module__U5ViVG__empty{text-align:center;color:var(--muted-foreground);background:var(--accent);border-radius:8px;padding:2rem;font-size:.875rem}
.AppointmentPicker-module__zwQ2Tq__container{flex-direction:column;gap:1.5rem;display:flex}.AppointmentPicker-module__zwQ2Tq__columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (max-width:768px){.AppointmentPicker-module__zwQ2Tq__columns{grid-template-columns:1fr}}.AppointmentPicker-module__zwQ2Tq__column{background:var(--handwerker-surface);border:1px solid var(--handwerker-border);border-radius:.75rem;padding:1.25rem}.AppointmentPicker-module__zwQ2Tq__columnLabel{color:var(--handwerker-text-secondary);margin-bottom:1rem;font-size:.875rem;font-weight:600;display:block}.AppointmentPicker-module__zwQ2Tq__summary{background:linear-gradient(135deg,#0066cc0d,#0066cc05);border:1px solid #06c3;border-radius:.75rem;padding:1.25rem}.AppointmentPicker-module__zwQ2Tq__summaryTitle{color:var(--handwerker-primary);margin:0 0 1rem;font-size:.9375rem;font-weight:600}.AppointmentPicker-module__zwQ2Tq__summaryRows{flex-direction:column;gap:.625rem;display:flex}.AppointmentPicker-module__zwQ2Tq__summaryRow{justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.AppointmentPicker-module__zwQ2Tq__summaryLabel{color:var(--handwerker-text-muted)}.AppointmentPicker-module__zwQ2Tq__summaryValue{color:var(--handwerker-text);font-weight:500}.AppointmentPicker-module__zwQ2Tq__noSelection{color:var(--handwerker-text-faint);font-style:italic}.AppointmentPicker-module__zwQ2Tq__actions{justify-content:flex-end;margin-top:1rem;display:flex}.AppointmentPicker-module__zwQ2Tq__continueButton{background:var(--handwerker-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.AppointmentPicker-module__zwQ2Tq__continueButton:hover:not(:disabled){background:var(--handwerker-primary-dark)}.AppointmentPicker-module__zwQ2Tq__continueButton:disabled{background:var(--handwerker-disabled);cursor:not-allowed}.AppointmentPicker-module__zwQ2Tq__noDateMessage{text-align:center;color:var(--handwerker-text-faint);padding:2rem 1rem;font-size:.875rem}
.ReservationForm-module__6Nbyhq__container{background:var(--gastro-glass-bg);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);border:1px solid var(--gastro-glass-border);border-top:3px solid var(--gastro-primary);padding:var(--space-8);max-width:720px;box-shadow:0 4px 24px #00000014,0 0 0 1px var(--gastro-glass-border);margin:0 auto}.ReservationForm-module__6Nbyhq__tableMapLoading{background:var(--gastro-bg);border-radius:var(--radius-lg);min-height:300px;color:var(--color-text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.ReservationForm-module__6Nbyhq__progress{justify-content:center;gap:var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--gastro-glass-border);display:flex;position:relative}.ReservationForm-module__6Nbyhq__step{align-items:center;gap:var(--space-2);opacity:.5;transition:opacity var(--transition-base);flex-direction:column;display:flex;position:relative}.ReservationForm-module__6Nbyhq__step.ReservationForm-module__6Nbyhq__active,.ReservationForm-module__6Nbyhq__step.ReservationForm-module__6Nbyhq__completed{opacity:1}.ReservationForm-module__6Nbyhq__step:not(:last-child):after{content:"";width:calc(100% + var(--space-6) - 48px);background:var(--color-light-grey);z-index:0;height:2px;position:absolute;top:20px;left:calc(50% + 24px)}.ReservationForm-module__6Nbyhq__step.ReservationForm-module__6Nbyhq__completed:not(:last-child):after{background:var(--gastro-primary)}.ReservationForm-module__6Nbyhq__stepIcon{background:var(--color-off-white);border:2px solid var(--color-light-grey);width:40px;height:40px;color:var(--color-text-muted);transition:all var(--transition-base);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.ReservationForm-module__6Nbyhq__step.ReservationForm-module__6Nbyhq__active .ReservationForm-module__6Nbyhq__stepIcon{background:var(--gastro-primary);border-color:var(--gastro-primary);color:#fff;box-shadow:0 0 20px var(--gastro-glow)}.ReservationForm-module__6Nbyhq__step.ReservationForm-module__6Nbyhq__completed .ReservationForm-module__6Nbyhq__stepIcon{background:var(--gastro-primary);border-color:var(--gastro-primary);color:#fff}.ReservationForm-module__6Nbyhq__stepLabel{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.ReservationForm-module__6Nbyhq__step.ReservationForm-module__6Nbyhq__active .ReservationForm-module__6Nbyhq__stepLabel{color:var(--color-eluma-blue);font-weight:600}.ReservationForm-module__6Nbyhq__stepContent{min-height:400px}.ReservationForm-module__6Nbyhq__stepPane{gap:var(--space-6);flex-direction:column;display:flex}.ReservationForm-module__6Nbyhq__stepTitle{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-eluma-blue);margin:0;font-weight:700}.ReservationForm-module__6Nbyhq__stepSubtitle{font-size:var(--text-base);color:var(--color-text-muted);margin:0}.ReservationForm-module__6Nbyhq__partySizeSection{gap:var(--space-3);flex-direction:column;display:flex}.ReservationForm-module__6Nbyhq__label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-midnight-slate);font-weight:600;display:flex}.ReservationForm-module__6Nbyhq__partySizeGrid{gap:var(--space-2);flex-wrap:wrap;display:flex}.ReservationForm-module__6Nbyhq__partySizeButton{width:48px;height:48px;font-size:var(--text-lg);border:2px solid var(--color-light-grey);color:var(--color-midnight-slate);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.ReservationForm-module__6Nbyhq__partySizeButton:hover{border-color:var(--gastro-primary);color:var(--gastro-primary);box-shadow:0 0 12px var(--gastro-glow)}.ReservationForm-module__6Nbyhq__partySizeButton.ReservationForm-module__6Nbyhq__selected{background:var(--gastro-primary);border-color:var(--gastro-primary);color:#fff;box-shadow:0 0 16px var(--gastro-glow)}.ReservationForm-module__6Nbyhq__dateTimeSection{gap:var(--space-6);display:grid}@media (min-width:640px){.ReservationForm-module__6Nbyhq__dateTimeSection{grid-template-columns:auto 1fr;align-items:start}}.ReservationForm-module__6Nbyhq__calendarWrapper,.ReservationForm-module__6Nbyhq__timeSlotsWrapper{gap:var(--space-3);flex-direction:column;display:flex}.ReservationForm-module__6Nbyhq__tableMapWrapper{max-width:540px;margin:0 auto}.ReservationForm-module__6Nbyhq__selectedTableInfo{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);color:var(--gastro-primary);background:#16a34a1a;font-weight:500;display:flex}.ReservationForm-module__6Nbyhq__noTablesWarning{padding:var(--space-4);background:var(--color-warning-light);border-radius:var(--radius-lg);color:var(--color-warning-dark);font-size:var(--text-sm);text-align:center}.ReservationForm-module__6Nbyhq__formFields{gap:var(--space-4);flex-direction:column;display:flex}.ReservationForm-module__6Nbyhq__formGroup{gap:var(--space-2);flex-direction:column;display:flex}.ReservationForm-module__6Nbyhq__formLabel{font-size:var(--text-sm);color:var(--color-midnight-slate);font-weight:600}.ReservationForm-module__6Nbyhq__input,.ReservationForm-module__6Nbyhq__textarea{padding:var(--space-3)var(--space-4);font-size:var(--text-base);border:1px solid var(--color-light-grey);border-radius:var(--radius-md);background:var(--color-pure-white);color:var(--color-midnight-slate);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ReservationForm-module__6Nbyhq__input:focus,.ReservationForm-module__6Nbyhq__textarea:focus{border-color:var(--gastro-primary);outline:none;box-shadow:0 0 0 3px #16a34a26}.ReservationForm-module__6Nbyhq__input::placeholder,.ReservationForm-module__6Nbyhq__textarea::placeholder{color:var(--color-text-muted)}.ReservationForm-module__6Nbyhq__textarea{resize:vertical;min-height:80px}.ReservationForm-module__6Nbyhq__reservationSummary{background:var(--color-off-white);border-radius:var(--radius-lg);padding:var(--space-4)}.ReservationForm-module__6Nbyhq__reservationSummary h3{font-size:var(--text-base);color:var(--color-eluma-blue);margin:0 0 var(--space-3)0;font-weight:700}.ReservationForm-module__6Nbyhq__reservationSummary ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ReservationForm-module__6Nbyhq__reservationSummary li{font-size:var(--text-sm);color:var(--color-midnight-slate)}.ReservationForm-module__6Nbyhq__reservationSummary strong{color:var(--color-text-muted);min-width:80px;font-weight:500;display:inline-block}.ReservationForm-module__6Nbyhq__navigation{align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--gastro-glass-border);display:flex}.ReservationForm-module__6Nbyhq__navSpacer{flex:1}.ReservationForm-module__6Nbyhq__backButton{align-items:center;gap:var(--space-1);padding:var(--space-3)var(--space-4);font-size:var(--text-base);border:1px solid var(--color-light-grey);border-radius:var(--radius-md);color:var(--color-midnight-slate);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-weight:500;display:flex}.ReservationForm-module__6Nbyhq__backButton:hover{background:var(--color-off-white);border-color:var(--color-midnight-slate)}.ReservationForm-module__6Nbyhq__nextButton{align-items:center;gap:var(--space-1);padding:var(--space-3)var(--space-6);font-size:var(--text-base);border-radius:var(--radius-md);background:var(--gastro-primary);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:600;display:flex}.ReservationForm-module__6Nbyhq__nextButton:hover:not(:disabled){background:var(--gastro-primary-dark);box-shadow:0 0 20px var(--gastro-glow)}.ReservationForm-module__6Nbyhq__nextButton:disabled{opacity:.5;cursor:not-allowed}.ReservationForm-module__6Nbyhq__submitButton{padding:var(--space-3)var(--space-6);font-size:var(--text-base);border-radius:var(--radius-md);background:var(--gastro-primary);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:600}.ReservationForm-module__6Nbyhq__submitButton:hover:not(:disabled){background:var(--gastro-primary-dark);box-shadow:0 0 20px var(--gastro-glow)}.ReservationForm-module__6Nbyhq__submitButton:disabled{opacity:.5;cursor:not-allowed}@media (max-width:640px){.ReservationForm-module__6Nbyhq__container{padding:var(--space-4);border-left:none;border-right:none;border-radius:0}.ReservationForm-module__6Nbyhq__progress{gap:var(--space-3)}.ReservationForm-module__6Nbyhq__step:not(:last-child):after{width:calc(100% + var(--space-3) - 40px);left:calc(50% + 20px)}.ReservationForm-module__6Nbyhq__stepLabel{font-size:var(--text-xs)}.ReservationForm-module__6Nbyhq__stepIcon{width:36px;height:36px}.ReservationForm-module__6Nbyhq__stepTitle{font-size:var(--text-xl)}.ReservationForm-module__6Nbyhq__partySizeButton{width:42px;height:42px;font-size:var(--text-base)}.ReservationForm-module__6Nbyhq__navigation{flex-wrap:wrap;justify-content:center}.ReservationForm-module__6Nbyhq__navSpacer{display:none}.ReservationForm-module__6Nbyhq__backButton,.ReservationForm-module__6Nbyhq__nextButton,.ReservationForm-module__6Nbyhq__submitButton{flex:1;justify-content:center}}
.CustomerForm-module__dkm2ta__container{width:100%}.CustomerForm-module__dkm2ta__form{flex-direction:column;gap:1.25rem;display:flex}.CustomerForm-module__dkm2ta__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:640px){.CustomerForm-module__dkm2ta__row{grid-template-columns:1fr}}.CustomerForm-module__dkm2ta__field{flex-direction:column;gap:.375rem;display:flex}.CustomerForm-module__dkm2ta__fieldFull{grid-column:1/-1}.CustomerForm-module__dkm2ta__label{color:var(--handwerker-text-secondary);font-size:.875rem;font-weight:500}.CustomerForm-module__dkm2ta__required{color:var(--handwerker-error)}.CustomerForm-module__dkm2ta__input{border:1px solid var(--handwerker-input-border);background:var(--handwerker-surface);color:var(--handwerker-text);border-radius:.5rem;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.CustomerForm-module__dkm2ta__input:focus{border-color:var(--handwerker-primary);outline:none;box-shadow:0 0 0 3px #0066cc1a}.CustomerForm-module__dkm2ta__input::placeholder{color:var(--handwerker-text-faint)}.CustomerForm-module__dkm2ta__inputError{border-color:var(--handwerker-error)}.CustomerForm-module__dkm2ta__errorMessage{color:var(--handwerker-error);font-size:.8125rem}.CustomerForm-module__dkm2ta__actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.CustomerForm-module__dkm2ta__backButton{color:var(--handwerker-text-secondary);border:1px solid var(--handwerker-input-border);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;transition:all .2s;display:inline-flex}.CustomerForm-module__dkm2ta__backButton:hover{background:var(--handwerker-bg);border-color:var(--handwerker-input-border)}.CustomerForm-module__dkm2ta__submitButton{background:var(--handwerker-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.CustomerForm-module__dkm2ta__submitButton:hover:not(:disabled){background:var(--handwerker-primary-dark)}.CustomerForm-module__dkm2ta__submitButton:disabled{background:var(--handwerker-disabled);cursor:not-allowed}.CustomerForm-module__dkm2ta__sectionTitle{color:var(--handwerker-text);margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.CustomerForm-module__dkm2ta__sectionSubtitle{color:var(--handwerker-text-faint);margin:0 0 1.25rem;font-size:.875rem}
.page-module__bmdTLG__container{min-height:100vh;padding:var(--space-6);background:radial-gradient(80% 60% at 50% 20%,#16a34a1f 0%,#0000 60%),radial-gradient(60% 50% at 80% 80%,#22c55e14 0%,#0000 50%),radial-gradient(40% 40% at 10% 60%,#4ade800f 0%,#0000 50%)}.page-module__bmdTLG__header{max-width:720px;margin:0 auto var(--space-6)auto;justify-content:space-between;align-items:center;display:flex}.page-module__bmdTLG__backLink{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast);font-weight:500;text-decoration:none;display:inline-flex}.page-module__bmdTLG__backLink:hover{color:var(--gastro-primary)}.page-module__bmdTLG__brandBadge{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--gastro-primary);font-weight:700}@media (max-width:640px){.page-module__bmdTLG__container{padding:0}.page-module__bmdTLG__header{padding:var(--space-4);margin-bottom:0}}
.book-module__Tp2tuG__page{background:var(--handwerker-bg);min-height:calc(100vh - 60px)}.book-module__Tp2tuG__header{background:var(--handwerker-surface);border-bottom:1px solid var(--handwerker-border);padding:1rem 1.5rem}.book-module__Tp2tuG__logo{color:var(--handwerker-primary);align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:inline-flex}.book-module__Tp2tuG__container{max-width:800px;margin:0 auto;padding:2rem 1.5rem 4rem}.book-module__Tp2tuG__stepper{background:var(--handwerker-surface);border-radius:.75rem;justify-content:center;align-items:center;gap:0;margin-bottom:2rem;padding:1rem;display:flex;box-shadow:0 1px 3px #0000000d}.book-module__Tp2tuG__stepItem{align-items:center;gap:.5rem;display:flex}.book-module__Tp2tuG__stepCircle{background:var(--handwerker-border);width:32px;height:32px;color:var(--handwerker-text-faint);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.book-module__Tp2tuG__stepComplete{background:var(--handwerker-primary);color:#fff}.book-module__Tp2tuG__stepCurrent{background:var(--handwerker-primary);color:#fff;box-shadow:0 0 0 4px #06c3}.book-module__Tp2tuG__stepLabel{color:var(--handwerker-text-faint);font-size:.875rem;font-weight:500;transition:color .2s}.book-module__Tp2tuG__stepLabelCurrent{color:var(--handwerker-primary);font-weight:600}.book-module__Tp2tuG__stepLine{background:var(--handwerker-border);width:40px;height:2px;margin:0 .75rem}@media (max-width:640px){.book-module__Tp2tuG__stepper{gap:0;padding:.75rem}.book-module__Tp2tuG__stepLabel{display:none}.book-module__Tp2tuG__stepLine{width:24px;margin:0 .5rem}}.book-module__Tp2tuG__content{background:var(--handwerker-surface);border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}@media (max-width:640px){.book-module__Tp2tuG__content{padding:1rem}}
