/* module-typography.css
 * Phase 3 typography bridge for legacy module/page containers.
 * Goal: reduce remaining font-size drift across admin/tools/cart/groupbuy pages
 * without flattening headline metrics or nav/footer hierarchy.
 */

@media screen {
  :root {
    --cp-fs-toolbar: 0.95rem;
    --cp-fs-field-label: 0.93rem;
    --cp-fs-table-head: 0.94rem;
    --cp-fs-button-unify: 0.96rem;
    --cp-fs-panel-title: 1.04rem;
    --cp-fs-meta-unify: 0.84rem;
    --cp-fs-badge-unify: 0.82rem;
    --cp-fs-code-unify: 0.86rem;
  }

  /* Common legacy containers used throughout cpweb modules. */
  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container,
    .tool-grid,
    .search-box,
    .filter-bar,
    .table-toolbar,
    .toolbar,
    .row,
    .field,
    .admin-section,
    .ao-detail-box,
    .ao-debug-box,
    .gbuy-search-box,
    .pc-panel,
    .pts-panel,
    .nc-card,
    .lc-panel-card,
    .ph-card,
    .tc-mode-card,
    .tc-notice-card
  ) {
    font-family: var(--cp-font-family-base) !important;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(.toolbar, .filters, .filter-bar, .search-box, .table-toolbar, .action-row, .field-row, .form-row, .row) {
    font-size: var(--cp-fs-toolbar) !important;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(label, .field label, .filter-label, .form-label, .search-label, legend) {
    font-size: var(--cp-fs-field-label) !important;
    line-height: 1.5;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(th, .table th, .grid-table th, .archive-table th, .list-table th, .cart-table th) {
    font-size: var(--cp-fs-table-head) !important;
    line-height: 1.45;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(
    button,
    .btn,
    a.button,
    .button,
    .store-btn,
    .store-btn1,
    .btn-save,
    .btn-del,
    .btn-go,
    .btn-link,
    .checkout-button,
    .all-remove-button,
    .remove-button,
    .restore-order-button,
    .delete-button,
    .up-save-btn,
    .ao-range-btn
  ) {
    font-size: var(--cp-fs-button-unify) !important;
    line-height: 1.45;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(
    .page-title,
    .module-title,
    .section-title,
    .list-title,
    .tool-title,
    .form-title,
    .dialog-title,
    .modal-title,
    .block-title,
    .cart-audit-title,
    .ao-detail-title,
    .lc-module-card h2,
    .lc-panel-card h2,
    .nc-card h2,
    .pts-panel__head h2,
    .pc-date-group__title,
    .pc-group-card__title,
    .ph-card__title,
    .tc-mode-card__title,
    .tc-notice-card__title
  ) {
    font-size: var(--cp-fs-panel-title) !important;
    line-height: 1.35;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(
    .help,
    .hint,
    .help-text,
    .subtext,
    .meta,
    .note,
    .desc,
    .muted,
    .caption,
    .field-note,
    .table-note,
    .inline-help,
    .cart-audit-sub,
    .ao-import-meta,
    .ao-detail-subtitle,
    .ao-summary-line,
    .ao-import-note,
    .pc-help,
    .pc-date-group__meta,
    .pc-group-card__date,
    .pc-group-card__foot,
    .pts-help,
    .pts-info-card__sub,
    .pts-group-option__meta,
    .pts-selected-group-card__meta,
    .pts-role-card__meta,
    .pts-task-strip__sub,
    .nc-card__sub,
    .nc-note,
    .nc-card__stats,
    .nc-request-item__sub,
    .lc-module-card__hint,
    .lc-list__sub,
    .lc-list__time,
    .lc-notice-card__meta,
    .ph-debug-hint,
    .ph-debug-line,
    .tc-note
  ) {
    font-size: var(--cp-fs-meta-unify) !important;
    line-height: 1.6;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(
    .badge,
    .pill,
    .chip,
    .tag,
    .status,
    .mini-badge,
    .soft-badge,
    .hard-badge,
    .ao-badge,
    .audit-badge,
    .pc-date-group__status,
    .nc-badge,
    .lc-badge,
    .tc-badge,
    .pts-date-section__count
  ) {
    font-size: var(--cp-fs-badge-unify) !important;
    line-height: 1.4;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(code, pre, .debug-box pre, .ao-debug-box pre, .sql-preview, .log, .mono, .monospace) {
    font-size: var(--cp-fs-code-unify) !important;
    line-height: 1.5;
  }

  /* Legacy inline font-size values frequently found in admin/tool pages. */
  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(div, span, p, td, th, label, a, small, strong, em)[style*='font-size:12px'],
  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(div, span, p, td, th, label, a, small, strong, em)[style*='font-size: 12px'] {
    font-size: var(--cp-fs-meta-unify) !important;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(div, span, p, td, th, label, a, small, strong, em)[style*='font-size:13px'],
  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(div, span, p, td, th, label, a, small, strong, em)[style*='font-size: 13px'] {
    font-size: 0.9rem !important;
  }

  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(div, span, p, td, th, label, a, small, strong, em)[style*='font-size:14px'],
  body :where(
    .main-content,
    .order-list-container,
    .page-wrap,
    .admin-wrap,
    .wrap,
    .panel,
    .card,
    .sub-container,
    .cart-container,
    .chat-container
  ) :where(div, span, p, td, th, label, a, small, strong, em)[style*='font-size: 14px'] {
    font-size: 0.94rem !important;
  }

  @media (max-width: 768px) {
    :root {
      --cp-fs-toolbar: 0.94rem;
      --cp-fs-field-label: 0.92rem;
      --cp-fs-table-head: 0.93rem;
      --cp-fs-button-unify: 0.95rem;
      --cp-fs-panel-title: 1.02rem;
      --cp-fs-meta-unify: 0.83rem;
      --cp-fs-badge-unify: 0.8rem;
    }
  }
}
