/* Nuvem WP Forms — form #2 */


.nuvem-form--formulario-de-contacto {
	font-family: inherit;
	font-size: 15px;
	color: var( --color-fg, #0A0A0A );
}
.nuvem-form--formulario-de-contacto .nuvem-form__grid { gap: 24px; }
@media ( max-width: 767px ) {
	.nuvem-form--formulario-de-contacto .nuvem-form__grid { grid-template-columns: 1fr; }
}
.nuvem-form--formulario-de-contacto .nuvem-form__field { gap: 8px; }
.nuvem-form--formulario-de-contacto .nuvem-form__label,
.nuvem-form--formulario-de-contacto .nuvem-form__legend {
	font-family: var( --font-mono, "JetBrains Mono", ui-monospace, monospace );
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var( --color-muted, rgba( 10, 10, 10, 0.55 ) );
}
.nuvem-form--formulario-de-contacto .nuvem-form__star { display: none; }
.nuvem-form--formulario-de-contacto .nuvem-form__input,
.nuvem-form--formulario-de-contacto .nuvem-form__select,
.nuvem-form--formulario-de-contacto .nuvem-form__textarea {
	width: 100%;
	border: 0;
	border-bottom: 1px solid var( --color-hair, rgba( 10, 10, 10, 0.12 ) );
	border-radius: 0;
	background: transparent;
	padding: 8px 0;
	font-size: 15px;
	line-height: 1.4;
	color: var( --color-fg, #0A0A0A );
	box-shadow: none;
	outline: none;
	transition: border-color 0.2s cubic-bezier( 0.25, 1, 0.5, 1 );
}
.nuvem-form--formulario-de-contacto .nuvem-form__input:hover,
.nuvem-form--formulario-de-contacto .nuvem-form__select:hover,
.nuvem-form--formulario-de-contacto .nuvem-form__textarea:hover { border-bottom-color: rgba( 10, 10, 10, 0.30 ); }
.nuvem-form--formulario-de-contacto .nuvem-form__input:focus,
.nuvem-form--formulario-de-contacto .nuvem-form__select:focus,
.nuvem-form--formulario-de-contacto .nuvem-form__textarea:focus {
	border-bottom-color: var( --color-fg, #0A0A0A );
	box-shadow: none;
	background: transparent;
}
.nuvem-form--formulario-de-contacto .nuvem-form__input::placeholder,
.nuvem-form--formulario-de-contacto .nuvem-form__textarea::placeholder { color: rgba( 10, 10, 10, 0.40 ); }
.nuvem-form--formulario-de-contacto .nuvem-form__textarea { resize: none; min-height: 120px; }
.nuvem-form--formulario-de-contacto .nuvem-form__select {
	padding-right: 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%230A0A0A' stroke-opacity='0.6' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 12px 8px;
	cursor: pointer;
}
.nuvem-form--formulario-de-contacto .nuvem-form__field--consent { margin-top: 0; }
.nuvem-form--formulario-de-contacto .nuvem-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13px;
	line-height: 1.5;
	color: var( --color-muted, rgba( 10, 10, 10, 0.55 ) );
	cursor: pointer;
}
.nuvem-form--formulario-de-contacto .nuvem-form__consent input[type="checkbox"] {
	appearance: auto;
	-webkit-appearance: auto;
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	accent-color: var( --color-fg, #0A0A0A );
	flex: none;
}
.nuvem-form--formulario-de-contacto .nuvem-form__consent input[type="checkbox"]::after { content: none; }
.nuvem-form--formulario-de-contacto .nuvem-form__field--consent a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.nuvem-form--formulario-de-contacto .nuvem-form__field--consent a:hover { opacity: 0.6; }
.nuvem-form--formulario-de-contacto .nuvem-form__error { font-size: 12px; color: var( --color-red, #DF1E26 ); margin-top: 4px; }
.nuvem-form--formulario-de-contacto .nuvem-form__actions { margin-top: 8px; }
.nuvem-form--formulario-de-contacto .nuvem-form__submit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 24px;
	background: var( --color-fg, #0A0A0A );
	color: #fff;
	border: 0;
	border-radius: 2px;
	font-size: 14px;
	font-weight: 500;
	box-shadow: none;
	cursor: pointer;
	transition: opacity 0.2s cubic-bezier( 0.25, 1, 0.5, 1 );
}
.nuvem-form--formulario-de-contacto .nuvem-form__submit::after {
	content: "";
	flex: none;
	width: 18px;
	height: 10px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M0 5h17M12 1l5 4-5 4'/%3E%3C/svg%3E") no-repeat center / contain;
}
.nuvem-form--formulario-de-contacto .nuvem-form__submit:hover { opacity: 0.9; }
.nuvem-form--formulario-de-contacto .nuvem-form__submit:active { transform: translateY( 1px ); }
.nuvem-form--formulario-de-contacto .nuvem-form__messages { margin-top: 16px; font-size: 14px; }
.nuvem-form--formulario-de-contacto .nuvem-form__messages:empty { display: none; margin: 0; }