
/* === FORM CONTAINMENT FIX === */
/* Keep everything sized to the container */
*, *::before, *::after { box-sizing: border-box; }

/* Main form wrapper */
.form-container, .petition-form, .form-section {
  max-width: 1100px !important;   /* match your white box width */
  width: 100% !important;
  margin: 0 auto 40px auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  overflow: hidden;                /* prevent children from spilling */
  background: #000000 !important;  /* stay black */
  border: none !important;
  box-shadow: none !important;
}

/* Rows & groups */
.form-row { 
  display: flex; 
  gap: 16px; 
  flex-wrap: wrap;                /* wrap on smaller screens instead of overflowing */
}
.form-group { 
  flex: 1 1 300px;                /* grow but never narrower than ~300px */
  min-width: 260px;
}

/* Inputs and textarea fill their columns and never exceed the container */
input, textarea, select {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 12px !important;
}

/* Kill any huge fixed widths that cause bleeding */
[id*="Form"] input, 
[id*="Form"] textarea, 
[id*="Form"] select {
  width: 100% !important;
}

/* Safety: prevent page horizontal scroll from form */
html, body { overflow-x: hidden; }
