/*--------------------------------------------------------------
>>> TABLA DE CONTENIDOS:
----------------------------------------------------------------
# Secciones
# Tipografía
# Componentes
  ## Citas y texto
  ## Características
  ## Hero
  ## Cajas
  ## Bloques
  ## Medios y vídeo
  ## Cabecera de admisión
  ## Pasos
  ## Enlaces del slider
  ## Recuerda
  ## Sabías que
  ## Admisión
  ## Grados
--------------------------------------------------------------*/

/* 
https://placeimg.com/640/700/tech 
https://placeimg.com/640/480/tech 
https://placeimg.com/640/360/tech
*/

/*--------------------------------------------------------------
# Secciones
--------------------------------------------------------------*/

.alt {
    background: var(--wp--preset--color--grey-light, #F1F1F1);
    /*var(--wp--preset--color--grey-upv, #424A50);*/
}

.inverse.alt {
    background: #111;
}

.inverse {
    background: var(--wp--preset--color--grey-upv-dark, #3F4444);
    /*var(--wp--preset--color--grey-upv, #424A50);*/
}

.inverse h1,
.inverse h2,
.inverse h3,
.inverse h4 {
    color: #fff;
}

.no-radius {
    border-radius: 0 !important;
}

.no-background {
    background: transparent !important;
}

.border-left {
    border-left: 1px solid var(--wp--preset--color--grey-medium) !important;
}

.border-bottom {
    border-bottom: 1px solid var(--wp--preset--color--grey-medium) !important;
}

.no-gap {
    gap: 0 !important;
}

.no-gap.wp-block-columns {
    margin-bottom: 0 !important;
}

/* Rejilla de celdas flexible */
.celda-grid {
    border-radius: 0 !important;
    background: transparent !important;
}

.celda-grid h3 {
    padding-bottom: 30px;
}

.celda-grid-left {
    border-left: 1px solid var(--wp--preset--color--grey-medium) !important;
}

.celda-grid-bottom {
    border-bottom: 1px solid var(--wp--preset--color--grey-medium) !important;
}

/* Responsive: bordes inferiores excepto la última */
@media (max-width: 781px) {
    .celda-grid {
        border-left: none !important;
        border-bottom: 1px solid var(--wp--preset--color--grey-medium) !important;
    }
}

.upv-section {
    padding: 80px 0px !important;
    margin: 0;
}

.upv-section .wp-block-columns {
    margin: 0 auto 1em auto;
    gap: 16px;
}

.upv-section .wp-block-group.alignwide .wp-block-columns {
    max-width: 100% !important;
}

.upv-section.no-padding-top {
    padding-top: 15px !important;
}

.upv-section.no-padding-bottom {
    padding-bottom: 15px !important
}

.upv-section.no-padding {
    padding: 15px 0 !important;
}

.no-padding {
    padding: 0 !important;
}

.no-margin {
    margin: 0 !important;
}

.padding {
    padding: 24px !important;
}

.margin-bottom {
    margin-bottom: 24px !important;
}

.margin-top {
    margin-top: 24px !important;
}

#editor .upv-section {
    border: 1px dashed #ccc;
    margin-left: 4px;
    margin-right: 4px;
}

@media (max-width: 1024px) {

    .upv-section.inverse,
    .upv-section.alt {
        /* En móvil, la sección llega al borde del contenedor. El contenido
           interior conserva un pequeño respiro lateral. */
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

.upv-section .wp-block-media-text__content {
    padding: 24px;
}

/*--------------------------------------------------------------
# Tipografía
--------------------------------------------------------------*/

h1.section-title {
    padding-top: 20px;
    padding-bottom: 15px;
    margin: 0 auto;
    font-size: 48px;
}

h2.section-title {
    padding-top: 15px;
    padding-bottom: 15px;
    margin: 0 auto;
    font-size: 28px;
}

h3.section-title {
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0 auto;
    font-size: 20px;
}

p.section-title {
    padding-top: 15px;
    padding-bottom: 15px;
    margin: 0 auto;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    color: var(--wp--preset--color--grey-upv, #424A50);
}

.section-lead {
    margin: 0 auto 50px auto !important;
    font-size: 20px !important;
}

/* Banda CTA: el cover añade padding 1.5em 14px a los párrafos, se elimina */
.upv-cta-band p {
    padding: 0 !important;
}

/* Banda CTA: el título queda pegado al párrafo */
.upv-cta-band h2.section-title {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.inverse .section-title,
.inverse .section-lead {
    color: #fff;
}

/* Enlace "Ver todos..." de patrones (tablón): blanco en oscuro, negro en claro */
.inverse .tablon-enlace a {
    color: #fff;
}

.tablon-enlace a {
    color: #000;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
}

.section-title.tablon-titulo,
.upv-section:has(.tablon-enlace) h2.section-title {
    font-size: 42px;
}

.tablon-enlace {
    margin: 0;
}

.wp-block-column:has(> .tablon-enlace) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.tablon-enlace-texto {
    text-decoration: underline;
}

/* Compatibilidad con enlaces del patrón anterior, sin el span del texto */
.tablon-enlace a:not(:has(.tablon-enlace-texto)) {
    text-decoration: underline;
}

.inverse .tablon-enlace a,
.inverse .tablon-enlace a i {
    color: #fff;
}

.tablon-enlace a i {
    font-size: 16px;
    margin: 0;
}

.justificado,
.justify,
.text-justify {
    text-align: justify;
}

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}


.big-number {
    font-size: 64px !important;
    color: var(--wp--preset--color--red-dark, #D73333);
    line-height: 1em;
    font-weight: 700;
    margin: 0;
    font-family: Poppins;
    white-space: nowrap;
}


.inverse .big-number {
    color: var(--wp--preset--color--yellow, #FFD100);
}

/*--------------------------------------------------------------
# Componentes
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Citas y texto
--------------------------------------------------------------*/

.wp-block-quote {
    padding: 24px 0 24px 24px;
    border-color: var(--wp--preset--color--red, #E5554F);
}

.wp-block-quote p {
    font-size: 28px;
    line-height: 1.2em;
    font-family: Poppins;
    font-weight: bold;
}

.wp-block-quote cite {
    text-transform: uppercase;
}

.inverse .wp-block-quote {
    border-color: var(--wp--preset--color--yellow, #FFD100);
}

.wp-block-quote .wp-block-quote__citation {
    font-size: 16px;
}

.upv-text img {
    padding: 0 30px 30px 30px;
}

.upv-text.inverse {
    color: #fff;
}

.upv-text ul {
    padding-left: 0
}

.upv-text .upv-feature ul {
    padding-left: 40px
}

.upv-text.circular h2 {
    font-size: 42px
}

.upv-text.circular p {
    font-size: 20px;
    line-height: 26px;
}

.upv-text.circular .is-style-rounded img {
    padding: 25px;
}

.fila-bordes {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--wp--preset--color--grey-medium) !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/*--------------------------------------------------------------
## Características
--------------------------------------------------------------*/

.upv-feature .wp-block-column,
.upv-feature.join-columns .wp-block-columns {
    padding: 32px 24px;
    background: var(--wp--preset--color--grey-light, #F1F1F1);
    border-radius: 24px;
    margin-bottom: 16px;
}

.upv-feature.alt .wp-block-column,
.upv-feature.alt.join-columns .wp-block-columns {
    background: var(--wp--preset--color--white, #FFFFFF);
}


.inverse .upv-feature .wp-block-group {
    background: var(--wp--preset--color--grey-dark, #5B5B5B);
}

.upv-feature.inverse .wp-block-column,
.upv-feature.join-columns.inverse .wp-block-columns,
.upv-feature.inverse .wp-block-group {
    background: var(--wp--preset--color--grey-dark, #5B5B5B);
}

.upv-feature.inverse .sub-cards .wp-block-column {
    background: var(--wp--preset--color--grey-upv-dark, #3F4444);
}

.upv-feature .wp-block-group {
    padding: 24px;
    background: var(--wp--preset--color--grey-light, #F1F1F1);
    border-radius: 24px;
    margin-bottom: 16px;
}

.upv-feature h2,
.upv-feature h3,
.upv-feature h4 {
    margin-top: 0;
}

.upv-feature.inverse {
    color: #fff;
}

.upv-texts.inverse {
    color: #fff;
}

.upv-texts .upv-feature.is-layout-flow {
    margin-bottom: 0px;
    margin-top: 0px;
}

@media (max-width: 1024px) {
    .upv-texts .upv-feature.is-layout-flow {
        margin-bottom: 10px;
    }
}

.upv-feature.with-icon .wp-block-group {
    margin: 0;
}

.upv-feature.with-icon .icono {
    margin-bottom: 28px;
}

.upv-feature.with-icon .icono img {
    display: inline-block;
}

/*--------------------------------------------------------------
## Hero
--------------------------------------------------------------*/

.upv-hero {
    min-height: auto;
}

.upv-hero .wp-block-cover__inner-container {
    margin: 60px 20px;
}

.upv-hero.wp-block-cover .section-title {
    margin: 0 auto 10px auto;
    font-size: 2.5em;
}

.upv-hero.wp-block-cover .section-lead {
    margin: 0 auto;
    font-size: 1.3em;
}

#editor .editor-styles-wrapper .upv-hero.dark.wp-block-cover .section-title,
#editor .editor-styles-wrapper .upv-hero.dark.wp-block-cover .section-lead,
.upv-hero.dark.wp-block-cover .section-title,
.upv-hero.dark.wp-block-cover .section-lead {
    color: #F3F3F3;
}

#editor .editor-styles-wrapper .upv-hero.wp-block-cover .section-title,
#editor .editor-styles-wrapper .upv-hero.wp-block-cover .section-lead,
.upv-hero.wp-block-cover .section-title,
.upv-hero.wp-block-cover .section-lead {
    color: #333;
}

.upv-hero.transparent-header .wp-block-cover__inner-container {
    margin: 250px 20px 0 20px;
}

.upv-hero.transparent-header-small .wp-block-cover__inner-container {
    display: none;
}

/* Hero de página: portada con foto, capa oscura y titular abajo a la izquierda */
.upv-hero-pagina {
    align-items: flex-end !important;
    justify-content: flex-start !important;
    min-height: 348px;
}

.upv-hero-pagina--home {
    min-height: 384px !important;
}

.upv-hero-pagina .wp-block-cover__inner-container {
    width: 100%;
    max-width: none !important;
    padding: 0 clamp(20px, 3.906vw, 75px) clamp(20px, 3.125vw, 60px) !important;
    box-sizing: border-box;
}

.upv-hero-pagina .wp-block-cover__inner-container .upv-hero-titulo {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 700 !important;
    font-size: clamp(24px, 6.667vw, 128px) !important;
    line-height: 1.05;
    color: #fff;
    text-align: left;
}

@media (max-width: 600px) {
    .upv-hero-pagina {
        min-height: 284px !important;
    }

    /* Titulares de 42px en columnas estrechas: evitar cortes a mitad de palabra. */
    p.section-title[style*="font-size:42px"] {
        font-size: clamp(26px, 8.5vw, 42px) !important;
    }
}

/*--------------------------------------------------------------
## Cajas
--------------------------------------------------------------*/

.with-readmore,
.upv-box {
    margin: 0 auto;
    /*padding-bottom:90px!important*/
    ;
    position: relative;
}

.with-readmore {
    padding-bottom: 90px !important;
}

.upv-box {
    background: var(--wp--preset--color--grey-light, #F1F1F1);
}

.inverse .upv-box {
    background: #fff;
    color: #111;
}

.inverse .upv-box h1,
.inverse .upv-box h2,
.inverse .upv-box h3,
.inverse .upv-box h4 {
    color: var(--wp--preset--color--grey-upv-light, #5C636B);
}

.upv-box li {
    margin-left: 0;
}

.upv-box ul {
    padding-left: 1.5em;
}

.upv-boxes .upv-box {
    padding: 24px;
}

.upv-boxes .wp-block-image {
    margin: -24px -24px 0 -24px;
}

.one .upv-box .wp-block-image {
    margin: 0;
}

.one .upv-box {
    padding: 0px !important;
}

.upv-texts .read-more,
.upv-block .read-more,
.upv-box .read-more {
    background: var(--wp--preset--color--red-dark, #D73333);
    padding: 10px 18px;
    margin: 20px 0 24px 0;
    /*text-transform: uppercase; */
    display: inline-block;
    position: absolute;
    bottom: 0;
    clear: both;
}



.upv-texts .read-more a,
.upv-block .read-more a,
.upv-box .read-more a {
    color: #fff;
    text-decoration: none;
}

.upv-texts .read-more:hover,
.upv-block .read-more:hover,
.upv-box .read-more:hover {
    text-decoration: none;
    background: var(--wp--preset--color--red-darkest, #A40E0E);
}



.alt .wp-block-media-text {
    background: #fff;
}

.upv-box h2,
.upv-box h3,
.upv-box h4,
.wp-block-media-text h2,
.wp-block-media-text h3,
.wp-block-media-text h4 {
    color: var(--wp--preset--color--grey-upv, #424A50);
}

.wp-block-media-text .read-more {
    position: relative;
}

/*--------------------------------------------------------------
## Bloques
--------------------------------------------------------------*/

.upv-block {
    margin: 0 auto;
    padding-bottom: 90px !important;
    position: relative;
    border: 1px solid var(--wp--preset--color--red, #E5554F);
}

.inverse .upv-block {
    color: #111;
    background: #fff;
    border-color: #fff;
}

.inverse .upv-block h2,
.inverse .upv-block h3 {
    color: var(--wp--preset--color--grey-upv-light, #5C636B) !important;
}

.upv-block li {
    margin-left: 0;
}

.upv-block ul {
    padding-left: 1.5em;
}

.upv-blocks .upv-block {
    padding: 24px;
}

.upv-blocks .wp-block-image {
    margin: -24px -24px 0 -24px !important;
}

.one .upv-block .wp-block-image {
    margin: 0;
}

.one .upv-block {
    padding: 0px !important;
}

/*--------------------------------------------------------------
## Medios y vídeo
--------------------------------------------------------------*/

.upv-media .wp-block-button__link {
    padding: 6px 20px !important
}

#primary .upv-videos .wp-block-gallery .blocks-gallery-item figcaption {
    z-index: 1;

}

#primary .wp-block-gallery .blocks-gallery-item__caption {
    text-align: left;
}

#primary .upv-videos .wp-block-gallery .blocks-gallery-item figure::after {
    background: rgba(0, 0, 0, 0.4) url(../assets/play-video.png) center center no-repeat;
    height: 100%;
    width: 100%;
    padding: 0;
    content: "";
    position: absolute;
}

#primary .upv-videos .wp-block-gallery .blocks-gallery-item figure .block-editor-media-placeholder {
    position: absolute;
    z-index: 2;
}

.upv-media figcaption {
    display: none
}

.upv-media .consubtitulos figcaption {
    display: block
}

.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
    background: rgba(0, 0, 0, 0.6);
    padding: 8px 20px;
}

.upv-section .wp-block-media-text__content {
    padding: 24px;
}


/*--------------------------------------------------------------
## Cabecera de admisión
--------------------------------------------------------------*/

.upv-admission-header {
    margin: 0 !important;
    padding: 0 !important;
}

.upv-admission-header .wp-block-cover h1.wp-block-heading.has-x-large-font-size {
    font-size: 180px !important;
    line-height: 1em !important;
    margin: 0 !important;
}

@media (max-width:782px) {
    .upv-admission-header .wp-block-cover h1.wp-block-heading.has-x-large-font-size {
        font-size: 60px !important;
    }
}

@media (min-width:783px) and (max-width:1024px) {
    .upv-admission-header .wp-block-cover h1.wp-block-heading.has-x-large-font-size {
        font-size: 100px !important;
    }
}

.upv-admission-header h2 {
    margin: 0 40px 0 0 !important;
}

.upv-admission-header p {
    padding-left: 20px;
    border-left: 3px solid var(--wp--preset--color--red, #E5554F);
    margin: 0;
    line-height: 1.3em
}

.upv-admission-header .wp-block-columns {
    margin-bottom: 0 !important;
}

/*--------------------------------------------------------------
## Pasos
--------------------------------------------------------------*/

.upv-steps .wp-block-columns {
    gap: 0;
    margin-bottom: 0;
}

.upv-step {
    width: 25%;
    aspect-ratio: 1 / 1;
    max-width: 50%;
    margin: 0;
    padding: 20px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-content: flex-end;
    justify-content: flex-end;
}

.upv-step-intro {
    padding: 0 20px 20px 0;
}

.upv-step-intro h2 {
    margin-top: 0;
    margin-bottom: 0;
}

.upv-step-intro p {
    margin-top: 20px;
    margin-bottom: 0;
}

.upv-step h2 {
    color: #fff;
    margin: 0;
    font-size: 50px;
    font-family: Poppins;
}

.upv-step p {
    font-weight: bold;
    color: #fff;
    margin: 4px 0 20px 0;
    font-size: 24px;
    font-family: Poppins;
}

.upv-step .wp-element-button {
    background: transparent;
    border: 1px solid #fff;
    color: #fff !important;
    font-size: 10px;
    padding: 8px 12px;
}

.upv-step:hover .wp-element-button {
    background: #000 !important;
    border: 1px solid #000 !important;
    color: #fff !important;
    cursor: pointer;
}

/*--------------------------------------------------------------
## Enlaces del slider
--------------------------------------------------------------*/

.vertical-horizontal {
    flex-direction: column;
}

@media (min-width:950px) {
    .vertical-horizontal {
        flex-direction: row;
    }
}

@media (max-width:950px) {
    .upv-section .slider-pie-flotante {
        display: block !important;
        top: 0 !important;
        width: 100% !important;
        margin: 0px !important;
        padding: 20px !important;
    }

    /* En columna, flex-basis se aplica a la altura: 400px dejaban un hueco
       enorme entre el texto y las flechas. La intro ocupa el ancho disponible. */
    .vertical-horizontal .intro-slider-enlaces {
        flex: 0 0 auto;
        width: 100% !important;
        padding-right: 0;
    }

    /* El carrusel no debe imponer su ancho de escritorio: en móvil ocupa el
       ancho de la pantalla y las tarjetas se recortan dentro. */
    .vertical-horizontal .upv-carousel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

.intro-slider-enlaces {
    /* Ancho FIJO real: se impide que el flex la encoja. De este modo la columna
       intro siempre mide lo mismo y el carrusel empieza siempre a la misma
       distancia del margen del pie. El pie (ver .slider-pie-flotante) usa este
       mismo ancho para alinear su primer enlace con la primera tarjeta. */
    flex: 0 0 400px;
    width: 400px !important;
    padding-right:50px;
}

.intro-slider-enlaces h2 {
    margin-top: 0;
    font-size: 42px;
    line-height: 1.2;
    color: #111;
}

.intro-slider-enlaces p {
    font-size: 20px;
    line-height: 1.3;
    color: #111;
}

.slider-pie-flotante {
    margin-left: calc((100vw - var(--ancho, 980px))/2) !important;
    gap: 64px;
    flex-wrap: nowrap !important;
    position: relative;
    z-index: 0;
    top: -80px;
    padding-top: 80px;
    padding-bottom:20px;
    padding-left:20px;
    padding-right:20px;
    /* Por defecto: fondo blanco y texto/enlaces negros. El pie suele llevar
       fijado un color de fondo de WordPress (has-white-background-color), que
       es el que se ve por defecto. Estas reglas definen el estado base para que
       los modos "alt" e "inverse" tengan algo que sobreescribir. */
    background: #fff !important;
    color: #000;
}

/* Modos del grupo (toggles "Dark Mode" = inverse, "Alt Bg" = alt).

   El grupo del pie puede llevar un color de fondo de WordPress con !important
   (.has-white-background-color). Por eso estos modos se refuerzan con
   !important: si no, el fondo fijo del bloque gana y los toggles no hacen nada.

   Se incluye "has-background" como parte del selector solo para subir
   especificidad y ganar al color de WordPress. */

/* Alt Bg: fondo gris claro, texto negro. */
.slider-pie-flotante.alt,
.slider-pie-flotante.alt.has-background {
    background: var(--wp--preset--color--grey-light, #F1F1F1) !important;
    color: #000;
}

/* Dark Mode: fondo oscuro, texto y enlaces blancos. */
.slider-pie-flotante.inverse,
.slider-pie-flotante.inverse.has-background {
    background: var(--wp--preset--color--grey-upv-dark, #3F4444) !important;
    color: #fff;
}

.slider-pie-flotante.inverse a,
.slider-pie-flotante.inverse strong {
    color: #fff;
}

/* Pie de slider: cada párrafo con enlace reserva una columna a la izquierda
   para la flecha, de modo que si el texto pasa de línea haga wrap dentro de su
   columna y nunca invada el hueco de la flecha.

   Cómo: el párrafo lleva un padding-left igual al ancho de la flecha + su
   separación, y la flecha se pinta como ::before en position:absolute dentro de
   ese hueco. Así TODO el contenido del párrafo (el enlace y el texto suelto que
   va detrás) queda a la derecha del hueco y hace wrap ahí. No se usa float ni
   overflow:hidden porque el texto suelto es un nodo anónimo y provocaba que el
   párrafo se recortara. :has(a) limita la regla a los párrafos con enlace. */
.slider-pie-flotante p:has(a) {
    font-size: 16px;
    position: relative;
    flex: 0 1 auto;
    min-width: 0;
    padding-left: 24px; /* 13px flecha + 11px separacion */
    margin-bottom: 10px;
    color: #111;
}

.slider-pie-flotante p:has(a) a {
    color: #111;
}

.slider-pie-flotante p:has(a)::before {
    content: url(images/flechita_roja.svg);
    position: absolute;
    left: 0;
    top: 50%;
    width: 13px;
    height: 13px;
    transform: translateY(-50%);
}

/* La flecha del enlace ya la aporta el párrafo: se elimina la del <a> para no
   duplicarla. */
.slider-pie-flotante p a::before {
    content: none;
}

.slider-pie-flotante strong {
    font-size: 20px;
    font-weight: 700;
}

/* El primer párrafo del pie ("Y mucho más...", sin flecha) ocupa el mismo ancho
   que la columna "Esto te interesa" de la fila superior, de modo que el primer
   enlace con flecha ("En este mundo...") quede alineado justo debajo del borde
   izquierdo de la primera tarjeta del carrusel.

   Referencia de alineacion: el carrusel empieza en
       margen_izquierdo_del_pie + 400px (columna intro) + 8px (gap de la fila)
   Como el pie empieza en la misma x que la intro, basta con que el primer
   párrafo reserve ese hueco menos el padding del pie. */
.slider-pie-flotante > p:first-child {
    flex: 0 0 auto;
    width: 332px;
    margin-left: 0;
    margin-right: 0;
}

/* Responsive: cuando el pie pasa a columna (el grupo se apila), "Y mucho más..."
   queda pegado al primer enlace y hay que separarlo. */
@media (max-width: 950px) {
    .slider-pie-flotante > p:first-child {
        width: auto;
        margin-bottom: 20px !important;
    }
}

/* Los párrafos del pie no llevan margen lateral propio: el espaciado lo marca
   solo el gap del flex. WordPress puede repartir margenes automaticos entre los
   hijos (margen variable segun el ancho), lo que descuadraba la alineacion del
   primer enlace con la primera tarjeta. */
.slider-pie-flotante > p {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/*--------------------------------------------------------------
## Remember
--------------------------------------------------------------*/

.upv-remember-right .wp-block-columns {
    padding: 10px;
    margin-bottom: 10px;
}

.upv-remember-right .wp-block-column {
    padding: 10px;
    border-bottom: 1px solid #fff;
}

.upv-remember-right .wp-block-column * {
    margin: 0 0 10px 0;
    line-height: 1.2em;
}

.upv-remember-right .wp-block-column h2 {
    font-size: 18px;
}

.upv-remember-right .wp-block-column p {
    font-size: 12px;
}

.upv-remember-claim {
    font-size: 100px;
    font-family: Poppins;
    font-weight: 700;
    color: #fff;
    text-shadow: -1px -1px 0 var(--wp--preset--color--blue, #59CBE8), 1px -1px 0 var(--wp--preset--color--blue, #59CBE8), -1px 1px 0 var(--wp--preset--color--blue, #59CBE8), 1px 1px 0 var(--wp--preset--color--blue, #59CBE8);
    margin: 0;
    padding: 0;
}

/*--------------------------------------------------------------
## Sabías que
--------------------------------------------------------------*/

.sabias-que {
    background-image: url(../assets/sabias_que.svg);
    background-repeat: no-repeat;
    background-position: top left;
    padding-top: min(300px, 15%) !important;
    background-size: min(1320px, 80%) auto;
}

.sabias-que-es {
    background-image: url(../assets/sabias_que-es.svg);
    background-repeat: no-repeat;
    background-position: top left;
    padding-top: min(300px, 15%) !important;
    background-size: min(1320px, 80%) auto;
}

.sabias-que-en {
    background-image: url(../assets/sabias_que-en.svg);
    background-repeat: no-repeat;
    background-position: top left;
    padding-top: min(300px, 15%) !important;
    background-size: min(1320px, 80%) auto;
}

.sabias-que-va {
    background-image: url(../assets/sabias_que-va.svg);
    background-repeat: no-repeat;
    background-position: top left;
    padding-top: min(300px, 15%) !important;
    background-size: min(1320px, 80%) auto;
}

.sabias-que .slider-pie-flotante {
    padding-left: min(50px, 6%) !important;
}

/*--------------------------------------------------------------
## Admission
--------------------------------------------------------------*/

.puntos {
    background: var(--wp--preset--color--blue, #59CBE8);
    border-radius: 4px;
    display: inline-block;
    padding: 3px 20px;
    font-weight: bold;
    text-align: center;
    width: 100%;
    margin: 0 !important;
}

.bloque-gris {
    border-radius: 20px;
    padding: 20px 40px;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    gap: 3em !important;
}

/*--------------------------------------------------------------
## Degrees
--------------------------------------------------------------*/

.stretch {
    align-items: stretch;
}

.stretch .wp-block-column {
    background: var(--wp--preset--color--grey-light, #F1F1F1);
    border-radius: 24px;
    padding: 8px;
}

.stretch .wp-block-group {
    background: transparent;
}

/*--------------------------------------------------------------
## Dobles masteres
--------------------------------------------------------------*/

.borde-superior {
    border-top: 1px solid var(--wp--preset--color--grey-medium) !important;
}


.borde-inferior {
    border-bottom: 1px solid var(--wp--preset--color--grey-medium) !important;
}

/*--------------------------------------------------------------
# s04b: Grid con títulos arriba y textos abajo
--------------------------------------------------------------*/
.upv-s04b .upv-feature,
.upv-s04b .upv-feature>.wp-block-group,
.upv-s04b .upv-feature>.wp-block-group>.wp-block-group__inner-container {
    display: flex !important;
    flex-direction: column !important;
    padding: 48px 133px 48px 32px !important;
}

.upv-s04b .upv-feature h3 {
    margin-top: 0 !important;
    padding-bottom: 20px !important;
}

.upv-s04b .upv-feature p {
    margin-top: auto !important;
    margin-bottom: 0 !important;
}