.ppros-booking{--green:#164b35;--green2:#0f3b2a;--soft:#f5f8f6;--line:#dfe8e2;--text:#16251e;--muted:#66756e;box-sizing:border-box;width:100%;max-width:560px;height:556px;min-height:556px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 18px 50px rgba(20,54,39,.08);font-family:inherit;color:var(--text);display:flex;flex-direction:column;overflow:hidden}
.ppros-booking *{box-sizing:border-box}
.ppros-booking__progress{display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-bottom:18px}
.ppros-booking__progress span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:13px;font-weight:700;background:#fff;color:var(--muted)}
.ppros-booking__progress span.is-active{background:var(--green);border-color:var(--green);color:#fff}
.ppros-booking__progress i{height:1px;width:44px;background:var(--line)}
.ppros-booking__step{display:none;flex:1;min-height:0;overflow:hidden}
.ppros-booking__step.is-active{display:flex;flex-direction:column}
.ppros-booking__eyebrow{font-size:12px;font-weight:700;color:var(--green);margin-bottom:5px}
.ppros-booking h3{font-size:26px;line-height:1.25;margin:0 0 5px}
.ppros-booking p{color:var(--muted);margin:0 0 14px;line-height:1.65}
.ppros-calendar{width:100%;max-width:500px;align-self:center;border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:0}
.ppros-calendar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ppros-calendar__head strong{font-size:16px}
.ppros-icon-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:22px;color:var(--text)}
.ppros-calendar__weekdays,.ppros-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.ppros-calendar__weekdays{font-size:12px;color:var(--muted);margin-bottom:6px}
.ppros-calendar__day{height:34px;min-height:34px;border:0;border-radius:9px;background:transparent;cursor:default;font:inherit;color:#b0bbb5;padding:0}
.ppros-calendar__day.is-enabled{cursor:pointer;color:var(--text);background:var(--soft)}
.ppros-calendar__day.is-enabled:hover,.ppros-calendar__day.is-selected{background:var(--green);color:#fff}
.ppros-calendar__day.is-empty{visibility:hidden}
.ppros-booking__duration{color:#075712;font-size:14px;font-weight:700;line-height:1.5;margin:0 0 10px;flex:0 0 auto}
.ppros-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:1;align-content:start;overflow:auto;padding-inline-end:2px}
.ppros-slot{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 10px;cursor:pointer;font:inherit;font-weight:700;color:var(--text)}
.ppros-slot:hover,.ppros-slot.is-selected{background:var(--green);color:#fff;border-color:var(--green)}
.ppros-slot:disabled{cursor:not-allowed;background:#f5f5f5;color:#aaa;border-color:#eee;text-decoration:line-through}
.ppros-form{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}
.ppros-form label{display:grid;gap:6px;font-size:14px;font-weight:700}
.ppros-form input,.ppros-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;background:#fff;color:var(--text);outline:none}
.ppros-form textarea{height:108px;min-height:96px;max-height:132px;resize:vertical}
.ppros-form input:focus,.ppros-form textarea:focus{border-color:var(--green)}
.ppros-form input[type="email"]{direction:ltr;text-align:start}
.ppros-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ppros-booking__actions{display:flex;gap:10px;justify-content:flex-start;flex:0 0 auto;margin-top:auto;padding-top:12px}
.ppros-btn{appearance:none;border:0;border-radius:11px;background:var(--green);color:#fff;padding:11px 20px;font:inherit;font-weight:700;cursor:pointer}
.ppros-btn:hover{background:var(--green2)}
.ppros-btn:disabled{opacity:.55;cursor:not-allowed}
.ppros-btn--ghost{background:var(--soft);color:var(--green)}
.ppros-btn--ghost:hover{background:#e9f0ec}
.ppros-review{border:1px solid var(--line);border-radius:14px;overflow:auto;flex:1;min-height:0}
.ppros-review__row{display:flex;justify-content:space-between;gap:20px;padding:12px 14px;border-bottom:1px solid var(--line)}
.ppros-review__row:last-child{border-bottom:0}
.ppros-review__row span{color:var(--muted)}
.ppros-review__row strong{font-weight:700;text-align:end;overflow-wrap:anywhere}
.ppros-message{margin-top:10px;font-size:14px;color:#a02828;min-height:18px;flex:0 0 auto}
.ppros-booking__success{text-align:center;padding:24px 8px;flex:1;min-height:0;flex-direction:column;justify-content:center}
.ppros-booking__success:not([hidden]){display:flex}
.ppros-success-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);font-size:28px;font-weight:800;margin:0 auto 16px}
.ppros-booking__success h3{margin-bottom:8px}
.ppros-booking__success p{max-width:500px;margin:0 auto;line-height:1.75}
.ppros-turnstile-wrap{margin-top:14px;min-height:65px;flex:0 0 auto}
.ppros-turnstile-wrap>div{max-width:100%}
.ppros-booking--unavailable{text-align:center;padding:22px;color:var(--muted);height:auto;min-height:0}
@media(max-width:640px){.ppros-booking{height:auto;min-height:0;padding:18px;border-radius:16px}.ppros-booking h3{font-size:24px}.ppros-booking__progress{margin-bottom:18px}.ppros-booking__progress i{width:28px}.ppros-booking__step,.ppros-booking__success{overflow:visible}.ppros-calendar{padding:10px}.ppros-calendar__weekdays,.ppros-calendar__days{gap:3px}.ppros-calendar__day{height:32px;min-height:32px}.ppros-slots{grid-template-columns:1fr;overflow:visible}.ppros-booking__actions{flex-direction:column-reverse;margin-top:14px;padding-top:0}.ppros-btn{width:100%}.ppros-review{overflow:visible}.ppros-review__row{display:grid;gap:5px}.ppros-review__row strong{text-align:start}}
