/* ==========================================================================
   FORMULARIOS DE CONTACT FORM 7
   Plantillas en /formularios (un .html por formulario).

   - .mim-cf7-newsletter          Base: campos 51px con borde #73E2FF, casilla de
                                  aceptación propia y botón verde a todo el ancho.
                                  Pensado para fondo claro; el footer (fondo azul)
                                  ajusta los colores en css/footer.css.
   - .mim-cf7-newsletter--wide    Variante de página (home): nombre y email en línea,
                                  ancho máximo de 535px y centrado.
   ========================================================================== */

.mim-cf7-newsletter .wpcf7-form-control-wrap {
	display: block;
}

.mim-cf7-newsletter input[type="text"],
.mim-cf7-newsletter input[type="email"] {
	display: block;
	width: 100%;
	height: 51px;
	margin: 0 0 15px;
	padding: 0 19px;
	border: 1px solid #73E2FF;
	border-radius: 0;
	background-color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #333;
	box-shadow: none;
}

.mim-cf7-newsletter input::placeholder {
	color: #6F6F6F;
	opacity: 1;
}

.mim-cf7-newsletter input[type="text"]:focus,
.mim-cf7-newsletter input[type="email"]:focus {
	outline: 2px solid #00EAA4;
	outline-offset: 1px;
}

.mim-cf7-newsletter .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.mim-cf7-newsletter .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin-bottom: 18px;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #6F6F6F;
	text-align: left;
	cursor: pointer;
}

.mim-cf7-newsletter .wpcf7-acceptance input[type="checkbox"] {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 0;
	border: 1px solid #73E2FF;
	border-radius: 0;
	background: #fff no-repeat center / 14px;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.mim-cf7-newsletter .wpcf7-acceptance input[type="checkbox"]:checked {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5l4 4 8-9' fill='none' stroke='%23005888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.mim-cf7-newsletter .wpcf7-acceptance a {
	text-decoration: underline;
}

.mim-cf7-newsletter input[type="submit"] {
	display: block;
	width: 100%;
	height: 37px;
	padding: 0 22px;
	border: 0;
	border-radius: 0 0 20px 0;
	background-color: #00EAA4;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: opacity .2s ease;
}

.mim-cf7-newsletter input[type="submit"]:hover {
	opacity: .85;
}

.mim-cf7-newsletter input[type="submit"]:disabled {
	opacity: .5;
	cursor: not-allowed;
}

.mim-cf7-newsletter .wpcf7-spinner {
	display: block;
	margin: 10px auto 0;
}

.mim-cf7-newsletter .wpcf7-not-valid-tip {
	margin: -10px 0 12px;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	text-align: left;
	color: #B32D2E;
}

.wpcf7-form .mim-cf7-newsletter ~ .wpcf7-response-output {
	margin: 15px 0 0 !important;
	padding: 10px 12px !important;
	border-width: 1px !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: #333;
}

/* --- Variante ancha (newsletter de la home) ----------------------------- */

.mim-cf7-newsletter--wide {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 21px;
	max-width: 535px;
	margin: 0 auto;
}

.mim-cf7-newsletter--wide > .mim-cf7-full {
	grid-column: 1 / -1;
}

.mim-cf7-newsletter--wide input[type="text"],
.mim-cf7-newsletter--wide input[type="email"] {
	margin-bottom: 27px;
}

.wpcf7-form .mim-cf7-newsletter--wide ~ .wpcf7-response-output {
	max-width: 535px;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media only screen and (max-width: 767px) {
	.mim-cf7-newsletter--wide {
		grid-template-columns: minmax(0, 1fr);
	}

	.mim-cf7-newsletter--wide input[type="text"],
	.mim-cf7-newsletter--wide input[type="email"] {
		margin-bottom: 15px;
	}
}
