.lesson-booking-page{min-height:100vh;padding-bottom:60px}.lesson-wordmark{font-size:24px;font-weight:800;color:#183426;letter-spacing:-1px}.lesson-preview-toolbar{max-width:1180px;margin:20px auto;padding:16px;border:1px solid #d6dfd0;border-radius:12px;background:#f3f7ed;display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;color:#183426}.lesson-preview-toolbar>span{font-size:14px}.lesson-preview-toolbar label{display:grid;gap:6px;font-size:13px}.lesson-preview-toolbar select{padding:10px;background:white;color:#183426;border:1px solid #b9c9bd;border-radius:8px;font:inherit;max-width:100%}.lesson-booking-shell{max-width:1100px;margin:auto;padding:0 20px}.lesson-booking-steps{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.lesson-booking-page button{font:inherit;cursor:pointer}.lesson-booking-panel a,.lesson-booking-panel button,.lesson-booking-steps button{padding:12px 16px;border:1px solid #b9c9bd;border-radius:var(--button-radius);background:white;color:#183426;text-decoration:none}.lesson-booking-page button:disabled{opacity:.5;cursor:default}.lesson-booking-panel button.lesson-confirm,.lesson-booking-steps [aria-current=step]{background:#d5f36b;border-color:#7a9b2d}.lesson-booking-panel{padding:28px;border:1px solid #d4dfd6;border-radius:16px;background:#fff;color:#183426;line-height:1.5}.lesson-booking-panel h2{margin-top:0}.lesson-booking-panel h3{margin:20px 0 12px}.lesson-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}.lesson-choice-grid button{display:grid;gap:8px;text-align:left;min-height:120px}.lesson-choice-grid button:hover,.lesson-choice-grid button[aria-pressed=true]{border-color:#315b3c;background:#f3f7ed}.lesson-choice-grid span{font-size:14px}.lesson-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:20px}.lesson-booking-panel>label{display:grid;gap:8px;max-width:250px}.lesson-booking-panel input{padding:12px;border:1px solid #b9c9bd;border-radius:8px;color:#183426;background:white;font:inherit;box-sizing:border-box;min-width:0;width:100%}.lesson-checkout-signin{display:flex;gap:12px;flex-wrap:wrap;background:#f3f7ed;padding:20px;border-radius:12px}.lesson-checkout-signin h3,.lesson-checkout-signin p{width:100%}.lesson-booking-error{padding:16px;background:#fff1ed;color:#832b1d;border-radius:10px}.lesson-booking-page :is(button,a,input,select):focus-visible{outline:3px solid #368545;outline-offset:3px}@media(max-width:650px){.lesson-preview-toolbar{margin:12px}.lesson-booking-panel{padding:20px}.lesson-preview-toolbar label{width:100%}}.lesson-booking-page .customer-header .lesson-wordmark{color:#f5f7f2}.lesson-booking-panel h2{font-size:24px;font-weight:600;line-height:1.3;margin-bottom:16px}.lesson-booking-panel h3{font-size:18px;font-weight:600}.lesson-booking-panel>p{margin:12px 0}.lesson-booking-panel>p>a{display:inline-flex}.lesson-time-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start;color:var(--c-ink)}.lesson-time-layout .booking-card-main>p{margin:16px 0;color:var(--c-muted)}.lesson-time-layout .booking-summary .customer-primary{margin-top:24px}@media(max-width:900px){.lesson-time-layout{grid-template-columns:minmax(0,1fr)}.lesson-time-layout .booking-summary{position:static}}.lesson-booking-page .lesson-date-picker .booking-calendar-choice{flex-direction:row;gap:16px;text-align:left}.lesson-calendar-icon{width:36px;height:36px;flex:0 0 36px;color:var(--c-green,#183426);background:#eef6d6;border-radius:8px;padding:8px;box-sizing:content-box}.lesson-calendar{max-width:420px;background:white;border:1px solid #b9c9bd;border-radius:14px;padding:16px;margin-top:14px;box-shadow:0 8px 24px #18342612;color:#183426}.lesson-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lesson-calendar-heading h3{font-size:17px;font-weight:600;margin:0}.lesson-booking-page .lesson-calendar button{border:1px solid transparent;border-radius:var(--button-radius);background:white;color:#183426;padding:0;min-height:40px;min-width:40px;font-size:15px}.lesson-calendar table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px}.lesson-calendar th{font-size:12px;font-weight:500;color:#5d6a60;padding:5px 0;text-align:center}.lesson-calendar td{text-align:center;padding:0}.lesson-booking-page .lesson-calendar td button{width:100%;min-width:0}.lesson-booking-page .lesson-calendar button:hover:enabled{background:#eef6d6;border-color:#315b3c}.lesson-booking-page .lesson-calendar button[aria-pressed=true]:enabled{background:#d5f36b;border-color:#315b3c;font-weight:600}.lesson-booking-page .lesson-calendar button:disabled{color:#92998f;background:#f0f1ee;opacity:1;cursor:not-allowed}.lesson-calendar p{font-size:12px;line-height:1.5;color:#5d6a60;margin:12px 0}.lesson-booking-page .lesson-calendar .lesson-calendar-close{border-color:#b9c9bd;padding:8px 14px;font-size:13px}.lesson-date-unavailable{display:block;margin-top:5px}.lesson-booking-panel .lesson-date-picker .booking-date-actions>button{padding:16px}@media(max-width:420px){.lesson-calendar{padding:10px}.lesson-booking-page .lesson-calendar button{min-height:36px;min-width:32px}.lesson-calendar table{border-spacing:2px}}.lesson-booking-panel>label.lesson-recurring-consent{display:flex;align-items:flex-start;gap:12px;max-width:none;margin:20px 0;line-height:1.6;font-size:15px}.lesson-recurring-consent input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:#315b3c}.lesson-program-cancel-confirm{padding:20px;background:#f3f7ed;border-radius:12px;margin-top:16px}.lesson-program-cancel-confirm button+button{margin-left:12px}.lesson-booking-shell>.lesson-booking-panel+.lesson-booking-panel{margin-top:20px}.lesson-purchase-success .lesson-success-check{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#d5f36b;color:#183426;font-size:32px;font-weight:600;margin-bottom:20px}.lesson-success-details{background:#f3f7ed;border-radius:12px;padding:16px 20px;margin:24px 0}.lesson-success-details h3{margin-top:0}.lesson-success-details p{margin:8px 0}.lesson-success-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.lesson-booking-panel .lesson-success-actions a{display:inline-flex;align-items:center}.lesson-booking-panel .lesson-success-actions .lesson-confirm{background:#d5f36b;border-color:#7a9b2d}.lesson-wordmark{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}.staff-lesson-customer{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px max(20px,calc((100vw - 1100px)/2));background:#f3f7ed;color:#183426;border-bottom:1px solid #d4dfd6}.staff-lesson-customer button{font:inherit;padding:8px 12px;border:1px solid #b9c9bd;border-radius:var(--button-radius);background:#fff;cursor:pointer}.staff-lesson-embedded.customer-page{min-height:0;background:transparent}.staff-lesson-embedded .lesson-booking-shell{max-width:none;margin:0;padding:16px 0}.staff-lesson-embedded .lesson-booking-panel{padding:16px;border-radius:8px}.staff-lesson-embedded .lesson-booking-steps{gap:6px;flex-wrap:wrap;margin-bottom:16px}.staff-lesson-embedded .lesson-booking-steps button{padding:8px;font-size:14px;min-height:38px}.staff-lesson-embedded .lesson-choice-grid,.staff-lesson-embedded .lesson-time-layout{grid-template-columns:minmax(0,1fr)}.staff-lesson-embedded .booking-card-main,.staff-lesson-embedded .booking-summary{padding:16px;position:static}.staff-lesson-embedded .lesson-booking-panel h1{font-size:22px}.booking-drawer .staff-lesson-customer{padding:16px 0;background:transparent;gap:12px;flex-wrap:wrap}.booking-drawer .reservation-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-booking-page .staff-instructor-override{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:14px;border:1px solid #b9c9bd;border-radius:8px;background:#f3f7ed;max-width:none}.lesson-booking-page .staff-instructor-override input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0}.staff-instructor-override span{display:grid;gap:6px}.staff-instructor-override small{font-size:13px;font-weight:400;line-height:1.5;color:#526158}.staff-override-notice{padding:12px;background:#f3f7ed;border-radius:8px}.lesson-booking-panel>label.staff-lesson-customer-search{max-width:none}.lesson-booking-panel .staff-lesson-customer-search input{font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:normal;text-transform:none}.lesson-balance-signin{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.lesson-balance-signin>h2,.lesson-balance-signin>p{margin:0}.lesson-balance-signin>p{margin-top:8px}.lesson-balance-signin>a,.lesson-balance-signin>button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;max-width:320px;min-height:48px;text-align:center}