.booking-form{flex-direction:column;gap:14px;display:flex}.booking-form__label{font-family:var(--font-heading);font-size:20px;font-weight:700}.booking-form__field{flex-direction:column;gap:6px;display:flex}.booking-form__field-label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.booking-form__input{border-radius:var(--radius-pill);background:var(--color-card);width:100%;color:var(--color-text-primary);padding:14px 18px;font-size:14px}.booking-form__input::placeholder{color:var(--color-text-muted)}.booking-form__input--error{outline:1.5px solid #ef4444}.booking-form__error{color:#ef4444;margin-top:2px;font-size:12px}.coach-selector{flex-direction:column;gap:14px;display:flex}.coach-selector__label{font-family:var(--font-heading);font-size:20px;font-weight:700}.coach-selector__row{gap:12px;display:flex}.coach-selector__card{border-radius:var(--radius-card);background:var(--color-card);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:10px;padding:16px;transition:all .15s;display:flex}.coach-selector__card--selected{outline:2px solid var(--color-primary);outline-offset:-2px}.coach-selector__avatar{background:var(--color-border);object-fit:cover;border-radius:50%;width:56px;height:56px}.coach-selector__name{font-size:13px;font-weight:600}.coach-selector__card:not(.coach-selector__card--selected) .coach-selector__name{color:var(--color-text-secondary);font-weight:500}.date-picker{flex-direction:column;gap:14px;display:flex}.date-picker__label{font-family:var(--font-heading);font-size:20px;font-weight:700}.date-picker__month-row{justify-content:space-between;align-items:center;display:flex}.date-picker__month{font-size:14px;font-weight:600}.date-picker__nav{gap:8px;display:flex}.date-picker__nav-btn{width:32px;height:32px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.date-picker__nav-btn:hover{background:var(--color-card)}.date-picker__days{justify-content:space-between;gap:8px;display:flex}.date-picker__day{cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.date-picker__day-label{color:var(--color-text-muted);font-size:12px;font-weight:500}.date-picker__day-circle{background:var(--color-card);width:42px;height:42px;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:all .15s;display:flex}.date-picker__day--selected .date-picker__day-label{color:var(--color-primary);font-weight:600}.date-picker__day--selected .date-picker__day-circle{background:var(--color-primary);color:#fff;font-weight:700}.duration-selector{gap:8px;display:flex}.duration-selector__option{border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-text-secondary);cursor:pointer;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.duration-selector__option:hover{background:var(--color-primary-soft)}.duration-selector__option--selected{background:var(--color-primary);color:#fff;font-weight:600}.duration-selector__option--selected:hover,.duration-selector__option--selected:active,.duration-selector__option--selected:focus{background:var(--color-primary);color:#fff}.spinner-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:60vh;display:flex}.spinner{border:3px solid #e4e4e7;border-top-color:#8b5cf6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.spinner--small{border-width:2px;width:18px;height:18px}.spinner--white{border-color:#fff #ffffff4d #ffffff4d}.spinner-wrap__text{color:#71717a;font-family:Inter,sans-serif;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.time-slots{flex-direction:column;gap:14px;display:flex}.time-slots__header{justify-content:space-between;align-items:center;display:flex}.time-slots__label{font-family:var(--font-heading);font-size:20px;font-weight:700}.time-slots__grid{flex-direction:column;gap:8px;display:flex}.time-slots__row{gap:8px;display:flex}.time-slots__slot{border-radius:var(--radius-pill);background:var(--color-card);text-align:center;color:var(--color-text-primary);cursor:pointer;flex:1;padding:12px 0;font-size:13px;font-weight:500;transition:all .15s}.time-slots__slot:hover{background:var(--color-primary-soft)}.time-slots__slot--selected{background:var(--color-primary);color:#fff;font-weight:600}.time-slots__slot--selected:hover,.time-slots__slot--selected:active,.time-slots__slot--selected:focus{background:var(--color-primary);color:#fff}.time-slots__slot--unavailable{color:var(--color-text-disabled);cursor:not-allowed}.time-slots__slot--unavailable:hover{background:var(--color-card)}.booking-page{flex-direction:column;gap:28px;max-width:402px;min-height:100dvh;margin:0 auto;padding:24px;display:flex}.booking-page__header{justify-content:space-between;align-items:center;display:flex}.booking-page__logo{font-family:var(--font-heading);color:var(--color-primary);font-size:22px;font-weight:800}.booking-page__hero{flex-direction:column;gap:8px;display:flex}.booking-page__title{font-family:var(--font-heading);font-size:34px;font-weight:800;line-height:1.1}.booking-page__subtitle{color:var(--color-text-secondary);font-size:14px}.booking-page__submit{border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:opacity .15s;display:flex}.booking-page__submit:disabled{opacity:.5;cursor:not-allowed}.booking-page__error{color:#ef4444;text-align:center;font-size:14px}.booking-page__loading{color:var(--color-text-secondary);text-align:center;padding:20px 0;font-size:14px}.booking-page__empty{color:var(--color-text-muted);text-align:center;padding:20px 0;font-size:14px}.booking-page__lang{gap:4px;display:flex}.booking-page__lang-btn{color:var(--color-text-secondary);background:0 0;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600;transition:all .15s}.booking-page__lang-btn--active{background:var(--color-primary-soft);color:var(--color-primary)}.confirmation{flex-direction:column;justify-content:center;align-items:center;gap:32px;max-width:402px;min-height:100dvh;margin:0 auto;padding:24px;display:flex}.confirmation__check{background:var(--color-primary-soft);width:80px;height:80px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex}.confirmation__text{text-align:center;flex-direction:column;gap:8px;display:flex}.confirmation__title{font-family:var(--font-heading);font-size:28px;font-weight:800}.confirmation__subtitle{color:var(--color-text-secondary);font-size:15px}.confirmation__card{border-radius:var(--radius-card);background:var(--color-card);flex-direction:column;gap:16px;width:100%;padding:20px;display:flex}.confirmation__card-title{color:var(--color-text-muted);font-size:13px;font-weight:600}.confirmation__divider{background:var(--color-border);height:1px}.confirmation__row{justify-content:space-between;display:flex}.confirmation__row-label{color:var(--color-text-secondary);font-size:14px}.confirmation__row-value{font-size:14px;font-weight:600}.confirmation__calendar{border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;text-align:center;cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px;font-size:15px;font-weight:600;animation:1.5s ease-in-out infinite glow-pulse;display:flex}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #8b5cf64d}50%{box-shadow:0 0 40px #8b5cf6}}.confirmation__back{border-radius:var(--radius-pill);background:var(--color-card);text-align:center;width:100%;padding:16px;font-size:15px;font-weight:600}:root{--color-primary:#8b5cf6;--color-primary-soft:#8b5cf61f;--color-bg:#fff;--color-card:#f4f4f5;--color-text-primary:#18181b;--color-text-secondary:#71717a;--color-text-muted:#a1a1aa;--color-text-disabled:#d4d4d8;--color-border:#e4e4e7;--font-heading:"Plus Jakarta Sans", sans-serif;--font-body:"Inter", sans-serif;--radius-pill:24px;--radius-card:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input{background:0 0;border:none;outline:none;font-family:inherit}
