/* ==========================================================================
   Gravity Forms — Soni Motors Brand Styling
   ========================================================================== */

.gform_wrapper,
.gform_wrapper.gravity-theme {
	margin: 0 !important;
}

.sm-gform .gform_wrapper,
.sm-page__content .gform_wrapper,
.sm-vdp__forms .gform_wrapper {
	font-family: var(--sm-font);
}

.sm-gform .gform_heading .gform_title,
.sm-page__content .gform_heading .gform_title {
	color: var(--sm-primary);
	font-size: 1.375rem;
	font-weight: 700;
	margin-bottom: var(--sm-space-sm);
}

.sm-gform .gform_description,
.sm-page__content .gform_description {
	color: var(--sm-text-muted);
	margin-bottom: var(--sm-space-md);
	font-size: 0.9375rem;
}

.sm-gform .gfield,
.sm-page__content .gfield {
	margin-bottom: var(--sm-space-sm);
}

.sm-gform .gfield_label,
.sm-page__content .gfield_label {
	font-weight: 600;
	color: var(--sm-text);
	font-size: 0.875rem;
	margin-bottom: 6px !important;
}

.sm-gform .gfield_required,
.sm-page__content .gfield_required {
	color: var(--sm-error);
}

.sm-gform input[type="text"],
.sm-gform input[type="email"],
.sm-gform input[type="tel"],
.sm-gform input[type="number"],
.sm-gform input[type="url"],
.sm-gform input[type="date"],
.sm-gform input[type="time"],
.sm-gform select,
.sm-gform textarea,
.sm-page__content input[type="text"],
.sm-page__content input[type="email"],
.sm-page__content input[type="tel"],
.sm-page__content input[type="number"],
.sm-page__content select,
.sm-page__content textarea {
	width: 100% !important;
	padding: 13px 16px !important;
	border: 1px solid var(--sm-border) !important;
	border-radius: var(--sm-radius-sm) !important;
	font-size: 0.9375rem !important;
	font-family: var(--sm-font) !important;
	transition: border-color var(--sm-transition), box-shadow var(--sm-transition) !important;
	background: var(--sm-bg) !important;
	color: var(--sm-text) !important;
	min-height: 48px;
}

.sm-gform textarea,
.sm-page__content textarea {
	min-height: 120px;
	resize: vertical;
}

.sm-gform input:focus,
.sm-gform select:focus,
.sm-gform textarea:focus,
.sm-page__content input:focus,
.sm-page__content select:focus,
.sm-page__content textarea:focus {
	border-color: var(--sm-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(12, 29, 98, 0.12) !important;
}

.sm-gform .gform_button,
.sm-gform input[type="submit"],
.sm-page__content .gform_button,
.sm-page__content input[type="submit"] {
	background: var(--sm-primary) !important;
	color: #fff !important;
	border: 2px solid var(--sm-primary) !important;
	padding: 14px 32px !important;
	border-radius: var(--sm-radius) !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	font-family: var(--sm-font) !important;
	cursor: pointer;
	transition: background var(--sm-transition), border-color var(--sm-transition), transform var(--sm-transition) !important;
	min-height: 48px !important;
	width: auto !important;
}

.sm-gform .gform_button:hover,
.sm-gform input[type="submit"]:hover,
.sm-page__content .gform_button:hover,
.sm-page__content input[type="submit"]:hover {
	background: var(--sm-hover) !important;
	border-color: var(--sm-hover) !important;
	transform: translateY(-1px);
}

.sm-gform .gform_validation_errors,
.sm-page__content .gform_validation_errors {
	background: #fef2f2 !important;
	border: 1px solid #fecaca !important;
	border-radius: var(--sm-radius) !important;
	padding: var(--sm-space-sm) !important;
	margin-bottom: var(--sm-space-sm) !important;
	color: var(--sm-error) !important;
}

.sm-gform .gfield_error input,
.sm-gform .gfield_error select,
.sm-gform .gfield_error textarea,
.sm-page__content .gfield_error input,
.sm-page__content .gfield_error select,
.sm-page__content .gfield_error textarea {
	border-color: var(--sm-error) !important;
}

.sm-gform .validation_message,
.sm-page__content .validation_message {
	color: var(--sm-error) !important;
	font-size: 0.8125rem !important;
	margin-top: 4px !important;
	font-weight: 500;
}

.sm-gform .gform_confirmation_message,
.sm-page__content .gform_confirmation_message {
	background: #f0fdf4 !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: var(--sm-radius) !important;
	padding: var(--sm-space-md) !important;
	color: var(--sm-success) !important;
	font-weight: 500;
}

.sm-form-placeholder {
	padding: var(--sm-space-lg);
	background: var(--sm-bg-light);
	border-radius: var(--sm-radius);
	text-align: center;
	color: var(--sm-text-muted);
	border: 1px dashed var(--sm-border);
}

/* GF footer */
.sm-gform .gform_footer,
.sm-page__content .gform_footer {
	margin-top: var(--sm-space-md) !important;
	padding: 0 !important;
}

@media (max-width: 768px) {
	.sm-gform .gform_button,
	.sm-gform input[type="submit"],
	.sm-page__content .gform_button,
	.sm-page__content input[type="submit"] {
		width: 100% !important;
	}
}
