body select { padding-inline-end: 2.5rem !important; }
  /* Native arrow position ignores padding; inset only its visual replacement. */
  body select:not([multiple]):not([size]) {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #172338 50%),
      linear-gradient(135deg, #172338 50%, transparent 50%);
    background-position: right 20px center, right 14px center;
    background-size: 6px 6px;
    background-repeat: no-repeat;
  }

/* Mobile readability policy: 16px reading/actions, 14px supporting text.
   These are product usability targets, not numeric WCAG requirements.
   Larger headings, decorative icons, desktop and native selection stay intact. */
@media (max-width: 767px) {
  body { line-height: 1.5; }

  /* Inputs never inherit small label type. Keep room for the native arrow. */
  body :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
    font-size: 1rem !important;
    line-height: 1.5;
    max-width: 100%;
  }
  body select:focus {
    outline: 2px solid #1d4ed8 !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
  }

  /* Actions use their own text size, without touching linked headings/icons. */
  body :is(.button, .text-button, .text-link, .compare-label, .catalog-card-compare,
    .catalog-price-link, .catalog-pricing-disclosure > summary, .product-card summary,
    .profile-section-nav a, .profile-category-links a, .privacy-reopen,
    .privacy-actions button, .catalog-modal-close, .compare-option > a,
    .compare-mobile-action .button, .compare-search, .source-disclosure summary,
    .directory-navigation-links a, .directory-product-index a, .guide-toc, .guide-toc a,
    .portfolio-bar label, .portfolio-billing label, .catalog-pricing-body a,
    .source-disclosure-list a, .guide-citations a,
    .refresh-button, .refresh-section-title > a, .refresh-all, .refresh-trust a,
    .refresh-tabs a, .refresh-product-link, .refresh-count,
    .refresh-result-controls > label, .home-exact-count label) {
    font-size: 1rem !important;
    line-height: 1.5;
  }
  body .privacy-reopen { font-family: inherit; }

  /* Explanations, prices' conditions, table cells and selectable product copy. */
  body :is(.refresh-role, .refresh-fit, .refresh-intro,
    .refresh-jobs > a > span:not(.refresh-job-number):not(.refresh-job-arrow),
    .refresh-jobs strong, .refresh-section-title > p,
    .refresh-stack li p, .refresh-guides p, .catalog-pricing-body p,
    .catalog-pricing-body li, .compare-option-content > span,
    .compare-category > span > span, .guide-sources p, .guide-sources li,
    .related-pms-card > p, .pricing-budget > p,
    .portfolio-scope-warning, .product-card-caveat, .capability-caveat) {
    font-size: 1rem !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  body #catalog-modal-body :is(p, li) {
    font-size: 1rem !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  body :is(.catalog-price-table, .decision-comparison, .stack-cost-table,
    .dynamic-guide-table-scroll) :is(th, td, caption) {
    font-size: 1rem !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  /* Secondary captions/status/metadata remain visibly readable. */
  body .eyebrow { font-size: .875rem !important; line-height: 1.5; }
  body table[class*="comparison-products-"] :is(th, td) {
    font-size: 1rem !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  body :is(.refresh-kicker, .refresh-identity .refresh-kicker, .refresh-small,
    .refresh-fit > span, .refresh-job-number, .refresh-stack li > span,
    .refresh-guides > a > span, .catalog-price-qualifier, .refresh-card .catalog-price-qualifier,
    .home-exact-count p, .home-exact-count, .catalog-controls-note,
    .catalog-unified .product-card .muted, .portfolio-card-price small,
    .portfolio-price-count, .portfolio-plan-limit, .portfolio-bar p,
    .home-hero-copy .portfolio-hero p.portfolio-help, .exact-count-entry span,
    .pricing-budget > small, .profile-section-kicker,
    .profile-quick-facts dt, .profile-sidebar-card dt,
    .guide-meta, .guide-byline, .guide-stage-tag, .guide-citations,
    .expansion-citations, .product-card-kicker, .product-card-type,
    .product-card-status span, .product-card-mark, .hero-guide-label,
    .hero-variant .hero-eyebrow, .directory-category-meta span,
    .compare-shortlist-note, .compare-picker-heading > span,
    .compare-shortlist [data-hub-count], .compare-mobile-action > span,
    .compare-category small, .state) {
    font-size: .875rem !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
}

@media (forced-colors: active) {
  body select:not([multiple]):not([size]) {
    appearance: auto;
    background-image: none;
  }
}
