/* Forms and Inputs */
.gform_wrapper ::placeholder { color: red;}
.gform_wrapper :focus::placeholder { opacity: 0.2; font-weight: 500;}

body .gform_wrapper.gravity-theme input[type=email],
body .gform_wrapper.gravity-theme input[type=tel],
body .gform_wrapper.gravity-theme input[type=text],
body .gform_wrapper.gravity-theme input[type=submit] {
	font-size: 1rem;
	padding: .5em;
}

.ginput_container_consent {
    display: flex;
	line-height: 1.2em;
}

.ginput_container_consent input {
    align-self: flex-start;
    margin-right: 10px;
    margin-top: 0.3em;
}

/* --- Gravity Forms: keep <select> the same height as the text inputs ---
   A text input's height is line-height-driven: 1.5 × 1rem (24px) + .5em×2
   padding (16px) = 40px. But Chrome sizes a single <select> from its font +
   padding and IGNORES line-height, so it renders ~2px short. Fix: give the
   inputs an explicit line-height (to lock their height) and pin the select's
   min-height to the same value. */

body .gform_wrapper.gravity-theme input[type=email],
body .gform_wrapper.gravity-theme input[type=tel],
body .gform_wrapper.gravity-theme input[type=text] {
	font-size: 1rem;
	line-height: 1.5;          /* 24px — drives the 40px height */
	padding: .5em;             /* 8px top + 8px bottom */
	border: none;
	width: 100%;
	background: #fff;
	box-sizing: border-box;
}

body .gform_wrapper.gravity-theme select {
	font-size: 1rem;
	padding: .5em;
	padding-left: calc(.5em - 4px);   /* nudge to align with input text */
	color: var(--color-text-black);
	background: #fff;
	border: none;
	box-sizing: border-box;
	min-height: 40px;          /* == input height; line-height won't grow a select */
}

/* Gravity Forms bumps text inputs to a 48px touch target under 641px
   (basic.min.css sets line-height:2) but skips <select> — match it. */
@media (max-width: 641px) {
	body .gform_wrapper.gravity-theme select {
		min-height: 48px;
	}
}