/* VuloMail theme: layout glue between Astra, Kadence and the patterns. */

/* Pattern pages and the theme's blog views: no Astra boxes, title or header offset. */
.vm-canvas #content.site-content,
.vm-canvas .site-content > .ast-container,
.vm-canvas #primary,
.vm-canvas .site-main,
.vm-canvas .ast-article-single,
.vm-canvas .entry-content {
  display: block;
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  float: none;
}
.vm-canvas .entry-content > * { margin-block: 0; }
.vm-canvas .entry-header, .vm-canvas .ast-breadcrumbs-wrapper, .vm-canvas #secondary { display: none; }
.vm-has-header #masthead { display: none; }
.vm-layout { display: contents; }
#page.site { overflow: visible; }

/*
 * position: sticky (used by the pipeline/principles/side-index graphics - the
 * "left column stays put while you scroll past its sibling content" sections)
 * stops working the moment ANY ancestor between the sticky element and the
 * viewport has overflow other than "visible". Astra/Kadence wrap page content
 * in several boxes that set overflow-x:hidden (to stop horizontal scroll from
 * full-bleed sections), and any one of them silently breaks sticky deep inside
 * a pattern. We can't drop those wrappers' clipping globally (marquees and a
 * few decorative sections rely on real overflow:hidden), so instead we swap
 * the known Astra/Kadence ancestors of canvas/pattern pages to `overflow: clip`
 * horizontally only, which still stops horizontal scroll but - unlike `hidden` -
 * does not establish a scroll container, so it does not break sticky descendants.
 */
.vm-canvas,
.vm-canvas #content.site-content,
.vm-canvas .site-content > .ast-container,
.vm-canvas #primary,
.vm-canvas .site-main,
.vm-canvas .entry-content,
.vm-canvas .wp-block-kadence-rowlayout,
.vm-canvas .kt-row-column-wrap,
.vm-canvas .wp-block-kadence-column {
  overflow-x: clip;
  overflow-y: visible;
}
/* Sections that need a real clip (marquees, tilt cards, decorative blobs) opt back in explicitly. */
.vm-canvas .vm-deco,
.vm-canvas .vm-marquee,
.vm-canvas [data-vm-marquee] {
  overflow: hidden;
}

/* Header dropdowns and mobile menu */
.vm-dropdown[hidden] { display: none; }
.vm-mobile-menu[hidden] { display: none; }
body.vm-menu-open { overflow: hidden; }
.vm-menu-icon { display: inline-flex; }
.vm-menu-icon[hidden] { display: none; }

/* Kadence editor niceties */
.vm-editor .vm-graphic { display: block; }
.vm-editor [data-vm-pipeline], .vm-editor [data-vm-track] { height: auto !important; }
.vm-editor .sticky { position: relative; }

/* Content-width guard: wide/full Gutenberg alignments still respect the theme width. */
.vm-tw .alignwide { max-width: var(--container-7xl); }
