.pb-booking{max-width:760px;margin:0 auto}.pb-booking__form{display:grid;gap:20px}.pb-field{display:grid;gap:8px}.pb-field label,.pb-label{font-weight:600}.pb-field input,.pb-field select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cfcfcf;border-radius:8px;background:#fff;font:inherit}.pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pb-slots{display:flex;flex-wrap:wrap;gap:8px}.pb-slot{position:relative}.pb-slot input{position:absolute;opacity:0;pointer-events:none}.pb-slot span{display:inline-block;padding:9px 13px;border:1px solid #cfcfcf;border-radius:8px;cursor:pointer;background:#fff}.pb-slot input:checked+span{outline:2px solid currentColor;outline-offset:1px}.pb-slot input:focus-visible+span{outline:3px solid currentColor;outline-offset:2px}.pb-submit{justify-self:start;padding:13px 22px;border:1px solid #5f6d5d;border-radius:8px;cursor:pointer;background:#5f6d5d;color:#fff;font-weight:700;box-shadow:none}.pb-submit:focus-visible{outline:3px solid currentColor;outline-offset:3px}.pb-submit:disabled{opacity:.6;cursor:wait}.pb-message{min-height:1.5em}.pb-confirmation{padding:22px;border:1px solid #d8d8d8;border-radius:10px}.pb-confirmation h3{margin-top:0}.pb-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.pb-privacy{font-size:.9em;line-height:1.5;margin:0}@media(max-width:640px){.pb-grid{grid-template-columns:1fr}.pb-submit{width:100%}}

.pb-calendar{border:1px solid #dcdcde;border-radius:8px;padding:12px;max-width:420px;background:#fff}.pb-calendar__head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;text-align:center;margin-bottom:10px}.pb-calendar__nav{border:1px solid #dcdcde;background:#fff;border-radius:6px;font-size:22px;line-height:32px;cursor:pointer}.pb-calendar__nav:disabled{opacity:.35;cursor:not-allowed}.pb-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.pb-calendar__weekdays{font-size:12px;text-align:center;margin-bottom:5px;color:#646970}.pb-calendar__day{min-height:38px;border:0;border-radius:6px;background:#f6f7f7;color:#a7aaad}.pb-calendar__day.is-available{background:#fff;border:1px solid #c3c4c7;color:#1d2327;cursor:pointer;font-weight:600}.pb-calendar__day.is-available:hover{background:#f0f6fc}.pb-calendar__day.is-selected{outline:2px solid currentColor;outline-offset:1px;background:#f0f6fc}.pb-calendar__day:focus-visible,.pb-calendar__nav:focus-visible{outline:2px solid currentColor;outline-offset:2px}.pb-calendar__empty{min-height:38px}
.pb-success-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor;font-weight:700;font-size:24px;margin-bottom:12px}.pb-confirmation__time{font-size:1.1em}.pb-notice{background:#f7f5f1;border-radius:8px;padding:12px 14px;margin:14px 0}.pb-management{max-width:760px}.pb-management__card{border:1px solid #d8d8d8;border-radius:10px;padding:20px;margin-bottom:16px}.pb-management__card h2{margin:0 0 8px}.pb-kicker{text-transform:uppercase;letter-spacing:.04em;font-size:.78em;color:#646970;margin:0 0 6px}.pb-management__time{font-size:1.12em}.pb-statuses{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px}.pb-management__actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.pb-action{display:inline-block;border:1px solid #c3c4c7;border-radius:7px;background:#fff;padding:10px 14px;cursor:pointer;text-decoration:none;color:inherit;font:inherit}.pb-action--primary{background:#1d2327;color:#fff;border-color:#1d2327}.pb-action--danger{border-color:#b32d2e;color:#b32d2e}.pb-action:focus-visible{outline:3px solid currentColor;outline-offset:2px}.pb-management__message{min-height:1.5em;font-weight:600}.pb-management__reschedule{border-top:1px solid #ddd;padding-top:18px;margin-top:18px}.pb-audit{margin-top:22px}.pb-audit ul{padding-left:20px}.pb-audit li{margin:6px 0;font-size:.9em}@media(max-width:640px){.pb-management__actions .pb-action{width:100%;text-align:center}.pb-statuses{display:grid}}
.pb-booking__form[hidden],.pb-confirmation[hidden],.pb-management__reschedule[hidden]{display:none!important}
.pb-help{font-size:.9em;color:#646970;line-height:1.45;margin:8px 0}.pb-manager-pin{max-width:320px;margin:16px 0}.pb-manager-pin input{max-width:220px}.pb-manager-pin input:disabled{background:#f0f0f1;color:#646970}

.pb-booking-intro{margin:0 0 30px;padding:26px 28px;border:1px solid #ddd8cf;border-radius:12px;background:#fbfaf7}.pb-booking-intro h2{margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.45rem);line-height:1.15}.pb-booking-intro__lead{font-size:1.06em;line-height:1.65;margin:0 0 18px}.pb-booking-intro__facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.pb-booking-intro__facts>div{display:grid;gap:3px;padding:14px 16px;border-radius:9px;background:#fff;border:1px solid #e4e0d8}.pb-booking-intro__facts span{color:#646970;font-size:.93em}.pb-booking-steps{margin:18px 0 14px;padding-left:22px;line-height:1.6}.pb-booking-intro__note{margin:0;color:#555;font-size:.94em;line-height:1.55}@media(max-width:640px){.pb-booking-intro{padding:20px}.pb-booking-intro__facts{grid-template-columns:1fr}}
.pb-service-mode{font-family:inherit;font-size:.62em;font-weight:500;color:#646970;white-space:nowrap}
.pb-management__message:empty,.pb-message:empty{display:none}

.pb-payment-choice{display:flex;flex-wrap:wrap;gap:10px 18px;border:1px solid #ddd8cf;border-radius:10px;padding:14px 16px;margin:0}.pb-payment-choice legend{font-weight:700;padding:0 6px}.pb-payment-choice label{display:flex;align-items:center;gap:7px;cursor:pointer}.pb-payment-choice label[hidden]{display:none!important}.pb-payment-choice input{width:auto}.pb-payment-choice .pb-help{flex-basis:100%;margin:2px 0 0}.pb-timezone-note{margin:-6px 0 0;font-size:.88em;color:#646970}.pb-submit:hover{filter:brightness(.94)}.pb-submit:disabled{background:#b8beb6;border-color:#b8beb6}.pb-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;line-height:1.4}.pb-badge--amber{background:#fff1c2;color:#694d00}.pb-badge--green{background:#d9f2df;color:#185c2a}.pb-badge--red{background:#fbe0e0;color:#8a1f1f}.pb-badge--gray{background:#ececec;color:#555}.pb-badge--blue{background:#e2eefc;color:#1f518a}
@media(max-width:640px){.pb-submit{width:100%;justify-self:stretch;font-size:1rem}.pb-payment-choice{display:grid;gap:10px}}
