#courseForm [hidden] { display: none !important; }
#courseForm .booking-section { border:1px solid #cbdcd4; border-radius:16px; margin:12px 0; background:#fff; overflow:hidden; }
#courseForm .booking-section > summary { cursor:pointer; padding:18px 20px; font-weight:800; color:#07543f; background:#f1f7f4; min-height:44px; box-sizing:border-box; }
#courseForm .booking-section > summary:focus-visible { outline:3px solid #13875a; outline-offset:-3px; }
#courseForm .booking-section-body { padding:8px 18px 18px; }
#courseForm .booking-section-body > .field { display:block; margin:12px 0; }
#courseForm .booking-section-body textarea { width:100%; box-sizing:border-box; min-height:110px; }
#courseForm fieldset { min-width: 0; margin: 1.25rem 0; padding: 1rem; border: 1px solid #cbdcd4; border-radius: 1rem; }
#courseForm legend { padding: 0 .5rem; font-weight: 800; color: #07543f; }
#courseForm input[type="checkbox"] { width: 1.25rem; height: 1.25rem; justify-self: start; }
#courseForm select, #courseForm input, #courseForm textarea { min-width: 0; }
@media (min-width: 850px) {
  #courseForm fieldset:not([hidden]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem 1rem; }
  #courseForm fieldset > .sub { grid-column: 1 / -1; }
}
