/* H5 legibility layer: raises small copy without changing the established layout. */
.app-shell {
  font-size: 16px;
}

.app-shell p,
.app-shell small,
.app-shell button,
.app-shell input,
.app-shell select,
.app-shell textarea,
.app-shell label {
  font-size: 16px;
}

/* Compact bold labels that are not represented by p/small elements. */
.app-shell .product-title,
.app-shell .record-item strong,
.app-shell .record-item > b,
.app-shell .source-page-search-box b,
.app-shell .source-page-notice strong,
.app-shell .checkout-address-copy strong,
.app-shell .checkout-item-copy strong,
.app-shell .address-item .address-select-button strong,
.app-shell .withdrawal-request-card header strong {
  font-size: 16px;
}

.app-shell .order-header b,
.app-shell .order-status,
.app-shell .order-result > div strong,
.app-shell .order-result > div small,
.app-shell .benefit-pill,
.app-shell .checkout-row span,
.app-shell .checkout-item-quantity,
.app-shell .withdrawal-request-card header span,
.app-shell .address-default,
.app-shell .receive-button,
.app-shell .product-stock,
.app-shell .team-performance-item p,
.app-shell .promotion-ledger-item p,
.app-shell .customer-card-copy p,
.app-shell .customer-card-metrics small {
  font-size: 15px;
}

.app-shell .member-level-badge,
.app-shell #page-mine .member-level-badge {
  font-size: 15px;
}

.app-shell .locked-referrer::after,
.app-shell .contact-qr figcaption {
  font-size: 14px;
}

/* Large navigational controls retain their original visual hierarchy. */
.app-shell .subpage-bar.with-back > button,
.app-shell .product-detail-action button,
.app-shell .quantity-stepper button {
  font-size: inherit;
}

/* Only compress on genuinely narrow legacy devices. A standard 375px mini-program
   viewport must keep the normal readable scale. */
@media (max-width: 340px) {
  .app-shell p,
  .app-shell small,
  .app-shell button,
  .app-shell input,
  .app-shell select,
  .app-shell textarea,
  .app-shell label {
    font-size: 15px;
  }
}
