.salon-booking{--sb-accent:#6fa36a;--sb-accent-soft:#edf6eb;--sb-text:#23241f;--sb-muted:#707268;--sb-line:#ddded5;--sb-surface:#fff;--sb-surface-alt:#fafaf4;max-width:1080px;margin:0 auto;color:var(--sb-text);font-size:16px;line-height:1.5}.salon-booking *,.salon-booking *:before,.salon-booking *:after{box-sizing:border-box}.salon-booking [hidden]{display:none !important}.salon-booking__form{display:block}.salon-booking__success{max-width:680px;margin:0 auto;padding:40px 28px;border:1px solid var(--sb-line);border-radius:8px;background:var(--sb-surface-alt);color:var(--sb-text);text-align:center}.salon-booking__success:focus{outline:none}.salon-booking__success-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:18px;border-radius:50%;background:var(--sb-accent);color:#fff;font-size:28px;font-weight:800;line-height:1}.salon-booking__success h3{margin:0 0 12px;color:var(--sb-text) !important;font-size:28px;font-style:normal !important;font-weight:800;line-height:1.2;letter-spacing:0 !important;text-transform:none !important}.salon-booking__success p{max-width:520px;margin:0 auto 8px;color:var(--sb-muted);font-size:17px;font-style:normal !important;letter-spacing:0 !important;line-height:1.5;text-transform:none !important}.salon-booking__success .salon-booking__success-text{color:var(--sb-text);font-weight:700}.salon-booking__message{margin-bottom:16px;font-weight:700}.salon-booking__message.is-success{color:#256c2d}.salon-booking__message.is-error{color:#b3261e}.salon-booking__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;margin:0 0 18px;list-style:none}.salon-booking__steps li{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid var(--sb-line);border-radius:6px;background:var(--sb-surface);color:var(--sb-muted);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:0 !important;text-transform:none !important}.salon-booking__steps span{display:inline-flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f0f0ea;color:var(--sb-muted);font-size:12px}.salon-booking__steps .is-active{border-color:var(--sb-accent);background:var(--sb-accent-soft);color:var(--sb-text)}.salon-booking__steps .is-active span,.salon-booking__steps .is-complete span{background:var(--sb-accent);color:#fff}.salon-booking__shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.salon-booking.is-confirm-step .salon-booking__steps,.salon-booking.is-confirm-step .salon-booking__summary{display:none !important}.salon-booking.is-confirm-step .salon-booking__shell{display:block}.salon-booking.is-confirm-step .salon-booking__main{max-width:none;min-height:0;padding:36px}.salon-booking.is-confirm-step .salon-booking__panel[data-step="4"]{max-width:760px;margin:0 auto;text-align:center}.salon-booking.is-confirm-step .salon-booking__panel[data-step="4"] h3{font-size:30px}.salon-booking.is-confirm-step .salon-booking__nav{max-width:760px;margin:30px auto 0}.salon-booking__main,.salon-booking__summary{border:1px solid var(--sb-line);border-radius:8px;background:var(--sb-surface)}.salon-booking__main{min-height:0;padding:24px}.salon-booking__panel[hidden]{display:none !important}.salon-booking__panel h3,.salon-booking__summary h3{margin:0 0 8px;color:var(--sb-text) !important;font-size:24px;font-style:normal !important;font-weight:800;line-height:1.2;letter-spacing:0 !important;text-transform:none !important}.salon-booking__panel p{margin:0 0 20px;color:var(--sb-muted);font-style:normal !important;letter-spacing:0 !important;text-transform:none !important}.salon-booking label{display:grid;gap:7px;max-width:560px;font-size:14px;font-weight:700;font-style:normal !important;letter-spacing:0 !important;text-transform:none !important}.salon-booking .salon-booking__fields input,.salon-booking .salon-booking__fields select,.salon-booking .salon-booking__fields textarea{width:100%;box-sizing:border-box;min-height:48px;border:1px solid var(--sb-line);border-radius:6px;background:#fff !important;background-color:#fff !important;padding:11px 12px;color:var(--sb-text) !important;font-size:16px !important;font-weight:500;font-style:normal !important;letter-spacing:0 !important;line-height:1.35 !important;text-transform:none !important;box-shadow:none !important;appearance:auto}.salon-booking select:disabled,.salon-booking input:disabled{background:#f5f5f0;color:var(--sb-muted)}.salon-booking textarea{min-height:120px;resize:vertical}.salon-booking__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.salon-booking__wide{grid-column:1/-1;max-width:none !important}.salon-booking__calendar{max-width:360px;margin-bottom:18px}.salon-booking__date-input{position:absolute;width:1px !important;height:1px !important;min-height:1px !important;opacity:0;pointer-events:none}.salon-booking .flatpickr-calendar{width:100%;max-width:360px;border:1px solid var(--sb-line);border-radius:8px;box-shadow:none}.salon-booking .flatpickr-calendar *{letter-spacing:0 !important;text-transform:none !important}.salon-booking .flatpickr-months .flatpickr-month{height:42px}.salon-booking .flatpickr-current-month{display:flex;align-items:center;justify-content:center;gap:4px;height:42px;padding:0}.salon-booking .flatpickr-current-month .flatpickr-monthDropdown-months,.salon-booking .flatpickr-current-month input.cur-year{width:auto !important;min-height:0 !important;height:auto !important;padding:0 4px !important;border:0 !important;border-radius:0 !important;background:0 0 !important;background-color:transparent !important;box-shadow:none !important;color:var(--sb-text) !important;font-size:14px !important;font-weight:700;line-height:1.2 !important}.salon-booking .flatpickr-current-month input.cur-year{padding-left:2px !important}.salon-booking .flatpickr-rContainer,.salon-booking .flatpickr-days,.salon-booking .dayContainer{width:100%;max-width:none;min-width:0}.salon-booking .flatpickr-day{border-radius:6px}.salon-booking .flatpickr-day.selected,.salon-booking .flatpickr-day.startRange,.salon-booking .flatpickr-day.endRange{border-color:var(--sb-accent);background:var(--sb-accent)}.salon-booking .flatpickr-day.today{border-color:var(--sb-accent)}.salon-booking__slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:560px;min-height:48px}.salon-booking .salon-booking__slots>button.salon-booking__slot,.salon-booking button.salon-booking__slot{position:relative;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:100% !important;height:auto !important;min-height:46px;margin:0 !important;padding:10px !important;border:1px solid var(--sb-line) !important;border-radius:6px;background:#fff !important;background-color:#fff !important;box-shadow:0 0 0 1px var(--sb-line) inset !important;color:var(--sb-text) !important;cursor:pointer;font-size:16px !important;font-weight:700;letter-spacing:0 !important;line-height:1.2 !important;text-align:center;text-decoration:none !important;text-shadow:none !important;text-transform:none !important;-webkit-appearance:none !important;appearance:none !important;overflow:hidden;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.salon-booking .salon-booking__slots>button.salon-booking__slot:hover,.salon-booking button.salon-booking__slot:hover,.salon-booking .salon-booking__slots>button.salon-booking__slot.is-selected,.salon-booking button.salon-booking__slot.is-selected{border-color:var(--sb-accent) !important;background:var(--sb-accent-soft) !important;background-color:var(--sb-accent-soft) !important;box-shadow:0 0 0 1px var(--sb-accent) inset !important;color:var(--sb-text) !important}.salon-booking .salon-booking__slots>button.salon-booking__slot.is-selected,.salon-booking button.salon-booking__slot.is-selected{background:var(--sb-accent) !important;background-color:var(--sb-accent) !important;box-shadow:0 0 0 1px var(--sb-accent) inset !important;color:#fff !important}.salon-booking button.salon-booking__button:before,.salon-booking button.salon-booking__button:after,.salon-booking button.salon-booking__slot:before,.salon-booking button.salon-booking__slot:after{display:none !important;content:none !important}.salon-booking__hint{display:flex;align-items:center;min-height:48px;color:var(--sb-muted);font-weight:600;letter-spacing:0 !important;text-transform:none !important}.salon-booking__slots .salon-booking__hint{grid-column:1/-1}.salon-booking__review{display:grid;gap:10px;max-width:620px}.salon-booking.is-confirm-step .salon-booking__review{max-width:none;gap:0;border:1px solid var(--sb-line);border-radius:8px;background:var(--sb-surface-alt);text-align:left}.salon-booking__review div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--sb-line)}.salon-booking.is-confirm-step .salon-booking__review div{padding:16px 18px}.salon-booking.is-confirm-step .salon-booking__review div:last-child{border-bottom:0}.salon-booking__review strong{color:var(--sb-muted)}.salon-booking .salon-booking__approval-note{margin:18px auto 0;max-width:620px;color:var(--sb-muted);font-weight:700;text-align:center}.salon-booking__nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.salon-booking .salon-booking__nav>button.salon-booking__button,.salon-booking button.salon-booking__button{position:relative;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:auto !important;max-width:none !important;height:auto !important;min-width:140px;min-height:48px;margin:0 !important;padding:12px 28px !important;border:1px solid var(--sb-accent) !important;border-radius:6px;background:var(--sb-accent) !important;background-color:var(--sb-accent) !important;box-shadow:none !important;color:#fff !important;cursor:pointer;font-size:16px !important;font-weight:800;font-style:normal !important;letter-spacing:0 !important;line-height:1.2 !important;text-align:center !important;text-decoration:none !important;text-shadow:none !important;text-transform:none !important;-webkit-appearance:none !important;appearance:none !important;overflow:hidden;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.salon-booking .salon-booking__nav>button.salon-booking__button:hover,.salon-booking button.salon-booking__button:hover,.salon-booking .salon-booking__nav>button.salon-booking__button:focus,.salon-booking button.salon-booking__button:focus{border-color:#5f945b !important;background:#5f945b !important;background-color:#5f945b !important;color:#fff !important;outline:2px solid transparent;outline-offset:2px}.salon-booking .salon-booking__nav>button.salon-booking__button--secondary,.salon-booking button.salon-booking__button--secondary{background:#fff !important;background-color:#fff !important;color:var(--sb-accent) !important}.salon-booking .salon-booking__nav>button.salon-booking__button--secondary:hover,.salon-booking button.salon-booking__button--secondary:hover,.salon-booking .salon-booking__nav>button.salon-booking__button--secondary:focus,.salon-booking button.salon-booking__button--secondary:focus{border-color:var(--sb-accent) !important;background:var(--sb-accent-soft) !important;background-color:var(--sb-accent-soft) !important;color:var(--sb-accent) !important}.salon-booking .salon-booking__nav>button.salon-booking__button:disabled,.salon-booking button.salon-booking__button:disabled{cursor:wait;opacity:.65}.salon-booking button.salon-booking__button[hidden],.salon-booking button.salon-booking__slot[hidden],.salon-booking .salon-booking__nav>button[hidden]{display:none !important}.salon-booking__summary{position:sticky;top:32px;padding:20px;background:var(--sb-surface-alt)}.salon-booking__summary dl,.salon-booking__summary dd{margin:0}.salon-booking__summary div{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid var(--sb-line)}.salon-booking__summary div:last-child{border-bottom:0}.salon-booking__summary dt{color:var(--sb-muted);font-size:12px;font-weight:800;letter-spacing:0 !important;text-transform:uppercase}.salon-booking__summary dd{color:var(--sb-text) !important;font-weight:700;line-height:1.35;letter-spacing:0 !important;text-transform:none !important}@media (max-width:900px){.salon-booking__steps{grid-template-columns:1fr}.salon-booking__shell{grid-template-columns:1fr}.salon-booking__summary{position:static}}@media (max-width:700px){.salon-booking__main{min-height:0;padding:18px}.salon-booking.is-confirm-step .salon-booking__main{padding:22px}.salon-booking.is-confirm-step .salon-booking__panel[data-step="5"]{text-align:left}.salon-booking__panel h3,.salon-booking__summary h3{font-size:22px}.salon-booking.is-confirm-step .salon-booking__panel[data-step="5"] h3{font-size:24px}.salon-booking__fields,.salon-booking__slots{grid-template-columns:1fr}.salon-booking__nav{flex-direction:column-reverse}.salon-booking__button{width:100%}}