/* DMXReady Factory — Theme Shell compatibility cleanup
   Reference-site pass: keep Kadence header/footer, clean public route chrome,
   and stop stray spacing below the footer. */

body.dmxr4-managed-marketing-route .site-main,
body.dmxr4-managed-marketing-route .content-area,
body.dmxr4-managed-marketing-route .entry-content-wrap,
body.dmxr4-managed-marketing-route .entry-content,
body.dmxr4-managed-marketing-route .site-container,
body.dmxr4-managed-marketing-route .content-container {
  background: transparent !important;
}

body.dmxr4-managed-marketing-route .site-main,
body.dmxr4-managed-marketing-route .content-area,
body.dmxr4-managed-marketing-route .entry-content-wrap,
body.dmxr4-managed-marketing-route .entry-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.dmxr4-managed-marketing-route .site-footer,
body.dmxr4-managed-marketing-route .site-footer-wrap,
body.dmxr4-managed-marketing-route footer.site-footer {
  margin-top: 0 !important;
}

body.dmxr4-managed-marketing-route .site-below-footer-wrap,
body.dmxr4-managed-marketing-route .site-below-footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Strict SSOT — Kadence owns the footer lane on site-shell pages.
   Footer visibility must be governed by source ownership, not CSS suppression. */

body.page-showroom .entry-hero-container-inner,
body.page-showroom .entry-header,
body.page-showroom .entry-taxonomies,
body.page-showroom .kadence-breadcrumbs {
  display: none !important;
}

body.page-showroom .content-container,
body.page-showroom .content-wrap,
body.page-showroom .entry-content-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-showroom .entry-content-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.page-showroom .entry-content > .dmxr4,
body.page-showroom .entry-content > #dmxr4-showroom {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.page-showroom #dmxr4-showroom {
  min-height: 0 !important;
}


/* Strict reference-site layout normalization */
body.dmxr4-managed-marketing-route,
body.dmxr4-managed-marketing-route #page,
body.dmxr4-managed-marketing-route .site,
body.dmxr4-managed-marketing-route .site-content,
body.dmxr4-managed-marketing-route .site-main {
  overflow-x: clip;
}

body.dmxr4-managed-marketing-route .entry-content > .dmxr4,
body.dmxr4-managed-marketing-route .entry-content > .dmxr4-page-shell,
body.dmxr4-managed-marketing-route .entry-content > #dmxr4-showroom,
body.dmxr4-managed-marketing-route .entry-content > .dmxr4-showroom,
body.dmxr4-managed-marketing-route .entry-content > .dmxr4-runtime-app-page-wrap {
  max-width: 100% !important;
  margin-bottom: 0 !important;
}

body.dmxr4-managed-marketing-route .entry-content,
body.dmxr4-managed-marketing-route .entry-content > *:last-child,
body.dmxr4-managed-marketing-route .content-wrap,
body.dmxr4-managed-marketing-route .site-main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.dmxr4-managed-marketing-route .content-container,
body.dmxr4-managed-marketing-route .content-wrap,
body.dmxr4-managed-marketing-route .entry-content-wrap,
body.dmxr4-managed-marketing-route .entry-content,
body.dmxr4-managed-marketing-route article.page,
body.dmxr4-managed-marketing-route #primary {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

body.dmxr4-managed-marketing-route .content-container,
body.dmxr4-managed-marketing-route .content-wrap,
body.dmxr4-managed-marketing-route .entry-content-wrap {
  border: 0 !important;
  box-shadow: none !important;
}

body.dmxr4-managed-marketing-route .dmxr4-theme-page__content,
body.dmxr4-managed-marketing-route .dmxr4-page-shell .dmxr4-page-inner,
body.dmxr4-managed-marketing-route .dmxr4-page-band__inner,
body.dmxr4-managed-marketing-route .dmxr4-commerce-product-shell{
  width:min(var(--dmxr-contract-frame-max, 1180px), calc(100% - 32px)) !important;
  max-width:var(--dmxr-contract-frame-max, 1180px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.dmxr4-managed-marketing-route .dmxr4-theme-page--home .dmxr4-theme-page__content > .dmxr4-outline,
body.dmxr4-managed-marketing-route .dmxr4-theme-page--home #dmxr-home2{
  width:100% !important;
  max-width:none !important;
}

@media (max-width: 900px) {
  body.dmxr4-managed-marketing-route .content-container,
  body.dmxr4-managed-marketing-route .content-wrap,
  body.dmxr4-managed-marketing-route .entry-content-wrap {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.dmxr4-managed-marketing-route .entry-content > .dmxr4,
  body.dmxr4-managed-marketing-route .entry-content > .dmxr4-page-shell,
  body.dmxr4-managed-marketing-route .entry-content > #dmxr4-showroom,
  body.dmxr4-managed-marketing-route .entry-content > .dmxr4-showroom,
  body.dmxr4-managed-marketing-route .entry-content > .dmxr4-runtime-app-page-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* Strict source reset for reference-site/theme-shell routes. */
body.dmxr4-site-shell-page,
body.dmxr4-site-shell-page #page,
body.dmxr4-site-shell-page .site,
body.dmxr4-site-shell-page .site-content,
body.dmxr4-site-shell-page .site-main,
body.dmxr4-site-shell-page .content-area,
body.dmxr4-site-shell-page .content-container,
body.dmxr4-site-shell-page .entry-content-wrap,
body.dmxr4-site-shell-page .entry-content {
  overflow-x: clip;
}

body.dmxr4-site-shell-page .entry-content > #dmxr4-showroom,
body.dmxr4-site-shell-page .entry-content > .dmxr4-showroom,
body.dmxr4-site-shell-page .entry-content > .dmxr4-runtime-app-page-wrap,
body.dmxr4-site-shell-page .entry-content > .dmxr4,
body.dmxr4-site-shell-page .entry-content > .dmxr4-page-shell {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.dmxr4-site-shell-page .entry-content > .dmxr4-runtime-app-page-wrap img,
body.dmxr4-site-shell-page .entry-content > #dmxr4-showroom img,
body.dmxr4-site-shell-page .entry-content > .dmxr4-showroom img,
body.dmxr4-site-shell-page .entry-content > .dmxr4 img,
body.dmxr4-site-shell-page .entry-content > .dmxr4-page-shell img {
  max-width: 100%;
  height: auto;
}

body.dmxr4-site-shell-page--product .site-main,
body.dmxr4-site-shell-page--cart .site-main,
body.dmxr4-site-shell-page--checkout .site-main,
body.dmxr4-site-shell-page--account .site-main {
  overflow-x: clip;
}

@media (max-width: 900px) {
  body.dmxr4-site-shell-page .content-container,
  body.dmxr4-site-shell-page .content-wrap,
  body.dmxr4-site-shell-page .entry-content-wrap,
  body.dmxr4-site-shell-page .entry-content {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  body.dmxr4-site-shell-page .entry-content > .dmxr4-runtime-app-page-wrap,
  body.dmxr4-site-shell-page .entry-content > #dmxr4-showroom,
  body.dmxr4-site-shell-page .entry-content > .dmxr4-showroom,
  body.dmxr4-site-shell-page .entry-content > .dmxr4,
  body.dmxr4-site-shell-page .entry-content > .dmxr4-page-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.dmxr4-site-shell-page .entry-content > .dmxr4-runtime-app-page-wrap,
  body.dmxr4-site-shell-page .entry-content > #dmxr4-showroom {
    overflow-x: clip;
  }
}


/* Strict source fix — Kadence/theme header search toggle on theme-shell routes.
   Prevent white-on-white search icons and keep header utility controls visually consistent. */
body.dmxr4-site-shell-page--app-single :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open),
body.dmxr4-managed-marketing-route :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(180deg,rgba(8,16,30,.94),rgba(10,18,34,.90)) !important;
  color:#f8fbff !important;
  box-shadow:0 14px 30px rgba(0,0,0,.24) !important;
}
body.dmxr4-site-shell-page--app-single :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open):hover,
body.dmxr4-site-shell-page--app-single :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open):focus-visible,
body.dmxr4-managed-marketing-route :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open):hover,
body.dmxr4-managed-marketing-route :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open):focus-visible{
  border-color:rgba(255,255,255,.18) !important;
  background:linear-gradient(180deg,rgba(10,18,34,.97),rgba(12,21,38,.93)) !important;
  color:#ffffff !important;
}
body.dmxr4-site-shell-page--app-single :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open) :where(svg, .kadence-svg-iconset),
body.dmxr4-managed-marketing-route :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open) :where(svg, .kadence-svg-iconset){
  width:18px !important;
  height:18px !important;
  color:currentColor !important;
}
body.dmxr4-site-shell-page--app-single :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open) :where(path, circle, line, polyline, rect),
body.dmxr4-managed-marketing-route :where(.search-toggle-open-container .search-toggle-open, .search-toggle-open, .header-search-wrap .search-toggle-open, .search-item .search-toggle-open, .site-header .search-toggle-open, .mobile-header-search .search-toggle-open) :where(path, circle, line, polyline, rect){
  stroke:currentColor !important;
  fill:none !important;
}


/* v1.20.42 — marketing page contract restore
   Keep plugin-owned marketing pages clean without globally repainting theme-owned pages. */
body.dmxr4-managed-marketing-route .entry-content-wrap,
body.dmxr4-managed-marketing-route .entry-content,
body.dmxr4-managed-marketing-route .content-wrap,
body.dmxr4-managed-marketing-route .content-container{
  background:transparent !important;
}

body.dmxr4-managed-marketing-route .entry-content > #dmxr4-pricing,
body.dmxr4-managed-marketing-route .entry-content > #dmxr4-how-it-works,
body.dmxr4-managed-marketing-route .entry-content > .dmxr4-page-shell,
body.dmxr4-managed-marketing-route .entry-content > .dmxr4 {
  isolation:isolate;
}

body.dmxr4-managed-marketing-route .site-main,
body.dmxr4-managed-marketing-route #primary {
  min-width:0;
}

@media (max-width: 767px) {
  body.dmxr4-managed-marketing-route .content-container,
  body.dmxr4-managed-marketing-route .content-wrap,
  body.dmxr4-managed-marketing-route .entry-content-wrap,
  body.dmxr4-managed-marketing-route .entry-content {
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* (PREGNORF ✅) v1.23.34 — Shared public hero inset contract
   Keep top hero rhythm identical across home, showroom, pricing, how-it-works, and smart-apps. */
body.dmxr4-managed-marketing-route :where(.dmxr4-public-core-page,.dmxr4-page-shell,.dmxr-showroom-concierge){
  --dmxr4-public-hero-pad-top: clamp(52px, 6.2vw, 84px);
  --dmxr4-public-hero-pad-bottom: clamp(42px, 5.1vw, 64px);
  --dmxr4-hero-pad-top: var(--dmxr4-public-hero-pad-top);
  --dmxr4-hero-pad-bottom: var(--dmxr4-public-hero-pad-bottom);
}
@media (max-width: 1180px){
  body.dmxr4-managed-marketing-route :where(.dmxr4-public-core-page,.dmxr4-page-shell,.dmxr-showroom-concierge){
    --dmxr4-public-hero-pad-top: 46px;
    --dmxr4-public-hero-pad-bottom: 42px;
    --dmxr4-hero-pad-top: var(--dmxr4-public-hero-pad-top);
    --dmxr4-hero-pad-bottom: var(--dmxr4-public-hero-pad-bottom);
  }
}
@media (max-width: 640px){
  body.dmxr4-managed-marketing-route :where(.dmxr4-public-core-page,.dmxr4-page-shell,.dmxr-showroom-concierge){
    --dmxr4-public-hero-pad-top: 32px;
    --dmxr4-public-hero-pad-bottom: 30px;
    --dmxr4-hero-pad-top: var(--dmxr4-public-hero-pad-top);
    --dmxr4-hero-pad-bottom: var(--dmxr4-public-hero-pad-bottom);
  }
}


/* (PREGNORF ✅) v1.23.35 — public hero wrapper reset */
body.dmxr4-managed-marketing-route .dmxr4-public-core-page,
body.dmxr4-site-shell-page .dmxr4-public-core-page,
body.dmxr4-managed-marketing-route .dmxr4-theme-page__shell,
body.dmxr4-managed-marketing-route .dmxr4-theme-page__content,
body.dmxr4-site-shell-page .dmxr4-theme-page__shell,
body.dmxr4-site-shell-page .dmxr4-theme-page__content{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* (PREGNORF ✅) v1.23.36 — shared public hero SSOT variables */
body.dmxr4-managed-marketing-route :where(.dmxr4-public-core-page,.dmxr4-page-shell,.dmxr-showroom-concierge),
body.dmxr4-site-shell-page :where(.dmxr4-public-core-page,.dmxr4-page-shell,.dmxr-showroom-concierge){
  --dmxr4-hero-ssot-title-size: clamp(42px, 5.2vw, 72px);
  --dmxr4-hero-ssot-copy-size: clamp(18px, 1.45vw, 20px);
  --dmxr4-hero-ssot-gap: clamp(22px, 3vw, 34px);
}


/* (PREGNORF ✅) v1.23.37 — shared SSOT rhythm vars across theme/plugin shells */
body.dmxr4-managed-marketing-route :where(.dmxr4-public-core-page,.dmxr4-page-shell,.dmxr-showroom-concierge),
body.dmxr4-site-shell-page :where(.dmxr4-public-core-page,.dmxr4-page-shell,.dmxr-showroom-concierge){
  --dmxr4-ssot-section-pad-y: clamp(36px, 4.2vw, 56px);
  --dmxr4-ssot-section-pad-y-tight: clamp(24px, 2.8vw, 34px);
  --dmxr4-ssot-eyebrow-gap: clamp(8px, .95vw, 12px);
  --dmxr4-ssot-heading-copy-gap: clamp(12px, 1.35vw, 18px);
}
