.visit-booking{margin-block:2.5rem;padding-block:1.5rem;border-block:1px solid currentColor}
.visit-booking form{max-width:46rem}.visit-booking fieldset{border:0;padding:0;margin:1.4rem 0}.visit-booking legend{font-weight:600;margin-bottom:.75rem}.visit-booking label{display:block;font-size:1rem;line-height:1.5}.visit-booking input:not([type=checkbox]):not([type=radio]),.visit-booking select,.visit-booking textarea{display:block;box-sizing:border-box;width:100%;padding:.65rem;border:1px solid #777;border-radius:3px;background:transparent;color:inherit;font:inherit;min-height:44px;margin-top:.3rem}.visit-booking .visit-types{display:grid;gap:.7rem}.visit-booking .visit-types label{border:1px solid #777;padding:1rem;cursor:pointer}.visit-booking .visit-types label:has(input:checked){outline:2px solid currentColor;outline-offset:1px}.visit-booking small{display:block;font-size:.9rem;margin-top:.3rem}.visit-booking .visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.visit-booking .visit-field{margin-block:1rem}.visit-booking .visit-check{display:flex;gap:.65rem;align-items:flex-start;margin:1rem 0}.visit-booking .visit-check input{margin-top:.35rem;flex-shrink:0;width:1.15rem;height:1.15rem}.visit-booking button{font:inherit;min-height:44px;padding:.7rem 1rem;border:1px solid currentColor;border-radius:3px;cursor:pointer}.visit-booking button:disabled{opacity:.6;cursor:wait}.visit-booking [hidden]{display:none!important}.visit-booking .visit-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.visit-booking [role=status]{margin-top:1rem;white-space:pre-line}.visit-booking :focus-visible{outline:3px solid currentColor;outline-offset:3px}@media(max-width:38rem){.visit-booking .visit-grid{grid-template-columns:1fr}.visit-booking{padding-inline:0}}
