.book-demo-main { flex: 1; }
.book-demo-grid { padding: clamp(48px,7vw,88px) 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,380px),1fr)); gap: clamp(40px,6vw,72px); align-items: start; }
.book-demo-intro { display: flex; flex-direction: column; gap: 24px; }
.agenda-card { border: 1px solid var(--color-border); border-radius: var(--radius-card-lg); background: var(--color-bg); padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.agenda-card__title { font-size: 13px; font-weight: 600; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: .06em; }
.agenda-card__row { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; }
.agenda-card__time { flex: none; font-family: var(--font-mono); font-size: 11px; color: var(--color-text-muted); width: 44px; padding-top: 3px; }
.book-demo-intro__alt { font-size: 14px; line-height: 1.6; color: var(--color-text); }

.booking-form { display: flex; flex-direction: column; }
.booking-step { padding: clamp(20px,3vw,28px); border-bottom: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 14px; }
.booking-step--last { border-bottom: none; }
.booking-step__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.booking-step__label { font-size: 15px; font-weight: 700; }
.booking-step__num { font-family: var(--font-mono); font-size: 12px; color: var(--color-primary); margin-right: 8px; }
.booking-step__meta { font-size: 12px; color: var(--color-text-muted); }
.date-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px,1fr)); gap: 8px; }
.date-tile { font-family: inherit; min-height: 64px; border-radius: var(--radius-input); border: 1px solid var(--color-border); background: var(--color-bg); color: var(--color-text-strong); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; transition: all .15s; }
.date-tile.is-active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.date-tile__dow { font-size: 11px; font-weight: 600; opacity: .8; }
.date-tile__num { font-size: 18px; font-weight: 700; }
.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px,1fr)); gap: 8px; }
.slot-tile { font-family: inherit; min-height: 44px; font-size: 14px; font-weight: 600; border-radius: 9px; border: 1px solid var(--color-border); background: var(--color-bg); color: var(--color-text-strong); cursor: pointer; transition: all .15s; }
.slot-tile.is-active { background: var(--color-primary-50); color: var(--color-primary-hover); border-color: var(--color-primary); }
.slot-tile.is-taken { background: var(--color-bg-tint); color: var(--color-placeholder); cursor: not-allowed; text-decoration: line-through; }
.slot-grid__status { grid-column: 1 / -1; margin: 0; padding: 10px 0; font-size: 13px; color: var(--color-text-muted); }
.topic-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.topic-chip { font-family: inherit; font-size: 13px; font-weight: 600; padding: 8px 12px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-bg); color: var(--color-text); cursor: pointer; }
.topic-chip.is-on { border-color: var(--color-primary-200); background: var(--color-primary-50); color: var(--color-primary-hover); }
.booking-summary-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--color-slate-100); }
.booking-summary-row__text { font-size: 14px; color: var(--color-text); }
.booking-success { padding: clamp(24px,4vw,40px); display: flex; flex-direction: column; gap: 18px; }
.booking-success__title { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
.booking-summary-grid { border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-bg-tint); padding: 18px; display: grid; grid-template-columns: auto 1fr; gap: 10px 18px; font-size: 14px; }
.booking-summary-grid span:nth-child(odd) { color: var(--color-text-muted); }
.booking-summary-grid span:nth-child(even) { font-weight: 600; }
.booking-success__actions { display: flex; gap: 10px; flex-wrap: wrap; }
