.orvda-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	row-gap: var(--orvda-form-row-gap, var(--orvda-form-gap, 18px));
	column-gap: var(--orvda-form-column-gap, var(--orvda-form-gap, 18px));
}

/* Elementor Form Layout → Row: fields + submit on one line */
.orvda-form-layout-row .orvda-form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--orvda-form-column-gap, var(--orvda-form-gap, 18px));
}

.orvda-form-layout-row .orvda-form .orvda-form-field,
.orvda-form-layout-row .orvda-form .orvda-form-field--full,
.orvda-form-layout-row .orvda-form .orvda-form-field--half {
	grid-column: auto;
	flex: 1 1 0;
	min-width: 0;
}

.orvda-form-layout-row .orvda-form .orvda-form-actions,
.orvda-form-layout-row .orvda-form .orvda-form-span-full:not(.orvda-form-feedback) {
	grid-column: auto;
	flex: 0 0 auto;
	margin-top: 0;
	align-self: stretch;
	display: flex;
	align-items: stretch;
}

.orvda-form-layout-row .orvda-form .orvda-form-submit {
	height: 100%;
	white-space: nowrap;
}

.orvda-form-layout-row .orvda-form .orvda-form-feedback {
	flex: 1 0 100%;
	width: 100%;
}

.orvda-form-field--full,
.orvda-form-span-full {
	grid-column: 1 / -1;
}

.orvda-form-field--half {
	grid-column: span 1;
}

.orvda-form-label {
	display: block;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #6b7268;
	margin-bottom: 8px;
}

.orvda-form-label--checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--orvda-form-checkbox-gap, 10px);
	text-transform: none;
	letter-spacing: normal;
	font-size: 0.94rem;
}

.orvda-form-required {
	color: #d9603f;
}

.orvda-form-input,
.orvda-form-textarea,
.orvda-form-select {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	background: #fff;
	padding: 13px 14px;
	font-size: 0.94rem;
	color: #1b211d;
	border-radius: 0;
	appearance: none;
}

.orvda-form-textarea {
	min-height: 130px;
	resize: vertical;
}

.orvda-form-checkbox {
	width: auto;
	margin-top: 3px;
}

.orvda-form-actions {
	margin-top: 0;
}

.orvda-form-feedback {
	margin-top: 0;
	font-size: 0.92rem;
}

.orvda-form-submit {
	display: inline-block;
	padding: 11px 22px;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	border: 1px solid #d9603f;
	background: #d9603f;
	color: #fff;
	cursor: pointer;
	border-radius: 0;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.orvda-form-submit:hover,
.orvda-form-submit:focus {
	background: #c55436;
	border-color: #c55436;
	color: #fff;
}

.orvda-form-submit[disabled] {
	opacity: 0.65;
	cursor: wait;
}

.orvda-form-feedback.is-success {
	color: #33473a;
}

.orvda-form-feedback.is-error,
.orvda-form-field-error {
	color: #b42318;
	font-size: 0.82rem;
	margin-top: 6px;
}

.orvda-form-field.has-error .orvda-form-input,
.orvda-form-field.has-error .orvda-form-textarea,
.orvda-form-field.has-error .orvda-form-select {
	border-color: #b42318;
}

.orvda-form-error {
	color: #b42318;
}

@media (max-width: 640px) {
	.orvda-form-field--half {
		grid-column: 1 / -1;
	}
}
