/* ==========================================================================
   Contato -- formulário Contact Form 7 (id 202) e blocos da página
   ========================================================================== */
.contato-topo {
	max-width: var(--ei-container, 1200px);
	margin: 0 auto;
	padding: calc(var(--ei-header-h, 96px) + clamp(32px, 4vw, 64px)) var(--ei-gutter, 24px) clamp(56px, 7vw, 96px);
	gap: var(--ei-gap, 48px);
	flex-wrap: nowrap;
	align-items: flex-start;
}

.contato-topo > figure { flex: 0 1 460px; margin: 0; position: sticky; top: 32px; }
.contato-topo > figure img { width: 100%; height: auto; display: block; }
.contato-topo__texto { flex: 1 1 0; min-width: 0; max-width: 600px; gap: clamp(24px, 3vw, 32px); }

.contato-titulo {
	margin: 0;
	font-family: var(--wp--preset--font-family--ranille);
	font-size: clamp(1.875rem, 3.4vw, 2.75rem);
	font-weight: 400;
	line-height: 1.12;
	color: var(--wp--preset--color--contrast);
}

.contato-dados { margin: 0; font-size: 1.0625rem; font-weight: 400; line-height: 1.65; }
.contato-dados a { text-decoration: underline; text-underline-offset: 3px; }
.contato-social { gap: 12px; }
.contato-mapa iframe { display: block; width: 100%; height: clamp(320px, 34vw, 469px); border: 0; }
.wp-block-shortcode .wpcf7 { width: 100%; }
.contato-topo__texto > .wp-block-shortcode { width: 100%; }

.easyice-form { display: flex; flex-direction: column; gap: 14px; }
.easyice-form .wpcf7-form-control-wrap { display: block; }

.easyice-form input:not([type="submit"]),
.easyice-form select,
.easyice-form textarea {
	width: 100%;
	box-sizing: border-box;
	height: 52px;
	padding: 0 26px;
	border: 1.5px solid rgba(86, 44, 75, 0.55);
	border-radius: 30px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--asap);
	font-size: 1.0625rem;
	font-weight: 400;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.easyice-form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23562c4b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8l8 8 8-8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 22px;
}

.easyice-form textarea { height: 148px; padding-top: 14px; resize: vertical; }
.easyice-form ::placeholder { color: rgba(86, 44, 75, 0.75); opacity: 1; }

.easyice-form input:focus,
.easyice-form select:focus,
.easyice-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(220, 137, 61, 0.45);
}

.easyice-form__enviar { margin: 6px 0 0; }

.easyice-form input[type="submit"] {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 0.28em 4em 0.32em 1.2em;
	border: 0;
	border-radius: 999px;
	background-color: var(--wp--preset--color--secondary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 14' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 7h29M24 1l6 6-6 6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.2em center;
	background-size: 1.2em 0.55em;
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--veneer-clean);
	font-size: 1.375rem;
	line-height: 1.3;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.25s var(--ei-ease, ease), filter 0.2s, box-shadow 0.25s;
}

.easyice-form input[type="submit"]:hover { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(220, 137, 61, 0.35); }

.easyice-form .wpcf7-not-valid-tip { padding: 4px 26px 0; font-size: 0.875rem; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 18px; border-radius: 14px; font-size: 1rem; }

@media (max-width: 1000px) {
	.contato-topo { flex-wrap: wrap; }
	.contato-topo > figure { position: static; flex: 0 1 100%; max-width: 380px; order: 2; }
	.contato-topo__texto { flex-basis: 100%; max-width: none; }
}
