/**
 * Independent widths for the direct structural children of Core Accordion Item.
 *
 * Core's layout support constrains nested blocks to the width of their parent.
 * These rules resolve the three native alignment states independently:
 * - no align class: global content size
 * - .alignwide:     global wide size
 * - .alignfull:     full viewport/editor-canvas width
 *
 * Only direct Accordion Heading/Panel children are affected. Core markup,
 * interactivity and accessibility behavior remain untouched.
 */

.wp-block-accordion-item > :is(.wp-block-accordion-heading, .wp-block-accordion-panel) {
	box-sizing: border-box;
	max-width: none;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* "None" / normal content width. */
.wp-block-accordion-item > :is(.wp-block-accordion-heading, .wp-block-accordion-panel):not(.alignwide):not(.alignfull) {
	width: min(var(--wp--style--global--content-size, 100%), 100vw);
}

/* "Wide width" / WordPress global wide size. */
.wp-block-accordion-item > :is(.wp-block-accordion-heading, .wp-block-accordion-panel).alignwide {
	width: min(var(--wp--style--global--wide-size, 100%), 100vw);
}

/* "Full width" can break out of a narrow Accordion/Accordion Item. */
.wp-block-accordion-item > :is(.wp-block-accordion-heading, .wp-block-accordion-panel).alignfull {
	width: 100vw;
}

/* Avoid an inherited/min-content constraint from winning in the editor. */
.editor-styles-wrapper .wp-block-accordion-item > :is(.wp-block-accordion-heading, .wp-block-accordion-panel) {
	min-width: 0;
}
