/*
 * Ajustes de diseño de www.taurusmkt.com (taurus-sitio.php). Corrigen detalles de maquetación
 * que en los datos de Elementor serían frágiles. Los selectores usan el id de la página
 * (.elementor-<id>) y del elemento, o las clases que pone la migración `clases-diseno`.
 * Si alguien rehace una de estas secciones en Elementor, revisa su regla aquí.
 */

/* ---------- Footer pegado al fondo ----------
 * En páginas cortas (Contacto, Políticas) o pantallas altas quedaba una franja blanca bajo
 * el footer. body pasa a columna flexible con alto mínimo de la ventana y el footer se empuja
 * al final. Solo en páginas con footer de Elementor (las landings Canvas no lo tienen).
 */
body:has(> .elementor-location-footer) {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
}

body:has(> .elementor-location-footer) > * {
	flex-shrink: 0;
}

body:has(> .elementor-location-footer) > .elementor-location-footer {
	margin-top: auto;
}

/* ---------- Footer (plantilla 8697, migración footer-rediseno) ---------- */

.taurus-footer.e-con {
	--content-width: 1200px; /* el mismo ancho de contenido que el header (2234) */
	--gap: 0px;
	background-position: right -120px bottom -40px;
	background-size: auto 92%;
}

.taurus-footer > .e-con-inner {
	padding-inline: 15px;
}

/* Rejilla: marca más ancha + 4 columnas, alineada con el header. */
.taurus-footer .taurus-footer__cuerpo.e-con {
	--display: grid;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) repeat(4, minmax(0, 1fr));
	gap: 40px 32px;
	align-items: start;
}

.taurus-footer .taurus-footer__marca.e-con,
.taurus-footer .taurus-footer__columna.e-con {
	--gap: 14px;
	gap: 14px;
}

.taurus-footer .taurus-footer__marca .elementor-widget-text-editor p {
	margin: 0;
	font-size: 17px;
	line-height: 1.4;
}

.taurus-footer .taurus-footer__marca .elementor-widget-text-editor strong {
	font-weight: 800;
}

.taurus-footer .elementor-heading-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
}

.taurus-footer .elementor-heading-title a {
	color: inherit;
}

.taurus-footer .elementor-nav-menu--main .elementor-item {
	padding: 4px 0 !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	line-height: 1.5;
	opacity: 0.88;
}

.taurus-footer .elementor-nav-menu--main .elementor-item:hover,
.taurus-footer .elementor-nav-menu--main .elementor-item:focus-visible,
.taurus-footer .elementor-nav-menu--main .elementor-item.elementor-item-active {
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.taurus-footer .elementor-nav-menu--main .elementor-item.elementor-item-active {
	font-weight: 600 !important;
}

.taurus-footer .taurus-footer__contacto p {
	margin: 0 0 10px;
	font-size: 13.5px;
	font-weight: 400;
	line-height: 1.55;
	opacity: 0.88;
}

.taurus-footer .taurus-footer__contacto p:last-child {
	margin: 0;
	font-size: 12.5px;
	opacity: 0.7;
}

.taurus-footer a {
	color: #fff;
}

.taurus-footer .taurus-footer__contacto a:hover,
.taurus-footer .taurus-footer__base a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Franja inferior: copyright y políticas, separada por una línea fina. */
.taurus-footer .taurus-footer__base.e-con {
	--flex-direction: row;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 24px;
	margin-top: 56px;
	padding: 20px 0 28px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.28);
}

.taurus-footer .taurus-footer__base .elementor-widget-text-editor,
.taurus-footer .taurus-footer__base .elementor-widget-text-editor p {
	width: auto;
	margin: 0;
	font-size: 12.5px;
	font-weight: 400;
	opacity: 0.85;
}

/* El arco decorativo solo cabe en el margen libre de las pantallas anchas; más estrecho pisaría el texto. */
@media (max-width: 1599px) {
	.taurus-footer.e-con.e-con {
		background-image: none !important;
	}
}

@media (max-width: 1024px) {
	.taurus-footer .taurus-footer__cuerpo.e-con {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.taurus-footer .taurus-footer__marca.e-con {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.taurus-footer .taurus-footer__cuerpo.e-con {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 20px;
	}

	.taurus-footer .taurus-footer__marca.e-con {
		align-items: center;
		text-align: center;
	}

	.taurus-footer .taurus-footer__contacto.e-con {
		grid-column: 1 / -1;
	}

	.taurus-footer .taurus-footer__base.e-con {
		flex-direction: column;
		text-align: center;
		margin-top: 40px;
	}
}

/* ---------- Páginas de servicio ---------- */

/* "Beneficios del servicio" sobre foto oscura: el texto gris fino casi no se leía. */
.taurus-beneficios .bdt-ep-advanced-icon-box-description,
.taurus-beneficios .bdt-ep-advanced-icon-box-description p {
	color: #fff;
	font-weight: 400;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.65);
}

/* Placeholders de los formularios: más contraste (estaban en gris muy claro). */
.elementor-widget-form .elementor-field::placeholder,
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
	color: #8c8c8c;
	opacity: 1;
}

/* Eventos presenciales: "Presenciales" llegaba a tocar la foto del hero. */
@media (min-width: 1025px) {
	.elementor-2165 .elementor-element.elementor-element-75b1f1d .elementor-heading-title,
	.elementor-2165 .elementor-element.elementor-element-65a5b3f .elementor-heading-title {
		font-size: min(6.2vw, 90px);
	}
}

/* ---------- Contacto (página 2163) ---------- */

@media (min-width: 1025px) {
	/* La tarjeta de país (margen -139px) tapaba "Contáctanos": el título cabe en su columna. */
	.elementor-2163 .elementor-element.elementor-element-1d84a2a .elementor-heading-title {
		font-size: clamp(36px, 3.4vw, 50px);
	}

	/* Las tres pestañas de país en una sola fila. */
	.elementor-2163 .elementor-element.elementor-element-0876889 {
		--n-tabs-heading-wrap: nowrap;
	}

	.elementor-2163 .elementor-element.elementor-element-0876889 .e-n-tab-title {
		padding-inline: 18px;
	}
}

@media (max-width: 767px) {
	/* La tarjeta de país arrastraba su margen de escritorio (-139px) y se salía por la derecha. */
	.elementor-2163 .elementor-element.elementor-element-99c38b0 {
		--margin-right: 0px;
		--width: 100%;
	}

	/* El formulario tenía 150px de relleno a la izquierda también en móvil. */
	.elementor-2163 .elementor-element.elementor-element-6ae84e8 {
		--padding-left: 20px;
		--padding-right: 20px;
	}

	.elementor-2163 .wpforms-container .wpforms-field input:not([type="checkbox"]):not([type="radio"]),
	.elementor-2163 .wpforms-container .wpforms-field textarea {
		width: 100%;
		max-width: 100%;
	}
}
