/* Lavender form components */

.lav-form {
	display: grid;
	gap: 1.25rem;
}

.lav-form-shell {
	border-radius: 1rem;
	border: 1px solid color-mix(in srgb, var(--lavender-color-primary) 10%, transparent);
}

.lav-form__grid {
	display: grid;
	gap: 1rem;
}

.lav-field {
	display: grid;
	gap: .5rem;
}

.lav-field__label {
	font-size: .875rem;
	font-weight: 600;
	color: var(--lavender-color-text-muted);
}

.lav-field__control {
	width: 100%;
	padding: .75rem 1rem;
	border: 1px solid #d1d5db;
	border-radius: .5rem;
	background: var(--lavender-color-bg);
	color: var(--lavender-color-text);
}

.lav-field__control--textarea {
	min-height: 7.5rem;
	resize: vertical;
}

.lav-field__control:focus-visible {
	outline: 0;
	border-color: var(--lavender-color-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--lavender-color-primary) 25%, transparent);
}

.iti {
	width: 100%;
	display: block;
}

.iti .lav-phone-input,
.iti__tel-input {
	width: 100%;
}

.iti__country-container {
	color: var(--lavender-color-text);
}

.iti__country-list {
	z-index: 30;
}

.lav-alert {
	padding: 1rem;
	border-radius: .5rem;
	border: 1px solid transparent;
	font-size: .9375rem;
}

.lav-alert--success {
	background: #ecfdf3;
	border-color: #bbf7d0;
	color: #166534;
}

.lav-alert--error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.lav-form__submit {
	justify-content: center;
}

.lav-form__help {
	margin: 0;
}

.lav-legal-agreement {
	display: block;
	margin-top: .25rem;
}

.lav-legal-agreement__label {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--lavender-color-text-muted);
}

.lav-legal-agreement__input {
	flex: none;
	width: 1rem;
	height: 1rem;
	margin-top: .2rem;
	accent-color: var(--lavender-color-primary);
}

.lav-legal-agreement__text a {
	font-weight: 600;
	color: var(--lavender-color-primary);
	text-decoration: underline;
	text-underline-offset: .2em;
}

.lav-legal-agreement__text a:hover,
.lav-legal-agreement__text a:focus-visible {
	color: var(--lavender-color-primary-dark, #6d28d9);
}

@media (min-width: 768px) {
	.lav-form__grid--two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
