/* Base */
.summary-add-to-cart-form-bundle {
  clear: both;
}

.summary-add-to-cart-form-bundle:before {
  display: table;
  content: '';
  clear: both;
}

div.bundled_product_summary,
.woocommerce div.product.bundled_product_summary {
  padding-bottom: 1.618em;
  margin-bottom: 1.618em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.bundled_product_summary .bundled_product_optional_checkbox span {
  font-weight: inherit;
}

.bundled_product_summary .bundled_product_optional_checkbox input,
.single-product form.cart .bundled_product_summary .bundled_product_optional_checkbox input {
  width: auto;
}

.bundled_product_summary .bundled_product_optional_checkbox {
  margin: 0;
  padding: 0 0 1em;
  display: inline-block;
}

.bundled_product_summary .bundled_item_wrap {
  min-height: 2px;
}

.woocommerce-page div.product div.bundled_product_images, .woocommerce-page #content div.product div.bundled_product_images, .woocommerce div.product div.bundled_product_images, .woocommerce #content div.product div.bundled_product_images {
  float: left;
  width: 20%;
  margin: 0;
}

.bundled_product_summary .bundled_product_images {
  float: left;
}

.bundled_product_summary .bundled_product_images figure {
  margin: 0;
}

.bundled_product_summary .bundled_product_images img {
  width: 100%;
  height: auto;
  display: block;
}

.bundled_product_summary .bundled_product_images a.placeholder_image[data-rel="photoSwipe"] {
  cursor: default;
}

div.bundled_product_summary:not(.thumbnail_hidden) .details {
  float: right;
  width: 80%;
  padding: 0 0 0 1.5em;
}

.summary-add-to-cart-form-bundle div.bundled_product_summary:not(.thumbnail_hidden) .details {
  padding: 0 0 0 2em;
}

.bundled_product_summary .bundled_product_title .item_suffix {
  font-style: italic;
}

.bundled_product_summary .bundled_product_title .bundled_product_title_link {
  margin-left: 0.5em;
}

.bundled_product_summary .bundled_product_title a.bundled_product_permalink {
  text-decoration: none !important;
  box-shadow: none !important;
  position: relative;
}

.bundled_product_summary .bundled_product_title a.bundled_product_permalink:before {
  content: '\e803';
  font-family: 'FontAwesomePB';
  position: absolute;
  font-size: 0.7em;
  top: 50%;
  -webkit-transform: translateY(-46%);
      -ms-transform: translateY(-46%);
          transform: translateY(-46%);
}

.bundled_item_cart_details p.stock, .bundled_item_cart_details span.price, .bundled_item_cart_details .single_variation .price, .bundled_item_cart_details p.bundled_item_unavailable, .bundled_item_cart_details .woocommerce-variation-description p:first-child,
.single-product div.product .bundled_item_cart_details span.price, .single-product div.product .bundled_item_cart_details .single_variation .price, .bundled_item_cart_details .woocommerce-variation-description p:first-child {
  margin: 1em 0 0;
}

.bundled_item_cart_details > p:first-child, .bundled_item_cart_details > span:first-child,
.single-product div.product .bundled_item_cart_details > p:first-child, .single-product div.product .bundled_item_cart_details > span:first-child {
  margin-top: 0;
}

.bundled_product_summary .bundled_item_wrap span.price,
.single-product .bundled_product_summary .bundled_item_wrap span.price {
  display: block;
}

.bundled_product_summary p.bundled_item_unavailable {
  font-weight: 500;
}

.bundled_product_summary.bundled_item_optional .bundled_product_optional_checkbox span.price,
.single-product div.product .bundled_product_summary.bundled_item_optional .bundled_product_optional_checkbox span.price {
  margin-left: 0.25em;
}

.bundled_item_wrap * + .bundled_item_button .quantity,
.single-product div.product .bundled_item_wrap * + .bundled_item_button .quantity {
  margin: 1.5em 0 0 0;
}

.bundled_product_summary .quantity_hidden {
  display: none !important;
}

.bundle_form {
  margin: 0 4px 2em;
}

.bundle_form .bundled_product.product {
  overflow: visible;
}

.bundle_data .bundle_button button.disabled {
  opacity: 0.5;
}

.bundled_item_wrap:before, .bundled_item_wrap:after, div.bundled_product_summary:after, div.bundled_product_summary:before, .bundle_data:after, .bundled_product_summary .bundled_product_optional_checkbox:after {
  display: table;
  content: '';
  clear: both;
}

.float_qty_input .details {
  padding-right: 100px;
  position: relative;
  width: 100%;
}

.float_qty_input .bundled_item_after_cart_details {
  position: absolute;
  right: 5px;
  top: 0px;
}

.bundled_product_checkbox {
  vertical-align: middle;
  margin: 0 6px 3px 0;
}

.bundle_error .woocommerce-info ul {
  list-style: none;
  margin: 0;
}

.bundle_error .woocommerce-info ul li {
  margin-bottom: 0.5em;
}

.bundle_error .woocommerce-info ul li:last-child {
  margin-bottom: 0;
}

.bundle_error .woocommerce-info {
  margin: 0 0 30px;
}

.bundle_form button {
  vertical-align: middle;
}

/* Animations */
.bundle_form .bundle_price, .bundle_form .bundle_error {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.bundle_form .bundle_price:before, .bundle_form .bundle_error:before, .bundle_form .bundle_availability:before {
  display: table;
  content: '';
  clear: both;
}

.bundle_form .bundle_price:after, .bundle_form .bundle_error:after, .bundle_form .bundle_availability:after {
  display: table;
  content: '';
  clear: both;
}

.bundle_form .bundle_price p.price,
.single-product .bundle_form .bundle_price p.price {
  line-height: 1em;
  margin: 0 0 30px;
}

.bundle_form .bundle_availability p.stock,
.single-product .bundle_form .bundle_availability p.stock {
  margin: 0 0 30px;
}

.bundle_form.bundle_out_of_stock .bundle_availability p.out-of-stock,
.single-product .bundle_form.bundle_out_of_stock .bundle_availability p.out-of-stock {
  margin: 0;
}

ul.bundled_products .bundled_product_summary .bundled_product_images {
  float: none !important;
  width: 100% !important;
}

/* Grid Layout */
ul.bundled_products .bundled_product_summary .quantity,
.single-product div.product form.cart ul.bundled_products .bundled_product_summary .quantity {
  float: none;
}

ul.bundled_products table.variations td {
  text-align: center;
}

ul.bundled_products li.bundled_product .price {
  display: inline-block;
}

ul.bundled_products li.bundled_product {
  text-align: center;
}

/* Tabular Layout */
table.bundled_products {
  border-width: 0 0 1px;
  margin-bottom: 2em;
}

table.bundled_products .bundled_product_summary {
  padding: 0;
}

table.bundled_products .bundled_product_summary .bundled_product_images {
  float: none !important;
  width: 100% !important;
}

table.bundled_products td.bundled_item_col {
  vertical-align: top;
  border: 0;
  padding: 1em;
}

table.bundled_products th.bundled_item_col {
  border: 0;
  padding: 1em;
}

table.bundled_products td.bundled_item_images_col {
  width: 20%;
  min-width: 100px;
}

table.bundled_products td.bundled_item_qty_col {
  max-width: 150px;
}

table.bundled_products td.bundled_item_qty_col, table.bundled_products th.bundled_item_qty_head {
  text-align: center;
}

.summary-add-to-cart-form-bundle table.bundled_products th, .summary-add-to-cart-form-bundle table.bundled_products td {
  padding: 1.5em;
}

table.bundled_products td.bundled_item_qty_col .quantity,
.single-product div.product form.cart table.bundled_products td.bundled_item_qty_col .quantity {
  float: none;
  margin: 0;
  display: inline-block;
}

table.bundled_products .bundled_product_summary td.bundled_item_details_col .details {
  width: 100%;
  float: none;
  padding: 0;
}

/* Integration: Composite Products */
span.summary_element_content span.content_bundled_product_details_wrapper {
  margin: 0.5em 0 0 0;
  display: block;
}

span.summary_element_content span.content_bundled_product_details {
  display: block;
}

span.summary_element_content span.content_bundled_product_image {
  width: 20%;
  margin: 0.75em auto 0 auto;
  display: none;
}
span.summary_element_content span.content_bundled_product_image img {
  margin-bottom: 0.5em;
}

span.summary_element_content span.content_bundled_product_title {
  display: block;
}

span.summary_element_content span.content_bundled_product_title:first-of-type {
  margin-top: 0.5em;
}

span.summary_element_content span.content_bundled_product_title span.bundled_product_title_sep {
  display: none;
}

.component .bundle_form {
  margin-bottom: 0;
}

.component .component_wrap .bundle_price span.price,
.single-product .component div.product .component_wrap .bundle_price span.price {
  margin: 0 0 1.5em;
}

/* Integration: Product Add-Ons */
.bundle_form .product-addon {
  margin: 0;
  padding: 10px 0;
}

/* Integration: Variations */
.bundle_form table.variations .required {
  border-bottom: 0 !important;
  color: red;
}

.bundle_form table.variations,
.single-product div.product .bundle_form table.variations {
  margin: 0;
}

.bundle_form table.variations td, .bundle_form table.variations th {
  display: list-item;
  padding: 0;
  list-style: none;
  background-color: transparent;
}

.bundle_form .cart .variations select, .bundled_product .cart .variations .bundled_variation_attribute_value,
.single-product div.product .bundle_form .cart .variations select {
  margin: 0;
}

.bundle_form table.variations td.value,
.single-product div.product .bundle_form table.variations td.value {
  margin: 0;
  padding: 0.25em 0 0;
}

.bundle_form .variations_button,
.single-product div.product .bundle_form .variations_button {
  padding-top: 0px;
  border-top: none;
}

.bundled_product .cart .variations, .bundled_product .cart .variations tr, .bundled_product .cart .variations td {
  border: 0;
}

.bundled_product .cart .variations td.label {
  padding: 1em 0 0;
}

.bundled_product .cart .variations tr:first-child td.label {
  padding: 0;
}

.bundled_product .cart .attribute_value_static td label:after {
  content: ':';
}

.bundled_product .cart .variations a.reset_variations {
  margin: 1em 0 0;
  display: inline-block;
  visibility: visible !important;
}
