/*
 * ETheme-Block — Block（Container 内的整行内容分组）
 *
 * Block 只负责内容流：不创建背景、容器宽度或 Section 垂直间距。
 * Grid 继续负责二维列轨道；Block 的横向模式使用 Flex。
 */
.etb-block:where(:not(.etb-block--plain)) {
	--etb-block-gap: var(--eth-content-gap, var(--eth-space-s, 1rem));
	display: flex;
	box-sizing: border-box;
	gap: var(--etb-block-gap);
	width: 100%;
	min-width: 0;
}

.etb-block:where(:not(.etb-block--plain)) > * {
	min-width: 0;
	margin-block: 0;
}

.etb-block--stack {
	flex-direction: column;
	align-items: stretch;
}

.etb-block--row {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

.etb-block--gap-2xs { --etb-block-gap: var(--eth-space-2xs, 0.6rem); }
.etb-block--gap-xs { --etb-block-gap: var(--eth-space-xs, 0.75rem); }
.etb-block--gap-s { --etb-block-gap: var(--eth-space-s, 1rem); }
.etb-block--gap-m { --etb-block-gap: var(--eth-space-m, 1.5rem); }
.etb-block--gap-l { --etb-block-gap: var(--eth-space-l, 2.5rem); }

.etb-block--items-start { align-items: flex-start; }
.etb-block--items-center { align-items: center; }
.etb-block--items-end { align-items: flex-end; }
.etb-block--items-stretch { align-items: stretch; }

.etb-block--justify-start { justify-content: flex-start; }
.etb-block--justify-center { justify-content: center; }
.etb-block--justify-end { justify-content: flex-end; }
.etb-block--justify-between { justify-content: space-between; }
.etb-block--nowrap { flex-wrap: nowrap; }

@media (max-width: 768px) {
	.etb-block--row.etb-block--mobile-stack {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
	}
}
