.k20-contact__form,
.k20-contact__status {
	max-width: var(--k20-container-form);
}

.k20-contact__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--k20-s-4);
}

.k20-contact__hp {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.k20-contact__field {
	display: grid;
	gap: var(--k20-s-1);
	align-content: start;
}

.k20-contact__label {
	font-size: var(--k20-fs-sm);
	font-weight: var(--k20-fw-semibold);
	line-height: var(--k20-lh-tight);
	color: var(--k20-text);
}

.k20-contact__required {
	font-weight: var(--k20-fw-normal);
	color: var(--k20-eroare);
}

.k20-contact__input {
	box-sizing: border-box;
	width: 100%;
	min-height: var(--k20-touch);
	padding: var(--k20-s-3) var(--k20-s-4);
	font: inherit;
	font-size: var(--k20-fs-base);
	line-height: var(--k20-lh-tight);
	color: var(--k20-text);
	background: var(--k20-alb);
	border: 1px solid var(--k20-campo-borda);
	border-radius: var(--k20-radius);
	transition: border-color var(--k20-ease), box-shadow var(--k20-ease);
}

.k20-contact__input--area {
	line-height: var(--k20-lh-base);
	resize: vertical;
}

.k20-contact__input:hover {
	border-color: var(--k20-text-slab);
}

.k20-contact__input:focus-visible {
	outline: var(--k20-focus-width) solid var(--k20-focus);
	outline-offset: 1px;
	border-color: var(--k20-focus);
}

.k20-contact__field--error .k20-contact__input {
	border-color: var(--k20-eroare);
	box-shadow: inset 0 0 0 1px var(--k20-eroare);
}

.k20-contact .k20-contact__error {
	margin: 0;
	font-size: var(--k20-fs-sm);
	font-weight: var(--k20-fw-semibold);
	line-height: var(--k20-lh-base);
	color: var(--k20-eroare);
}

.k20-contact__submit {
	justify-self: start;
	min-height: var(--k20-touch);
	padding: var(--k20-s-3) var(--k20-s-6);
	font: inherit;
	font-size: var(--k20-fs-base);
	font-weight: var(--k20-fw-semibold);
	line-height: var(--k20-lh-tight);
	color: var(--k20-on-albastru);
	background: var(--k20-albastru);
	border: 1px solid var(--k20-albastru);
	border-radius: var(--k20-radius);
	cursor: pointer;
	transition: background-color var(--k20-ease), border-color var(--k20-ease);
}

.k20-contact__submit:hover {
	background: var(--k20-intunecat);
	border-color: var(--k20-intunecat);
}

.k20-contact__submit:focus-visible {
	outline: var(--k20-focus-width) solid var(--k20-focus);
	outline-offset: 2px;
}

.k20-contact__submit:disabled {
	cursor: wait;
	opacity: 0.6;
}

.k20-contact__status {
	margin: 0 0 var(--k20-s-5);
	padding: var(--k20-s-4) var(--k20-s-5);
	background: var(--k20-fundal-alt);
	border: 1px solid var(--k20-linie);
	border-left-width: 0.25rem;
	border-radius: var(--k20-radius);
	color: var(--k20-text);
}

.k20-contact__status p {
	margin: 0;
}

.k20-contact__status p + p {
	margin-top: var(--k20-s-1);
}

.k20-contact__status:focus {
	outline: none;
}

.k20-contact__status--ok {
	background: var(--k20-succes-fundal);
	border-color: var(--k20-turcoaz-text);
}

.k20-contact__status--error {
	background: var(--k20-eroare-fundal);
	border-color: var(--k20-eroare);
}

.k20-contact__status-title {
	font-weight: var(--k20-fw-semibold);
}

.k20-contact__status--error .k20-contact__status-title {
	color: var(--k20-eroare);
}

.k20-contact__status-list {
	margin: var(--k20-s-2) 0 0;
	padding-left: var(--k20-s-5);
}

.k20-contact__status .k20-contact__status-list li {
	margin: 0;
}

.k20-contact__status .k20-contact__status-list li + li {
	margin-top: var(--k20-s-1);
}

.k20-contact__status-list a {
	color: var(--k20-text);
}

@media (min-width: 48em) {
	.k20-contact__form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--k20-s-4) var(--k20-s-5);
	}

	.k20-contact__form > * {
		grid-column: 1 / -1;
	}

	.k20-contact__form > .k20-contact__field--name,
	.k20-contact__form > .k20-contact__field--email {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.k20-contact__input,
	.k20-contact__submit {
		transition: none;
	}
}
