/* ClinicaMOB v251 — market-detail family composition repair.
   Centers every county/city market page on the same 1160px site grid and
   prevents legacy section/container rules from creating a left-anchored page shell. */
:root{--cm251-grid:1160px;--cm251-gutter:48px;--cm251-mobile-gutter:28px}

body.cm-v219-market-page main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Standalone direct containers (update/source notes) share the same grid. */
body.cm-v219-market-page main > .container,
body.cm-v219-market-page main > div.container{
  box-sizing:border-box!important;
  width:min(calc(100% - var(--cm251-gutter)),var(--cm251-grid))!important;
  max-width:var(--cm251-grid)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Every designed market section is a centered object, never viewport-left anchored. */
body.cm-v219-market-page main > section.cm-v219-content-card,
body.cm-v219-market-page main > section.page-hero.cm-v219-content-card{
  box-sizing:border-box!important;
  width:min(calc(100% - var(--cm251-gutter)),var(--cm251-grid))!important;
  max-width:var(--cm251-grid)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Once the section owns the grid, its internal container must not shrink to a second grid. */
body.cm-v219-market-page main > section.cm-v219-content-card > .container,
body.cm-v219-market-page main > section.page-hero.cm-v219-content-card > .container{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Center the lower related/search-again bands that sit after </main> on legacy pages. */
body.cm-v219-market-page main ~ section.soft > .container{
  box-sizing:border-box!important;
  width:min(calc(100% - var(--cm251-gutter)),var(--cm251-grid))!important;
  max-width:var(--cm251-grid)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Keep hero and content geometry internally balanced. */
body.cm-v219-market-page .cm-v219-context-hero,
body.cm-v219-market-page .cm-v219-market-glance,
body.cm-v219-market-page .cm-review-meta,
body.cm-v219-market-page .cm-authority-box,
body.cm-v219-market-page .market-stats,
body.cm-v219-market-page .lens-grid,
body.cm-v219-market-page .cards,
body.cm-v219-market-page .two{
  box-sizing:border-box!important;
  max-width:100%!important;
}
body.cm-v219-market-page .cm-v219-market-glance{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:760px){
  body.cm-v219-market-page main > .container,
  body.cm-v219-market-page main > div.container,
  body.cm-v219-market-page main > section.cm-v219-content-card,
  body.cm-v219-market-page main > section.page-hero.cm-v219-content-card,
  body.cm-v219-market-page main ~ section.soft > .container{
    width:min(calc(100% - var(--cm251-mobile-gutter)),var(--cm251-grid))!important;
  }
  body.cm-v219-market-page main > section.cm-v219-content-card,
  body.cm-v219-market-page main > section.page-hero.cm-v219-content-card{
    margin-top:16px!important;
    margin-bottom:16px!important;
  }
}
