
.bk-wrap { display: flex; gap: 48px; align-items: flex-start; padding-top: 48px; padding-bottom: 96px; }
.book { flex: 1 1 60%; min-width: 0; background: var(--colour-card); border: 1px solid var(--colour-border); border-radius: var(--radius); padding: 40px; }
.book h2 { font-size: 1.75rem; margin: 0 0 18px; display: flex; gap: 14px; align-items: center; }
.book .group + .group { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--colour-border); }
.book .form-row + .form-row { margin-top: 16px; }
.pkg-pick { display: flex; gap: 10px; flex-wrap: wrap; border: 0; }
.pkg-pick .choice { flex: 1 1 150px; flex-direction: column; gap: 8px; padding: 20px; }
.pkg-pick .choice input { margin: 0; }
.pkg-pick .choice strong { font-family: var(--font-heading); font-weight: 400; font-size: 1.5rem; text-transform: uppercase; line-height: 1; }
.pkg-pick .choice .p { font-weight: 600; color: var(--colour-primary); }
.pkg-pick .choice small { color: var(--colour-text-muted); font-size: .8125rem; }
.store-pick { display: flex; gap: 10px; flex-wrap: wrap; border: 0; }
.store-pick .choice { flex: 1 1 240px; }
.book .actions { display: flex; gap: 16px; align-items: center; margin-top: 32px; flex-wrap: wrap; }
.book .actions p { font-size: .875rem; color: var(--colour-text-muted); }
.book .ok { display: none; margin-top: 20px; padding: 18px 20px; border-radius: var(--radius); background: #E3F4EC; color: #0B4F2F; font-weight: 600; }
.book.sent .ok { display: block; }
.bk-side { flex: 0 0 400px; position: sticky; top: 104px; display: flex; flex-direction: column; gap: 16px; }
.next { background: var(--colour-ink); color: #F4F5F6; border-radius: var(--radius); padding: 32px; }
.next h2 { font-size: 1.75rem; margin-bottom: 20px; }
.next ol { list-style: none; display: flex; flex-direction: column; gap: 18px; }
.next li { display: flex; gap: 16px; align-items: flex-start; }
.next li .num { width: 36px; height: 36px; font-size: .6875rem; color: #FF4A57; }
.next li p { color: var(--colour-ink-muted); font-size: .9375rem; }
.next li strong { color: #F4F5F6; display: block; }
.side-card { background: var(--colour-card); border: 1px solid var(--colour-border); border-radius: var(--radius); padding: 24px 28px; }
.side-card h3 { font-size: 1.375rem; margin-bottom: 6px; }
.side-card p { color: var(--colour-text-muted); font-size: .9375rem; }
.side-card a { color: var(--colour-text); font-weight: 600; }
@media (max-width: 1024px) {
  .bk-wrap { flex-direction: column; align-items: stretch; }
  .bk-side { position: static; flex: none; }
}
@media (max-width: 767px) { .book { padding: 28px 20px; } }

