/* 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. */

  main :is(.about, .coverage-summary, .plans, .family-example, .faq) {
    margin-block: 0 !important;
    padding-block: 12px !important;
  }
  main .coverage-title { margin-bottom: 8px !important; line-height: 1.4 !important; }
  main :is(.coverage-content, .negotiation-box, .family-card, .plan-card) {
    padding: 12px !important;
  }
  main .injury-block { margin-block: 0 12px !important; padding-bottom: 0 !important; }
  main :is(.coverage-content, .negotiation-box, .family-card) > p:not([class*="note"]):not([class*="price"]):not([class*="amount"]) {
    margin-block: 8px !important;
  }
  main .risk-item { padding: 12px !important; gap: 8px !important; }

  main .tmnc-quick-nav { margin: 16px !important; padding: 12px !important; }
  main .tmnc-quick-nav p { margin-bottom: 8px !important; }
  main .tmnc-quick-nav a { min-height: 44px; padding: 8px 4px !important; line-height: 1.5 !important; white-space: normal; }


  /* 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;
  }
  /* Final preview rhythm: tmn-cycle.com */
  main .flow-col.box { height: auto !important; padding: 16px !important; }
  main .flow-col.box .flow-icon { margin-bottom: 8px !important; }
  main .flow-col.box .caption { margin-top: 8px !important; }

  main .coverage-content .risk-item { padding: 8px 10px !important; }
  body main .coverage-content .risk-item figcaption { box-sizing: border-box; width: 100%; font-size: 14px !important; line-height: 1.5 !important; word-break: normal; word-break: auto-phrase; text-wrap: pretty; }
}
