.booking-shell{min-height:100vh;background:#f1ede4;color:#191916}.booking-top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#191916;color:#fff}.booking-top small{color:#c8924b;letter-spacing:2px}.booking-main{display:grid;grid-template-columns:minmax(280px,480px) minmax(440px,650px);justify-content:center;gap:7vw;padding:70px 5vw}.booking-copy{position:sticky;top:60px;height:max-content}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#93662e}.booking-copy h1,.confirmation h1{font:clamp(44px,6vw,76px)/.98 Georgia,serif;margin:18px 0}.booking-copy>p{font-size:19px;line-height:1.65;color:#66635b}.booking-promise{display:grid;gap:12px;margin-top:40px;color:#235c4b}.booking-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 25px 80px #3b312018;display:grid;gap:18px}.step{display:flex;gap:12px;align-items:center;margin-top:10px}.step>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#191916;color:#fff;font-weight:800}.step div{display:grid}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid input{position:absolute;opacity:0}.choice-grid label>span{border:1px solid #e4dfd5;border-radius:12px;padding:14px;display:grid;gap:4px;cursor:pointer}.choice-grid input:checked+span{border-color:#235c4b;background:#edf5f1;box-shadow:inset 0 0 0 1px #235c4b}.choice-grid em{font-style:normal;color:#93662e;font-weight:800}.field{display:grid;gap:7px;font-size:13px;font-weight:800}.field input,.field select{padding:13px;border:1px solid #ddd7cd;border-radius:9px;font:inherit;background:#fff}.slots{display:flex;flex-wrap:wrap;gap:8px}.slots label input{position:absolute;opacity:0}.slots label span{display:block;padding:9px 12px;border:1px solid #ddd7cd;border-radius:8px;cursor:pointer}.slots label input:checked+span{background:#235c4b;color:#fff;border-color:#235c4b}.booking-submit{display:block;border:0;border-radius:10px;background:#191916;color:#fff;padding:15px;text-align:center;text-decoration:none;font-weight:800;font-size:15px}.booking-submit:disabled{opacity:.35}.booking-shell footer{text-align:center;padding:25px;color:#77736b}.confirmation{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;background:#f1ede4}.confirmation h1{font-size:55px}.confirmation p{font-size:19px;max-width:600px;line-height:1.6}.confirmation .booking-submit{margin:20px}.confirm-mark{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#235c4b;color:#fff;font-size:36px}@media(max-width:850px){.booking-main{grid-template-columns:1fr;padding:40px 16px}.booking-copy{position:static}.booking-copy h1{font-size:48px}.booking-promise{display:none}.booking-card{padding:22px}.booking-top small{display:none}}@media(max-width:480px){.choice-grid{grid-template-columns:1fr}.booking-copy h1{font-size:42px}.booking-copy>p{font-size:16px}.booking-main{padding-top:30px}.booking-card{border-radius:15px}}
.confirmation-details{display:grid;gap:8px;min-width:min(430px,90vw);padding:22px;border-radius:16px;background:#fff;box-shadow:0 16px 45px #3b312018}.confirmation-details strong{font-size:21px}.confirmation-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0}.confirmation-actions .booking-submit{margin:0;cursor:pointer}.booking-secondary,.booking-danger{display:block;border:1px solid #cfc7bb;border-radius:10px;background:#fff;color:#191916;padding:14px 18px;text-align:center;text-decoration:none;font-weight:800;cursor:pointer}.booking-danger{border-color:#d9aaa4;color:#8b2f26}.confirmation-actions form{margin:0}.manage-booking h1{font-size:48px}@media(max-width:540px){.confirmation h1,.manage-booking h1{font-size:38px}.confirmation-actions{display:grid;width:min(100%,360px)}.confirmation-actions>*{width:100%}.confirmation-actions button,.confirmation-actions a{width:100%;box-sizing:border-box}}
