.alignwide { width: min(100% - 2rem, 76rem); margin-inline: auto; }
.alignfull { width: 100%; }
.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
.term-description { max-width: 48rem; }
.navigation.pagination { grid-column: 1 / -1; }
.wp-block-group.is-style-card { padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
.wp-block-group.is-style-sunken-section { padding-block: var(--space-2xl); background: var(--color-surface-sunken); }
.wp-block-paragraph.is-style-eyebrow { color: var(--color-identity); font-size: var(--step--1); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

/* WordPress adapters only. Component dimensions and spacing live in site.css.
 * theme.json leaves automatic block gaps disabled so those rules also govern
 * editable Groups, PHP templates and newly created content. */
.utility-bar__inner > .utility-bar__title { flex: 1; margin: 0; line-height: 1; }
.utility-bar__title { display: inline-flex; min-height: 2.5rem; align-items: center; }
.utility-bar__links, .utility-bar__links .wp-block-navigation__container, .utility-bar__links .wp-block-navigation-item { height: 100%; align-items: center; }
.utility-bar__links .wp-block-navigation-item .wp-block-navigation-item__content { height: 100%; display: inline-flex; align-items: center; line-height: 1; }
/* Core navigation assets can print after wp_head() in PHP templates. Scope
 * these adapters to the component so both rendering paths share its tokens. */
.site-header .site-nav .wp-block-navigation__container { gap: var(--navigation-gap); }
.site-header .site-nav .wp-block-navigation-item__content { display: inline-flex; align-items: center; color: var(--color-text); }
.utility-bar__links .wp-block-navigation__container { gap: var(--space-m); }
.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close { color: var(--color-text); }
.site-header .wp-block-navigation__responsive-container-open {
  min-height: 2.875rem;
  padding: var(--space-2xs) var(--space-s);
  align-items: center;
  gap: var(--space-2xs);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  font-weight: 750;
}
.site-header .wp-block-navigation__responsive-container-open .mobile-menu-icon { width: 1.35rem; height: 1.35rem; }
.site-header .wp-block-navigation__responsive-container-close {
  width: 2.875rem;
  height: 2.875rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
}
.site-header .site-nav .drawer-only { display: none; }

/* The kitchen sink is an internal component specimen. Keep its demo-only
 * styles scoped so they cannot alter production templates. */
html.theme-dark body.reference-kitchen-sink { color-scheme: dark; --color-text: var(--neutral-000); --color-text-muted: var(--neutral-300); --color-surface: var(--neutral-900); --color-surface-sunken: var(--neutral-600); --color-border: var(--neutral-400); }
.reference-kitchen-sink .reference-library { width: min(calc(100% - (var(--gutter) * 2)), var(--container-max)); margin-inline: auto; }
.reference-kitchen-sink .topbar { padding-block: var(--space-xl) var(--space-m); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-m); }
.reference-kitchen-sink .reference-library > section { padding-block: var(--space-xl); border-bottom: 1px solid var(--color-border); }
.reference-kitchen-sink .lede { color: var(--color-text-muted); }
.reference-kitchen-sink h3.sub { max-width: none; margin: var(--space-m) 0 var(--space-2xs); color: var(--color-text-muted); font-size: var(--step--1); letter-spacing: .06em; text-transform: uppercase; }
.reference-kitchen-sink .type-h1 { margin: .67em 0; font-family: var(--font-display); font-size: var(--step-4); font-weight: 700; line-height: var(--leading-tight); }
.reference-kitchen-sink .demo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); }
.reference-kitchen-sink .stack > * + * { margin-top: var(--space-s); }
.reference-kitchen-sink .btn.secondary { background: var(--color-surface-sunken); color: var(--color-text); }
.reference-kitchen-sink .btn.ghost { background: transparent; color: var(--color-action); box-shadow: inset 0 0 0 1px currentColor; }
.reference-kitchen-sink .btn.pill { border-radius: var(--radius-pill); }
.reference-kitchen-sink .btn[disabled] { opacity: .5; cursor: not-allowed; }
.reference-kitchen-sink .field { max-width: 24rem; display: flex; flex-direction: column; gap: .25rem; }
.reference-kitchen-sink .field.error input { border-color: var(--color-danger, #a13d33); }
.reference-kitchen-sink .err { color: var(--color-danger, #a13d33); font-size: var(--step--1); }
.reference-kitchen-sink .check { display: flex; align-items: center; gap: .5rem; font-weight: 400; }
.reference-kitchen-sink .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--space-m); }
.reference-kitchen-sink .card { padding: var(--space-m); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface-sunken); }
.reference-kitchen-sink .alert { padding: var(--space-xs) var(--space-s); border-left: 4px solid var(--color-action); border-radius: var(--radius-surface-sm); background: var(--color-surface-sunken); }
.reference-kitchen-sink .alert.success { border-left-color: var(--color-success, #2f7d4f); }
.reference-kitchen-sink .alert.warn { border-left-color: var(--color-warning, #a8720d); }
.reference-kitchen-sink .alert.danger { border-left-color: var(--color-danger, #a13d33); }
.reference-kitchen-sink .gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: var(--space-2xs); }
.reference-kitchen-sink .gallery figure { margin: 0; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); background: var(--color-surface-sunken); color: var(--color-text-muted); }
.reference-kitchen-sink .gallery figure:nth-child(3n) { aspect-ratio: 16 / 9; }
.reference-kitchen-sink .video__frame { aspect-ratio: 16 / 9; display: grid; place-items: center; border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface-sunken); }
.reference-kitchen-sink .zdemo { position: relative; height: 12rem; }
.reference-kitchen-sink .zdemo div { position: absolute; padding: .4rem .7rem; border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); background: var(--color-surface); font-size: var(--step--1); }
.reference-kitchen-sink .z1 { left: 0; top: 0; z-index: var(--z-base); }
.reference-kitchen-sink .z2 { left: 2.5rem; top: 1.6rem; z-index: var(--z-raised); }
.reference-kitchen-sink .z3 { left: 5rem; top: 3.2rem; z-index: var(--z-sticky); }
.reference-kitchen-sink .z4 { left: 7.5rem; top: 4.8rem; z-index: var(--z-header); }
.reference-kitchen-sink .z5 { left: 10rem; top: 6.4rem; z-index: var(--z-commsbar); }
.reference-kitchen-sink .z6 { left: 12.5rem; top: 8rem; z-index: var(--z-overlay); }
.reference-kitchen-sink .z7 { left: 15rem; top: 9.6rem; z-index: var(--z-modal); }

@media (max-width: 68rem) {
  .site-header .site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .site-header .site-nav .wp-block-navigation__responsive-container-open { display: flex; }
  .site-header .site-nav { margin-inline-start: auto; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--color-surface); color: var(--color-text); }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { width: min(100%, 32rem); min-height: 100%; margin-inline: auto; padding: var(--space-m); }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { inset: var(--space-m) var(--space-m) auto auto; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; padding-block-start: var(--space-xl); align-items: stretch; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; margin: 0; align-items: stretch; gap: 0; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { min-height: 3.25rem; width: 100%; justify-content: flex-start; border-bottom: 1px solid var(--color-border); }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .drawer-only { display: flex; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .drawer-cta { margin-block-start: var(--space-m); }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .drawer-cta .wp-block-navigation-item__content { padding: var(--space-xs) var(--space-m); justify-content: center; border: 0; border-radius: var(--radius-pill); background: var(--color-cta); color: var(--color-cta-label); }
  .site-header .wp-block-navigation__responsive-container.is-menu-open .drawer-cta .wp-block-navigation-item__content:hover { background: var(--color-cta-hover); color: var(--color-cta-label-hover); }
}




/* Core media wrappers add no spacing of their own inside design components. */
.wp-block-image, figure, .wp-block-quote { margin: 0; }
