.elementor-149 .elementor-element.elementor-element-a5ca94c > .elementor-container{max-width:1600px;}.elementor-149 .elementor-element.elementor-element-a5ca94c{margin-top:50px;margin-bottom:50px;}@media(max-width:767px){.elementor-149 .elementor-element.elementor-element-a5ca94c{margin-top:20px;margin-bottom:20px;}}/* Start custom CSS for shortcode, class: .elementor-element-edbb2cc *//**
 * Formulario de contacto (Contact Form 7)
 *
 * Pegar en Apariencia › Personalizar › CSS adicional, o en el style.css
 * del tema hijo. Todo cuelga de .syform, así que no afecta a otros
 * formularios del sitio.
 */

.syform {
	--syform-crema: #f2f1ea;
	--syform-tinta: #1a1815;
	--syform-texto: #55504a;
	--syform-marcador: #a9a49b;
	--syform-rojo: #980a0a;
	--syform-serif: "Instrument Serif", Georgia, "Times New Roman", serif;
	--syform-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--syform-ancho: 840px;

	width: 100%;
	max-width: 1285px;
	margin-inline: auto;
	padding: 100px 60px 87px;
	border-radius: 40px;
	background: var(--syform-crema);
	color: var(--syform-tinta);
	text-align: center;
}

.syform,
.syform *,
.syform *::before,
.syform *::after {
	box-sizing: border-box;
}

/* El tema aplica mayúsculas, negrita y espaciado a etiquetas y botones */
.syform label,
.syform input[type="submit"] {
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
}

/* Contact Form 7 convierte los saltos de línea del marcado en <br> */
.syform br {
	display: none;
}

.syform .syform__titulo {
	margin: 0 0 30px;
	font-family: var(--syform-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 75px;
	line-height: 1.05;
	color: var(--syform-tinta);
}

.syform .syform__intro {
	max-width: 870px;
	margin: 0 auto 56px;
	font-family: var(--syform-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--syform-tinta);
}

/* ---------------- Campos ---------------- */

.syform .syform__rejilla {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 15px;
	max-width: var(--syform-ancho);
	margin-inline: auto;
	text-align: left;
}

.syform .syform__campo--ancho {
	grid-column: 1 / -1;
}

/* Etiqueta visible solo para lectores de pantalla */
.syform .syform__etiqueta {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* CF7 envuelve cada control en un <span> en línea */
.syform .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}

.syform input[type="text"],
.syform input[type="email"],
.syform input[type="tel"],
.syform textarea {
	width: 100%;
	max-width: none;
	min-height: 0;
	margin: 0;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	font-family: var(--syform-sans);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--syform-tinta);
	transition: border-color 0.2s ease;
}

.syform textarea {
	height: 112px;
	min-height: 112px;
	padding-top: 14px;
	resize: vertical;
}

.syform input::placeholder,
.syform textarea::placeholder {
	color: var(--syform-marcador);
	opacity: 1;
}

.syform input[type="text"]:focus,
.syform input[type="email"]:focus,
.syform input[type="tel"]:focus,
.syform textarea:focus {
	border-color: var(--syform-rojo);
	outline: none;
}

/* ---------------- Casilla de privacidad ---------------- */

.syform .syform__acepto {
	max-width: var(--syform-ancho);
	margin: 18px auto 0;
	text-align: left;
	font-family: var(--syform-sans);
	font-size: 14px;
	line-height: 1.5;
	color: var(--syform-tinta);
}

.syform .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.syform .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}

.syform .wpcf7-acceptance input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	border-radius: 3px;
	accent-color: var(--syform-rojo);
	cursor: pointer;
}

.syform .syform__acepto a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ---------------- Botón ---------------- */

.syform .syform__enviar {
	position: relative;
	margin-top: 30px;
}

.syform input[type="submit"] {
	display: inline-block!important;
	width: auto!important;
	padding: 9px 28px!important;
	border: 0!important;
	border-radius: 8px!important;
	background: var(--syform-rojo) !important;
	font-family: var(--syform-sans)!important;
	font-size: 18px!important;
	font-weight: 400!important;
	line-height: 1.2!important;
	color: #fff!important;
	cursor: pointer!important;
	transition: background-color 0.2s ease!important;
}

.syform input[type="submit"]:hover,
.syform input[type="submit"]:focus-visible {
	background: #7a0808!important;
}

.syform input[type="submit"]:focus-visible {
	outline: 2px solid var(--syform-rojo)!important;
	outline-offset: 3px!important;
}

/* ---------------- Avisos de Contact Form 7 ---------------- */

.syform .wpcf7-spinner {
	position: absolute;
	margin: 0 0 0 10px;
	top: 50%;
	transform: translateY(-50%);
}

.syform .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-family: var(--syform-sans);
	font-size: 14px;
	line-height: 1.4;
	color: var(--syform-rojo);
}

.syform input.wpcf7-not-valid,
.syform textarea.wpcf7-not-valid {
	border-color: var(--syform-rojo);
}

.syform .wpcf7-response-output {
	max-width: var(--syform-ancho);
	margin: 26px auto 0;
	padding: 14px 20px;
	border-radius: 12px;
	border-width: 1px;
	font-family: var(--syform-sans);
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
}

/* ---------------- Móvil ---------------- */

@media (max-width: 900px) {

	.syform {
		padding: 56px 32px 48px;
		border-radius: 28px;
	}

	.syform .syform__titulo {
		font-size: 48px;
		margin-bottom: 20px;
	}

	.syform .syform__intro {
		margin-bottom: 36px;
		font-size: 17px;
	}

	.syform .syform__rejilla {
		column-gap: 20px;
	}
}

@media (max-width: 600px) {

	.syform {
		padding: 40px 20px 36px;
		border-radius: 20px;
	}

	.syform .syform__titulo {
		font-size: 40px;
	}

	.syform .syform__intro {
		margin-bottom: 28px;
		font-size: 16px;
	}

	.syform .syform__rejilla {
		grid-template-columns: minmax(0, 1fr);
	}

	.syform input[type="text"],
	.syform input[type="email"],
	.syform input[type="tel"],
	.syform textarea {
		padding: 13px 18px;
		font-size: 16px;
	}

	.syform textarea {
		height: 140px;
		min-height: 140px;
	}

	.syform input[type="submit"] {
		width: 100%;
		padding: 14px 28px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.syform input,
	.syform textarea {
		transition: none;
	}
}/* End custom CSS */