/* Booking page (book.html). Same tokens as styles.css: navy #0F2D49, gold #CCBF90, bronze #7D6A3E,
   ink #1B2733, slate #33404D / #4A5563, rule #D5DCE4, field #B8C2CE, mist #F1F4F7, error #A3262A. */
.bk-wrap{max-width:1200px;margin:0 auto;padding:72px 32px 96px;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.bk-main{flex:1 1 580px;min-width:0;display:flex;flex-direction:column;gap:32px}
.bk-aside{flex:0 1 340px;background:#F1F4F7;padding:36px;display:flex;flex-direction:column;gap:20px}
.bk-aside-foot{border-top:1px solid #D5DCE4;padding-top:18px;display:flex;flex-direction:column;gap:6px;font-size:16px;color:#33404D}

.bk-status{margin:0;font-size:17px;line-height:1.6;color:#4A5563}
.bk-status:empty{display:none}
.bk-err{color:#A3262A}
.bk-step{display:flex;flex-direction:column;gap:16px}
.bk-step-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px}
.bk-h2{margin:0;font-family:'Source Serif 4',serif;font-weight:500;font-size:28px;line-height:1.2;color:#0F2D49}
.bk-note{margin:0;font-size:15px;color:#4A5563}
.bk-link{background:none;border:0;padding:0;font:inherit;color:#0F2D49;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.bk-link:hover{color:#7D6A3E}

.bk-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.bk-day,.bk-pager{flex:0 0 76px;box-sizing:border-box;min-height:72px;border:1px solid #D5DCE4;background:#FFFFFF;border-radius:2px;padding:10px 4px;font-family:inherit;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.bk-day small{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#4A5563}
.bk-day strong{font-family:'Source Serif 4',serif;font-weight:500;font-size:24px;line-height:1.1;color:#0F2D49}
.bk-day span{font-size:12px;color:#4A5563}
.bk-day:hover,.bk-pager:hover{border-color:#0F2D49}
.bk-day[aria-pressed="true"]{background:#0F2D49;border-color:#0F2D49}
.bk-day[aria-pressed="true"] small,.bk-day[aria-pressed="true"] span{color:#C9D3DE}
.bk-day[aria-pressed="true"] strong{color:#FFFFFF}
.bk-pager{font-size:14px;line-height:1.25;color:#0F2D49;font-weight:600}
.bk-pager[disabled]{opacity:.4;cursor:default;border-color:#D5DCE4}
.bk-empty{flex:1 0 220px;align-self:center;margin:0;padding:0 8px;font-size:16px;line-height:1.5;color:#33404D}

.bk-bucket{display:flex;flex-direction:column;gap:10px}
.bk-bucket-label{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#4A5563;font-weight:600}
.bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.bk-time{padding:12px 8px;border:1px solid #B8C2CE;background:#FFFFFF;border-radius:2px;font-family:inherit;font-size:16px;color:#0F2D49;cursor:pointer}
.bk-time:hover{border-color:#0F2D49}
.bk-time[aria-pressed="true"]{background:#0F2D49;border-color:#0F2D49;color:#FFFFFF;font-weight:600}
.bk-time[disabled]{text-decoration:line-through;opacity:.5;cursor:not-allowed}

.bk-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bk-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.bk-field-wide{grid-column:1 / -1}
.bk-req{color:#7D6A3E}

.bk-confirm{border-top:1px solid #D5DCE4;padding-top:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
.bk-when{display:flex;flex-direction:column;gap:2px}
.bk-when-label{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#7D6A3E;font-weight:600}
.bk-when-value{font-family:'Source Serif 4',serif;font-size:21px;color:#0F2D49}
.bk-when-none{font-size:16px;color:#4A5563}
.bk-cta{background:#CCBF90;color:#0F2D49;padding:16px 28px;font-weight:600;font-size:17px;border:0;border-radius:2px;font-family:inherit;cursor:pointer}
.bk-cta:hover{background:#D8CDA2}
.bk-cta[disabled]{opacity:.55;cursor:not-allowed;background:#CCBF90}
.bk-error{margin:0;font-size:16px;line-height:1.5;color:#A3262A}
.bk-error:empty{display:none}

.bk-done{background:#F1F4F7;border-top:2px solid #CCBF90;padding:40px;display:flex;flex-direction:column;gap:14px}
.bk-done h2{margin:0;font-family:'Source Serif 4',serif;font-weight:500;font-size:34px;line-height:1.15;color:#0F2D49}
.bk-done p{margin:0;font-size:18px;line-height:1.6;color:#33404D}

.bk-skel{background:linear-gradient(90deg,#F1F4F7 0%,#E6EBF0 50%,#F1F4F7 100%);background-size:200% 100%;animation:bk-shimmer 1.4s ease-in-out infinite;border:0;cursor:default}
@keyframes bk-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.bk-skel{animation:none}}

.bk-day:focus-visible,.bk-pager:focus-visible,.bk-time:focus-visible,.bk-cta:focus-visible,.bk-link:focus-visible{outline:2px solid #7D6A3E;outline-offset:2px}

@media (max-width:860px){
  .bk-fields{grid-template-columns:1fr}
  .bk-aside{flex-basis:100%;padding:28px 24px}
  .bk-h2{font-size:24px !important}
  .bk-done{padding:28px 24px}
  .bk-done h2{font-size:28px !important}
  .bk-confirm .bk-cta{width:100%}
}
