.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; }
body.page-id-1578 .ts-form-panel textarea[name="your-message"] {
	height: auto;
	min-height: calc(2lh + 1.2rem + 2px);
	overflow-y: hidden;
	resize: none;
	transition: min-height 180ms ease;
}
body.page-id-1578 .ts-form-panel textarea[name="your-message"]:focus {
	min-height: 6rem;
}
.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; }
body.page-id-1578 .ts-form-panel .wpcf7-form > p:has(> label [name="your-name"]) {
	display: grid;
	gap: 0.9rem;
}
body.page-id-1578 .ts-form-panel .wpcf7-form > p:has(> label [name="your-name"]) > br {
	display: none;
}
.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-form-panel .wpcf7-response-output {
	background: #fff7df;
	border: 0 !important;
	border-left: 0.3rem solid #b77900 !important;
	border-radius: 0.35rem;
	box-shadow: 0 0.35rem 1rem rgb(0 0 0 / 8%);
	box-sizing: border-box;
	color: #352600 !important;
	font-size: 0.95rem;
	font-weight: 650;
	line-height: 1.45;
	margin: 1.25rem 0 0 !important;
	min-height: 0;
	padding: 0.9rem 1rem 0.9rem 3rem !important;
	position: relative;
	text-transform: none;
	width: 100%;
}
.ts-form-panel .wpcf7-response-output::before {
	align-items: center;
	background: #b77900;
	border-radius: 50%;
	color: #fff;
	content: "!";
	display: flex;
	font-size: 0.82rem;
	font-weight: 800;
	height: 1.45rem;
	justify-content: center;
	left: 1rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.45rem;
}
.ts-form-panel form:is(.failed, .aborted) .wpcf7-response-output {
	background: #fff0f0;
	border-left-color: #b42318 !important;
	color: #681b16 !important;
}
.ts-form-panel form:is(.failed, .aborted) .wpcf7-response-output::before { background: #b42318; }
.ts-form-panel form.spam .wpcf7-response-output {
	background: #fff3e8;
	border-left-color: #b54708 !important;
	color: #6e2d06 !important;
}
.ts-form-panel form.spam .wpcf7-response-output::before { background: #b54708; }
.ts-form-panel form.sent .wpcf7-response-output {
	background: #edf8ef;
	border-left-color: #2e7d32 !important;
	color: #1f5423 !important;
}
.ts-form-panel form.sent .wpcf7-response-output::before {
	background: #2e7d32;
	content: "\2713";
}
.ts-application-layout { align-items: start !important; display: grid !important; gap: clamp(2rem, 3vw, 3.5rem); grid-template-columns: minmax(24rem, 1fr) minmax(0, 36rem); margin-inline: auto; max-width: none !important; width: min(64rem, calc(100vw - 3rem)); }
.ts-application-layout > .wp-block-column { min-width: 0; }

@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%; }}
