/* Booking + legal pages. Shares tokens and buttons with site.css. */
body.book { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(80% 60% at 85% 10%, #0b2560 0%, var(--sc-canvas) 60%); }
.book__main { flex: 1; width: 100%; max-width: var(--sc-maxw); margin: 0 auto; padding: calc(var(--bar-h) + clamp(2rem, 6vh, 4rem)) var(--sc-gutter) 3rem; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.book__back { display: inline-block; font-size: 0.9rem; color: var(--sc-ink-soft); text-decoration: none; margin-bottom: 1.6rem; }
.book__back:hover { color: var(--sc-ink); }
.book__intro h1 { margin-bottom: 1.2rem; }
.book__delta { margin: 1.4rem 0 0; padding: 1rem 1.2rem; border-radius: 14px; background: color-mix(in oklab, var(--sc-accent) 22%, transparent); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--accent-text) 50%, transparent); line-height: 1.5; }
.book__delta b { color: #fff; }
.book__steps { list-style: none; margin: 2rem 0; padding: 0; display: grid; gap: 0.9rem; }
.book__steps li { display: grid; grid-template-columns: 2.2rem 1fr; gap: 0.8rem; align-items: baseline; color: var(--sc-ink-soft); line-height: 1.5; }
.book__steps b { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--sc-surface); color: var(--accent-text); font-weight: 800; box-shadow: var(--sc-edge); }
.book__lukas { display: flex; align-items: center; gap: 0.9rem; }
.book__lukas img { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; object-position: 60% 25%; }
.book__lukas b { display: block; font-weight: 750; }
.book__lukas span { font-size: 0.88rem; color: var(--sc-ink-soft); }
.book__cal { min-height: 720px; border-radius: 20px; background: var(--sc-surface); box-shadow: var(--sc-edge), var(--sc-e3); overflow: hidden; }
.cal-gate { height: 100%; min-height: 720px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.2rem; padding: 2rem; text-align: center; }
.cal-gate p { max-width: 40ch; color: var(--sc-ink-soft); line-height: 1.55; margin: 0; }
.book__foot { padding-inline: var(--sc-gutter); }
.legal { padding-top: calc(var(--bar-h) + 3rem); padding-bottom: 4rem; max-width: 52rem; }
.legal h1 { margin-bottom: 2rem; }
.legal h2 { margin: 2.2rem 0 0.8rem; }
.legal .body { margin: 0 0 0.9rem; }
.legal a { color: var(--accent-text); word-break: break-word; }
@media (max-width: 960px) {
  .book__main { grid-template-columns: 1fr; }
  .book__cal, .cal-gate { min-height: 560px; }
}
