/* Progressive booking steps; existing form fields stay mounted and retain their values. */
.upr-booking-flow>.upr-flow-progress,.upr-booking-flow>.upr-flow-notice,.upr-booking-flow>.upr-flow-actions,.upr-booking-flow>.upr-flow-receipt,.upr-booking-flow>.upr-request-complete{grid-column:1/-1;min-width:0}.upr-flow-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 8px;scroll-margin-top:100px}.upr-flow-progress button{min-height:50px;padding:12px 16px;background:#f4f8f3;color:#33523d;border:1px solid #d5e2d6;border-radius:10px;text-align:left;font-size:13px;line-height:1.6;white-space:normal}.upr-flow-progress button[aria-current=step]{background:#096d39;color:white;border-color:#096d39}.upr-flow-progress button:disabled{opacity:.55;cursor:default}.upr-flow-progress button[aria-current=step]:disabled{opacity:1}.upr-flow-notice{margin:0 0 14px;line-height:1.8;font-size:13px;color:#335a40;overflow-wrap:anywhere}.upr-flow-notice:empty{display:none}.upr-flow-notice.upr-flow-error{color:#8b2929;border-left:3px solid #aa4848;padding:12px 16px;background:#fff4f1;border-radius:0 8px 8px 0}.upr-flow-notice:focus,.upr-flow-progress:focus,.upr-flow-receipt:focus{outline:2px solid #17834a;outline-offset:5px}
.upr-booking-flow[data-booking-step="1"] [data-flow-step]:not([data-flow-step~="1"]),.upr-booking-flow[data-booking-step="2"] [data-flow-step]:not([data-flow-step~="2"]),.upr-booking-flow[data-booking-step="3"] [data-flow-step]:not([data-flow-step~="3"]){display:none!important}.upr-booking-flow[data-booking-step="done"]>form,.upr-booking-flow[data-booking-step="done"]>.calendar-panel{display:none!important}.upr-booking-flow .upr-booking-result{display:none!important}.upr-booking-flow [hidden]{display:none!important}
.upr-booking-flow[data-booking-step="2"],.upr-booking-flow[data-booking-step="3"]{grid-template-columns:minmax(0,1fr)}.upr-booking-flow[data-booking-step="2"]>form,.upr-booking-flow[data-booking-step="3"]>form{max-width:850px;box-sizing:border-box;width:100%;margin-inline:auto}.upr-booking-flow>form>.form-grid{row-gap:20px;column-gap:18px}.upr-booking-flow input,.upr-booking-flow select,.upr-booking-flow textarea{max-width:100%;box-sizing:border-box}.upr-flow-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}.upr-flow-actions button{padding:12px 20px;min-height:46px;line-height:1.6}.upr-flow-actions [data-flow-next]{margin-left:auto}.upr-flow-defer{padding:16px 18px;background:#f7faf3;border:1px solid #d9e4cd;border-radius:10px;margin-block:18px!important;align-items:flex-start;line-height:1.8!important;font-size:13px}.upr-flow-defer span{display:block;min-width:0}.upr-flow-defer input{margin-top:4px}.upr-flow-review{margin-block:22px}.upr-flow-review h3{font-size:22px;line-height:1.4;margin:0 0 18px}.upr-flow-review-list{margin:0}.upr-flow-review-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px 24px;padding-block:13px;border-bottom:1px solid #e0e9e1}.upr-flow-review-list dt,.upr-flow-review-list dd{margin:0;font-size:13px;line-height:1.75;overflow-wrap:anywhere}.upr-flow-review-list dt{color:#5c6d60}.upr-flow-review-list dd{text-align:right;font-weight:650;color:#193e29}.upr-flow-policy{padding:16px 18px;background:#eff7ed;border-left:3px solid #2b8050;border-radius:0 8px 8px 0;font-size:13px;line-height:1.85;margin:20px 0}.upr-flow-receipt{background:#f0f8ec;border:1px solid #c9dfc6;border-radius:14px;padding:24px;line-height:1.85}.upr-flow-receipt h2{font-size:26px;line-height:1.3;margin:0 0 16px}.upr-flow-receipt p{margin:12px 0;overflow-wrap:anywhere}.upr-flow-receipt button{margin-top:8px}
@media(max-width:600px){.upr-flow-progress{gap:8px;scroll-margin-top:80px}.upr-flow-progress button{padding:10px 8px;font-size:11px;min-height:62px}.upr-flow-actions{gap:12px}.upr-flow-actions button{font-size:12px;flex:1 1 140px}.upr-flow-actions [data-flow-next]{margin-left:0}.upr-flow-review-list>div{column-gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.upr-flow-review-list dt,.upr-flow-review-list dd{font-size:12px}.upr-flow-defer,.upr-flow-policy{padding:14px;font-size:12px}.upr-flow-receipt{padding:20px}.upr-booking-flow>form>.form-grid{grid-template-columns:minmax(0,1fr);row-gap:18px}.upr-booking-flow>form>.form-grid>.wide{grid-column:auto}}
@media(max-width:359px){.upr-flow-review-list>div{grid-template-columns:minmax(0,1fr);gap:6px}.upr-flow-review-list dd{text-align:left}}

.upr-flow-receipt-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.upr-booking-flow[data-booking-step="done"]>.upr-request-complete{display:none!important}

.upr-booking-tracker{max-width:850px;margin:36px auto 24px;padding:20px;border:1px solid #d5e3d6;border-radius:14px;scroll-margin-top:100px;background:#fff}.upr-booking-tracker>summary{cursor:pointer;font-size:16px;line-height:1.6;font-weight:750}.upr-booking-tracker>p{font-size:13px;line-height:1.8;margin:16px 0}.upr-tracker-form .form-grid{gap:18px}.upr-tracker-form>button{margin-top:18px}.upr-tracker-output{margin-top:20px}.upr-tracker-output p{line-height:1.8}.upr-tracker-form label{display:flex;flex-direction:column;gap:8px;font-size:13px}.upr-tracker-form input{font:inherit;padding:12px;min-height:46px;border:1px solid #cddbcf;border-radius:8px;max-width:100%;box-sizing:border-box}
