diff --git a/css/commerce_discount-rtl.css b/css/commerce_discount-rtl.css
index c0849e3..399716f 100644
--- a/css/commerce_discount-rtl.css
+++ b/css/commerce_discount-rtl.css
@@ -83,8 +83,7 @@ html.js input.form-autocomplete {
   border-right: 0;
   border-left: 1px dotted #cccccc;
   float: right;
-  padding-right: 0;
-  padding-left: 20px;
+  padding: 4px 0px 4px 20px;
 }
 .field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-item div.form-radios .form-item {
   margin-left: 20px;
@@ -98,9 +97,6 @@ html.js input.form-autocomplete {
   padding-right: 5px;
   padding-left: 0;
 }
-.field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-wrapper .form-item {
-  float: right;
-}
 
 /**
  * Discount dates block.
diff --git a/css/commerce_discount.css b/css/commerce_discount.css
index 1162834..755131a 100644
--- a/css/commerce_discount.css
+++ b/css/commerce_discount.css
@@ -108,25 +108,19 @@
 }
 .field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-item {
   margin-bottom: 2px;
-  padding: 0;
 }
 .field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-item label {
   border-bottom: 1px solid #cccccc;
   padding-left: 5px;
 }
 .field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-item div.form-radios {
-  padding: 0px;
   clear: both;
-  margin-top: 10px;
   background-color: transparent;
-  border-right: 1px dotted #cccccc;
   /* LTR */
+  border-right: 1px dotted #cccccc;
   float: left;
-  /* LTR */
-  margin: 10px;
-  padding: 4px;
-  padding-right: 20px;
-  /* LTR */
+  margin: 10px 20px 10px 10px;
+  padding: 4px 20px 4px 0px;
 }
 .field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-item div.form-radios .form-item {
   color: black;
@@ -159,12 +153,8 @@
   border-bottom: 0;
   padding-left: 0;
 }
-.field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-wrapper .form-item {
-    background-color: transparent;
-    float: left;
-    /* LTR */
-    margin: 10px;
-    padding: 4px;
+.field-name-commerce-discount-offer .commerce-offer-fields-wrapper {
+  float: left;
 }
 
 /**
diff --git a/includes/commerce_discount_offer.inline_entity_form.inc b/includes/commerce_discount_offer.inline_entity_form.inc
index a894875..c6bdd7d 100644
--- a/includes/commerce_discount_offer.inline_entity_form.inc
+++ b/includes/commerce_discount_offer.inline_entity_form.inc
@@ -59,6 +59,22 @@ class CommerceDiscountOfferInlineEntityFormController extends EntityInlineEntity
          'callback' => 'inline_entity_form_get_element',
          'wrapper' => 'inline-entity-form-' . $entity_form['#ief_id'],
       ),
+      '#weight' => -101,
+    );
+
+    // To ensure form fields float properly, we need to wrap them all in a div.
+    // However, the IEF module currently expects fields to be attached to the
+    // top level of the $entity_form element. This means a container cannot be
+    // used to supply that div, leading us to use static markup HTML with
+    // weights set to ensure they are placed correctly.
+    // @todo Remove this necessity by better form handling in the IEF module.
+    $entity_form['commerce_offer_fields_wrapper_open'] = array(
+      '#markup' => '<div class="commerce-offer-fields-wrapper">',
+      '#weight' => -100,
+    );
+    $entity_form['commerce_offer_fields_wrapper_close'] = array(
+      '#markup' => '</div>',
+      '#weight' => 100,
     );
 
     field_attach_form('commerce_discount_offer', $offer, $entity_form, $form_state, LANGUAGE_NONE);
