/**
 * Gravity Forms - BRC Style
 */


/** BRC Wrapper **/
.gravity-theme.gform-theme--no-framework.is-style-brc_wrapper {
	padding: 24px;
	background-color: #f0f1f2;
	border-block-start: 10px solid var(--wp--preset--color--primary);
	font-size: 16px;
	line-height: 1.15;
	container: brc-form / inline-size;

	/* Label */
	& .gform-field-label:is(.gfield_label, .gform-field-label--type-sub) {
		margin: 0;
		padding: 0;
		font-size: 1rem;
		font-weight: 500;
		white-space: normal;
	}

	/* Input */
	& :is(input, select) {
		min-block-size: 0 !important;
		padding: 0 0 3px !important;
		background-color: transparent;
		border: 0;
		border-block-end: 1px solid var(--wp--preset--color--black);
		border-radius: 0;
		box-shadow: none;
		font-size: 1rem;
		line-height: 1 !important;
		appearance: none;

		&::placeholder {
			color: var(--wp--preset--color--gray-light);
		}

		&:focus {
			border-block-end-color: var(--wp--preset--color--primary);
			outline: 0;
		}

		&:focus-visible {
			border-block-end-color: transparent;
			border-radius: 2px;
			outline: 2px solid var(--wp--preset--color--primary); /* Only show when needed */
			outline-offset: 2px;
		}
	}

	/* Select input */
	& select {
		min-inline-size: 90px;
		padding-inline-end: 16px !important;
		background-image: url(../../../assets/images/icons/select-chevron.svg);
		background-position: right 4px top 50%;
		background-repeat: no-repeat;
		background-size: 9px 5px;

		&::-ms-expand {
			display: none;
		}

		/** Default state */
		&[data-value=''] {
			color: rgb(255 255 255 / 0%);

			& option {
				color: initial;
			}
		}

		&[aria-invalid='true'] {
			&[data-value='']:focus {
				color: rgb(0 0 0 / 0%);
			}
		}
	}

	& form *:not(button) {
		-moz-osx-font-smoothing: auto;
		-webkit-font-smoothing: subpixel-antialiased;
	}

	.gform_description {
		margin-block-end: 0.75rem;
		color: var(--wp--preset--color--primary);
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1.4;
	}

	/* Field group */
	& .gform_fields {
		gap: 24px 8px;
	}

	/* Field wrappers */
	& :is(.gfield, .gform-grid-col):has(> label),
	& .ginput_complex {
		display: grid;
		align-items: flex-start;
		gap: 8px;
		margin: 0;
	}

	/* Field wrapper */
	& :is(.gfield, .gform-grid-col):has(> label) {
		grid-template-columns: auto 1fr;
	}

	/* Nested field wrapper */
	& .ginput_complex {
		grid-template-columns: 1fr 1fr;
		gap: 24px 14px;
	}

	& .gform-footer {
		margin-block-start: 20px;
	}

	/* Required field indicator on complex fields */
	& .gfield.gfield_contains_required .ginput_complex .gform-field-label::after {
		display: inline-block;
		padding-inline-start: 2px;
		font-size: 13.008px;
		content: '*';
	}

	:where(#field_submit button, .gfield--type-submit button, .gform_footer button) {
		padding: calc(var(--button--spacing--padding-block, var(--wp--preset--spacing--20)) - 1px) calc(var(--button--spacing--padding-block, var(--wp--preset--spacing--30)) - 1px);
		background: var(--wp--preset--color--primary);
		border: 1px solid var(--wp--preset--color--primary);
		border-radius: var(--wp--preset--border-radius--small);
		color: var(--wp--preset--color--base);
		font-family: var(--wp--preset--font-family--primary);
		font-size: 16px;
		font-weight: 700;
		line-height: 1;
		cursor: pointer;
		transition: background-color var(--wp--custom--transition--button), border-color var(--wp--custom--transition--button), color var(--wp--custom--transition--button), text-underline-offset var(--wp--custom--transition--hover);

		&:hover {
			background-color: var(--wp--preset--color--primary-dark);
			border-color: var(--wp--preset--color--primary-dark);
		}
	}

	/** Errors and warnings */
	.gform_validation_errors {
		margin-block-end: 24px;
	}

	.gfield:is(.gfield_error, .gfield_contains_required).gfield--width-half .ginput_container {
		display: contents;
	}

	.gfield_validation_message,
	.instruction {
		grid-column: 1 / -1;
		padding: 0.5em 0.75em;
		border-radius: 4px;
		font-size: 0.875rem;
	}

	.field_sublabel_above :is(.description, .gfield_description, .gsection_description) {
		margin-block-start: 0.5em;
	}

	[aria-invalid='true'] + .validation_message,
	.ginput_container:not(.gform-grid-row) + :is(.validation_message, .gfield_validation_message) {
		margin-block-start: 0;
	}

	.gfield_error [aria-invalid='true'] {
		border-block-start: 0;
		border-inline: 0;
	}

	/* Spinner */
	.gform_ajax_spinner {
		block-size: 45px;
		inline-size: 45px;
	}

	/* Legend - Hide "required" text note */
	.gform_required_legend {
		position: absolute;
		block-size: 1px;
		inline-size: 1px;
		margin: -1px;
		padding: 0;
		border: 0;
		overflow: hidden;
		clip-path: inset(50%);
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	/* Text styles */
	:where(h1, h2, h3, h4, h5, h6) {
		position: static;
		margin-block-start: 0;
		font-family: var(--wp--preset--font-family--primary);
		font-weight: 700;
	}

	h2 {
		margin-block-end: 0.875em;
	}

	@container brc-form (max-width: 767px) {
		:is(.gfield, .gform-grid-col):has(> label) {
			grid-column: span 12 !important;
		}

		:is(.gfield, .gform-grid-col):has(> label).gfield--type-select {
			grid-template-columns: 1fr;
		}

		.gform-grid-col {
			grid-column: span 2;
		}
	}

	@container brc-form (max-width: 767px) {
		:is(.gfield, .gform-grid-col):has(> label) {
			grid-column: span 12 !important;
		}

		:is(.gfield, .gform-grid-col):has(> label).gfield--type-select {
			grid-template-columns: 1fr;
		}

		.gform-grid-col {
			grid-column: span 2;
		}
	}

	@container brc-form (max-width: 500px) {
		:is(.gfield, .gform-grid-col):has(> label) {
			grid-template-columns: 1fr;
		}

		:is(.gfield, .gform-grid-col):has(> label),
		.ginput_complex {
			grid-column: span 12 !important;
		}
	}
}
