/* Site-wide mobile / Telegram WebView readability.
   Prevents clipped wide content (tables, pre, long tokens) when parents use
   overflow-x: clip — keep horizontal scroll inside dedicated wrappers.
   Scoped to narrow viewports: these selectors also carry deliberate,
   narrower desktop caps in the theme sheets (e.g. .content-body's reading
   column, .container's --max-width) loaded earlier in <head> — an unscoped
   `max-width: 100%` here has equal specificity and, loading later, would
   win the cascade and blow those caps out to full-bleed on desktop too. */
@media (max-width: 900px) {
  .site-wrapper,
  .site-main,
  .container,
  .page-body,
  .page-layout,
  .page-content,
  .prop-info-page,
  .prop-info-body,
  .content-body,
  .cms-html-content,
  .checkout-page,
  .checkout-grid,
  .checkout-card,
  .cart-page,
  .cart-grid,
  .product-page,
  .pp-grid {
    min-width: 0;
    max-width: 100%;
  }
}

.cms-table-wrap,
.legal-table-wrap,
.orders-table-wrap,
.data-table-wrap,
.lb-table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  scrollbar-width: thin;
}

.cms-table-wrap::-webkit-scrollbar,
.legal-table-wrap::-webkit-scrollbar,
.orders-table-wrap::-webkit-scrollbar,
.data-table-wrap::-webkit-scrollbar,
.lb-table-wrap::-webkit-scrollbar {
  height: 8px;
}

.cms-table-wrap::-webkit-scrollbar-thumb,
.legal-table-wrap::-webkit-scrollbar-thumb,
.orders-table-wrap::-webkit-scrollbar-thumb,
.data-table-wrap::-webkit-scrollbar-thumb,
.lb-table-wrap::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--color-text, #64748b) 28%, transparent);
  border-radius: 999px;
}

.content-body img,
.cms-html-content img,
.prop-info-page img {
  max-width: 100%;
  height: auto;
}

.content-body pre,
.cms-html-content pre,
.legal-doc pre {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: pre;
}

.content-body,
.cms-html-content,
.prop-info-page {
  overflow-wrap: break-word;
}

.content-body > table,
.cms-html-content > table,
.checkout-card > table,
.container > table {
  max-width: 100%;
}

@media (max-width: 900px) {
  .site-wrapper,
  .site-main {
    overflow-x: clip;
    max-width: 100%;
  }

  .cms-table-wrap > table,
  .legal-table-wrap > table,
  .orders-table-wrap > table,
  .data-table-wrap > table,
  .lb-table-wrap > table {
    width: max-content;
    min-width: max(100%, 28rem);
  }

  .tab-nav,
  .acc-tabs,
  .qb-platform-tabs,
  .prop-info-nav {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    flex-wrap: nowrap;
  }

  .prop-info-nav {
    padding-bottom: 4px;
  }

  .prop-info-nav .btn {
    flex: 0 0 auto;
  }

  input,
  select,
  textarea {
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  .cms-table-wrap > table,
  .legal-table-wrap > table,
  .orders-table-wrap > table,
  .data-table-wrap > table,
  .lb-table-wrap > table {
    min-width: max(100%, 22rem);
    font-size: 13px;
  }

  .cart-item {
    flex-wrap: wrap;
  }

  .cart-item-price {
    margin-inline-start: 0;
  }

  .pp-actions .btn {
    min-width: 0;
    width: 100%;
  }
}
