/* FluxFront — final-cta-booking · sliced verbatim from the original sections.css block (render-identical). See docs/marketing-site-architecture.md for the selector map. */
/* ===================== FINAL CTA + BOOKING ===================== */
.cta-sec { background: var(--ink-deep); color: #C9CED7; padding-block: clamp(56px, 8vw, 110px); }
.cta-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (max-width: 920px) { .cta-grid { grid-template-columns: 1fr; } }
.cta-h { font-family: var(--font-display); font-size: clamp(2.5rem, 1.5rem + 3.4vw, 4rem); font-weight: 600;
  letter-spacing: -0.025em; line-height: 1.08; color: #F4F2EC; text-wrap: balance; }
.cta-lead { font-size: var(--t-lead); color: #A7AEB9; margin-top: 18px; line-height: 1.55; max-width: 46ch; }
.cta-actions { margin-top: 30px; }

.booking { background: var(--ink-panel); border: 1px solid var(--ink-line); border-radius: var(--r-xl); padding: 26px 24px; }
/* step rail styles live in the override block below (.bk-step dots+line on top, labels below) */
.bk-context { font-size: 0.7rem; color: #828A96; margin-bottom: 10px; }
.bk-title { font-family: var(--font-display); font-size: 1.7rem; font-weight: 600; letter-spacing: -0.02em; color: #F4F2EC; }
.bk-sub { font-size: 0.84rem; color: #828A96; margin: 4px 0 18px; }
.booking-days { display: flex; gap: 8px; margin-bottom: 18px; }
.booking-day { flex: 1; padding: 11px; border-radius: var(--r-md); border: 1px solid var(--ink-line);
  background: var(--ink-deep); cursor: pointer; text-align: center; transition: border-color var(--d-2), background var(--d-2); }
.booking-day .bd-d { display: block; font-family: var(--font-mono); font-size: 0.62rem; color: #8A919D; text-transform: uppercase; letter-spacing: 0.05em; }
.booking-day .bd-n { display: block; font-size: 1rem; font-weight: 600; color: #DDE1E7; margin-top: 2px; }
.booking-day.active { border-color: var(--teal); background: rgb(45 212 191 / 0.1); }
.booking-day.active .bd-n { color: var(--teal); }
/* morning / afternoon grouped slots */
.bk-slotwrap { margin-bottom: 20px; }
.bk-group + .bk-group { margin-top: 18px; }
.bk-grouplbl { font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: #6E747F; margin-bottom: 11px; }
.bk-grid { display: flex; flex-wrap: wrap; gap: 9px; }
.bk-slot { padding: 11px 17px; border-radius: var(--r-pill); border: 1px solid #353B44; background: var(--ink-deep);
  color: #DDE1E7; font-size: 0.86rem; cursor: pointer; transition: border-color var(--d-2), background var(--d-2), color var(--d-2), transform var(--d-2) var(--e-spring); }
.bk-slot:hover { border-color: #5B636E; background: #232831; }
.bk-slot.taken { opacity: 0.3; cursor: not-allowed; text-decoration: line-through; }
.bk-slot.sel { border-color: var(--teal); background: var(--teal); color: var(--ink); font-weight: 600; transform: translateY(-1px); }
.booking-cta { width: 100%; background: var(--ink-deep); color: #DDE1E7; border: 1px solid var(--ink-line); }
.booking-cta:disabled { opacity: 0.45; cursor: not-allowed; }
.booking-cta.ready { background: var(--teal); color: var(--ink); border-color: var(--teal); }
.bk-powered { margin-top: 16px; font-size: 0.66rem; color: #5C636E; text-align: center; letter-spacing: 0.02em; }
.bk-powered b { color: #828A96; font-weight: 600; }

