.ts-form-panel :where(input:not([type="submit"]), select, textarea) { border: 1px solid #bbc0c5; border-radius: 0.3rem; box-sizing: border-box; font: inherit; min-height: 2.75rem; padding: 0.6rem 0.75rem; width: 100%; }

body:is(.page-id-1578, .page-id-1626, .page-id-1538) .ts-form-panel input[type="submit"] {
	display: inline-block;
	transform-origin: center;
	transition: transform 250ms ease, box-shadow 250ms ease;
	will-change: transform;
}

body:is(.page-id-1578, .page-id-1626, .page-id-1538) .ts-form-panel input[type="submit"]:is(:hover, :focus-visible) {
	box-shadow: 0 10px 18px rgb(0 0 0 / 12%), 0 22px 42px rgb(0 0 0 / 18%);
	transform: translateY(-6px) scale(1.045);
}

body:is(.page-id-1578, .page-id-1626, .page-id-1538) .ts-form-panel input[type="submit"]:active {
	box-shadow: 0 8px 18px rgb(0 0 0 / 12%);
	transform: translateY(-1px) scale(0.96);
}

@media (prefers-reduced-motion: reduce) {
	body:is(.page-id-1578, .page-id-1626, .page-id-1538) .ts-form-panel input[type="submit"] {
		transition: none;
	}}
.ts-form-panel :where(label, p, .wpcf7-list-item-label, .wpcf7-quiz-label) { color: var(--ts-ink); }

.ts-form-panel { background: var(--ts-white); border: 1px solid var(--ts-border); border-radius: var(--ts-radius); box-shadow: 0 0.8rem 2.5rem rgb(0 0 0 / 10%); padding: clamp(1.35rem, 2.5vw, 2.25rem); }
.ts-form-panel textarea { min-height: 9rem; }
.ts-form-panel input[type="submit"] { background: var(--ts-red); border: 0; border-radius: 0.25rem; color: var(--ts-white); cursor: pointer; font-weight: 800; padding: 0.9rem 1.4rem; text-transform: uppercase; }
.ts-form-panel label { display: grid; font-size: 0.86rem; font-weight: 700; gap: 0.35rem; }
.ts-form-panel .ts-field__label { align-items: end; display: flex; line-height: 1.25; min-height: 2.5em; }
.ts-form-panel .wpcf7-form > p { margin: 0.9rem 0 0; }
.ts-form-grid { display: grid; gap: 0.8rem 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ts-form-grid > * { margin: 0 !important; min-width: 0; }
.ts-form-grid .ts-field--wide { grid-column: 1 / -1; }
.ts-form-grid .ts-field--span-2 { grid-column: span 2; }
.ts-form-grid > p:has(> .ts-field--wide) { grid-column: 1 / -1; }
.ts-form-grid > p:has(> .ts-field--span-2) { grid-column: span 2; }
.ts-form-grid > p:has(> .ts-field--span-3) { grid-column: span 3; }
.ts-form-grid .ts-field > br { display: none; }
.ts-form-panel .wpcf7-form-control-wrap { display: block; width: 100%; }
.ts-form-panel input[type="file"] { background: var(--ts-surface); border: 1px dashed #a9aeb3; border-radius: 0.3rem; color: var(--ts-ink); max-width: 100%; padding: 0.8rem; width: 100%; }
.ts-form-grid > p:has(input[type="file"]) > label { height: 100%; }
.ts-form-grid > p:has(input[type="file"]) .wpcf7-form-control-wrap { margin-top: auto; }
.ts-form-panel .wpcf7-not-valid-tip { color: var(--ts-red); font-size: 0.82rem; margin-top: 0.3rem; }
.ts-application-layout { align-items: start !important; gap: clamp(2rem, 3vw, 3.5rem); margin-inline: auto; width: min(82rem, calc(100vw - 3rem)); }
.ts-application-layout > .wp-block-column:first-child { flex-basis: 23%; }
.ts-application-layout > .wp-block-column:last-child { flex-basis: 77%; }

@media (max-width: 781px) {

	.ts-application-layout {
		display: flex !important;
		flex-direction: column;
		gap: 2rem;
		width: min(100% - 2rem, 42rem);
	}
	.ts-application-layout > .wp-block-column {
		flex-basis: auto !important;
		margin: 0 !important;
		min-width: 0;
		width: 100%;
	}
	.ts-form-panel { padding: clamp(1.15rem, 5vw, 1.75rem); }
	.ts-form-grid {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		width: 100%;
	}
	.ts-form-grid > p {
		display: block;
		margin: 0 !important;
		min-width: 0;
		width: 100%;
	}
	.ts-form-grid .ts-field {
		display: flex;
		flex-direction: column;
		gap: 0.35rem;
		grid-column: auto;
		height: auto;
		min-width: 0;
		width: 100%;
	}
	.ts-form-grid .wpcf7-form-control-wrap {
		margin-top: 0;
		min-width: 0;
		width: 100%;
	}
	.ts-form-panel .ts-field__label { min-height: 0; }
	.ts-form-panel input[type="file"] { white-space: normal; }
	.ts-form-panel input[type="submit"] { width: 100%; }}
