/* Free-session request (contact page). Uses the site's own tokens so it follows the ivory theme. */
.bk-card{border:1px solid var(--line);background:var(--panel);border-radius:6px;overflow:hidden}
.bk-head{display:flex;flex-direction:column;gap:8px;padding:26px 30px;border-bottom:1px solid var(--line)}
.bk-head .step{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim)}
.bk-head .step::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}
.bk-head h3{font-family:var(--f-display);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.2;margin:0;color:var(--bone)}
.bk-body{padding:26px 30px 30px}
.bk-label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim);margin:0 0 12px}
.bk-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:18px}
.bk-day{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:64px;padding:10px 12px;border:1px solid var(--line-2);border-radius:6px;background:transparent;color:var(--bone);cursor:pointer;font:inherit}
.bk-day .dow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim)}
.bk-day .num{font-family:var(--f-display);font-size:24px;line-height:1.1}
.bk-day .mon{font-size:11px;color:var(--bone-dim)}
.bk-day.on,.bk-time.on{border-color:var(--orange);background:var(--orange);color:#fff}
.bk-day.on .dow,.bk-day.on .mon{color:rgba(255,255,255,.85)}
.bk-times{display:grid;gap:8px;margin-bottom:12px}
.bk-time{display:flex;align-items:center;gap:16px;text-align:left;padding:13px 16px;border:1px solid var(--line-2);border-radius:6px;background:transparent;color:var(--bone);cursor:pointer;font:inherit}
.bk-time .t{font-family:var(--f-display);font-size:20px;min-width:56px}
.bk-time .n{font-size:15px}
.bk-time.other{border-style:dashed}
.bk-day:focus-visible,.bk-time:focus-visible,.bk-input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.bk-pick{min-height:22px;margin:4px 0 22px;font-size:14px;color:var(--bone);font-weight:500}
.bk-muted{color:var(--bone-dim);font-size:14px;margin:0}
.bk-fields{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.bk-fields .full{grid-column:1/-1}
@media(max-width:560px){.bk-fields{grid-template-columns:1fr}.bk-body{padding:22px 20px 26px}.bk-head{padding:22px 20px}}
.bk-field label{display:block;font-size:12px;color:var(--bone-dim);margin-bottom:6px}
.bk-input{width:100%;padding:12px 14px;border:1px solid var(--line-2);border-radius:6px;background:#fff;color:var(--bone);font:inherit;font-size:15px}
textarea.bk-input{min-height:84px;resize:vertical}
.bk-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--bone-dim);line-height:1.5}
.bk-consent input{margin-top:3px}
.bk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-err{min-height:20px;color:#a3321f;font-size:14px;margin:12px 0 0}
.bk-done{padding:34px 30px}
.bk-done h3{font-family:var(--f-display);font-weight:500;font-size:clamp(22px,2.4vw,30px);margin:0 0 10px;color:var(--bone)}
.bk-done p{color:var(--bone-dim);margin:0 0 8px}
.book-grid>*{min-width:0}
.bk-card,.bk-body,.bk-days{max-width:100%;min-width:0}
