/* Scope everything to this page's form */
#openTicketForm.ost-clean .form-field > label {
  display: block;
  width: auto;          /* override core width */
  float: none;          /* undo core float */
  margin: 0 0 .25rem 0;
}

#openTicketForm.ost-clean .form-field .field {
  display: block;
  width: 100%;
}

#openTicketForm.ost-clean input[type="text"],
#openTicketForm.ost-clean input[type="email"],
#openTicketForm.ost-clean select,
#openTicketForm.ost-clean textarea {
  max-width: 680px;
}

#openTicketForm.ost-clean fieldset { margin-bottom: 1rem; }
#openTicketForm.ost-clean .ticket-actions { text-align: center; margin-top: 1rem; }
#openTicketForm.ost-clean .ticket-actions .button { margin: 0 .35rem; }

#openTicketForm.ost-clean .dropzone { max-width: 680px; }
#openTicketForm.ost-clean #topicId { max-width: 400px; }
#openTicketForm.ost-clean .cf-turnstile { margin: .5rem 0; }

/* Scope to the stock id the theme uses */
#ticketForm.ost-clean .df { border-collapse: collapse; }

/* The dynamic template puts label + input in one cell */
#ticketForm.ost-clean .df td > label { display:block; margin:0 0 .25rem 0; }

/* Inputs readable width */
#ticketForm.ost-clean input[type="text"],
#ticketForm.ost-clean input[type="email"],
#ticketForm.ost-clean select,
#ticketForm.ost-clean textarea { max-width: 680px; }

/* Spacing & polish */
#ticketForm.ost-clean fieldset { margin-bottom: 1rem; }
#ticketForm.ost-clean .ticket-actions { text-align:center; margin-top:1rem; }
#ticketForm.ost-clean .ticket-actions .button { margin:0 .35rem; }
#ticketForm.ost-clean .df .error { margin-top:.35rem; }
#ticketForm.ost-clean #topicId { max-width:360px; }
#ticketForm.ost-clean .cf-turnstile { margin:.5rem 0; }

/* Optional: 2 columns only on wide screens, table-safe */
@media (min-width: 900px){
  /* Treat table as a grid container without breaking semantics */
  #ticketForm.ost-clean .df,
  #ticketForm.ost-clean .df > tbody { display:block; }

  #ticketForm.ost-clean .df {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px 24px;
    align-items:start;
  }

  /* Make each row a grid item; avoid splitting */
  #ticketForm.ost-clean .df tr { display:block; break-inside: avoid; }
}