/* Готовая форма [osnova_form]. Цвета берутся из темы, если она их задаёт
   (--text, --line, --bg, --muted), иначе — нейтральные. */

.osnova-form {
	display: grid;
	gap: 14px;
	max-width: 560px;
}

.osnova-form p {
	margin: 0;
}

.osnova-form__field label {
	display: grid;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
}

.osnova-form__field span {
	color: #b3261e;
}

.osnova-form input[type="text"],
.osnova-form input[type="tel"],
.osnova-form input[type="email"],
.osnova-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--line, #d8d2c8);
	border-radius: 10px;
	background: var(--surface, #fff);
	color: var(--text, #1d1d1f);
	font: inherit;
	font-size: 16px;
	font-weight: 400;
}

.osnova-form input:focus,
.osnova-form textarea:focus {
	outline: 2px solid var(--accent, #1d1d1f);
	outline-offset: 1px;
}

.osnova-form__consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: var(--muted, #5b5b60);
	font-size: 14px;
}

.osnova-form__consent input {
	margin-top: 3px;
}

.osnova-form button {
	padding: 12px 24px;
	border: 0;
	border-radius: 10px;
	background: var(--text, #1d1d1f);
	color: var(--bg, #fff);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.osnova-form button:disabled {
	opacity: .6;
	cursor: default;
}

.osnova-form__result {
	padding: 12px 14px;
	border-radius: 10px;
	background: #eef7ee;
	color: #1e5b22;
}

.osnova-form__result.is-error {
	background: #fbeaea;
	color: #8a1f1f;
}

.osnova-form [hidden] {
	display: none !important;
}
