/* Ported from WordPress block-theme layout system (theme.json of cp-catapult).
   Provides the same is-layout-constrained / has-global-padding / alignwide /
   alignfull behaviour so existing class-based markup works unchanged. */

:root {
  --wp--style--root--padding-top: 0;
  --wp--style--root--padding-right: clamp(1.5rem, 0.7958rem + 3.0047vw, 3.5rem);
  --wp--style--root--padding-bottom: 0;
  --wp--style--root--padding-left: clamp(1.5rem, 0.7958rem + 3.0047vw, 3.5rem);
  --wp--style--global--content-size: 1200px;
  --wp--style--global--wide-size: 1440px;
}

/* Global padding — horizontal only, matches WP theme.json spacing.padding */

.has-global-padding {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}

/* Constrained layout — children get contentSize max-width with auto margins */

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size);
}

.is-layout-constrained > .alignfull {
  max-width: none;
}

/* If the constrained container itself also has global padding, nested
   children shouldn't double-pad. Match WP's !important resets. */

.has-global-padding > .alignfull {
  margin-right: calc(var(--wp--style--root--padding-right) * -1);
  margin-left: calc(var(--wp--style--root--padding-left) * -1);
}

.has-global-padding > .alignfull:where(.has-global-padding, .is-layout-constrained) {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}

/* Breadcrumb container — spacing around the bar itself */

.breadcrumbs-container {
  padding-top: 24px;
  padding-bottom: 24px;
}
