/* Smooth show/hide for dependent fields */
.vt-collapsible {
	overflow: hidden;
	transition: grid-template-rows 200ms ease, opacity 200ms ease, margin 200ms ease;
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	margin: 0;
}
.vt-collapsible[aria-hidden="true"] {
	/* When hidden, remove from layout so grid reflows (e.g., YEL shifts left when TyEL is hidden) */
	display: none;
}
.vt-collapsible > * {
	min-height: 0;
}
.vt-collapsible.is-open {
	grid-template-rows: 1fr;
	opacity: 1;
	margin: var(--wa-space-2xs) 0;
}

/* Include checkbox wrapper: place a small checkbox before the field */
.vt-include-wrap {
	display: grid;
	/* allow a single child or more without forcing columns */
	align-items: start;
	gap: var(--wa-space-2xs);
}

/* Inline label row for include checkbox + label text inside component's label slot */
.vt-label-inline {
	display: inline-flex;
	align-items: center;
	gap: var(--wa-space-2xs);
}

/* (Removed custom input styling to use default Web Awesome appearance) */

/* Minimal invalid-state coloring (no custom base styling) */
wa-input[invalid]::part(input),
wa-select[invalid]::part(combobox),
wa-textarea[invalid]::part(textarea),
wa-textarea[invalid]::part(base) {
	border-color: var(--wa-color-danger-600, #d92d20) !important;
}
wa-input[invalid][error-text]::part(help-text),
wa-select[invalid][error-text]::part(help-text),
wa-textarea[invalid][error-text]::part(help-text) {
	color: var(--wa-color-danger-700, #b42318);
}
