/* Single-product mobile layout. Keep overflow inside content tables and rails. */
@media screen and (max-width:991.98px) {
  body.single-product.mobilux-responsive .mobilux-single-product :where(
    .overview-content,.overview-copy,.mobilux-product-description,.product-short,
    .woocommerce-variation-description,.single_variation_wrap,.woocommerce-variation,
    .woocommerce-variation-price,.mobilux-native-attributes,.review-list,
    .comment-text,.mobilux-review-extras,.mobilux-review-media-grid,
    .mobilux-gallery-thumbs-shell,.grouped_form
  ) {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
  }

  /* The rows already use grid; remove the outer anonymous table sizing layer. */
  body.single-product.mobilux-responsive .mobilux-native-purchase table.variations {
    display:block;
    width:100%;
    border-spacing:0;
  }
  body.single-product.mobilux-responsive .mobilux-native-purchase table.variations :where(tbody,tr,th,td) {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
  }
  body.single-product.mobilux-responsive .mobilux-native-purchase table.variations td.value {
    position:relative;
  }
  body.single-product.mobilux-responsive .woocommerce-variation-price .price {
    flex-wrap:wrap;
    min-width:0;
    max-width:100%;
  }

  body.single-product.mobilux-responsive .section-title-row {
    flex-wrap:wrap;
    gap:12px;
  }
  body.single-product.mobilux-responsive .section-title-row > div {
    flex:1 1 0;
    min-width:0;
    max-width:100%;
  }
  body.single-product.mobilux-responsive .section-title-row > .content-index { flex:0 0 auto; }
  body.single-product.mobilux-responsive :where(.section-title-row h2,.product-title,.product_title) {
    white-space:normal;
    overflow-wrap:anywhere;
  }

  body.single-product.mobilux-responsive :where(.mobilux-product-description,.product-short,.woocommerce-variation-description) :where(p,li,dt,dd,a,th,td) {
    overflow-wrap:anywhere;
  }
  body.single-product.mobilux-responsive :where(.mobilux-product-description,.product-short,.woocommerce-variation-description) :where(pre,code) {
    max-width:100%;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
  }
  body.single-product.mobilux-responsive :where(.mobilux-product-description,.product-short,.woocommerce-variation-description) :where(img,video,canvas,iframe,svg,figure,.wp-caption) {
    box-sizing:border-box;
    min-width:0;
    max-width:100% !important;
    max-inline-size:100% !important;
  }
  body.single-product.mobilux-responsive :where(.mobilux-product-description,.product-short,.woocommerce-variation-description) :where(img,video) {
    height:auto !important;
  }
  body.single-product.mobilux-responsive :where(.mobilux-product-description,.product-short,.woocommerce-variation-description) :where(figure,.wp-caption) {
    margin-inline:0;
  }
  body.single-product.mobilux-responsive .mobilux-product-description :where(.alignfull,.alignwide) {
    width:100% !important;
    max-width:100% !important;
    margin-inline:0 !important;
    left:auto;
    right:auto;
  }
  body.single-product.mobilux-responsive :where(.mobilux-product-description,.product-short,.woocommerce-variation-description) :where(.wp-block-table,.table-responsive,.mobilux-table-viewport) {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
  }
  body.single-product.mobilux-responsive .mobilux-native-attributes .woocommerce-product-attributes {
    table-layout:fixed;
    width:100%;
    max-width:100%;
  }
  body.single-product.mobilux-responsive .mobilux-native-attributes .woocommerce-product-attributes th { width:34%; }
  body.single-product.mobilux-responsive .mobilux-native-attributes :where(th,td,p,a) {
    white-space:normal;
    overflow-wrap:anywhere;
  }

  body.single-product.mobilux-responsive .product-stage::before,
  body.single-product.mobilux-responsive .product-stage-glow { max-width:100%; }
  body.single-product.mobilux-responsive .product-stage .flex-control-thumbs { touch-action:auto; }
  body.single-product.mobilux-responsive .mobilux-review-media-item { max-width:100%; }
  body.single-product.mobilux-responsive .mobile-product-buybar {
    width:auto;
    min-width:0;
    max-width:calc(100% - 24px);
    left:max(12px,env(safe-area-inset-left,0px));
    right:max(12px,env(safe-area-inset-right,0px));
  }
  body.single-product.mobilux-responsive .mobile-product-buybar > .btn {
    height:auto;
    min-height:44px;
    padding-block:10px;
    overflow-wrap:anywhere;
  }
}

@media screen and (max-width:575.98px) {
  /* Native grouped products need usable room for quantity, name and price. */
  body.single-product.mobilux-responsive .mobilux-native-purchase .group_table,
  body.single-product.mobilux-responsive .mobilux-native-purchase .group_table tbody {
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  body.single-product.mobilux-responsive .mobilux-native-purchase .group_table tr {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    padding-block:10px;
    border-bottom:1px solid #eef0f5;
  }
  body.single-product.mobilux-responsive .mobilux-native-purchase .group_table td {
    display:block;
    width:auto;
    min-width:0;
    padding:6px 0;
    border:0;
    overflow-wrap:anywhere;
  }
  body.single-product.mobilux-responsive .mobilux-native-purchase .group_table .quantity {
    width:105px;
    max-width:100%;
  }
}
