/* Booking additions; existing site layout and gallery styles stay in style.css. */
.vf-form-help{font-size:12px;line-height:1.5;color:var(--muted,#6f6867);margin:7px 0 0}
.vf-booking>.vf-form-help{margin-top:16px}
.vf-phone-fields{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:10px}
.vf-phone-fields input,.vf-phone-fields select{min-width:0}
.vf-booking .vf-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.vf-booking [aria-invalid="true"]{border-color:#a32132;box-shadow:0 0 0 1px #a32132}
.vf-field-error{color:#8b1526;font-size:12px;line-height:1.45;margin:6px 0 0}
.vf-error{background:#fff0f0;border:1px solid #e2a5ad;border-radius:6px;padding:13px 16px;margin:20px 0;color:#711221}
.vf-error ul{margin:8px 0 0;padding-left:21px;font-size:13px;line-height:1.6}
.vf-booking input:focus-visible,.vf-booking select:focus-visible,.vf-booking textarea:focus-visible,.vf-booking button:focus-visible,.vf-confirm a:focus-visible{outline:3px solid #d9aa42;outline-offset:3px}
.vf-booking button{cursor:pointer}
.vf-booking button:disabled{opacity:.65;cursor:wait}
.vf-confirm-wrap{background:var(--cream,#f8f5ef);padding:64px 20px;min-height:55vh}
.vf-confirm{max-width:760px}
.vf-confirm .vf-title{font-size:clamp(30px,5vw,46px);margin-bottom:18px}
.vf-confirm form{margin:24px 0}
.vf-confirm .vf-lead{margin-bottom:22px}
.vf-confirm .vf-textlink{display:inline-block;margin-top:6px}
@media(max-width:560px){.vf-phone-fields{grid-template-columns:1fr}.vf-booking{padding:24px 18px}.vf-confirm-wrap{padding:36px 14px}}
