/* A spacious enquiry card that retains the real mailto flow. */
.booking.booking-designed{padding:38px;background:#fffef9;border:1px solid #ccd8bf;border-top:5px solid #456844;border-radius:19px;box-shadow:0 18px 48px #183e3110;container-type:inline-size;min-width:0}
.booking-designed .booking-heading{display:flex;align-items:center;gap:18px}
.booking-emblem{flex:0 0 60px;width:60px;height:64px;display:grid;place-items:center;border-radius:30px 30px 11px 11px;background:#e6edcf;color:#375b36}
.booking-emblem svg{height:30px;width:30px}
.booking-kicker{display:block;color:#4c6542;font-size:16px;font-weight:500;line-height:1.7;margin-bottom:4px}
.booking-designed h3{font-family:var(--serif);font-size:33px;font-weight:500;letter-spacing:-.65px;line-height:1.25;color:#193f31}
.booking-designed .booking-intro{font-size:18px;line-height:1.8;color:#4b5e43;margin:24px 0 29px;padding-bottom:27px;border-bottom:1px solid #dce4d0}
.booking-group{border:0;margin:0;padding:0;min-width:0}
.booking-group+ .booking-group{margin-top:29px;padding-top:26px;border-top:1px solid #dce4d0}
.booking-group legend{display:block;float:left;width:100%;padding:0;color:#264b34;font-size:18px;font-weight:600;line-height:1.6;margin-bottom:3px}
.booking-group legend+*{clear:both}
.booking-designed .field{margin-top:20px;min-width:0}
.booking-designed .field label{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;color:#284b34;font-size:17px;font-weight:500;line-height:1.6;margin-bottom:10px}
.booking-designed .required-mark{color:#6a7e53;font-size:16px}
.booking-designed .optional{color:#5b6d50;font-size:16px;font-weight:400}
.booking-designed .field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}
.input-shell{position:relative;min-width:0}
.input-shell>svg{position:absolute;top:20px;left:16px;height:21px;width:21px;color:#5a764c;pointer-events:none}
.booking-designed .field input,.booking-designed .field select,.booking-designed .field textarea{background:#f9fbf4;border:1px solid #7a8d6c;border-radius:9px;min-height:62px;font-family:var(--sans);font-size:18px;line-height:1.5;color:#203f2d;box-shadow:inset 0 1px 2px #193f3103;transition:border-color .18s,box-shadow .18s,background .18s;padding:17px 16px}
.booking-designed .field input{padding-left:49px}
.booking-designed .field input:hover,.booking-designed .field select:hover,.booking-designed .field textarea:hover{border-color:#4e7040;background:#fffef9}
.booking-designed .field input:focus,.booking-designed .field select:focus,.booking-designed .field textarea:focus{border-color:#426b37;background:#fffef9;box-shadow:0 0 0 4px #e1eccf;outline:2px solid #426b37;outline-offset:1px}
.booking-designed .field input::placeholder,.booking-designed .field textarea::placeholder{color:#66755b;opacity:1}
.booking-designed .field textarea{padding:16px;min-height:124px;line-height:1.7;resize:vertical}
.select-shell{position:relative}.booking-designed .field select{appearance:none;padding-right:44px;width:100%}.select-shell>span{position:absolute;right:17px;top:15px;color:#45683a;font-size:26px;line-height:1;pointer-events:none}
.booking-designed .field input[type=date]{padding-left:49px;min-width:0;color-scheme:light}
.booking-designed .field input[type=number]{padding-right:10px}
.booking-designed .booking-submit{margin-top:30px;padding:15px 18px 15px 23px;min-height:65px;display:flex;justify-content:space-between;gap:15px;width:100%;border-radius:10px;font-size:18px;font-weight:600;color:#fffef4;background:#193f31;border:1px solid #193f31;box-shadow:0 7px 16px #193f3112;line-height:1.5}
.booking-designed .booking-submit:hover{background:#2d583a;transform:translateY(-1px);box-shadow:0 10px 22px #193f311a}
.submit-arrow{width:34px;height:34px;border-radius:50%;background:#ffffff16;display:grid;place-items:center;flex-shrink:0}.submit-arrow svg{width:18px;height:18px}
.booking-email-note{display:flex;align-items:flex-start;gap:13px;padding:18px;margin-top:22px;background:#edf2e2;border-radius:9px}
.booking-email-note>svg{height:20px;width:20px;flex:0 0 20px;color:#587348;margin-top:4px}
.booking-designed .form-note{margin:0;font-size:16px;font-weight:400;line-height:1.8;color:#465e3e}
.booking-designed .form-result{font-size:16px;line-height:1.8}.booking-designed .form-result:not(:empty){padding:18px;margin-top:20px;background:#e7efda;border:1px solid #bacda9;border-radius:9px}
@container (max-width:440px){.booking-designed .field-row{grid-template-columns:1fr;gap:0}.booking-designed .booking-heading{gap:14px}.booking-designed h3{font-size:30px}.booking-emblem{flex-basis:53px;width:53px;height:58px}}
@media(max-width:1100px) and (min-width:721px){.visit-grid{grid-template-columns:1fr;gap:36px}.visit-copy>p{max-width:none}.booking.booking-designed{width:100%;max-width:800px;justify-self:center;padding:38px}}
@media(max-width:720px){.booking.booking-designed{padding:29px 23px;border-radius:15px}.booking-designed .booking-intro{font-size:18px;margin:23px 0;padding-bottom:23px}.booking-designed .field label{font-size:17px}.booking-designed .field input,.booking-designed .field select,.booking-designed .field textarea{font-size:18px}.booking-designed .booking-submit{font-size:17px;min-height:63px;padding-left:19px}.booking-email-note{padding:16px;gap:11px}.booking-designed .form-note{font-size:16px}.booking-group+ .booking-group{margin-top:25px;padding-top:22px}}
@media(max-width:380px){.booking.booking-designed{padding:25px 18px}.booking-designed .booking-heading{gap:11px}.booking-designed h3{font-size:28px}.booking-kicker{font-size:16px}.booking-emblem{flex-basis:46px;width:46px;height:52px}.booking-designed .booking-submit{font-size:17px;padding:14px 14px 14px 16px}.booking-email-note{display:block}.booking-email-note>svg{margin:0 0 8px}.booking-designed .form-note{font-size:16px}}
@media(prefers-reduced-motion:reduce){.booking-designed *{transition:none!important}}
