/**
 * Contact -- approved warm-light prototype (templates/page-contact.php).
 * Enqueued on the Contact page only; every rule scoped to
 * body.tsc-page--contact + WPForms' own classes (form #1863).
 */

body.tsc-page--contact {
	--c-paper: var(--tsc-paper);
	--c-line: var(--tsc-paper-line);
	--c-muted: var(--tsc-paper-text-2);
	background-color: var(--c-paper);
}

body.tsc-page--contact #content,
body.tsc-page--contact .site-content {
	background-color: var(--c-paper);
}

body.tsc-page--contact #content > .ast-container {
	display: block;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.tsc-page--contact .tsc-contact {
	padding: 96px 48px 120px;
	color: var(--tsc-text-light);
	font-family: var(--tsc-font-body);
	font-size: 16px;
	line-height: 1.55;
}

body.tsc-page--contact .tsc-contact *,
body.tsc-page--contact .tsc-contact *::before,
body.tsc-page--contact .tsc-contact *::after {
	box-sizing: border-box;
}

body.tsc-page--contact .tsc-contact__inner {
	max-width: 600px;
	margin: 0 auto;
}

body.tsc-page--contact .tsc-contact__title {
	margin: 0 0 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--tsc-text-light);
	font-family: var(--tsc-font-display);
	font-size: 44px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-transform: none;
	color: var(--tsc-text-light);
}

body.tsc-page--contact .tsc-contact .wpforms-container {
	margin: 0;
}

body.tsc-page--contact .tsc-contact .wpforms-field {
	margin: 0;
	padding: 0 0 22px;
}

body.tsc-page--contact .tsc-contact .wpforms-field-label {
	display: block;
	margin: 0 0 8px;
	font-family: var(--tsc-font-body);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-muted);
}

body.tsc-page--contact .tsc-contact .wpforms-required-label {
	font-weight: 600;
	color: var(--tsc-accent);
}

body.tsc-page--contact .tsc-contact .wpforms-field-large,
body.tsc-page--contact .tsc-contact .wpforms-field-medium {
	width: 100%;
	max-width: none;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--c-line);
	border-radius: 0;
	box-shadow: none;
	background: var(--tsc-surface-light);
	color: var(--tsc-text-light);
	font-family: var(--tsc-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

@media (prefers-reduced-motion: no-preference) {
	body.tsc-page--contact .tsc-contact .wpforms-field-large,
	body.tsc-page--contact .tsc-contact .wpforms-field-medium {
		transition: border-color 0.16s, box-shadow 0.16s;
	}
}

body.tsc-page--contact .tsc-contact textarea.wpforms-field-medium {
	display: block;
	min-height: 200px;
	resize: vertical;
}

body.tsc-page--contact .tsc-contact .wpforms-field-large:hover,
body.tsc-page--contact .tsc-contact .wpforms-field-medium:hover {
	border-color: #b5b4b0;
}

body.tsc-page--contact .tsc-contact .wpforms-field-large:focus,
body.tsc-page--contact .tsc-contact .wpforms-field-medium:focus {
	outline: none;
	border-color: var(--tsc-text-light);
	box-shadow: 0 0 0 1px var(--tsc-text-light);
}

body.tsc-page--contact .tsc-contact .wpforms-submit-container {
	padding-top: 10px;
}

body.tsc-page--contact .tsc-contact button.wpforms-submit {
	/* !important: WPForms prints its own button colours/radius at higher specificity. */
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	min-height: 50px;
	height: auto !important;
	padding: 0 32px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--tsc-accent) !important;
	color: var(--tsc-text-on-accent) !important;
	font-family: var(--tsc-font-body) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	box-shadow: none !important;
	cursor: pointer;
}

@media (prefers-reduced-motion: no-preference) {
	body.tsc-page--contact .tsc-contact button.wpforms-submit {
		transition: background-color 0.16s;
	}
}

body.tsc-page--contact .tsc-contact button.wpforms-submit:hover {
	background: var(--tsc-accent-hover) !important;
}

body.tsc-page--contact .tsc-contact button.wpforms-submit:focus-visible {
	outline: 2px solid var(--tsc-text-light);
	outline-offset: 3px;
}

/* states: WPForms' own error label + confirmation container */
body.tsc-page--contact .tsc-contact input.wpforms-error,
body.tsc-page--contact .tsc-contact textarea.wpforms-error {
	border-color: #a4413a;
}

body.tsc-page--contact .tsc-contact em.wpforms-error,
body.tsc-page--contact .tsc-contact label.wpforms-error {
	display: block;
	margin-top: 6px;
	font-style: normal;
	font-size: 13px;
	color: #a4413a;
}

body.tsc-page--contact .tsc-contact .wpforms-confirmation-container-full {
	padding: 18px 20px;
	border: 1px solid var(--c-line);
	border-left: 3px solid var(--tsc-accent);
	background: var(--tsc-surface-light);
	color: var(--tsc-text-light);
}

body.tsc-page--contact .tsc-contact .wpforms-confirmation-container-full p {
	margin: 0;
}

@media (max-width: 767px) {
	body.tsc-page--contact .tsc-contact {
		padding: 56px 16px 80px;
	}

	body.tsc-page--contact .tsc-contact__title {
		margin-bottom: 32px;
		font-size: 34px;
	}

	body.tsc-page--contact .tsc-contact textarea.wpforms-field-medium {
		min-height: 180px;
	}

	body.tsc-page--contact .tsc-contact button.wpforms-submit {
		width: 100%;
		min-height: 52px;
	}
}
