.equal-boxes .panel-grid-cell {
	align-self: stretch;
	display: flex;
	flex-direction: column;
}

.equal-boxes .panel-grid-cell > .panel-cell-style {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.equal-boxes :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.equal-boxes :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * {
	flex: 1 1 auto;
}

.equal-boxes--btn-left {
	--equal-boxes-button-align: flex-start;
	--equal-boxes-button-text-align: left;
}

.equal-boxes--btn-right {
	--equal-boxes-button-align: flex-end;
	--equal-boxes-button-text-align: right;
}

.equal-boxes--gap-10 { --equal-boxes-button-gap: 10px; }
.equal-boxes--gap-20 { --equal-boxes-button-gap: 20px; }
.equal-boxes--gap-30 { --equal-boxes-button-gap: 30px; }
.equal-boxes--gap-40 { --equal-boxes-button-gap: 40px; }
.equal-boxes--gap-60 { --equal-boxes-button-gap: 60px; }

.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > *:has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child:has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :only-child:has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)) {
	display: flex;
	flex-direction: column;
}

.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child:has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :only-child:has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)) {
	flex: 1 1 auto;
}

.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :has(+ :last-child:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :has(+ :last-child:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :only-child > :has(+ :last-child:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)) {
	flex-grow: 1;
}

.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :last-child:not(:only-child):is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :last-child:not(:only-child):is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :only-child > :last-child:not(:only-child):is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button) {
	align-self: var(--equal-boxes-button-align, center);
}

.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :last-child:not(:only-child):not(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button):has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :last-child:not(:only-child):not(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button):has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :only-child > :last-child:not(:only-child):not(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button):has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)) {
	margin-top: auto;
	text-align: var(--equal-boxes-button-text-align, inherit);
}

.equal-boxes[class*="equal-boxes--gap-"]:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :last-child:not(:only-child):is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button),
.equal-boxes[class*="equal-boxes--gap-"]:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :last-child:not(:only-child):is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button),
.equal-boxes[class*="equal-boxes--gap-"]:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :only-child > :last-child:not(:only-child):is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button) {
	margin-top: var(--equal-boxes-button-gap);
}

.equal-boxes[class*="equal-boxes--gap-"]:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :last-child:not(:only-child):not(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button):has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes[class*="equal-boxes--gap-"]:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :last-child:not(:only-child):not(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button):has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)),
.equal-boxes[class*="equal-boxes--gap-"]:not(.equal-boxes--btn-off) :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child > * > :only-child > :only-child > :last-child:not(:only-child):not(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button):has(:is(a[class*="button"], a[class*="btn"], button, input[type="submit"], .wp-block-button)) {
	padding-top: var(--equal-boxes-button-gap);
}

.equal-boxes--cta :is(.panel-grid-cell, .panel-grid-cell > .panel-cell-style) > .so-panel:last-child {
	flex: 0 0 auto;
	margin-top: auto;
}
