/* ClinicaMOB v232 — site-wide text wrapping/alignment integrity layer.
   Loaded last on every public page. Typography/layout only; no routing, forms, scripts, SEO, or content changes. */

/* Editorial copy should never inherit centered/right alignment from older page-family rules. */
body.cm-fixed-interior main p,
body.cm-fixed-interior main li,
body.cm-fixed-interior main dt,
body.cm-fixed-interior main dd,
body.cm-fixed-interior main label,
body.cm-fixed-interior main legend,
body.cm-fixed-interior main td,
body.cm-fixed-interior main th,
body.cm-fixed-search main p,
body.cm-fixed-search main li,
body.cm-fixed-search main dt,
body.cm-fixed-search main dd,
body.cm-fixed-search main label,
body.cm-fixed-search main legend,
body.cm-fixed-search main td,
body.cm-fixed-search main th{
  text-align:left!important;
}

/* Never split headings, field labels, buttons, or navigation into letter/word fragments. */
body.cm-fixed-target main h1,
body.cm-fixed-target main h2,
body.cm-fixed-target main h3,
body.cm-fixed-target main h4,
body.cm-fixed-target main label,
body.cm-fixed-target main legend,
body.cm-fixed-target main button,
body.cm-fixed-target main .cta,
body.cm-fixed-target .cm-fixed-nav a,
body.cm-fixed-target .cm-fixed-mobile-nav a{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Headings may wrap by phrase, but never into unnaturally narrow columns. */
body.cm-fixed-target main h1,
body.cm-fixed-target main h2,
body.cm-fixed-target main h3,
body.cm-fixed-target main h4{
  min-width:0!important;
  max-width:100%!important;
  text-wrap:balance;
}

/* Normal prose may wrap only at sensible boundaries and must remain inside its box. */
body.cm-fixed-target main p,
body.cm-fixed-target main li,
body.cm-fixed-target main dd,
body.cm-fixed-target main td,
body.cm-fixed-target main th{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}

/* Grid/flex children must be allowed to size correctly instead of squeezing text. */
body.cm-fixed-target main [class*="grid"] > *,
body.cm-fixed-target main [class*="row"] > *,
body.cm-fixed-target main [class*="cards"] > *,
body.cm-fixed-target main .two > *,
body.cm-fixed-target main .three > *,
body.cm-fixed-target main .four > *{
  min-width:0!important;
}

/* Keep short action labels and desktop navigation on one line. */
@media(min-width:761px){
  body.cm-fixed-target main button,
  body.cm-fixed-target main .cta,
  body.cm-fixed-target .cm-fixed-nav a{
    white-space:nowrap!important;
  }
}

/* Mobile controls can wrap if genuinely necessary, but never into narrow fragments. */
@media(max-width:760px){
  body.cm-fixed-target main button,
  body.cm-fixed-target main .cta,
  body.cm-fixed-target .cm-fixed-mobile-nav a{
    white-space:normal!important;
    line-height:1.25!important;
  }
}
