/* Fuente local opcional: si el proyecto usa una tipografía local en vez de Google Fonts,
   agrega aquí su @font-face y referencia el nombre en --text-body-secondary abajo.
   Si usa Google Fonts (caso normal, ver inc/styles-js.php), borra este comentario y
   asegúrate de que Poppins coincida con el family-name que carga ahí.
   Pesos cargados: 400, 700, 800 (ver inc/styles-js.php) — no usar font-weight fuera de esos valores.
   Por ahora el proyecto solo tiene fuente primaria (Poppins); --text-body-secondary queda en el
   fallback de sistema hasta que se defina una secundaria. */
:root {
	--bs-body-font-family: "Poppins", sans-serif;
	--bs-primary: rgba(53, 123, 159, 1);
	--bs-primary-ligh: rgb(0, 204, 247);
	--bs-secondary: rgba(0, 0, 0, 1);
	--bs-secondary-200: rgba(0, 0, 0, 0.2);
	--bs-secondary-600: rgba(0, 0, 0, 0.6);
	--bs-border-radius: 50px;
	--bs-green: rgb(204, 255, 0);
	--bs-white-400: rgba(255, 255, 255, 0.4);
	--bs-white-700: rgba(255, 255, 255, 0.7);
	--bs-gray: rgb(98, 98, 98);
	--bs-gray-200: rgb(238, 238, 238);
	--bs-gray-800: rgba(210,210,210,0.8);
}

.text-primary {
	color: var(--bs-primary) !important;
}

.bg-primary {
	background-color: var(--bs-primary) !important;
}

.text-primary-ligh {
	color: var(--bs-primary-ligh) !important;
}

.bg-primary-ligh {
	background-color: var(--bs-primary-ligh) !important;
}

.text-secondary {
	color: var(--bs-secondary) !important;
}

.bg-secondary {
	background-color: var(--bs-secondary) !important;
}

.text-secondary-200 {
	color: var(--bs-secondary-200) !important;
}

.bg-secondary-200 {
	background-color: var(--bs-secondary-200) !important;
}

.text-secondary-600 {
	color: var(--bs-secondary-600) !important;
}

.bg-secondary-600 {
	background-color: var(--bs-secondary-600) !important;
}

.text-green {
	color: var(--bs-green) !important;
}

.bg-green {
	background-color: var(--bs-green) !important;
}

.text-white-400 {
	color: var(--bs-white-400) !important;
}

.bg-white-400 {
	background-color: var(--bs-white-400) !important;
}

.text-white-700 {
	color: var(--bs-white-700) !important;
}

.bg-white-700 {
	background-color: var(--bs-white-700) !important;
}

.text-gray {
	color: var(--bs-gray) !important;
}

.bg-gray {
	background-color: var(--bs-gray) !important;
}

.text-gray-200 {
	color: var(--bs-gray-200) !important;
}

.bg-gray-200 {
	background-color: var(--bs-gray-200) !important;
}

.text-gray-800 {
	color: var(--bs-gray-800) !important;
}

.bg-gray-800 {
	background-color: var(--bs-gray-800) !important;
}

.fs-1,
h1 {
	font-size: 44px !important;
	font-weight: 400 !important;
}

.fs-2,
h2 {
	font-size: 32px !important;
	font-weight: 400 !important;
}

.p {
	font-size: 16px !important;
}

.p-medium {
	font-size: 14px !important;
}

.small {
	font-size: 12px !important;
}

@media only screen and (min-width: 992px) {
	.fs-1,
	h1 {
		font-size: 64px !important;
	}

	.fs-2,
	h2 {
		font-size: 40px !important;
	}

	.p {
		font-size: 20px !important;
	}

	.p-large {
		font-size: 18px !important;
	}
}

@media only screen and (min-width: 992px) {
	.position-lg-absolute {
		position: absolute;
	}
}

.btn {
	--bs-btn-padding-x: 1.25rem;
	--bs-btn-padding-y: 0.5rem;
	--bs-btn-font-weight: 500;
	--bs-btn-border-radius: var(--bs-border-radius);
}

.btn-primary {
	--bs-btn-color: var(--bs-white);
	--bs-btn-bg: var(--bs-primary);
	--bs-btn-border-color: var(--bs-primary);
	--bs-btn-hover-bg: var(--bs-secondary);
	--bs-btn-hover-border-color: var(--bs-secondary);
	--bs-btn-active-border-color: var(--bs-primary);
}

.btn-white {
	--bs-btn-color: var(--bs-primary);
	--bs-btn-bg: var(--bs-white);
	--bs-btn-border-color: var(--bs-white);
	--bs-btn-hover-color: var(--bs-white);
	--bs-btn-hover-bg: var(--bs-secondary);
	--bs-btn-hover-border-color: var(--bs-black);
	--bs-btn-active-border-color: var(--bs-primary);
}

.btn-secondary {
	--bs-btn-color: var(--bs-white);
	--bs-btn-bg: var(--bs-black);
	--bs-btn-border-color: var(--bs-black);
	--bs-btn-hover-color: var(--bs-white);
	--bs-btn-hover-bg: var(--bs-primary);
	--bs-btn-hover-border-color: var(--bs-primary);
	--bs-btn-active-border-color: var(--bs-black);
}

body {
	font-family: var(--bs-body-font-family);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	line-height: 1.1;
}

/* Bloque Carusel Galeria (swiper) */
.bloqueCaruselGaleria .swiper,
.bloqueCaruselTarjeta .swiper,
.bloqueTarjetas .swiper {
	padding-left: 18px;
}

.swiper-button-prev,
.swiper-button-next {
	width: 13px !important;
	height: 20px !important;
	padding: 0;
	border: 0;
	background: none;
}

.swiper-button-prev {
	left: 50px !important;
}

.swiper-button-next {
	right: 50px !important;
}

.icono-siguiente {
	position: relative;
	padding-right: 40px;
}

.icono-siguiente:after,
.icono-siguiente-primary:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 10px;
	height: 13px;
	margin-top: -7px;
	background-size: 10px 14px;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 1;
}

.icono-siguiente:after {
	background: url("/wp-content/uploads/2026/09/icono-siguiente.svg");
}
.icono-siguiente-primary:after {
	background: url("/wp-content/uploads/2026/09/icono-siguiente-primary.svg");
}

@media only screen and (min-width: 992px) {
	.bloqueCaruselGaleria .swiper,
	.bloqueCaruselTarjeta .swiper {
		padding-left: 100px;
	}

	.bloqueTarjetas .swiper {
		padding-left: 0;
	}
}

.sombra {
	mask: linear-gradient(90deg, #000 0%, #000 88.0482%, #0000 100%);
	-webkit-mask: linear-gradient(90deg, #000 0%, #000 88.0482%, #0000 100%);
}

.sombra-mobile-der {
	mask: linear-gradient(90deg, #000 0%, #000 88.0482%, #0000 100%);
	-webkit-mask: linear-gradient(90deg, #000 0%, #000 88.0482%, #0000 100%);
}

.gradienteImagen {
	background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0.00) 60%);
}

@media only screen and (min-width: 992px) {
	.sombra-mobile-der {
		mask: none;
		-webkit-mask: none;
	}
}

/* bloqueTarjetas (estilo 2 del carusel tarjeta) — por debajo de 1200px el
   overlay queda siempre visible (sin hover, pantallas táctiles no lo
   disparan). Desde 1200px hacia arriba: hover con fade del fondo/overlay,
   y el contenido (titulo+frase, descripcion, boton) entra con translateY
   desde abajo, en cascada. overflow-hidden en la card recorta el contenido
   mientras está fuera de vista. */
.bloqueTarjetas__overlay {
	opacity: 1;
}

.bloqueTarjetas__overlay h3,
.bloqueTarjetas__overlay h4,
.bloqueTarjetas__overlay p,
.bloqueTarjetas__overlay .btn {
	opacity: 1;
	transform: none;
}

@media only screen and (min-width: 1200px) {
	.bloqueTarjetas__overlay {
		opacity: 0;
		transition: opacity 0.4s ease-out;
	}

	.bloqueTarjetas__card:hover .bloqueTarjetas__overlay {
		opacity: 1;
	}

	.bloqueTarjetas__overlay h3,
	.bloqueTarjetas__overlay h4,
	.bloqueTarjetas__overlay p,
	.bloqueTarjetas__overlay .btn {
		transform: translateY(20px);
		opacity: 0;
		transition:
			transform 0.4s ease-out,
			opacity 0.4s ease-out;
	}

	.bloqueTarjetas__card:hover .bloqueTarjetas__overlay h3 {
		transform: translateY(0);
		opacity: 1;
		transition-delay: 0.1s;
	}

	.bloqueTarjetas__card:hover .bloqueTarjetas__overlay h4 {
		transform: translateY(0);
		opacity: 1;
		transition-delay: 0.15s;
	}

	.bloqueTarjetas__card:hover .bloqueTarjetas__overlay p {
		transform: translateY(0);
		opacity: 1;
		transition-delay: 0.25s;
	}

	.bloqueTarjetas__card:hover .bloqueTarjetas__overlay .btn {
		transform: translateY(0);
		opacity: 1;
		transition-delay: 0.35s;
	}
}

/* bloqueCaruselTarjeta */
.bloqueCaruselTarjeta,
.bloqueEstadisticas {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.bloqueCaruselTarjeta {
	background-image: url(/wp-content/uploads/2026/09/fondo-carusel-tarjeta.webp);
}
.bloqueEstadisticas {
	background-image: url(/wp-content/uploads/2026/09/testimonies-bg.webp);
}

.bloqueCaruselTarjeta .swiper-button-next,
.bloqueCaruselTarjeta .swiper-button-prev {
	color: var(--bs-white);
}

.bloqueCaruselTarjeta__item {
	margin-top: -50px;
}

/* Formulario */
.wpcf7-list-item-label {
	display: block;
	font-size: 10px;
	color: var(--bs-secondary-600);
	line-height: 110% !important;
}

.wpcf7-form-control {
	border-color: var(--bs-primary);
	border-radius: 6px !important;
}

.wpcf7-submit {
	width: 100%;
	padding: 0.5rem 3rem 0.5rem 1.25rem;
	color: var(--bs-white);
	border: 0;
	font-weight: 500;
	border-radius: var(--bs-border-radius) !important;
	background: url("/wp-content/uploads/2026/09/icono-siguiente.svg");
	background-color: var(--bs-primary);
	background-size: 10px 14px;
	background-repeat: no-repeat;
	background-position: calc(100% - 42%) center;
}

.form-check-input {
	width: 22px;
	height: 22px;
	margin-top: 0;
	border: 2px solid var(--bs-primary);
	border-radius: 6px;
	background-color: var(--bs-white);
}

.form-check-input:checked {
	background-color: var(--bs-primary);
	border-color: var(--bs-primary);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.form-check-input:focus {
	border-color: var(--bs-primary);
	box-shadow: none;
}

.wpcf7-submit:hover {
	background-color: var(--bs-secondary);
}

.form-check {
	padding-left: 10px;
}

.wpcf7-list-item span {
	margin-left: 10px;
}

.wpcf7-not-valid-tip {
	font-size: 12px;
}

@media only screen and (min-width: 992px) {
	.wpcf7-submit {
		width: auto;
		background-position: calc(100% - 20px) center;
	}

	.hover {
		transition: all .3s ease;
	}

	.hover-linea {
		position: relative;
	}

	.hover-linea:before {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 0;
		height: 1px;
		border-bottom: 1px solid var(--bs-primary);
		transition: all .3s ease;
	}

	.hover:hover .hover-linea:before {
		width: 100%;
	}

	.hover:hover.hover-translateY {
		transition: all .3s ease;
		transform: translateY(-5px);
	}

	.hover:hover.hover-border {
		border-color: var(--bs-primary-ligh) !important;
	}

	.hover:hover.hover-texto-azul {
		color: var(--bs-primary-ligh);
	}

	.hover-imagen-scale {
		transition: transform .3s ease;
	}

	.hover:hover .hover-imagen-scale {
		transform: scale(1.1);
	}
}

.componenteRedes__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50px;
	background-color: var(--bs-primary);
}

@media only screen and (min-width: 992px) {
	.bloqueImagenTexto article:nth-child(2n) .row  {
		flex-direction: row-reverse !important;
	}
}

.singlePost p {
	margin-bottom: 20px;
	line-height: 1.5;
}