.cbv2-pagina .e-con[class*="cbv2-"] { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --margin-top: 0px; --margin-bottom: 0px; --width: 100%; }
.cbv2-pagina [class*="cbv2-"] .elementor-heading-title { font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; margin: 0; padding: 0; white-space: inherit;

	font-size: inherit !important; line-height: inherit !important; text-align: inherit !important; }

body.cbv2-pagina { margin: 0; }
.cbv2-pagina *, .cbv2-pagina *::before, .cbv2-pagina *::after { box-sizing: border-box; }
.cbv2-pagina a { text-decoration: none; }
.cbv2-pagina [hidden] { display: none !important; }
.cbv2-pagina img { max-width: 100%; height: auto; }

.cbv2-pagina .page-content > .container { max-width: none; width: 100%; padding-left: 0; padding-right: 0; }
.cbv2-pagina [class*="cbv2-"] { text-align: left; }
.cbv2-pagina .elementor-widget-text-editor[class*="cbv2-"] p { margin: 0; }
.cbv2-pagina .elementor-widget-image[class*="cbv2-"] img { max-width: none; }
.cbv2-pagina main, .cbv2-pagina .elementor-27, .cbv2-pagina .elementor-3141, .cbv2-pagina .elementor-3142 { background: var(--blanco-calido); }

.cbv2-pagina a.cbv2-enlace, .cbv2-pagina .cbv2-enlace { color: var(--azul-principal); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; display: inline; position: relative; }
.cbv2-pagina .wpcf7-acceptance a { position: relative; }
.cbv2-pagina .cbv2-enlace::after, .cbv2-pagina .wpcf7-acceptance a::after { content: ""; position: absolute; left: -4px; right: -4px; top: 50%; height: var(--tactil-min); transform: translateY(-50%); }
.cbv2-pagina .cbv2-cierre-mini, .cbv2-pagina .cbv2-cierre-mini [class*="cbv2-"] { text-align: center; }
.cbv2-pagina .cbv2-seccion.cbv2-cierre-mini { padding-top: 8px; padding-bottom: 28px; }
.cbv2-pagina .cbv2-seccion.cbv2-mas { padding-bottom: 0; }
@media (max-width: 1024px) { .cbv2-pagina .cbv2-carrusel .swiper-slide img, .cbv2-pagina .cbv2-carrusel .elementor-image-carousel img { aspect-ratio: 16 / 10; } }
.cbv2-pagina .cbv2-mas__enlaces, .cbv2-pagina .cbv2-mas__enlaces p { text-align: center; }
.cbv2-pagina .cbv2-fecha__dia, .cbv2-pagina .cbv2-fecha__mes { display: block; }
.cbv2-pagina .cbv2-quien { gap: 18px; }
.cbv2-pagina .cbv2-quien__texto { display: flex; flex-direction: column; gap: 8px; }
.cbv2-pagina .cbv2-docente__texto p { line-height: 1.3; }

@media (max-width: 1024px) { body.cbv2-pagina { padding-bottom: 72px; } }

.cbv2-pagina .cbv2-entrada {
	font-family: var(--font-inst);
	font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
	color: var(--azul-profundo); margin: 0;
}
.cbv2-pagina .cbv2-entrada--azul { color: var(--azul-principal); }
.cbv2-pagina .cbv2-titular, h1.cbv2-titular {
	font-family: var(--font-inst);
	font-size: 48px; line-height: .98; font-weight: 700; letter-spacing: -.035em;
	color: var(--azul-marino); margin: 0;
}
.cbv2-pagina .cbv2-subrayado { box-shadow: inset 0 -7px 0 var(--dorado); }
.cbv2-pagina .cbv2-emocional, .cbv2-pagina .cbv2-emocional {
	font-family: var(--font-emocional);
	font-style: italic; font-weight: 500; font-size: 29px; line-height: 1.05;
	color: var(--azul-marino); margin: 0;
}
.cbv2-pagina .cbv2-frase, .cbv2-pagina .cbv2-frase {
	font-family: var(--font-emocional);
	font-weight: 500; font-size: 30px; line-height: 1.08; color: var(--azul-marino);
	text-wrap: pretty; margin: 0;
}
.cbv2-pagina .cbv2-h2, h2.cbv2-h2 {
	font-family: var(--font-inst);
	font-size: 21px; font-weight: 700; letter-spacing: -.01em; color: var(--azul-marino); margin: 0;
}
.cbv2-pagina .cbv2-datos, .cbv2-pagina .cbv2-datos p {
	font-family: var(--font-inst);
	font-size: 14px; font-weight: 600; line-height: 1.55; color: var(--texto); margin: 0;
}
.cbv2-pagina .cbv2-texto-2, .cbv2-pagina .cbv2-texto-2 p { color: var(--cbv2-texto-2); font-size: 15px; line-height: 1.6; margin: 0; }
@media (min-width: 1025px) {
	.cbv2-pagina .cbv2-entrada { font-size: 12px; letter-spacing: .2em; }
	.cbv2-pagina .cbv2-titular, h1.cbv2-titular { font-size: 76px; line-height: .96; letter-spacing: -.04em; white-space: nowrap; }
	.cbv2-pagina .cbv2-subrayado { box-shadow: inset 0 -9px 0 var(--dorado); }
	.cbv2-pagina .cbv2-emocional, .cbv2-pagina .cbv2-emocional { font-size: 46px; line-height: 1.04; }
	.cbv2-pagina .cbv2-frase, .cbv2-pagina .cbv2-frase { font-size: 46px; line-height: 1.05; }
	.cbv2-pagina .cbv2-h2, h2.cbv2-h2 { font-size: 34px; letter-spacing: -.02em; }
	.cbv2-pagina .cbv2-datos, .cbv2-pagina .cbv2-datos p { font-size: 17px; line-height: 1.6; }
}

.cbv2-pagina .cbv2-botones { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 6px; }
.cbv2-pagina .cbv2-btn--oro .elementor-button, .cbv2-pagina a.cbv2-btn--oro,
.cbv2-pagina .cbv2-btn--azul .elementor-button, .cbv2-pagina a.cbv2-btn--azul,
.cbv2-pagina .cbv2-btn--linea .elementor-button, .cbv2-pagina a.cbv2-btn--linea {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: var(--tactil-min); padding: 13px 20px; border-radius: var(--r-pill);
	font-family: var(--font-inst); font-size: 14px; line-height: 1.2; white-space: nowrap;
	text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; column-gap: .3em;
}

.cbv2-pagina .cbv2-btn--oro .elementor-button, .cbv2-pagina a.cbv2-btn--oro {
	background: var(--grad-dorado-cta); color: var(--azul-marino); font-weight: 800; border: 0;
}

.cbv2-pagina .cbv2-btn--azul .elementor-button, .cbv2-pagina a.cbv2-btn--azul {
	background: var(--azul-marino); color: var(--blanco-calido); font-weight: 700; border: 1.5px solid var(--azul-marino);
}
.cbv2-pagina .cbv2-btn--linea .elementor-button, .cbv2-pagina a.cbv2-btn--linea {
	background: transparent; color: var(--azul-marino); font-weight: 700; border: 1.5px solid var(--azul-marino);
}
.cbv2-pagina .cbv2-btn--oro .elementor-button:hover, .cbv2-pagina a.cbv2-btn--oro:hover,
.cbv2-pagina .cbv2-btn--azul .elementor-button:hover, .cbv2-pagina a.cbv2-btn--azul:hover,
.cbv2-pagina .cbv2-btn--linea .elementor-button:hover, .cbv2-pagina a.cbv2-btn--linea:hover { transform: translateY(-1px); box-shadow: var(--sombra-1); }
.cbv2-pagina .cbv2-btn--oro .elementor-button:focus-visible, .cbv2-pagina a.cbv2-btn--oro:focus-visible,
.cbv2-pagina .cbv2-btn--azul .elementor-button:focus-visible, .cbv2-pagina a.cbv2-btn--azul:focus-visible,
.cbv2-pagina .cbv2-btn--linea .elementor-button:focus-visible, .cbv2-pagina a.cbv2-btn--linea:focus-visible { outline: 0; box-shadow: var(--foco); }
.cbv2-pagina .cbv2-btn--bloque .elementor-button, .cbv2-pagina a.cbv2-btn--bloque { display: flex; width: 100%; border-radius: var(--r-m); padding: 16px; font-size: 15px; }
@media (min-width: 1025px) {
	.cbv2-pagina .cbv2-botones { gap: 10px; padding-top: 8px; }
	.cbv2-pagina .cbv2-btn--oro .elementor-button, .cbv2-pagina a.cbv2-btn--oro,
	.cbv2-pagina .cbv2-btn--azul .elementor-button, .cbv2-pagina a.cbv2-btn--azul,
	.cbv2-pagina .cbv2-btn--linea .elementor-button, .cbv2-pagina a.cbv2-btn--linea { font-size: 15px; padding: 16px 28px; }
}

.cbv2-pagina .cbv2-hero { position: relative; background: var(--cbv2-estudio); padding-bottom: 30px; overflow: hidden; }
.cbv2-pagina .cbv2-hero__foto img {
	display: block; width: 100%; height: 470px; object-fit: cover; object-position: 50% 8%;
	-webkit-mask-image: linear-gradient(180deg, black 55%, transparent 96%);
	mask-image: linear-gradient(180deg, black 55%, transparent 96%);
}

.cbv2-pagina .cbv2-hero--bn .cbv2-hero__foto img { filter: grayscale(1); }
.cbv2-pagina .cbv2-hero__texto { position: relative; margin-top: -120px; padding: 0 var(--cbv2-gutter); display: flex; flex-direction: column; gap: 12px; }
.cbv2-pagina .cbv2-hero__firma { display: none; }
.cbv2-pagina .cbv2-hero--landing { background: transparent; padding-bottom: 8px; }
.cbv2-pagina .cbv2-hero--landing .cbv2-hero__foto img { height: 380px; object-position: 52% 20%;
	-webkit-mask-image: linear-gradient(180deg, black 62%, transparent 100%);
	mask-image: linear-gradient(180deg, black 62%, transparent 100%); }
.cbv2-pagina .cbv2-hero--landing .cbv2-hero__texto { margin-top: -40px; }
@media (min-width: 1025px) {
	.cbv2-pagina .cbv2-hero { height: 640px; padding-bottom: 0;
		background: radial-gradient(120% 90% at 70% 40%, color-mix(in srgb, var(--texto) 11%, var(--blanco-calido)) 0%, var(--cbv2-estudio) 60%, color-mix(in srgb, var(--texto) 19%, var(--blanco-calido)) 100%); }
	.cbv2-pagina .cbv2-hero__foto { position: absolute; right: 16px; top: 0; width: 600px; }
	.cbv2-pagina .cbv2-hero__foto img { width: 600px; height: 750px; object-position: 50% 0%;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, black 22%, black 82%, transparent 100%), linear-gradient(180deg, black 70%, transparent 100%);
		-webkit-mask-composite: source-in;
		mask-image: linear-gradient(90deg, transparent 0%, black 22%, black 82%, transparent 100%), linear-gradient(180deg, black 70%, transparent 100%);
		mask-composite: intersect; }
	.cbv2-pagina .cbv2-hero__texto { position: absolute; left: var(--cbv2-gutter); top: 0; bottom: 0; width: 600px; margin: 0; padding: 0; justify-content: center; gap: 16px; }
	.cbv2-pagina .cbv2-hero__firma { display: block; position: absolute; right: 64px; bottom: 28px; text-align: right;
		font-size: 12px; font-weight: 600; line-height: 1.5; color: var(--texto); margin: 0; }
}

.cbv2-pagina .cbv2-seccion { padding: 44px var(--cbv2-gutter) 12px; display: flex; flex-direction: column; gap: 18px; }
.cbv2-pagina .cbv2-seccion__cabeza { display: flex; flex-direction: column; gap: 8px; }
@media (min-width: 1025px) {
	.cbv2-pagina .cbv2-seccion { padding: 88px var(--cbv2-gutter) 72px; gap: 32px; max-width: calc(var(--ancho-max) + 2 * var(--cbv2-gutter)); margin: 0 auto; }
	.cbv2-pagina .cbv2-seccion__cabeza { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 40px; }
	.cbv2-pagina .cbv2-seccion__cabeza .cbv2-texto-2 { max-width: 420px; }
}

.cbv2-pagina .cbv2-banda-azul { background: var(--grad-sobrio); color: var(--blanco-calido); }
.cbv2-pagina .cbv2-banda-azul .cbv2-entrada, .cbv2-pagina .cbv2-banda-azul .cbv2-entrada { color: var(--azul-luminoso); }
.cbv2-pagina .cbv2-banda-azul .cbv2-frase, .cbv2-pagina .cbv2-banda-azul .cbv2-frase, .cbv2-pagina .cbv2-banda-azul .cbv2-h2, .cbv2-pagina .cbv2-banda-azul .cbv2-docente__nombre { color: var(--blanco-calido); }
.cbv2-pagina .cbv2-banda-azul .cbv2-docente__cargo, .cbv2-pagina .cbv2-banda-azul .cbv2-texto-2, .cbv2-pagina .cbv2-banda-azul .cbv2-texto-2 p { color: color-mix(in srgb, var(--blanco-calido) 78%, var(--azul-marino)); }

.cbv2-pagina .cbv2-tarjetas { display: flex; flex-direction: column; gap: 12px; }
.cbv2-pagina .cbv2-tarjeta {
	display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 14px;
	background: var(--blanco-calido); border: 1px solid var(--cbv2-borde); border-radius: 16px; padding: 10px;
	color: inherit; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cbv2-pagina .cbv2-tarjeta:hover { transform: translateY(-2px); box-shadow: var(--sombra-1); border-color: var(--cbv2-borde-fuerte); }
.cbv2-pagina .cbv2-tarjeta:focus-visible { outline: 0; box-shadow: var(--foco); }
.cbv2-pagina .cbv2-tarjeta__foto { position: relative; }
.cbv2-pagina .cbv2-tarjeta__foto img { display: block; width: 118px; height: 150px; object-fit: cover; border-radius: 10px; }
.cbv2-pagina .cbv2-tarjeta__cuerpo { display: flex; flex-direction: column; gap: 5px; padding: 4px 4px 4px 0; }
.cbv2-pagina .cbv2-tarjeta__etiqueta { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--azul-principal); }
.cbv2-pagina .cbv2-tarjeta__nombre { font-family: var(--font-emocional); font-size: 26px; font-weight: 600; line-height: 1; color: var(--azul-marino); }
.cbv2-pagina .cbv2-tarjeta__detalle { font-size: 13px; line-height: 1.45; color: var(--cbv2-texto-2); }
.cbv2-pagina .cbv2-tarjeta__precio { font-size: 13px; font-weight: 700; color: var(--azul-principal); margin-top: auto; }

.cbv2-pagina .cbv2-fecha { position: absolute; left: 6px; top: 6px; background: var(--azul-marino); border-radius: 8px; padding: 5px 8px; text-align: center; line-height: 1; }
.cbv2-pagina .cbv2-fecha__dia { font-size: 17px; font-weight: 800; color: var(--blanco-calido); }
.cbv2-pagina .cbv2-fecha__mes { font-size: 9px; font-weight: 800; letter-spacing: .1em; color: var(--azul-luminoso); padding-top: 2px; }
@media (min-width: 1025px) {
	.cbv2-pagina .cbv2-tarjetas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
	.cbv2-pagina .cbv2-tarjeta { display: flex; flex-direction: column; gap: 18px; background: transparent; border: 0; border-radius: 0; padding: 0; }
	.cbv2-pagina .cbv2-tarjeta:hover { box-shadow: none; }
	.cbv2-pagina .cbv2-tarjeta__foto img { width: 100%; height: auto; aspect-ratio: 4 / 5; border-radius: var(--cbv2-radio-foto); transition: transform .5s ease; }
	.cbv2-pagina .cbv2-tarjeta__foto { overflow: hidden; border-radius: var(--cbv2-radio-foto); }
	.cbv2-pagina .cbv2-tarjeta:hover .cbv2-tarjeta__foto img { transform: scale(1.03); }
	.cbv2-pagina .cbv2-tarjeta__cuerpo { gap: 8px; padding: 0; }
	.cbv2-pagina .cbv2-tarjeta__etiqueta { font-size: 11px; letter-spacing: .16em; }
	.cbv2-pagina .cbv2-tarjeta__nombre { font-size: 36px; }
	.cbv2-pagina .cbv2-tarjeta__detalle { font-size: 14px; line-height: 1.55; }
	.cbv2-pagina .cbv2-tarjeta__precio { font-size: 15px; padding-top: 6px; border-top: 1px solid var(--cbv2-borde); margin-top: 6px; }
	.cbv2-pagina .cbv2-fecha { left: 14px; top: 14px; border-radius: 6px; padding: 8px 11px; }
	.cbv2-pagina .cbv2-fecha__dia { font-size: 24px; }
	.cbv2-pagina .cbv2-fecha__mes { font-size: 10px; letter-spacing: .12em; }
}

.cbv2-pagina .cbv2-docentes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cbv2-pagina .cbv2-docente { display: flex; flex-direction: column; gap: 10px; }
.cbv2-pagina .cbv2-docente img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 10%; border-radius: var(--cbv2-radio-foto); }
.cbv2-pagina .cbv2-docentes--cuadrado .cbv2-docente img { aspect-ratio: 1 / 1; object-position: 50% 6%; }
.cbv2-pagina .cbv2-docente__nombre { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--azul-marino); }
.cbv2-pagina .cbv2-docente__cargo { font-size: 12px; color: var(--cbv2-texto-2); padding-top: 2px; }
.cbv2-pagina .cbv2-franja3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cbv2-borde); border-bottom: 1px solid var(--cbv2-borde); margin-top: 8px; }
.cbv2-pagina .cbv2-franja3 > * { padding: 14px 10px; font-size: 12px; font-weight: 700; line-height: 1.35; color: var(--azul-marino); }
.cbv2-pagina .cbv2-franja3 > * + * { border-left: 1px solid var(--cbv2-borde); }
.cbv2-pagina .cbv2-banda-azul .cbv2-franja3, .cbv2-pagina .cbv2-banda-azul .cbv2-franja3 > * + * { border-color: color-mix(in srgb, var(--blanco-calido) 22%, transparent); }
.cbv2-pagina .cbv2-banda-azul .cbv2-franja3 > * { color: var(--blanco-calido); }
.cbv2-pagina .cbv2-banda-azul .cbv2-fila, .cbv2-pagina .cbv2-banda-azul .cbv2-filas { border-color: color-mix(in srgb, var(--blanco-calido) 22%, transparent); }
.cbv2-pagina .cbv2-banda-azul .cbv2-fila > :first-child { color: color-mix(in srgb, var(--blanco-calido) 72%, var(--azul-marino)); }
.cbv2-pagina .cbv2-banda-azul .cbv2-fila > :last-child { color: var(--blanco-calido); }
.cbv2-pagina .cbv2-filas { display: flex; flex-direction: column; border-top: 1px solid var(--cbv2-borde); }
.cbv2-pagina .cbv2-fila { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--cbv2-borde); font-size: 14px; }
.cbv2-pagina .cbv2-fila > :first-child { color: var(--cbv2-texto-2); }
.cbv2-pagina .cbv2-fila > :last-child { color: var(--azul-marino); font-weight: 700; text-align: right; }
@media (min-width: 1025px) {
	.cbv2-pagina .cbv2-quien { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 72px; align-items: center; }
	.cbv2-pagina .cbv2-docentes { gap: 20px; }
	.cbv2-pagina .cbv2-docente { gap: 14px; }
	.cbv2-pagina .cbv2-docente img { aspect-ratio: 4 / 5; }
	.cbv2-pagina .cbv2-docentes--escalon .cbv2-docente:nth-child(2) { margin-top: 48px; }
	.cbv2-pagina .cbv2-docente__nombre { font-size: 16px; }
	.cbv2-pagina .cbv2-docente__cargo { font-size: 13px; padding-top: 3px; }
	.cbv2-pagina .cbv2-fila { font-size: 15px; padding: 14px 0; }
}

.cbv2-pagina .cbv2-aviso, .cbv2-pagina .cbv2-aviso p {
	font-size: 12px; line-height: 1.55; color: var(--texto); opacity: 1; font-style: normal; margin: 0;
}
.cbv2-pagina .cbv2-aviso { margin: 28px 18px 0; padding: 14px 16px; background: var(--cbv2-suave); border-left: 3px solid var(--azul-principal); border-radius: var(--r-s); }
@media (min-width: 1025px) {
	.cbv2-pagina .cbv2-aviso { margin: 0 auto; max-width: var(--ancho-max); padding: 24px 32px; font-size: 13px; }
	.cbv2-pagina .cbv2-aviso p { font-size: 13px; }
}

.cbv2-pagina .cbv2-precio-bloque { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.cbv2-pagina .cbv2-pildora { font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: var(--r-pill); border: 1.5px solid var(--azul-principal); color: var(--azul-marino); white-space: nowrap; }
.cbv2-pagina .cbv2-precio-bloque__montos { display: flex; gap: 10px; align-items: baseline; }
.cbv2-pagina .cbv2-precio-bloque__actual { font-size: 30px; font-weight: 800; color: var(--azul-marino); }
.cbv2-pagina .cbv2-tachado { font-size: 15px; color: var(--cbv2-texto-2); text-decoration: line-through; }
.cbv2-pagina .cbv2-precio { background: var(--blanco-calido); border: 1px solid var(--cbv2-borde); border-radius: 18px; overflow: hidden; margin: 32px 18px 0; }
.cbv2-pagina .cbv2-precio::before { content: ""; display: block; height: 5px; background: var(--grad-principal); }

.cbv2-pagina .cbv2-sel { margin: 26px 18px 0; background: var(--blanco-calido); border: 1px solid var(--cbv2-borde); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.cbv2-pagina .cbv2-sel__titulo { font-size: 17px; font-weight: 700; color: var(--azul-marino); }
.cbv2-pagina .cbv2-sel__grupo { display: flex; flex-direction: column; gap: 8px; }
.cbv2-pagina .cbv2-sel__paso { font-size: 12px; font-weight: 700; color: var(--cbv2-texto-2); }
.cbv2-pagina .cbv2-sel__modos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; background: var(--cbv2-suave); padding: 4px; border-radius: var(--r-m); }
.cbv2-pagina .cbv2-sel__tramos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.cbv2-pagina .cbv2-sel__modo, .cbv2-pagina .cbv2-sel__tramo { font-family: var(--font-inst); cursor: pointer; min-height: var(--tactil-min); display: flex; flex-direction: column; align-items: center; gap: 2px; color: var(--azul-marino); transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.cbv2-pagina .cbv2-sel__modo { border: 0; padding: 12px 8px; border-radius: 9px; background: transparent; }
.cbv2-pagina .cbv2-sel__modo[aria-pressed="true"] { background: var(--blanco-calido); box-shadow: var(--cbv2-sombra-sel); }
.cbv2-pagina .cbv2-sel__tramo { padding: 12px 6px; border-radius: var(--r-m); border: 1px solid var(--cbv2-borde); background: var(--blanco-calido); }
.cbv2-pagina .cbv2-sel__tramo[aria-pressed="true"] { border: 2px solid var(--azul-principal); padding: 11px 5px; }
.cbv2-pagina .cbv2-sel__modo:focus-visible, .cbv2-pagina .cbv2-sel__tramo:focus-visible { outline: 0; box-shadow: var(--foco); }
.cbv2-pagina .cbv2-sel__modo-nombre { font-size: 15px; font-weight: 800; }
.cbv2-pagina .cbv2-sel__tramo-nombre { font-size: 14px; font-weight: 800; }
.cbv2-pagina .cbv2-sel__modo-sub, .cbv2-pagina .cbv2-sel__tramo-pp { font-size: 12px; font-weight: 600; color: var(--cbv2-texto-2); white-space: nowrap; }
.cbv2-pagina .cbv2-sel__combo { border-top: 1px solid var(--cbv2-borde); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.cbv2-pagina .cbv2-sel__combo[hidden] { display: none; }
.cbv2-pagina .cbv2-sel__cupo { align-self: flex-start; font-size: 11px; font-weight: 800; padding: 5px 10px; border-radius: var(--r-pill); }
.cbv2-pagina .cbv2-sel__cupo--ultimas { background: var(--azul-marino); color: var(--blanco-calido); }
.cbv2-pagina .cbv2-sel__cupo--agotado { background: var(--cbv2-suave); color: var(--cbv2-texto-2); }
.cbv2-pagina .cbv2-sel__pp { font-size: 40px; font-weight: 800; letter-spacing: -.02em; line-height: 1; color: var(--azul-marino); }
.cbv2-pagina .cbv2-sel__pp-sub { font-size: 14px; font-weight: 600; color: var(--cbv2-texto-2); }
.cbv2-pagina .cbv2-sel__resumen { font-size: 14px; font-weight: 600; line-height: 1.5; margin: 0; }
.cbv2-pagina .cbv2-sel__agotado { text-align: center; background: var(--cbv2-suave); color: var(--cbv2-texto-2); font-weight: 800; font-size: 15px; padding: 16px; border-radius: var(--r-m); }
.cbv2-pagina .cbv2-sel__total { align-self: center; font-size: 14px; font-weight: 700; color: var(--azul-principal); text-decoration: underline; text-underline-offset: 3px; min-height: var(--tactil-min); display: inline-flex; align-items: center; }

.cbv2-pagina .cbv2-carrusel .swiper-slide img, .cbv2-pagina .cbv2-carrusel .elementor-image-carousel img { border-radius: var(--cbv2-radio-foto); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
.cbv2-pagina .cbv2-carrusel .elementor-swiper-button { width: var(--tactil-min); height: var(--tactil-min); display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: color-mix(in srgb, var(--blanco-calido) 92%, transparent); color: var(--azul-marino); box-shadow: var(--sombra-1); font-size: 18px; }

.cbv2-pagina .cbv2-carrusel .elementor-swiper-button { color: var(--azul-marino) !important; }
.cbv2-pagina .cbv2-carrusel .elementor-swiper-button svg { width: 18px !important; height: 18px !important; fill: var(--azul-marino) !important; }
.cbv2-pagina .cbv2-carrusel .elementor-swiper-button:focus-visible { outline: 0; box-shadow: var(--foco); }
.cbv2-pagina .cbv2-carrusel .swiper-pagination-bullet-active { background: var(--azul-principal); }

.cbv2-pagina .cbv2-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; gap: 8px;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--cbv2-velo-barra);
	border-top: 1px solid var(--cbv2-borde); }
.cbv2-pagina .cbv2-barra > a { flex: 1; text-align: center; border-radius: var(--r-m); }
@media (min-width: 1025px) { .cbv2-pagina .cbv2-barra { display: none; } }

.cbv2-pagina .cbv2-barra { opacity: 0; transform: translate3d(0, 100%, 0); visibility: hidden; pointer-events: none;
	transition: opacity .3s ease, transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .3s; }
.cbv2-pagina .cbv2-barra.cbv2-barra--visible { opacity: 1; transform: none; visibility: visible; pointer-events: auto;
	transition: opacity .3s ease, transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s; }
@media (prefers-reduced-motion: reduce) { .cbv2-pagina .cbv2-barra, .cbv2-pagina .cbv2-barra.cbv2-barra--visible { transition: none; } }

.cbv2-js .cbv2-a { transition: opacity .55s cubic-bezier(.2, .7, .2, 1), transform .55s cubic-bezier(.2, .7, .2, 1); }
.cbv2-js .cbv2-a-pend { opacity: 0; transform: translate3d(0, 22px, 0); }

@media (hover: hover) and (pointer: fine) {
	.cbv2-pagina .cbv2-tarjeta { position: relative; transition: opacity .55s cubic-bezier(.2, .7, .2, 1), transform .35s cubic-bezier(.2, .7, .2, 1); }
	.cbv2-pagina .cbv2-tarjeta::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: var(--sombra-2); opacity: 0; transition: opacity .35s ease; pointer-events: none; }
	.cbv2-pagina .cbv2-tarjeta:hover { transform: translate3d(0, -4px, 0); box-shadow: none; }
	.cbv2-pagina .cbv2-tarjeta:hover::after { opacity: 1; }
	.cbv2-pagina .cbv2-tarjeta__foto, .cbv2-pagina .cbv2-docente .elementor-widget-image, .cbv2-pagina .cbv2-carrusel .swiper-slide-inner { overflow: hidden; border-radius: var(--cbv2-radio-foto); }
	.cbv2-pagina .cbv2-tarjeta__foto img, .cbv2-pagina .cbv2-docente img, .cbv2-pagina .cbv2-carrusel .swiper-slide-image { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
	.cbv2-pagina .cbv2-tarjeta:hover .cbv2-tarjeta__foto img, .cbv2-pagina .cbv2-docente:hover img, .cbv2-pagina .cbv2-carrusel .swiper-slide:hover .swiper-slide-image { transform: scale(1.05); }

	.cbv2-pagina a.cbv2-btn--oro, .cbv2-pagina a.cbv2-btn--azul, .cbv2-pagina a.cbv2-btn--linea { position: relative; overflow: hidden; }
	.cbv2-pagina a.cbv2-btn--oro::before, .cbv2-pagina a.cbv2-btn--azul::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 45%; pointer-events: none;
		background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--blanco-calido) 45%, transparent), transparent);
		transform: translate3d(-120%, 0, 0) skewX(-18deg); transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
	.cbv2-pagina a.cbv2-btn--oro:hover::before, .cbv2-pagina a.cbv2-btn--azul:hover::before { transform: translate3d(260%, 0, 0) skewX(-18deg); }
	.cbv2-pagina a.cbv2-btn--oro:hover, .cbv2-pagina a.cbv2-btn--azul:hover, .cbv2-pagina a.cbv2-btn--linea:hover { transform: translate3d(0, -2px, 0); box-shadow: none; }
}

.cbv2-pagina a.cbv2-btn--oro:active, .cbv2-pagina a.cbv2-btn--azul:active, .cbv2-pagina a.cbv2-btn--linea:active,
.cbv2-pagina .cbv2-sel__modo:active, .cbv2-pagina .cbv2-sel__tramo:active, .cbv2-pagina .cbv2-tarjeta:active { transform: scale(.97); transition-duration: .08s; }

.cbv2-pagina .cbv2-carrusel .swiper-wrapper { transition-timing-function: cubic-bezier(.4, 0, .2, 1) !important; }

@media (prefers-reduced-motion: reduce) {
	.cbv2-js .cbv2-a, .cbv2-js .cbv2-a-pend { opacity: 1; transform: none; transition: none; }
	.cbv2-pagina .cbv2-tarjeta, .cbv2-pagina .cbv2-tarjeta__foto img, .cbv2-pagina .cbv2-docente img, .cbv2-pagina .cbv2-carrusel .swiper-slide-image,
	.cbv2-pagina a.cbv2-btn--oro, .cbv2-pagina a.cbv2-btn--azul, .cbv2-pagina a.cbv2-btn--linea, .cbv2-pagina a.cbv2-btn--oro::before, .cbv2-pagina a.cbv2-btn--azul::before { transition: none !important; transform: none !important; }
}

.cbv2-pagina .cbv2-seccion.cbv2-aviso-seccion { padding-top: 0; padding-bottom: 28px; }
.cbv2-pagina .cbv2-aviso-seccion .cbv2-aviso { margin: 0; }
.cbv2-pagina .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.cbv2-pagina .cbv2-carrusel .swiper-pagination-bullet { width: var(--tactil-min) !important; height: var(--tactil-min) !important; margin: 0 !important; opacity: 1 !important; border-radius: 50%;
	background: radial-gradient(circle, var(--cbv2-borde-fuerte) 0 4px, transparent 4.5px) !important; }
.cbv2-pagina .cbv2-carrusel .swiper-pagination-bullet-active { background: radial-gradient(circle, var(--azul-principal) 0 5px, transparent 5.5px) !important; }
.cbv2-pagina .cbv2-carrusel .swiper-pagination-bullet:focus-visible { outline: 0; box-shadow: var(--foco); }
.cbv2-pagina .cbv2-carrusel .swiper-pagination { position: static; margin-top: 4px; }

html:not(.cbv2-con-js) .cbv2-pagina .cbv2-sel__grupo { display: none; }

.cbv2-pagina .cbv2-mas__enlaces .cbv2-enlace { display: inline-flex; align-items: center; min-height: var(--tactil-min); }
.cbv2-pagina .cbv2-enlace::after { z-index: 1; }
.cbv2-pagina .wpcf7-acceptance label { display: inline-flex; align-items: center; gap: 10px; min-height: var(--tactil-min); cursor: pointer; }
.cbv2-pagina .wpcf7-acceptance input[type="checkbox"] { width: 22px; height: 22px; margin: 0; flex: none; }

.cbv2-pagina .cbv2-cierre-mini .cbv2-enlace { display: inline-flex; align-items: center; min-height: var(--tactil-min); }
.cbv2-pagina .cbv2-mas__enlaces .cbv2-enlace { position: relative; z-index: 2; min-height: 48px; }
.cbv2-pagina .wpcf7-acceptance a { white-space: nowrap; }

@media (max-width: 1024px) {
	.cbv2-pagina .cbv2-hero .cbv2-titular { font-size: min(48px, 12.2vw); white-space: nowrap; }
	.cbv2-pagina .cbv2-hero__texto { min-height: 322px; }
}
@media (max-width: 400px) {
	.cbv2-pagina .cbv2-hero .cbv2-botones a.cbv2-btn--oro, .cbv2-pagina .cbv2-hero .cbv2-botones a.cbv2-btn--linea { padding-left: 14px; padding-right: 14px; font-size: 13.5px; }
}

.cbv2-pagina .wpcf7 .wpcf7-acceptance { display: block; margin-bottom: 16px; }
.cbv2-pagina .wpcf7-acceptance a::after { top: -12px; bottom: -12px; height: auto; transform: none; }

@media (max-width: 1024px) {
	.cbv2-pagina .cbv2-hero .cbv2-emocional { max-width: 300px !important; }
}

@font-face { font-family: "Manrope Fallback"; font-weight: 100 549; src: local("Arial"), local("Liberation Sans"), local("ArialMT");
	size-adjust: 99.7%; ascent-override: 106.9%; descent-override: 30.1%; line-gap-override: 0%; }
@font-face { font-family: "Manrope Fallback"; font-weight: 550 649; src: local("Arial Bold"), local("Liberation Sans Bold"), local("Arial-BoldMT");
	size-adjust: 98.1%; ascent-override: 108.7%; descent-override: 30.6%; line-gap-override: 0%; }
@font-face { font-family: "Manrope Fallback"; font-weight: 650 900; src: local("Arial Bold"), local("Liberation Sans Bold"), local("Arial-BoldMT");
	size-adjust: 99.5%; ascent-override: 107.1%; descent-override: 30.2%; line-gap-override: 0%; }
body.cbv2-pagina { --font-inst: 'Manrope', 'Manrope Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif; }
