/* Scoped cart and checkout improvements; native commerce controls are retained. */
body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form tr.ibnhoms-cart-actions-row {
  display: table-row !important;
}
body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form .actions {
  padding-top: 20px !important;
  text-align: end !important;
}
body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart .actions button.button[name="update_cart"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 180px !important;
  max-width: 100%;
  height: auto !important;
  min-height: 48px !important;
  padding: 12px 24px !important;
  margin: 0 !important;
  border: 1px solid #ee4058 !important;
  border-radius: 10px !important;
  background: #d92a3b !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  visibility: visible !important;
}
body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart .actions button.button[name="update_cart"]:disabled {
  opacity: .6;
  cursor: default;
}
body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart .actions button.button[name="update_cart"]:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
body.ibnhoms-commerce-design.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.ibnhoms-commerce-design.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  width: 100%;
  min-width: 0;
}
body.ibnhoms-commerce-design.woocommerce-checkout .form-row .woocommerce-input-wrapper {
  display: block;
  width: 100%;
  min-width: 0;
}
body.ibnhoms-commerce-design.woocommerce-checkout .form-row :is(input.input-text, textarea, select) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
}
body.ibnhoms-commerce-design.woocommerce-checkout .ibnhoms-field-error {
  display: block;
  width: 100%;
  margin: 8px 0 0;
  color: #ffc4cd;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
body.ibnhoms-commerce-design.woocommerce-checkout .ibnhoms-field-error > span { display: block; }
body.ibnhoms-commerce-design.woocommerce-checkout .ibnhoms-field-has-error :is(input.input-text, textarea, select) {
  border: 2px solid #ed546b !important;
}
@media (max-width: 767px) {
  body.ibnhoms-commerce-design.woocommerce-checkout .e-checkout__column-start #customer_details > :is(.col-1, .col-2) {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout #customer_details .woocommerce-additional-fields {
    padding: 20px 0 0 !important;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .e-cart__container {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .e-cart__column {
    width: 100% !important;
    min-width: 0 !important;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form .e-shop-table,
  body.ibnhoms-commerce-design.woocommerce-cart .e-cart-totals.e-cart-section {
    padding: 0 !important;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item {
    padding: 12px !important;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-name {
    text-align: start !important;
    overflow-wrap: anywhere;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-name::before {
    float: none !important;
    display: block;
    margin-bottom: 6px;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form tr.ibnhoms-cart-actions-row {
    padding: 0 !important;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.actions {
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    padding: 20px 0 0 !important;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form tr.ibnhoms-cart-actions-row {
    display: block !important;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout .e-checkout__container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout :is(.e-checkout__column-start, .e-checkout__column-end) {
    width: 100% !important;
    min-width: 0;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout .form-row {
    width: 100% !important;
    min-width: 0;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout .form-row :is(input.input-text, textarea, select) {
    font-size: 16px !important;
    min-height: 48px;
  }
  body.ibnhoms-commerce-design.woocommerce-cart .woocommerce-cart-form table.shop_table.cart .actions button.button[name="update_cart"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Checkout phone width: remove stacked host padding around secure gateway frames.
 * Gateway fields, errors, saved-method choices and iframe sizing remain native. */
@media (max-width: 767px) {
  body.ibnhoms-commerce-design.woocommerce-checkout .elementor-element-bf74e11 > .e-con-inner {
    padding-inline: 0 !important;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout .e-checkout__order_review-2 {
    padding: 12px !important;
    min-width: 0;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout #payment {
    padding: 0 !important;
    min-width: 0;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout #payment .wc_payment_method {
    box-sizing: border-box;
    padding: 12px !important;
    min-width: 0;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout #payment .payment_box {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout #payment .payment_box > fieldset {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.ibnhoms-commerce-design.woocommerce-checkout #payment .payment_box > fieldset .woocommerce-SavedPaymentMethods-saveNew {
    margin-top: 12px !important;
  }
}

/* Keep the PayPal smart-button stack inside the selected PayPal method. */
body.ibnhoms-commerce-design.woocommerce-checkout #payment .payment_box.payment_method_ppcp-gateway {
  overflow: visible !important;
}
body.ibnhoms-commerce-design.woocommerce-checkout #payment .payment_box.payment_method_ppcp-gateway > .ppc-button-wrapper.ibnhoms-paypal-buttons-contained {
  box-sizing: border-box;
  display: block !important;
  float: none !important;
  clear: both;
  width: 100% !important;
  max-width: none !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
body.ibnhoms-commerce-design.woocommerce-checkout #payment .payment_box.payment_method_ppcp-gateway > .ppc-button-wrapper.ibnhoms-paypal-buttons-contained #ppc-button-ppcp-gateway {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
@media (max-width: 767px) {
  body.ibnhoms-commerce-design.woocommerce-checkout #payment .payment_box.payment_method_ppcp-gateway > .ppc-button-wrapper.ibnhoms-paypal-buttons-contained {
    margin-top: 12px !important;
  }
}

/* 0.5.76: omit the unused checkout column when it has no child content. */
body.ibnhoms-commerce-design.woocommerce-checkout #customer_details > .col-2:not(:has(*)) {
  display: none !important;
}
