.booking-wizard{display:flex;flex-direction:column;gap:var(--space-4);width:100%;min-width:0;padding:var(--space-6);border-radius:var(--radius-md);background-color:var(--color-surface-light);font-family:var(--font-family-primary)}.booking-wizard__header{display:flex;align-items:center;gap:var(--space-5);width:100%;min-width:0}.booking-wizard__date{display:flex;flex:1;flex-direction:column;min-width:0}.booking-wizard__back{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer}.booking-wizard__back:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px;border-radius:var(--radius-sm)}.booking-wizard__back img{display:block;width:20px;height:20px}.booking-wizard__total{flex-shrink:0;color:var(--color-gray-900);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);white-space:nowrap}.booking-wizard__date-day{color:var(--color-gray-900);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.1}.booking-wizard__date-weekday{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.3}.booking-wizard__summary{display:flex;flex-direction:column;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-3);border:1px solid #d4e97f;border-radius:var(--radius-sm);background-color:var(--color-gray-100)}.booking-wizard__summary-title{margin:0;color:var(--color-olive-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.1}.booking-wizard__summary-groups,.booking-wizard__summary-group{display:flex;flex-direction:column;gap:var(--space-2)}.booking-wizard__summary-divider{display:block;height:1px;background-color:var(--color-olive-700);opacity:.3}.booking-wizard__summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0;color:var(--color-olive-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:1.3}.booking-wizard__cta,.booking-wizard__cta.button{width:100%;min-width:0;height:64px;padding:4px 4px 4px var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);line-height:1.2;letter-spacing:.32px}.booking-wizard__cta .button__label{min-width:0;white-space:normal}.booking-wizard__cta .button__icon--arrow.button__icon--arrow-lg{width:56px;height:56px}.registration{display:flex;align-items:flex-start;gap:var(--space-7);width:100%;min-width:0;padding:var(--space-7) var(--space-8);border-radius:var(--radius-md);background-color:var(--color-surface-light);font-family:var(--font-family-primary)}.registration__summary{flex:1 1 443px;min-width:0}.registration__summary-inner{display:flex;gap:var(--space-5);align-items:flex-start}.registration__back{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:60px;padding:0;border:none;background:none;cursor:pointer}.registration__back:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px;border-radius:var(--radius-sm)}.registration__summary-content{display:flex;flex:1;flex-direction:column;gap:var(--space-5);min-width:0}.registration__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.registration__date{display:flex;flex-direction:column}.registration__date-day{color:var(--color-gray-900);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base)}.registration__date-weekday{color:var(--color-gray-900);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:1;opacity:.6}.registration__total{flex-shrink:0;color:var(--color-gray-900);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);white-space:nowrap}.registration__slots-box{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid #d4e97f;border-radius:var(--radius-sm);background-color:var(--color-gray-100)}.registration__duration{margin:0;color:var(--color-olive-700);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-base)}.registration__slot-groups,.registration__slot-group{display:flex;flex-direction:column;gap:var(--space-2)}.registration__slot-divider{display:block;height:1px;background-color:var(--color-olive-700);opacity:.3}.registration__slot-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);color:var(--color-olive-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight)}.registration__slot-time,.registration__slot-price{white-space:nowrap}.registration__divider{flex-shrink:0;align-self:stretch;width:1px;background-color:var(--color-gray-100)}.registration__form{display:flex;flex:0 1 389px;flex-direction:column;gap:var(--space-5);min-width:0}.registration__fields{display:flex;flex-direction:column;gap:var(--space-2)}.registration__field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.registration__field-error{margin:0;color:var(--color-account-cancel);font-size:12px;font-weight:var(--font-weight-regular);line-height:1.3}.registration__field-errors:empty{display:none}.registration__field--checkbox{gap:var(--space-1)}.checkbox:has(.checkbox__input.field--error) .checkbox__control{box-shadow:inset 0 0 0 1px var(--color-account-cancel)}.registration__consents{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.registration__submit{margin-top:auto}.registration__submit-error{margin-top:var(--space-2);color:var(--color-danger, #d14343);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.registration__form--hidden{display:none}.registration__otp{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.registration__otp-title{color:var(--color-gray-900);font-size:var(--font-size-base, 16px);font-weight:var(--font-weight-semibold)}.registration__otp-hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.registration__otp-hint strong{overflow-wrap:anywhere}.registration__otp-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3)}.registration__otp-link{min-width:0;padding:0;border:none;background:none;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-base);text-align:left;text-decoration:underline;cursor:pointer}.registration__otp-link:last-child{text-align:right}.registration__otp-link:disabled{opacity:.5;cursor:default;text-decoration:none}@media(hover:hover){.registration__otp-link:not(:disabled):hover{color:var(--color-gray-900)}}.registration--compact{display:flex;flex-direction:column;gap:var(--space-4);width:100%;min-width:0;padding:0;border-radius:0;background:none}.registration__compact-top{display:flex;flex-direction:column;gap:var(--space-5);width:100%;min-width:0}.registration__form--compact{flex:none;gap:var(--space-3);width:100%;min-width:0}.registration--compact .registration__fields{gap:4px}.registration__input--compact{height:64px;padding:var(--space-4);border-radius:var(--radius-md);background-color:#fff9;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:1;text-overflow:ellipsis}.registration__input--compact::placeholder{color:var(--color-text-secondary);opacity:.6}.registration--compact .registration__consents{gap:var(--space-2)}.registration--compact .checkbox{gap:var(--space-3);align-items:flex-start;min-width:0}.registration--compact .checkbox__label{min-width:0;font-size:11px;line-height:1.3;overflow-wrap:anywhere}.registration--compact .registration__otp{gap:var(--space-3)}.calendar{display:flex;justify-content:center;align-items:center;padding:var(--space-6);border-radius:var(--radius-md);background-color:var(--color-surface-light);font-family:var(--font-family-primary)}.calendar__nav{display:flex;align-items:center;gap:var(--space-4);user-select:none}@media(min-width:1200px){.calendar__layout{display:grid;grid-template-columns:repeat(7,80px);grid-template-rows:auto;grid-auto-rows:80px;gap:6px}.calendar__grid{display:contents}.calendar__nav{grid-column:1 / -1;grid-row:1}.calendar__grid .calendar__day:first-child{grid-column-start:4}}@media(min-width:1200px)and (max-width:1439px){.calendar{min-width:0;padding:var(--space-5)}.calendar__layout{display:flex;flex-direction:column;gap:var(--space-4);width:100%;min-width:0}.calendar__nav{grid-column:auto}.calendar__grid{display:grid;grid-template-columns:repeat(auto-fit,80px);justify-content:center;gap:6px}.calendar__day{width:80px;height:80px}}.calendar__nav-title{color:var(--color-gray-900);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base)}.calendar__nav-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;border:none;background:none;opacity:.5;color:var(--color-calendar-nav);cursor:pointer;transition:color .15s ease}@media(hover:hover){.calendar__nav-btn:not([aria-disabled=true]):hover{color:var(--color-calendar-nav-hover)}}.calendar__nav-btn[aria-disabled=true]{opacity:.3;cursor:default;pointer-events:none}.calendar__nav-btn svg{width:8px;height:14px}.calendar__day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);background-color:var(--color-surface-light);box-shadow:var(--shadow-calendar-day);font-family:inherit;cursor:pointer;user-select:none;transition:border-color .15s ease,background-color .15s ease,color .15s ease}@media(hover:hover){.calendar__day:not(.calendar__day--past):not(.calendar__day--no-places):not(.calendar__day--selected):hover{border-color:var(--color-accent-500)}}.calendar__day:not(.calendar__day--past):not(.calendar__day--no-places):not(.calendar__day--selected):active{background-color:var(--color-accent-500);border-color:var(--color-accent-500)}.calendar__day:not(.calendar__day--past):not(.calendar__day--no-places):not(.calendar__day--selected):active .calendar__day-dow{color:var(--color-sticker-text)}.calendar__day:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:-2px}.calendar__day-num{color:var(--color-gray-900);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-base)}.calendar__day-dow{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);transition:color .15s ease}.calendar__day--past{background-color:var(--color-surface-disabled);box-shadow:none;pointer-events:none;cursor:default;.calendar__day-num,.calendar__day-dow{opacity:.5}}.calendar__day--weekend .calendar__day-dow{color:var(--color-weekend)}.calendar__day--no-places{cursor:default}.calendar__sticker{position:absolute;left:52%;top:50%;transform:translate(-50%) rotate(-7.42deg);pointer-events:none}.calendar__day--selected{background-color:var(--color-accent-500);border-color:var(--color-accent-500)}.calendar__day--selected .calendar__day-dow{color:var(--color-sticker-text)}.booking--compact .booking-wizard .calendar{width:100%;padding:0;border-radius:0;background:none}.booking--compact .calendar__layout{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%}.booking--compact .calendar__nav{justify-content:center;width:100%;max-width:278px}.booking--compact .calendar__nav-title{font-size:var(--font-size-xl)}.booking--compact .calendar__grid{display:grid;grid-template-columns:repeat(auto-fit,65px);justify-content:center;gap:6px;width:100%}.booking--compact .calendar__day{flex-shrink:0;width:65px;height:65px;background-color:#f9f9f9;box-shadow:0 0 5.17px #8cb30a40}.booking--compact .calendar__day--past{background-color:var(--color-surface-disabled);box-shadow:none}.booking--compact .calendar__day-num{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.2}.booking--compact .calendar__day-dow{font-size:var(--font-size-xs);line-height:1.2}.booking--compact .calendar__sticker{width:28px;height:30px}.calendar__grid--loading{animation:calendar-grid-pulse 1.1s ease-in-out infinite}@keyframes calendar-grid-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.calendar__grid--loading{animation:none;opacity:.6}}.timeslots{display:flex;flex-direction:column;gap:var(--space-5);width:328px;min-width:0;padding:var(--space-6);border-radius:var(--radius-md);background-color:var(--color-surface-light);font-family:var(--font-family-primary)}.timeslots__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.timeslots__date{display:flex;flex-direction:column;min-height:38px;line-height:var(--line-height-base)}.timeslots__date-day{color:var(--color-gray-900);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.timeslots__date-weekday{color:var(--color-gray-900);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);opacity:.6}.timeslots__cta{flex-shrink:0;flex-grow:0}.timeslots__groups,.timeslots__group{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.timeslots__placeholder{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-base);opacity:.7}.timeslots__placeholder--error{color:var(--color-danger, #d14343);opacity:1}@keyframes timeslots-loader-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.timeslots__loader{display:flex;flex-direction:column;gap:var(--space-5);width:100%}.timeslots__loader-slot{display:block;height:35px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-gray-100) 0%,#e4e4e4 50%,var(--color-gray-100) 100%);background-size:200% 100%;animation:timeslots-loader-shimmer 1.4s ease-in-out infinite}.timeslots--compact .timeslots__loader{gap:var(--space-3)}.timeslots--compact .timeslots__loader-slot{height:40px}@media(prefers-reduced-motion:reduce){.timeslots__loader-slot{animation:none;opacity:.55}}.timeslots__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.timeslots__divider{height:1px;background-color:var(--color-gray-600);opacity:.2}.timeslots__slot{display:flex;align-items:center;justify-content:center;min-width:0;height:35px;padding:var(--space-2) 10px;border:1px solid transparent;border-radius:var(--radius-sm);background-color:var(--color-surface-light);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);white-space:nowrap;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}@media(hover:hover){.timeslots__slot:not(.timeslots__slot--selected):hover{border-color:var(--color-accent-500);color:var(--color-gray-900)}}.timeslots__slot--selected{background-color:var(--color-accent-500);border-color:var(--color-accent-500);color:var(--color-gray-900);font-weight:var(--font-weight-semibold)}.timeslots__slot:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}@media(min-width:1200px)and (max-width:1439px){.timeslots{width:100%;gap:var(--space-4);padding:var(--space-5)}.timeslots__header{flex-direction:column;align-items:stretch;gap:var(--space-3)}.timeslots__cta{width:fit-content}.timeslots__groups,.timeslots__group{gap:var(--space-4)}.timeslots__grid{gap:var(--space-1)}.timeslots__slot{height:32px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.timeslots__loader-slot{height:32px}}.timeslots--compact{width:100%;min-width:0;padding:0;border-radius:0;background:none;gap:var(--space-4)}.timeslots--compact .timeslots__groups,.timeslots--compact .timeslots__group{gap:var(--space-3)}.timeslots--compact .timeslots__grid{grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.timeslots--compact .timeslots__slot{height:40px;padding:var(--space-2);background-color:#f9f9f9;font-size:var(--font-size-xs);line-height:1.2}.timeslots--compact .timeslots__slot--selected{background-color:var(--color-accent-500);border-color:var(--color-accent-500);color:var(--color-gray-900);font-weight:var(--font-weight-semibold)}.timeslots--compact .timeslots__divider{width:100%;margin-inline:auto;opacity:.1}@media(max-width:639px){.timeslots--compact .timeslots__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking{display:grid;grid-template-columns:1fr 328px;gap:var(--space-1);min-width:0;min-height:552px}@media(min-width:1200px)and (max-width:1439px){.booking{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:1fr}}.booking--register{grid-template-columns:1fr}.booking--compact{display:block;width:100%;min-width:0;max-width:380px;margin-inline:auto}.booking--compact.booking--register{grid-template-columns:unset}@media(max-width:1199px){.booking{min-height:auto}}@media(max-width:767px){.booking--compact{max-width:100%}}
