diff --git a/css/commerce_discount.css b/css/commerce_discount.css
index 7e3bf41..c1fbb04 100644
--- a/css/commerce_discount.css
+++ b/css/commerce_discount.css
@@ -119,7 +119,7 @@
  * Choose offer type block.
  */
 .field-name-commerce-discount-offer {
-  border: none;
+  border: 0;
   margin: 0;
   padding: 0;
 }
@@ -128,79 +128,76 @@
   display: table;
   clear: both;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type label {
-  border-bottom: 1px solid #ccc;
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios {
+  padding-left: 0;
+  padding-right: 0;
 }
-[dir="ltr"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type label {
-  padding-left: 5px;
+[dir="ltr"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios {
+  float: left;
+  margin-right: 20px;
+  padding-right: 20px;
+  border-right: 1px dotted #ccc;
 }
-[dir="rtl"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type label {
-  padding-right: 5px;
+[dir="rtl"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios {
+  float: right;
+  margin-left: 20px;
+  padding-left: 20px;
+  border-left: 1px dotted #ccc;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios {
   clear: both;
-  background-color: transparent;
   margin: 10px;
-  padding: 4px 0;
+  padding: 0;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item {
   color: black;
   border-radius: 5px;
   margin-bottom: 5px;
   padding: 5px;
 }
-[dir="ltr"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item {
+[dir="ltr"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item {
   margin-right: 20px;
 }
-[dir="rtl"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item {
+[dir="rtl"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item {
   margin-left: 20px;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item:hover {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item:hover {
   background-color: #f6f6f6;
   cursor: pointer;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item:hover label {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item:hover label {
   cursor: pointer;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item input {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item input {
   display: inline;
 }
-[dir="ltr"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios {
-  float: left;
-  margin-right: 20px;
-  padding-right: 20px;
-  border-right: 1px dotted #ccc;
-}
-[dir="rtl"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios {
-  float: right;
-  margin-left: 20px;
-  padding-left: 20px;
-  border-left: 1px dotted #ccc;
-}
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item.selected {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item.selected {
   background-color: #eee;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios .form-item .ajax-progress {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios .form-item .ajax-progress {
   display: none;
 }
-.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios label {
+.field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios label {
   border-bottom: 0;
 }
-[dir="ltr"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios label {
+[dir="ltr"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios label {
   padding-left: 0;
 }
-[dir="rtl"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type .form-radios label {
+[dir="rtl"] .field-name-commerce-discount-offer .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios .form-radios label {
   padding-right: 0;
 }
-.field-name-commerce-discount-offer .ief-form > .fieldset-wrapper:after {
+.field-name-commerce-discount-offer .commerce-offer-type-wrapper > .fieldset-wrapper:after {
   content: "";
   display: table;
   clear: both;
 }
-[dir="ltr"] .field-name-commerce-discount-offer .ief-form > .fieldset-wrapper > .form-type-radios, [dir="ltr"] .field-name-commerce-discount-offer .ief-form > .fieldset-wrapper > .commerce-offer-fields-wrapper {
+.field-name-commerce-discount-offer .commerce-offer-fields-wrapper {
+  padding: 0;
+}
+[dir="ltr"] .field-name-commerce-discount-offer .commerce-offer-fields-wrapper {
   float: left;
 }
-[dir="rtl"] .field-name-commerce-discount-offer .ief-form > .fieldset-wrapper > .form-type-radios, [dir="rtl"] .field-name-commerce-discount-offer .ief-form > .fieldset-wrapper > .commerce-offer-fields-wrapper {
+[dir="rtl"] .field-name-commerce-discount-offer .commerce-offer-fields-wrapper {
   float: right;
 }
 .field-name-commerce-discount-offer .form-wrapper .form-wrapper .form-item {
@@ -321,18 +318,18 @@
   margin-right: 10px;
 }
 .commerce-discount-usage .field-type-number-integer .form-disabled input {
-  border: none;
-  background: none;
+  border: 0;
+  background-color: transparent;
 }
 
 /**
  * Overview table.
  */
 .view-commerce-discount-overview .views-table {
-  border: none;
+  border: 0;
 }
 .view-commerce-discount-overview .views-table tr, .view-commerce-discount-overview .views-table td {
-  border: none;
+  border: 0;
 }
 .view-commerce-discount-overview .views-table th {
   text-transform: none;
diff --git a/includes/commerce_discount_offer.inline_entity_form.inc b/includes/commerce_discount_offer.inline_entity_form.inc
index 40fe212..d2e721a 100644
--- a/includes/commerce_discount_offer.inline_entity_form.inc
+++ b/includes/commerce_discount_offer.inline_entity_form.inc
@@ -39,48 +39,58 @@ class CommerceDiscountOfferInlineEntityFormController extends EntityInlineEntity
     // Get discount type.
     $discount_type = commerce_discount_type($form_state['commerce_discount']->type);
 
-    $options = array();
+    $offer_types = array();
     foreach (commerce_discount_offer_types() as $type => $info) {
       if (in_array($discount_type['entity type'], $info['entity types'])) {
-        $options[$type] = $info['label'];
+        $offer_types[$type] = $info['label'];
       }
     }
 
     // Ensures the discount type includes the passed offer type. If not, set the
     // offer type to the first found valid offer.
-    if (!in_array($offer->type, array_keys($options))) {
-      $offer->type = reset(array_keys($options));
+    if (!in_array($offer->type, array_keys($offer_types))) {
+      $offer->type = reset(array_keys($offer_types));
     }
 
+    $ief_id = $entity_form['#ief_id'];
+    field_attach_form('commerce_discount_offer', $offer, $entity_form, $form_state, LANGUAGE_NONE);
+
+    $fields_wrapper = array(
+      '#type' => 'container',
+      '#attributes' => array(
+        'class' => array('commerce-offer-fields-wrapper'),
+      ),
+      '#weight' => 2,
+    );
+
+    // Transfer field elements onto fields container.
+    foreach (element_children($entity_form) as $key) {
+      $fields_wrapper[$key] = $entity_form[$key];
+      unset($entity_form[$key]);
+    }
+    // Set the fields container back on the form.
+    $entity_form['fields'] = $fields_wrapper;
+
+    // Add offer type options.
     $entity_form['type'] = array(
-      '#title' => t('Choose offer type'),
       '#type' => 'radios',
-      '#options' => $options,
+      '#title' => t('Choose offer type'),
+      '#title_display' => 'invisible',
+      '#options' => $offer_types,
       '#required' => FALSE,
       '#default_value' => $offer->type,
       '#ajax' => array(
         'callback' => 'inline_entity_form_get_element',
-        'wrapper' => 'inline-entity-form-' . $entity_form['#ief_id'],
+        'wrapper' => 'inline-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,
+      '#wrapper_attributes' => array('class' => array('form-type-radios--offer-type')),
+      '#weight' => 1,
     );
 
-    field_attach_form('commerce_discount_offer', $offer, $entity_form, $form_state, LANGUAGE_NONE);
+    // Add wrapper class for CSS to avoid form item collisions.
+    $entity_form['#attributes']['class'] = array('commerce-offer-type-wrapper');
+    $entity_form['#type'] = 'fieldset';
+    $entity_form['#title'] = t('Choose offer type');
 
     return $entity_form;
   }
diff --git a/sass/commerce_discount.scss b/sass/commerce_discount.scss
index 642a142..e97ae88 100644
--- a/sass/commerce_discount.scss
+++ b/sass/commerce_discount.scss
@@ -114,43 +114,32 @@
   // Help with floaties inside.
   @include clearfix;
 
-  border: none;
+  border: 0;
   margin: 0;
   padding: 0;
 
-  .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type {
-    label {
-      border-bottom: 1px solid $gray2;
-
-      [dir="ltr"] & {
-        padding-left: 5px;
-      }
+  // Offer type options.
+  .form-item-commerce-discount-fields-commerce-discount-offer-und-form-type.form-type-radios {
+    padding-left: 0;
+    padding-right: 0;
+    [dir="ltr"] & {
+      float: left;
+      margin-right: 20px;
+      padding-right: 20px;
+      border-right: 1px dotted $gray2;
+    }
 
-      [dir="rtl"] & {
-        padding-right: 5px;
-      }
+    [dir="rtl"] & {
+      float: right;
+      margin-left: 20px;
+      padding-left: 20px;
+      border-left: 1px dotted $gray2;
     }
 
     .form-radios {
       @include radio-buttons;
-
-      background-color: transparent;
       margin: 10px;
-      padding: 4px 0;
-
-      [dir="ltr"] & {
-        float: left;
-        margin-right: 20px;
-        padding-right: 20px;
-        border-right: 1px dotted $gray2;
-      }
-
-      [dir="rtl"] & {
-        float: right;
-        margin-left: 20px;
-        padding-left: 20px;
-        border-left: 1px dotted $gray2;
-      }
+      padding: 0;
 
       .form-item {
         &.selected {
@@ -176,19 +165,20 @@
     }
   }
 
-  // The two columns for the offer type.
-  .ief-form > .fieldset-wrapper {
+  // Avoid collision with fields below.
+  .commerce-offer-type-wrapper > .fieldset-wrapper {
     @include clearfix;
+  }
 
-    & > .form-type-radios,
-    & > .commerce-offer-fields-wrapper {
-      [dir="ltr"] & {
-        float: left;
-      }
+  // The two columns for the offer type.
+  .commerce-offer-fields-wrapper {
+    padding: 0;
+    [dir="ltr"] & {
+      float: left;
+    }
 
-      [dir="rtl"] & {
-        float: right;
-      }
+    [dir="rtl"] & {
+      float: right;
     }
   }
 
@@ -351,8 +341,8 @@
     }
 
     .form-disabled input {
-      border: none;
-      background: none;
+      border: 0;
+      background-color: transparent;
     }
   }
 }
@@ -362,10 +352,10 @@
  */
 .view-commerce-discount-overview {
   .views-table {
-    border: none;
+    border: 0;
 
     tr, td {
-      border: none;
+      border: 0;
     }
 
     th {
