.lb-booking{max-width:1080px;margin:0 auto;padding:24px 20px 64px;color:#253c34;font-size:18px;line-height:1.55;letter-spacing:0}
.lb-booking *{box-sizing:border-box;letter-spacing:0}
.lb-back{display:inline-block;margin-bottom:24px;color:#245943;text-decoration:underline}
.lb-notice{padding:16px 20px;border-left:4px solid #8b6740;background:#f2f0ea;color:#443d32}
.lb-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:32px}
.lb-booking h2{font-size:23px;line-height:1.3;margin:0;font-weight:600}
.lb-month-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:20px}
.lb-month-nav h2{text-align:center;text-transform:capitalize}
.lb-weekdays,.lb-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.lb-weekdays{font-size:15px;margin-bottom:8px;color:#526057}
.lb-booking button{font:inherit;min-height:44px;padding:8px;border:1px solid #aebfb4;border-radius:4px;color:#244a36;background:#eef5ee;cursor:pointer;box-shadow:none;line-height:1.2}
.lb-days button{aspect-ratio:1;min-width:0;width:100%;padding:4px}
.lb-booking button:hover:not(:disabled){background:#dcebdc}
.lb-booking button:disabled{opacity:1;background:#f4f4f4;border-color:transparent;color:#929892;cursor:default}
.lb-booking button[aria-pressed=true]{background:#28513c;color:#fff;border-color:#28513c}
.lb-booking :focus-visible{outline:3px solid #b25772;outline-offset:3px}
.lb-times{display:flex;flex-wrap:wrap;gap:10px;min-height:50px;margin:16px 0 24px}
.lb-times button{min-width:80px}
.lb-name{display:block;font-weight:600;margin:20px 0 12px}
.lb-name input{display:block;width:100%;min-height:48px;padding:10px;margin-top:8px;font:inherit;border:1px solid #9caea1;border-radius:4px;background:#fff;color:#202e25}
.lb-caption{font-size:15px;color:#536157;line-height:1.5;margin-top:16px}
.lb-booking .lb-submit{width:100%;background:#28513c;color:#fff;padding:14px 18px;font-weight:600}
.lb-booking .lb-submit:hover:not(:disabled){background:#1d3f2f}
.lb-details [data-summary]{font-size:16px;font-weight:600;overflow-wrap:anywhere}
@media(max-width:760px){.lb-layout{grid-template-columns:minmax(0,1fr);gap:32px}.lb-booking{padding:20px 12px 48px}.lb-booking h2{font-size:20px}.lb-days button{min-height:40px}.lb-notice{padding:12px;font-size:16px}}

.lb-price-box{margin:0 0 20px;padding:14px 16px;border:1px solid rgba(139,103,64,.3);background:rgba(242,240,234,.72)}
.lb-price-box h3,.lb-price-list h3{margin:0 0 8px;font-size:17px;font-weight:600}
.lb-price-box ul,.lb-price-list ul{list-style:none;margin:0;padding:0}
.lb-price-box li,.lb-price-flat li,.lb-price-grid li{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-bottom:1px solid rgba(139,103,64,.14);font-size:15px}
.lb-price-box li:last-child,.lb-price-flat li:last-child,.lb-price-grid li:last-child{border-bottom:0}
.lb-price-box strong,.lb-price-list strong{white-space:nowrap;font-weight:650}
.lb-price-list{margin-top:50px;padding-top:28px;border-top:1px solid rgba(139,103,64,.3)}
.lb-price-list>h2{margin-bottom:20px}
.lb-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 42px}
.lb-price-grid article{min-width:0}
.lb-price-subtitle{margin:28px 0 8px!important}
.lb-price-flat{max-width:720px}
@media(max-width:760px){.lb-price-grid{grid-template-columns:minmax(0,1fr);gap:16px}.lb-price-list{margin-top:36px}}

/* Preview for the back massage only. */
body.lb-back-preview,body.lb-back-preview .site-wrapper,body.lb-back-preview #primary,body.lb-back-preview main{background:#d9cfc2!important;color:#3f4541!important}
body.lb-back-preview .site-header,body.lb-back-preview .page-header,body.lb-back-preview .entry-title,body.lb-back-preview .post-edit-link{display:none!important}
body.lb-back-preview .container,body.lb-back-preview #primary{width:100%!important;max-width:none!important}
body.lb-back-preview .lb-booking{max-width:1200px;padding:42px 36px 80px;color:#3f4541;font:400 16px/1.6 Manrope,Arial,sans-serif}
body.lb-back-preview .lb-back{color:#5d6059;text-decoration:none;font-size:13px;margin-bottom:44px}
body.lb-back-preview .lb-preview-title{color:#414742!important;font:400 56px/1.1 Georgia,serif!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 26px}
body.lb-back-preview .lb-notice{max-width:850px;padding:0 0 0 16px;margin:0 0 14px;background:transparent;color:#515750;border-left:2px solid #8a7959;font-size:14px}
body.lb-back-preview .lb-booking>p:not(.lb-notice){font-size:14px;color:#62665e;margin-bottom:22px}
body.lb-back-preview .lb-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:72px;margin-top:40px}
body.lb-back-preview .lb-booking h2,body.lb-back-preview .lb-price-box h3{color:#414742!important;font:400 24px/1.2 Georgia,serif!important;text-transform:none!important;letter-spacing:0!important}
body.lb-back-preview .lb-month-nav h2{font-size:25px!important}
body.lb-back-preview .lb-weekdays,body.lb-back-preview .lb-caption{color:#62665e}
body.lb-back-preview .lb-booking button{border:1px solid rgba(64,71,65,.23);background:transparent;color:#414742;border-radius:0}
body.lb-back-preview .lb-booking button:hover:not(:disabled){background:#c4b6a2}
body.lb-back-preview .lb-booking button:disabled{background:transparent;color:#9c978b;border-color:transparent}
body.lb-back-preview .lb-booking button[aria-pressed=true]{background:#4b514a;color:#f4eadd;border-color:#4b514a}
body.lb-back-preview .lb-price-box{padding:0 0 12px;border:0;border-bottom:1px solid #aaa292;background:transparent}
body.lb-back-preview .lb-name{font-size:14px;font-weight:500}
body.lb-back-preview .lb-name input{background:rgba(255,255,255,.25);color:#343a35;border:1px solid #aaa292;border-radius:0}
body.lb-back-preview .lb-booking .lb-submit{background:#4b514a;color:#f4eadd;border:0;margin-top:8px}
body.lb-back-preview .lb-booking .lb-submit:disabled{background:#b0a99d;color:#716f68}
body.lb-back-preview .lb-booking :focus-visible{outline:2px solid #775e38;outline-offset:3px}
@media(max-width:760px){body.lb-back-preview .lb-booking{padding:28px 20px 50px}body.lb-back-preview .lb-preview-title{font-size:38px!important}body.lb-back-preview .lb-layout{grid-template-columns:minmax(0,1fr);gap:34px}}

body.lb-back-preview .site-wrapper{margin:0!important}
body.lb-back-preview .entry-content{margin-top:0!important}
body.lb-back-preview .lb-layout .lb-calendar{order:2}
body.lb-back-preview .lb-layout .lb-details{order:1}
@media(max-width:760px){body.lb-back-preview .lb-layout .lb-calendar{order:1}body.lb-back-preview .lb-layout .lb-details{order:2}}

/* Prevent the old design flashing while the booking script starts. */
@keyframes lb-booking-fallback{to{visibility:visible}}
body:has(.lb-booking):not(.lb-booking-ready){visibility:hidden;animation:lb-booking-fallback 2s step-end forwards}

body.lb-back-preview .lb-details>h2{float:left;max-width:65%;margin:0 12px 8px 0}
body.lb-back-preview .lb-price-box h3{text-align:right;margin:0 0 8px}
body.lb-back-preview .lb-price-box ul{clear:both}

body.lb-back-preview .lb-details{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-content:start}
body.lb-back-preview .lb-details>*{grid-column:1 / -1}
body.lb-back-preview .lb-details>h2{grid-column:1;grid-row:1;float:none;max-width:none;margin:0 0 8px}
body.lb-back-preview .lb-price-box{display:contents}
body.lb-back-preview .lb-price-box h3{grid-column:2;grid-row:1;align-self:start}
body.lb-back-preview .lb-price-box ul{grid-column:1 / -1;border-bottom:1px solid #aaa292;padding-bottom:12px;margin-bottom:20px}

/* Align the duration and price headings with the calendar month. */
@media (min-width:761px){
  body.lb-back-preview .lb-details{grid-template-rows:minmax(44px, auto);align-items:center}
  body.lb-back-preview .lb-details>h2,body.lb-back-preview .lb-price-box h3{align-self:center;margin:0}
}

/* Reduce the empty space before contact details until a date is selected. */
body.lb-back-preview .lb-times:empty{display:none}
body.lb-back-preview .lb-times:empty + .lb-name{margin-top:12px}
