.booking-flow{max-width:900px;margin:34px auto 80px}.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.booking-progress span{padding:11px;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px;font-weight:700}.booking-progress span.active{border-color:var(--orange);color:var(--ink)}.booking-step{display:none;padding:28px;background:#fff;border:1px solid var(--line)}.booking-step.active{display:block}.booking-step h2{font:500 32px/1 Playfair Display,serif;margin:0 0 8px}.booking-step>p{color:var(--muted);margin:0 0 24px}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.option{position:relative;display:block;padding:18px;border:1px solid var(--line);cursor:pointer}.option:has(input:checked){border-color:var(--orange);background:#fbede7}.option input{position:absolute;opacity:0}.option b{display:block;font:500 22px Playfair Display,serif}.option small{display:block;margin-top:7px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{font-size:12px;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea{display:block;width:100%;min-height:49px;margin-top:7px;padding:12px 40px 12px 13px;border:1px solid var(--line);background:#fff;color:var(--ink);font:14px DM Sans,sans-serif}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 12px) 21px;background-size:6px 6px;background-repeat:no-repeat}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #d9764f33;border-color:var(--orange)}.field.full{grid-column:1/-1}.booking-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.booking-nav button{border:1px solid var(--ink);padding:12px 16px;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.booking-nav button.primary{background:var(--ink);color:#fff}.booking-confirmation{padding:28px;border:1px solid #b4cab5;background:#eff7ef}.booking-confirmation h2{font:500 34px Playfair Display,serif;margin:0 0 8px}.booking-confirmation a{font-weight:700;border-bottom:1px solid currentColor}@media(max-width:700px){.option-grid,.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.booking-step{padding:20px}.booking-progress span{font-size:10px;padding:9px 4px}}
