.v-contact-grid{align-items:start;gap:3.5rem;grid-template-columns:.8fr 1.2fr}
.v-message-box h2{font-size:1.65rem;line-height:1.25;max-width:24ch;margin-bottom:1rem}
.c-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
.v-message-box label{font-size:.9rem;margin:1.1rem 0 .45rem}
.v-message-box label span{font-weight:400;font-size:.78rem;color:#57616a}
.v-message-box input,.v-message-box select,.v-message-box textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #aaa294;border-radius:0;background:#faf8f3;color:#202e39;padding:.85rem;font:inherit;font-size:1rem;line-height:1.45}
.v-message-box textarea{resize:vertical;min-height:7rem}
.v-message-box input:focus,.v-message-box select:focus,.v-message-box textarea:focus{outline:2px solid #a66d4c;outline-offset:2px}
.v-message-box .p-primary{border:0;cursor:pointer;font:inherit;font-weight:600;gap:1.2rem;margin-top:1rem;min-height:48px}
.v-message-box .p-primary:disabled{opacity:.65;cursor:wait}
.v-message-box .c-privacy{font-size:.78rem;line-height:1.5;max-width:54ch;margin:.8rem 0 0}
.v-message-box .c-status{font-size:.94rem;line-height:1.5;margin:1rem 0 0}
.c-status:empty{display:none}.c-status[data-state="error"]{color:#963c25}.c-status[data-state="success"]{color:#245c42;padding:1rem;background:#e5eee7;border-left:3px solid #245c42}
.c-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.c-booking{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #b9b0a5;max-width:30rem}
.c-booking h3{font-weight:550;font-size:1.6rem;line-height:1.25;margin:0 0 .8rem}
.c-booking p{font-size:1rem;line-height:1.7;margin:0 0 1.2rem;color:#53616a;max-width:34ch}
.v-contact-direct a.c-calendar{display:inline-flex;align-items:center;gap:1.5rem;border-bottom:1px solid #af7c59;padding:.5rem 0;font-size:1rem;font-weight:600;width:auto}
@media(max-width:800px){.v-contact-grid{grid-template-columns:1fr;gap:2rem}.v-message-box{padding:1.5rem}.v-message-box h2{font-size:1.5rem}.c-booking{margin-top:1.8rem;padding-top:1.5rem;max-width:none}.c-booking p{max-width:none}}
@media(max-width:420px){.c-fields{grid-template-columns:1fr}.v-message-box{padding:1.25rem}.v-message-box .p-primary{width:100%;justify-content:center}}
