/*
 * Oakley Packaging skin for Gravity Forms 2.10+.
 *
 * Dark styling is automatic inside the Oakley navy Group styles. Add
 * `.oakley-form-dark` to any other parent container to opt in manually.
 */

.gform_wrapper.gform-theme {
	--gf-color-primary: var(--wp--preset--color--orange) !important;
	--gf-color-primary-rgb: 229, 138, 42 !important;
	--gf-color-primary-contrast: var(--wp--preset--color--ink) !important;
	--gf-color-primary-contrast-rgb: 20, 32, 43 !important;
	--gf-color-primary-darker: var(--wp--preset--color--orange) !important;
	--gf-color-primary-lighter: var(--wp--preset--color--orange) !important;
	--gf-color-in-ctrl: var(--wp--preset--color--white) !important;
	--gf-color-in-ctrl-rgb: 255, 255, 255 !important;
	--gf-color-in-ctrl-contrast: var(--wp--preset--color--ink) !important;
	--gf-color-in-ctrl-contrast-rgb: 20, 32, 43 !important;
	--gf-color-danger: #b42318 !important;
	--gf-color-danger-rgb: 180, 35, 24 !important;
	--gf-font-family-base: var(--wp--preset--font-family--body) !important;
	--gf-font-size-primary: var(--wp--preset--font-size--base) !important;
	--gf-font-size-secondary: var(--wp--preset--font-size--sm) !important;
	--gf-font-size-tertiary: var(--wp--preset--font-size--xs) !important;
	--gf-form-gap-y: var(--wp--preset--spacing--lg) !important;
	--gf-radius: var(--wp--custom--radius--md) !important;
	--gf-ctrl-bg-color: var(--wp--preset--color--white) !important;
	--gf-ctrl-bg-color-focus: var(--wp--preset--color--white) !important;
	--gf-ctrl-bg-color-hover: var(--wp--preset--color--white) !important;
	--gf-ctrl-border-color: var(--wp--preset--color--border) !important;
	--gf-ctrl-border-color-focus: var(--wp--preset--color--blue-600) !important;
	--gf-ctrl-border-color-hover: var(--wp--preset--color--blue-600) !important;
	--gf-ctrl-color: var(--wp--preset--color--ink) !important;
	--gf-ctrl-color-focus: var(--wp--preset--color--ink) !important;
	--gf-ctrl-color-hover: var(--wp--preset--color--ink) !important;
	--gf-ctrl-label-color-primary: var(--wp--preset--color--ink) !important;
	--gf-ctrl-label-color-secondary: var(--wp--preset--color--slate) !important;
	--gf-ctrl-outline-color-focus: color-mix(in srgb, var(--wp--preset--color--blue-600) 22%, transparent) !important;
	--gf-ctrl-outline-width-focus: 3px !important;
	--gf-ctrl-placeholder-color: var(--wp--preset--color--slate) !important;
	--gf-ctrl-radius: var(--wp--custom--radius--md) !important;
	--gf-ctrl-size: 3rem !important;
	--gf-ctrl-btn-bg-color-primary: var(--wp--preset--color--orange) !important;
	--gf-ctrl-btn-bg-color-hover-primary: var(--wp--preset--color--orange) !important;
	--gf-ctrl-btn-bg-color-focus-primary: var(--wp--preset--color--orange) !important;
	--gf-ctrl-btn-border-color-primary: var(--wp--preset--color--orange) !important;
	--gf-ctrl-btn-border-color-hover-primary: var(--wp--preset--color--orange) !important;
	--gf-ctrl-btn-border-color-focus-primary: var(--wp--preset--color--orange) !important;
	--gf-ctrl-btn-color-primary: var(--wp--preset--color--ink) !important;
	--gf-ctrl-btn-color-hover-primary: var(--wp--preset--color--ink) !important;
	--gf-ctrl-btn-color-focus-primary: var(--wp--preset--color--ink) !important;
	--gf-ctrl-btn-font-family: var(--wp--preset--font-family--body) !important;
	--gf-ctrl-btn-font-size: var(--wp--preset--font-size--base) !important;
	--gf-ctrl-btn-font-weight: 700 !important;
	--gf-ctrl-btn-padding-x: var(--wp--preset--spacing--lg) !important;
	--gf-ctrl-btn-radius: var(--wp--custom--radius--pill) !important;
	--gf-ctrl-btn-size: 3.125rem !important;
	color: var(--wp--preset--color--slate);
}

.gform_wrapper.gform-theme .gform_heading {
	margin-block-end: var(--wp--preset--spacing--lg);
}

.gform_wrapper.gform-theme .gform_title {
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.gform_wrapper.gform-theme :where(.gform_description, .gfield_description, .ginput_counter) {
	color: var(--wp--preset--color--slate);
	line-height: 1.55;
}

.gform_wrapper.gform-theme .gform-field-label {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	line-height: 1.4;
}

.gform_wrapper.gform-theme .gfield_required {
	color: var(--wp--preset--color--blue-600);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
}

.gform_wrapper.gform-theme :where(input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), select, textarea) {
	min-height: 3rem;
	padding-inline: 0.875rem;
}

.gform_wrapper.gform-theme textarea {
	line-height: 1.55;
	min-height: 9rem;
	padding-block: 0.8125rem;
	resize: vertical;
}

.gform_wrapper.gform-theme :where(input, select, textarea):focus {
	border-color: var(--wp--preset--color--blue-600);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--blue-600) 15%, transparent);
}

.gform_wrapper.gform-theme :where(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--wp--preset--color--orange);
}

.gform_wrapper.gform-theme :where(.gform_footer, .gform_page_footer) {
	margin-block-start: var(--wp--preset--spacing--lg);
}

.gform_wrapper.gform-theme :where(.gform_button, .gform_next_button, .gform_previous_button) {
	border-radius: var(--wp--custom--radius--pill);
	font-weight: 700;
	min-height: 3.125rem;
	padding-inline: 1.25rem;
	transition: transform 160ms ease;
}

.gform_wrapper.gform-theme :where(.gform_button, .gform_next_button, .gform_previous_button):where(:hover, :focus-visible) {
	transform: translateY(-1px);
}

.gform_wrapper.gform-theme :where(.gform_button, .gform_next_button, .gform_previous_button):disabled {
	cursor: not-allowed;
	opacity: 0.55;
	transform: none;
}

.gform_wrapper.gform-theme :where(.gform_validation_errors, .gfield_validation_message) {
	background: color-mix(in srgb, var(--gf-color-danger) 8%, var(--wp--preset--color--white));
	border-color: var(--gf-color-danger);
	border-radius: var(--wp--custom--radius--md);
	color: var(--gf-color-danger);
}

.gform_wrapper.gform-theme .gfield_error :where(input, select, textarea) {
	border-color: var(--gf-color-danger);
}

.gform_confirmation_wrapper.gform-theme {
	background: var(--wp--preset--color--green-light);
	border: 1px solid var(--wp--preset--color--green);
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--ink);
	padding: var(--wp--preset--spacing--lg);
}

:where(
	.wp-block-group.is-style-section-navy,
	.has-navy-800-background-color,
	.has-navy-900-background-color,
	.oakley-form-dark
) .gform_wrapper.gform-theme {
	--gf-ctrl-label-color-primary: var(--wp--preset--color--white) !important;
	--gf-ctrl-label-color-secondary: var(--wp--preset--color--blue-100) !important;
	color: var(--wp--preset--color--blue-100);
}

:where(
	.wp-block-group.is-style-section-navy,
	.has-navy-800-background-color,
	.has-navy-900-background-color,
	.oakley-form-dark
) .gform_wrapper.gform-theme :is(.gform_title, .gform-field-label) {
	color: var(--wp--preset--color--white);
}

:where(
	.wp-block-group.is-style-section-navy,
	.has-navy-800-background-color,
	.has-navy-900-background-color,
	.oakley-form-dark
) .gform_wrapper.gform-theme :where(.gform_description, .gfield_description, .ginput_counter) {
	color: var(--wp--preset--color--blue-100);
}

:where(
	.wp-block-group.is-style-section-navy,
	.has-navy-800-background-color,
	.has-navy-900-background-color,
	.oakley-form-dark
) .gform_wrapper.gform-theme .gfield_required {
	color: var(--wp--preset--color--orange);
}

:where(
	.wp-block-group.is-style-section-navy,
	.has-navy-800-background-color,
	.has-navy-900-background-color,
	.oakley-form-dark
) .gform_wrapper.gform-theme :where(.gform_validation_errors, .gfield_validation_message) {
	background: color-mix(in srgb, var(--gf-color-danger) 20%, var(--wp--preset--color--navy-900));
	color: var(--wp--preset--color--white);
}

:where(
	.wp-block-group.is-style-section-navy,
	.has-navy-800-background-color,
	.has-navy-900-background-color,
	.oakley-form-dark
) .gform_confirmation_wrapper.gform-theme {
	background: var(--wp--preset--color--green-light);
	color: var(--wp--preset--color--ink);
}

@media (max-width: 40rem) {
	.gform_wrapper.gform-theme .gform_fields {
		column-gap: var(--wp--preset--spacing--md);
		row-gap: var(--wp--preset--spacing--lg);
	}

	.gform_wrapper.gform-theme :where(.gfield--width-half, .gfield--width-third, .gfield--width-quarter) {
		grid-column: 1 / -1;
	}

	.gform_wrapper.gform-theme :where(.gform_button, .gform_next_button, .gform_previous_button) {
		justify-content: center;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gform_wrapper.gform-theme :where(.gform_button, .gform_next_button, .gform_previous_button) {
		transition: none;
	}
}
