.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.booking-step{border-left:5px solid var(--gold)}.booking-submit{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:#fff;border:2px solid var(--wine);border-radius:.8rem;box-shadow:0 -8px 24px #35101b18}.booking-table{overflow:hidden;border:1px solid var(--line);border-radius:.75rem}.booking-head,.booking-row{display:grid;grid-template-columns:minmax(210px,1.7fr) 100px 80px 80px minmax(250px,2fr);align-items:start;gap:1rem}.booking-head{padding:.7rem 1rem;background:#f1edef;color:#62545a;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.booking-row{padding:.85rem 1rem;border-top:1px solid var(--line)}.booking-row:first-of-type{border-top:0}.booking-workshop{color:var(--wine-dark)}.participant-cell{min-width:0}.participant-details{position:static}.participant-details summary{display:inline-block;color:var(--wine);font-size:.92rem}.participant-details[open] summary{margin-bottom:.65rem}.participant-list{display:flex;flex-wrap:wrap;gap:.4rem}.participant-list span{display:inline-flex;padding:.2rem .5rem;border-radius:999px;background:var(--soft);color:var(--wine-dark);font-size:.84rem;font-weight:800}.completeness-list>div{display:grid;grid-template-columns:1fr 120px 120px;align-items:center;gap:1rem;padding:.65rem;border-bottom:1px solid var(--line)}@media(max-width:720px){.choice-grid{grid-template-columns:1fr}.booking-head{display:none}.booking-row{grid-template-columns:1fr 1fr;gap:.65rem;padding:1rem}.booking-workshop{grid-column:1/-1;font-size:1.05rem}.booking-row>[data-label]::before{content:attr(data-label) ": ";color:#67595e;font-size:.8rem;font-weight:800;text-transform:uppercase}.participant-cell{grid-column:1/-1;padding-top:.35rem;border-top:1px solid var(--line)}.participant-cell::before{display:block;margin-bottom:.4rem}.booking-submit{align-items:stretch;flex-direction:column}.completeness-list>div{grid-template-columns:1fr auto}.completeness-list .type-badge{grid-column:1/-1}}@media print{.hero .button{display:none}.participant-details>summary{display:none}.participant-details:not([open])>.participant-list{display:flex}.booking-table{overflow:visible}.booking-head,.booking-row{grid-template-columns:minmax(160px,1.5fr) 70px 55px 45px minmax(220px,2fr)}.participant-list span{padding:0;background:none}}
