/* Contact Form 7 — editorial, accessible contact experience. */
.liza-contact-form {
	display: grid;
	gap: clamp(1.15rem, 2vw, 1.65rem);
	margin-top: clamp(2rem, 4vw, 3.5rem);
	max-width: 52rem;
}

.liza-contact-form > p {
	margin: 0;
}

.liza-contact-form label {
	color: var(--wp--preset--color--ink);
	display: block;
	font-size: 0.95rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.45;
}

.liza-contact-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.55rem;
}

.liza-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.liza-contact-form textarea,
.liza-contact-form select {
	appearance: none;
	background: var(--wp--preset--color--paper);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 28%, transparent);
	border-radius: 0.2rem;
	box-sizing: border-box;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-weight: 400;
	line-height: 1.5;
	min-height: 3.35rem;
	padding: 0.8rem 0.95rem;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
	width: 100%;
}

.liza-contact-form textarea {
	min-height: 11rem;
	resize: vertical;
}

.liza-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):hover,
.liza-contact-form textarea:hover,
.liza-contact-form select:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 50%, transparent);
}

.liza-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus-visible,
.liza-contact-form textarea:focus-visible,
.liza-contact-form select:focus-visible {
	border-color: var(--wp--preset--color--terracotta);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--terracotta) 20%, transparent);
	outline: 0;
}

.liza-contact-form .wpcf7-acceptance .wpcf7-list-item {
	display: block;
	margin: 0;
}

.liza-contact-form .wpcf7-acceptance label {
	align-items: flex-start;
	display: flex;
	font-size: 0.92rem;
	font-weight: 400;
	gap: 0.7rem;
}

.liza-contact-form input[type="checkbox"] {
	accent-color: var(--wp--preset--color--terracotta);
	flex: 0 0 auto;
	height: 1.2rem;
	margin: 0.12rem 0 0;
	width: 1.2rem;
}

.liza-contact-form .wpcf7-acceptance a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.liza-contact-form input[type="submit"] {
	background: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 999px;
	color: var(--wp--preset--color--paper);
	cursor: pointer;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.035em;
	min-height: 3.25rem;
	padding: 0.85rem 1.55rem;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.liza-contact-form input[type="submit"]:hover:not(:disabled) {
	background: var(--wp--preset--color--terracotta);
	border-color: var(--wp--preset--color--terracotta);
}

.liza-contact-form input[type="submit"]:focus-visible,
.liza-contact-form input[type="checkbox"]:focus-visible {
	outline: 3px solid var(--wp--preset--color--terracotta);
	outline-offset: 3px;
}

.liza-contact-form input[type="submit"]:disabled {
	cursor: not-allowed;
	opacity: 0.42;
}

.liza-contact-form .wpcf7-not-valid {
	border-color: #a4372b !important;
}

.liza-contact-form .wpcf7-not-valid-tip {
	color: #8b2c22;
	display: block;
	font-size: 0.875rem;
	margin-top: 0.4rem;
}

.liza-contact-form + .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
	border: 1px solid var(--wp--preset--color--terracotta);
	border-radius: 0.2rem;
	margin: 1.5rem 0 0;
	padding: 0.8rem 1rem;
}

.liza-contact-form .wpcf7-spinner {
	margin-inline: 0.8rem 0;
}

@media (max-width: 600px) {
	.liza-contact-form {
		gap: 1.15rem;
	}

	.liza-contact-form input[type="submit"] {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.liza-contact-form input,
	.liza-contact-form textarea,
	.liza-contact-form select {
		transition: none;
	}
}
