#booking-fields{margin:7px 0 22px;padding:18px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#booking-fields[hidden]{display:none}#booking-fields legend{font-size:14px;font-weight:600;margin-bottom:10px}#booking-fields .field-hint{margin:0 0 16px;line-height:1.7}
#booking-time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.contact .booking-time{position:relative;cursor:pointer;margin:0}.contact .booking-time input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.booking-time span{display:block;border:1px solid #bcc6b4;padding:12px 6px;text-align:center;font-size:12px;line-height:1.5}.booking-time input:checked+span{background:var(--green);color:var(--paper);border-color:var(--green)}.booking-time input:focus-visible+span{outline:3px solid #779d6a;outline-offset:3px}.booking-times{margin-bottom:14px}.booking-summary,#booking-load-status{font-size:12px;line-height:1.7;margin-top:14px}.contact button:disabled{opacity:.5;cursor:default}@media(max-width:480px){#booking-time-options{grid-template-columns:1fr 1fr}}

#plan-upload{border:0;border-top:1px solid var(--line);padding:20px 0;margin-top:18px}#plan-upload legend{font-size:13px;font-weight:600;margin-bottom:12px}#plan-files{font-size:12px;padding:12px;background:#fff}#plan-files::file-selector-button{font:inherit;background:var(--green);color:var(--paper);border:0;padding:9px 12px;margin-right:10px;cursor:pointer}#upload-list{font-size:12px;line-height:1.8;padding-left:18px;overflow-wrap:anywhere}#clear-files{align-self:start;border:0;border-bottom:1px solid currentColor;background:none;padding:5px 0;color:var(--green);font:inherit;font-size:12px;cursor:pointer}#clear-files[hidden]{display:none}#upload-error{font-size:12px;line-height:1.7;color:#8d291b;margin-top:12px}
