/**
 * Front-end Gravity Forms styling for sealed tender submissions.
 * GF Orbital theme is disabled for this form; these rules are the source of truth.
 */

.obc-ts-form-error {
	margin-block: var(--space-md);
	padding: var(--space-md) var(--space-lg);
	border: 1px solid color-mix(in srgb, var(--color-error) 35%, transparent);
	border-radius: var(--radius-md);
	background-color: var(--color-error-container);
	color: var(--color-on-error-container);
	font-size: 0.9375rem;
	line-height: 1.5;
	text-align: right;
}

/* Success notice for OTP send (distinct from the red error box).
   Uses the lighter secondary-container surface (same lime as the badge)
   with the dark green on-primary-container text for readability. */
.obc-ts-otp-notice {
	margin-block: var(--space-md);
	padding: var(--space-md) var(--space-lg);
	border: 1px solid color-mix(in srgb, var(--color-secondary) 25%, transparent);
	border-radius: var(--radius-md);
	background-color: var(--color-secondary-container);
	color: var(--color-on-primary-container);
	font-size: 0.9375rem;
	line-height: 1.5;
	text-align: right;
}

/* Wrapper: both programmatic and settings-based class names */
body .gform_wrapper.obc-tender-sealed-form,
body .gform_wrapper.obc-tender-sealed-form_wrapper,
body .gform_wrapper.gform_legacy_markup_wrapper.obc-tender-sealed-form {
	margin-block: var(--space-xl) 0;
	--gf-color-primary: var(--color-primary);
	--gf-color-primary-darker: var(--color-secondary);
	--gf-color-primary-contrast: var(--color-on-primary);
	--gf-ctrl-btn-bg-color-primary: var(--color-primary);
	--gf-ctrl-btn-color-primary: var(--color-on-primary);
	--gf-ctrl-border-color-focus: var(--color-primary);
	--gf-ctrl-shadow-focus: none;
	--gf-ctrl-btn-shadow-focus: none;
	--gf-ctrl-btn-shadow-focus-hover: none;
}

body .gform_wrapper.obc-tender-sealed-form .gform_heading,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_heading {
	display: none;
}

body .gform_wrapper.obc-tender-sealed-form .gfield_label,
body .gform_wrapper.obc-tender-sealed-form .gform-field-label,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield_label,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-field-label {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-on-surface);
	text-align: right;
}

body .gform_wrapper.obc-tender-sealed-form .gfield_required,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield_required {
	color: var(--color-error);
}

body .gform_wrapper.obc-tender-sealed-form input[type='text'],
body .gform_wrapper.obc-tender-sealed-form input[type='tel'],
body .gform_wrapper.obc-tender-sealed-form input[type='number'],
body .gform_wrapper.obc-tender-sealed-form input[type='email'],
body .gform_wrapper.obc-tender-sealed-form select,
body .gform_wrapper.obc-tender-sealed-form textarea,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-field-control,
body .gform_wrapper.obc-tender-sealed-form_wrapper input[type='text'],
body .gform_wrapper.obc-tender-sealed-form_wrapper input[type='tel'],
body .gform_wrapper.obc-tender-sealed-form_wrapper input[type='number'],
body .gform_wrapper.obc-tender-sealed-form_wrapper input[type='email'],
body .gform_wrapper.obc-tender-sealed-form_wrapper select,
body .gform_wrapper.obc-tender-sealed-form_wrapper textarea,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-field-control {
	width: 100%;
	padding: var(--space-sm) var(--space-md);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-md);
	background-color: var(--color-surface-container-lowest);
	color: var(--color-on-surface);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.5;
	text-align: right;
	box-shadow: none;
	transition: border-color var(--transition-fast), border-width var(--transition-fast);
}

body .gform_wrapper.obc-tender-sealed-form input:focus,
body .gform_wrapper.obc-tender-sealed-form input:focus-visible,
body .gform_wrapper.obc-tender-sealed-form select:focus,
body .gform_wrapper.obc-tender-sealed-form select:focus-visible,
body .gform_wrapper.obc-tender-sealed-form textarea:focus,
body .gform_wrapper.obc-tender-sealed-form textarea:focus-visible,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-field-control:focus,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-field-control:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper input:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper input:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper select:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper select:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper textarea:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper textarea:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-field-control:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-field-control:focus-visible {
	border-color: var(--color-primary);
	border-width: 2px;
	outline: none;
	box-shadow: none;
}

body .gform_wrapper.obc-tender-sealed-form .gfield_description,
body .gform_wrapper.obc-tender-sealed-form .instruction,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield_description,
body .gform_wrapper.obc-tender-sealed-form_wrapper .instruction {
	color: var(--color-on-surface-variant);
	font-size: 0.875rem;
	text-align: right;
}

body .gform_wrapper.obc-tender-sealed-form .validation_message,
body .gform_wrapper.obc-tender-sealed-form .gfield_validation_message,
body .gform_wrapper.obc-tender-sealed-form_wrapper .validation_message,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield_validation_message {
	color: var(--color-error);
	font-size: 0.875rem;
	text-align: right;
}

body .gform_wrapper.obc-tender-sealed-form .gform_validation_errors,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_validation_errors {
	margin-block-end: var(--space-lg);
	padding: var(--space-md);
	border: 1px solid color-mix(in srgb, var(--color-error) 30%, transparent);
	border-radius: var(--radius-md);
	background-color: var(--color-error-container);
	color: var(--color-on-error-container);
}

body .gform_wrapper.obc-tender-sealed-form .gform_confirmation_message,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_confirmation_message {
	padding: var(--space-md);
	border-radius: var(--radius-md);
	background-color: var(--color-primary-container);
	color: var(--color-on-primary-container);
	text-align: right;
}

body .gform_wrapper.obc-tender-sealed-form .gform_footer,
body .gform_wrapper.obc-tender-sealed-form .gform_page_footer,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_footer,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_page_footer {
	margin-block-start: var(--space-lg);
	padding: 0;
}

/* OTP info notice.
   Lighter secondary-container surface (same lime as the badge) with the
   dark green on-primary-container text for readability. */
body .gform_wrapper.obc-tender-sealed-form .obc-tender-otp-info,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-tender-otp-info {
	margin-block-end: var(--space-md) !important;
	padding: var(--space-md) !important;
	border: 1px solid color-mix(in srgb, var(--color-secondary) 20%, transparent) !important;
	border-radius: var(--radius-md) !important;
	background-color: var(--color-secondary-container) !important;
	background-image: none !important;
	color: var(--color-on-primary-container) !important;
	font-size: 0.9375rem;
	line-height: 1.5;
	text-align: right;
}

body .gform_wrapper.obc-tender-sealed-form .obc-tender-otp-info p,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-tender-otp-info p {
	margin: 0;
}

body .gform_wrapper.obc-tender-sealed-form .obc-tender-otp-info p + p,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-tender-otp-info p + p {
	margin-block-start: var(--space-xs);
}

/* Send OTP button */
body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	width: auto;
	margin-block-start: var(--space-sm);
	padding: var(--space-sm) var(--space-md);
	border: none;
	border-radius: var(--radius-md);
	background-color: var(--color-secondary);
	background-image: none;
	color: var(--color-on-secondary);
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	box-shadow: none;
	transition: background-color var(--transition-fast), transform var(--transition-fast);
}

body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn:hover,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn:hover {
	background-color: var(--color-secondary-container);
	color: var(--color-on-secondary-container);
}

body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn:focus,
body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn:focus-visible,
body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn:active,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn:active {
	outline: none;
	box-shadow: none;
	border: none;
	background-color: var(--color-secondary-container);
	color: var(--color-on-secondary-container);
}

body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
	box-shadow: none;
}

body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn:active,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn:active {
	transform: scale(0.98);
}

body .gform_wrapper.obc-tender-sealed-form .obc-send-otp-btn:disabled,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-send-otp-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

/* Phone field + inline "Send OTP" button on a single row.
   The button is injected by submit.js right after the tel input,
   inside .ginput_container_phone. Lay them out as a flex row so
   they share one line with matching height and a consistent gap.
   :has() targets the container that actually holds the button;
   the .obc-tender-field-contact scope is a fallback. */
body .gform_wrapper.obc-tender-sealed-form .gfield.obc-tender-field-contact .ginput_container_phone,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield.obc-tender-field-contact .ginput_container_phone,
body .gform_wrapper.obc-tender-sealed-form .ginput_container_phone:has(#obc-send-otp),
body .gform_wrapper.obc-tender-sealed-form_wrapper .ginput_container_phone:has(#obc-send-otp) {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: var(--space-sm);
}

body .gform_wrapper.obc-tender-sealed-form .gfield.obc-tender-field-contact .ginput_container_phone input,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield.obc-tender-field-contact .ginput_container_phone input,
body .gform_wrapper.obc-tender-sealed-form .ginput_container_phone:has(#obc-send-otp) input,
body .gform_wrapper.obc-tender-sealed-form_wrapper .ginput_container_phone:has(#obc-send-otp) input {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
}

body .gform_wrapper.obc-tender-sealed-form .gfield.obc-tender-field-contact .ginput_container_phone .obc-send-otp-btn,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield.obc-tender-field-contact .ginput_container_phone .obc-send-otp-btn,
body .gform_wrapper.obc-tender-sealed-form .ginput_container_phone:has(#obc-send-otp) .obc-send-otp-btn,
body .gform_wrapper.obc-tender-sealed-form_wrapper .ginput_container_phone:has(#obc-send-otp) .obc-send-otp-btn {
	flex: 0 0 auto;
	width: auto;
	margin-block-start: 0;
	white-space: nowrap;
}

/* Submit — beat any residual GF theme button rules */
body .gform_wrapper.obc-tender-sealed-form .gform_footer input[type='submit'],
body .gform_wrapper.obc-tender-sealed-form .gform_page_footer input[type='submit'],
body .gform_wrapper.obc-tender-sealed-form button.gform_button,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button--primary,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_footer input[type='submit'],
body .gform_wrapper.obc-tender-sealed-form_wrapper button.gform_button,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button--primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);
	width: auto !important;
	margin: 0;
	padding: var(--space-sm) var(--space-lg);
	border: none;
	border-radius: var(--radius-md);
	background-color: var(--color-primary);
	background-image: none;
	color: var(--color-on-primary);
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	box-shadow: none;
	transition: background-color var(--transition-fast), transform var(--transition-fast);
}

body .gform_wrapper.obc-tender-sealed-form button.gform_button:hover,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button--primary:hover,
body .gform_wrapper.obc-tender-sealed-form_wrapper button.gform_button:hover,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button--primary:hover {
	background-color: var(--color-primary-container);
	color: var(--color-on-primary-container);
}

body .gform_wrapper.obc-tender-sealed-form .gform_footer input[type='submit']:focus,
body .gform_wrapper.obc-tender-sealed-form .gform_footer input[type='submit']:focus-visible,
body .gform_wrapper.obc-tender-sealed-form .gform_footer input[type='submit']:active,
body .gform_wrapper.obc-tender-sealed-form button.gform_button:focus,
body .gform_wrapper.obc-tender-sealed-form button.gform_button:focus-visible,
body .gform_wrapper.obc-tender-sealed-form button.gform_button:active,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button:focus,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button:focus-visible,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button:active,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button--primary:focus,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button--primary:focus-visible,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button--primary:active,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_footer input[type='submit']:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_footer input[type='submit']:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform_footer input[type='submit']:active,
body .gform_wrapper.obc-tender-sealed-form_wrapper button.gform_button:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper button.gform_button:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper button.gform_button:active,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button:active,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button--primary:focus,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button--primary:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button--primary:active {
	outline: none;
	box-shadow: none;
	border: none;
	background-color: var(--color-primary-container);
	color: var(--color-on-primary-container);
}

body .gform_wrapper.obc-tender-sealed-form button.gform_button:focus-visible,
body .gform_wrapper.obc-tender-sealed-form .gform-theme-button--primary:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper button.gform_button:focus-visible,
body .gform_wrapper.obc-tender-sealed-form_wrapper .gform-theme-button--primary:focus-visible {
	outline: 2px solid var(--color-secondary);
	outline-offset: 2px;
	box-shadow: none;
}

body .gform_wrapper.obc-tender-sealed-form button.gform_button:active,
body .gform_wrapper.obc-tender-sealed-form_wrapper button.gform_button:active {
	transform: scale(0.98);
}

body .gform_wrapper.obc-tender-sealed-form .obc-tender-sealed-file-field label,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-tender-sealed-file-field label {
	display: block;
	margin-block-end: var(--space-xs);
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-on-surface);
}

body .gform_wrapper.obc-tender-sealed-form .obc-tender-sealed-file-field input[type='file'],
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-tender-sealed-file-field input[type='file'] {
	width: 100%;
	padding: 0 !important;
	border: 1px dashed var(--color-outline-variant);
	border-radius: var(--radius-md);
	background-color: var(--color-surface-container-low);
	color: var(--color-on-surface);
}

body .gform_wrapper.obc-tender-sealed-form .obc-tender-sealed-file-field .description,
body .gform_wrapper.obc-tender-sealed-form_wrapper .obc-tender-sealed-file-field .description {
	margin-block-start: var(--space-xs);
	color: var(--color-on-surface-variant);
	font-size: 0.875rem;
}

body .gform_wrapper.obc-tender-sealed-form.obc-ts-encrypting,
body .gform_wrapper.obc-tender-sealed-form_wrapper.obc-ts-encrypting {
	opacity: 0.75;
	pointer-events: none;
}

body .gform_wrapper.obc-tender-sealed-form.obc-ts-encrypting .gform_footer::after,
body .gform_wrapper.obc-tender-sealed-form_wrapper.obc-ts-encrypting .gform_footer::after {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	margin-inline-start: var(--space-sm);
	border: 2px solid var(--color-primary);
	border-top-color: transparent;
	border-radius: 50%;
	animation: obc-ts-spin 0.8s linear infinite;
	vertical-align: middle;
}

@keyframes obc-ts-spin {
	to {
		transform: rotate(360deg);
	}
}

/* RTL: keep the icon to the right of the text in RTL layouts */
[dir='rtl'] .obc-tender-sealed-form .obc-tender-otp-info,
[dir='rtl'] .obc-tender-sealed-form_wrapper .obc-tender-otp-info {
	text-align: right;
}

/* On very narrow screens, give the phone input a bit more room and
   keep the Send OTP button readable without wrapping its label. */
@media (max-width: 480px) {
	body .gform_wrapper.obc-tender-sealed-form .gfield.obc-tender-field-contact .ginput_container_phone .obc-send-otp-btn,
	body .gform_wrapper.obc-tender-sealed-form_wrapper .gfield.obc-tender-field-contact .ginput_container_phone .obc-send-otp-btn,
	body .gform_wrapper.obc-tender-sealed-form .ginput_container_phone:has(#obc-send-otp) .obc-send-otp-btn,
	body .gform_wrapper.obc-tender-sealed-form_wrapper .ginput_container_phone:has(#obc-send-otp) .obc-send-otp-btn {
		flex: 0 1 auto;
		padding-inline: var(--space-sm);
		font-size: 0.8125rem;
	}
}