.booking-page{background:#f4f3ed;color:#343e32;padding:62px 24px 76px;font-family:Arial,sans-serif;line-height:1.55}
.booking-shell{max-width:1060px;margin:0 auto}.booking-page *{box-sizing:border-box}.booking-intro{max-width:650px;margin-bottom:32px}.booking-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#657951;margin-bottom:10px}.booking-page h1{font-family:Arial,sans-serif;font-size:38px;line-height:1.15;margin:0 0 16px;color:#33482f;font-weight:600}.booking-page h2{font-family:Arial,sans-serif;font-size:23px;line-height:1.3;color:#33482f;font-weight:600;margin:0 0 12px}.booking-page p{margin:0 0 14px;font-size:15px}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.booking-card,.booking-success{background:#fff;border:1px solid #e0e3d9;border-radius:14px;padding:30px;box-shadow:0 9px 30px #26352006}.booking-form fieldset{padding:0;margin:0 0 28px;border:0;min-width:0}.booking-form legend{display:flex;align-items:center;gap:10px;width:100%;font-size:18px;font-weight:600;border:0;color:#33482f;margin-bottom:18px}.booking-form legend span{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#edf1e7;color:#5d7545;font-size:13px}.booking-field{margin-bottom:17px;min-width:0}.booking-label{display:block;margin:0 0 7px;font-size:14px;color:#34442f;font-weight:600}.booking-label span{font-weight:400;color:#73816b}.booking-input{display:block;width:100%;min-height:46px;border:1px solid #cbd4c4;border-radius:6px;padding:11px 12px;background:#fff;color:#283525;font:16px Arial,sans-serif;line-height:1.3;margin:0;box-shadow:none}.booking-input:focus{border-color:#58713d;outline:3px solid #58713d26;outline-offset:1px}.booking-input[aria-invalid=true]{border-color:#a63429}.booking-page textarea.booking-input{resize:vertical}.booking-pair,.booking-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.booking-page .booking-hint,.booking-page small{display:block;font-size:12px;line-height:1.5;color:#697562}.booking-page .booking-hint{margin:-3px 0 18px}.booking-page small{margin-top:6px}.booking-page .booking-field-errors,.booking-capacity-error{color:#983328;font-size:13px;margin:7px 0 0;list-style:none;padding:0}.booking-error-summary{padding:17px;border-left:3px solid #a63429;background:#fff2ef;border-radius:5px;margin-bottom:24px}.booking-error-summary h2{font-size:18px;color:#893229}.booking-error-summary p:last-child{margin:0}.booking-page .booking-privacy{font-size:12px;line-height:1.65;color:#687363;margin:3px 0 20px}.booking-page a{color:#496436;text-decoration:underline}.booking-button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:50px;padding:14px 20px;border-radius:7px;border:0;background:#526b3d;color:#fff!important;font:600 16px Arial,sans-serif;cursor:pointer;text-decoration:none!important}.booking-button:hover{background:#3e542d}.booking-button:focus-visible{outline:3px solid #8ba66f;outline-offset:3px}.booking-button:disabled{opacity:.6;cursor:wait}.booking-page .booking-submit-note{text-align:center;margin:10px 0 0}.booking-summary{background:#eaf0e1;border:1px solid #dbe4d0;border-radius:14px;padding:25px;position:sticky;top:25px}.booking-summary h2{font-size:22px}.booking-summary>p{font-size:13px;color:#66745b}.booking-summary dl{margin:24px 0 21px}.booking-summary dl div{border-top:1px solid #d4dec8;padding:12px 0}.booking-summary dt{font-size:12px;font-weight:400;color:#66745b}.booking-summary dd{margin:3px 0 0;font-size:15px;font-weight:600;color:#344a29}.booking-page .booking-summary-note{font-size:12px;line-height:1.7;margin:0}.booking-page .booking-map-origin{font-size:12px;margin:17px 0 0;padding-top:14px;border-top:1px solid #d4dec8}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-success{max-width:660px;padding:36px}.booking-success-icon{display:flex;width:50px;height:50px;align-items:center;justify-content:center;background:#edf1e7;border-radius:50%;font-size:28px;color:#526b3d;margin-bottom:20px}.booking-success .booking-button{max-width:240px;margin-top:25px;justify-content:center}.booking-page [hidden]{display:none!important}
@media(max-width:850px){.booking-grid{grid-template-columns:minmax(0,1fr)}.booking-summary{position:static;grid-row:1}.booking-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:14px 0}.booking-summary h2{font-size:20px}.booking-summary .booking-eyebrow{margin-bottom:7px}}
@media(max-width:500px){.booking-page{padding:32px 16px 45px}.booking-page h1{font-size:30px}.booking-card{padding:21px 18px}.booking-pair{grid-template-columns:minmax(0,1fr);gap:0}.booking-counts{gap:8px}.booking-counts .booking-input{padding:10px 8px}.booking-summary{padding:20px}.booking-summary dl{grid-template-columns:minmax(0,1fr);gap:0}.booking-summary dl div{padding:9px 0;display:flex;gap:10px;justify-content:space-between}.booking-summary dd{text-align:right;max-width:68%;font-size:14px;margin:0}.booking-summary dt{padding-top:2px}.booking-form legend{font-size:17px}.booking-button{font-size:15px}}

.booking-form{margin:0!important;padding:0!important;max-width:none!important}

@media(max-width:500px){#cssmenu{width:100%!important;min-width:0!important;max-width:100%}}
