/**** Reset ***/

html {
	scroll-behavior: smooth;
}

body,
html,
div,
blockquote,
img,
label,
p,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
ul,
ol,
li,
dl,
dt,
dd,
form,
a,
fieldset,
input,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: none;
}


/*
==============================================
Variables CSS
==============================================
*/

:root {
	--color-blanco: #fff;
	--color-morado: #932bd2;
	--color-morado-claro: #b55eec;
	--color-naranja: #f1cc00;
	--color-negro: #000;
	--color-gris: #000;
	--color-azul: #00d3ff;
	--color-azul-claro: #e8fbff;
	--color-azul-oscuro: #4273d5;
	--color-verde: #a0de0f;
	--color-amarllo: #f5e341;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 600;
}

/****  Fin Reset ***/

@font-face {
	font-family: 'proxima_nova_alt';
	src: url('../fonts/proxima_nova_alt_condensed_bold-webfont.woff2') format('woff2'),
		url('../fonts/proxima_nova_alt_condensed_bold-webfont.woff') format('woff');
	font-weight: 600;
	font-style: normal;

}

@font-face {
	font-family: 'proxima_nova_alt';
	src: url('../fonts/proxima_nova_alt_condensed_Regular.woff2') format('woff2'),
		url('../fonts/proxima_nova_alt_condensed_Regular.woff') format('woff');
	font-weight: 500;
	font-style: normal;

}


@font-face {
	font-family: 'proxima_nova_alt';
	src: url('../fonts/proxima_nova_alt_condensed_thin-webfont.woff2') format('woff2'),
		url('../fonts/proxima_nova_alt_condensed_thin-webfont.woff') format('woff');
	font-weight: 400;
	font-style: normal;

}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-BlackItalic.ttf') format('truetype');
	font-weight: 900;
	font-style: italic;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-ExtraBoldItalic.ttf') format('truetype');
	font-weight: 800;
	font-style: italic;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-BoldItalic.ttf') format('truetype');
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-SemiBoldItalic.ttf') format('truetype');
	font-weight: 600;
	font-style: italic;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-Regular.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-Italic.ttf') format('truetype');
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-Medium.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-MediumItalic.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-LightItalic.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-ExtraLight.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'montserrat';
	src: url('../fonts/montserrat/Montserrat-ExtraLightItalic.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'fontspring';
	src: url('../fonts/Fontspring-DEMO-rocgrotesk-regular.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'fontspring';
	src: url('../fonts/Fontspring-DEMO-rocgroteskwide-bold.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Square-Bold';
	src: url('../fonts/Square-Bold.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
p,
small,
a,
label,
div {
	font-family: 'montserrat';
}

body {
	background-color: white;
}

p {
	margin-bottom: 20px;
	font-weight: 500;
	font-size: 19px;
}

img {
	max-width: 100%;
}

.br-pequeño {
	border-radius: 18px;
}

.br-mediano {
	border-radius: 50px 50px 50px 50px / 50px 50px 50px 50px;
}

.br-redondo {
	border-radius: 50%;
	aspect-ratio: 1/1;
	padding: 0.5rem;
}

.blanco {
	color: var(--color-blanco) !important;
}

.negro {
	color: var(--color-negro) !important;
}

.rojo {
	color: var(--color-rojo) !important;
}

.verde {
	color: var(--color-verde) !important;
}

.gris {
	color: var(--color-gris) !important;
}

.azul {
	color: var(--color-azul) !important;
}

.naranja {
	color: var(--color-naranja) !important;
}

.morado {
	color: var(--color-morado) !important;
}

.amarillo {
	color: var(--color-amarllo) !important;
}

.sombra-text {
	text-shadow: 1px 1px 5px #000;
}

.azul-brillante {
	color: var(--color-azul-brillante) !important;
}

.azul-oscuro {
	color: var(--color-azul-oscuro) !important;
}

.bg-blanco {
	background-color: var(--color-blanco);
}

.bg-gris-claro {
	background-color: var(--color-gris-claro);
	transition: background 0.2s, color 0.2s;
}

.bg-gris-oscuro {
	background-color: var(--color-gris-oscuro);
	transition: background 0.2s, color 0.2s;
}

.bg-azul {
	background-color: var(--color-azul);
	border-color: var(--color-azul);
	transition: background 0.2s, color 0.2s;
}

.bg-naranja {
	background-color: var(--color-naranja);
	border-color: var(--color-naranja);
	transition: background 0.2s, color 0.2s;
}

.bg-hover-naranja:hover {
	background-color: var(--color-naranja);
	border-color: var(--color-naranja);
}

.bg-hover-azul-brillante:hover {
	background-color: var(--color-azul-brillante);
	border-color: var(--color-azul-brillante);
}

.bg-variable {
	background-color: var(--color-variable);
}

.f10 {
	font-size: clamp(8px, 0.6vw, 10px);
}

.f11 {
	font-size: clamp(9px, 0.7vw, 11px);
}

.f12 {
	font-size: clamp(9px, 0.8vw, 12px);
}

.f13 {
	font-size: clamp(9px, 0.8vw, 13px);
}

.f14 {
	font-size: clamp(10px, 0.9vw, 14px);
}

.f15 {
	font-size: clamp(11px, 1.1vw, 17px);
}

.f16 {
	font-size: clamp(12px, 1.2vw, 18px);
}

.f17 {
	font-size: clamp(13px, 1.3vw, 20px);
}

.f18 {
	font-size: clamp(14px, 1.4vw, 22px);
}

.f20 {
	font-size: clamp(16px, 1.6vw, 24px);
}

.f22 {
	font-size: clamp(17px, 1.8vw, 28px);
}

.f24 {
	font-size: clamp(18px, 2vw, 32px);
}

.f26 {
	font-size: clamp(19px, 2.2vw, 36px);
}

.f28 {
	font-size: clamp(20px, 2.4vw, 40px);
}

.f30 {
	font-size: clamp(25px, 2.6vw, 44px);
}

.f32 {
	font-size: clamp(25px, 2.8vw, 48px);
}

.f34 {
	font-size: clamp(27px, 3vw, 52px);
}

.f36 {
	font-size: clamp(29px, 3.2vw, 56px);
}

.f38 {
	font-size: clamp(31px, 3.4vw, 60px);
}

.f40 {
	font-size: clamp(32px, 3.6vw, 64px);
}

.f42 {
	font-size: clamp(34px, 3.8vw, 68px);
}

.f44 {
	font-size: clamp(36px, 4vw, 72px);
}

.f46 {
	font-size: clamp(38px, 4.2vw, 76px);
}

.f48 {
	font-size: clamp(40px, 4.4vw, 80px);
}

.f50 {
	font-size: clamp(36px, 4.6vw, 84px);
}

.lt-spacing-5 {
	letter-spacing: 0.5px;
}

.fw-800 {
	font-weight: 800;
}

.ff-fontspring {
	font-family: 'fontspring', sans-serif;
	letter-spacing: 1.4px;
}

/*Alertas Ajax*/
#alertLoad {
	position: fixed;
	bottom: 8px;
	right: 6px;
	background: #27ae60;
	border: 2px solid #27ae60;
	z-index: 9999;
	padding: 2px 8px;
	border-radius: 3px;
	border: 2px solid #209143;
	display: none;
}

#alertLoad span {
	color: #FFF;
	font-size: 21px;
	display: inline-block;
	float: left;
	margin-top: 13px;
}

#alertLoad img {
	width: 48px;
}

.alertFail,
.alertOk {
	display: none;
	position: fixed;
	bottom: 15px;
	width: 80%;
	left: 0px;
	right: 0px;
	margin: auto;
	background: #c0392b;
	z-index: 99999999;
	padding: 2px 8px;
	border-radius: 3px;
	padding: 11px;
	border: 1px solid rgb(119, 0, 0);
}

.alertFail {
	visibility: visible;
}

.alertOk {
	background: #27AE60;
	border: 1px solid #3B694F;
}

.alertFail span,
.alertOk span {
	color: #FFF;
	font-size: 21px;
	display: block;
	text-align: center;
}

.woowRequireFail {
	border: 1px solid #D60000 !important;
	box-shadow: inset 0px 0px 9px -3px #FF0303 !important;
	-webkit-box-shadow: inset 0px 0px 9px -3px #FF0303 !important;
	-moz-box-shadow: inset 0px 0px 9px -3px #FF0303 !important;
	-ms-box-shadow: inset 0px 0px 9px -3px #FF0303 !important;
	-o-box-shadow: inset 0px 0px 9px -3px #FF0303 !important;
}

.bounce {
	animation: bounce 2s ease infinite;
}

@keyframes bounce {
	70% {
		transform: translateY(0%);
	}

	80% {
		transform: translateY(-15%);
	}

	90% {
		transform: translateY(0%);
	}

	95% {
		transform: translateY(-7%);
	}

	97% {
		transform: translateY(0%);
	}

	99% {
		transform: translateY(-3%);
	}

	100% {
		transform: translateY(0);
	}
}


/*
==============================================
Style Defaul Wordpress
==============================================
*/

.woowTheContent {
	height: auto;
	color: #58595b;
}

.woowTheContent h1 {
	font-size: 32px;
	margin: 25px 0px 0px;
}

.woowTheContent h2 {
	font-size: 26px;
	margin: 25px 0px 15px;
	font-weight: 600;
}

.woowTheContent h3 {
	font-size: 24px;
	margin: 25px 0px 0px;
}

.woowTheContent h4 {
	font-size: 22px;
	margin: 25px 0px 0px;
}

.woowTheContent h5 {
	font-size: 20px;
	margin: 25px 0px 0px;
}

.woowTheContent h6 {
	font-size: 18px;
	margin: 25px 0px 0px;
}

.woowTheContent p {
	margin: 8px 0px 10px;
	line-height: 23px;
}

.woowTheContent img {
	max-width: 100%;
	height: auto;
}

.woowTheContent ul,
.woowTheContent ol {
	padding-left: 40px;
}

.woowTheContent ul li,
.woowTheContent ol li {
	padding-bottom: 15px;
	list-style: initial;
	font-size: 20px;
	font-weight: 500;
}

.woowTheContent ol li {
	list-style: decimal;
}

.woowTheContent blockquote {
	border-color: var(--color-azul);
	border-left-style: solid;
	border-left-width: 7px;
	padding: 6px 0px;
	padding-left: 20px;
	margin-bottom: 1em;
	margin-right: 3em;
	margin-left: 3em;
	line-height: 1.5em;
	color: #919191;
	background: #f2f2f2;
}

.woowTheContent a {
	color: #00BCD4;
	text-decoration: underline;
}

.woowTheContent .alignnone {
	margin: 5px 20px 20px 0;
}

.woowTheContent .aligncenter,
.woowTheContent div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.woowTheContent .alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.woowTheContent .alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

.woowTheContent a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.woowTheContent a img.alignnone {
	margin: 5px 20px 20px 0;
}

.woowTheContent a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

.woowTheContent a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto
}

.woowTheContent .wp-caption-text {
	font-size: 14px;
	font-style: oblique;
}

.woowTheContent .wp-caption {
	max-width: 100%;
}

.woowTheContent iframe {
	text-align: center;
	display: block;
	width: 100%;
}

.woowNavBreadcrumb {
	display: inline-block;
}

.woowNavBreadcrumb ol {
	padding: 0px;
}

.woowNavBreadcrumb ol li {
	float: left;
	list-style: none;
}

.woowNavBreadcrumb ol li:after {
	content: '>';
	padding: 0px 8px;
	color: var(--color-azul);
	font-weight: 400;
}

.woowNavBreadcrumb ol li:last-child {
	font-weight: 600;
}

.woowNavBreadcrumb ol li:last-child:after {
	content: '';
	display: none;
}

.woowNavBreadcrumb ol li a span {
	font-size: 18px;
	color: #58595b;
	font-weight: 500;
}

.woowNavBreadcrumb ol li a span:hover {
	color: #000;
	text-decoration: underline;
}

.woowNavBreadcrumb ol li b {
	opacity: 0;
	position: absolute;
}

.btn-verde {
	background: var(--color-verde);
	color: var(--color-negro);
}

/*
==============================================
Header
==============================================
*/




.navuevo .navbar-nav {
	text-align: center;
	padding: 0px 20px;
}

.navHeader .navbar-nav li {
	padding: 0px 2px;
}


.navHeader .navbar-nav .menu-item a {
	color: var(--color-negro);
	font-weight: 600;
	font-size: 14px;
	padding: 0.5rem 1rem;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	white-space: normal;
	line-height: 1.2;
	transition: background 0.2s, color 0.2s;
	border-radius: 10px;
}



.navHeader .navbar-nav .menu-item.current-menu-item a,
.navHeader .navbar-nav .menu-item a:hover {
	color: var(--color-blanco);
	background-color: var(--color-verde);
	border-radius: 10px;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	white-space: normal;
	line-height: 1.2;
	box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.04);
}

.navbar-collapse.show {
	transition: background-color 0.3s ease-in;
	background: var(--color-negro);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.639093137254902) 11%, rgba(0, 0, 0, 0.7875525210084033) 26%, rgba(0, 0, 0, 0.4318102240896359) 62%, rgba(0, 0, 0, 0.014443277310924318) 97%);


}

.btnHeaderAgendar {
	border-radius: 22px;
	font-weight: 500;
	filter: drop-shadow(-0.609px 4.963px 2.5px rgba(0, 0, 0, 0.1));
	background-image: linear-gradient(0deg, #932bd2 0%, #4e057b 99%, #4e057b 100%);
}


/* Nuevo estilo para que solo el borde gire y el icono quede estático */
.animated-border {
	position: relative;
	display: inline-block;
	border-radius: 50%;
	padding: 6px;
	/* El fondo ahora es transparente */
	background: #fff;
}


.animated-border::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	padding: 0;
	z-index: 1;
	pointer-events: none;
	/* Borde animado con degradado lineal */
	background:
		linear-gradient(to bottom, #b7d600 0%, var(--color-azul) 100%),
		radial-gradient(circle at top left, #cadb00, #00d3fe 80%);
	/* Borde visible solo en el contorno */
	box-shadow:
		0 0 8px 2px #00d3ff88,
		0 0 16px 4px #b7d60055,
		0 0 24px 8px #3a4ed588;
	border: 2px solid transparent;
	/* Usamos mask para mostrar solo el borde */
	-webkit-mask:
		radial-gradient(circle, transparent 65%, black 70%, black 100%);
	mask:
		radial-gradient(circle, transparent 65%, black 70%, black 100%);
	animation: border-rotate 10s linear infinite;
}

.animated-border img {
	border-radius: 50%;
	background: transparent;
	display: block;
	max-width: 45px;
	position: relative;
	z-index: 2;
	box-shadow: none;
}

@keyframes border-rotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}


.woow-mb-gris {
	border-bottom: solid 1px #e0e0e0;
}



/* Contenedor principal */
.woow-slider-container {
	position: relative;
	overflow: visible;
	height: 100%;
}

/* Contenedor del slide */
.woow-slide-wrap {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.woow-slide-wrap.active {
	opacity: 1;
}

/* Animación de entrada parabólica mejorada */
@keyframes parabolicIn {
	0% {
		transform: scale(0.1);
		opacity: 0;
		filter: blur(10px);
	}

	40% {
		transform: scale(0.8);
		opacity: 0.8;
		filter: blur(5px);
	}

	70% {
		transform: scale(1.1);
		opacity: 1;
		filter: blur(1px);
	}

	100% {
		transform: scale(1);
		opacity: 1;
		filter: blur(0);
	}
}

/* Animación de salida mejorada */
@keyframes parabolicOut {
	0% {
		transform: scale(1);
		opacity: 1;
		filter: blur(0);
	}

	30% {
		transform: scale(1.1);
		opacity: 0.8;
		filter: blur(1px);
	}

	80% {
		transform: scale(0.2);
		opacity: 0.3;
		filter: blur(8px);
	}

	100% {
		transform: scale(0);
		opacity: 0;
		filter: blur(15px);
		visibility: hidden;
	}
}

/* Elementos comunes */
.woow-slide,
.woow-slide-particula-1,
.woow-slide-particula-2 {
	position: absolute;
	animation: parabolicIn 1.5s cubic-bezier(0.17, 0.85, 0.9, 1.2) both;
}

.woow-slide img {
	object-fit: contain;
	aspect-ratio: 1/1;
	width: 150%;
	max-width: 450px;
}

.woow-slide-particula-1 img,
.woow-slide-particula-2 img {
	object-fit: contain;
	aspect-ratio: 1/1;
	width: 100%;
	height: 100%;
	max-width: 100px;
}

/* Imagen central */
.woow-slide.fly-center {
	top: -95%;
	left: 50%;
	z-index: 5;
	filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.3));
	animation: parabolicIn 2s cubic-bezier(0.17, 0.85, 0.45, 1.2) both,
		float 8s ease-in-out infinite 1s;
}

/* Partícula superior */
.woow-slide-particula-2.fly-top {
	top: -100%;
	left: 55%;
	z-index: 2;
	filter: blur(2px) drop-shadow(0 3px 5px rgba(0, 0, 0, 0.2));
	transform: scale(0.7);
	animation: parabolicIn 2s cubic-bezier(0.17, 0.85, 0.45, 1.2) both,
		float 8.5s ease-in-out infinite 1.2s;
}

/* Partícula inferior */
.woow-slide-particula-1.fly-bottom {
	top: 0%;
	left: 50%;
	z-index: 5;
	filter: blur(1px) drop-shadow(0 3px 5px rgba(0, 0, 0, 0.2));
	transform: scale(0.7);
	animation: parabolicIn 2s cubic-bezier(0.17, 0.85, 0.45, 1.2) both,
		float 7.5s ease-in-out infinite 1.1s;
}

/* Imagen central  paquetes*/
.woow-slide.fly-center-Paquete {
	top: 0;
	left: 5%;
	max-width: 200px;
	z-index: 5;
	filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.3));
	animation: parabolicIn 2s cubic-bezier(0.17, 0.85, 0.45, 1.2) both,
		float 6s ease-in-out infinite 1s;
}

/* Animación de flotación sutil */
@keyframes float {

	0%,
	100% {
		transform: translateY(0) rotate(0.5deg);
	}

	25% {
		transform: translateY(-8px) rotate(-0.5deg);
	}

	50% {
		transform: translateY(0) rotate(0.5deg);
	}

	75% {
		transform: translateY(-6px) rotate(0.5deg);
	}
}

.texto-p-banner-principal {
	width: 80%;
}

/* Texto */
.woow-slide-texto {
	position: relative;
	z-index: 4;
	text-align: left;
	max-width: 55%;
	margin-left: 5%;
	height: 100%;
	animation: fadeIn 0.8s ease 0.5s forwards;
	opacity: 0;
}

@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

/* Clase para animación de salida */
.woow-slide-wrap.leaving .woow-slide,
.woow-slide-wrap.leaving .woow-slide-particula-1,
.woow-slide-wrap.leaving .woow-slide-particula-2 {
	animation: parabolicOut 0.8s cubic-bezier(0.6, -0.3, 0.7, 0) forwards;
}


.woow-card {
	background: #fff;
	border-radius: 25px;
	box-shadow: -0.609px 4.963px 10px rgba(0, 0, 0, 0.5);
}

.background-azul {
	background-color: linear-gradient(90deg, #4273d5 20%, #2fd9d0 75%);
	background-image: url(../images/pages/home/Fondo-seccion-02.png);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

.background-degradado-azul-i-d {
	background-image: linear-gradient(90deg, #4273d5 20%, #2fd9d0 75%);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

.background-degradado-azul-d-i {
	background-image: linear-gradient(90deg, #2fd9d0 20%, #4273d5 75%);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}


.background-degradado-azul-i-d-desbanecido-abajo {
	position: relative;
	/* necesario para posicionar el pseudo-elemento */
	overflow: hidden;
}

/* contenido por encima */
.background-degradado-azul-i-d-desbanecido-abajo>.container,
.background-degradado-azul-i-d-desbanecido-abajo * {
	position: relative;
	z-index: 2;
	/* asegúrate que el contenido esté por encima del pseudo-elemento */
}

/* pseudo-elemento que pinta el degradado horizontal + máscara vertical */
.background-degradado-azul-i-d-desbanecido-abajo::before {
	content: "";
	position: absolute;
	inset: 0;
	/* top:0; right:0; bottom:0; left:0; */
	z-index: 1;
	pointer-events: none;
	/* permite clics hacia abajo (botones etc) */

	/* degradado horizontal original */
	background: linear-gradient(90deg, #4273d5 20%, #2fd9d0 75%);
	background-size: cover;
	background-position: center;

	/* máscara vertical para desvanecer hacia abajo (transparente) */
	-webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 100%);
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1)40%, rgba(0, 0, 0, 0) 100%);

	/* opcional: control de tamaño de la máscara */
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

.background-degradado-azul-i-d-desbanecido-arriba {
	position: relative;
	/* necesario para posicionar el pseudo-elemento */
	overflow: hidden;
}

/* contenido por encima */
.background-degradado-azul-i-d-desbanecido-arriba>.container,
.background-degradado-azul-i-d-desbanecido-arriba * {
	position: relative;
	z-index: 2;
	/* asegúrate que el contenido esté por encima del pseudo-elemento */
}

.background-degradado-azul-i-d-desbanecido-arriba::before {
	content: "";
	position: absolute;
	inset: 0;
	min-height: 150px;
	/* top:0; right:0; bottom:0; left:0; */
	z-index: 1;
	pointer-events: none;
	/* permite clics hacia abajo (botones etc) */

	/* degradado horizontal original */
	background: linear-gradient(90deg, #4273d5 20%, #2fd9d0 75%);
	background-size: cover;
	background-position: center;

	/* máscara vertical para desvanecer hacia abajo (transparente) */
	-webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 100%);
	mask-image: linear-gradient(to top, rgba(0, 0, 0, 1)40%, rgba(0, 0, 0, 0) 100%);

	/* opcional: control de tamaño de la máscara */
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

.background-footer {
	background-color: var(--color-naranja);
	background-image: url(../images/elements/Barra-flotante.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
}

.linea-horizontal {
	width: 100%;
	height: 3px;
	background: #f5e341;
}

.linea-horizontal-azul {
	width: 100%;
	height: 2px;
	background: #2991db;
}


.select2-container--bootstrap-5 .select2-selection {
	border-radius: 25px;
}

/* Home */
.sombra-tb {
	background-image: linear-gradient(90deg, rgba(88, 128, 184, 0) 0%, rgba(47, 217, 208, 0.9999999999999999) 46%, rgba(47, 217, 208, 0.999486034572867) 47%, rgba(47, 217, 208, 0) 100%);
	filter: drop-shadow(4.286px 40.775px 23px rgba(0, 0, 0, 0.56));

	& span {
		letter-spacing: 3px;
		color: #ffffff;
		font-weight: 700;
		font-family: "Montserrat";
		text-align: center;
		filter: drop-shadow(0.872px 9.962px 6.5px rgba(0, 0, 0, 0.3));
	}
}

mark.resaltador {
	background: linear-gradient(90deg, #f5e341 0%, #f5e341 100%);
	color: #3b4352;
	background-repeat: no-repeat;
	background-size: 0% 100%;
	animation: highlight-fill 1s ease-out forwards;
}

@keyframes highlight-fill {
	to {
		background-size: 100% 100%;
	}
}

#ciudadesTabs .nav-link {
	border-radius: 30px;
	font-family: montserrat;
	box-shadow:
		0 18px 30px rgba(11, 41, 77, 0.32),
		0 4px 10px rgba(11, 41, 77, 0.22);
	color: var(--color-blanco);
	background: transparent;
}

#ciudadesTabs .nav-link.active {
	background: var(--color-verde);
	color: #3b4352;
}

#ciudadesTabs .nav-link:hover {
	background: #1ffcf1d3;
	color: #3b4352;
	transition: scale 0.2s ease;
	scale: 1.05;
}

.sede-item-container {
	display: flex;
	/* 2. Usa flexbox para organizar la tarjeta y el botón */
	flex-direction: column;
	flex-grow: 1;
}

.card-sede {
	width: 100%;
	border-radius: 26px;
	filter: drop-shadow(1.045px 9.945px 10px rgba(0, 0, 0, 0.1));
	background-color: #3b4352;
	padding: 10px 10px 0px 10px;
	text-align: center;
	color: #fff;
	overflow: hidden;
	transition: background 0.2s, scale 0.2s ease;
	flex-grow: 1;

	& .nav-link {
		color: #fff;
	}

	& .nav-link .pointer-icon {
		background-color: var(--color-verde);
		-webkit-mask-image: url(../images/pages/home/Pointer.svg);
		mask-image: url(../images/pages/home/Pointer.svg);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		mask-size: contain;
		-webkit-mask-position: center;
		mask-position: center;
		width: 40px;
		/* Ajusta el ancho según necesites */
		height: 55px;
		/* Ajusta el alto según necesites */
	}

	& .nav-link .parte-inferior-card {
		background-color: #3b4352;
		color: var(--color-verde);
		border-radius: 30px 30px 0 0;
	}

	& .nav-link .parte-inferior-card .icono-bono {
		top: -15%;
		left: 50%;
		transform: translateX(-50%);
		object-fit: contain;
		object-position: center;
	}
}

.card-sede:hover {
	background: var(--color-verde);
	color: #3b4352;
	scale: 1.01;
	transition: scale 0.2s ease;

	& .nav-link {
		color: #3b4352;
	}

	& .nav-link .pointer-icon {
		background-color: #3b4352;
	}
}



.card-sede>a.nav-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	/* El enlace debe llenar toda la tarjeta */
}


.pasos-proceso {
	padding: 40px 0;
}

/* Cada paso */
.pasos-proceso .paso-item {
	position: relative;
	text-align: center;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
	background: #fff;
}

/* Número grande en la esquina superior izquierda */
.pasos-proceso .paso-item .numero {
	position: absolute;
	top: 10px;
	left: 15px;
	font-size: 80px;
	font-weight: 700;
	z-index: 2;
}

.paso-item-1 .numero {
	color: #4273d5;
}

.paso-item-2 .numero {
	color: #4087d5;
}

.paso-item-3 .numero {
	color: #39b1d4;
}

.paso-item-4 .numero {
	color: #30d5d1;
}

/* Imagen */
.pasos-proceso .imagen-contenedor {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
}

.pasos-proceso .imagen-contenedor img {
	width: 100%;
	height: auto;
	display: block;
}

/* Overlay con gradiente */
.pasos-proceso .imagen-contenedor .overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px;
	text-align: center;
	min-height: 66px;
	align-items: center;
	display: flex;
	justify-content: center;
	border-top: solid 2px #fff;
}

.paso-item-1 .overlay {
	background-color: #4273d5cc;
}

.paso-item-2 .overlay {
	background-color: #3e94d5cc;
}

.paso-item-3 .overlay {
	background-color: #37bcd2cc;
}

.paso-item-4 .overlay {
	background-color: #2fd8cfcc;
}

.pasos-proceso .imagen-contenedor .overlay h3 {
	font-size: 15px;
	font-weight: 500;
	margin: 0;
	color: #fff;
}

.sede-item-container .btn-agendar-sede {
	border-radius: 40px;
	font-family: montserrat;
	box-shadow:
		0 18px 30px rgba(11, 41, 77, 0.32),
		0 4px 10px rgba(11, 41, 77, 0.22);
	background: var(--color-verde);
	color: #3b4352;
}

.card-tipos-examen {
	border-radius: 25px;
	box-shadow: 1.045px 9.945px 10px rgba(0, 0, 0, 0.1);
	text-align: center;
	color: #FFF;
	padding: 10px;
}

.swiper-container {
	position: relative;
	padding: 8px 0;
}

.sede-card {
	background: rgba(40, 47, 67, 0.9);
	color: #cfeaf0;
	border: none;
}

.sede-card .card-title {
	color: #fff;
	font-weight: 700;
}

/* RESET y contenedor */
.testimonios {
	padding: 60px 0;
	background: #fff;
	overflow: hidden;
}

.wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;
}

.titulo {
	font-size: 22px;
	margin-bottom: 28px;
	letter-spacing: 1px;
}

/* Carrusel */
.testimonios-carousel {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6%;
	user-select: none;
}

/* Controles */
.tc-control {
	background: transparent;
	border: none;
	font-size: 44px;
	color: #4273d5d2;
	cursor: pointer;
	z-index: 10;
	padding: 6px 10px;
}

.tc-control:focus {
	outline: 2px solid rgba(0, 0, 0, 0.12);
}

/* Track (área donde se colocan los elementos) */
.tc-track {
	position: relative;
	width: 820px;
	/* ancho visible (ajusta) */
	height: 360px;
	/* altura de las tarjetas */
	display: flex;
	align-items: center;
	justify-content: center;
	perspective: 1200px;
	/* para sensación 3D */
	overflow: visible;
}

/* Item base */
.tc-item {
	position: absolute;
	width: 300px;
	height: 340px;
	transform-origin: top center;
	/* se "cuelga" de la parte superior */
	transition: transform 700ms cubic-bezier(.2, .9, .2, 1), opacity 500ms ease, filter 500ms ease;
	will-change: transform, opacity;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.12));
	border-radius: 14px;
	background: white;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Imagen dentro del item */
.tc-item img {
	width: 92%;
	height: auto;
	display: block;
	border-radius: 12px;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

/* Posiciones visibles: left / center / right */
.tc-item.pos-left {
	transform: translateX(-330px) rotate(-22deg) translateY(-20px) scale(0.92);
	opacity: 1;
	z-index: 3;
	pointer-events: auto;
}

.tc-item.pos-center {
	transform: translateX(0) rotate(0deg) translateY(0px) scale(1);
	opacity: 1;
	z-index: 6;
	pointer-events: auto;
}

.tc-item.pos-right {
	transform: translateX(330px) rotate(22deg) translateY(-20px) scale(0.92);
	opacity: 1;
	z-index: 3;
	pointer-events: auto;
}

/* Items fuera de pantalla (visualmente "colgados", opacos) */
.tc-item.pos-out-left {
	transform: translateX(-920px) rotate(-40deg) translateY(60px) scale(0.8);
	opacity: 0;
	z-index: 2;
}

.tc-item.pos-out-right {
	transform: translateX(920px) rotate(40deg) translateY(60px) scale(0.8);
	opacity: 0;
	z-index: 2;
}

/* Animación de entrada (swing -> enderezar con rebote) */
.tc-item.entering {
	animation: hangToVertical 750ms cubic-bezier(.2, .9, .2, 1) forwards;
}

/* Animación de salida (jalado) */
.tc-item.exiting {
	animation: pullAway 650ms cubic-bezier(.3, .15, .3, 1) forwards;
}

/* keyframes */
@keyframes hangToVertical {
	0% {
		transform: translateY(-80px) rotate(-26deg) scale(0.86);
		opacity: 0;
	}

	60% {
		transform: translateY(6px) rotate(6deg) scale(0.98);
		opacity: 1;
	}

	85% {
		transform: translateY(-6px) rotate(-2deg) scale(1.02);
	}

	100% {
		transform: translateY(0) rotate(0deg) scale(1);
		opacity: 1;
	}
}

@keyframes pullAway {
	0% {
		transform: translateY(0) rotate(0deg) scale(1);
		opacity: 1;
	}

	40% {
		transform: translateY(28px) rotate(18deg) scale(0.96);
		opacity: 0.9;
		filter: blur(0px);
	}

	100% {
		transform: translateY(120px) rotate(60deg) scale(0.7);
		opacity: 0;
		filter: blur(3px);
	}
}

/* Dots (indicador) */
.tc-dots {
	margin-top: 18px;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.tc-dots button {
	width: 10px;
	height: 11px;
	border-radius: 50%;
	border: none;
	background: rgba(0, 0, 0, 0.15);
	cursor: pointer;
}

.tc-dots button.active {
	background: #4273d5;
	box-shadow: 0 4px 10px rgba(47, 217, 208, 0.25);
}

/* mejora la interacción táctil: permite scroll vertical pero captura swipes horizontales */
.testimonios-carousel {
	touch-action: pan-y;
}

/* durante el arrastre aplicamos transform sobre el track (opcional) */
.tc-track.dragging {
	transition: transform 0s;
}

/* Adaptativo */
@media (max-width: 900px) {
	.tc-track {
		width: 100%;
		height: 300px;
	}

	.tc-item {
		width: 260px;
		height: 300px;
	}

	.tc-item.pos-left {
		transform: translateX(-260px) rotate(-20deg) translateY(-14px) scale(.92);
	}

	.tc-item.pos-right {
		transform: translateX(260px) rotate(20deg) translateY(-14px) scale(.92);
	}
}

@media (max-width: 560px) {
	.tc-track {
		height: 260px;
	}

	.tc-item {
		width: 220px;
		height: 260px;
	}

	.tc-control {
		font-size: 34px;
	}
}


/* ---------- Testimonios: tabs estilo "píldora" con borde degradado ---------- */
#testimonios .nav-tabs {
	border: none;
	padding: 8px 0;
}

/* Contenedor del tab (el "borde" degradado) */
#testimonios .nav-tabs .nav-link {
	display: block;
	/* full width en tu markup w-100 */
	position: relative;
	padding: 4px;
	/* GROSOR del borde degradado (ajusta 2-8px) */
	border-radius: 999px;
	text-align: left;
	cursor: pointer;
	border: none;
	/* anula estilos por defecto */
	color: #3b4352;
	/* color del texto exterior, si aplica */
	-webkit-tap-highlight-color: transparent;
	overflow: visible;
	margin-bottom: 10px;
}

/* El H3 interior (la "capa" blanca donde está el texto) */
#testimonios .nav-tabs .nav-link>h3 {
	margin: 0;
	display: block;
	background: #ffffff;
	/* sustituye por el color de fondo de tu sección si no es blanco */
	padding: 12px 18px;
	/* espaciamiento dentro de la píldora */
	border-radius: 999px;
	/* mismo radio para encajar perfectamente */
	font-size: clamp(15px, 1.6vw, 18px);
	line-height: 1.05;
	color: #656a71;
	/* color del texto dentro de la píldora (ajusta si quieres) */
	font-weight: 700;
	pointer-events: none;
	/* evita que el h3 capture clicks — el botón padre lo hace */
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.04);
}

/* Hover / focus sobre todo el botón */
#testimonios .nav-tabs .nav-link:hover,
#testimonios .nav-tabs .nav-link:focus {
	transform: translateY(-3px);
	box-shadow: 0 20px 40px rgba(66, 115, 213, 0.12);
	outline: none;
}

/* Estilo cuando Bootstrap marca el tab como activo */
#testimonios .nav-tabs .nav-link.active {
	/* píldora completa */
	background: linear-gradient(90deg, #2fd9d0 10%, #4273d5 90%);
	background-size: 200% 100%;
	box-shadow: 0 8px 24px rgba(66, 115, 213, 0.06);
	transform: translateY(-3px);
	box-shadow: 0 22px 48px rgba(66, 115, 213, 0.16);
	/* opcional: enfatizar gradiente o velocidad */
	animation: gradientMove 1s linear infinite;
	/* acelera el movimiento del degradado en activo */
}

/* Contenedor del tab (el "borde" degradado) */
#faqAccordion .card-header {
	display: block;
	/* full width en tu markup w-100 */
	position: relative;
	padding: 4px;
	/* GROSOR del borde degradado (ajusta 2-8px) */
	border-radius: 999px;
	text-align: left;
	cursor: pointer;
	border: none;
	/* anula estilos por defecto */
	color: #3b4352;
	/* color del texto exterior, si aplica */
	-webkit-tap-highlight-color: transparent;
	overflow: visible;
	margin-bottom: 10px;
}

/* El H3 interior (la "capa" blanca donde está el texto) */
#faqAccordion .card-header>button>h3 {
	margin: 0;
	display: block;
	background: #ffffff;
	font-size: 16px;
	/* sustituye por el color de fondo de tu sección si no es blanco */
	padding: 12px 18px;
	/* espaciamiento dentro de la píldora */
	border-radius: 999px;
	line-height: 1.05;
	color: #656a71;
	/* color del texto dentro de la píldora (ajusta si quieres) */
	font-weight: 700;
	pointer-events: none;
	/* evita que el h3 capture clicks — el botón padre lo hace */
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.04);
}

#faqAccordion .card-header:hover,
#faqAccordion .card-header:focus {
	transform: translateY(-3px);
	box-shadow: 0 20px 40px rgba(66, 115, 213, 0.12);
	outline: none;
}

/* Estilo cuando Bootstrap marca el tab como activo */
#faqAccordion .card-header.active {
	/* píldora completa */
	background: linear-gradient(90deg, #2fd9d0 10%, #4273d5 90%);
	background-size: 200% 100%;
	box-shadow: 0 8px 24px rgba(66, 115, 213, 0.06);
	transform: translateY(-3px);
	box-shadow: 0 22px 48px rgba(66, 115, 213, 0.16);
	/* opcional: enfatizar gradiente o velocidad */
	animation: gradientMove 1s linear infinite;
	/* acelera el movimiento del degradado en activo */
}

/* Si prefieres que el texto del tab activo cambie color (en vez de blanco) */
#testimonios .nav-tabs .nav-link.active>h3 {
	/* mantener el fondo blanco para lectura y reforzar color */
	background: #ffffff;
	color: #0e2540;
	/* color más oscuro para resaltar; ajusta a tu paleta */
}

/* Pequeño glow cuando está activo (pseudo-elemento) */
#testimonios .nav-tabs .nav-link.active::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 999px;
	z-index: 0;
	pointer-events: none;
	filter: blur(10px);
	background: linear-gradient(90deg, rgba(47, 217, 208, 0.12), rgba(66, 115, 213, 0.12));
}

/* Asegurarnos que el h3 esté por encima del pseudo glow */
#testimonios .nav-tabs .nav-link>h3 {
	position: relative;
	z-index: 2;
}

/* Animación del gradiente (background-position) */
@keyframes gradientMove {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

/* Responsivo: ajustar padding en pantallas pequeñas */
@media (max-width: 576px) {
	#testimonios .nav-tabs .nav-link {
		padding: 3px;
	}

	#testimonios .nav-tabs .nav-link>h3 {
		padding: 10px 14px;
		font-size: 15px;
	}
}






















.swiper-button-prev,
.swiper-button-next {
	color: #fff;
}

.swiper-pagination-bullet {
	background: rgba(255, 255, 255, 0.6);
}

.navTop .logoMenu {
	width: 250px;
	max-width: 300px;
}

.navTop .navbar-nav {
	text-align: center;
	padding: 0px 20px;
}

.navTop .navbar-nav li {
	padding: 10px 12px;
}

.navTop .navbar-nav .menu-item a {
	color: var(--color-azul-claro);
	font-weight: 500;
	font-size: 16px;
}

.navTop .navbar-nav .current-menu-item a.nav-link,
.navTop .navbar-nav a.nav-link:hover {
	color: var(--color-azul-claro) !important;
	font-weight: 600;
}

.navTop .navbar-nav li ul.dropdown-menu {
	background: var(--color-azul-oscuro);
}

.navTop .navbar-nav li ul.dropdown-menu li {
	padding: 5px 12px;
}

.navTop .navbar-nav li ul.dropdown-menu li a:hover {
	background: #003B4A;
	color: var(--color-azul-claro);
}

.headerCurso {
	background: #000;
	color: #fff;
}

.headerCurso img {
	/*background: #000;*/
	color: #fff;
}

.headerCurso h1 {
	font-size: 47px;
}

.headerCurso h2 {
	font-size: 23px;
	font-weight: 400;
}

.headerCurso .borderHorizontal:before {
	content: "";
	height: 80%;
	width: 3px;
	border-radius: 5px;
	background: var(--color-azul);
	display: block;
	float: right;
	margin: 3% auto;
}

.mainBanner {
	min-height: 100vh;
	overflow: hidden;
}

.mainBanner .titleBanner {
	font-size: 46px;
	font-weight: 600;
	line-height: 51px;
}

.mainBanner .titleBanner strong {
	font-size: 52px;
	color: var(--color-azul);
}

.mainBanner .textOjo {
	font-size: 35px;
}

.mainBanner strong {
	color: var(--color-azul);
}

.mainBanner .tyc {
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
	text-shadow: 1px 1px 0px #000;
}

.tick {}

.tick [data-key=value] {
	margin-bottom: -28px;
	font-weight: 600;
}

.tick .tick-credits {
	display: none;
}

.tick .tick-flip-panel {
	color: #fff;
	background: var(--color-azul);
}

.tick .tick-label {
	font-size: .375em;
	text-align: center;
}

.tick .tick-group {
	margin: 0 5px;
	text-align: center;
}

.tick .tick-flip {
	margin-left: 1px;
	margin-right: 1px;
}

.btn-cerrar-modal {
	right: 31.5vw;
	top: 0;
	z-index: 10;
	font-size: 50px;
	color: white;
}

/* HTML: <a class="btn btnAgendar">AGENDAR MI CITA</a> */

/* Botón base (tu fondo interior) */
.btnAgendar {
	display: inline-block;
	position: relative;
	z-index: 1;
	border-radius: 35px;
	padding: 14px 56px;
	font-size: 30px;
	letter-spacing: 1px;
	font-weight: 700;
	font-family: "Montserrat", sans-serif;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
	border: none;
	/* Fondo interior que pediste conservar */
	background-image: linear-gradient(0deg, #3e6cd5 0%, #37aaff 99%, #37aaff 100%);
	box-shadow: inset 0 6px 18px rgba(0, 0, 0, 0.12);
	-webkit-font-smoothing: antialiased;
	transition: transform .18s ease;
	overflow: hidden;
	box-shadow: 0.716px 40.994px 24.5px rgba(0, 0, 0, 0.4);
}

/* Capa degradada animada: solo el anillo exterior */
.btnAgendar::before {
	content: "";
	position: absolute;
	/* tamaño ligeramente mayor que el botón para crear el anillo */
	top: -10px;
	right: -10px;
	bottom: -10px;
	left: -10px;
	z-index: -2;
	border-radius: 45px;
	/* 35px (botón) + 10px */
	/* degradado que rota */
	background: #37aaff;
	/* suavizado ligero: ojo con valores muy grandes (no uses >6-8px) */
	filter: blur(4px);
	transform-origin: center;
	animation: rotateGradient 3.2s linear infinite;
	pointer-events: none;
}

/* Capa que cubre el centro (hace de "máscara"): deja visible solo el anillo */
.btnAgendar::after {
	content: "";
	position: absolute;
	/* inset positivo => más pequeña que el botón (deja espacio para el anillo) */
	top: 3px;
	right: 3px;
	bottom: 3px;
	left: 3px;
	z-index: -1;
	border-radius: 29px;
	/* 35 - 6 */
	/* mismo fondo interior para que el centro se vea idéntico al botón */
	background-image: linear-gradient(0deg, #3e6cd5 0%, #37aaff 99%, #37aaff 100%);
	box-shadow: inset 0 6px 18px rgba(0, 0, 0, 0.12);
	pointer-events: none;
}

/* Animación */
@keyframes rotateGradient {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Hover: elevación ligera; pausa la animación si quieres */
.btnAgendar:hover {
	transform: translateY(-2px);
}

.btnAgendar:hover::before {
	animation-play-state: paused;
}

/* Reduce motion accessibility */
@media (prefers-reduced-motion: reduce) {
	.btnAgendar::before {
		animation: none;
		filter: blur(2px);
	}

	.btnAgendar {
		transition: none;
		transform: none;
	}
}


.avaladosLogos img {
	width: 30%;
	display: inline-block;
	padding: 0px 14px;
}

.descuentosCita p {
	font-size: 16px;
	font-weight: 500;
	color: var(--color-gris);
}

.descuentosCita ul li {
	font-size: 16px;
	font-weight: 500;
	display: block;
	list-style: none;
	color: var(--color-gris);
	padding: 10px 0px;
}

.descuentosCita ul li img {
	float: left;
	margin-right: 10px;
	width: 40px;
	margin-top: 5px;
}

.descuentosCita ul li h3 {
	display: inline-block;
	color: var(--color-gris);
	font-size: 16px;
}

.card-morado {
	padding-top: 40px;
	border-radius: 25px;
	filter: drop-shadow(-0.609px 4.963px 15px rgba(0, 0, 0, 0.25));
	background-color: var(--color-morado-claro);
}

.icono-card-morado {
	position: absolute;
	max-width: 80px;
	top: 0;
	left: 50%;
	z-index: 3;
	transform: translate(-50%, -50%);
	border-radius: 25px;
	filter: drop-shadow(-0.609px 4.963px 7.5px rgba(0, 0, 0, 0.25));
	background-color: var(--color-morado);

	& img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
		aspect-ratio: 1/1;
		max-width: 150px;
	}
}

.foto-testimonio {
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	aspect-ratio: 1/1;
	border-radius: 20px;
	box-shadow: -0.609px 4.963px 10px rgba(0, 0, 0, 0.3);
}

.agendarCita {}

.btnSede {
	width: 100%;
	border-radius: 5px;
	/*border:1px solid #212529;*/
	background: #212529;
	color: #fff;
	font-size: 19px;
	font-weight: 500;
	display: inline-block;
	line-height: 43px;
	min-height: 55px;
	margin-bottom: 15px;
	box-shadow: 0px 2px 4px -1px var(--color-azul);
}

.btnSede span {
	display: inline-block;
	vertical-align: middle;
	line-height: 20px;
}

.btnSede:hover {
	color: var(--color-azul);
	box-shadow: 0px 4px 5px -2px #3c3c3c;
}

.titleProceso {
	font-size: 46px;
	font-weight: 600;
}

.titleProceso strong {
	font-size: 52px;
	color: var(--color-azul);
}

#procesoCurso h3 {
	font-size: 16px;
	color: var(--color-azul-oscuro);
}

#procesoCurso img {
	max-width: 80px;
}

#procesoCurso p {
	font-size: 17px;
}

.titleH3 strong {
	font-size: 30px;
	color: var(--color-azul);
}

.testimonio img {
	width: 25%;
	display: inline-block;
	vertical-align: bottom;
	background-clip: padding-box, border-box;
	border: double 4px transparent;
	border-radius: 80px;
	background-image: linear-gradient(to bottom, #b7d600 0%, #3a4ed5 100%), radial-gradient(circle at top left, #cadb00, #00d3fe);
}

.testimonio p {
	width: 70%;
	display: inline-block;
	margin: 0px;
	padding: 10px 0px 10px 10px;
	vertical-align: top;
}

.testimonio span {
	display: block;
	color: var(--color-azul);
	font-size: 15px;
}

/*Style acordion*/
.accordion {
	margin-top: 7px;
}

.accordionBtn {
	background-color: #f7f6f6;
	color: #444;
	font-size: 18px;
	font-weight: 500;
	cursor: pointer;
	padding: 18px;
	width: 100%;
	text-align: center;
	border: none;
	outline: none;
	transition: 0.4s;
}

.accordionBtn span {
	display: inline-block;
	width: 90%;
}

.accordionBtn:after {
	content: '\271A';
	/* Unicode character for "plus" sign (+) */
	font-size: 16px;
	float: right;
	margin-left: 5px;
	font-weight: 900;
}

.activeAcordion,
.accordionBtn:hover {
	background-color: #eee;
}

.activeAcordion:after {
	content: "\2716";
	/* Unicode character for "minus" sign (-) */
	font-weight: 900;
}

.accordionContent {
	padding: 10px 18px 20px;
	background-color: white;
	display: none;
	overflow: hidden;
	text-align: justify;
	font-weight: 500;
}

#descuentoVideo p strong {
	color: var(--color-azul);
}

.modalCitas .close {
	position: absolute;
	background-color: var(--yellow);
	border-radius: 100%;
	padding: 0px 10px;
	right: -17px;
	top: -13px;
	font-size: 40px;
	opacity: 1;
	color: #fff;
	z-index: 9999;
}

.modalCitas .modal-body {
	padding: 0px;
	height: 100%;
}

.modalCitas iframe {
	height: 90vh;
}

.footerWrapper .postSimilares a:hover {
	text-decoration: none;
}

.linkDecorationNone {
	color: initial;
	text-decoration: none;

	&:hover {
		text-decoration: none;
	}
}

.link-mas {
	color: #58595b;
	font-size: 18px;
}

.footerMenu #menuFooter {
	width: 100%;
}

.footerMenu #menuFooter li {
	padding: 0px 10px;
}

.footerMenu #menuFooter li a {
	text-decoration: none;
	color: #000;
	font-weight: 500;
	font-size: 16px;
}


/* Single Blog */
.headerCurso img {
	max-width: 180px;
}

.bannerSingle {
	background: #f7f6f6;
}

.bannerSingle h1 {
	text-transform: uppercase;
	font-size: 35px;
	/*color: var(--color-azul);*/
}

.centerVertical {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.btnSingle {
	font-size: 18px;
	padding: 2px 15px;
	color: #fff !important;
	text-decoration: none !important;
}

.postSimilares p {
	color: var(--color-blanco);
	text-align: left;
	font-size: 18px;
	border-radius: 0 0 10px 10px;
}

.footerWrapper {
	background: #f7f6f6;
}


/* Mapa */
ul.listSedes {
	max-height: 300px;
	overflow: hidden;
	overflow-y: scroll;
	scrollbar-color: var(--color-naranja) var(--color-morado-claro);
	scrollbar-width: thin;

}

ul.listSedes li {
	position: relative;
	padding: 6px 0px 15px 38px;
	margin-bottom: 15px;
	cursor: pointer;
	list-style: none;
	background-image: url(../images/elements/pointer-sede.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 35px;
	background-position-y: 13px;
	background-position-x: 0px;
}

ul.listSedes li::after {
	content: "";
	position: absolute;
	top: 0px;
	right: 10px;
	bottom: 0px;
	padding: 0px 0 0px 45px;
	list-style: none;
	background-image: url(../images/elements/flecha.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50px;
}


ul.listSedes li a {
	color: var(--color-negro);
}

ul.listSedes li address {
	width: 50%;
	display: inline-block;
	vertical-align: text-top;
	margin: 0px;
	padding: 0px;
}

ul.listSedes li address h3 {
	font-size: 19px;
	padding-bottom: 2px;
}

ul.listSedes li address p {
	font-size: 12px;
	margin: 0px;
}

ul.listSedes li img {
	width: 30%;
	display: inline-block;
}

ul.listSedes li span {
	display: block;
	font-size: 14px;
}


.agendaSection .cont-mapa {
	width: 100% !important;
	height: 100%;
	border-radius: 30px;
	background: #e0e0e0;
	box-shadow: 7px 7px 14px #a8a8a8,
		-7px -7px 14px var(--color-morado);
}

.custom-marker {
	display: block;
	border: none;
	cursor: pointer;
	padding: 0;
	background-image: url("../images/elements/pointer-sede2.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 25px;
	height: 40px;
}

.custom-marker svg {
	display: none;
}

.maplibregl-popup-content {
	background: var(--color-morado) !important;
	border-radius: 0 0 15% 15% !important;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .1) !important;
	padding: 30px 20px !important;
	color: #fff;
	width: 110%;
}

.maplibregl-popup-content h3 {
	text-transform: uppercase;
	color: var(--color-dorado);
	font-size: 18px;
}

.maplibregl-popup-content span {
	font-weight: 800;
}

.maplibregl-popup-content a {
	font-weight: 700;
	color: var(--color-dorado);
}

.maplibregl-popup-content .text-white {
	font-weight: 700;
	color: #fff;
}

.maplibregl-popup-anchor-bottom .maplibregl-popup-tip {
	border-top-color: var(--color-morado) !important;

}

.li-activo {
	background-color: var(--color-morado-claro);
}

#Agendar-curso-comparendo .select2-container {
	max-width: 100%;
}



/* PAGE-GRACIAS*/



#img-superior,
#img-inferior {
	display: none;
}

#page-gracias #check {
	display: block;
	margin: 0 auto;
	width: 100px;
}

#page-gracias #tk {
	font-size: clamp(22px, 7.8px + 2.6vw, 100px);
}

#page-gracias h1 {
	color: yellow;
	font-size: clamp(22px, 7.8px + 3vw, 100px);
}

#page-gracias #texto-info {
	font-size: clamp(14px, 4px + 1vw, 30px);
}

.background-detalles-cita {

	background: url(../images/gracias/Inferior.png) no-repeat center center;
	background-size: cover;
	color: #fff;
	z-index: 2;
}


#detalles-cita {
	margin-top: 3%;
	padding-bottom: 1%;
}

#detalles-cita strong {
	font-size: 24px;
}

#detalles-cita #mascota-cursos {
	position: absolute;
	top: -59%;
	left: 75%;
	z-index: 1;
}

#detalles-cita .container-xl {
	background-color: transparent;
}

#detalles-cita #info {
	margin-top: 5%;
}

#detalles-cita #datos {
	font-weight: bold !important;
}

#botones {
	margin-top: 5%;
}

#btnDescargarCita {
	margin-top: 15px !important;
}

#btnDescargarCita,
#btnEscribenos {
	font-weight: bold;
	color: #165185;
	background-color: #d3d93b;
	font-size: x-large;
}

/* ======================
   Cards Paquetes
======================== */
.card-paquete {
	background: #fff;
	border-radius: 25px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
	position: relative;
	min-height: 370px;
	transition: box-shadow 0.3s;
}

.card-paquete .paquete-titulo {
	border-radius: 15px;
	filter: drop-shadow(0px 3px 8px rgba(74, 84, 87, 0.25));
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 1.2rem;
	background: linear-gradient(90deg, #00d3ff 60%, #0098b8 100%);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.card-paquete .paquete-body {
	margin-bottom: 1.2rem;
}

.card-paquete .paquete-leads {
	font-size: 2.2rem;
	font-weight: 800;
	margin-bottom: 0.5rem;
}

.card-paquete .paquete-efectivos {
	font-size: 1.1rem;
	color: #666;
	margin-bottom: 1.2rem;
}

.card-paquete .paquete-precio {
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-azul);
	margin-bottom: 0.5rem;
}

.card-paquete .paquete-precio-detalle {
	font-size: 1rem;
	color: #888;
}

.btn-paquete-select {
	bottom: -30px;
	border-radius: 20px;
	font-weight: 600;
	font-size: 1.1rem;
	padding: 0.5rem 1rem;
	background: linear-gradient(90deg, #b7d600 0%, #cadb00 100%);
	color: #fff;
	border: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	position: relative;
	z-index: 2;
	transition: background 0.2s, box-shadow 0.2s;
}

.btn-paquete-select.btn-silver {
	background: linear-gradient(90deg, #bfc9d6 0%, #e2eafc 100%);
	color: #333;
}

.btn-paquete-select.btn-gold {
	background: linear-gradient(90deg, #ffd700 0%, #ffb700 100%);
	color: #333;
}

.btn-paquete-select:active,
.btn-paquete-select:focus {
	outline: none;
	box-shadow: 0 0 0 3px #00d3ff44;
}

/* Cintas animadas */
.paquete-cinta {
	position: absolute;
	top: -2px;
	left: -2px;
	width: 60px;
	height: 110px;
	z-index: 3;
	clip-path: polygon(0 35%, 35% 0, 100% 0, 0% 100%);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.cinta-plus {
	background: linear-gradient(120deg, #617201 0%, #cadb00 60%, #62ff00 100%);
	animation: cinta-esmeralda 2.5s linear infinite;
}

.cinta-silver {
	background: linear-gradient(120deg, #656a71 0%, #e2eafc 60%, #8a919a 100%);
	animation: cinta-silver 2.5s linear infinite;
}

.cinta-gold {
	background: linear-gradient(120deg, #ffd700 0%, #ffb700 60%, #ffd700 100%);
	animation: cinta-gold 2.5s linear infinite;
}

@keyframes cinta-esmeralda {
	0% {
		filter: brightness(1) drop-shadow(0 0 8px #617201);
	}

	50% {
		filter: brightness(1.3) drop-shadow(0 0 18px #00d3ff);
	}

	100% {
		filter: brightness(1) drop-shadow(0 0 8px #62ff00);
	}
}

@keyframes cinta-silver {
	0% {
		filter: brightness(1) drop-shadow(0 0 8px #6b727b);
	}

	50% {
		filter: brightness(1.3) drop-shadow(0 0 18px #b4bac6);
	}

	100% {
		filter: brightness(1) drop-shadow(0 0 8px #595d62);
	}
}

@keyframes cinta-gold {
	0% {
		filter: brightness(1) drop-shadow(0 0 8px #ffd700);
	}

	50% {
		filter: brightness(1.3) drop-shadow(0 0 18px #ffb700);
	}

	100% {
		filter: brightness(1) drop-shadow(0 0 8px #ffd700);
	}
}

.card-paquete.activo {
	transform: scale(1.05);
}

/* Brillo animado al seleccionar */
.paquete-brillo {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 25px;
	pointer-events: none;
	opacity: 0;
	z-index: 1;
	transition: opacity 0.4s;
}

.brillo-plus.activo {
	opacity: 1;
	animation: brillo-plus 1.2s linear both;
}

.brillo-silver.activo {
	opacity: 1;
	animation: brillo-silver 1.2s linear both;
}

.brillo-gold.activo {
	opacity: 1;
	animation: brillo-gold 1.2s linear both;
}

@keyframes brillo-plus {
	0% {
		box-shadow: 0 0 0 0 #00d3ff25, 0 0 0 0 #0098b844;
	}

	40% {
		box-shadow: 0 0 15px 7.5px #00d3ff85, 0 0 10px 5px #0098b83c;
	}

	100% {
		box-shadow: 0 0 15px 7.5px #00d3ff25, 0 0 10px 5px #0098b83c;
	}
}

@keyframes brillo-silver {
	0% {
		box-shadow: 0 0 0 0 #00d3ff25, 0 0 0 0 #0098b844;
	}

	40% {
		box-shadow: 0 0 15px 7.5px #00d3ff85, 0 0 10px 5px #0098b83c;
	}

	100% {
		box-shadow: 0 0 15px 7.5px #00d3ff25, 0 0 10px 5px #0098b83c;
	}
}

@keyframes brillo-gold {
	0% {
		box-shadow: 0 0 0 0 #00d3ff25, 0 0 0 0 #0098b844;
	}

	40% {
		box-shadow: 0 0 15px 7.5px #00d3ff85, 0 0 10px 5px #0098b83c;
	}

	100% {
		box-shadow: 0 0 15px 7.5px #00d3ff25, 0 0 10px 5px #0098b83c;
	}
}

/* Colores extra para textos */
.text-morado {
	color: #5a2ca0 !important;
}

.text-azul-brillante {
	color: #00d3ff !important;
}

.bg-azul-brillante {
	background: linear-gradient(90deg, #00d3ff 60%, #0098b8 100%) !important;
}

@media (max-width: 767px) {
	.card-paquete {
		min-height: 340px;
		padding: 1.2rem 0.5rem 1.2rem 0.5rem;
	}

	.card-paquete .paquete-titulo {
		font-size: 1.1rem;
	}

	.card-paquete .paquete-leads {
		font-size: 1.5rem;
	}

	.card-paquete .paquete-precio {
		font-size: 1.3rem;
	}
}

.woow-contenedor-comprar-paquete {
	border-radius: 25px;
	border: solid 2px var(--color-verde);
}

.woow-contenedor-formulario {
	border-right: solid 2px var(--color-verde);
}

.woow-contenedor-formulario .form-control {
	background: rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 20px;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.3);
	box-shadow:
		0 8px 32px rgba(0, 0, 0, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.5),
		inset 0 -1px 0 rgba(255, 255, 255, 0.1),
		inset 0 0 12px 6px rgba(255, 255, 255, 0.6);
	position: relative;
	overflow: hidden;

	&::placeholder {
		color: #dbdbdb;
	}

	&:focus {
		outline: none;
		border-color: var(--color-verde);
		box-shadow: 0 0 0 3px rgba(0, 211, 255, 0.3);
	}

	&:disabled {
		background: rgba(255, 255, 255, 0.3);
		color: rgba(255, 255, 255, 0.5);
		border-color: rgba(255, 255, 255, 0.3);
		box-shadow: none;
		cursor: not-allowed;
	}

	& option {
		color: var(--color-azul-oscuro);
	}

	& option:checked {
		background-color: #e0e0e0;
	}
}

.woow-contenedor-formulario .form-control::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg,
			transparent,
			rgba(255, 255, 255, 0.8),
			transparent);
}

.woow-contenedor-formulario .form-control::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: linear-gradient(180deg,
			rgba(255, 255, 255, 0.8),
			transparent,
			rgba(255, 255, 255, 0.3));
}

@media print {

	.main-gracias header img,
	#detalles-cita #mascota-cursos,
	#btnDescargarCita,
	#dudas {
		display: none;
	}

	.main-gracias,
	#detalles-cita {
		background: white !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		margin: 0 auto !important;
	}

	#img-superior,
	#img-inferior {
		position: absolute;
		z-index: 1;
		display: block !important;
	}

	#page-gracias #tk {
		font-size: 60px !important;
		color: #165185;
		margin-top: 15%;
	}

	#page-gracias #tk-2 {
		font-size: 75px !important;
		color: #d3d93b !important;
	}

	#page-gracias article {
		background: transparent !important;
		box-shadow: none !important;
	}

	#page-gracias .centerVertical {
		padding: 20px !important;
		page-break-inside: avoid;
	}

	#page-gracias #texto-info {
		margin-top: 20px;
		text-align: center !important;
		font-size: x-large !important;
	}

	#page-gracias h1,
	#page-gracias p,
	#page-gracias strong {
		color: black !important;
		text-shadow: none !important;
	}

	#detalles-cita .background-detalles-cita {
		background: none;
	}

	#detalles-cita .col-md-6 {
		flex: 0 0 33.333% !important;
		max-width: 33.333% !important;
		display: flex !important;
		align-items: center !important;
		page-break-inside: avoid;
	}

	#detalles-cita .col-md-6 img {
		margin-top: 30px;
		margin-right: 30px;
	}

	#detalles-cita #datos {
		font-size: 35px !important;
		font-weight: bold !important;
		color: #165185 !important;
	}

	#detalles-cita .datos-usuario {
		font-size: 20px !important;
		color: black !important;
		line-height: 1.3 !important;
	}

	#detalles-cita #btnEscribenos {
		position: relative;
		top: 400px;
		right: 300px;
		color: transparent;
		background-color: transparent;
		width: 300px;
		z-index: 0;
	}
}

.mensaje-lateral {
	position: fixed;
	bottom: 20px;
	left: 20px;
	width: 29vw;
	background-color: white;
	border-radius: 10px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	z-index: 9999;

}

.mensaje-lateral .cerrar-mensaje {
	position: absolute;
	top: -15%;
	right: -5%;
	background: none;
	border: none;
	font-size: 20px;
	cursor: pointer;
	z-index: 99999;
	background: #e5e5e5;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	border-radius: 10px;
	padding: 5px 12px;
}

.mensaje-lateral .row {
	margin: 0;
}

.mensaje-lateral .col-6,
.mensaje-lateral .col-6 {
	padding: 0;
}

.mensaje-lateral .titulo-mensaje {
	font-size: 16px;
	font-weight: bold;
}

.mensaje-lateral .texto-mensaje {
	font-size: 14px;

	& p {
		font-size: 14px;
		margin: 0;
		margin-bottom: 0;
	}
}

.mensaje-lateral .btn-mensaje {
	margin-top: 10px;
}

.contenedor-imagen-mensaje {
	overflow: hidden;
	max-height: 150px;
	border-radius: 10px 0 0 10px;
}

.contenedor-imagen-mensaje img {
	aspect-ratio: 16/9;
	object-fit: cover;
	object-position: center;
	height: 100%;
}

.texturaBanner {
	background-image: url(../images/pages/home/textura.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}