.mando-form {
	display: grid;
	gap: var(--space-4);
	max-width: 720px;
}
.mando-form--inline { max-width: none; }

.mando-form__row { display: grid; gap: var(--space-4); }
.mando-form__row--2 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.mando-form__field { display: flex; flex-direction: column; gap: 6px; }
.mando-form__label {
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--ink);
	letter-spacing: 0.01em;
}
.mando-form__label[data-required]::after {
	content: ' *';
	color: var(--color-danger);
}

.mando-form__input,
.mando-form__textarea,
.mando-form__select {
	width: 100%;
	padding: 14px 18px;
	border: 1.5px solid var(--line-strong);
	border-radius: var(--radius);
	font: inherit;
	font-size: 0.95rem;
	background: var(--paper);
	color: var(--ink);
	transition: all var(--t-fast);
}
.mando-form__input:focus,
.mando-form__textarea:focus,
.mando-form__select:focus {
	outline: none;
	border-color: var(--brand-royal);
	background: var(--paper);
	box-shadow: 0 0 0 4px rgba(31, 90, 165, 0.12);
}
.mando-form__input::placeholder,
.mando-form__textarea::placeholder { color: var(--muted); }

.mando-form__textarea {
	min-height: 140px;
	resize: vertical;
	line-height: 1.6;
}

.mando-form__actions { margin-block-start: var(--space-3); }

.mando-form__message {
	display: none;
	padding: var(--space-4);
	border-radius: var(--radius);
	margin-block-end: var(--space-3);
	font-weight: 600;
	font-size: 0.93rem;
}
.mando-form__message.is-visible { display: block; }
.mando-form__message--success {
	background: #e7f7ee;
	color: var(--color-success);
	border: 1px solid #bce5cb;
}
.mando-form__message--error {
	background: #fdecec;
	color: var(--color-danger);
	border: 1px solid #f5c4c4;
}

.mando-form__field.has-error .mando-form__input,
.mando-form__field.has-error .mando-form__textarea,
.mando-form__field.has-error .mando-form__select { border-color: var(--color-danger); }

.mando-form__error { color: var(--color-danger); font-size: 0.82rem; min-height: 1em; }

.mando-form.is-sending { opacity: 0.6; pointer-events: none; }

.mando-form__submit { min-width: 200px; }
