/* PKBI Seranaya v2.4.11 — global, responsive full-width page layout.
   Only ordinary public WordPress Pages and enabled CV products are affected;
   homepage, header/footer, posts and WooCommerce transactional pages are not. */
body.sncv-unified-fullwidth {
  --sncv-site-gutter:clamp(14px,2.5vw,42px);
  --sncv-content-max:1600px;
}

/* Avoid site/page templates narrowing content to blog-column width.
   All selectors are scoped to *content*, never the header or site footer. */
body.sncv-unified-fullwidth :is(#content,.site-content,#primary,.content-area,main.site-main,.site-inner,.main-content,.content-wrapper,.wp-block-post-content) {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.sncv-unified-fullwidth :is(.site-content > .container,.site-content > .ast-container,.site-content > .site-container,.site-content > .wrap,#content > .ast-container,#content > .container,#content > .wrap,#primary > .container,#primary > .wrap) {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.sncv-unified-page :is(.site-content,#content > .ast-container,#content > .container) {
  grid-template-columns:minmax(0,1fr)!important;
}
body.sncv-unified-page :is(#secondary,.site-content > .widget-area,.ast-container > .widget-area,.site-content > aside.sidebar) {display:none!important;}
body.sncv-unified-page :is(#primary,.content-area,.site-main) {
  float:none!important;
  flex:1 1 100%!important;
  grid-column:1 / -1!important;
}
body.sncv-unified-page :is(.entry-content,.page-content,.wp-block-post-content,.post-inner,.inside-article,.hentry) {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.sncv-unified-page .entry-content > :is(.sncv-catalog,.sncv-hero-slider,.sncv-elementor-widget),
body.sncv-unified-page .wp-block-post-content > :is(.sncv-catalog,.sncv-hero-slider) {
  width:100%!important;
  max-width:none!important;
}
/* Block themes: control width inside main only, without affecting header nav. */
body.sncv-unified-page main .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright)),
body.sncv-unified-page main .entry-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright)) {
  max-width:100%!important;
}
/* Elementor page templates: keep all sections responsive; do not modify
   Elementor header/footer templates or the structure of nested widgets. */
body.sncv-unified-page #content .elementor-location-single,
body.sncv-unified-page #content .elementor-location-archive,
body.sncv-unified-page #content .elementor,
body.sncv-unified-page #content .elementor-section-wrap {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
}

/* Seranaya catalog card grid can now use the full width formerly blocked by
   the WordPress template. Keep a readable edge gutter on all devices. */
body.sncv-unified-page .sncv-catalog.sncv-catalog-full,
body.sncv-unified-page .sncv-catalog {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.sncv-unified-page .sncv-catalog .sncv-catalog-shell {
  width:100%!important;
  max-width:var(--sncv-content-max)!important;
  margin-inline:auto!important;
  padding-inline:var(--sncv-site-gutter)!important;
}
/* Hero and standalone slider extend to the containing page width. */
body.sncv-unified-page :is(.sncv-hero-standalone,.sncv-hero-slider.sncv-hero-standalone) {
  display:block;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-inline:0!important;
}

/* v2.4.19: CV product pages are intentionally EXCLUDED from the
   viewport-expansion feature. Profile layout is controlled by frontend.css. */

/* === v2.4.12: TRUE VIEWPORT WIDTH (not just 100% of a narrow theme column) ===
   WordPress themes may place the shortcode inside a centered max-width wrapper.
   The v2.4.11 100% selectors then cover only that wrapper (see screenshot).
   Break the *catalog* and its standalone hero out of this containing block,
   without changing the global header, footer, product data or home layout. */
body.sncv-unified-page {
  --sncv-site-gutter:clamp(12px,2.2vw,38px);
  overflow-x:clip;
}
body.sncv-unified-page :is(.sncv-hero-slider.sncv-hero-standalone, .sncv-catalog.sncv-catalog-full),
body.sncv-unified-page :is(#main,#primary,#content,.sncv-live-page-main).sncv-live-page-main {
  box-sizing:border-box!important;
  position:relative!important;
  display:block;
  width:var(--sncv-live-viewport,100vw)!important;
  max-width:none!important;
  min-width:0!important;
  left:50%!important;
  right:auto!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:translateX(calc(-50% + var(--sncv-live-shift,0px)))!important;
}
/* On custom product templates, keep the existing vertical flex column and
   allow the hero, disclaimer, profile, etc. to remain in original order. */
/* The hero itself has no outer margin, so its image goes all the way to the
   viewport edges; the catalog interior has responsive reading-room gutters. */
body.sncv-unified-page .sncv-hero-slider.sncv-hero-standalone{
  border-radius:0!important;
  overflow:hidden!important;
}
body.sncv-unified-page .sncv-catalog.sncv-catalog-full .sncv-catalog-shell {
  box-sizing:border-box!important;
  max-width:none!important;
  width:100%!important;
  margin-inline:0!important;
  padding-inline:var(--sncv-site-gutter)!important;
}
body.sncv-unified-page .sncv-catalog nav.sncv-filter-layout {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
}
/* Common themes: don't let a content-only container reintroduce its maximum.
   The selector deliberately excludes header and footer sections. */
body.sncv-unified-page :is(#content,.site-content,#primary,main.site-main,.content-area,article.page,.entry-content,.wp-block-post-content)
  :is(.nv-container,.container,.ast-container,.site-container,.wrap,.wp-block-group__inner-container) {
  max-width:none!important;
  box-sizing:border-box!important;
}
body.sncv-unified-page .sncv-live-bleed-ancestor,
@media (max-width:760px){
  body.sncv-unified-page {--sncv-site-gutter:12px;}
  body.sncv-unified-page .sncv-catalog.sncv-catalog-full .sncv-catalog-shell{
    padding-inline:12px!important;
  }
}
@media print {
  body.sncv-unified-page :is(.sncv-hero-slider.sncv-hero-standalone,.sncv-catalog.sncv-catalog-full),
    body.sncv-unified-page .sncv-live-page-main{
    width:100%!important;position:static!important;left:auto!important;
    transform:none!important;margin:0!important;
  }
}

/* v2.4.13: Defeat custom themes that limit the entire main page and do not
   call body_class(). The script adds these scoped classes if the catalog DOM
   is actually present; no global theme/header/footer changes. */
body.sncv-unified-page .sncv-live-bleed-ancestor {
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}
body.sncv-unified-page :is(.sncv-hero-slider.sncv-hero-standalone,.sncv-catalog.sncv-catalog-full) {
  box-sizing:border-box!important;
  width:var(--sncv-live-viewport,100vw)!important;
  max-width:none!important;
  min-width:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  border-radius:0!important;
}
body.sncv-unified-page .sncv-catalog.sncv-catalog-full>.sncv-catalog-shell {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding-inline:clamp(12px,2.2vw,40px)!important;
}
body.sncv-unified-page .sncv-catalog.sncv-catalog-full :is(.sncv-grid,.sncv-filter-layout,.sncv-filter-main-group) {
  max-width:none!important;
}
@media print {
 body.sncv-unified-page :is(.sncv-hero-slider.sncv-hero-standalone,.sncv-catalog.sncv-catalog-full) {
  width:100%!important;max-width:100%!important;transform:none!important;left:auto!important;position:static!important;
 }
}
