:root{--charcoal:#24302b;--ink:#3c4943;--muted:#718079;--line:#dfe7e1;--page:#f3f6f2;--white:#fff;--sage:#e8f1e8;--sage-border:#cfded0;--sage-deep:#49604e;--sand:#f5f1e7;--sand-border:#e4dcc2;--blue:#edf0f3;--blue-border:#d8dfe4;--rose:#f4eaea;--rose-border:#e5cccc;--deep:#314a38;--shadow:0 18px 45px rgba(45,67,53,.08)}
*{box-sizing:border-box}html{background:var(--page)}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% 0%,rgba(232,241,232,.9),transparent 30%),radial-gradient(circle at 88% 12%,rgba(245,241,231,.9),transparent 28%),var(--page);color:var(--ink);line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(95,128,103,.18);outline-offset:2px}
.pb-site-header{height:72px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 24px;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.pb-brand{display:flex;gap:11px;align-items:center;min-width:0}.pb-logo-mark{width:40px;height:40px;flex:0 0 40px;border:2px solid #97b29a;border-radius:50%;position:relative;background:#fff;display:grid;place-items:center}.pb-logo-mark:before{content:"";position:absolute;width:3px;height:12px;border-radius:4px;background:#5d7d64;top:7px}.pb-logo-mark:after{content:"";position:absolute;width:11px;height:3px;border-radius:4px;background:#5d7d64;left:19px;top:19px;transform:rotate(-31deg);transform-origin:left center}.pb-logo-dot{width:5px;height:5px;border-radius:50%;background:#5d7d64}.pb-brand-copy{min-width:0}.pb-brand-copy b{display:block;font-size:16px;color:var(--charcoal);letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-brand-copy span{display:block;font-size:10px;color:#89938d;margin-top:2px}.pb-secure{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}.pb-secure>span{width:8px;height:8px;border-radius:50%;background:#87a28e}
.pb-page{max-width:1180px;margin:0 auto;padding:28px 18px 36px}.pb-booking-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}.pb-booking-head h1{font-size:30px;letter-spacing:-.045em;color:var(--charcoal);margin-bottom:5px}.pb-booking-head p{font-size:12px;color:var(--muted);margin:0;max-width:720px}.pb-step-count{font-size:11px;font-weight:800;color:var(--deep);white-space:nowrap}.pb-progress{height:7px;border-radius:999px;background:#e2e8e3;overflow:hidden;margin-bottom:18px}.pb-progress span{display:block;width:12.5%;height:100%;background:#78917e;border-radius:999px;transition:width .25s ease}.pb-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.pb-stage{min-width:0}.pb-booking-card{min-height:630px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.pb-card-top{padding:23px 23px 17px;border-bottom:1px solid #edf1ed;background:linear-gradient(180deg,#fff,#fbfcfb)}.pb-eyebrow{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:var(--sage);border:1px solid var(--sage-border);color:var(--sage-deep);font-size:10px;font-weight:800;margin-bottom:10px}.pb-card-top h2{font-size:24px;letter-spacing:-.035em;color:var(--charcoal);margin-bottom:5px}.pb-card-top p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}.pb-card-body{padding:20px 23px 22px;flex:1;display:flex;flex-direction:column}.pb-step-pane{display:none;flex:1;flex-direction:column}.pb-step-pane.active{display:flex;animation:pbSlide .22s ease both}@keyframes pbSlide{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
.pb-therapist-intro{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid #e2e8e3;border-radius:17px;background:#fcfdfc;margin-bottom:12px}.pb-therapist-photo{width:74px;height:74px;border-radius:17px;background:linear-gradient(145deg,#dfe9df,#f1f5ef);display:grid;place-items:center;color:#68806c;font-size:20px;font-weight:800;overflow:hidden}.pb-therapist-photo img{width:100%;height:100%;object-fit:cover}.pb-therapist-intro h3{font-size:17px;color:var(--charcoal);margin:0 0 3px}.pb-therapist-intro p{font-size:11px;color:var(--muted);margin:0}.pb-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.pb-tags span{display:inline-flex;padding:5px 7px;border-radius:999px;background:var(--sage);color:var(--sage-deep);font-size:9px;font-weight:700}.pb-profile-intro{font-size:11px;color:#617067;line-height:1.65;margin:0 0 14px}
.pb-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pb-service-card{position:relative;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left;padding:15px 42px 15px 15px;transition:.18s}.pb-service-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(45,67,53,.06)}.pb-service-card.selected{border-color:#9fb5a2;box-shadow:0 0 0 3px rgba(126,154,132,.11);background:#f7faf6}.pb-service-card small{font-size:10px;color:var(--muted)}.pb-service-card h3{font-size:14px;color:var(--charcoal);margin:4px 0 9px}.pb-service-bottom{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.pb-service-bottom span{font-size:10px;color:var(--muted);line-height:1.4}.pb-service-bottom b{font-size:15px;color:var(--deep);white-space:nowrap}.pb-tick{position:absolute;right:12px;bottom:13px;width:24px;height:24px;border-radius:50%;border:1px solid #cfd8d0;background:#fff;display:grid;place-items:center}.pb-service-card.selected .pb-tick{background:#66876e;border-color:#66876e}.pb-service-card.selected .pb-tick:after{content:"✓";font-size:12px;color:#fff;font-weight:900}
.pb-select-list{display:grid;gap:10px}.pb-select-row{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:center;text-align:left;color:inherit}.pb-select-row:hover:not(.disabled){background:#fafcf9}.pb-select-row.selected{background:var(--sage);border-color:#aac0ac}.pb-select-row.sand.selected{background:var(--sand);border-color:var(--sand-border)}.pb-select-row.blue.selected{background:var(--blue);border-color:var(--blue-border)}.pb-select-row.disabled{opacity:.65;cursor:not-allowed;background:#f6f7f6}.pb-select-row b{display:block;font-size:13px;color:var(--charcoal)}.pb-select-row span{display:block;font-size:10px;color:var(--muted);line-height:1.45;margin-top:3px}.pb-radio{width:20px;height:20px;border-radius:50%;border:2px solid #acb8af;display:grid;place-items:center;flex:0 0 auto;background:#fff}.pb-select-row.selected .pb-radio:after{content:"";width:9px;height:9px;border-radius:50%;background:#66876e}.pb-lock{font-size:9px!important;font-weight:800;color:#8b6b35!important;background:#f7f1e8;padding:5px 7px;border-radius:999px;margin:0!important}.pb-location-card,.pb-payment-info{margin-top:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#f8faf7}.pb-location-card b,.pb-payment-info b{display:block;font-size:12px;color:var(--charcoal)}.pb-location-card span,.pb-payment-info span{display:block;font-size:10px;color:var(--muted);line-height:1.55;margin-top:3px}
.pb-calendar-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.pb-calendar-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:#f8faf7;border-bottom:1px solid var(--line)}.pb-calendar-head b{font-size:13px;color:var(--charcoal)}.pb-cal-nav{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--deep);font-weight:800}.pb-cal-nav:disabled{opacity:.35;cursor:not-allowed}.pb-weekdays,.pb-dates{display:grid;grid-template-columns:repeat(7,1fr)}.pb-weekdays span{text-align:center;padding:9px 3px;font-size:9px;font-weight:800;color:#8a958e}.pb-date{min-height:54px;border:0;border-top:1px solid #edf1ed;border-right:1px solid #edf1ed;background:#fff;color:#617067;font-size:11px;position:relative}.pb-date:nth-child(7n){border-right:0}.pb-date.available:hover{background:#f4f8f3}.pb-date.outside,.pb-date.unavailable{color:#c0c7c2;background:#fbfcfb;cursor:not-allowed}.pb-date.selected{background:var(--sage);color:var(--deep);font-weight:900}.pb-date.available:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#86a08c;bottom:7px;left:50%;transform:translateX(-50%)}.pb-date.selected:after{background:#4f765a}.pb-loading{padding:25px;text-align:center;color:var(--muted);font-size:11px}.pb-time-title{font-size:11px;color:var(--muted);margin:0 0 8px;font-weight:700}.pb-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:16px}.pb-time{height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--deep);font-size:11px;font-weight:800}.pb-time:hover{background:#f5f8f4}.pb-time.selected{background:var(--sage);border-color:#a8bca9;box-shadow:0 0 0 2px rgba(126,154,132,.09)}
.pb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.pb-field.full{grid-column:1/-1}.pb-field label{display:block;margin-bottom:6px;color:#58665d;font-size:11px;font-weight:700}.pb-field label span{font-weight:500;color:var(--muted)}.pb-field input,.pb-field textarea{width:100%;border:1px solid #dce4de;border-radius:12px;background:#fff;color:var(--charcoal);font-size:12px;outline:none}.pb-field input{height:46px;padding:0 13px}.pb-field textarea{min-height:105px;padding:12px 13px;resize:vertical}.pb-field input:focus,.pb-field textarea:focus{border-color:#9fb7a3;box-shadow:0 0 0 3px rgba(102,135,110,.10)}.pb-consent{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding:12px;border:1px solid #e2e8e3;border-radius:13px;background:#fafcf9;color:#617067;font-size:10px;line-height:1.5}.pb-consent input{width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:#66876e}
.pb-review-block{border:1px solid var(--line);border-radius:17px;padding:4px 15px;background:#fff}.pb-review-block>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:12px 0;border-top:1px solid #edf1ed}.pb-review-block>div:first-child{border-top:0}.pb-review-block span{font-size:10px;color:var(--muted)}.pb-review-block b{font-size:11px;color:var(--charcoal)}.pb-total-box{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;border-radius:15px;background:var(--sage);border:1px solid var(--sage-border);margin-top:12px}.pb-total-box span{font-size:11px;color:var(--sage-deep)}.pb-total-box b{font-size:20px;color:var(--charcoal)}.pb-notice{padding:12px 13px;border-radius:14px;background:var(--sand);border:1px solid var(--sand-border);color:#6f664d;font-size:10px;line-height:1.55;margin-top:12px}.pb-notice strong{color:#685b35}.pb-inline-message{display:none;margin-top:10px;padding:10px 12px;border-radius:11px;font-size:10px;line-height:1.45}.pb-inline-message.show{display:block}.pb-inline-message.error{background:#fff3f3;border:1px solid #ecd4d4;color:#8d4f4f}.pb-inline-message.info{background:#f0f6ef;border:1px solid #d5e2d6;color:#617067}
.pb-card-nav{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px}.pb-nav-btn{min-height:46px;border-radius:999px;border:1px solid var(--line);padding:0 18px;background:#fff;color:var(--charcoal);font-size:12px;font-weight:800}.pb-nav-btn.primary{background:var(--charcoal);border-color:var(--charcoal);color:#fff;min-width:132px;margin-left:auto}.pb-nav-btn:disabled{opacity:.35;cursor:not-allowed}.pb-summary{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow);overflow:hidden}.pb-summary-head{padding:15px 16px;background:linear-gradient(145deg,#edf4ec,#fafcf9);border-bottom:1px solid var(--line)}.pb-summary-head small{display:block;font-size:10px;color:var(--muted)}.pb-summary-head h3{font-size:15px;color:var(--charcoal);margin:3px 0 0}.pb-summary-body{padding:9px 16px 14px}.pb-summary-body>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #edf1ed}.pb-summary-body>div:first-child{border-top:0}.pb-summary-body span{font-size:10px;color:var(--muted)}.pb-summary-body b{font-size:10px;color:var(--charcoal);text-align:right}.pb-summary-body .pb-summary-total{display:flex;margin-top:8px;padding:12px;border-radius:13px;background:var(--sage);border:0}.pb-summary-total b{font-size:17px}.pb-summary-note{padding:12px 16px 15px;font-size:9px;color:var(--muted);line-height:1.5;border-top:1px solid var(--line)}.pb-mobile-summary{display:none}
.pb-success-wrap{display:grid;place-items:center;text-align:center;flex:1;padding:18px}.pb-success-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--sage);border:1px solid var(--sage-border);color:var(--sage-deep);font-size:30px;font-weight:900;margin:0 auto 15px}.pb-success-wrap h2{font-size:25px;color:var(--charcoal);margin-bottom:6px}.pb-success-wrap p{max-width:500px;margin:0 auto;font-size:11px;color:var(--muted);line-height:1.6}.pb-confirm-box{max-width:480px;margin:12px auto 0;padding:13px 14px;border-radius:14px;background:#f8faf7;border:1px solid var(--line);text-align:left}.pb-confirm-box span{display:block;font-size:9px;color:var(--muted)}.pb-confirm-box b{display:block;font-size:11px;color:var(--charcoal);margin-top:3px}.pb-success-actions{display:flex;justify-content:center;margin-top:16px}.pb-unavailable{max-width:620px;margin:70px auto;padding:34px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);text-align:center}.pb-unavailable-icon{width:56px;height:56px;border:2px solid #97b29a;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;color:var(--deep);font-weight:800}.pb-unavailable h1{font-size:28px;color:var(--charcoal);margin-bottom:7px}.pb-unavailable p{font-size:12px;color:var(--muted);line-height:1.6}.pb-unavailable a{font-size:11px;color:var(--deep);font-weight:700}.hidden{display:none!important}
@media(max-width:900px){.pb-main-grid{grid-template-columns:1fr}.pb-summary{display:none}.pb-mobile-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}.pb-mobile-summary span{font-size:10px;color:var(--muted)}.pb-mobile-summary b{font-size:10px;color:var(--charcoal);text-align:right}}
@media(max-width:680px){.pb-site-header{height:66px;padding:0 14px}.pb-brand-copy span{display:none}.pb-secure{font-size:10px}.pb-page{padding:20px 12px 28px}.pb-booking-head{display:block}.pb-booking-head h1{font-size:27px}.pb-step-count{margin-top:8px}.pb-booking-card{min-height:620px;border-radius:20px}.pb-card-top{padding:19px 17px 15px}.pb-card-body{padding:17px}.pb-service-grid,.pb-form-grid{grid-template-columns:1fr}.pb-field.full{grid-column:auto}.pb-time-grid{grid-template-columns:repeat(3,1fr)}.pb-review-block>div{grid-template-columns:1fr;gap:3px}.pb-card-nav{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%);padding-top:28px}.pb-nav-btn{min-height:48px}.pb-therapist-intro{grid-template-columns:64px 1fr}.pb-therapist-photo{width:64px;height:64px}.pb-service-card{padding-right:42px}}
@media(max-width:420px){.pb-secure{display:none}.pb-time-grid{grid-template-columns:repeat(2,1fr)}.pb-weekdays span{font-size:9px}.pb-date{min-height:49px}.pb-card-nav .pb-nav-btn{padding:0 14px}}
.pb-public-footer{border-top:1px solid var(--line);background:rgba(255,255,255,.78);margin-top:8px}.pb-public-footer-inner{max-width:1180px;margin:0 auto;padding:18px;display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:10px}.pb-public-footer-inner strong{color:var(--charcoal);font-weight:700}.public-main{min-height:calc(100vh - 128px)}
@media(max-width:680px){.pb-public-footer-inner{display:block;text-align:center;line-height:1.7;padding:16px 14px}.pb-public-footer-inner>div+div{margin-top:2px}}

:root{--charcoal:#24302b;--ink:#3c4943;--muted:#718079;--line:#dfe7e1;--page:#f3f6f2;--white:#fff;--sage:#e8f1e8;--sage-border:#cfded0;--sage-deep:#49604e;--sand:#f5f1e7;--sand-border:#e4dcc2;--blue:#edf0f3;--blue-border:#d8dfe4;--rose:#f4eaea;--rose-border:#e5cccc;--deep:#314a38;--shadow:0 18px 45px rgba(45,67,53,.08)}
*{box-sizing:border-box}html{background:var(--page)}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% 0%,rgba(232,241,232,.9),transparent 30%),radial-gradient(circle at 88% 12%,rgba(245,241,231,.9),transparent 28%),var(--page);color:var(--ink);line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(95,128,103,.18);outline-offset:2px}
.prb-site-header{height:72px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 24px;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.prb-brand{display:flex;gap:11px;align-items:center;min-width:0}.prb-logo-mark{width:40px;height:40px;flex:0 0 40px;border:2px solid #97b29a;border-radius:50%;position:relative;background:#fff;display:grid;place-items:center}.prb-logo-mark:before{content:"";position:absolute;width:3px;height:12px;border-radius:4px;background:#5d7d64;top:7px}.prb-logo-mark:after{content:"";position:absolute;width:11px;height:3px;border-radius:4px;background:#5d7d64;left:19px;top:19px;transform:rotate(-31deg);transform-origin:left center}.prb-logo-dot{width:5px;height:5px;border-radius:50%;background:#5d7d64}.prb-brand-copy{min-width:0}.prb-brand-copy b{display:block;font-size:16px;color:var(--charcoal);letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prb-brand-copy span{display:block;font-size:10px;color:#89938d;margin-top:2px}.prb-secure{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}.prb-secure>span{width:8px;height:8px;border-radius:50%;background:#87a28e}
.prb-page{max-width:1180px;margin:0 auto;padding:28px 18px 36px}.prb-booking-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}.prb-booking-head h1{font-size:30px;letter-spacing:-.045em;color:var(--charcoal);margin-bottom:5px}.prb-booking-head p{font-size:12px;color:var(--muted);margin:0;max-width:720px}.prb-step-count{font-size:11px;font-weight:800;color:var(--deep);white-space:nowrap}.prb-progress{height:7px;border-radius:999px;background:#e2e8e3;overflow:hidden;margin-bottom:18px}.prb-progress span{display:block;width:12.5%;height:100%;background:#78917e;border-radius:999px;transition:width .25s ease}.prb-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.prb-stage{min-width:0}.prb-booking-card{min-height:630px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.prb-card-top{padding:23px 23px 17px;border-bottom:1px solid #edf1ed;background:linear-gradient(180deg,#fff,#fbfcfb)}.prb-eyebrow{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:var(--sage);border:1px solid var(--sage-border);color:var(--sage-deep);font-size:10px;font-weight:800;margin-bottom:10px}.prb-card-top h2{font-size:24px;letter-spacing:-.035em;color:var(--charcoal);margin-bottom:5px}.prb-card-top p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}.prb-card-body{padding:20px 23px 22px;flex:1;display:flex;flex-direction:column}.prb-step-pane{display:none;flex:1;flex-direction:column}.prb-step-pane.active{display:flex;animation:pbSlide .22s ease both}@keyframes pbSlide{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
.prb-therapist-intro{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid #e2e8e3;border-radius:17px;background:#fcfdfc;margin-bottom:12px}.prb-therapist-photo{width:74px;height:74px;border-radius:17px;background:linear-gradient(145deg,#dfe9df,#f1f5ef);display:grid;place-items:center;color:#68806c;font-size:20px;font-weight:800;overflow:hidden}.prb-therapist-photo img{width:100%;height:100%;object-fit:cover}.prb-therapist-intro h3{font-size:17px;color:var(--charcoal);margin:0 0 3px}.prb-therapist-intro p{font-size:11px;color:var(--muted);margin:0}.prb-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.prb-tags span{display:inline-flex;padding:5px 7px;border-radius:999px;background:var(--sage);color:var(--sage-deep);font-size:9px;font-weight:700}.prb-profile-intro{font-size:11px;color:#617067;line-height:1.65;margin:0 0 14px}
.prb-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prb-service-card{position:relative;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left;padding:15px 42px 15px 15px;transition:.18s}.prb-service-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(45,67,53,.06)}.prb-service-card.selected{border-color:#9fb5a2;box-shadow:0 0 0 3px rgba(126,154,132,.11);background:#f7faf6}.prb-service-card small{font-size:10px;color:var(--muted)}.prb-service-card h3{font-size:14px;color:var(--charcoal);margin:4px 0 9px}.prb-service-bottom{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.prb-service-bottom span{font-size:10px;color:var(--muted);line-height:1.4}.prb-service-bottom b{font-size:15px;color:var(--deep);white-space:nowrap}.prb-tick{position:absolute;right:12px;bottom:13px;width:24px;height:24px;border-radius:50%;border:1px solid #cfd8d0;background:#fff;display:grid;place-items:center}.prb-service-card.selected .prb-tick{background:#66876e;border-color:#66876e}.prb-service-card.selected .prb-tick:after{content:"✓";font-size:12px;color:#fff;font-weight:900}
.prb-select-list{display:grid;gap:10px}.prb-select-row{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:center;text-align:left;color:inherit}.prb-select-row:hover:not(.disabled){background:#fafcf9}.prb-select-row.selected{background:var(--sage);border-color:#aac0ac}.prb-select-row.sand.selected{background:var(--sand);border-color:var(--sand-border)}.prb-select-row.blue.selected{background:var(--blue);border-color:var(--blue-border)}.prb-select-row.disabled{opacity:.65;cursor:not-allowed;background:#f6f7f6}.prb-select-row b{display:block;font-size:13px;color:var(--charcoal)}.prb-select-row span{display:block;font-size:10px;color:var(--muted);line-height:1.45;margin-top:3px}.prb-select-row .prb-radio{width:20px;height:20px;border-radius:50%;border:2px solid #acb8af;display:grid;place-items:center;flex:0 0 auto;background:#fff;margin:0}.prb-select-row.selected .prb-radio:after{content:"";width:9px;height:9px;border-radius:50%;background:#66876e;display:block}.prb-lock{font-size:9px!important;font-weight:800;color:#8b6b35!important;background:#f7f1e8;padding:5px 7px;border-radius:999px;margin:0!important}.prb-location-card,.prb-payment-info{margin-top:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#f8faf7}.prb-location-card b,.prb-payment-info b{display:block;font-size:12px;color:var(--charcoal)}.prb-location-card span,.prb-payment-info span{display:block;font-size:10px;color:var(--muted);line-height:1.55;margin-top:3px}
.prb-calendar-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.prb-calendar-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:#f8faf7;border-bottom:1px solid var(--line)}.prb-calendar-head b{font-size:13px;color:var(--charcoal)}.prb-cal-nav{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--deep);font-weight:800}.prb-cal-nav:disabled{opacity:.35;cursor:not-allowed}.prb-weekdays,.prb-dates{display:grid;grid-template-columns:repeat(7,1fr)}.prb-weekdays span{text-align:center;padding:9px 3px;font-size:9px;font-weight:800;color:#8a958e}.prb-date{min-height:54px;border:0;border-top:1px solid #edf1ed;border-right:1px solid #edf1ed;background:#fff;color:#617067;font-size:11px;position:relative}.prb-date:nth-child(7n){border-right:0}.prb-date.available:hover{background:#f4f8f3}.prb-date.outside,.prb-date.unavailable{color:#c0c7c2;background:#fbfcfb;cursor:not-allowed}.prb-date.selected{background:var(--sage);color:var(--deep);font-weight:900}.prb-date.available:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#86a08c;bottom:7px;left:50%;transform:translateX(-50%)}.prb-date.selected:after{background:#4f765a}.prb-loading{padding:25px;text-align:center;color:var(--muted);font-size:11px}.prb-time-title{font-size:11px;color:var(--muted);margin:0 0 8px;font-weight:700}.prb-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:16px}.prb-time{height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--deep);font-size:11px;font-weight:800}.prb-time:hover{background:#f5f8f4}.prb-time.selected{background:var(--sage);border-color:#a8bca9;box-shadow:0 0 0 2px rgba(126,154,132,.09)}
.prb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.prb-field.full{grid-column:1/-1}.prb-field label{display:block;margin-bottom:6px;color:#58665d;font-size:11px;font-weight:700}.prb-field label span{font-weight:500;color:var(--muted)}.prb-field input,.prb-field textarea{width:100%;border:1px solid #dce4de;border-radius:12px;background:#fff;color:var(--charcoal);font-size:12px;outline:none}.prb-field input{height:46px;padding:0 13px}.prb-field textarea{min-height:105px;padding:12px 13px;resize:vertical}.prb-field input:focus,.prb-field textarea:focus{border-color:#9fb7a3;box-shadow:0 0 0 3px rgba(102,135,110,.10)}.prb-consent{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding:12px;border:1px solid #e2e8e3;border-radius:13px;background:#fafcf9;color:#617067;font-size:10px;line-height:1.5}.prb-consent input{width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:#66876e}
.prb-review-block{border:1px solid var(--line);border-radius:17px;padding:4px 15px;background:#fff}.prb-review-block>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:12px 0;border-top:1px solid #edf1ed}.prb-review-block>div:first-child{border-top:0}.prb-review-block span{font-size:10px;color:var(--muted)}.prb-review-block b{font-size:11px;color:var(--charcoal)}.prb-total-box{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;border-radius:15px;background:var(--sage);border:1px solid var(--sage-border);margin-top:12px}.prb-total-box span{font-size:11px;color:var(--sage-deep)}.prb-total-box b{font-size:20px;color:var(--charcoal)}.prb-notice{padding:12px 13px;border-radius:14px;background:var(--sand);border:1px solid var(--sand-border);color:#6f664d;font-size:10px;line-height:1.55;margin-top:12px}.prb-notice strong{color:#685b35}.prb-inline-message{display:none;margin-top:10px;padding:10px 12px;border-radius:11px;font-size:10px;line-height:1.45}.prb-inline-message.show{display:block}.prb-inline-message.error{background:#fff3f3;border:1px solid #ecd4d4;color:#8d4f4f}.prb-inline-message.info{background:#f0f6ef;border:1px solid #d5e2d6;color:#617067}
.prb-card-nav{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px}.prb-nav-btn{min-height:46px;border-radius:999px;border:1px solid var(--line);padding:0 18px;background:#fff;color:var(--charcoal);font-size:12px;font-weight:800}.prb-nav-btn.primary{background:var(--charcoal);border-color:var(--charcoal);color:#fff;min-width:132px;margin-left:auto}.prb-nav-btn:disabled{opacity:.35;cursor:not-allowed}.prb-summary{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow);overflow:hidden}.prb-summary-head{padding:15px 16px;background:linear-gradient(145deg,#edf4ec,#fafcf9);border-bottom:1px solid var(--line)}.prb-summary-head small{display:block;font-size:10px;color:var(--muted)}.prb-summary-head h3{font-size:15px;color:var(--charcoal);margin:3px 0 0}.prb-summary-body{padding:9px 16px 14px}.prb-summary-body>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #edf1ed}.prb-summary-body>div:first-child{border-top:0}.prb-summary-body span{font-size:10px;color:var(--muted)}.prb-summary-body b{font-size:10px;color:var(--charcoal);text-align:right}.prb-summary-body .prb-summary-total{display:flex;margin-top:8px;padding:12px;border-radius:13px;background:var(--sage);border:0}.prb-summary-total b{font-size:17px}.prb-summary-note{padding:12px 16px 15px;font-size:9px;color:var(--muted);line-height:1.5;border-top:1px solid var(--line)}.prb-mobile-summary{display:none}
.prb-success-wrap{display:grid;place-items:center;text-align:center;flex:1;padding:18px}.prb-success-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--sage);border:1px solid var(--sage-border);color:var(--sage-deep);font-size:30px;font-weight:900;margin:0 auto 15px}.prb-success-wrap h2{font-size:25px;color:var(--charcoal);margin-bottom:6px}.prb-success-wrap p{max-width:500px;margin:0 auto;font-size:11px;color:var(--muted);line-height:1.6}.prb-confirm-box{max-width:480px;margin:12px auto 0;padding:13px 14px;border-radius:14px;background:#f8faf7;border:1px solid var(--line);text-align:left}.prb-confirm-box span{display:block;font-size:9px;color:var(--muted)}.prb-confirm-box b{display:block;font-size:11px;color:var(--charcoal);margin-top:3px}.prb-success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}.prb-success-actions .prb-nav-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin:0;min-width:190px}.prb-unavailable{max-width:620px;margin:70px auto;padding:34px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);text-align:center}.prb-unavailable-icon{width:56px;height:56px;border:2px solid #97b29a;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;color:var(--deep);font-weight:800}.prb-unavailable h1{font-size:28px;color:var(--charcoal);margin-bottom:7px}.prb-unavailable p{font-size:12px;color:var(--muted);line-height:1.6}.prb-unavailable a{font-size:11px;color:var(--deep);font-weight:700}.hidden{display:none!important}
@media(max-width:900px){.prb-main-grid{grid-template-columns:1fr}.prb-summary{display:none}.prb-mobile-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}.prb-mobile-summary span{font-size:10px;color:var(--muted)}.prb-mobile-summary b{font-size:10px;color:var(--charcoal);text-align:right}}
@media(max-width:680px){.prb-site-header{height:66px;padding:0 14px}.prb-brand-copy span{display:none}.prb-secure{font-size:10px}.prb-page{padding:20px 12px 28px}.prb-booking-head{display:block}.prb-booking-head h1{font-size:27px}.prb-step-count{margin-top:8px}.prb-booking-card{min-height:620px;border-radius:20px}.prb-card-top{padding:19px 17px 15px}.prb-card-body{padding:17px}.prb-service-grid,.prb-form-grid{grid-template-columns:1fr}.prb-field.full{grid-column:auto}.prb-time-grid{grid-template-columns:repeat(3,1fr)}.prb-review-block>div{grid-template-columns:1fr;gap:3px}.prb-card-nav{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%);padding-top:28px}.prb-nav-btn{min-height:48px}.prb-therapist-intro{grid-template-columns:64px 1fr}.prb-therapist-photo{width:64px;height:64px}.prb-service-card{padding-right:42px}}
@media(max-width:420px){.prb-secure{display:none}.prb-time-grid{grid-template-columns:repeat(2,1fr)}.prb-weekdays span{font-size:9px}.prb-date{min-height:49px}.prb-card-nav .prb-nav-btn{padding:0 14px}}
.prb-public-footer{border-top:1px solid var(--line);background:rgba(255,255,255,.78);margin-top:8px}.prb-public-footer-inner{max-width:1180px;margin:0 auto;padding:18px;display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:10px}.prb-public-footer-inner strong{color:var(--charcoal);font-weight:700}.public-main{min-height:calc(100vh - 128px)}
@media(max-width:680px){.prb-public-footer-inner{display:block;text-align:center;line-height:1.7;padding:16px 14px}.prb-public-footer-inner>div+div{margin-top:2px}}


/* Customer room booking additions */
.prb-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.prb-room-choice{position:relative;text-align:left;border:1px solid var(--line);border-radius:18px;background:#fff;padding:0;overflow:hidden;transition:.18s;color:inherit}.prb-room-choice:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(45,67,53,.07)}.prb-room-choice.selected{border-color:#a7bea9;box-shadow:0 0 0 3px rgba(126,154,132,.12)}.prb-room-visual{height:132px;padding:12px;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(145deg,#e8f1e8,#f5f8f4);background-size:cover;background-position:center}.prb-room-visual.has-photo{position:relative}.prb-room-visual.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,48,43,.04),rgba(36,48,43,.15));pointer-events:none}.prb-room-number,.prb-room-status{position:relative;z-index:1;background:rgba(255,255,255,.9)}.prb-room-number{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--deep)}.prb-room-status{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px;color:var(--sage-deep)}.prb-room-info{padding:13px 14px 15px}.prb-room-info h3{font-size:15px;color:var(--charcoal);margin:0 0 4px}.prb-room-info p{min-height:32px;font-size:10px;color:var(--muted);line-height:1.5;margin:0 0 9px}.prb-room-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.prb-room-meta span{font-size:10px;color:var(--muted)}.prb-room-meta b{font-size:13px;color:var(--deep)}.prb-room-choice>.prb-tick{right:11px;bottom:12px}.prb-room-choice.selected>.prb-tick{background:#66876e;border-color:#66876e}.prb-room-choice.selected>.prb-tick:after{content:"✓";font-size:12px;color:#fff;font-weight:900}
.prb-duration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prb-duration-card{border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;padding:15px;transition:.18s;color:inherit}.prb-duration-card:hover{transform:translateY(-1px)}.prb-duration-card.selected{border-color:#9fb5a2;box-shadow:0 0 0 3px rgba(126,154,132,.11);background:#f7faf6}.prb-duration-card.hidden-option{display:none}.prb-duration-card small{font-size:10px;color:var(--muted)}.prb-duration-card h3{font-size:14px;color:var(--charcoal);margin:4px 0 8px}.prb-duration-bottom{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.prb-duration-bottom span{font-size:10px;color:var(--muted);line-height:1.45}.prb-duration-bottom b{font-size:16px;color:var(--deep);white-space:nowrap}
.prb-repeat-config{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafcf9}.prb-repeat-config label{display:block;font-size:11px;font-weight:700;color:#58665d;margin-bottom:6px}.prb-repeat-config select{width:100%;height:44px;border:1px solid #dce4de;border-radius:11px;background:#fff;padding:0 12px;color:var(--charcoal);font:inherit}.prb-repeat-preview{margin-top:10px;font-size:10px;color:var(--muted);line-height:1.5}.prb-request-notice,.prb-request-payment,.prb-no-payment,.prb-payment-disabled,.prb-payment-unavailable,.prb-owner-note{margin-top:12px;padding:13px 14px;border:1px solid #d5e2d6;border-radius:14px;background:#f0f6ef;color:#617067;font-size:10px;line-height:1.55}.prb-request-payment strong,.prb-no-payment strong,.prb-payment-disabled b,.prb-payment-unavailable strong,.prb-owner-note strong{display:block;color:var(--deep);font-size:12px}.prb-request-payment span,.prb-no-payment span,.prb-payment-disabled span,.prb-payment-unavailable span{display:block;margin-top:3px}.prb-payment-disabled{background:#f6f7f6;border-color:#e0e4e1;color:#7a847e}.prb-payment-unavailable{background:#fbf6ee;border-color:#eadcc5;color:#79633d}.prb-payment-unavailable strong{color:#8a642c}.prb-unavailable-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.prb-unavailable-actions .prb-nav-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.prb-restart{margin-top:16px}.prb-summary-head b{display:block;font-size:15px;color:var(--charcoal);margin-top:3px}.prb-summary-head span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.prb-summary-body .prb-summary-row{display:flex}.prb-summary-body .prb-summary-note{display:block}.prb-review-row{display:grid!important;grid-template-columns:145px 1fr!important}.prb-field{margin-top:14px}.prb-field label{display:block;margin-bottom:6px;color:#58665d;font-size:11px;font-weight:700}.prb-field label span{font-weight:500;color:var(--muted)}.prb-field textarea{width:100%;min-height:90px;border:1px solid #dce4de;border-radius:12px;background:#fff;color:var(--charcoal);font-size:12px;padding:12px 13px;resize:vertical;outline:none}
@media(max-width:680px){.prb-room-grid,.prb-duration-grid{grid-template-columns:1fr}.prb-review-row{grid-template-columns:1fr!important;gap:3px!important}.prb-room-info p{min-height:0}}

/* 2026-08-27 payment/recurring controls and room selection alignment */
.prb-select-row{font:inherit;cursor:pointer;min-height:58px;position:relative}.prb-select-row:focus-visible{outline:2px solid #78917e;outline-offset:2px;box-shadow:0 0 0 4px rgba(120,145,126,.12)}.prb-select-row.disabled{pointer-events:none}.prb-radio{margin-left:auto}.prb-room-info{padding-right:50px}.prb-room-meta{min-width:0;padding-right:2px}.prb-room-meta span,.prb-room-meta b{min-width:0}.prb-room-meta span{overflow-wrap:anywhere}.prb-room-meta b{white-space:nowrap}.prb-room-choice>.prb-tick{z-index:2}.prb-room-choice:focus-visible{outline:2px solid #78917e;outline-offset:2px}
@media(max-width:680px){.prb-select-row{padding:13px;gap:10px}.prb-room-info{padding-right:48px}.prb-room-meta{align-items:flex-start;gap:6px}.prb-room-meta span{line-height:1.4}}

.prb-direct-lock{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:7px 10px;border:1px solid #d5e2d6;border-radius:999px;background:#f0f6ef;color:#617067;font-size:9px;line-height:1.35}.prb-direct-lock strong{color:#314a38}
@media(max-width:620px){.prb-direct-lock{display:flex;border-radius:12px;align-items:flex-start}}

/* Open public room booking contact details */
.prb-guest-contact{margin-bottom:14px;padding:14px;border:1px solid #dfe7e1;border-radius:16px;background:#fafcf9}.prb-guest-contact-head{margin-bottom:10px}.prb-guest-contact-head b{display:block;font-size:12px;color:#24302b}.prb-guest-contact-head span{display:block;margin-top:3px;font-size:9px;line-height:1.5;color:#718079}.prb-guest-contact .prb-field{margin-top:0}.prb-guest-contact .prb-form-grid{margin-top:0}

/* V28 Step 1–6 hardening: public Room booking production typography/accessibility audit. */
.prb-brand-copy span,.prb-secure,.prb-step-count{font-size:12px}
.prb-eyebrow{font-size:11px}
.prb-therapist-intro p,.prb-profile-intro,.prb-success-wrap p{font-size:13px;line-height:1.55}
.prb-tags span,.prb-service-card small,.prb-service-bottom span,.prb-select-row span,.prb-location-card span,.prb-payment-info span,.prb-lock,.prb-weekdays span{font-size:11px;line-height:1.4}
.prb-date,.prb-loading,.prb-time-title,.prb-time,.prb-field label{font-size:12px}
.prb-consent,.prb-notice,.prb-inline-message{font-size:12px;line-height:1.5}
.prb-review-block span,.prb-summary-head small,.prb-summary-body span,.prb-summary-note,.prb-confirm-box span,.prb-mobile-summary span{font-size:11px;line-height:1.45}
.prb-review-block b,.prb-total-box span,.prb-summary-body b,.prb-confirm-box b,.prb-mobile-summary b,.prb-unavailable a{font-size:12px;line-height:1.45}
.prb-public-footer-inner{font-size:12px}
.prb-room-number{font-size:12px}
.prb-room-status{font-size:11px}
.prb-room-info p{font-size:12px;line-height:1.5}
.prb-room-meta span,.prb-duration-card small,.prb-duration-bottom span,.prb-repeat-preview,.prb-summary-head span,.prb-direct-lock,.prb-guest-contact-head span{font-size:11px;line-height:1.45}
.prb-repeat-config label{font-size:12px}
.prb-request-notice,.prb-request-payment,.prb-no-payment,.prb-payment-disabled,.prb-payment-unavailable,.prb-owner-note{font-size:12px;line-height:1.5}
.prb-page,.prb-main-grid,.prb-stage,.prb-booking-card,.prb-card-body,.prb-room-choice,.prb-room-info,.prb-room-meta{min-width:0}
.prb-room-info,.prb-room-meta,.prb-summary-body{overflow-wrap:anywhere}
.prb-page select:focus-visible,.prb-page a:focus-visible,.prb-page [role="button"]:focus-visible,.prb-public-footer a:focus-visible{outline:3px solid rgba(95,128,103,.22);outline-offset:2px}
@media(max-width:680px){.prb-secure{font-size:12px}.prb-public-footer-inner{font-size:12px}.prb-room-info{padding-right:42px}}

/* V30.37 public room booking enquiries */
.pb-header-actions{display:flex;align-items:center;gap:10px}.pb-header-action-btn,.pb-header-enquiry-btn{min-height:38px;padding:0 15px;border:1px solid #cfded0;border-radius:999px;background:#f5f9f4;color:var(--deep);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.pb-header-action-btn{background:#fff}.pb-header-action-btn:hover,.pb-header-enquiry-btn:hover{background:var(--sage)}
.prb-enquiry-inline{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:0;border:0;background:transparent;color:var(--deep);font-size:12px;font-weight:800}.prb-enquiry-inline:hover{text-decoration:underline}.prb-enquiry-inline span{font-size:15px}.prb-enquiry-card{padding:16px;border-top:1px solid var(--line);background:linear-gradient(145deg,#f7faf6,#fff)}.prb-enquiry-card>small,.prb-enquiry-kicker{display:block;color:var(--sage-deep);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.prb-enquiry-card h3{margin:6px 0;font-size:15px;line-height:1.3;color:var(--charcoal)}.prb-enquiry-card p{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.prb-enquiry-context,.prb-enquiry-selected{margin-top:12px;padding:10px 11px;border:1px solid var(--sage-border);border-radius:12px;background:#fff}.prb-enquiry-context span,.prb-enquiry-selected span{display:block;font-size:10px;color:var(--muted)}.prb-enquiry-context b,.prb-enquiry-selected b{display:block;margin-top:2px;font-size:12px;color:var(--charcoal);overflow-wrap:anywhere}.prb-enquiry-card-btn{width:100%;min-height:42px;margin-top:11px;border:1px solid var(--charcoal);border-radius:999px;background:var(--charcoal);color:#fff;font-size:12px;font-weight:800}
body.prb-enquiry-open{overflow:hidden}.prb-enquiry-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(27,38,33,.58);backdrop-filter:blur(4px)}.prb-enquiry-modal[hidden]{display:none}.prb-enquiry-dialog{position:relative;width:min(590px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(20,35,26,.25)}.prb-enquiry-close{position:absolute;top:13px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f2f5f2;color:var(--charcoal);font-size:24px;line-height:1}.prb-enquiry-dialog h2{margin:6px 42px 5px 0;color:var(--charcoal);font-size:25px;letter-spacing:-.035em}.prb-enquiry-dialog>div>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.prb-enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:16px}.prb-enquiry-grid .prb-field{margin-top:0}.prb-enquiry-grid .prb-field.full{grid-column:1/-1}.prb-enquiry-grid .prb-field textarea{min-height:125px}.prb-enquiry-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.prb-enquiry-privacy{margin:12px 0 0!important;font-size:11px!important}.prb-enquiry-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}.prb-enquiry-actions .prb-nav-btn{margin:0}.prb-enquiry-success{text-align:center;padding:12px 4px 2px}.prb-enquiry-success[hidden]{display:none}.prb-enquiry-success h2{margin:0 0 6px}.prb-enquiry-success p{max-width:450px;margin:0 auto!important}.prb-enquiry-success .prb-nav-btn{margin-top:17px}.prb-enquiry-success .prb-confirm-box{margin-top:15px}
@media(max-width:680px){.pb-header-enquiry-btn{display:none}.pb-header-action-btn{min-height:36px;padding:0 11px;font-size:11px}.pb-header-actions{gap:7px}.prb-enquiry-modal{align-items:flex-end;padding:0}.prb-enquiry-dialog{width:100%;max-height:92vh;padding:23px 17px 20px;border-radius:22px 22px 0 0}.prb-enquiry-grid{grid-template-columns:1fr}.prb-enquiry-grid .prb-field.full{grid-column:auto}.prb-enquiry-actions{flex-direction:column-reverse}.prb-enquiry-actions .prb-nav-btn{width:100%}.prb-enquiry-actions .prb-nav-btn.primary{margin:0}}

/* 2026-09-10 public Room booking: fixed square room imagery */
.prb-room-choice{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start}
.prb-room-visual{width:150px;height:150px;min-width:150px;min-height:150px;max-width:150px;max-height:150px;aspect-ratio:auto;align-self:start;background-size:cover;background-position:center;background-repeat:no-repeat}
.prb-room-info{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.prb-room-meta{margin-top:auto}
@media(max-width:680px){.prb-room-choice{grid-template-columns:112px minmax(0,1fr)}.prb-room-visual{width:112px;height:112px;min-width:112px;min-height:112px;max-width:112px;max-height:112px;padding:8px}.prb-room-number{width:30px;height:30px;border-radius:9px}.prb-room-status{font-size:9px;padding:4px 6px}.prb-room-info{padding:11px 40px 11px 11px}.prb-room-info h3{font-size:14px}.prb-room-meta{display:block}.prb-room-meta b{display:block;margin-top:3px}}
@media(max-width:420px){.prb-room-choice{grid-template-columns:96px minmax(0,1fr)}.prb-room-visual{width:96px;height:96px;min-width:96px;min-height:96px;max-width:96px;max-height:96px}.prb-room-status{display:none}.prb-room-info{padding-left:9px}.prb-room-info p{font-size:11px}.prb-room-meta span{font-size:10px}}

/* 2026-10-07 public Room booking: square room imagery.
   Keep the photo across the top of each room card and enforce a true 1:1
   image area at every viewport size. */
.prb-room-choice{
  display:block;
}
.prb-room-visual{
  width:100%;
  height:auto;
  min-width:0;
  min-height:0;
  max-width:none;
  max-height:none;
  aspect-ratio:1 / 1;
  padding:12px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
@media(max-width:680px){
  .prb-room-choice{display:block;}
  .prb-room-visual{
    width:100%;
    height:auto;
    min-width:0;
    min-height:0;
    max-width:none;
    max-height:none;
    aspect-ratio:1 / 1;
    padding:10px;
  }
  .prb-room-info{padding:13px 44px 15px 14px;}
  .prb-room-meta{display:flex;}
  .prb-room-meta b{display:inline; margin-top:0;}
  .prb-room-status{display:inline-flex;}
}
@media(max-width:420px){
  .prb-room-visual{
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:1 / 1;
  }
  .prb-room-status{display:inline-flex;}
  .prb-room-info{padding:13px 42px 14px 13px;}
}

/* 2026-09-28 public room booking: room feature previews + location facilities */
.prb-booking-features{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 11px}
.prb-booking-feature{display:inline-flex;align-items:center;min-height:26px;padding:5px 8px;border:1px solid #d8e4d9;border-radius:999px;background:#f5f9f4;color:#4b6552;font-size:10px;font-weight:700;line-height:1.2}
.prb-booking-feature.more{border-color:#cbdccb;background:#eaf3e9;color:var(--deep);font-weight:800}
.prb-location-facilities{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(42,62,49,.05)}
.prb-location-facilities h3{margin:0 0 4px;color:var(--charcoal);font-size:16px;line-height:1.3}
.prb-location-facilities>p{margin:0 0 11px;color:var(--muted);font-size:11px;line-height:1.5}
.prb-location-chips{display:flex;flex-wrap:wrap;gap:7px}
.prb-location-chip{display:inline-flex;align-items:center;min-height:28px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#f4f7f3;color:#59675e;font-size:10px;font-weight:700;line-height:1.25}
.prb-view-all-facilities{display:inline-flex;align-items:center;gap:6px;margin-top:11px;padding:0;border:0;background:transparent;color:var(--deep);font-size:11px;font-weight:800}
.prb-view-all-facilities:hover{text-decoration:underline}
body.prb-facilities-open{overflow:hidden}
.prb-facilities-modal{position:fixed;inset:0;z-index:205;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(27,38,33,.58);backdrop-filter:blur(4px)}
.prb-facilities-modal[hidden]{display:none}
.prb-facilities-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(20,35,26,.25)}
.prb-facilities-close{position:absolute;top:13px;right:14px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:#f2f5f2;color:var(--charcoal);font-size:24px;line-height:1}
.prb-facilities-head{padding:22px 56px 16px 22px;border-bottom:1px solid var(--line)}
.prb-facilities-head h2{margin:0;color:var(--charcoal);font-size:23px;letter-spacing:-.03em}
.prb-facilities-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.prb-facilities-body{padding:18px 22px}
.prb-facility-section{margin-bottom:18px}
.prb-facility-section:last-child{margin-bottom:0}
.prb-facility-section h3{margin:0 0 8px;color:var(--charcoal);font-size:13px}
.prb-facility-list{display:flex;flex-wrap:wrap;gap:7px}
.prb-facility-item{display:inline-flex;align-items:center;min-height:30px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#f5f8f4;color:#55645a;font-size:11px;font-weight:700;line-height:1.25}
.prb-facilities-footer{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--line)}
.prb-facilities-footer .prb-nav-btn{margin:0}
@media(max-width:680px){
  .prb-booking-features{gap:5px;margin:7px 0 9px}
  .prb-booking-feature{min-height:24px;padding:4px 7px;font-size:9px}
  .prb-location-facilities{padding:14px;margin-top:12px}
  .prb-location-facilities h3{font-size:15px}
  .prb-facilities-modal{align-items:flex-end;padding:0}
  .prb-facilities-dialog{width:100%;max-height:92vh;border-radius:22px 22px 0 0}
  .prb-facilities-head{padding:20px 52px 14px 17px}
  .prb-facilities-head h2{font-size:21px}
  .prb-facilities-body{padding:16px 17px}
  .prb-facilities-footer{padding:13px 17px 17px}
  .prb-facilities-footer .prb-nav-btn{width:100%}
}


/* 2026-09-30 Phase 1: invite signed-in Room Renters into the native app. */
.prb-app-promo{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:15px 17px;border:1px solid #cfe0d1;border-radius:17px;background:linear-gradient(135deg,#eef6ed,#fff);box-shadow:0 10px 28px rgba(45,67,53,.06)}
.prb-app-promo>div{min-width:0}.prb-app-promo span{display:block;margin-bottom:3px;color:#49644f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.prb-app-promo b{display:block;color:#24302b;font-size:14px}.prb-app-promo p{margin:4px 0 0;color:#718079;font-size:11px;line-height:1.5}.prb-app-promo>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid #314a38;border-radius:999px;background:#314a38;color:#fff;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}.prb-app-promo>a:hover{background:#24302b;border-color:#24302b}
@media(max-width:680px){.prb-app-promo{display:block;margin-bottom:14px;padding:14px}.prb-app-promo>a{width:100%;margin-top:11px}}

/* 2026-09-30 responsive Room booking access / unavailable actions fix. */
.prb-unavailable-actions{
  gap:10px;
  margin-top:18px;
}
.prb-unavailable-actions .prb-nav-btn,
.prb-unavailable-actions .prb-nav-btn.primary{
  min-width:190px;
  margin:0;
}
.prb-unavailable-actions .prb-nav-btn[hidden]{
  display:none!important;
}
@media(max-width:680px){
  .prb-unavailable{
    margin:32px auto;
    padding:28px 20px;
    border-radius:20px;
  }
  .prb-unavailable h1{
    font-size:26px;
    line-height:1.2;
  }
  .prb-unavailable p{
    max-width:380px;
    margin-left:auto;
    margin-right:auto;
  }
  .prb-unavailable-actions{
    width:100%;
    max-width:320px;
    margin:18px auto 0;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
  }
  .prb-unavailable-actions .prb-nav-btn,
  .prb-unavailable-actions .prb-nav-btn.primary{
    width:100%;
    min-width:0;
    min-height:48px;
    margin:0;
    padding:0 18px;
  }
}
@media(max-width:420px){
  .prb-unavailable{
    margin:24px auto;
    padding:24px 16px;
  }
  .prb-unavailable h1{font-size:24px;}
  .prb-unavailable-actions{max-width:none;}
}

/* 2026-10-02 approved-therapist public page: Request Access action. */
.prb-unavailable-actions.prb-access-actions .prb-nav-btn,
.prb-unavailable-actions.prb-access-actions .prb-nav-btn.primary{
  min-width:160px;
}
@media(max-width:680px){
  .prb-unavailable-actions.prb-access-actions .prb-nav-btn,
  .prb-unavailable-actions.prb-access-actions .prb-nav-btn.primary{
    width:100%;
    min-width:0;
  }
}
