/* Client booking actions: cancel, reschedule, rider, lookup (WP4.4b). Tokens only (both themes through tokens.css), mobile first,
   44 px targets; shares .facts .num .legal .docs .note of booking.css. */
.bka { padding-block-end: 1rem; }
.bka h2 { font-size: 1.25rem; margin-block-end: .25rem; }
.bka-preview { border-inline-start: 6px solid var(--accent); }
.bka-refund dd strong, .bka-new dd strong { font-size: 1.125rem; }
.bka-next { margin: 0; padding-inline-start: 1.25rem; }
.bka-next li { margin-block: .375rem; }
.bka-day { max-inline-size: 26rem; }
.bka-daynav .btn { min-block-size: 2.75rem; }
.bka-list { list-style: none; padding: 0; margin: 0; }
.bka-list li { padding-block: .5rem; min-block-size: 2.75rem; border-block-end: 1px solid var(--divider); }
.bka-slots { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; grid-template-columns: 1fr; }
@media (min-width: 40em) { .bka-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bka-slot { display: flex; gap: .625rem; align-items: flex-start; padding: .625rem .75rem; min-block-size: 2.75rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); }
.bka-slot input { inline-size: 1.25rem; block-size: 1.25rem; margin-block-start: .125rem; flex: none; }
.bka-slot label { display: grid; gap: .125rem; cursor: pointer; }
.bka-slot.is-other-price { background: var(--surface); border-style: dashed; }
.bka-slot.is-other-price label { cursor: not-allowed; }
.bka .slot-time { font-weight: 700; font-variant-numeric: tabular-nums; }
.bka .slot-note { display: block; font-size: .875rem; }
.bka-slot:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
.bka-rider-text { padding-block: .5rem; }
.bka-checks { display: grid; gap: .25rem 1rem; grid-template-columns: 1fr; }
@media (min-width: 40em) { .bka-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bka-files li { justify-content: space-between; }
.bka-inline { display: inline; margin: 0; }
.bka-inline .btn-link { min-block-size: 2.75rem; }
@media (forced-colors: active) { .bka-preview { border-inline-start-color: CanvasText; } .bka-slot { border-color: CanvasText; } }
@media (prefers-reduced-motion: no-preference) { .bka-slot { transition: border-color .15s; } }
