.book-shell { max-width: 60rem; }
.book-head { text-align: center; margin-bottom: 1.75rem; }
.book-head h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.4rem, 5vw, 3.6rem); line-height: 1.04; margin: 0.4rem 0 0.8rem; }
.book-head .quiz-lede { max-width: 46ch; margin-inline: auto; }
.book-frame { border: 1px solid var(--hair); border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 26px 60px -30px rgba(13, 21, 38, 0.4); }
.book-frame iframe { display: block; width: 100%; height: 720px; border: 0; }
.book-alt { margin-top: 1rem; text-align: center; font-size: 0.9rem; color: var(--graphite); }
.book-alt a { color: var(--royal); font-weight: 600; }
@media (max-width: 640px) { .book-frame iframe { height: 800px; } .book-frame { border-radius: 18px; } }

.book-body { padding-block: clamp(2rem, 5vw, 3.5rem) var(--sec, clamp(2.5rem, 5.5vw, 4.5rem)); }

/* Booking step inside the quiz page */
.quiz-card--book { padding-inline: clamp(1rem, 3vw, 2rem); }
.quiz-card--book .book-frame { margin-top: 1.5rem; }
.quiz-card--book .book-frame iframe { height: 680px; }
.quiz-card--book .book-alt { margin-top: 1rem; }

/* Booking step: wide enough for Google's side-by-side layout (date left, times right)
   and tall enough that nothing scrolls inside the frame. */
.quiz-shell:has(.quiz-card--book:not([hidden])) { max-width: 1080px; }
.quiz-shell:has(.quiz-card--book:not([hidden])) .quiz-progress { display: none; }
.quiz-card--book .book-frame iframe { height: 1000px; overflow: hidden; }
@media (max-width: 860px) { .quiz-card--book .book-frame iframe { height: 1750px; } }
