/* Stepanyan — Gravity Forms styling to match the site's WPForms design.
   Source of truth: .wpforms-* rules in themes/stepanyan-surgical/dist/css/bundle-*.css.
   Loaded by mu-plugins/stepanyan-gravityforms.php. */

/* ---- field spacing ---- */
.gform_wrapper .gfield {
	margin-bottom: 12px;
}

/* ---- text-ish inputs ---- */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="date"] {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	color: #000;
	border: 1px solid #000;
	border-radius: 0;
	background-color: #fff;
}

.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
	width: 100%;
	color: #000;
	border: 1px solid #000;
	border-radius: 0;
	background-color: #fff;
}

.gform_wrapper .gfield textarea {
	padding: 14px;
}

/* ---- select with the theme's custom arrow ---- */
.gform_wrapper .gfield select {
	height: 48px;
	padding: 0 34px 0 14px;
	color: #737373;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, #737373 0),
		linear-gradient(135deg, #737373 50%, transparent 0),
		linear-gradient(90deg, transparent, transparent);
	background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%, 100% 0;
	background-size: 5px 6px, 5px 6px, 1.5em 1.5em;
	background-repeat: no-repeat;
}
.gform_wrapper .gfield select::-ms-expand {
	display: none;
}
.gform_wrapper .gfield option,
.gform_wrapper .gfield optgroup {
	color: #535353;
}

/* ---- focus ---- */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper .gfield select:focus,
.gform_wrapper .gfield textarea:focus {
	border-color: #24b4c7;
	outline: none;
}

/* ---- placeholders ---- */
.gform_wrapper ::placeholder {
	color: #737373;
}

/* ---- checkbox ---- */
.gform_wrapper .gfield input[type="checkbox"] {
	width: 14px;
	height: 14px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 2px solid #fff;
	outline: 1px solid #000;
	border-radius: 0;
}
.gform_wrapper .gfield input[type="checkbox"]:checked {
	background-color: #24b4c7;
}
.gform_wrapper .gfield--type-checkbox {
	text-align: center;
}
.gform_wrapper .gfield--type-checkbox .gchoice {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* ---- submit ---- */
.gform_wrapper .gform_footer {
	text-align: center;
	justify-content: center;
}
.gform_wrapper .stepanyan-gf-submit {
	padding: 1.7rem 2.6rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	text-decoration: none;
	border: 0;
	border-radius: 0;
	background-color: #000;
	display: inline-flex;
	align-items: center;
	gap: 1.4rem;
	cursor: pointer;
	transition: color .4s, background-color .4s;
}
.gform_wrapper .stepanyan-gf-submit:hover,
.gform_wrapper .stepanyan-gf-submit:focus,
.gform_wrapper .stepanyan-gf-submit:active {
	color: #000;
	border: 0;
	background-color: #24b4c7;
}
.gform_wrapper .stepanyan-gf-submit::after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-size: 1.2rem;
	font-weight: 900;
	line-height: 1;
	display: inline-block;
	vertical-align: middle;
}

/* ---- required indicator + validation, WPForms-flavoured ---- */
.gform_wrapper .gfield_required {
	color: #d63637;
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
	font-size: 13px;
	font-weight: 600;
}

/* ---- footer form grid (parity with .form-main .wpforms-* rules) ----
   GF's theme CSS lays .gform_fields out on its own 12-column grid with
   per-field spans, so the 4-column layout needs !important to win. */
.form-main .gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	grid-column-gap: 2rem !important;
	grid-row-gap: 2rem !important;
}
.form-main .gform_wrapper .gform_fields .gfield {
	width: auto;
	margin: 0;
	padding: 0;
	grid-column: auto / span 1 !important;
}
.form-main .gform_wrapper .gform_fields .gfield--type-textarea {
	grid-row: 1 / span 2 !important;
	grid-column: 4 !important;
}
.form-main .gform_wrapper .gfield--type-textarea textarea {
	height: 100%;
}
.form-main .gform_wrapper .gform_fields .gfield--type-checkbox {
	grid-column: 1 / -1 !important;
}
@media (max-width: 782px) {
	.form-main .gform_wrapper .gform_fields {
		grid-template-columns: 1fr !important;
	}
	.form-main .gform_wrapper .gform_fields .gfield,
	.form-main .gform_wrapper .gform_fields .gfield--type-textarea,
	.form-main .gform_wrapper .gform_fields .gfield--type-checkbox {
		grid-row: auto !important;
		grid-column: auto !important;
	}
}
