/* TMPLT V2 liquid layout atoms. Constraints are declared on the owning div
 * with data-llm-min-w, data-llm-max-w, data-llm-min-h, and data-llm-max-h.
 * The browser keeps source order and never requires grid or flex ownership. */
[data-llm],
[data-llm-item] {
	box-sizing: border-box;
	max-inline-size: 100%;
}

[data-llm] {
	position: relative;
	inline-size: var(--llm-width, 100%);
	min-inline-size: min(100%, var(--llm-min-width, 0px));
	max-inline-size: min(100%, var(--llm-max-width, 100%));
	block-size: var(--llm-height, auto);
	min-block-size: var(--llm-min-height, 0px);
	max-block-size: var(--llm-max-height, none);
	text-align: var(--llm-align, left);
}

[data-llm][data-llm-display="inline"] { display: inline-block; vertical-align: var(--llm-vertical, top); }
[data-llm][data-llm-display="block"],
[data-llm]:not([data-llm-display]) { display: block; }
[data-llm-flow="row"],
[data-llm-flow="reverse-wrap"] { font-size: 0; }
[data-llm-flow="row"] > [data-llm-item],
[data-llm-flow="reverse-wrap"] > [data-llm-item] {
	display: inline-block;
	float: none;
	font-size: 1rem;
	vertical-align: var(--llm-item-vertical, top);
}
[data-llm-flow="column"] > [data-llm-item] { display: block; float: none; }
[data-llm][data-llm-flow="pack"] { display: flow-root; }
[data-llm-flow="pack"][data-llm-display="inline"] { display: inline-block; }
[data-llm-flow="pack"] > [data-llm-item] { display: block; float: left; }

[data-llm-item] {
	inline-size: var(--llm-item-width, auto);
	min-inline-size: min(100%, var(--llm-item-min-width, 0px));
	max-inline-size: min(100%, var(--llm-item-max-width, 100%));
	block-size: var(--llm-item-height, auto);
	min-block-size: var(--llm-item-min-height, 0px);
	max-block-size: var(--llm-item-max-height, none);
	overflow: var(--llm-item-overflow, visible);
	overflow-wrap: anywhere;
	word-break: normal;
}

[data-llm-overflow="auto"] { overflow: auto; }
[data-llm-overflow="hidden"] { overflow: hidden; }
[data-llm-overflow="scroll"] { overflow: scroll; }
[data-llm-new-row],
.llm-new-row {
	display: block !important;
	float: none !important;
	clear: both !important;
	inline-size: 100% !important;
	block-size: 0;
	min-block-size: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

[data-llm-align="center"] { --llm-align: center; }
[data-llm-align="right"],
[data-llm-align="end"] { --llm-align: right; }
[data-llm-valign="middle"] { --llm-vertical: middle; }
[data-llm-valign="bottom"] { --llm-vertical: bottom; }
.llm-w-full { --llm-item-width: 100%; }
.llm-w-half { --llm-item-width: 50%; }
.llm-w-third { --llm-item-width: 33.3333%; }
.llm-w-two-thirds { --llm-item-width: 66.6667%; }
.llm-content-size { --llm-item-width: auto; }

@media (max-width: 520px) {
	[data-llm-item][data-llm-small="full"] {
		float: none;
		inline-size: 100% !important;
		max-inline-size: 100% !important;
	}
}
