/* Chicago AI Studio: consultation booking (#book). Uses theme.css tokens only. */
#book .bk{display:grid;gap:22px}
#book .bk-steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--deep-rgb) / .55)}
#book .bk-steps li{padding:7px 10px;border:1px solid rgb(var(--deep-rgb) / .14)}
#book .bk-steps li[aria-current="step"]{background:rgb(var(--deep2-rgb));color:rgb(var(--paper-rgb));border-color:rgb(var(--deep2-rgb))}
#book .bk-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
#book .bk-type{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid rgb(var(--deep-rgb) / .18);background:rgb(var(--paper-rgb));color:rgb(var(--deep-rgb));transition:border-color .2s,box-shadow .2s}
#book .bk-type:hover,#book .bk-type:focus-visible{border-color:rgb(var(--metal-rgb));box-shadow:0 0 0 2px rgb(var(--metal-rgb) / .35)}
#book .bk-type[aria-pressed="true"]{border-color:rgb(var(--deep2-rgb));box-shadow:inset 0 0 0 2px rgb(var(--deep2-rgb))}
#book .bk-type b{font:500 21px/1.15 var(--serif)}
#book .bk-type .bk-meta{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--metal-rgb))}
#book .bk-type span.d{font-size:14px;line-height:1.45;color:rgb(var(--deep-rgb) / .8)}
#book .bk-panel{border:1px solid rgb(var(--deep-rgb) / .14);background:rgb(var(--paper-rgb));padding:20px}
#book .bk-panel[hidden]{display:none}
#book .bk-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
#book .bk-day{all:unset;box-sizing:border-box;cursor:pointer;scroll-snap-align:start;min-width:74px;text-align:center;padding:10px 8px;border:1px solid rgb(var(--deep-rgb) / .18);font:500 13px/1.3 var(--sans);color:rgb(var(--deep-rgb))}
#book .bk-day small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--deep-rgb) / .6)}
#book .bk-day[aria-pressed="true"]{background:rgb(var(--deep2-rgb));color:rgb(var(--paper-rgb));border-color:rgb(var(--deep2-rgb))}
#book .bk-day[aria-pressed="true"] small{color:rgb(var(--stone-rgb))}
#book .bk-day:disabled{opacity:.35;cursor:not-allowed}
#book .bk-day:focus-visible,#book .bk-slot:focus-visible{outline:2px solid rgb(var(--metal-rgb));outline-offset:2px}
#book .bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:14px}
#book .bk-slot{all:unset;box-sizing:border-box;cursor:pointer;padding:11px 12px;border:1px solid rgb(var(--deep-rgb) / .2);font:600 14px/1.25 var(--sans);color:rgb(var(--deep-rgb));text-align:left}
#book .bk-slot small{display:block;font-weight:400;font-size:12px;color:rgb(var(--deep-rgb) / .62)}
#book .bk-slot:hover{border-color:rgb(var(--metal-rgb))}
#book .bk-slot[aria-pressed="true"]{background:rgb(var(--metal-rgb));border-color:rgb(var(--metal-rgb))}
#book .bk-note{font-size:13px;color:rgb(var(--deep-rgb) / .7);margin:.6em 0 0}
#book .bk-form{display:grid;gap:12px}
#book .bk-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){#book .bk-form .row2{grid-template-columns:1fr}#book .bk-panel{padding:14px}}
#book .bk-summary{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 14px;font-size:15px}
#book .bk-summary dt{font:600 11px/1.9 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--deep-rgb) / .6)}
#book .bk-summary dd{margin:0}
#book .bk-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
#book .bk-status{min-height:1.4em;margin:10px 0 0;font-size:14px}
#book .bk-status.err{color:#8a2d1f}
#book .bk-status.ok{color:rgb(var(--deep2-rgb))}
#book .bk-done h3{font:500 28px/1.15 var(--serif);margin:0 0 8px}
#book .bk-manage-link{word-break:break-all;font-size:13px}
#book .bk-loading{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:rgb(var(--deep-rgb) / .7)}
#book .bk-loading::before{content:"";width:14px;height:14px;border:2px solid rgb(var(--metal-rgb));border-right-color:transparent;border-radius:50%;animation:bkspin .8s linear infinite}
@keyframes bkspin{to{transform:rotate(1turn)}}
@media (prefers-reduced-motion:reduce){#book .bk-loading::before{animation:none}}
#book .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-cta-row{margin:22px 0 0;text-align:center}
#bk-contact-hint a{font-weight:600}
#book .bk{grid-template-columns:minmax(0,1fr)}#book .bk>*{min-width:0}
