/* Mobile spacing and type candidate. Load after existing styles. */
@media screen and (max-width: 767px) {
  body {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  body :is(button, input, select, textarea) {
    font-family: inherit !important;
  }
  body form :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]), select, textarea, button),
  #email-verification-dialog :is(input, select, textarea, button) {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  body form :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]), select, button) {
    min-height: 44px;
  }
  main p:not([class*="note"]):not([class*="footnote"]):not([class*="price"]):not([class*="amount"]):not([class*="premium"]):not([class*="caption"]):not([class*="sub"]):not([class*="error"]):not([class*="help"]):not(.risk-matrix p):not(.risk-annotations p):not(.plan-compare p):not(.plan-card p):not(.family-card p):not(.golf-plan-summary p):not(table p):not([class*="fee"]):not([class*="cost"]):not([class*="total"]):not([class*="limit"]):not([class*="money"]):not([class*="yen"]):not(:has([class*="price"], [class*="amount"], [class*="premium"], [class*="yen"], [class*="fee"], [class*="total"], [class*="limit"], [class*="cost"])),
  .site-main p:not([class*="note"]):not([class*="footnote"]):not([class*="price"]):not([class*="amount"]):not([class*="premium"]):not([class*="caption"]):not([class*="sub"]):not([class*="error"]):not([class*="help"]):not(.risk-matrix p):not(.risk-annotations p):not(.plan-compare p):not(.plan-card p):not(.family-card p):not(.golf-plan-summary p):not(table p):not([class*="fee"]):not([class*="cost"]):not([class*="total"]):not([class*="limit"]):not([class*="money"]):not([class*="yen"]):not(:has([class*="price"], [class*="amount"], [class*="premium"], [class*="yen"], [class*="fee"], [class*="total"], [class*="limit"], [class*="cost"])) {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  main h1, .hero h1, .section-heading h1 {
    font-size: clamp(22px, 5.8vw, 24px) !important;
    line-height: 1.35 !important;
    overflow-wrap: break-word;
  }
  body main h2.section-title, body main h2.section-title2, body .section-heading h2 {
    font-size: 20px !important;
    line-height: 1.4 !important;
    margin-block: 0 12px !important;
    overflow-wrap: break-word;
  }
  main h3:not([class]), .block-title, .block-subtitle, .coverage-content h3:not([class]), .negotiation-box h3 {
    font-size: 18px !important;
    line-height: 1.4 !important;
    overflow-wrap: break-word;
  }
  main .mobile-next, main .tmn-mobile-cta, .site-main .mobile-next {
    margin: 16px !important;
    padding: 16px !important;
  }
  main :is(.mobile-next__title, .tmn-mobile-cta__title) {
    margin-block: 0 8px !important;
    line-height: 1.4 !important;
  }
  main :is(.mobile-next__primary, .tmn-mobile-cta__primary),
  main :is(.mobile-next, .tmn-mobile-cta) a {
    min-height: 44px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: break-word;
  }
  /* Fixed menus, floating bars, safe-area insets, price text and notes retain existing rules. */

  .site-main .mobile-overview { padding: 12px 16px !important; margin-bottom: 16px !important; }
  .site-main .mobile-overview__actions { gap: 8px; }
  .site-main .mobile-overview__actions a {
    box-sizing: border-box; min-height: 44px !important; padding: 8px !important;
    line-height: 1.5 !important; white-space: normal; overflow-wrap: break-word;
  }
  .site-main .section-heading__title :is(h1,h2) { padding-bottom: 4px !important; }
  .site-main .section-heading__line { margin-block: 4px 12px !important; }
  .site-main .spacer-xl, .site-main .spacer-lg { margin-top: 12px !important; }
  .site-main :is(.plan-modern__body, .mobile-plan-card, .coverage-detail) { padding: 12px !important; }


  /* Ordinary QA/form headings; preserve coverage, table and financial roles. */
  main h2:not([class]):not(.coverage-summary h2):not(.plan-card h2):not(.risk-matrix h2):not(.golf-plan-summary h2):not(.family-card h2),
  main h2.page-title, main h2.form-title, main h2.faq-title, main h2.wizard-title {
    font-size: 20px !important; line-height: 1.4 !important;
    margin-block: 0 12px !important; overflow-wrap: break-word;
  }
}
