/**
 * Contact Form 7 visual overrides — makes [contact-form-7 id="134"] match the original
 * donor design (see assets/css/donor.css for source Tailwind values):
 *   --background: 0 0% 100%   --border: 0 0% 85%   --foreground: 0 0% 10%
 *   --primary: 358 97% 50%    --primary-foreground: 0 0% 100%
 *   rounded-xl = .75rem | h-12 = 3rem | h-14 = 3.5rem | text-lg = 1.125rem/1.75rem
 */

.trasfostatik-cf7-wrap .wpcf7-form {
	font-family: Manrope, sans-serif;
}

.trasfostatik-cf7-wrap .trasfostatik-cf7-row {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 640px) {
	.trasfostatik-cf7-wrap .trasfostatik-cf7-row {
		grid-template-columns: 1fr 1fr;
	}
}

.trasfostatik-cf7-wrap p {
	margin-bottom: 1.5rem;
}

.trasfostatik-cf7-wrap .trasfostatik-cf7-row p {
	margin-bottom: 0;
}

.trasfostatik-cf7-wrap label {
	display: block;
	font-family: Manrope, sans-serif;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 600;
	color: hsl(0 0% 10% / 0.8);
	margin-bottom: 0.75rem;
}

.trasfostatik-cf7-wrap input.wpcf7-form-control,
.trasfostatik-cf7-wrap select.wpcf7-form-control {
	display: flex;
	width: 100%;
	height: 3rem;
	border: 1px solid hsl(0 0% 85% / 0.5);
	border-radius: 0.75rem;
	background-color: hsl(0 0% 100% / 0.5);
	padding: 0.5rem 0.75rem;
	font-size: 1rem;
	line-height: 1.5rem;
	color: hsl(0 0% 10%);
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	margin-top: 0.5rem;
}

.trasfostatik-cf7-wrap input.wpcf7-form-control[type="file"] {
	height: auto;
	padding: 0.625rem 0.75rem;
	cursor: pointer;
}

.trasfostatik-cf7-wrap textarea.wpcf7-form-control {
	display: flex;
	width: 100%;
	min-height: 160px;
	border: 1px solid hsl(0 0% 85% / 0.5);
	border-radius: 0.75rem;
	background-color: hsl(0 0% 100% / 0.5);
	padding: 1rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: hsl(0 0% 10%);
	resize: none;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	margin-top: 0.5rem;
}

.trasfostatik-cf7-wrap input.wpcf7-form-control::placeholder,
.trasfostatik-cf7-wrap textarea.wpcf7-form-control::placeholder {
	color: hsl(0 0% 45%);
	opacity: 1;
}

.trasfostatik-cf7-wrap input.wpcf7-form-control:focus,
.trasfostatik-cf7-wrap textarea.wpcf7-form-control:focus,
.trasfostatik-cf7-wrap select.wpcf7-form-control:focus {
	outline: none;
	border-color: hsl(358 97% 50% / 0.5);
	box-shadow: 0 0 0 3px hsl(358 97% 50% / 0.2);
}

.trasfostatik-cf7-wrap label:has(input[required])::after,
.trasfostatik-cf7-wrap label:has(textarea[required])::after {
	content: "";
}

.trasfostatik-cf7-wrap input.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	height: 3.5rem;
	border: none;
	border-radius: 0.75rem;
	background-color: hsl(358 97% 50%);
	color: hsl(0 0% 100%);
	font-family: Sora, sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.75rem;
	white-space: nowrap;
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
	cursor: pointer;
}

.trasfostatik-cf7-wrap input.wpcf7-submit:hover {
	background-color: hsl(358 97% 50% / 0.9);
	box-shadow: 0 20px 25px -5px hsl(358 97% 50% / 0.25), 0 8px 10px -6px hsl(358 97% 50% / 0.25);
	transform: translateY(-0.25rem);
}

.trasfostatik-cf7-wrap .wpcf7-not-valid {
	border-color: hsl(0 84.2% 60.2%) !important;
}

.trasfostatik-cf7-wrap .wpcf7-not-valid-tip {
	color: hsl(0 84.2% 60.2%);
	font-size: 0.8rem;
	margin-top: 0.375rem;
}

.trasfostatik-cf7-wrap .wpcf7-response-output {
	border-radius: 0.75rem;
	margin: 1.5rem 0 0;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
}
