:root{--black:#0f0e0d;--charcoal:#1c1a18;--gold:#b8964e;--gold-bright:#d4b877;--cream:#f4f1ea;--cream-dim:#e8e2d4;--line:#33302b;--ok:#5c8a63;--err:#a44a3f;--shadow:0 20px 50px rgba(0,0,0,.35)}#sb-booking-widget *{box-sizing:border-box}#sb-booking-widget{background:radial-gradient(1200px 600px at 50% -10%,#221f1b 0%,var(--black) 60%)!important;color:var(--cream)!important;font-family:'Source Sans 3',sans-serif;min-height:400px;padding:32px 16px 60px;border-radius:8px}.sb-loading{color:#8f8a7d!important;text-align:center;padding:60px 0}.wrap{max-width:960px;margin:0 auto}.card{display:flex;background:var(--charcoal)!important;border:1px solid var(--line);border-radius:4px;overflow:hidden;box-shadow:var(--shadow);min-height:560px}.rail{width:250px;flex-shrink:0;background:var(--black)!important;padding:28px 22px;border-right:1px solid var(--line)}.rail-step{display:flex;gap:12px;align-items:flex-start;padding:11px 4px;color:#777165!important;font-size:14.5px}.rail-step .dot{width:22px;height:22px;border-radius:50%;border:1px solid #4a453c;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;margin-top:1px;font-family:'Source Sans 3',sans-serif}.rail-step.done .dot{background:var(--gold)!important;border-color:var(--gold)!important;color:#1c1a18!important;font-weight:700}.rail-step.active{color:var(--cream)!important}.rail-step.active .dot{border-color:var(--gold)!important;color:var(--gold)!important;font-weight:700}.rail-step.done{color:#b2ab9c!important}.panel{flex:1;padding:34px 38px 24px;background:var(--cream)!important;color:#221f1b!important;display:flex;flex-direction:column}.panel h2{font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:25px;letter-spacing:-.01em;margin:0 0 4px;color:#221f1b!important}.panel .sub{color:#6b665c!important;font-size:14.5px;margin:0 0 22px}.panel-body{flex:1}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.opt-card{border:1px solid #d9d2c0;background:#fff!important;border-radius:3px;padding:14px;display:flex;gap:12px;align-items:center;cursor:pointer;transition:border-color .15s ease,transform .1s ease;text-align:left}.opt-card:hover{border-color:var(--gold)!important}.opt-card.selected{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold);background:#fffdf8!important}.opt-card .name{font-weight:600;font-size:15px;margin-bottom:2px}.opt-card .meta{font-size:12.5px;color:#7a7468!important;line-height:1.4}.img-ph{background:repeating-linear-gradient(135deg,#eee7d5,#eee7d5 7px,#e6ddc6 7px,#e6ddc6 14px)!important;border:1px dashed #c3baa0;display:flex;align-items:center;justify-content:center;color:#a79f8a!important;flex-shrink:0}.img-ph svg{width:36%;height:36%}.branch-thumb{width:74px;height:56px;border-radius:3px}.svc-icon{width:42px;height:42px;border-radius:3px;margin-bottom:2px}.cats{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.cat-pill{border:1px solid #d9d2c0;background:#fff!important;border-radius:20px;padding:6px 14px;font-size:13px;cursor:pointer;color:#4a4640!important}.cat-pill.active{background:var(--black)!important;color:var(--gold)!important;border-color:var(--black)!important}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.staff-card{border:1px solid #d9d2c0;background:#fff!important;border-radius:3px;overflow:hidden;cursor:pointer;text-align:center;padding-bottom:12px}.staff-card:hover{border-color:var(--gold)!important}.staff-card.selected{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold);background:#fffdf8!important}.staff-photo{width:100%;aspect-ratio:1 / 1;border-radius:0}.staff-name{font-weight:600;font-size:14px;margin-top:10px;padding:0 6px}.staff-meta{font-size:11.5px;color:#7a7468!important;margin-top:2px;padding:0 8px}.staff-notice{font-size:11.5px;font-weight:700;color:var(--err)!important;margin-top:4px;padding:0 8px}.svc-cat-group{margin-bottom:22px}.svc-cat-group:last-child{margin-bottom:0}.svc-cat-heading{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gold)!important;margin-bottom:12px}.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.svc-card{border:1px solid #d9d2c0;background:#fff!important;border-radius:3px;padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:8px}.svc-card:hover{border-color:var(--gold)!important}.svc-card.selected{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold);background:#fffdf8!important}.svc-title{font-weight:700;font-size:15.5px}.svc-desc{font-size:12.5px;color:#7a7468!important;line-height:1.45;flex:1}.svc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.svc-dur{font-size:11.5px;color:#8f8a7d!important}.price-tag{background:var(--black)!important;color:var(--gold)!important;font-weight:600;font-size:13px;padding:5px 11px;border-radius:3px;white-space:nowrap}.dt-wrap{display:flex;gap:22px}.cal{flex:1.1}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head button{background:none!important;border:none;font-size:18px;cursor:pointer;color:#4a4640!important}.cal-head .m{font-weight:600;font-size:15px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-dow{text-align:center;font-size:11px;color:#9a9484!important;padding-bottom:4px}.cal-day{text-align:center;padding:9px 0;font-size:13.5px;border-radius:3px;cursor:pointer;color:#3a362f!important}.cal-day.disabled{color:#cac4b6!important;cursor:default}.cal-day:not(.disabled):hover{background:#eee7d6!important}.cal-day.selected{background:var(--black)!important;color:var(--gold)!important;font-weight:700}.slots{flex:.9}.slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:320px;overflow-y:auto;padding-right:4px}.slot{border:1px solid #d9d2c0;background:#fff!important;border-radius:3px;padding:9px 0;text-align:center;font-size:13.5px;cursor:pointer}.slot:hover{border-color:var(--gold)!important}.slot.selected{background:var(--black)!important;color:var(--gold)!important;border-color:var(--black)!important}.slot.taken{color:#cac4b6!important;text-decoration:line-through;cursor:default;background:#f3efe4!important}.slot .slot-sub{font-size:11.5px;color:#7a7468;margin-top:2px;line-height:1.2}.slot.selected .slot-sub{color:var(--gold)}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #e2dccb}.cart-item .ci-name{font-weight:600;font-size:15px}.cart-item .ci-meta{font-size:12.5px;color:#7a7468!important;margin-top:2px}.cart-total{display:flex;justify-content:space-between;padding-top:16px;font-weight:700;font-size:16px}.add-svc{background:none!important;border:1px solid var(--black);color:var(--black)!important;padding:8px 14px;border-radius:3px;font-size:13px;cursor:pointer}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#3a362f!important}.field input,.field textarea{width:100%;border:1px solid #d9d2c0;border-radius:3px;padding:10px 12px;font-size:14.5px;font-family:'Source Sans 3',sans-serif;background:#fff!important;color:#221f1b!important}.field textarea{resize:vertical;min-height:70px}.field input::placeholder,.field textarea::placeholder{color:#8a8478!important;opacity:1!important}.field.err input{border-color:var(--err)!important}.field .errmsg{color:var(--err)!important;font-size:12px;margin-top:4px;display:none}.field.err .errmsg{display:block}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sum-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e2dccb;font-size:14.5px}.sum-row .k{color:#7a7468!important}.sum-row .v{font-weight:600;text-align:right}.sum-note{background:#fffaf0!important;border:1px solid #e9dcb8;border-radius:3px;padding:10px 12px;font-size:12.5px;color:#8a6a1f!important;margin-top:16px}.footer-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid #e2dccb}.btn{border:none;border-radius:3px;padding:11px 22px;font-size:14px;font-weight:600;cursor:pointer;font-family:'Source Sans 3',sans-serif}.btn-primary{background:var(--black)!important;color:var(--gold)!important}.btn-primary:disabled{background:#c9c3b5!important;color:#8f8a7d!important;cursor:not-allowed}.btn-ghost{background:none!important;color:#4a4640!important}.confirm{text-align:center;padding:40px 10px}.confirm .ring{width:64px;height:64px;border-radius:50%;background:var(--black)!important;color:var(--gold)!important;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:28px}.confirm h2{margin-bottom:6px;color:#221f1b!important}.confirm .bookid{color:#7a7468!important;font-size:13px;margin-bottom:22px}.confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:520px;margin:0 auto;text-align:center}.confirm-grid .k{font-size:11.5px;color:#9a9484!important;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.confirm-grid .v{font-weight:600;font-size:14px}@media (max-width:700px){body{padding:16px 8px 40px}.card{flex-direction:column;min-height:0}.rail{width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:18px;padding:14px 16px;border-right:none;border-bottom:1px solid var(--line)}.rail-step{flex-direction:column;align-items:center;gap:5px;flex-shrink:0;width:56px;padding:0;font-size:11px;text-align:center}.rail-step .label{display:none;white-space:nowrap}.rail-step.active .label{display:block}.panel{padding:22px 18px 18px}.panel h2{font-size:21px}.grid,.svc-grid{grid-template-columns:1fr}.staff-grid{grid-template-columns:repeat(2,1fr)}.dt-wrap{flex-direction:column}.two-col{grid-template-columns:1fr}.confirm-grid{grid-template-columns:1fr}.footer-nav{flex-direction:column-reverse;align-items:stretch;gap:10px}.footer-nav .btn{width:100%;text-align:center}}@media (max-width:420px){.staff-grid{grid-template-columns:1fr 1fr;gap:10px}.opt-card{padding:11px;gap:10px}.branch-thumb{width:60px;height:46px}.cal-day{padding:7px 0;font-size:12.5px}.slots-grid{max-height:260px}}@media (max-width:700px){.elementor-container:has(#sb-booking-widget),.elementor-column:has(#sb-booking-widget),.elementor-widget-wrap:has(#sb-booking-widget),.elementor-widget-container:has(#sb-booking-widget),.elementor-shortcode:has(#sb-booking-widget){width:100%!important;max-width:100%!important}}@media (max-width:700px){#sb-booking-widget{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0!important;box-sizing:border-box!important}}