/* Macinfo 2026-10-04: preserve complete tables in a local horizontal scroller. */
.mi-responsive-table {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}
.mi-responsive-table:focus-visible { outline: 2px solid #258dcb; outline-offset: 2px; }
@media (max-width: 767px) {
  /* Keep the 8 px visual dots, enlarge only their interaction areas. */
  .mi-blog-carousel { padding-bottom: 54px; }
  .mi-blog__pages { height: 44px; }
  .mi-blog__pages button { width: 44px; height: 44px; flex: 0 0 44px; }
  /* Shared product quantity component; desktop dimensions remain unchanged. */
  .mi-product .product__actions-qty-add { flex-wrap: wrap; gap: 12px; }
  .mi-product .product__quantity { flex-basis: 150px; width: 150px; }
  .mi-product .quantity-button__group { width: 150px; height: 46px; }
  .mi-product .quantity-button__group > .btn { flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; }
  .mi-product .quantity-button__group > input { flex: 1 1 auto; width: 60px; height: 44px; }
}


/* Mobile primary purchase button: visual sizing only, preserve native states/actions. */
@media (max-width: 767px) {
  .mi-product .product__add-to-cart {
    flex: 1 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .mi-product .product__add-to-cart-button {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 20px;
    font-size: 14px;
    line-height: 1.25;
    justify-content: center;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }
}


/* Mobile delivery spacing: remove purchase padding and gaps between empty placeholders.
   Keep all hook nodes and text visible. Normal gaps return when a widget adds elements. */
@media (max-width: 767px) {
  .mi-product .mi-product__purchase { padding-bottom: 0; }
  .mi-product .product__additional-info:not(:has(> :not(input[type="hidden"]):not(div))):not(:has(> div > *)) {
    gap: 0;
  }
}
