.BookingWidget_overlay__3OoAe{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:BookingWidget_fadeIn__IVk2E .3s ease-out}@keyframes BookingWidget_fadeIn__IVk2E{0%{opacity:0}to{opacity:1}}@keyframes BookingWidget_slideUp__mbM_k{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.BookingWidget_modal__pKlWz{background:#fff;border-radius:16px;max-width:1000px;width:100%;max-height:95vh;overflow:hidden;position:relative;display:grid;grid-template-columns:180px 1fr;grid-template-rows:auto 1fr auto;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:BookingWidget_slideUp__mbM_k .4s cubic-bezier(.16,1,.3,1)}.BookingWidget_mobileSummary__FrAj5{display:none}@media (max-width:768px){.BookingWidget_modal__pKlWz{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;max-height:95vh}.BookingWidget_mobileSummary__FrAj5,.BookingWidget_summary__M6Yto{display:none}.BookingWidget_header__bzEL8{grid-column:1;grid-row:1}.BookingWidget_content___jF0Q{grid-column:1;grid-row:2}.BookingWidget_navigation__wi07U{grid-column:1;grid-row:3}}.BookingWidget_closeButton___R_B6{position:absolute;top:15px;right:15px;width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s cubic-bezier(.4,0,.2,1);color:#666}.BookingWidget_closeButton___R_B6:hover{background:var(--color-primary,#c9a962);color:#fff;transform:rotate(90deg)}.BookingWidget_stepIcon__dR9Gf{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary,#c9a962) 0,#d4b978 100%);border-radius:12px;color:#fff;margin-bottom:12px}.BookingWidget_header__bzEL8{grid-column:2;grid-row:1;padding:15px 25px;border-bottom:1px solid #eee}.BookingWidget_headerFull__bPxra{grid-column:1/-1;grid-row:1;padding:15px 25px;border-bottom:1px solid #eee}.BookingWidget_headerFull__bPxra h2,.BookingWidget_header__bzEL8 h2{margin:0 0 3px;font-size:1.25rem;color:#333}.BookingWidget_subtext__dx9R5{margin:0;color:#888;font-size:.9rem}.BookingWidget_content___jF0Q{grid-column:2}.BookingWidget_contentFull__ht0xj,.BookingWidget_content___jF0Q{grid-row:2;padding:20px 25px;min-height:250px;max-height:calc(95vh - 200px);overflow-y:auto}.BookingWidget_contentFull__ht0xj{grid-column:1/-1}.BookingWidget_error__1_obd{background:#fee;color:#c00;padding:12px 15px;border-radius:6px;margin-bottom:20px}.BookingWidget_optionGrid__PGizJ{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px}.BookingWidget_optionCard__K3PL2{padding:15px 12px;border:2px solid #eee;border-radius:10px;background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:4px}.BookingWidget_optionCard__K3PL2:hover{border-color:var(--color-primary,#c9a962);background:#fdfbf7;transform:translateY(-4px);box-shadow:0 10px 25px -5px rgba(201,169,98,.2)}.BookingWidget_optionName__HmnSw{font-weight:600;color:#333}.BookingWidget_optionPrice__7MO83{font-size:1.25rem;font-weight:700;color:var(--color-primary,#c9a962)}.BookingWidget_extrasContainer__yfPIE{max-height:400px;overflow-y:auto}.BookingWidget_extrasList__F1h1E{display:flex;flex-direction:column;gap:12px}.BookingWidget_extraItem__XZPh4{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border:1px solid #eee;border-radius:8px;background:#fafafa}.BookingWidget_extraInfo__NKoWt{display:flex;flex-direction:column;gap:2px}.BookingWidget_extraName__0uApz{font-weight:600;color:#333}.BookingWidget_extraDesc__rgcTE{font-size:.85rem;color:#888}.BookingWidget_extraPrice__CcCi0{font-weight:600;color:var(--color-primary,#c9a962)}.BookingWidget_quantityControl__EY0dF{display:flex;align-items:center;gap:12px}.BookingWidget_quantityControl__EY0dF button{width:32px;height:32px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.BookingWidget_quantityControl__EY0dF button:hover:not(:disabled){border-color:var(--color-primary,#c9a962);background:#fdfbf7}.BookingWidget_quantityControl__EY0dF button:disabled{opacity:.5;cursor:not-allowed}.BookingWidget_quantityControl__EY0dF span{min-width:24px;text-align:center;font-weight:600}.BookingWidget_toggleButton__jXs9C{width:40px;height:40px;border:2px solid #ddd;border-radius:50%;background:#fff;font-size:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.BookingWidget_toggleButton__jXs9C:hover{border-color:var(--color-primary,#c9a962)}.BookingWidget_toggleButton__jXs9C.BookingWidget_selected__4sxQn{background:var(--color-primary,#c9a962);border-color:var(--color-primary,#c9a962);color:#fff}.BookingWidget_dateTimeContainer__W8xAC{display:flex;flex-direction:column;gap:25px}.BookingWidget_calendar__Y2kR1{border:1px solid #eee;border-radius:10px;padding:20px}.BookingWidget_calendarHeader__5lAfu{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.BookingWidget_calendarHeader__5lAfu button{width:36px;height:36px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:18px;cursor:pointer;transition:all .2s}.BookingWidget_calendarHeader__5lAfu button:hover{border-color:var(--color-primary,#c9a962)}.BookingWidget_calendarHeader__5lAfu span{font-weight:600;text-transform:capitalize}.BookingWidget_calendarGrid__frzCS{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.BookingWidget_calendarLoadingContainer__MW7f8{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.BookingWidget_calendarSpinner__i2FkH{width:40px;height:40px;border:3px solid #f0f0f0;border-top:3px solid var(--color-primary,#b8a48d);border-radius:50%;animation:BookingWidget_spin__qxgnm 1s linear infinite;margin-bottom:15px}@keyframes BookingWidget_spin__qxgnm{to{transform:rotate(1turn)}}.BookingWidget_dayHeader__ZZUAv{text-align:center;font-weight:600;color:#888;padding:10px 0;font-size:.85rem}.BookingWidget_emptyDay__OLO5s{padding:10px}.BookingWidget_dayCell__z8s_j{padding:8px 4px 4px;text-align:center;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:3px}.BookingWidget_dayNumber__qca_m{font-size:.9rem}.BookingWidget_availabilityBar__3QZot{display:flex;width:100%;height:4px;gap:0;border-radius:2px;overflow:hidden}.BookingWidget_availabilitySlot__DYU65{flex:1;height:100%}.BookingWidget_slotAvailable__kuYzy{background:#4ade80}.BookingWidget_slotBooked__1u_1x{background:#e5e5e5}.BookingWidget_dayCell__z8s_j.BookingWidget_available__1Srf5{color:#333}.BookingWidget_dayCell__z8s_j.BookingWidget_available__1Srf5:hover{background:#f5f5f5}.BookingWidget_dayCell__z8s_j.BookingWidget_unavailable__zqHOb{color:#ccc;cursor:not-allowed}.BookingWidget_dayCell__z8s_j.BookingWidget_unavailable__zqHOb .BookingWidget_availabilityBar__3QZot{opacity:.3}.BookingWidget_dayCell__z8s_j.BookingWidget_selected__4sxQn{background:var(--color-primary,#c9a962);color:#fff}.BookingWidget_dayCell__z8s_j.BookingWidget_selected__4sxQn .BookingWidget_slotAvailable__kuYzy{background:#fff}.BookingWidget_dayCell__z8s_j.BookingWidget_selected__4sxQn .BookingWidget_slotBooked__1u_1x{background:hsla(0,0%,100%,.3)}.BookingWidget_timeSlots__eprwY{border:1px solid #eee;border-radius:10px;padding:20px}.BookingWidget_timeSlots__eprwY h3{margin:0 0 15px;font-size:1rem}.BookingWidget_timeSlotsGrid__3z6gw{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.BookingWidget_timeSlot__7E0l9{padding:10px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .2s}.BookingWidget_timeSlot__7E0l9:hover{border-color:var(--color-primary,#c9a962);background:#fdfbf7}.BookingWidget_timeSlot__7E0l9.BookingWidget_selected__4sxQn{background:var(--color-primary,#c9a962);border-color:var(--color-primary,#c9a962);color:#fff}.BookingWidget_customerForm__w1yaX{display:flex;flex-direction:column;gap:15px}.BookingWidget_formRow__Ysdh0{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media (max-width:500px){.BookingWidget_formRow__Ysdh0{grid-template-columns:1fr}}.BookingWidget_formGroup__RhzvY{display:flex;flex-direction:column;gap:5px}.BookingWidget_formGroup__RhzvY label{font-weight:500;color:#555;font-size:.9rem}.BookingWidget_formGroup__RhzvY input,.BookingWidget_formGroup__RhzvY textarea{padding:12px 15px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.BookingWidget_formGroup__RhzvY input:focus,.BookingWidget_formGroup__RhzvY textarea:focus{outline:none;border-color:var(--color-primary,#c9a962)}.BookingWidget_summary__M6Yto{background:#f9f9f9;padding:12px;border-right:1px solid #eee;grid-column:1;grid-row:2/4;font-size:.8rem;overflow-y:auto}.BookingWidget_summary__M6Yto h3{margin:0 0 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#888}.BookingWidget_summary__M6Yto p{margin:0 0 4px;color:#333;font-size:.75rem;line-height:1.3}.BookingWidget_costBreakdown__x0h0n{margin-top:10px;padding-top:10px;border-top:1px solid #ddd}.BookingWidget_costBreakdown__x0h0n h4{margin:0 0 8px;font-size:.65rem;color:#888;text-transform:uppercase;letter-spacing:1px}.BookingWidget_costLine__d4aeX{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.7rem}.BookingWidget_totalLine__l0mGz{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #ddd;font-weight:700;font-size:.85rem}.BookingWidget_navigation__wi07U{grid-column:2;grid-row:3;padding:20px 30px;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:15px}.BookingWidget_backButton__mRM_R{padding:12px 25px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s}.BookingWidget_backButton__mRM_R:hover{border-color:#999}.BookingWidget_nextButton__Y3gYU,.BookingWidget_submitButton__3N7T9{padding:12px 30px;border:none;border-radius:6px;background:var(--color-primary,#c9a962);color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.BookingWidget_nextButton__Y3gYU:hover,.BookingWidget_submitButton__3N7T9:hover{background:#b8954d}.BookingWidget_submitButton__3N7T9:disabled{background:#ccc;cursor:not-allowed}.BookingWidget_primaryButton__Ib2ev{padding:12px 30px;border:none;border-radius:6px;background:var(--color-primary,#c9a962);color:#fff;font-weight:600;cursor:pointer;transition:all .2s;margin-top:20px}.BookingWidget_primaryButton__Ib2ev:hover{background:#b8954d}.BookingWidget_confirmation__hndcp{text-align:center;padding:40px 20px}.BookingWidget_successIcon__gfdfQ{width:80px;height:80px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 25px}.BookingWidget_confirmation__hndcp h3{margin:0 0 15px;font-size:1.5rem}.BookingWidget_confirmation__hndcp p{margin:0 0 10px;color:#666}