/* Larkpane booking widget. Each site themes it by setting the --bk-* variables on #booking in its own CSS.
   Defaults sit in :where() so a site's #booking rule always wins, whatever the load order. */
:where(#booking){--bk-ink:#1A1A1A;--bk-paper:#FFFFFF;--bk-accent:#1F4FB5;--bk-on-accent:#FFFFFF;--bk-muted:#5E6470;--bk-line:#DDE1E7;
  --bk-soft:#F3F4F6;--bk-display:inherit;--bk-radius:6px;color:var(--bk-ink)}
#booking .bk-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
#booking .bk-days button{flex:none;min-width:96px;min-height:64px;padding:8px 12px;border:1.5px solid var(--bk-ink);border-radius:var(--bk-radius);
  background:var(--bk-paper);color:var(--bk-ink);cursor:pointer;text-align:left;font:inherit}
#booking .bk-days b{display:block;font-family:var(--bk-display);font-size:19px;line-height:1.1}
#booking .bk-days span{display:block;margin-top:4px;font-size:13px;color:var(--bk-muted)}
#booking .bk-days button[aria-selected="true"]{background:var(--bk-ink);color:var(--bk-paper)}
#booking .bk-days button[aria-selected="true"] span{color:inherit;opacity:.8}
#booking .bk-days button:disabled{border-color:var(--bk-line);color:var(--bk-muted);cursor:default;opacity:.7}
#booking .bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;margin-top:14px;min-height:64px}
#booking .bk-times button{min-height:62px;padding:10px 12px;border:0;border-radius:var(--bk-radius);background:var(--bk-accent);color:var(--bk-on-accent);
  cursor:pointer;text-align:left;font:inherit;transition:filter .15s}
#booking .bk-times button:hover{filter:brightness(1.08)}
#booking .bk-times b{display:block;font-family:var(--bk-display);font-size:21px;line-height:1.1;font-variant-numeric:tabular-nums}
#booking .bk-times span{display:block;margin-top:4px;font-size:13px;opacity:.85}
#booking .bk-times button.bk-last{filter:saturate(.6) brightness(.85)}
#booking .bk-times button[aria-pressed="true"]{outline:3px solid var(--bk-ink);outline-offset:2px}
#booking .bk-times button:disabled{background:var(--bk-soft);color:var(--bk-muted);cursor:not-allowed}
#booking .bk-none{grid-column:1/-1;color:var(--bk-muted);padding:10px 0}
#booking .bk-form{margin-top:18px;display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:18px;background:var(--bk-soft);border-radius:var(--bk-radius)}
#booking .bk-form[hidden]{display:none}
#booking .bk-pick{flex-basis:100%;font-weight:600;margin:0}
#booking .bk-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
#booking .bk-form input{min-height:48px;padding:0 14px;border:1.5px solid var(--bk-ink);border-radius:var(--bk-radius);font:inherit;font-size:17px;
  min-width:min(260px,70vw);background:#fff;color:#111}
#booking .bk-btn{min-height:48px;padding:0 22px;border:0;border-radius:var(--bk-radius);background:var(--bk-accent);color:var(--bk-on-accent);
  font:inherit;font-weight:600;cursor:pointer}
#booking .bk-btn.bk-line{background:transparent;color:var(--bk-ink);box-shadow:inset 0 0 0 1.5px var(--bk-ink)}
#booking .bk-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
#booking .bk-msg{margin-top:14px;font-weight:600;min-height:1.6em}
#booking .bk-msg a{color:inherit}
#booking .bk-msg.bk-ok{color:#1F7A4C}
#booking .bk-msg.bk-err{color:#B3261E}
#booking .bk-msg.bk-info{padding:14px 16px;background:var(--bk-soft);border-left:4px solid var(--bk-accent);border-radius:4px;font-weight:500}
#booking :focus-visible{outline:3px solid var(--bk-accent);outline-offset:2px}
