/** (PREGNORF ✅) DMXReady — shared components 2026
 * Exact Smart Apps hero sizing and full-width band behavior live in dmxr4-pages.css.
 * This layer should not override the canonical hero typography or container contract.
 */
.dmxr4-public-hero-smartapps-exact .dmxr4-proof-strip{
  display:flex;
  flex-wrap:wrap;
  gap:var(--dmxr4-space-chip);
}
.dmxr4-public-hero-smartapps-exact .dmxr4-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--dmxr4-space-cta);
  align-items:center;
}


/* (PREGNORF ✅) v1.24.11 — shared public shell ownership */
.dmxr4-page-shell{
  width:100%;
}
.dmxr4-page-shell > .dmxr4-page-band:first-child,
.dmxr4-page-shell > .dmxr4-page-shell__body-slot > .dmxr4-page-band:first-child{
  margin-top:0;
}
.dmxr4-page-shell .dmxr4-structured-page,
.dmxr4-page-shell .dmxr4-page-band{
  width:100%;
}


/* (PREGNORF ✅) v1.30.15 — page-shell slot contract owns showroom hero->body boundary
   Contract: hero slot + body slot are the only boundary owners. */
.dmxr4-page-shell--showroom > .dmxr4-page-shell__hero-slot + .dmxr4-page-shell__body-slot > .dmxr4-showroom-app-surface{
  margin-block-start:clamp(30px, 4vw, 52px);
}
.dmxr4-page-shell--showroom .dmxr4-showroom-shell{
  max-width:var(--dmxr4-page-max, 1180px);
  margin:0 auto;
}


/* (PREGNORF ✅) v1.24.14 — smart-apps now uses the shared page shell */
#dmxr4-smartapps-page.dmxr4-page-shell--smartapps{
  width:100%;
}
#dmxr4-smartapps-page .dmxr4-page-band--smartapps-catalog{
  margin-top:0;
}


/* (PREGNORF ✅) v1.24.15 — managed template shell unification */
.dmxr4-theme-page__shell{
  width:100%;
}
.dmxr4-theme-page__content{
  width:100%;
}


/* (PREGNORF ✅) v1.24.16 — governed public pages must keep full-width bands */
.dmxr4-theme-page.dmxr4-public-core-page{
  width:100%;
}
.dmxr4-theme-page.dmxr4-public-core-page > .dmxr4-public-core-module,
.dmxr4-theme-page.dmxr4-public-core-page > .dmxr4-page-shell{
  width:100%;
}
.dmxr4-theme-page.dmxr4-public-core-page :where(.dmxr4-page-band, .dmxr4-page-shell > .dmxr4-page-band){
  width:100%;
  max-width:none;
}






/* (PREGNORF ✅) v1.24.20 — governed hero fit system
   Hero fit now belongs to the exact shared hero component, not page-shell-specific overrides.
   Smart Apps is locked to the source fit. Other pages use auto-fit by headline length.
*/
.dmxr4-public-hero-smartapps-exact .dmxr4-page-copy--fit-balanced{
  max-width: 780px;
}
.dmxr4-public-hero-smartapps-exact .dmxr4-page-copy--fit-tight{
  max-width: 820px;
}
.dmxr4-public-hero-smartapps-exact .dmxr4-page-title--fit-balanced{
  max-width: 12.9ch;
  text-wrap: balance;
}
.dmxr4-public-hero-smartapps-exact .dmxr4-page-title--fit-tight{
  max-width: 13.9ch;
  font-size: clamp(30px, 4.35vw, 54px);
  line-height: 0.98;
  text-wrap: balance;
}
@media (max-width: 767px){
  .dmxr4-public-hero-smartapps-exact .dmxr4-page-copy--fit-balanced,
  .dmxr4-public-hero-smartapps-exact .dmxr4-page-copy--fit-tight{
    max-width: 100%;
  }
  .dmxr4-public-hero-smartapps-exact .dmxr4-page-title--fit-balanced,
  .dmxr4-public-hero-smartapps-exact .dmxr4-page-title--fit-tight{
    max-width: 100%;
  }
  .dmxr4-public-hero-smartapps-exact .dmxr4-page-title--fit-tight{
    font-size: clamp(28px, 9.5vw, 44px);
    line-height: 1.02;
  }
}
