.booking-page{font-size:18px;line-height:1.65}
.booking-page .eyebrow{font-size:.84rem;letter-spacing:.1em}
.booking-page .logo-link{width:280px;max-width:calc(100vw - 60px)}
.booking-page .insurance-note,.booking-page .course-pass-note p,.booking-page .offer-card>p,.booking-page .category-card small{font-size:1.125rem;line-height:1.65}
.booking-page .duration-button,.booking-page .button{font-size:1rem}
.movement-focus{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.movement-focus button{border:1px solid #60745a44;border-radius:999px;padding:10px 15px;font:inherit;font-size:.95rem;background:transparent;cursor:pointer}
.movement-focus button[aria-pressed=true]{background:#344033;color:white}
.coming-card{background:#eef1f2;border-style:dashed}
.training-package{border-top:1px solid #60745a33;margin-top:18px;padding-top:16px;font-weight:600}
@media(max-width:640px){.booking-page .site-header{min-height:104px}.booking-page .logo-link{width:250px;max-width:calc(100vw - 50px)}.booking-page .booking-panel{padding:23px 18px}}

.tone-training{background:linear-gradient(125deg,#eee3d2,#f7f3ec);border-color:#ab927455}
.training-package{border:1px solid #ab927466;border-radius:14px;background:#f6f4f1;padding:20px 22px;margin-top:20px}

/* October 15: aligned with the website, without the oversized per-card extras. */
.tone-training,.offer-card:nth-child(even).tone-training{background:linear-gradient(155deg,#e2e9dc 0%,#f3f7ef 40%,#fffefa 82%);border-color:#60745a2e;border-top:3px solid #60745a}
.category-card{padding:21px 22px;border-radius:16px;gap:18px}
.movement-card{display:block;cursor:default}
.movement-card:hover{transform:none;box-shadow:none}
.movement-card-heading{display:grid;grid-template-columns:65px minmax(0,1fr);align-items:center;gap:18px}
.movement-focus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.movement-focus button{display:flex;align-items:center;gap:10px;text-align:left;min-width:0;min-height:54px;padding:12px 15px;border-radius:12px;background:#fffefa;color:#344033;border:1px solid #60745a66;cursor:pointer}
.movement-focus button:hover{background:#edf3e6;border-color:#60745a}
.movement-focus button[aria-pressed=true]{background:#344033;color:#fffefa;border-color:#344033}
.movement-focus button>span:first-of-type{flex:1;min-width:0}
.choice-icon{width:23px;height:23px;flex-shrink:0}
.category-actions{margin:16px 0 0}
.service-list{gap:14px}
.offer-card{padding:21px 22px;border-radius:15px}
.offer-card h3{font-size:1.8rem;line-height:1.2;margin-top:6px}
.booking-page .offer-card>p:not(.eyebrow){margin-top:9px;line-height:1.55}
.duration-options{margin-top:16px}
.course-pass-note{background:#fffefa;border:1px solid #60745a2e;border-radius:14px;padding:22px;margin-top:18px}
.course-pass-note h3{font-size:1.7rem;margin-bottom:10px}
.booking-page .course-pass-note p{font-size:1rem;line-height:1.55;margin-top:9px}
.booking-page .course-pass-note .checkup-note{font-size:.95rem}
.abo-contact{text-decoration:underline;text-underline-offset:3px}
.trial-offer{background:linear-gradient(125deg,#e5edde 0%,#f3f7ef 65%,#fcfdf9 100%);border:1px solid #60745a2e;border-radius:14px;padding:22px;margin-top:18px}
.trial-band h3{font-size:1.7rem;margin-bottom:10px}
.trial-offer p{font-size:1rem;line-height:1.6;margin:0 0 15px}
.trial-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trial-button{background:#344033;color:#fff;width:100%;font-weight:600}
.trial-button:hover{background:#4e5a47}
.trial-button small{display:block;font-size:.94rem;font-weight:400;margin-top:5px}
@media(max-width:767px){.category-card{padding:19px 17px}.movement-card-heading{grid-template-columns:48px minmax(0,1fr);gap:14px}.offer-card{padding:19px 18px}}
@media(max-width:520px){.movement-focus,.trial-actions{grid-template-columns:1fr}.movement-focus button{min-height:50px}.course-pass-note,.trial-offer{padding:20px 18px}.trial-button{min-height:58px}}

/* October 15 evening: service choice goes straight to the month calendar. */
.category-card{text-decoration:none}
.category-card strong,.category-card small{text-decoration:none}
.trial-button{background:#60745a;color:#fffefa;border-color:#60745a}
.trial-button:hover{background:#52664c}
.trial-button small{color:#fffefa}
.calendar-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1fr);gap:28px;align-items:start;margin:28px 0}
.booking-calendar-panel{border:1px solid #60745a66;border-radius:18px;padding:20px 16px;background:#fffefa;min-width:0}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}
.calendar-heading h3{font-family:inherit;font-size:1rem;margin:0;text-align:center;font-weight:600}
.calendar-heading button{display:grid;place-items:center;min-width:36px;min-height:36px;background:none;border:0;border-radius:50%;font-size:1.7rem;color:#344033;cursor:pointer}
.calendar-heading button:hover:not(:disabled){background:#e5ebdf}
.calendar-heading button:disabled{opacity:.25;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.calendar-weekdays{font-size:.8rem;color:#697263;margin-bottom:9px}
.calendar-days button{width:100%;aspect-ratio:1;min-width:0;padding:0;display:grid;place-items:center;border:1px solid #60745a66;border-radius:50%;background:#fffefa;color:#344033;cursor:pointer;font:inherit;font-size:.9rem}
.calendar-days button:disabled{border-color:transparent;color:#bfc4bb;background:transparent;cursor:default}
.calendar-days button[aria-current=date]{font-weight:700}
.calendar-days button[aria-pressed=true]{background:#60745a;color:white;border-color:#60745a;outline:2px solid #60745a55;outline-offset:2px}
.calendar-days button:hover:not(:disabled){background:#e5ebdf;color:#344033}
.calendar-hint{font-size:.78rem;color:#697263;margin:17px 2px 0;line-height:1.5}
.calendar-times{min-width:0}
.calendar-times>#selected-day{margin:0 0 18px;font-size:.8rem;line-height:1.5}
.calendar-times .slot-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.calendar-times .slot-button{padding:10px 5px;min-height:46px;min-width:0;font-size:.96rem;border-radius:999px;background:transparent}
.calendar-times .slot-button.selected{background:#60745a;color:#fffefa;border-color:#60745a}
.calendar-times .empty-state{padding:22px 0;text-align:left}
.calendar-times .empty-state h3{font-size:1.45rem}
.calendar-times .empty-state p{font-size:1rem}
@media(max-width:1150px) and (min-width:761px){.calendar-layout{grid-template-columns:1fr;max-width:430px}.calendar-times .slot-times{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.calendar-layout{grid-template-columns:1fr;gap:24px}.booking-calendar-panel{width:100%;max-width:400px}.calendar-times .slot-times{grid-template-columns:repeat(3,minmax(0,1fr))}}
