/* Shared mechanics. Site-specific presentation belongs in the child theme. */
.beanstalk-mega-item { position: relative; display: flex; align-items: center; flex-wrap: wrap; }
.beanstalk-mega-item > .beanstalk-mega-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 44px; min-height: 44px; padding: 10px; border: 0; border-radius: 4px; color: inherit; background: transparent; cursor: pointer; }
.beanstalk-mega-toggle svg { pointer-events: none; }
.beanstalk-mega-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.beanstalk-mega-item > [hidden] { display: none !important; }
.beanstalk-mega-panel { display: none; box-sizing: border-box; width: 100%; min-width: 0; padding: var(--bst-mega-panel-padding, var(--wp--preset--spacing--40, 1.5rem)); color: var(--bst-mega-panel-color, inherit); background: var(--bst-mega-panel-background, var(--wp--preset--color--base, Canvas)); border: 1px solid var(--bst-mega-panel-border, currentColor); text-align: left; }
.beanstalk-mega-item.is-mega-open > .beanstalk-mega-panel:not([hidden]) { display: block; }
.beanstalk-mega-panel .beanstalk-mega-content { width: 100%; min-width: 0; }
.beanstalk-mega-panel :where(ul, ol) { display: block; }
.beanstalk-mega-panel :where(a) { white-space: normal; }
.beanstalk-mega-item :is(a, button):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
	.beanstalk-mega-item *, .beanstalk-mega-item *::before, .beanstalk-mega-item *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.beanstalk-mega-current-page, .beanstalk-mega-current-section { text-decoration: underline; text-underline-offset: .2em; }

/* Placeholder headings are disclosure buttons at every width; destinations stay links. */
.beanstalk-mega-item.has-mega-heading-button > a { display: none; }
.beanstalk-mega-item > .beanstalk-mega-full-row { font: inherit; gap: 8px; padding-inline: 0; }
.beanstalk-mega-label { pointer-events: none; }
