@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap";
.BookingModal-module__EmgdDq__appContainer{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#374151;background-color:#f3f4f6;min-height:100vh;font-family:Inter,sans-serif}.BookingModal-module__EmgdDq__header{z-index:50;background-color:#fff;justify-content:space-between;align-items:center;padding:1rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.BookingModal-module__EmgdDq__logoText{color:#6b21a8;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.BookingModal-module__EmgdDq__navLink{color:#374151;margin-left:2rem;font-weight:500;transition:color .2s ease-in-out}.BookingModal-module__EmgdDq__navLink:hover{color:#6b21a8}.BookingModal-module__EmgdDq__ctaButton{color:#fff;cursor:pointer;background-color:#6b21a8;border:none;border-radius:9999px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s ease-in-out,transform .2s ease-in-out}.BookingModal-module__EmgdDq__ctaButton:hover{background-color:#9333ea;transform:scale(1.05)}.BookingModal-module__EmgdDq__heroSection{background-image:linear-gradient(135deg,#f0f4f8 0%,#d9e2ec 100%);justify-content:center;align-items:center;min-height:calc(100vh - 4rem);padding:2rem;display:flex}.BookingModal-module__EmgdDq__heroContent{text-align:center;max-width:42rem}.BookingModal-module__EmgdDq__heroTitle{color:#1f2937;margin-bottom:1rem;font-size:3rem;font-weight:700;line-height:1.2}.BookingModal-module__EmgdDq__heroSubtitle{color:#374151;margin-bottom:2rem;font-size:1.25rem}.BookingModal-module__EmgdDq__heroButtons{justify-content:center;gap:1rem;display:flex}.BookingModal-module__EmgdDq__floatingButton{color:#fff;cursor:pointer;z-index:1000;background-color:#6b21a8;border:none;border-radius:9999px;align-items:center;padding:1rem 1.5rem;font-weight:600;transition:transform .2s ease-in-out;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.BookingModal-module__EmgdDq__floatingButton:hover{transform:translateY(-5px)}.BookingModal-module__EmgdDq__floatingButtonIcon{margin-right:.5rem}.BookingModal-module__EmgdDq__modalOverlay{z-index:1000;background-color:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:.5rem;animation:.3s ease-in-out forwards BookingModal-module__EmgdDq__fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@media (min-width:640px){.BookingModal-module__EmgdDq__modalOverlay{padding:1rem}}.BookingModal-module__EmgdDq__modalContent{-webkit-backdrop-filter:blur(15px);background-color:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.18);border-radius:1rem;width:100%;max-width:900px;max-height:95vh;padding:1rem;animation:.3s cubic-bezier(.68,-.55,.27,1.55) forwards BookingModal-module__EmgdDq__slideUp;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.15)}@media (min-width:640px){.BookingModal-module__EmgdDq__modalContent{border-radius:1.5rem;max-width:900px;padding:2rem}}.BookingModal-module__EmgdDq__modalHeader{border-bottom:1px solid rgba(209,213,219,.5);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.BookingModal-module__EmgdDq__modalTitle{color:#1f2937;font-size:1.25rem;font-weight:600}@media (min-width:640px){.BookingModal-module__EmgdDq__modalTitle{font-size:1.5rem}}.BookingModal-module__EmgdDq__modalCloseButton{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;transition:background-color .2s;display:flex}.BookingModal-module__EmgdDq__modalCloseButton:hover{background-color:#f3f4f6}.BookingModal-module__EmgdDq__progressBarContainer{background-color:#f9fafb;border-radius:9999px;width:100%;height:.5rem;margin-bottom:1.5rem;overflow:hidden}@media (min-width:640px){.BookingModal-module__EmgdDq__progressBarContainer{margin-bottom:2rem}}.BookingModal-module__EmgdDq__progressBarFill{background-color:#9333ea;border-radius:9999px;height:100%;transition:width .3s ease-in-out}.BookingModal-module__EmgdDq__modalStepContentGrid{flex-direction:column;gap:1.5rem;display:flex}@media (min-width:768px){.BookingModal-module__EmgdDq__modalStepContentGrid{flex-direction:row;gap:2rem}}.BookingModal-module__EmgdDq__calendarContainer{flex:1;min-width:280px}.BookingModal-module__EmgdDq__timeSlotsContainer{flex-direction:column;flex:1;margin-top:1rem;padding-left:0;display:flex}@media (min-width:768px){.BookingModal-module__EmgdDq__timeSlotsContainer{border-left:1px solid rgba(209,213,219,.5);margin-top:0;padding-left:2rem}}.BookingModal-module__EmgdDq__calendarHeader{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.BookingModal-module__EmgdDq__calendarNavButton{cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:.5rem;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;transition:background-color .2s;display:flex}.BookingModal-module__EmgdDq__calendarNavButton:hover{background-color:#f9fafb}.BookingModal-module__EmgdDq__calendarMonthYear{font-size:1rem;font-weight:600}@media (min-width:640px){.BookingModal-module__EmgdDq__calendarMonthYear{font-size:1.125rem}}.BookingModal-module__EmgdDq__calendarGrid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}@media (min-width:640px){.BookingModal-module__EmgdDq__calendarGrid{gap:.5rem}}.BookingModal-module__EmgdDq__calendarDayHeader{color:#6b7280;padding-bottom:.5rem;font-size:.75rem;font-weight:600}@media (min-width:640px){.BookingModal-module__EmgdDq__calendarDayHeader{font-size:.875rem}}.BookingModal-module__EmgdDq__calendarDay{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;min-height:36px;padding:.5rem .25rem;font-size:.75rem;font-weight:500;transition:background-color .2s,transform .2s;display:flex;position:relative}@media (min-width:640px){.BookingModal-module__EmgdDq__calendarDay{min-height:44px;padding:.75rem .5rem;font-size:.875rem}}.BookingModal-module__EmgdDq__calendarDay.BookingModal-module__EmgdDq__inactive{color:#9ca3af;cursor:not-allowed;opacity:.6;background-color:#f9fafb}.BookingModal-module__EmgdDq__calendarDay.BookingModal-module__EmgdDq__selected{color:#fff;background-color:#6b21a8;font-weight:600}.BookingModal-module__EmgdDq__calendarDay.BookingModal-module__EmgdDq__hoverable:hover{background-color:#6b21a8;transform:translateY(-2px)}.BookingModal-module__EmgdDq__calendarDay.BookingModal-module__EmgdDq__today{border:2px solid #6b21a8}.BookingModal-module__EmgdDq__timeSlotsTitle{margin-bottom:1rem;font-size:1rem;font-weight:600}@media (min-width:640px){.BookingModal-module__EmgdDq__timeSlotsTitle{font-size:1.125rem}}.BookingModal-module__EmgdDq__timeSlotGrid{grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:300px;padding-right:.5rem;display:grid;overflow-y:auto}@media (min-width:640px){.BookingModal-module__EmgdDq__timeSlotGrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:400px}}.BookingModal-module__EmgdDq__timeSlotButton{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;min-height:44px;padding:.75rem .5rem;font-size:.8rem;font-weight:500;transition:background-color .2s,border-color .2s,transform .2s}@media (min-width:640px){.BookingModal-module__EmgdDq__timeSlotButton{padding:.75rem;font-size:.875rem}}.BookingModal-module__EmgdDq__timeSlotButton:hover{background-color:#f9fafb;border-color:#6b21a8;transform:translateY(-2px)}.BookingModal-module__EmgdDq__noSlotsMessage{text-align:center;color:#6b7280;margin-top:2rem;font-size:.9rem;font-style:italic}.BookingModal-module__EmgdDq__loadingContainer{justify-content:center;align-items:center;min-height:200px;display:flex}.BookingModal-module__EmgdDq__formContainer,.BookingModal-module__EmgdDq__confirmationContainer{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:500px;margin:0 auto;display:flex}.BookingModal-module__EmgdDq__backButton{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;min-width:40px;min-height:40px;margin-bottom:1rem;padding:.5rem;transition:background-color .2s;display:flex}.BookingModal-module__EmgdDq__backButton:hover{background-color:#f9fafb}.BookingModal-module__EmgdDq__formTitle{color:#1f2937;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}@media (min-width:640px){.BookingModal-module__EmgdDq__formTitle{font-size:1.5rem}}.BookingModal-module__EmgdDq__formDescription{color:#6b7280;margin-bottom:1.5rem;font-size:.9rem;line-height:1.4}@media (min-width:640px){.BookingModal-module__EmgdDq__formDescription{font-size:1rem}}.BookingModal-module__EmgdDq__formGroup{text-align:left;width:100%;margin-bottom:1.5rem}.BookingModal-module__EmgdDq__formLabel{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.BookingModal-module__EmgdDq__inputStyle{border:1px solid #d1d5db;border-radius:.5rem;width:100%;min-height:48px;padding:.875rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.BookingModal-module__EmgdDq__inputStyle:focus{border-color:#9333ea;outline:none;box-shadow:0 0 0 3px rgba(147,51,234,.1)}.BookingModal-module__EmgdDq__phoneInputGroup{align-items:center;gap:.75rem;display:flex}.BookingModal-module__EmgdDq__countryCodeSelect{background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;flex-shrink:0;min-width:80px;min-height:48px;padding:.875rem .5rem;font-size:1rem}.BookingModal-module__EmgdDq__phoneInput{flex:1}.BookingModal-module__EmgdDq__checkboxGroup{text-align:left;align-items:flex-start;width:100%;margin-bottom:1rem;display:flex}.BookingModal-module__EmgdDq__checkboxInput{cursor:pointer;accent-color:#6b21a8;border-color:#d1d5db;border-radius:.25rem;flex-shrink:0;min-width:16px;min-height:16px;margin-top:.25rem;margin-right:.75rem}.BookingModal-module__EmgdDq__checkboxLabel{color:#4b5563;font-size:.875rem;line-height:1.4}.BookingModal-module__EmgdDq__btnPrimary{color:#fff;cursor:pointer;background-color:#6b21a8;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:300px;min-height:48px;margin-top:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s,transform .2s;display:flex}.BookingModal-module__EmgdDq__btnPrimary:hover:not(:disabled){background-color:#9333ea;transform:translateY(-2px)}.BookingModal-module__EmgdDq__btnPrimary:disabled{cursor:not-allowed;background-color:#a3a3a3}.BookingModal-module__EmgdDq__errorMessage{color:#ef4444;margin-top:.5rem;font-size:.875rem;line-height:1.4}.BookingModal-module__EmgdDq__confirmationIcon{width:4rem;height:4rem;animation:.5s cubic-bezier(.68,-.55,.27,1.55) BookingModal-module__EmgdDq__bounceIn}@media (min-width:640px){.BookingModal-module__EmgdDq__confirmationIcon{width:5rem;height:5rem}}.BookingModal-module__EmgdDq__confirmationTitle{color:#1f2937;margin-top:1rem;font-size:1.5rem;font-weight:700}@media (min-width:640px){.BookingModal-module__EmgdDq__confirmationTitle{font-size:2rem}}.BookingModal-module__EmgdDq__bookingDetailsCard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left;background-color:rgba(249,250,251,.8);border:1px solid rgba(255,255,255,.18);border-radius:1rem;width:100%;max-width:450px;margin-top:2rem;padding:1.25rem;position:relative;box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}@media (min-width:640px){.BookingModal-module__EmgdDq__bookingDetailsCard{padding:1.5rem}}.BookingModal-module__EmgdDq__bookingInfo{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.BookingModal-module__EmgdDq__infoRow{justify-content:space-between;align-items:flex-start;font-size:.9rem;display:flex}@media (min-width:640px){.BookingModal-module__EmgdDq__infoRow{font-size:.95rem}}.BookingModal-module__EmgdDq__infoLabel{color:#6b7280;font-weight:500}.BookingModal-module__EmgdDq__infoValue{color:#374151;text-align:right;word-break:break-word;font-weight:600}.BookingModal-module__EmgdDq__btnSecondary{color:#374151;cursor:pointer;background-color:transparent;border:1px solid #d1d5db;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:300px;min-height:48px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s,transform .2s;display:flex}.BookingModal-module__EmgdDq__btnSecondary:hover{background-color:#e5e7eb;transform:translateY(-2px)}.BookingModal-module__EmgdDq__smFlexRow{flex-direction:column;display:flex}@media (min-width:640px){.BookingModal-module__EmgdDq__smFlexRow{flex-direction:row}}.BookingModal-module__EmgdDq__justifyCenter{justify-content:center}.BookingModal-module__EmgdDq__mt6{margin-top:1.5rem}.BookingModal-module__EmgdDq__gap4{gap:1rem}.BookingModal-module__EmgdDq__mr2{margin-right:.5rem}.BookingModal-module__EmgdDq__otpContainer{justify-content:center;gap:.5rem;margin:1.5rem 0;display:flex}@media (min-width:640px){.BookingModal-module__EmgdDq__otpContainer{gap:.75rem}}.BookingModal-module__EmgdDq__otpInput{text-align:center;background-color:#fff;border:2px solid #d1d5db;border-radius:.5rem;width:40px;height:48px;font-size:1.2rem;font-weight:600;transition:border-color .2s,transform .2s}@media (min-width:640px){.BookingModal-module__EmgdDq__otpInput{width:48px;height:52px;font-size:1.4rem}}.BookingModal-module__EmgdDq__otpInput:focus{border-color:#9333ea;outline:none;transform:scale(1.05);box-shadow:0 0 0 3px rgba(147,51,234,.1)}.BookingModal-module__EmgdDq__otpInput:not(:placeholder-shown){border-color:#22c55e}.BookingModal-module__EmgdDq__otpRetryContainer{text-align:center;margin-top:1.5rem}.BookingModal-module__EmgdDq__otpRetryMessage{color:#6b7280;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:.875rem;display:flex}.BookingModal-module__EmgdDq__linkButton{color:#6b21a8;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:.875rem;text-decoration:underline;transition:color .2s}.BookingModal-module__EmgdDq__linkButton:hover{color:#9333ea}.BookingModal-module__EmgdDq__linkButton:disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}.BookingModal-module__EmgdDq__link{color:#6b21a8;text-decoration:underline;transition:color .2s}.BookingModal-module__EmgdDq__link:hover{color:#9333ea}.BookingModal-module__EmgdDq__paymentCard{-webkit-backdrop-filter:blur(5px);background-color:rgba(249,250,251,.7);border:2px solid transparent;border-radius:1rem;align-items:center;gap:1rem;padding:1.5rem;transition:border-color .2s,background-color .2s,transform .2s;display:flex}.BookingModal-module__EmgdDq__paymentCard:hover{background-color:rgba(243,244,246,.85);border-color:#6b21a8;transform:translateY(-3px)}.BookingModal-module__EmgdDq__iconWrapper{border-radius:50%;justify-content:center;align-items:center;padding:.75rem;display:flex}.BookingModal-module__EmgdDq__iframeContainer{width:100%;max-width:600px;height:400px}#BookingModal-module__EmgdDq__pdf-receipt-container{width:784px;height:1123px;position:absolute;top:-9999px;left:-9999px}.BookingModal-module__EmgdDq__skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite BookingModal-module__EmgdDq__loading}.BookingModal-module__EmgdDq__skeletonCalendar{text-align:center;grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}@media (min-width:640px){.BookingModal-module__EmgdDq__skeletonCalendar{gap:.5rem}}.BookingModal-module__EmgdDq__skeletonDay{border-radius:.5rem;height:36px}@media (min-width:640px){.BookingModal-module__EmgdDq__skeletonDay{height:44px}}.BookingModal-module__EmgdDq__skeletonTimeSlots{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1rem;display:grid}@media (min-width:640px){.BookingModal-module__EmgdDq__skeletonTimeSlots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.BookingModal-module__EmgdDq__skeletonTimeSlot{border-radius:.5rem;height:44px}.BookingModal-module__EmgdDq__skeletonTitle{border-radius:.25rem;width:60%;height:24px;margin-bottom:1rem}.BookingModal-module__EmgdDq__skeletonText{border-radius:.25rem;height:16px;margin-bottom:.5rem}.BookingModal-module__EmgdDq__skeletonTextShort{width:40%}.BookingModal-module__EmgdDq__skeletonTextMedium{width:60%}.BookingModal-module__EmgdDq__skeletonTextLong{width:80%}@keyframes BookingModal-module__EmgdDq__loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes BookingModal-module__EmgdDq__fadeIn{0%{opacity:0}to{opacity:1}}@keyframes BookingModal-module__EmgdDq__slideUp{0%{opacity:0;transform:translateY(50px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes BookingModal-module__EmgdDq__bounceIn{0%,0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate(0,0)}40%{transform:translateY(-30px)}50%{transform:translateY(-15px)}65%{transform:translateY(-5px)}75%{transform:translateY(-10px)}}@media (max-width:640px){.BookingModal-module__EmgdDq__heroTitle{font-size:2rem}.BookingModal-module__EmgdDq__heroSubtitle{font-size:1rem}.BookingModal-module__EmgdDq__floatingButton{padding:.75rem 1rem;font-size:.875rem;bottom:1rem;right:1rem}.BookingModal-module__EmgdDq__modalContent{max-height:calc(100vh - 1rem);margin:.5rem}.BookingModal-module__EmgdDq__timeSlotGrid{grid-template-columns:1fr;gap:.75rem}.BookingModal-module__EmgdDq__timeSlotButton{padding:1rem;font-size:.9rem}}
