.osb-booking{--osb-bg:#fff;--osb-text:#111827;--osb-muted:#6b7280;--osb-line:#e6e9ef;--osb-soft:#f7f8fa;--osb-accent:#111827;--osb-success:#087a55;position:relative;width:100%;max-width:980px;margin:32px auto;padding:clamp(22px,4vw,44px);border:1px solid var(--osb-line);border-radius:28px;background:var(--osb-bg);color:var(--osb-text);box-shadow:0 24px 70px rgba(16,24,40,.07);font-family:inherit;isolation:isolate}.osb-booking *{box-sizing:border-box}.osb-booking button,.osb-booking input,.osb-booking textarea{font:inherit}.osb-booking__header{display:grid;gap:10px;margin-bottom:28px}.osb-booking__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border:1px solid var(--osb-line);border-radius:999px;background:#fafafa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#667085}.osb-booking__title{margin:0!important;max-width:760px;font-size:clamp(30px,4vw,44px)!important;line-height:1.05!important;letter-spacing:-.04em!important;color:var(--osb-text)!important}.osb-booking__intro{margin:0;max-width:700px;color:var(--osb-muted);font-size:15px;line-height:1.65}
.osb-booking__progress{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 0 28px}.osb-booking__progress-item{appearance:none;width:100%;display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--osb-line);border-radius:12px;background:#fff;color:#9298a1;font-size:11px;font-weight:700;text-align:left;cursor:default}.osb-booking__progress-item:not(:disabled){cursor:pointer}.osb-booking__progress-item:not(:disabled):hover{border-color:#c9ced7;background:#fafbfc}.osb-booking__progress-item:disabled{opacity:1}.osb-booking__progress-item span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--osb-soft);font-size:10px;font-weight:800}.osb-booking__progress-item.is-active{border-color:#c9ced7;color:var(--osb-text);box-shadow:0 4px 14px rgba(16,24,40,.04)}.osb-booking__progress-item.is-active span,.osb-booking__progress-item.is-done span{background:var(--osb-accent);color:#fff}.osb-booking__progress-item.is-done{color:#4b5563}
.osb-booking__step{display:none;animation:msbFade .2s ease}.osb-booking__step.is-active{display:block}.osb-booking__step h3{margin:0!important;color:var(--osb-text)!important;font-size:23px!important;font-weight:800!important;letter-spacing:-.025em}@keyframes msbFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.osb-booking__section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.osb-booking__mini-label{display:block;margin-bottom:4px;color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.osb-booking__selected-date{padding:6px 9px;border-radius:9px;background:#f7f8fa;color:#667085;font-size:11px;font-weight:700}
.osb-booking__services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.osb-booking__service{position:relative;width:100%;min-height:124px;display:flex;justify-content:space-between;gap:18px;text-align:left;padding:20px;border:1px solid var(--osb-line);background:#fff;color:var(--osb-text);border-radius:18px;cursor:pointer;transition:.18s ease;box-shadow:0 3px 12px rgba(16,24,40,.02)}.osb-booking__service:after{content:"→";position:absolute;right:16px;bottom:14px;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#f3f4f6;color:#4b5563;font-weight:800}.osb-booking__service:hover,.osb-booking__service:focus-visible{border-color:#bfc5cf;transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,24,40,.07);outline:none}.osb-booking__service:hover:after{background:#111827;color:#fff}.osb-booking__service-main{display:flex;flex-direction:column;gap:7px;padding-right:30px}.osb-booking__service-main strong{font-size:17px;line-height:1.25}.osb-booking__service-main small{max-width:350px;color:var(--osb-muted);font-size:12px;line-height:1.5}.osb-booking__service-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;white-space:nowrap}.osb-booking__service-meta b{padding:5px 8px;border-radius:8px;background:#f5f6f7;font-size:11px}.osb-booking__service-meta em{font-style:normal;color:#475467;font-size:12px;font-weight:750}
.osb-booking__calendar{overflow:hidden;border:1px solid var(--osb-line);border-radius:18px;background:#fff;box-shadow:0 4px 18px rgba(16,24,40,.035)}.osb-booking__calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:13px 14px;border-bottom:1px solid #eef0f3}.osb-booking__calendar-head strong{text-align:center;font-size:14px}.osb-booking__calendar-nav{display:grid;place-items:center;width:36px;height:36px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#344054;cursor:pointer}.osb-booking__calendar-nav:hover:not(:disabled){background:#f7f8fa}.osb-booking__calendar-nav:disabled{opacity:.35;cursor:not-allowed}.osb-booking__weekdays,.osb-booking__calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.osb-booking__weekdays{padding:8px 12px 0}.osb-booking__weekdays span{text-align:center;padding:7px 2px;color:#98a2b3;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.osb-booking__calendar-grid{gap:5px;padding:7px 12px 14px}.osb-booking__day{position:relative;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:11px;background:#fff;color:#344054;cursor:pointer;font-weight:750}.osb-booking__day:hover:not(:disabled){border-color:#d0d5dd;background:#f8fafc}.osb-booking__day.is-outside{color:#c0c4cb}.osb-booking__day.is-today{border-color:#d0d5dd}.osb-booking__day.is-selected{border-color:#111827;background:#111827;color:#fff;box-shadow:0 5px 13px rgba(17,24,39,.18)}.osb-booking__day small{font-size:7px;font-weight:800;text-transform:uppercase}.osb-booking__day:disabled{opacity:.24;cursor:not-allowed}.osb-booking__step-actions{display:flex;justify-content:flex-end;margin-top:14px}
.osb-booking__field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.osb-booking__field span{font-size:11px;font-weight:750;color:#3f4754}.osb-booking__field input,.osb-booking__field textarea{width:100%;min-height:49px;border:1px solid #dce0e6!important;border-radius:12px!important;background:#fff!important;color:var(--osb-text)!important;padding:12px 13px!important;outline:none;box-shadow:0 1px 2px rgba(16,24,40,.015)!important;transition:.16s ease}.osb-booking__field textarea{min-height:112px;resize:vertical}.osb-booking__field input:focus,.osb-booking__field textarea:focus{border-color:#98a2b3!important;box-shadow:0 0 0 4px rgba(16,24,40,.045)!important}.osb-booking__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.osb-booking__field--wide{grid-column:1/-1}.osb-booking__button{appearance:none;border:0!important;border-radius:11px!important;background:var(--osb-accent)!important;color:#fff!important;padding:13px 18px!important;font-weight:780!important;cursor:pointer;min-height:48px;transition:.18s ease;box-shadow:0 5px 16px rgba(17,24,39,.13)}.osb-booking__button:hover:not(:disabled){transform:translateY(-1px);background:#263244!important}.osb-booking__button:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.osb-booking__back{appearance:none;border:0;background:transparent;color:#6f7784;padding:0;margin:0 0 15px;cursor:pointer;font-weight:700}.osb-booking__back:hover{color:#111827}
.osb-booking__times{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.osb-booking__time{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px;border:1px solid var(--osb-line);border-radius:12px;background:#fff;color:var(--osb-text);cursor:pointer;transition:.16s ease}.osb-booking__time strong{font-size:14px}.osb-booking__time span{color:#8a919d;font-size:9px;font-weight:700}.osb-booking__time:hover,.osb-booking__time:focus-visible{background:var(--osb-accent);border-color:var(--osb-accent);color:#fff;transform:translateY(-1px);outline:none}.osb-booking__time:hover span{color:#d7dce3}.osb-booking__empty,.osb-booking__loading{grid-column:1/-1;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:20px;border:1px dashed #d6dae1;background:#fafbfc;border-radius:14px;color:var(--osb-muted);font-size:13px;text-align:center}.osb-booking__empty strong,.osb-booking__loading strong{color:#344054}.osb-booking__empty span,.osb-booking__loading small{font-size:11px}.osb-booking__loading{flex-direction:row;text-align:left}.osb-booking__spinner{width:22px;height:22px;border:2px solid #e4e7ec;border-top-color:#111827;border-radius:50%;animation:msbSpin .8s linear infinite}@keyframes msbSpin{to{transform:rotate(360deg)}}
.osb-booking__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px;padding:15px;border:1px solid #e8eaee;border-radius:15px;background:#fafbfc}.osb-booking__summary>div{padding:8px 9px;border-radius:10px;background:#fff}.osb-booking__summary span{display:block;margin-bottom:3px;color:#98a2b3;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.osb-booking__summary strong{font-size:12px}.osb-booking__check{display:flex;gap:10px;align-items:flex-start;margin:6px 0 21px;color:#4d5561;font-size:12px;line-height:1.5}.osb-booking__check input{margin-top:3px}.osb-booking__notice{margin:0 0 18px;padding:13px 15px;border-radius:11px;font-size:12px;font-weight:700}.osb-booking__notice.is-error{background:#fff4f4;color:#9f1239;border:1px solid #ffd3d8}.osb-booking__notice.is-success{background:#effcf4;color:#166534;border:1px solid #c7f0d5}.osb-booking__success{text-align:center;padding:42px 0 24px}.osb-booking__success-icon{display:grid;place-items:center;margin:0 auto 17px;width:64px;height:64px;border-radius:50%;background:#ecfdf3;color:var(--osb-success);font-weight:900;font-size:28px;box-shadow:inset 0 0 0 1px #c7efd5}.osb-booking__success h3{font-size:27px!important}.osb-booking__success p{color:var(--osb-muted);font-size:14px}.osb-booking__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){.osb-booking{margin:18px auto;padding:22px 16px;border-radius:20px}.osb-booking__services{grid-template-columns:1fr}.osb-booking__times{grid-template-columns:repeat(3,1fr)}.osb-booking__grid{grid-template-columns:1fr}.osb-booking__field--wide{grid-column:auto}.osb-booking__progress-item{justify-content:center;padding:9px 5px;font-size:0}.osb-booking__progress-item span{font-size:10px}.osb-booking__service{min-height:108px;padding:16px}.osb-booking__section-head{align-items:flex-start;flex-direction:column;gap:8px}.osb-booking__calendar-grid{gap:3px;padding-left:7px;padding-right:7px}.osb-booking__day{min-height:44px}.osb-booking__summary{grid-template-columns:1fr}}
@media(max-width:460px){.osb-booking__times{grid-template-columns:repeat(2,1fr)}.osb-booking__service-meta{align-items:flex-start}.osb-booking__weekdays span{font-size:8px}.osb-booking__day{min-height:40px;border-radius:9px;font-size:12px}}
