/* Booking pages (Kristian, 7 Oct 2026): /book-walkthrough, /book-feasibility-study,
   /book-training, /book-custom-built-system, /book-ai-partnership.
   Layout only. Colours and type are the locked design.md set already used in
   assets/bl-visual.css; the components themselves (.bl-hero, .om-fit, .bl-steps,
   .svc-faq, .fs-cta) come from there. */

/* The main video sits in the hero's media column. While it has no file the slot
   is hidden and the hero falls back to one readable column. */
.bk-page .bl-hero:has(> .bl-hero__media[hidden]) { grid-template-columns: minmax(0, 1fr); }
.bk-page .bl-hero:has(> .bl-hero__media[hidden]) .bl-hero__copy { max-width: 46em; }

.bk-video[hidden] { display: none; }
.bk-video { margin: 0; border-radius: 20px; overflow: hidden; background: #232A31; }
.bk-video__player { display: block; width: 100%; height: auto; max-height: 80vh; background: #232A31; }
.faq-item__answer .bk-video { margin: 0 0 16px; max-width: 560px; }

/* A <button> wearing the shared primary button style. */
.bk-page button.fs-cta { border: 0; cursor: pointer; }
.bk-page button.fs-cta[hidden] { display: none; }

/* Section headings and spacing */
.bk-sec { padding: 24px 0 64px; }
.bk-sec__wrap { max-width: 1120px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; }
.bk-sec__h { margin: 0 0 24px; font: 500 clamp(26px, 3vw, 36px)/1.15 'Fraunces', Georgia, serif; color: #232A31; }
.bk-page .om-fit__col p:not(.bl-ba__label) { margin: 0; font-size: 17px; line-height: 1.55; color: #232A31; }
.bk-page .om-fit__col p:not(.bl-ba__label) + p { margin-top: 12px; }
/* Page-specific lists (study weeks, what you get, options): a light card with plain dots. */
.bk-page .bk-card { background: #FAFAF8; border: 1px solid rgba(35, 42, 49, 0.14); }
.bk-page .bk-card .bl-ba__list li { color: #232A31; padding-left: 22px; }
.bk-page .bk-card .bl-ba__list li::before { left: 4px; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: #1B3A5B; }
.bk-page .om-fit__col a { color: #1B3A5B; font-weight: 600; text-decoration: underline; text-decoration-color: #AFC4DD; text-underline-offset: 4px; }
.bk-page .om-fit__col--yes a { color: #AFC4DD; }
.bk-page .om-fit--one { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.bk-page .bl-steps__body { color: #232A31; font-size: 17px; }
.bk-note { margin: 16px 0 0; font-size: 16px; line-height: 1.6; color: #586069; }

/* Booking block: the calendar opens here. */
.bk-book { padding: 24px 0 72px; scroll-margin-top: 96px; }
/* /book shows only the calendar (Kristian, 11 Oct 2026). */
.bk-book--only { padding-top: 40px; }
.bk-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bk-book__card { max-width: 960px; margin: 0 auto; padding: clamp(24px, 4vw, 44px); border-radius: 24px; background: rgba(175, 196, 221, 0.24); box-sizing: border-box; }
.bk-book__h { margin: 0 0 12px; font: 500 clamp(26px, 3vw, 36px)/1.15 'Fraunces', Georgia, serif; color: #232A31; }
.bk-book__price { margin: 0 0 8px; font-size: 17px; line-height: 1.55; color: #232A31; max-width: 62ch; }
.bk-book__act { margin-top: 24px; }
.bk-book__cal { margin-top: 20px; min-height: 640px; border-radius: 16px; background: #FAFAF8; overflow: hidden; }
.bk-book__cal[hidden] { display: none; }
.bk-book__cal .meetings-iframe-container { min-height: 640px; }
.bk-book__fallback { margin: 16px 0 0; font-size: 16px; line-height: 1.6; color: #586069; }
.bk-book__fallback a, .bk-write a { color: #1B3A5B; font-weight: 600; text-decoration: underline; text-decoration-color: #AFC4DD; text-underline-offset: 4px; }
.bk-write { margin: 0 auto; padding: 0 20px 72px; max-width: 820px; text-align: center; font-size: 17px; line-height: 1.6; color: #232A31; }

/* Feasibility deposit form (pay first, then book the study call). */
.bk-form { margin-top: 24px; }
.bk-form[hidden] { display: none; }
.bk-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.bk-form__f { margin: 0 0 16px; display: grid; gap: 6px; }
.bk-form__f label { font-size: 15px; font-weight: 600; color: #232A31; }
.bk-form__opt { font-weight: 400; color: #586069; }
.bk-form input, .bk-form select, .bk-form textarea { width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(35, 42, 49, 0.24); border-radius: 11px; background: #FAFAF8; color: #232A31; font: 400 16px/1.4 'Source Sans 3', system-ui, sans-serif; }
.bk-form textarea { min-height: 110px; resize: vertical; }
.bk-form input:focus-visible, .bk-form select:focus-visible, .bk-form textarea:focus-visible { outline: 2px solid #1B3A5B; outline-offset: 2px; border-color: #1B3A5B; }
.bk-form__status { margin: 0 0 16px; padding: 12px 14px; border-radius: 11px; background: #FAFAF8; border: 1px solid #232A31; color: #232A31; font-size: 16px; }
.bk-form__status[hidden] { display: none; }
.bk-form button[disabled] { opacity: .6; cursor: progress; }

@media (max-width: 760px) {
  .bk-form__grid { grid-template-columns: minmax(0, 1fr); }
  .bk-sec__wrap { padding: 0 20px; }
  .bk-book { padding-left: 12px; padding-right: 12px; }
  .bk-book__card { padding: 24px 18px; }
  .bk-page .bl-actions .fs-cta { width: 100%; }
  .bk-book .fs-cta { width: 100%; }
  .bk-page .bl-steps { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
