/* VÝBORNĚ public layout normalization.
 * Keeps full-width backgrounds/heroes, but gives all public content
 * a consistent centered 80rem (1280px) working width.
 */
body:not(.vup-body) .entry-content{
  --vu-public-max:80rem;
  --vu-public-gutter:clamp(18px,3vw,40px);
}

/* Top-level content that is not intentionally full-bleed. */
body:not(.vup-body) .entry-content > :where(
  p,h1,h2,h3,h4,h5,h6,ol,ul,hr,
  .wp-block-columns,.wp-block-group,.wp-block-media-text,
  .wp-block-buttons,.wp-block-table,.wp-block-image,.wp-block-cover
):not(.alignfull){
  width:min(calc(100% - (2 * var(--vu-public-gutter))),var(--vu-public-max)) !important;
  max-width:var(--vu-public-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}

/* Full-width sections keep their background edge-to-edge;
 * their immediate content uses the same centered working width.
 */
body:not(.vup-body) .entry-content > .wp-block-group.alignfull.is-layout-constrained > :where(
  p,h1,h2,h3,h4,h5,h6,ol,ul,hr,
  .wp-block-columns,.wp-block-group,.wp-block-media-text,
  .wp-block-buttons,.wp-block-table,.wp-block-image
):not(.alignfull){
  width:min(calc(100% - (2 * var(--vu-public-gutter))),var(--vu-public-max)) !important;
  max-width:var(--vu-public-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}

/* Consistent centering for wide Gutenberg blocks. */
body:not(.vup-body) .entry-content .alignwide{
  max-width:var(--vu-public-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}

/* Prevent legacy embeds/forms from pushing a section off-center. */
body:not(.vup-body) .entry-content iframe,
body:not(.vup-body) .entry-content form,
body:not(.vup-body) .entry-content table{
  max-width:100%;
}

body:not(.vup-body) .entry-content iframe[src*="bigin.online"]{
  display:block;
  width:100% !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border:0;
}

body:not(.vup-body) .entry-content .wpforms-container{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:782px){
  body:not(.vup-body) .entry-content{
    --vu-public-gutter:14px;
  }
}