/* RDC_DPV_LIQUID_LAYOUT_START
 * Prototype boundary for the TMPLT V2 liquid_layout_mgr design atom.
 * Default flow is block/inline-block. Packed flow uses scoped native floats so
 * later siblings can occupy unused vertical space without DOM reparenting.
 */

[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"] {
	font-size: 0;
}

[data-llm-flow="row"] > [data-llm-item] {
	display: inline-block;
	float: none;
	font-size: 1rem;
	vertical-align: var(--llm-item-vertical, top);
}

/* RDC_DPV_LLM_REVERSE_WRAP_START
 * Width is supplied by liquid_layout_mgr from each item's on-div min/max.
 * Source order stays intact; later items rise into newly usable row space.
 */
[data-llm-flow="reverse-wrap"] {
	font-size: 0;
}

[data-llm-flow="reverse-wrap"] > [data-llm-item] {
	display: inline-block;
	float: none;
	font-size: 1rem;
	vertical-align: var(--llm-item-vertical, top);
}
/* RDC_DPV_LLM_REVERSE_WRAP_END */

[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; }

/* Sizing atoms may be used without JavaScript; the manager normalizes typed values. */
.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;
	}
}

/* RDC_DPV_LIQUID_LAYOUT_END */
