/**
 * Block styles for gravityforms/form. Enqueued per-block.
 *
 * Doubled `.gform_wrapper.gravity-theme` selector (0,2,0) matches
 * gravity-theme's own specificity so our overrides win.
 *
 * Input sizing/border/font come from theme.json + global.css.
 * Submit button uses wp-element-button (injected in inc/gravity-forms.php).
 */

/* Field-to-field spacing on the .gform_fields grid parent. */
.gform_wrapper.gravity-theme .gform_fields {
	row-gap: 20px;
}

/* Field label — eyebrow style (uppercase, gray-dark, weight 700). */
.gform_wrapper.gravity-theme .gfield_label {
	display: block;
	margin-bottom: 5px;
	font-family: var(--wp--preset--font-family--nunito-sans);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: var(--wp--custom--font-weight-eyebrow);
	line-height: 1.35;
	text-transform: uppercase;
	color: var(--wp--preset--color--gray-dark);
}

/* Required asterisk. */
.gform_wrapper.gravity-theme .gfield_required {
	color: var(--wp--preset--color--secondary);
	margin-left: 0.15em;
}

/* Field description / instruction text. */
.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .instruction {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--gray-dark);
	margin-top: 0.4rem;
}

/* Select — strip native arrow, paint chevron-down via background-image. */
.gform_wrapper.gravity-theme select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.5em;
	background-image: url(../svg/icons/chevron-down.svg);
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 1.3em;
}

/* Checkbox / radio — accent-tinted with shared focus halo. */
.gform_wrapper.gravity-theme .ginput_container_checkbox .gchoice,
.gform_wrapper.gravity-theme .ginput_container_radio .gchoice {
	display: flex;
	align-items: flex-start;
	gap: 0.6em;
}
.gform_wrapper.gravity-theme .ginput_container_checkbox input[type="checkbox"],
.gform_wrapper.gravity-theme .ginput_container_radio input[type="radio"] {
	margin-top: 0.2em;
	width: 1.1em;
	height: 1.1em;
	accent-color: var(--wp--preset--color--accent);
	flex-shrink: 0;
	/* Transparent outline reserved to avoid layout shift on hover/focus. */
	outline: 2px solid transparent;
	outline-offset: 2px;
	transition: outline-color 0.15s ease;
}
.gform_wrapper.gravity-theme .ginput_container_checkbox input[type="checkbox"]:hover,
.gform_wrapper.gravity-theme .ginput_container_radio input[type="radio"]:hover {
	outline-color: var(--wp--preset--color--accent);
}
.gform_wrapper.gravity-theme .ginput_container_checkbox input[type="checkbox"]:focus-visible,
.gform_wrapper.gravity-theme .ginput_container_radio input[type="radio"]:focus-visible {
	outline-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 4px var(--wp--preset--color--base-3);
}
.gform_wrapper.gravity-theme .ginput_container_checkbox label,
.gform_wrapper.gravity-theme .ginput_container_radio label {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	color: var(--wp--preset--color--contrast);
	font-weight: var(--wp--custom--link-font-weight);
	text-transform: none;
	margin: 0;
}

/* Validation message + error-field border (terracotta). */
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
	margin-top: 0.4rem;
}
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select {
	border-color: var(--wp--preset--color--secondary);
}

/* Submit-button chevron painted as background-image — pseudo-elements
   don't work on <input type="submit">. Stroke is hardcoded white in
   the data URL since external-SVG currentColor doesn't inherit. */
.gform_wrapper.gravity-theme .gform_button.wp-element-button {
	padding-right: 2.75em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1em center;
	background-size: 1.25em;
	transition: background-position 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.gform_wrapper.gravity-theme .gform_button.wp-element-button:where(:hover, :focus) {
	background-position: right 0.7em center;
}
