/* Formularz kontaktowy — ładowany tylko na podstronach, na których jest formularz. */

.tc-form {
	display: grid;
	gap: var(--tc-space-m);
}

@media (min-width: 700px) {
	.tc-form__wiersz {
		display: grid;
		gap: var(--tc-space-m);
		grid-template-columns: 1fr 1fr;
	}
}

.tc-form__pole {
	display: grid;
	gap: var(--tc-space-xs);
}

.tc-form__etykieta {
	font-weight: 600;
	color: var(--tc-color-heading);
}

.tc-form input[type="text"],
.tc-form input[type="email"],
.tc-form input[type="tel"],
.tc-form textarea {
	width: 100%;
	padding: 0.75em 1em;
	border: 1px solid var(--tc-color-border);
	border-radius: var(--tc-radius-s);
	background-color: var(--tc-color-bg);
	font: inherit;
	color: var(--tc-color-text);
	transition: border-color var(--tc-transition), box-shadow var(--tc-transition);
}

.tc-form input:focus-visible,
.tc-form textarea:focus-visible {
	border-color: var(--tc-color-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tc-color-primary) 22%, transparent);
	outline: none;
}

/* Pole odrzucone przez walidację — kolor to za mało, dokładamy grubszą ramkę. */
.tc-form input[aria-invalid="true"],
.tc-form textarea[aria-invalid="true"] {
	border-width: 2px;
	border-color: var(--tc-color-error);
}

.tc-form .wpcf7-not-valid-tip {
	color: var(--tc-color-error);
	font-size: 0.875rem;
}

.tc-form__zgoda {
	display: flex;
	gap: var(--tc-space-xs);
	align-items: flex-start;
	font-size: 0.875rem;
	line-height: var(--tc-line-normal);
}

.tc-form__zgoda input[type="checkbox"] {
	margin-top: 0.25em;
}

.tc-form .wpcf7-spinner {
	margin-inline-start: var(--tc-space-xs);
}

.tc-form .wpcf7-response-output {
	margin: 0;
	padding: var(--tc-space-s) var(--tc-space-m);
	border-radius: var(--tc-radius-s);
	border-width: 1px;
}
