/**
 * DMNT Forms — frontend styles.
 *
 * BEM-namespaced under .dmnt-form. Base values only; all colours, spacing,
 * typography and borders are overridable from the Elementor Style tab.
 *
 * @package DMNTForms
 */

.dmnt-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.dmnt-form__group {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.dmnt-form__label {
	margin-bottom: 0.4rem;
	font-weight: 600;
	line-height: 1.3;
}

.dmnt-form__required {
	color: #e6007e;
}

.dmnt-form__control {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	font: inherit;
	color: #1f2937;
	background-color: #fff;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dmnt-form__control:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba( 37, 99, 235, 0.15 );
}

.dmnt-form__control--invalid {
	border-color: #dc2626;
}

textarea.dmnt-form__control {
	min-height: 120px;
	resize: vertical;
}

/* Honeypot — hidden from humans, present for bots. */
.dmnt-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.dmnt-form__actions {
	display: flex;
	justify-content: flex-start;
}

.dmnt-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.75rem;
	font: inherit;
	font-weight: 600;
	color: #fff;
	background-color: #e6007e;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.dmnt-form__submit:hover {
	opacity: 0.92;
}

.dmnt-form__submit:disabled {
	opacity: 0.6;
	cursor: default;
}

/* Stretch alignment makes the button fill the row. */
.dmnt-form__actions[style*="stretch"] .dmnt-form__submit,
.dmnt-form__actions.is-stretch .dmnt-form__submit {
	width: 100%;
}

.dmnt-form__notice {
	padding: 0.75rem 1rem;
	border-radius: 4px;
	font-size: 0.95em;
	line-height: 1.4;
}

.dmnt-form__notice--success {
	color: #065f46;
	background-color: #d1fae5;
}

.dmnt-form__notice--error {
	color: #991b1b;
	background-color: #fee2e2;
}

/* Responsive: two-column rows on wider screens (detailed form). */
@media ( min-width: 640px ) {
	.dmnt-form {
		flex-flow: row wrap;
	}

	.dmnt-form__group {
		flex: 1 1 100%;
	}

	.dmnt-form__group--first_name,
	.dmnt-form__group--last_name,
	.dmnt-form__group--address_1,
	.dmnt-form__group--address_2,
	.dmnt-form__group--city,
	.dmnt-form__group--region {
		flex: 1 1 calc( 50% - 0.5rem );
	}

	.dmnt-form__actions,
	.dmnt-form__notice,
	.dmnt-form__turnstile {
		flex: 1 1 100%;
	}
}
