.public-form { max-width: 760px; padding: 2rem; margin: 0 auto; }
.public-form .field { margin: 1.25rem 0; }
.public-form .field > label, .public-form small { display: block; margin-bottom: .4rem; }
.public-form textarea, .public-form input[type=text], .public-form input[type=email], .public-form input[type=tel], .public-form select { width: 100%; box-sizing: border-box; padding: .6rem; }
.public-form .actions { display: flex; gap: 1rem; margin-top: 1.5rem; }
.public-form button { padding: .6rem 1.2rem; cursor: pointer; }
.public-form [role=alert] { color: #a11; }
.public-form [hidden] { display: none !important; }
/* Keep the editor within the available width; stack cells on smaller screens. */
.cms-admin .form-items-table table { width: 100%; table-layout: fixed; }
.cms-admin .form-item-name { width: 25%; }
.cms-admin .form-item-flag { width: 7%; }
.cms-admin .form-item-input { width: 39%; }
.cms-admin .form-item-number { width: 11%; }
.cms-admin .form-items-table td { vertical-align: top; }
.cms-admin .form-items-table input:not([type=checkbox]):not([type=hidden]),
.cms-admin .form-items-table select,
.cms-admin .form-items-table textarea { width: 100%; min-width: 0; }
.cms-admin .form-items-table small { display: block; }
@media (max-width: 800px) {
  .cms-admin .form-items-table colgroup { display: none; }
  .cms-admin .form-items-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .cms-admin .form-items-table table, .cms-admin .form-items-table tbody { display: block; }
  .cms-admin .form-items-table tr { display: block; margin-bottom: 16px; border: 1px solid #d6e0e9; border-radius: 6px; }
  .cms-admin .form-items-table td { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 12px; }
  .cms-admin .form-items-table td::before { content: attr(data-label); font-weight: 700; }
  .cms-admin .form-items-table td:last-child { border-bottom: 0; }
  .cms-admin .form-items-table input[type=checkbox] { justify-self: start; }
}
