/* ============== CORE ============== */
:root{--pbf-accent:#E7B12D;--pbf-cream:#F9EACD;--pbf-text:#111;--pbf-line:#ece8e2}
.pbf-root,.pbf-root *{box-sizing:border-box}
.pbf-root{font-family:'Josefin Sans',Arial,sans-serif;color:var(--pbf-text)}
.pbf-launch-button{border:0;border-radius:999px;background:var(--pbf-accent);padding:14px 30px;font:500 16px/1 'Josefin Sans',Arial,sans-serif;cursor:pointer}
.pbf-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(16,14,12,.72);z-index:999999;overflow:auto}
.pbf-overlay.is-open{display:flex}
body.pbf-modal-open{overflow:hidden}
.pbf-modal{position:relative;width:min(765px,calc(100vw - 48px));max-height:94vh;overflow:auto;background:#fff;border-radius:4px;box-shadow:0 18px 70px rgba(0,0,0,.25);padding:28px 54px 35px}
.pbf-step{display:none}.pbf-step.is-active{display:block}
.pbf-script-title{font-family:'Allura',cursive;font-size:43px;font-weight:400;line-height:1;margin:0 0 29px;text-align:center;color:#000}
.pbf-close{position:absolute;top:22px;right:47px;border:0;background:transparent;color:#d99c00;font:300 36px/1 Arial,sans-serif;cursor:pointer;padding:0;z-index:5}
.pbf-back{position:absolute;top:20px;left:52px;border:0;background:transparent;color:#8b8b8b;font:300 38px/1 Arial,sans-serif;cursor:pointer;padding:0}
.pbf-field-label{font-size:16px;line-height:1.25;margin:0 0 7px}
.pbf-service-line{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:18px;margin-bottom:11px}
.pbf-hidden{display:none !important}
.pbf-guest-line{display:block;margin-bottom:11px}
.pbf-date-time-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(210px,.95fr);gap:18px}
.pbf-custom-select,.pbf-date-control{position:relative}
.pbf-select-trigger,.pbf-date-button,.pbf-price-box,.pbf-timezone-bar{height:44px;border:1px solid rgba(225,168,47,.45);background:var(--pbf-cream);border-radius:25px}
.pbf-select-trigger,.pbf-date-button{width:100%;display:flex;align-items:center;gap:16px;padding:0 17px;border-color:rgba(225,168,47,.45);font:500 16px/1 'Josefin Sans',Arial,sans-serif;color:#111;cursor:pointer;text-align:left}
.pbf-select-trigger svg,.pbf-date-button svg{flex:0 0 auto;width:18px;height:18px}
.pbf-select-text,.pbf-date-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pbf-chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:0 0 auto;margin-right:3px}
.pbf-custom-select.is-open .pbf-chevron{transform:rotate(225deg) translate(-2px,-2px)}
.pbf-select-menu{display:none;position:absolute;left:24px;right:48px;top:100%;z-index:30;background:#fff;box-shadow:0 10px 16px rgba(0,0,0,.25);border-radius:1px;overflow:hidden;max-height:260px;overflow-y:auto}
.pbf-service-select .pbf-select-menu,.pbf-guest-select .pbf-select-menu{left:54px;right:18px}
.pbf-custom-select.is-open .pbf-select-menu{display:block}
.pbf-select-option{display:block;width:100%;border:0;background:#fff;padding:9px 18px;text-align:left;font:500 16px/1.15 'Josefin Sans',Arial,sans-serif;color:#2a2a2a;cursor:pointer}
.pbf-select-option:hover,.pbf-select-option:focus,.pbf-select-option.is-selected{background:#e9e9e9;outline:none}
.pbf-time-menu{left:48px;right:auto;width:185px;top:100%;margin-top:4px;max-height:300px;overflow-y:auto;box-shadow:0 5px 12px rgba(0,0,0,.25)}
.pbf-custom-select.is-disabled{opacity:.65}.pbf-custom-select.is-disabled .pbf-select-trigger{cursor:not-allowed}
.pbf-price-box{display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:0 18px;font-size:18px}
.pbf-date-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:3}
.pbf-timezone-bar{display:flex;align-items:center;gap:13px;margin-top:16px;padding:0 17px;border:0;font-size:16px}
.pbf-timezone-bar svg{width:20px;height:20px}
.pbf-divider{height:1px;background:var(--pbf-line);margin:23px 0 17px}
.pbf-slot-heading{font-size:16px;margin:0 0 20px;color:#3d3d3d}
.pbf-slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 14px;min-height:154px}
.pbf-slot-button{height:46px;border-radius:28px;border:1px solid #161616;background:#fff;color:var(--pbf-accent);font:500 16px/1 'Josefin Sans',Arial,sans-serif;cursor:pointer}
.pbf-slot-button:hover,.pbf-slot-button:focus{outline:none;box-shadow:0 0 0 2px rgba(231,177,45,.2)}
.pbf-slot-button.is-selected{background:var(--pbf-accent);border-color:var(--pbf-accent);color:#111}
.pbf-inline-message{font-size:14px;line-height:1.4;text-align:center;margin-top:10px;min-height:20px}
.pbf-inline-message.is-error{color:#b42318}
.pbf-primary{display:block;width:282px;height:46px;margin:36px auto 0;border:0;border-radius:28px;background:var(--pbf-accent);color:#111;font:500 16px/1 'Josefin Sans',Arial,sans-serif;cursor:pointer;transition:opacity .15s ease;text-align:center;text-decoration:none;line-height:46px;padding:0}
.pbf-primary:disabled{opacity:.45;cursor:not-allowed}

/* Step 2 */
.pbf-step-2{padding-top:2px}.pbf-step-2 .pbf-script-title{margin-bottom:28px}
.pbf-summary-card{display:grid;grid-template-columns:90px 1fr;margin:0 0 29px;background:var(--pbf-cream);border-radius:4px;overflow:hidden;min-height:112px}
.pbf-summary-date{background:var(--pbf-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Allura',cursive;color:#000;line-height:1}
.pbf-summary-day{font-size:31px}.pbf-summary-month{font-size:27px;margin-top:2px}.pbf-summary-time{font:500 15px/1 'Josefin Sans',Arial,sans-serif;margin-top:15px}
.pbf-summary-details{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:16px 18px}
.pbf-summary-row{display:flex;align-items:center;gap:18px;font-size:17px}.pbf-summary-row svg{width:20px;height:20px;flex:0 0 auto}
.pbf-form-group{margin-bottom:30px}.pbf-form-group label{display:block;font-size:15px;margin:0 0 9px}.pbf-form-group label span{margin-left:2px}
.pbf-form-group input{width:100%;height:43px;border:1px solid rgba(225,168,47,.45);border-radius:24px;background:var(--pbf-cream);padding:0 18px;font:500 16px 'Josefin Sans',Arial,sans-serif;outline:none}
.pbf-form-group input:focus{box-shadow:0 0 0 2px rgba(231,177,45,.18)}
.pbf-two-cols{display:grid;grid-template-columns:1fr 1.06fr;gap:18px}
.pbf-message-group{margin-top:1px;margin-bottom:36px}.pbf-message-group textarea{width:100%;height:88px;resize:vertical;border:0;border-bottom:1px solid rgba(225,168,47,.62);background:#fff;padding:8px 0;font:500 16px 'Josefin Sans',Arial,sans-serif;outline:none}
.pbf-terms-row{position:relative;display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:13.2px;line-height:1.75;cursor:pointer}
.pbf-terms-row input{position:absolute;opacity:0}
.pbf-checkbox-ui{width:20px;height:20px;border:2px solid var(--pbf-accent);border-radius:2px;margin-top:2px;position:relative}
.pbf-terms-row input:checked+.pbf-checkbox-ui:after{content:'✓';position:absolute;left:2px;top:-5px;font:700 21px/1 Arial;color:var(--pbf-accent)}
.pbf-terms-row a{color:#222;text-decoration:underline}
.pbf-book{margin-top:42px}
.pbf-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Success */
.pbf-success-step{text-align:center;padding:24px 12px 10px}
.pbf-success-icon{width:74px;height:74px;border-radius:50%;margin:5px auto 18px;background:var(--pbf-accent);display:flex;align-items:center;justify-content:center;font:600 39px/1 Arial}
.pbf-success-step h3{font-size:22px;margin:0 0 10px}
.pbf-success-step p{font-size:16px;line-height:1.6;max-width:470px;margin:0 auto}
.pbf-done{margin-top:28px}

/* Payment */
.pbf-payment-box{max-width:420px;margin:24px auto 6px;padding:22px;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;text-align:center}
.pbf-payment-note{margin:0 0 14px;font-size:15px;color:#78350f;line-height:1.5;font-weight:500}
.pbf-payment-box .pbf-pay-now{display:inline-block;width:auto;padding:0 34px;margin:0;text-decoration:none;line-height:46px}
.pbf-success-step .pbf-done{margin-top:18px}

@media (max-width:760px){
  .pbf-overlay{padding:10px;align-items:flex-start}
  .pbf-modal{width:100%;max-height:calc(100vh - 20px);padding:24px 20px 30px}
  .pbf-close{right:18px;top:16px}.pbf-back{left:18px;top:15px}
  .pbf-script-title{font-size:38px;margin-bottom:24px}
  .pbf-service-line,.pbf-date-time-grid,.pbf-two-cols{grid-template-columns:1fr}
  .pbf-service-line{gap:10px}.pbf-date-time-grid{gap:12px}.pbf-price-box{width:100%}
  .pbf-time-menu{left:24px;right:auto;width:auto;top:100%;max-height:320px;margin-top:4px}
  .pbf-slot-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .pbf-primary{width:min(282px,100%)}
  .pbf-summary-card{grid-template-columns:82px 1fr}
  .pbf-summary-row{font-size:15px}
  .pbf-terms-row{font-size:12.5px}
  .pbf-select-menu,.pbf-service-select .pbf-select-menu,.pbf-guest-select .pbf-select-menu{left:18px;right:12px}
}
@media (max-width:430px){
  .pbf-slot-grid{grid-template-columns:1fr 1fr}
  .pbf-select-trigger,.pbf-date-button{font-size:15px}
  .pbf-timezone-bar{font-size:14px}
  .pbf-summary-details{padding:14px 12px}
  .pbf-summary-row{gap:11px}
}