/* BookingNow One Page 2026 — scoped, preserves ten existing theme classes */
html{scroll-behavior:smooth;scroll-padding-top:120px}body{overflow-x:hidden}#home,#about,#services,#hours,#contact,#booking{scroll-margin-top:125px}
.header{position:sticky!important;top:0!important;z-index:1000!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(0,0,0,.09)}
.header-inner{min-height:64px}.bn-public-nav{display:flex!important;align-items:center;justify-content:center;gap:clamp(8px,2vw,26px);flex-wrap:wrap;padding:10px 20px!important}.bn-public-nav a{font-weight:750!important;transition:opacity .2s,transform .2s}.bn-public-nav a:hover{transform:translateY(-2px)}.bn-nav-book{border-radius:99px!important;padding:11px 22px!important}
.wrap{max-width:1280px!important;margin:auto}.hero{border-radius:26px!important;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.10)}.hero-image{min-height:300px!important}.hero-content h1{font-size:clamp(32px,5vw,64px)!important;letter-spacing:-.045em!important;line-height:1.08!important}.business-overview,.bn-extra-info,.booking{margin-top:38px!important;border-radius:25px!important}.service-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important;gap:15px!important}.service-card{border-radius:18px!important;transition:transform .2s,box-shadow .2s!important}.service-card:hover{transform:translateY(-4px)!important;box-shadow:0 15px 35px rgba(0,0,0,.1)!important}.service-card.selected{outline:3px solid var(--bn-custom-accent,#09aaa6)!important;outline-offset:1px}.times{display:flex;flex-wrap:wrap;gap:9px}.time{border-radius:12px!important;min-width:70px!important;padding:12px!important}.time.selected{background:var(--bn-custom-button,#087963)!important;color:white!important}
/* Randevu-style booking wizard without altering PHP booking logic */
#booking-form.bn-wizard-ready .steps{display:flex!important;justify-content:space-between;gap:8px;margin-bottom:22px}#booking-form .step{opacity:.48;transition:opacity .2s}#booking-form .step.bn-active{opacity:1;font-weight:900}#booking-form .bn-wizard-panel[hidden]{display:none!important}.bn-wizard-panel{animation:bn-in .2s ease}.bn-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0}.bn-wizard-next,.bn-wizard-back,.bn-open-details{border:0;cursor:pointer;border-radius:14px;padding:14px 23px;font:inherit;font-weight:800}.bn-wizard-next,.bn-open-details{background:var(--bn-custom-button,#087963);color:#fff}.bn-wizard-back{background:rgba(127,127,127,.13);color:inherit}.bn-wizard-heading{font-size:clamp(22px,3vw,32px);font-weight:900;margin:12px 0 18px}.bn-wizard-note{opacity:.72;margin-bottom:14px}.bn-wizard-panel .fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bn-wizard-panel .fields label{min-width:0}.bn-wizard-panel .fields .wide,.bn-wizard-panel .fields .time-field{grid-column:1/-1}.bn-wizard-panel .fields input,.bn-wizard-panel .fields select{width:100%;box-sizing:border-box}.bn-mobile-book{z-index:1050!important}
.bn-wizard-modal{position:fixed;inset:0;z-index:2000;background:rgba(15,18,25,.7);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(5px)}.bn-wizard-modal[hidden]{display:none!important}.bn-wizard-dialog{width:min(100%,520px);max-height:90vh;overflow:auto;background:#fff;color:#20252b;border-radius:24px;padding:clamp(20px,4vw,36px);box-shadow:0 30px 80px rgba(0,0,0,.3)}.bn-wizard-dialog h2{font-size:27px;margin:0 0 8px}.bn-wizard-dialog p{color:#64707d}.bn-wizard-dialog label{display:block;margin:12px 0;font-weight:700}.bn-wizard-dialog input{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d5dce4;border-radius:12px;padding:14px;background:white;color:#20252b;font:inherit}.bn-wizard-dialog .submit{width:100%;margin-top:14px;border-radius:14px}.bn-wizard-dialog .bn-wizard-back{margin-top:10px}.bn-booking-modal[hidden]{display:none!important}@keyframes bn-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.header{top:0!important}.header-inner{min-height:52px}.bn-public-nav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;scrollbar-width:none;gap:7px!important;padding:8px 12px!important}.bn-public-nav a{white-space:nowrap;font-size:12px!important;padding:8px 10px!important}.bn-public-nav::-webkit-scrollbar{display:none}.wrap{padding-left:12px!important;padding-right:12px!important}.hero{border-radius:18px!important}.hero-image{min-height:220px!important}.business-overview,.bn-extra-info,.booking{margin-top:20px!important}.service-grid{grid-template-columns:1fr!important}.bn-wizard-panel .fields{grid-template-columns:1fr!important}.bn-wizard-panel .fields .wide,.bn-wizard-panel .fields .time-field{grid-column:auto}.bn-wizard-actions{flex-wrap:wrap}.bn-wizard-next{flex:1}.bn-wizard-modal{align-items:flex-end;padding:0}.bn-wizard-dialog{width:100%;max-height:93vh;border-radius:24px 24px 0 0}.bn-mobile-book{bottom:12px!important}}

/* Accessibility and wizard cleanup */
#booking-form.bn-wizard-ready > .fields[hidden],#booking-form.bn-wizard-ready .service-select-label[hidden],#booking-form.bn-wizard-ready .bn-wizard-panel[hidden],#booking-form.bn-wizard-ready .bn-wizard-back[hidden]{display:none!important}
#booking-form.bn-wizard-ready .bn-wizard-panel .fields{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
#booking-form.bn-wizard-ready .bn-wizard-panel .fields label,#booking-form.bn-wizard-ready .bn-wizard-panel .fields .field-label{color:#f1f5f9!important;font-weight:800!important;opacity:1!important}
#booking-form.bn-wizard-ready .bn-wizard-note{color:#cbd5e1!important;opacity:1!important}
#booking-form.bn-wizard-ready .times .muted,#booking-form.bn-wizard-ready .bn-availability-message{color:#d1e5e9!important;font-size:15px!important;line-height:1.5!important}
#booking-form.bn-wizard-ready .bn-wizard-panel .fields input,#booking-form.bn-wizard-ready .bn-wizard-panel .fields select{background:#fff!important;color:#17212d!important;border:1px solid #b7c9d2!important;border-radius:12px!important;min-height:50px}
#booking-form.bn-wizard-ready .time-field{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}
#booking-form.bn-wizard-ready .bn-wizard-actions{border:0!important;background:transparent!important;box-shadow:none!important}
.bn-availability-message{width:100%;margin:0 0 12px}.bn-availability-title{display:block;width:100%;color:#fff;margin:8px 0}.bn-availability-choices{display:flex;flex-wrap:wrap;gap:9px;width:100%}.bn-date-choice{background:#e6f6f3;color:#0c544c;border:1px solid #70bfb3;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.bn-date-choice:hover{background:#c9eee8}
