﻿/* THIS FILE CONTAINS FIXES AND ADJUSTMENTS */

/* Fix header */
@media (min-width: 1424.1px) {
    body {
        padding-top: 6.4rem;
    }
}

.topbar__menu__nav {
    background-color: #fff;
    padding: 0 0.8rem;
    position: fixed;
    width: 100%;
    top: 4.8rem;
    right: 0;
    height: calc(100vh - 200px);
}
@media (max-width: 1424.1px) {
    .topbar__menu__nav {
        overflow: auto;
    }
}
@media (min-width: 1424.1px) {
    .topbar__menu__nav {
        position: static;
        display: flex;
        align-items: center;
        height: auto;
    }
}

@media (min-width: 1424.1px) {
    .topbar__menu__nav__ul {
        padding-right: 2.4rem;
        display: flex;
    }
}
@media (min-width: 1424px) {
    .topbar__btn-search__modal {
        top: 6.4rem;
    }
}
@media (min-width: 1424.1px) {
    .svg--topbar {
        width: 24rem;
        height: 4rem;
        margin-top: 1.2rem;
        margin-bottom: 1.2rem;
    }
}
@media (min-width: 1424.1px) {
    .breadcrumbs, .breadcrumbs--microsite, .breadcrumbs--home {
        top: 6.4rem;
    }
}
.topbar__links {
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.4rem;
    text-decoration: none;
    padding-top: 1.3rem;
    padding-bottom: 1.3rem;
    padding-right: 0.7rem;
    padding-left: 0.7rem;
}
@media all and (min-width: 1424.1px) {
    .hide-desktop-xl--topbar {
        display: none;
    }
}
@media all and (max-width: 1424.1px) {
    .topbarClose {
        display: none;
    }
}

/* END Fix Header */

/* Ajustes al menú */
@media all and (min-width: 1424.1px) {
    .topbar {
        padding-right: 3.1rem;
        padding-left: 3.1rem;
    }
}
@media all and (min-width: 1424.1px) {
  .topbar__menu__nav {
    position: static;
    display: flex;
    align-items: center;
  }
}

@media all and (min-width: 1424.1px) {
  .topbar__menu__nav__ul {
    padding-right: 1.4rem;
    display: flex;
  }
}

@media all and (min-width: 1424.1px) {
  .topbar__menu__nav__ul + .topbar__menu__nav__ul {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    padding-left: 1.4rem;
  }
}

@media all and (min-width: 1424.1px) {
  .topbar__links:hover {
    text-shadow: 0 0 0.4px black, 0 0 0.4px black;
    border-bottom: 3px solid #bbb;
    padding-bottom: 1rem;
  }
}

@media all and (min-width: 1424.1px) {
  .topbar__links--selected {
    padding-bottom: 1rem;
  }
}

@media all and (min-width: 1424.1px) {
  .topbar__links--selected:hover {
    text-shadow: none;
    border-bottom: 3px solid #49a848;
    padding-bottom: 1rem;
  }
}
@media all and (min-width: 1424.1px) {
  .topbar__btn-lang {
    padding: 0;
  }
}
@media all and (min-width: 1424.1px) {
  .btn-lang__languages--active {
    top: 4.2rem;
    right: 0;
    width: 12rem;
  }
}

/* END Ajustes al menú */

/* Ajustes al bloque de links internos */
.internal-links-module .toggle-tabs__item.toggle-tabs__item--selected {
    border-bottom: none;
    font-weight: inherit;
}

/* END Ajustes al bloque de links internos */

/* Ajustes a los modales */
.card__persona--modal {
    overflow-y: auto;
    display: block;
    max-height: 520px;
    height: calc(100vh - 200px);
    background-position: right 2.4rem bottom;
}
@media all and (min-width: 48rem) {
    .card__persona--extended--active {
        top: 10rem;
    }
    .card__persona--modal {
        max-height: 420px;
        height: calc(100vh - 150px);
    }
}

/* END Ajustes a los modales */


/* Módulo carrusel de logos animados por categorías - set max height for logos */
div.carousel-logos div.carousel-logos__track div.carousel-logos__slide img.carousel-logos__logo { max-height: 7.2rem; }

/* FIX Boton Cerrar Modales de Autores (Listado de blogs) */
div.card__persona--extended.card__persona--extended--active.blogAuthorModal div.card__persona--modal img.modal-close:hover {
    cursor: pointer;
}

/* FIX modals z-index */
.card__persona--extended--active { z-index: 10; }

/* FIX sub-menú*/

.topbar--2nd--row .topbar--2nd__element.topbar--3rd .topbar--3rd__list {
    z-index: 10;
}

.topbar--2nd--column:not(.topbar--2nd--collapsed) .topbar--3rd::after {
    right: 32px;
}

.topbar--2nd .topbar--2nd--column:not(.topbar--2nd--collapsed) .selected-mobile > a {
    width: 100%;
}
/* End FIX Sub-menú */

.topbar { z-index: 1002; }
.breadcrumbs, .breadcrumbs--microsite, .breadcrumbs--home { z-index: 1001; }

/* LEAFLET MAPS */
div[id*="leafletMap-"] { min-width: 100%; min-height: 370px; }

/* MEDIA QUERIES FOR OFFICE MAP - DESKTOPS */
@media only screen and (min-width: 320px) {
    /* Small screen, non-retina */
    /* Nothing to do here. Keeping it just in case. */
    div.slider-map__panel > div[id*="leafletMap-"] { min-width: 90vw; }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px),
       only screen and ( min--moz-device-pixel-ratio: 2) and (min-width: 320px),
       only screen and ( -o-min-device-pixel-ratio: 2/1) and (min-width: 320px),
       only screen and ( min-device-pixel-ratio: 2) and (min-width: 320px), 
       only screen and ( min-resolution: 192dpi) and (min-width: 320px), 
       only screen and ( min-resolution: 2dppx) and (min-width: 320px) {
    /* Small screen, retina, stuff to override above media query */
    /* Nothing to do here. Keeping it just in case. */
}

@media only screen and (min-width: 700px) {
    /* Medium screen, non-retina */
    div[id*="leafletMap-"] { min-width: 50%; min-height: 418px; }
    div.slider-map__panel > div[id*="leafletMap-"] { min-width: 100%; min-height: 410px; }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 700px), 
       only screen and ( min--moz-device-pixel-ratio: 2) and (min-width: 700px), 
       only screen and ( -o-min-device-pixel-ratio: 2/1) and (min-width: 700px), 
       only screen and ( min-device-pixel-ratio: 2) and (min-width: 700px), 
       only screen and ( min-resolution: 192dpi) and (min-width: 700px), 
       only screen and ( min-resolution: 2dppx) and (min-width: 700px) {

    /* Medium screen, retina, stuff to override above media query */
    div[id*="leafletMap-"] { min-width: 50%; min-height: 418px; }
    div.slider-map__panel > div[id*="leafletMap-"] { min-height: 410px; }
}

@media only screen and (min-width: 1280px) {
    div[id*="leafletMap-"] { min-height: 519px; }
    div.slider-map__panel > div[id*="leafletMap-"] { min-height: 576px; }
}

@media only screen and (min-width: 1300px) {
    /* Large screen, non-retina */
    div[id*="leafletMap-"] { min-width: 55%; min-height: 552px; }
    div.slider-map__panel > div[id*="leafletMap-"] { min-height: 617px; }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1300px), 
       only screen and ( min--moz-device-pixel-ratio: 2) and (min-width: 1300px), 
       only screen and ( -o-min-device-pixel-ratio: 2/1) and (min-width: 1300px), 
       only screen and ( min-device-pixel-ratio: 2) and (min-width: 1300px), 
       only screen and ( min-resolution: 192dpi) and (min-width: 1300px), 
       only screen and ( min-resolution: 2dppx) and (min-width: 1300px) {
    /* Large screen, retina, stuff to override above media query */
    div[id*="leafletMap-"] { min-width: 55%; min-height: 552px; }
    div.slider-map__panel > div[id*="leafletMap-"] { min-height: 617px; }
}

@media only screen and (min-width: 1440px) {
    div[id*="leafletMap-"] { min-height: 581px; }
}

@media only screen and (min-width: 1600px) {
    div[id*="leafletMap-"] { min-height: 661px; }
}

@media only screen and (min-width: 3840px) {
    div[id*="leafletMap-"] { min-height: 882px; }
    div.slider-map__panel > div[id*="leafletMap-"] { min-height: 635px; }
}

/* END LEAFLET MAPS */

/* FIX <p> tags on FAQs */
div.multi-section-accordion > div.accordion > div.accordion__dropdown > p:last-child {
    padding-bottom: 2.4rem;
}



/* Módulo doble columna para los textos */
.doble-column-v1 h2 {font-weight: 700;}

.doble-column-v2 h2 {
    max-width: 114rem;
    margin: 0 auto;
    padding-bottom: 2.4rem;
    font-weight: 700;
}
.doble-column-v2 p {
    font-size: 1.6rem;
    line-height: 2.2rem;
    max-width: 114rem;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    padding-bottom: 2.4rem;
}
.doble-column-v2 .flex__items-center p, .doble-column-v2 .card__icon-title p {
    padding-bottom: 0;
}
.doble-column-v2 .bg-color-gris-50 h3 {
    padding-bottom: 1.6rem;
}
.doble-column-v3 h3 {
    font-weight: 700;
}
.doble-column-v3 p {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
}
.p-body-s {
    font-size: 1.4rem !important;
    line-height: 2rem !important;
}


/* CREDIT RATINGS TABLE (INVERSIONISTAS) */
.credit-ratings-table {  }
.credit-ratings-table .credit-ratings-row { display: flex; flex-direction: row; }
.credit-ratings-table .credit-ratings-header { width: 100%; text-align: center; }
.credit-ratings-table .credit-ratings-cell:first-child { width: 75%; }
.credit-ratings-table .credit-ratings-cell { flex-grow: 1; text-align: center; }

/*  */
.chart-wrapper {
    width: calc(100vw - clamp(2.4rem, 10.67vi - 1.76rem, 13.6rem) * 2);
}

@media all and (min-width: 48rem) {
    .chart-wrapper {
        width: 100%;
        height: 100%;
    }

    .chart-wrapper .highcharts-container {
        width: 100% !important;
    }    
}
/* FIX Módulo banners especiales */
.btn--primary--white:hover {
    color: #fff !important;
}
.single-card-slider__card p {
    font-size: 1.6rem;
    line-height: 2.2rem;
}

/* FIX módulo videos */
.card__video {
    height: 30rem;
}

.grid__3c--large .card {
    margin-bottom: 3rem;
}

.card iframe + p {
    margin-top: 1rem;
    width: 308px;
}

.accordion.video-module__description .accordion__title
{
    padding: 0 6rem 0 0;
}
/* END FIX módulo videos */

/* FIX módulo de promo con texto offset */
.feature-block p {
    grid-area: p;
    font-size: 1.8rem;
    line-height: 2.5rem;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
}

.alianza-caf p {
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    padding-bottom: 2.4rem;
    grid-area: p;
    font-size: 1.8rem;
    line-height: 2.5rem;
}
.second-btn {
    margin-left: 10px;
    color: white;
    border: 2px solid red;
    background-color: red;
}
.second-btn:hover {
    color: red;
    background-color: transparent;
    border: 2px solid red;
}



/* FIX módulo de texto y FAQ */
.text-module p, .pagina-simple-body {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    margin-bottom: 1rem;
}
.text-module.bg-color-corporativo-primario * {
    color: #fff;
}

.faq-module p {
    margin-bottom: 1rem;
}

.text-module ul, .faq-module ul, .text-module ol, .faq-module ol, .text-module li, .faq-module li {
    margin: 0;
    padding: 0;
}

.text-module ul li, .faq-module ul li {
    list-style: none;
    color: #3b3b3b;
    font-size: 1.6rem;
    line-height: 2.2rem;
    position: relative;
    padding-left: 2.4rem;
    padding-bottom: 1rem;
}
.faq-module li {
    font-size: 1.4rem !important;
    line-height: 2rem !important;
}
.text-module ul li::before, .faq-module ul li::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 0.8rem;
    height: 0.8rem;
    top: 0.6rem;
    left: 0;
    background-color: #3b3b3b;
    -webkit-mask: url(/css/design-2024/images/svg/circle-bullet-point.svg) no-repeat 50% 50%;
    mask: url(/css/design-2024/images/svg/circle-bullet-point.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
}
.text-module ol li, .faq-module ol li {
    list-style-type: decimal;
    margin-left: 1.4rem;
    padding-left: 1rem;
    padding-bottom: 1rem;
}
.text-module p a {display: inline;}

/* Fix listado paises */

.card__pais--extended--active {
    z-index: 1000;
}

@media (min-width: 64rem) {
    .filter__dropdown-complex__filters.bidding_filters {
        display: grid;
        grid-template-columns: 0.5fr 0.5fr 1fr 1fr;
        align-items: end;
    }
}

/* Ajustes a Impacto CAF */
img.impacto-doc-preview {
    max-width: 266px;
    max-height: 327px;
}

.card__estrategia-caf__desc a {
    text-decoration: underline;
}

.no-underline {
    text-decoration: none;
}

h1.d-none {
    display: none;
}

.post-impacto__post iframe {
    min-height: 44rem;
    width: 100%;
}

.area-impacto-intro__text img {
    width: 10rem;
    height: 10rem;
}
@media (min-width: 768px) {
    .card__areas-int__title {font-size: 24px;}
}
@media (min-width: 992px) {
    .card__areas-int__title {font-size: 27px;}
}
.card__areas-int {
    justify-content: space-around;
}
/*.card__areas-int {
    height: 20rem;
}
@media (min-width: 48rem) {
    .card__areas-int {
        height: 21rem;
    }
}*/
.card__areas-int {
    color: rgb(0, 82, 136);
}
.card__areas-int {
    justify-content: start;
}

/* FIN Ajustes Impacto CAF */

/* Listado de proyectos */
.card__project__tag--pipeline {
    background-color: #ff8800;
    position: relative;
    /*padding: 0.4rem 1.6rem 0.4rem 1.6rem; */
}
.card__project__tag--pipeline:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0.8rem;
    left: 1.6rem;
    width: 1.2rem;
    height: 1.2rem;
    -webkit-mask: url("/css/design-2024/images/svg/clock.svg") no-repeat 50% 50%;
    mask: url("/css/design-2024/images/svg/clock.svg") no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background-color: #fff;
}
/*
.card__project__tag--cerrada {
    background-color: #888;
    position: relative;
    padding: 0.4rem 1.6rem 0.4rem 1.6rem;
}
*/
.card__project__tag--cerrada {
    background-color: #717074;
    position: relative;
}
.card__project__tag--cerrada:before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.8rem;
  left: 1.6rem;
  width: 1.2rem;
  height: 1.2rem;
  -webkit-mask: url("/css/design-2024/images/svg/cross-capacitacion.svg") no-repeat 50% 50%;
  mask: url("/css/design-2024/images/svg/cross-capacitacion.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
    background-color: #fff;
}


/* END listado de proyectos  */

/* Detalle de Ficha de proyecto */
.grid__4c--medium {
    display: grid;
    grid-template-columns: 1fr;
}
@media all and (min-width: 48rem) {
    .grid__4c--medium {
        grid-template-columns: repeat(4, 1fr);
        max-width: 114rem;
    }
}
.card__adv--nd{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 2rem;
    text-transform: uppercase;
    border-radius: 1px;
    display: inline-block;
    padding: 0.4rem 1.6rem 0.4rem 4rem;
}

picture > img.mw-100 {
    max-width: 100% !important;
}
.card__fech-prog2 {
    background-color: #0570ac;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    padding: 1.6rem 2.4rem;
    text-align: center;
}

.card__fech-prog2 p.light-color  {
    color: #ccc;
}

.project__2-3-col .mergeCols,
project__fin-table .mergeCols {
    grid-column: 1/3;
}

.project__fin-table__4-col {
    display: grid;
    grid-template-columns: 2fr 0.8fr 0.8fr 0.8fr;
    border-bottom: #bbb 1px solid;
    padding: 0.8rem 2.4rem;
    align-items: center;
    gap: 1.6rem;
}
.project__fin-table__4-col:first-child {
    color: #fff;
    background-color: #005288;
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
}

.project_riesgoSyA_row {
    display: grid;
    grid-template-columns: 9rem auto;
    align-items: center;
    gap: 1.6rem;
    padding: 0.5rem;
}

.disclaimer-number {
    position: relative;
    font-weight: normal;
}

.disclaimer-padding {
    padding-top: 1em;
}

h3 .disclaimer-number {
    font-size: small;
    top: -16px;
}

.h4.d-none {
    display: none;
}

.h4 span {
    font-size: small;
    cursor: pointer
}

.h4 span:hover {
    text-decoration: underline;
}
/* FIN Detalle de Ficha de proyecto */

/*  Página 404  */
.doble-column-v2 .error-404 h2 {
    font-weight: inherit;
}

/*  END Página 404  */

/* Injerto de clases de Bootstrap para las tablas de inversionistas */
.tabla-inversionistas *, .tabla-inversionistas ::after, .tabla-inversionistas ::before {
    box-sizing: border-box
}

.tabla-inversionistas b, .tabla-inversionistas strong {
    font-weight: bolder
}

.tabla-inversionistas .text-break {
    word-wrap: break-word !important;
}

.tabla-inversionistas .text-right {
    text-align: right !important;
}

.tabla-inversionistas .container-fluid, .tabla-inversionistas .container-lg, .tabla-inversionistas .container-md, .tabla-inversionistas .container-sm, .tabla-inversionistas .container-xl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

.tabla-inversionistas .col, .tabla-inversionistas .col-1, .tabla-inversionistas .col-10, .tabla-inversionistas .col-11, .tabla-inversionistas .col-12, .tabla-inversionistas .col-2, .tabla-inversionistas .col-3, .tabla-inversionistas .col-4, .tabla-inversionistas .col-5, .tabla-inversionistas .col-6, .tabla-inversionistas .col-7, .tabla-inversionistas .col-8, .tabla-inversionistas .col-9, .tabla-inversionistas .col-auto, .tabla-inversionistas .col-lg, .tabla-inversionistas .col-lg-1, .tabla-inversionistas .col-lg-10, .tabla-inversionistas .col-lg-11, .tabla-inversionistas .col-lg-12, .tabla-inversionistas .col-lg-2, .tabla-inversionistas .col-lg-3, .tabla-inversionistas .col-lg-4, .tabla-inversionistas .col-lg-5, .tabla-inversionistas .col-lg-6, .tabla-inversionistas .col-lg-7, .tabla-inversionistas .col-lg-8, .tabla-inversionistas .col-lg-9, .tabla-inversionistas .col-lg-auto, .tabla-inversionistas .col-md, .tabla-inversionistas .col-md-1, .tabla-inversionistas .col-md-10, .tabla-inversionistas .col-md-11, .tabla-inversionistas .col-md-12, .tabla-inversionistas .col-md-2, .tabla-inversionistas .col-md-3, .tabla-inversionistas .col-md-4, .tabla-inversionistas .col-md-5, .tabla-inversionistas .col-md-6, .tabla-inversionistas .col-md-7, .tabla-inversionistas .col-md-8, .tabla-inversionistas .col-md-9, .tabla-inversionistas .col-md-auto, .tabla-inversionistas .col-sm, .tabla-inversionistas .col-sm-1, .tabla-inversionistas .col-sm-10, .tabla-inversionistas .col-sm-11, .tabla-inversionistas .col-sm-12, .tabla-inversionistas .col-sm-2, .tabla-inversionistas .col-sm-3, .tabla-inversionistas .col-sm-4, .tabla-inversionistas .col-sm-5, .tabla-inversionistas .col-sm-6, .tabla-inversionistas .col-sm-7, .tabla-inversionistas .col-sm-8, .tabla-inversionistas .col-sm-9, .tabla-inversionistas .col-sm-auto, .tabla-inversionistas .col-xl, .tabla-inversionistas .col-xl-1, .tabla-inversionistas .col-xl-10, .tabla-inversionistas .col-xl-11, .tabla-inversionistas .col-xl-12, .tabla-inversionistas .col-xl-2, .tabla-inversionistas .col-xl-3, .tabla-inversionistas .col-xl-4, .tabla-inversionistas .col-xl-5, .tabla-inversionistas .col-xl-6, .tabla-inversionistas .col-xl-7, .tabla-inversionistas .col-xl-8, .tabla-inversionistas .col-xl-9, .tabla-inversionistas .col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px
}

@media (min-width: 576px) {
    .tabla-inversionistas .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .tabla-inversionistas .col-md-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .tabla-inversionistas .col-md-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .tabla-inversionistas .col-md-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .tabla-inversionistas .col-md-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .tabla-inversionistas .col-md-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.tabla-inversionistas .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px
}

.tabla-inversionistas .align-top {
    vertical-align: top !important
}

.tabla-inversionistas .position-relative {
    position: relative !important
}

.tabla-inversionistas .border {
    border: 1px solid #dee2e6 !important
}

.tabla-inversionistas .border-top-0 {
    border-top: 0 !important
}

.tabla-inversionistas .border-dark {
    border-color: #343a40 !important
}

.tabla-inversionistas .mt-3, .tabla-inversionistas .my-3 {
    margin-top: 1rem !important
}

.tabla-inversionistas .ml-2, .tabla-inversionistas .mx-2 {
    margin-left: .5rem !important
}

.tabla-inversionistas .mr-2, .tabla-inversionistas .mx-2 {
    margin-right: .5rem !important
}


@media (min-width: 992px) {
    .tabla-inversionistas .col-lg-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .tabla-inversionistas .col-lg-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .tabla-inversionistas .col-lg-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .tabla-inversionistas .col-lg-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .tabla-inversionistas .col-lg-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .tabla-inversionistas .col-lg-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

.tabla-inversionistas.caf_sum_secciones {
    /*font-size: min(max(19px, 1.4vw), 26px); */
    font-size: 18px;
    line-height: 1.8;
}

.tabla-inversionistas a {
    display: inherit;
}

/* Fin injertos Tablas inversionistas */

/* Spinner */

#spinner.d-none {
    display: none !important
}

/* FIN Spinner */


/* Módulo Enlaces Internos */
section.internal-links-module li.toggle-tabs__item:hover > a {
    text-decoration: none;
}
main ul li.toggle-tabs__item:last-child, main ol li.toggle-tabs__item:last-child {
    padding-bottom: 2.4rem;
}

@media (min-width: 64rem) {
    .toggle-tabs__list--no-icon .toggle-tabs__item {
        max-width: unset;
    }
}
/* Fin mödulo enlaces internos */

/* RED */
.red-accordion__row__dropdown p {
    font-size: 1.6rem !important;
    line-height: 2.2rem !important;
}
/* fin RED */
/*Pagina vacantes*/
.vacancy__description p {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    margin-bottom: 1rem;
}


.vacancy__description ul {
    margin: 0;
    padding: 0;
}

.vacancy__description ul li {
    list-style: none;
    color: #3b3b3b;
    font-size: 1.6rem;
    line-height: 2.2rem;
    position: relative;
    padding-left: 2.4rem;
    padding-bottom: 1rem;
}

.vacancy__description ul li::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 0.8rem;
    height: 0.8rem;
    top: 0.6rem;
    left: 0;
    background-color: #3b3b3b;
    -webkit-mask: url(/css/design-2024/images/svg/circle-bullet-point.svg) no-repeat 50% 50%;
    mask: url(/css/design-2024/images/svg/circle-bullet-point.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
}
.vacancy__description ol li {
    list-style-type: decimal;
    margin-left: 1.4rem;
    padding-left: 1rem;
    padding-bottom: 1rem;
    color: #3b3b3b;
    font-size: 1.6rem;
}

/*Módulo de módulos curso*/
.post-capacitacion__modulo .p-summary {
    color: #3b3b3b;
    font-weight: 400;
}

/*Módulo imagen*/
.image-module.img--div-decor--country {
    display: block;
}
.image-module img {width: 100%;}


/*Módulo carrusel con apertura especial*/
.bg-special-osc {
	background-color: var(--bg-special-osc);
}

.special-card__title {
	color: #002989;
}

.bg-special-light {
    background-color: var(--bg-special-light);
}

.special-logo {
	width: 35rem;
    margin-bottom: 2rem;
}

.feature-block--special-l1 {
	background-image: var(--bg-img-special);
	background-repeat: no-repeat;
	background-position: left bottom;
	left: 0;
	padding-bottom: 4rem;
}

.feature-block--special-l1,
.feature-block--special-col-l1 {
	min-height: 0;
}

.feature-block--special-l2 {
    background-image: var(--bg-img-special-2);
    background-repeat: no-repeat;
    background-position: left top;
    left: 0;
    min-height: 20rem;
}

.feature-block--special-savethedate {
	margin-top: 1rem;
	padding-left: 11rem;
	display: flex;
	flex-direction: row;
}

.section-title-special {
    border-bottom: 1px solid var(--btn-special);
}

.btn--special {
    color: #000;
    border: 2px solid var(--btn-special);
    background-color: var(--btn-special);
    font-size: 1.2rem;
}
.foro-card__title {
    color: #002989;
}

/* LIVE STREAMING */

.video--caf-container {
	position: relative;
}
.video--stream-caf {
    aspect-ratio: 16 / 9;
    width: 100% !important;
}

.btn_live {
	padding: 0.75rem;
	color: #212529;
	text-align: center;
	border: 1px solid transparent;
	line-height: 1.5;
	border-radius: 0.25rem;
}

.btn_live {
	position: absolute;
	top: 2px;
	right: -80px;
	background-color: white;
	font-size: 0.8rem;
	left: unset;
}

.btn_live:hover {
	/* background-color: white !important; */
}

.live-icon {
    display: inline-block;
    position: relative;
    background-color: var(--btn-special);
    width: 10px;
    height: 10px;
    margin-left: 10px;
    transform: translateY(2px);
    border-radius: 50%;
    z-index: 1;
}

.live-icon:before {
    content: "";
    display: block;
    position: absolute;
    background-color: var(--btn-special);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    animation: live 2s ease-in-out infinite;
    z-index: -1;
}

@keyframes live {
	0% {
		transform: scale(1, 1);
	}

	100% {
		transform: scale(3.5, 3.5);
		background-color: rgba(255, 0, 0, 0);
	}
}

@media (max-width: 64rem) {
	.btn_live {
		top: -40px;
		right: unset;
		right: 0px;
	}
}

@media all and (min-width: 64rem) {
	.feature-block--special-col-l1 {
		display: flex;
		justify-content: space-between;
	}

	.special-logo {
		width: 45rem;
	}

	.feature-block--special-savethedate {
		padding-left: 0;
		flex-direction: column;
	}

	.feature-block--special-l1 {
		background-position: left bottom;
	}

	.feature-block--special-col-l1 img {
		margin-left: -14rem;
	}
}


/* Módulo Minuto a Minuto */
.live-minuto {
    background-color: red;
    transform: translateY(0px);
}

.live-minuto:before {
    background-color: red;
}

.live-stream-section * {
    /* list-style: square; */
    line-height: 1.5;
}

.live-stream-container {
    max-width: calc(100px + 3.2rem + 70ch);
    margin: 0 auto;
    font-size: 1.6rem;
}

.live-stream-entry {
    display: grid;
    grid-template-columns: 100px 1fr;
    margin-block: 3rem;
    padding-top: 3rem;
    border-top: 1px solid #49a848;
}

.live-stream-time {
    font-weight: bold;
    text-align: right;
    position: relative;
    /* padding-left: 20px; */
    display: flex;
    align-items: center;
    height: 1.5em;
    font-size: 3rem;
    color: #49a848;
}

.live-stream-time svg {
    fill: #49a848;
    max-width: 25px;
}

/*.live-stream-time::before {
    content: "";
    position: absolute;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: #49a848;
    border-radius: 50%;
}*/

.live-stream-content img {
    width: 100%;
    aspect-ratio: 65/38;
    object-fit: cover;
}

.live-stream-content {
    max-width: 70ch;
}

/*.live-stream-content ul,
.live-stream-content ol {
    padding-left: 1.5rem;
}*/

.live-stream-content ul > li {
    padding-bottom: 0 !important;
}

.live-stream-section .card__event-type {
    padding-inline: 2rem;
    padding-block: 1rem;
}
/* END Módulo Minuto a Minuto */

/* Módulo Recursos */
.container-grid-max-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 32rem), 1fr));
    gap: 3.2rem;
    margin: 0 auto;
}

.grid-item {
    position: relative;
}

.recursos-audiovisuales {
    width: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #49a848;
    color: #49a848;
}

.recursos-audiovisuales svg {
    fill: #49a848;
}

.recursos-audiovisuales span {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding-inline: 1rem;
}

@media all and (min-width: 48rem) {
    .recursos-audiovisuales {
        cursor: pointer;
    }
}

@media all and (max-width: 48rem) {
    .grid-item-img .card__ph-gallery__img {
        width: 100% !important;
    }
}

.recursos-audiovisuales--active {
    background-color: #005288;
    color: #fff;
}

.recursos-audiovisuales--active svg {
    fill: #fff;
}

.card__recursos-gallery--btns {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.card__recursos-btns-group {
    display: flex;
    gap: 1rem;
}

.card__recursos-btns-group img {
    aspect-ratio: 1/1;
}

.icon-docs-descarga {
    position: relative;
    padding-left: 2.4rem;
}
/* END Módulo Recursos */

/* ZOOM IMAGE */
.modal-recursos {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
}

.modal-recursos-content {
    margin: auto;
    margin-top: 120px;
    display: block;
    width: 90%;
    max-width: 80%;
    max-height: 80%;
    min-width: 280px;
    object-fit: contain;
}

@media all and (max-width: 48rem) {
    .modal-recursos-content {
        margin-top: 180px;
    }
}

.close {
    position: absolute;
    top: calc(108px + 2rem);
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}	
/* END ZOOM IMAGE */

/* PLAYER AUDIO  */
.player {
    position: relative;
    width: 100%;
    background: #f1f3f4;
    box-shadow: 0 50px 80px rgba(0, 0, 0, 0.25);
}

.player .imgbx {
    position: relative;
    width: 100%;
    height: 350px;
}

.player .imgbx img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.player audio {
    width: 100%;
    outline: none;
}
/* END PLAYER AUDIO  */

/* SISTEMA GRID SIMPLIFICADO */

.container-grid-max-2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 48rem), 1fr));
	gap: 3.2rem;
	margin: 0 auto;
}

.container-grid-max-4 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: 3.2rem;
	margin: 0 auto;
}

.container-grid-max-6 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
	gap: 3.2rem;
	margin: 0 auto;
}

.container-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.2rem;
	margin: 0 auto;
}

/* .container-grid-max-3 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
	gap: 3.2rem;
	margin: 0 auto;
} */

/* GRID DE 3 - POR PASOS - SIMPLE */

.container-grid-max-3 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3.2rem;
	margin: 0 auto;
}

@media all and (min-width: 32rem) {
	.container-grid-max-3 {
		grid-template-columns: repeat(4, 1fr);
	}
	.container-grid-max-3 .grid-wrap {
		grid-column-end: span 2;
	}

	.container-grid-max-3 .grid-wrap:last-of-type {
		grid-column-start: 2;
	}
}

@media all and (min-width: 48rem) {
	.container-grid-max-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.container-grid-max-3 .grid-wrap {
		grid-column-end: unset;
	}
	.container-grid-max-3 .grid-wrap:last-of-type {
		grid-column-start: unset;
	}
}

.d-flex-center {
	display: flex;
	justify-content: center;
	gap: 3.2rem;
}

.grid-item,
.grid-wrap {
	position: relative;
}

/* EN VIVO DOBLE */

.feature-block--special-l2, .feature-block--special-l3, .feature-block--special-videos {
    background-image: var(--bg-img-special);
    background-repeat: no-repeat;
    background-position: left bottom;
    left: 0;
    padding-bottom: 4rem;
}
.feature-block--special-l2 {
    background-image: var(--bg-img-special-2);}
.feature-block--special-l3 {
    background-image: var(--bg-img-special-2);}
.feature-block--special-videos {
    background-image: var(--bg-img-special-3);}
.video-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(0, 0, 0, 0.5);
	transition: opacity 0.3s ease;
}

.cover-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top right;
	z-index: 1;
}

.play-button {
	position: absolute;
	cursor: pointer;
	transition: transform 0.2s ease;
	z-index: 1;
}

.play-button:hover {
	transform: scale(1.3);
}

.play-button img {
	width: 100px;
}

.youtube-player {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.envivo-video-container {
	position: relative;
	width: 100%;
	max-width: 1280px;
	height: 0;
	padding-bottom: 56.25%; /* Aspecto 16:9 */
	overflow: hidden;
}

/* EN VIVO CONTENT */


.envivo-wrap-content {
	background-color: #3345cd9f;
	padding: 1rem 2.4rem 2.4rem 2.4rem;
	color: #fff;
	text-wrap: balance;
}

.envivo-wrap-content h2 {
	font-size: clamp(1.7rem, 1vi + 1.2rem, 2rem);
	font-weight: 700;
	line-height: 1.4;
	padding-block: 1.5rem;
}

.envivo-wrap-content h3 {
	font-size: clamp(1.2rem, 1vi + 1rem, 1.4rem);
	font-weight: 700;
	line-height: 1.4;
	padding-block: 1.5rem;
}

.envivo-wrap-content .feature-block--foro-savethedate {
	margin-top: 1rem;
	display: flex;
	flex-direction: row;
}

.envivo-wrap-content a {
	text-decoration: none;
}

.envivo-wrap-content .btn--tertiary span {
	color: #f59e0b;
	font-size: clamp(1.7rem, 1vi + 1.2rem, 2.4rem);
	margin-right: 1rem;
}

.carousel-slide .btn--tertiary span {
	font-size: clamp(1.5rem, 1vi + 1rem, 1.4rem);
	text-transform: capitalize;
	display: block;
}

.btn-prev-prox {
	border: 2px solid #d97706;
	min-width: 220px;
	padding-inline: 1.5rem;
	display: block;
	background-color: #fff;
	padding: 1.1rem 2.4rem;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 2.2rem;
	transition: all 0.1s ease-in-out;
}

.btn-prev-prox span {
	color: #d97706;
}

/* NUEVOS ESTILOS PARA CARRUSEL */

.carousel {
	position: relative;
	width: 100%;
	margin: auto;
}

.carousel-track-container {
	overflow: hidden;
	width: 100%;
}

.carousel-track {
	display: flex;
	transition: transform 0.5s ease;
	gap: 2.4rem;
}

.carousel-slide {
	min-width: 100%;
	box-sizing: border-box;
	user-select: none;
	min-height: 200px;
}
.carousel-slide {
	min-width: 100%;
	box-sizing: border-box;
	user-select: none;
	min-height: 200px;
}

.card-padding-inline {
	padding-inline: 1rem;
}

/* Estilos para botones de control */

.carousel-control {
	position: absolute;
	display: inline-block;
	top: 50%;
	color: white;
	border: none;
	padding: 10px;
	cursor: pointer;
	transform: translateY(-100%);
	z-index: 20;
}

.carousel-control-sm {
	transform: translateY(-30%);
}

.carousel-control img {
	height: 3.4rem;
	width: 2rem;
}

.carousel-control.prev {
	left: calc(-1 * (clamp(2.4rem, 10.67vi - 1.76rem, 13.6rem) / 2));
}

.carousel-control.next {
	right: calc(-1 * (clamp(2.4rem, 10.67vi - 1.76rem, 13.6rem) / 2));
}

.carousel-control.disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

@media all and (max-width: 48rem) {
	.carousel-control {
		display: none;
	}
}

.carousel-dots {
	display: flex;
	justify-content: center;
	margin-top: 10px;
}

.dot {
	height: 1.2rem;
	width: 1.2rem;
	border: 2px solid #84cc16;
	border-radius: 1.2rem;
	margin-right: 1.6rem;
	cursor: pointer;
}

.dot.active {
	background-color: #84cc16;
	width: 4rem;
}

.foro-section .dot {
    height: 1.2rem;
    width: 1.2rem;
    border: 2px solid #84cc16;
    border-radius: 1.2rem;
    margin-right: 1.6rem;
    cursor: pointer;
}

.foro-section .dot.active {
	background-color: #84cc16;
	width: 4rem;
}

.carousel-slide::before {
	width: 0rem;
	height: 0rem;
	top: 0rem;
	left: 0;
	background-color: transparent;
}

.carousel-slide {
	padding: 0rem !important;
}

.carousel-controls {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 1rem;
}

.carousel-counter {
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	padding: 0.8rem 0;
	background-color: #49a848;
	min-width: 70px;
}

/* Carousel de 4 a 1 */

/* .carousel-view-4-dekstop .carousel-slide {
	min-width: calc(100% / 1);
}

@media all and (min-width: 48rem) {
	.carousel-view-4-dekstop .carousel-slide {
		min-width: calc(100% / 2);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-4-dekstop .carousel-slide {
min-width: calc(100% / 4);
	}
} */

.carousel-view-4-dekstop .carousel-slide {
	min-width: calc(100%); /* Mobile: 'peek' para 1 elemento completo más parte del siguiente */
}
@media all and (min-width: 48rem) {
	.carousel-view-4-dekstop .carousel-slide {
		min-width: calc((100% - 1 * 2.4rem) / 2);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-4-dekstop .carousel-slide {
		min-width: calc((100% - 3 * 2.4rem) / 4);
	}
}

/* Carousel de 3 a 1 */

/* .carousel-view-3-dekstop .carousel-slide {
	min-width: calc(100% / 1);
}

@media all and (min-width: 48rem) {
	.carousel-view-3-dekstop .carousel-slide {
		min-width: calc(100% / 1);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-3-dekstop .carousel-slide {
		min-width: calc(100% / 3);
	}
} */

.carousel-view-3-dekstop .carousel-slide {
	min-width: calc(100% - 60px); /* Mobile: 'peek' para 1 elemento completo más parte del siguiente */
}

@media all and (min-width: 48rem) {
	.carousel-view-3-dekstop .carousel-slide {
		min-width: calc(100% - 60px); /* TABLET: 'peek' para 1 elemento completo más parte del siguiente */
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-3-dekstop .carousel-slide {
		min-width: calc((100% - 2 * 2.4rem) / 3);
	}
}

/* Carousel de 2 a 1 */

/* .carousel-view-2-dekstop .carousel-slide {
	min-width: calc(100% / 1);
}

@media all and (min-width: 48rem) {
	.carousel-view-2-dekstop .carousel-slide {
		min-width: calc(100% / 2);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-2-dekstop .carousel-slide {
		min-width: calc(100% / 2);
	}
} */

.carousel-view-2-dekstop .carousel-slide {
	min-width: calc(100% - 60px); /* Mobile: 'peek' para 1 elemento completo más parte del siguiente */
}

@media all and (min-width: 48rem) {
	.carousel-view-2-dekstop .carousel-slide {
		min-width: calc((100% - 1 * 2.4rem) / 2);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-2-dekstop .carousel-slide {
		min-width: calc((100% - 1 * 2.4rem) / 2);
	}
}

/* Carousel de 12 a 2 */

.carousel-view-12-dekstop .carousel-slide {
	min-width: calc((100% - 1 * 2.4rem - 60px) / 2); /* Mobile: 'peek' para 1 elemento completo más parte del siguiente */
}

@media all and (min-width: 32rem) {
	.carousel-view-12-dekstop .carousel-slide {
		min-width: calc((100% - 2 * 2.4rem) / 3);
	}
}

@media all and (min-width: 48rem) {
	.carousel-view-12-dekstop .carousel-slide {
		min-width: calc((100% - 5 * 2.4rem) / 6);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-12-dekstop .carousel-slide {
		min-width: calc((100% - 11 * 2.4rem) / 12);
	}
}

/* Carousel de 8 a 2 */

.carousel-view-8-dekstop .carousel-slide {
	min-width: calc((100% - 1 * 2.4rem - 60px) / 2); /* Mobile: 'peek' para 1 elemento completo más parte del siguiente */
}

@media all and (min-width: 32rem) {
	.carousel-view-8-dekstop .carousel-slide {
		min-width: calc((100% - 3 * 2.4rem) / 4);
	}
}

@media all and (min-width: 48rem) {
	.carousel-view-8-dekstop .carousel-slide {
		min-width: calc((100% - 5 * 2.4rem) / 6);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-8-dekstop .carousel-slide {
		min-width: calc((100% - 7 * 2.4rem) / 8);
	}
}

/* Carousel de 6 a 2 */

.carousel-view-6-dekstop .carousel-slide {
	min-width: calc((100% - 1 * 2.4rem - 60px) / 2); /* Mobile: 'peek' para 1 elemento completo más parte del siguiente */
}

@media all and (min-width: 32rem) {
	.carousel-view-6-dekstop .carousel-slide {
		min-width: calc((100% - 2 * 2.4rem) / 3);
	}
}

@media all and (min-width: 48rem) {
	.carousel-view-6-dekstop .carousel-slide {
		min-width: calc((100% - 3 * 2.4rem) / 4);
	}
}

@media all and (min-width: 64rem) {
	.carousel-view-6-dekstop .carousel-slide {
		min-width: calc((100% - 5 * 2.4rem) / 6);
	}
}

/* AGENDA PROGRAMACION TXTS */

.card-programacion h6 {
	font-size: 1.2rem;
	text-transform: uppercase;
}
.card-programacion h5 {
	font-size: clamp(1.6rem, 0.25vi + 1.5rem, 1.9rem);
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 0.5rem;
}

/* AGENDA PROGRAMACION ETIQUETA */

.ticker-programacion {
	display: flex;
	padding: 1rem 1.4rem;
	background-color: #fff;
	justify-content: space-between;
	color: #002989;
}

.ticker-programacion-fecha {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 2rem;
	border-right: 1px solid #f2f2f2;
	color: #005288;
}

.ticker-programacion-hora {
	display: flex;
	flex-direction: column;
	font-size: 1.3rem;
	justify-content: center;
	text-transform: uppercase;
	color: #000;
}

.ticker-programacion span {
	display: inline-block;
}

.ticker-programacion-fecha span {
	font-size: clamp(1.6rem, 0.25vi + 1.5rem, 2rem);
	font-weight: 700;
	line-height: 1.4;
}

/* Módulo de convocatorias fix */

.dots-none .three-card-carousel_navigation_dot {
    display: none;
}

/* Fix de enlaces rotos en texto */

[class] p a, .vacancy__description a, .video-module__description p a {
    display: inline !important;
    color: #005288;
    font-weight: 700;
    text-decoration: underline;
}
.text-color-full-white a{
    color: #fff !important;
}
.hero--quienes-somos__subt {
    display: block !important;
}
.hero--quienes-somos__subt a {
    color: #002239
}
/* Fix listado empleo */
.card_empleo_inf.icon-open-folder::before {
    left: 1.6rem;
    top: 0.6rem;
}

/* Colores módulo de aperturas */
.hero--inversionistas h1.text-color-microsite-secundario-2,
.hero--inversionistas p.text-color-microsite-secundario-2 {
    color: #1B2C43;
}

.cta--btn--primary--yellow { color: #ffcd06; }
.cta--btn--primary--chevron-right--yellow::after { background-color: #ffcd06; }

.cta--btn--primary--green { color: #49a848; }
.cta--btn--primary--chevron-right--green::after { background-color: #49a848; }

.cta--btn--primary--red { color: #a72100; }
.cta--btn--primary--chevron-right--red::after { background-color: #a72100; }

.cta--btn--primary--purple { color: #984695; }
.cta--btn--primary--chevron-right--purple::after { background-color: #984695; }

.cta--btn--primary--brown { color: #aa531d; }
.cta--btn--primary--chevron-right--brown::after { background-color: #aa531d; }

.opening-anchor-secondary-color { color: #1B2C43; }
.opening-anchor-secondary-color::after { background-color: #1B2C43; }
/* END Colores módulo de aperturas */

/* Fixes Módulo Aperturas */
.logo-max-height-60 { max-height: 60px; width: auto; }

.hero--impacto__logo { padding-left: 10px; }

@media (min-width: 48rem) {
    .hero--impacto__logo {
        max-height: 196px;
    }
}
@media (min-width: 56rem) {
    .hero--impacto__logo {
        padding-left: unset;
    }
}
.hero--comunidades__rrss img {
    height: 2rem;
    width: auto;
}
/* END Fixes Módulo Aperturas */

/*Ajuste listado videos*/
#videos-galleries-listing > div.card__ph-gallery--feed > div.card__ph-gallery__content {
    height: 100%;
}

/*Ajuste módulo de eventos (listado)*/
.mbm__links__item::before {
    display: none !important;
}

/*Ajuste del margen del footer*/
.footer {margin-top: 40px;}

/* Ajuste altura sumario módulo publicaciones (vista de 3 portadas, no slider) */
@media (min-width: 48rem) {
    .banner-publicaciones.multiple .highlight__specs .highlight__text.limit-height {
        margin-top: auto;
        max-height: 7rem;
    }
}

/*Modulo FAQ fix*/

@media (min-width: 90rem) {
    .col-2-img-text.microsite .col-2-img-text__text {
        justify-content: start;
    }
}

/* Detalle de blog noticias destacadas */
@media (min-width: 48rem) {
    .post-blog__news-highlight .card__img-s__img {
        padding-right: 0;
    }
    .card__img-s .flex__direction-column {
        padding-left: 2.4rem;
    }
}

/*Módulo publicaciones (carrusel)*/
.card__adaptive.publicacion .card__adaptive__img {
    height: auto;
    width: auto;
}

/* carousel nvo  */
.carousel-slide .card__single-card-slider__img {
    height: auto;
}


/* AJUSTAR el single card slider hecho por T&B. ALTURA LIBRE  */
.card__img-subheading-title-tags-link img, .card__img-subheading-title-tags-link__img {
    aspect-ratio: auto;
}

.card__single-card-slider__img {
    object-fit: contain;
}


/* estilos slider nuevo con grid en desktop */
.slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    margin: auto;
}

.slider-track-container {
    overflow: hidden;
    width: 100%;
}

.slider-track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 2rem;
    will-change: transform;
}

.slider-slide {
    min-width: 100%;
    box-sizing: border-box;
    border: 1px solid #ccc;
    text-align: center;
    user-select: none;
    min-height: 200px;
    touch-action: pan-y;
}

.slider-slide:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}

.slider-track {
    list-style: none;
    padding-inline: 0;
    position: relative;
    margin: 0;
}

/* Estilos para botones de control */
.slider-control {
    position: absolute;
    top: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    transform: translateY(-50%);
    z-index: 10;
    font-size: 1.5rem;
    border-radius: 4px;
    transition: opacity 0.2s ease;
}

.slider-control:hover,
.slider-control:focus {
    background: rgba(0, 0, 0, 0.7);
    opacity: 1;
}

.slider-control.prev {
    left: 10px;
}

.slider-control.next {
    right: 10px;
}

.slider-control.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* slider de 4 a 1 */
@media (max-width: 480px) {
    .slider-view-4-dekstop .slider-slide {
        /* min-width: calc(100% - 60px); */ /* si queremos un peek */
        min-width: 100%;
    }
}

@media (min-width: 481px) and (max-width: 768px) {
    .slider-view-4-dekstop .slider-slide {
        /*  min-width: calc(100% - 60px); */ /* si queremos un peek */
        min-width: 100%;
    }
}

@media (min-width: 769px) {
    .slider-view-4-dekstop .slider-slide {
        min-width: calc((100% - 2 * 2rem) / 3);
    }
}

.slider-dots {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    gap: 8px;
}


.slider-anchors {
    text-align: center;
    padding-block: 1rem;
}

.no-anchors-desktop {
    display: flex;
    justify-content: center;
}

.slider-anchor {
    margin: 0 10px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    padding: 5px 10px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.slider-anchor:hover,
.slider-anchor:focus {
    background-color: #f0f0f0;
    outline: none;
}



@media (min-width: 990px) {
    .no-slider-desktop .slider-track {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
    }

    .no-slider-desktop .slider-slide {
        min-width: unset;
        width: auto;
        border: 1px solid #ccc;
    }

    .no-anchors-desktop,
    .no-slider-desktop .slider-control,
    .no-slider-desktop .slider-dots {
        display: none;
    }

    :not(.no-slider-desktop).slider-slide {
        min-width: calc(100% / 4);
    }
}

.wrapper {
    width: min(100% - 4rem, 85rem);
    margin-inline: auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Agenda Expositores */
.flex-wrap {
    flex-wrap: wrap;
}

.flex-1 {
    flex: inherit;
    margin-right: auto;
}

@media all and (min-width: 64rem) {
    .flex-1 {
        flex: 1;
    }
}
.text-module {
    display: flow-root; /* Encierra flotados sin clearfix */
    position: relative;
}

/*Modal de galería*/
.card__ph-gallery--modal__title_img, .card__ph-gallery--modal__author_img {
    align-self: flex-start;
    /*padding-left: 40px;*/
}
.single-img-slider__card {
    flex-direction: column;
}
.card__ph-gallery--modal-wrapper {
    height: 80vh;
    overflow-x: auto;
}

/*Ajuste para clase hidden y visible*/

@media all and (min-width: 48rem) {
    .hidden-desktop {
        visibility: hidden;
        opacity: 0;
        height: 0;
        overflow: hidden;
        transition: opacity 0.3s ease, height 0.3s ease;
    }

    .visible-desktop {
        visibility: visible;
        opacity: 1;
        height: auto;
        overflow: inherit;
    }
}

/*Módulo publicaciones*/

.banner-publicaciones__highlight .highlight__img, .banner-publicaciones.multiple .highlight__specs .highlight__img {
    height: 34rem;
    width: calc(100vw - clamp(2.4rem, 10.67vi - 1.76rem, 13.6rem) * 2);
    object-fit: contain;
}
.banner-publicaciones__general{
    max-width: 93%;
}
@media all and (min-width: 48rem) {
    .banner-publicaciones__highlight .highlight__img {
        width: 19rem;
        height: auto;
    }
}

@media all and (min-width: 30rem) {
    .banner-publicaciones.multiple .highlight__specs .highlight__img {
        width: 16.5rem;
        height: auto;
    }
    .banner-publicaciones__general {
        max-width: 100%;
    }
}


/*Modulos de carruseles*/

@media (min-width: 64rem) {
    .carousel-view-4-dekstop .carousel-slide {
        min-height: 100px;
    }

    .carousel-slide {
        min-width: 100%;
        box-sizing: border-box;
        user-select: none;
        min-height: 100px;
    }
}

/*Módulo agenda*/

@media all and (min-width: 48rem) {
    .post-events__schedule__day {
      text-wrap: auto;
      max-width: 200px;
    }
    .microsite .post-events__schedule__calendar {
    max-width: 74%;}
}
.microsite .card__event ul * {color: white;}
.microsite .card__event ul li::before { background-color:white;}


/* NUEVO CSS CON EL TYPEAHEAD (AJUSTE SOBRE EL GLOBAL) */

.default-option-selected p {
    color: #000000 !important; /* Negro para el país seleccionado */
}


/* Estilos para el campo de búsqueda (Dropdown) */
.selector-drop__search-container {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4.8rem;
    padding: 0 0.8rem;
}

.selector-drop.active .selector-drop__search-container {
    display: flex;
    align-items: center;
}

.selector-drop__search {
    width: 100%;
    border: none;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.6rem;
    outline: none;
    background: transparent;
    color: #000000;
    padding: 0;
    margin: 0;
    height: auto;
    line-height: 1.5;
}

.selector-drop__dropdown__item.highlighted {
    background-color: #e6f7e6;
    color: #2c3e50;
}

.selector-drop__dropdown__item.filtered-out {
    display: none;
}

.no-results {
    padding: 1.6rem;
    color: #999;
    font-style: italic;
    /* display: none; */
}

.no-results.visible {
    display: block;
}

.search-indicator {
    display: inline-block;
    background: #49a848;
    color: white;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-size: 1.2rem;
    margin-left: 0.5rem;
    vertical-align: middle;
}

.form-group button {
    background: #49a848;
    color: white;
    border: none;
    padding: 1rem 2rem;
    font-size: 1.6rem;
    border-radius: 4px;
    cursor: pointer;
}

/* TIMELINE */
/* Estilos para la línea de tiempo */

.timeline-section {
    position: relative;
    /*margin-bottom: 3rem;*/
    padding: 20px 0 40px;
}

.timeline-container {
    position: relative;
    overflow-x: hidden;
    margin: 0 auto;
    width: 90%;
}

.timeline-wrapper {
    position: relative;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: 0 40px;
    cursor: grab;
}

.timeline-wrapper::-webkit-scrollbar {
    display: none;
}

.timeline-wrapper.dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

.timeline {
    display: flex;
    position: relative;
    min-width: max-content;
    padding: 30px 0;
}

.timeline-line {
    position: absolute;
    top: 35%;
    left: 0;
    width: 100%;
    height: 2px;
    background: #bdc3c7;
    transform: translateY(-50%);
    z-index: 0;
}

.timeline-anchor {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 30px;
    z-index: 2;
    cursor: pointer;
    min-width: 70px;
    text-decoration: none;
    transition: transform 0.3s ease;
    scroll-snap-align: start;
}

.timeline-anchor:hover {
    transform: translateY(-5px);
}

.timeline-dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #005288;
    margin: 0 auto 10px;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.timeline-year {
    font-weight: 600;
    color: #7f8c8d;
    transition: all 0.3s ease;
    font-size: 16px;
    text-align: center;
    background: #f8f9fa;
    padding: 4px 10px;
    border-radius: 20px;
}

.timeline-anchor.active .timeline-dot {
    background: #e74c3c;
    transform: scale(1.4);
    box-shadow: 0 0 0 6px rgba(231, 76, 60, 0.2);
}

.timeline-anchor.active .timeline-year {
    color: #e74c3c;
}

/* Estilos para el slider */

.slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    margin: auto;
    border-radius: 12px;
    padding: 20px 0;
}

.slider-track-container {
    overflow: hidden;
    width: 100%;
}

.slider-track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 2rem;
    will-change: transform;
    list-style: none;
    padding: 20px;
    margin: 0;
}

.slider-slide {
    flex: 0 0 calc(100% - 0rem);
    box-sizing: border-box;
    border: 1px solid #e0e0e0;
    text-align: center;
    user-select: none;
    min-height: 250px;
    touch-action: pan-y;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 500;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.slider-slide:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.slider-slide:focus {
    outline: 3px solid #3498db;
    outline-offset: 2px;
}

/* Estilos para botones de control */

.slider-control {
    position: absolute;
    top: 50%;
    background: rgba(52, 152, 219, 0.8);
    color: white;
    border: none;
    padding: 15px 18px;
    cursor: pointer;
    transform: translateY(-50%);
    z-index: 10;
    font-size: 1.8rem;
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.slider-control:hover,
.slider-control:focus {
    background: rgba(41, 128, 185, 1);
    transform: translateY(-50%) scale(1.1);
}

.slider-control.prev {
    left: 15px;
}

.slider-control.next {
    right: 15px;
}

.slider-control.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
    transform: translateY(-50%);
}

.timeline-control {
    position: absolute;
    top: 35%;
    transform: translateY(-50%);
    background: #bdf7fc;
    color: black;
    border: none;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 10;
    font-size: 1.4rem;
    border-radius: 50rem;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

.timeline-control:hover {
    background: rgba(41, 128, 185, 1);
    transform: translateY(-50%) scale(1.1);
}

.timeline-control.prev {
    left: 0;
}

.timeline-control.next {
    right: 0;
}

.timeline-control.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
    transform: translateY(-50%);
}

.slider-dots {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 10px;
}

.dot {
    /*width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #bdc3c7;
    cursor: pointer;
    border: none;
    padding: 0;
    transition: all 0.3s ease;*/
}

/*.dot:hover,
.dot:focus {
    background-color: #7f8c8d;
    transform: scale(1.2);
}*/

.dot.active {
    /*background-color: #e74c3c;
    transform: scale(1.2);*/
}

@media (max-width: 768px) {
    .wrapper {
        padding: 1rem;
    }

    .timeline-anchor {
        margin: 0 20px;
        min-width: 60px;
    }

    .slider-control {
        padding: 12px 15px;
        font-size: 1.5rem;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.slider-slide {
    background: #bdf7fc;
}

.content-slide {
    font-size: 6rem;
}

/* FIXES TIMELINE */

div.slider-track-container > ul.slider-track > li.slider-slide {
    padding-left: unset;
}
div.slider-track-container > ul.slider-track > li.slider-slide::before {
    display: none;
}

div.slider-track-container > ul.slider-track > li.slider-slide > article.card__mbm {
    border-bottom: unset;
}
/*Módulo tabs*/
.toggle-tabs__item img {max-width: 58px;}

/*Ajuste botón con texto largo para movil*/
/*.btn--secondary, .post-impacto_actions_btn-secondary, .btn--secondary--icon-right, .btn--secondary--icon-right.white {
    display: block;
}*/

/* Aspect Ratios for RTE YouTube Videos  */
.rte-youtube-video > iframe.video--impacto-caf { min-height: unset; height: unset; }
.rte-youtube-video > iframe.video--ratio21by9 { aspect-ratio: 21/9; }
.rte-youtube-video > iframe.video--ratio16by9 { aspect-ratio: 16/9; }
.rte-youtube-video > iframe.video--ratio4by3 { aspect-ratio: 4/3; }
.rte-youtube-video > iframe.video--ratio1by1 { aspect-ratio: 1/1; }

/* Carrusel con estilo: Multi-tipo */
.carousel-multitype div.carousel-dots > div.dot.active {
    height: 1.2rem;
    width: 4rem;
}

.carousel-multitype .ticker-programacion-fecha
{
   /* color: #d97706;*/
}

.carousel-multitype .ticker-programacion-hora {
    display: flex;
    flex-direction: column;
    font-size: 1.3rem;
    font-weight: 700;
    justify-content: center;
    text-transform: uppercase;
    color: #000;
}

.h-100 {
    height: 100%;
}

/*Botón de búsqueda*/
.btn--disabled {
    pointer-events: none; /* no permite clics */
    opacity: 0.5; /* se ve apagado */
}

/* -------------------------------------------------------------------------
   1. Layout "Dossier + Comunicados" (módulo comunicados)
   -------------------------------------------------------------------------
   En mobile: 1 columna (dossier arriba, comunicados debajo).
   En desktop: 2 columnas con el dossier más estrecho (1fr) y el carrusel
   de comunicados más ancho (2fr).
   ------------------------------------------------------------------------- */
.grid__mediacenter-dossier {
    display: grid;
    grid-template-columns: 1fr;
}

@media (min-width: 992px) {
    .grid__mediacenter-dossier {
        grid-template-columns: 1fr 2fr;
        align-items: stretch;
    }
}

/* Caja de contacto del dossier (columna izquierda) */
.mediacenter-dossier {
    border-radius: 8px;
    height: 100%;
}

/* Caja contenedora del carrusel de comunicados (columna derecha) */
.mediacenter-comunicados {
    border-radius: 8px;
    height: 100%;
    /* El carrusel interno ya gestiona overflow; aquí solo limitamos desbordes
       horizontales cuando el track se desplaza. */
    overflow: hidden;
}


/* -------------------------------------------------------------------------
   2. Tarjeta de Comunicado (slide dentro del carrusel de comunicados)
   -------------------------------------------------------------------------
   Fondo blanco, borde sutil y tipografía compacta. La altura se estira
   para igualar a la slide más alta gracias al flex del track del carrusel.
   ------------------------------------------------------------------------- */
.mediacenter-comunicado-card {
    background-color: #ffffff;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
    min-height: 180px;
    aspect-ratio: 1;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

    .mediacenter-comunicado-card:hover {
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
        transform: translateY(-2px);
    }

.mediacenter-comunicado-card__date {
    font-size: 14px;
    color: #6B6B6B;
    letter-spacing: 0.02em;
}

.mediacenter-comunicado-card__title {
    font-size: 18px;
    line-height: 1.35;
    color: #025387; /* corporativo-primario */
    font-weight: 700;
}

.mediacenter-comunicados .carousel-control img {
    height: 2.4rem;
    width: 1rem;
}

.mediacenter-comunicados .carousel-control.prev {
    left: -30px;
}

.mediacenter-comunicados .carousel-control.next {
    right: -30px;
}

/*Campo taxonomía con tooltip*/

.newsletter__preferences {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    padding: 3.2rem;
    background-color: #ffffff;
    border: 1px solid #e3e8ee;
    border-radius: 0.8rem;
}

.newsletter__preferences-intro {
    border-bottom: 1px solid #e3e8ee;
    padding-bottom: 1.6rem;
}

.newsletter__pref-group {
    border: 0;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.newsletter__pref-legend {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0;
    margin-bottom: 0.4rem;
    color: #025387;
}

.newsletter__checkbox-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 2rem;
}

@media (min-width: 600px) {
    .newsletter__checkbox-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 900px) {
    .newsletter__checkbox-grid--topics {
        grid-template-columns: repeat(3, 1fr);
    }

    .newsletter__checkbox-grid--countries {
        grid-template-columns: repeat(4, 1fr);
    }
}

.newsletter__checkbox-grid .checkbox-primary {
    padding: 0.4rem 0 0.4rem 2.4rem;
    line-height: 1.4;
    color: #3b3b3b;
    transition: color 0.15s ease;
}

    .newsletter__checkbox-grid .checkbox-primary:hover {
        color: #025387;
    }

.newsletter__pill-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1rem;
}

.newsletter__pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0.8rem 1.8rem;
    border: 1px solid #025387;
    border-radius: 999px;
    background-color: #ffffff;
    color: #025387;
    font-size: 1.4rem;
    font-weight: 500;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

    .newsletter__pill input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
        pointer-events: none;
    }

    .newsletter__pill:hover {
        background-color: #e5eef6;
    }

    .newsletter__pill:focus-within {
        box-shadow: 0 0 0 3px rgba(2, 83, 135, 0.2);
    }

    .newsletter__pill:has(input:checked) {
        background-color: #025387;
        color: #ffffff;
    }

.newsletter__pill__label::before {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.8rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    vertical-align: -0.15rem;
    transition: background-color 0.2s ease;
}

.newsletter__pill:has(input:checked) .newsletter__pill__label::before {
    background-color: #ffffff;
    box-shadow: inset 0 0 0 3px #025387;
}

@media (max-width: 599px) {
    .newsletter__preferences {
        padding: 1.8rem;
    }
}


.newsletter__topic-item {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    position: relative;
}

    .newsletter__topic-item .checkbox-primary {
        flex: 0 1 auto;
        min-width: 0;
    }

.newsletter__info-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    margin-top: 0.3rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: transparent;
    color: #8a8d91;
    cursor: pointer;
    position: relative;
    transition: color 0.15s ease, background-color 0.15s ease;
}

    .newsletter__info-btn:hover,
    .newsletter__info-btn:focus-visible {
        color: #025387;
        background-color: #e5eef6;
        outline: none;
    }

.newsletter__info-icon {
    display: block;
    pointer-events: none;
}

.newsletter__tooltip {
    position: absolute;
    bottom: calc(100% + 0.8rem);
    left: 50%;
    transform: translateX(-50%) translateY(0.4rem);
    width: max-content;
    max-width: 24rem;
    padding: 0.8rem 1rem;
    background-color: #1f2937;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 400;
    text-align: left;
    border-radius: 0.4rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    z-index: 20;
}

    .newsletter__tooltip::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border: 6px solid transparent;
        border-top-color: #1f2937;
    }

.newsletter__info-btn:hover .newsletter__tooltip,
.newsletter__info-btn:focus-visible .newsletter__tooltip,
.newsletter__info-btn:focus-within .newsletter__tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Si el tooltip se sale del borde derecho del contenedor, lo anclamos a la derecha */
.newsletter__topic-item:nth-child(3n) .newsletter__tooltip,
.newsletter__topic-item:last-child .newsletter__tooltip {
    left: auto;
    right: -0.4rem;
    transform: translateX(0) translateY(0.4rem);
}

    .newsletter__topic-item:nth-child(3n) .newsletter__tooltip::after,
    .newsletter__topic-item:last-child .newsletter__tooltip::after {
        left: auto;
        right: 1rem;
        transform: translateX(0);
    }

.newsletter__info-btn:hover .newsletter__topic-item:nth-child(3n) .newsletter__tooltip,
.newsletter__topic-item:nth-child(3n) .newsletter__info-btn:hover .newsletter__tooltip,
.newsletter__topic-item:nth-child(3n) .newsletter__info-btn:focus-visible .newsletter__tooltip,
.newsletter__topic-item:last-child .newsletter__info-btn:hover .newsletter__tooltip,
.newsletter__topic-item:last-child .newsletter__info-btn:focus-visible .newsletter__tooltip {
    transform: translateX(0) translateY(0);
}

@media (max-width: 599px) {
    .newsletter__tooltip {
        max-width: 20rem;
        font-size: 1.1rem;
    }
}

/* ---- NUEVO SUBMENU 06/2026 ---- */
/* Navegación principal */
.caf-nav-v2-subhome {
    background-color: #ffffff;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    position: relative;
    width: 100%;
}

.caf-nav-v2-subhome-container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 100%;
    position: relative;
}

.caf-nav-v2-subhome-container ul li {
    padding: unset !important;
}

.caf-nav-v2-subhome-list {
    display: flex;
    list-style: none;
    align-items: center;
    flex-wrap: nowrap;
    margin: 0;
    padding: 0;
}

.caf-nav-v2-subhome-item {
    flex-shrink: 0;
    position: relative;
}

.caf-nav-v2-subhome-item::before {
    display: unset;
    position: unset;
    width: unset;
    height: unset;
    top: unset;
    left: 0;
    background-color: unset;
    -webkit-mask: unset;
    mask: unset;
    mask-size: unset;
    -webkit-mask-size: unset;
    mask-size: unset;
}

.caf-nav-v2-subhome-item.hidden {
    display: none !important;
}

.caf-nav-v2-subhome-link {
    display: block;
    padding: 16px 18px;
    color: #4a4a4a;
    text-decoration: none;
    font-size: 12px;
    /*font-weight: 600;*/
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.caf-nav-v2-subhome-link-selected {
    /*color: #00a0d2;*/
    font-weight: 700;
    border-bottom: 3px solid #49a848;
    padding-bottom: 1rem;
}

/* Submenu styles */
.caf-nav-v2-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 200px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    list-style: none;
    padding: 10px 0;
    margin: 0;
    z-index: 1001;
}

.caf-nav-v2-submenu li::before,
.caf-nav-v2-subhome-dropdown-item::before {
    display: unset;
    position: unset;
    width: unset;
    height: unset;
    top: unset;
    left: 0;
    background-color: unset;
    -webkit-mask: unset;
    mask: unset;
    mask-size: unset;
    -webkit-mask-size: unset;
    mask-size: unset;
}

.caf-nav-v2-subhome-item:hover > .caf-nav-v2-submenu {
    display: block;
}

.caf-nav-v2-submenu-link {
    display: block;
    padding: 10px 20px;
    font-size: 12px;
    color: #4a4a4a;
    text-decoration: none;
    text-transform: none;
}

.caf-nav-v2-submenu-link:hover {
    background-color: #f9f9f9;
    color: #00a0d2;
}

/* Adjustment for submenus inside the "More" dropdown */
.caf-nav-v2-subhome-dropdown-item .caf-nav-v2-submenu {
    position: static;
    display: block;
    box-shadow: none;
    padding-left: 20px;
    background: #fcfcfc;
}

.caf-nav-v2-subhome-link:hover {
    /*color: #00a0d2;*/
    text-shadow: 0 0 0.4px black, 0 0 0.4px black;
    border-bottom: 3px solid #bbb;
    padding-bottom: 1rem;
}

/* Dropdown MÁS */
.caf-nav-v2-subhome-more {
    position: relative;
    flex-shrink: 0;
    margin-left: auto;
}

    .caf-nav-v2-subhome-more.hidden {
        display: none !important;
    }

.caf-nav-v2-subhome-more-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 16px 18px;
    color: #00a0d2;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    background: none;
    border: none;
    font-family: inherit;
    white-space: nowrap;
}

    .caf-nav-v2-subhome-more-toggle:hover {
        color: #0080a8;
    }

    .caf-nav-v2-subhome-more-toggle svg {
        width: 10px;
        height: 10px;
        transition: transform 0.2s ease;
        fill: currentColor;
    }

.caf-nav-v2-subhome-more.open .caf-nav-v2-subhome-more-toggle svg {
    transform: rotate(180deg);
}

.caf-nav-v2-subhome-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #ffffff;
    min-width: 200px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: all 0.2s ease;
    list-style: none;
    padding: 0;
    margin: 0;
}

.caf-nav-v2-subhome-more.open .caf-nav-v2-subhome-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.caf-nav-v2-subhome-dropdown-item {
    border-bottom: 1px solid #f0f0f0;
}

    .caf-nav-v2-subhome-dropdown-item:last-child {
        border-bottom: none;
    }

.caf-nav-v2-subhome-dropdown-link {
    display: block;
    padding: 14px 20px;
    color: #4a4a4a;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: all 0.2s ease;
}

    .caf-nav-v2-subhome-dropdown-link:hover {
        color: #00a0d2;
        background-color: #f9f9f9;
    }

/* Estilo para item activo en menú principal */
.caf-nav-v2-subhome-item.active .caf-nav-v2-subhome-link {
    color: #00a0d2;
    border-bottom: 2px solid #00a0d2;
}

/* Estilo para item activo en dropdown */
.caf-nav-v2-subhome-dropdown-item.active .caf-nav-v2-subhome-dropdown-link {
    color: #00a0d2;
    background-color: #f0f8ff;
    border-left: 3px solid #00a0d2;
}

/*Módulo acordeón*/
.red-accordion__row__dropdown > :last-child {
    margin-bottom: 2.4rem;
    padding-bottom: 1.6rem;
}

/*Fin Módulo acordeón*/

/*Ajustes nuevo menú izquierdo*/

/*AJUSTE MENU NUEVO*/
/* CORRECCIÓN: Mostrar hamburguesa en móvil y tablet */
.burgerBtn {
    display: block;
}

@media all and (min-width: 1424.1px) {
    .burgerBtn {
        display: none !important;
    }
}

/* CORRECCIÓN: Botón de búsqueda visible en desktop */
.hide-desktop-xl--topbar {
    display: block;
}

@media all and (min-width: 1424.1px) {
    .hide-desktop-xl--topbar {
        display: block !important;
    }
}

.hide-mobile--topbar {
    display: none;
}

@media all and (min-width: 89rem) {
    .hide-mobile--topbar {
        display: block;
    }
}

.padding-main-horizontal {
    padding-right: clamp(2.4rem, 10.67vi - 1.76rem, 13.6rem);
    padding-left: clamp(2.4rem, 10.67vi - 1.76rem, 13.6rem);
}

/* TOPNAV EXTRA - CORREGIDO PARA MÓVIL */
.topnav {
    background-color: #025387;
    color: white;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
    padding: 0.8rem 2.4rem;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.4rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
}

.topnav__menu {
    display: flex;
    justify-content: flex-end;
    gap: 2.4rem;
    width: 100%;
}

.topnav__link {
    color: white;
    text-decoration: none;
    padding: 0.4rem 0;
    font-size: 1.2rem;
}

    .topnav__link:hover {
        text-decoration: underline;
    }

/* Ocultar topnav en móvil */
@media all and (max-width: 768px) {
    .topnav {
        display: none;
    }
}

/* Ajustar body cuando topnav está presente */
body.has-topnav {
    padding-top: 8rem;
}

@media all and (max-width: 768px) {
    body.has-topnav {
        padding-top: 4.8rem;
    }
}

/* TOPBAR */
.topbar {
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 4;
    display: flex;
    justify-content: space-between;
    padding-right: 2.4rem;
    padding-left: 2.4rem;
    height: 4.8rem;
    align-items: center;
    min-height: auto;
}

/* Ajustar topbar cuando topnav está presente */
body.has-topnav .topbar {
    top: 3.2rem;
}

@media all and (max-width: 768px) {
    body.has-topnav .topbar {
        top: 0;
    }
}

@media all and (min-width: 1424.1px) {
    .topbar {
        padding-right: 3.2rem;
        padding-left: 3.2rem;
    }
}

.topbar__menu {
    display: flex;
    gap: 2.4rem;
    align-items: center;
}

/* CORRECCIÓN: Contenedor para elementos de la derecha (búsqueda e idioma) */
.topbar__right-elements {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

/* CORRECCIÓN COMPLETA: Menú móvil */
.topbar__menu__nav {
    background-color: #fff;
    position: fixed;
    width: 100%;
    top: 4.8rem;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    display: none;
    z-index: 10;
    padding: 0;
    transition: transform 0.3s ease;
    transform: translateX(100%);
}

body.has-topnav .topbar__menu__nav {
    top: 8rem;
}

@media all and (max-width: 768px) {
    body.has-topnav .topbar__menu__nav {
        top: 4.8rem;
    }
}

.topbar__menu__nav--active {
    display: block;
    transform: translateX(0);
}

@media all and (min-width: 1424.1px) {
    .topbar {
        min-height: 8rem;
    }

    .topbar__menu__nav {
        position: static;
        display: flex !important;
        align-items: center;
        overflow: visible;
        height: auto;
        transform: none;
        width: auto;
        background: none;
        padding: 0;
    }
}

.topbar__menu__nav__ul {
    padding: 0;
    margin: 0;
    width: 100%;
}

@media all and (min-width: 1424.1px) {
    .topbar__menu__nav__ul {
        display: flex;
        width: auto;
    }
}

.topbar__links {
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.4rem;
    text-decoration: none;
    padding: 1.3rem 1.6rem;
    display: block;
    width: 100%;
    border-bottom: 1px solid #f0f0f0;
    color: #3b3b3b;
}

    .topbar__links > a {
        color: inherit;
        text-decoration: none;
        display: block;
        width: 100%;
    }

/* CORRECCIÓN: Posición absoluta para desktop - SIN position:relative */
@media all and (min-width: 1424.1px) {
    .topbar__links {
        position: static;
        border-bottom: none;
        width: auto;
        padding: 1.3rem 0.8rem;
        /* CORRECCIÓN: sin esto, el <li> puede encogerse (flex-shrink
                   por defecto) justo antes del breakpoint de hamburguesa,
                   quedándose más angosto que el texto + flecha del enlace y
                   forzando que la flecha caiga a una segunda línea. */
        flex-shrink: 0;
    }

        .topbar__links > a {
            width: auto;
            /* CORRECCIÓN: evita que el texto y la flecha (::after) se
                   partan en dos líneas si el contenedor se estrecha. */
            white-space: nowrap;
        }

        .topbar__links:hover {
            text-shadow: 0 0 0.4px black, 0 0 0.4px black;
            border-bottom: 3px solid #bbb;
            padding-bottom: 1rem;
        }
}

/* Indicador de megamenu (triángulo) */
.topbar__links.has-megamenu > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #3b3b3b;
    margin-left: 6px;
    transition: transform 0.3s ease;
}

.topbar__links.has-megamenu:hover > a::after,
.topbar__links.has-megamenu.active > a::after {
    transform: rotate(180deg);
}

/* Ocultar triángulo en móvil */
@media all and (max-width: 1424px) {
    .topbar__links.has-megamenu > a::after {
        display: none;
    }
}


/* MEGAMENU STYLES - CORREGIDOS PARA 100% ANCHO */
.megamenu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    background-color: white;
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
    display: none;
    z-index: 100;
    padding: 2.4rem 0;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    max-height: 0;
    overflow: hidden;
    padding-top: 0.5rem;
    margin-top: 0rem;
}

/* CORRECCIÓN: Contenedor padre para posicionamiento correcto */
.topbar__links.has-megamenu {
    position: static;
}

@media all and (min-width: 1424.1px) {
    .topbar__links.has-megamenu {
        position: static;
    }

    .megamenu {
        left: 50%;
        transform: translateX(-50%) translateY(-10px);
        width: 100vw;
        max-width: 100vw;
        transition: opacity 0.3s ease 0.1s, transform 0.3s ease 0.1s, max-height 0s ease 0.4s;
    }

    .topbar__links.has-megamenu:hover .megamenu,
    .topbar__links.has-megamenu:focus-within .megamenu,
    .topbar__links.has-megamenu.active .megamenu {
        display: block;
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        max-height: 500px;
        /* CORRECCIÓN: overflow:visible solo mientras está abierto, para
                   que el puente de hover (::before, ver más abajo) no quede
                   recortado. En estado cerrado sigue con overflow:hidden para
                   que la animación de colapso se vea limpia. */
        overflow: visible;
        transition: opacity 0.3s ease, transform 0.3s ease, max-height 0s ease 0.3s;
    }

    /* CORRECCIÓN: puente invisible de hover.
               El <li> se centra verticalmente dentro de la topbar (min-height:8rem),
               así que su borde inferior queda un puñado de píxeles por encima de
               donde empieza el megamenú (top:100% de .topbar). Al bajar el mouse
               —sobre todo en diagonal, hacia el centro del megamenú— ese hueco
               hace perder el hover antes de llegar al contenido. Este pseudo-
               elemento, hijo del propio .megamenu, extiende su área "hoverable"
               hacia arriba para cubrir ese hueco. Al ser parte de .megamenu
               (que solo se renderiza cuando ese item está abierto) no interfiere
               con los demás enlaces del menú.               */
    .megamenu::before {
        content: '';
        position: absolute;
        top: -3rem;
        left: 0;
        right: 0;
        height: 3rem;
    }
}

/* CORRECCIÓN: flex en lugar de grid de 4 columnas fijas.
           Con "grid-template-columns: repeat(4, 1fr)" una sola columna (o dos)
           quedaba anclada en el primer tercio/cuarto del contenedor de 1200px,
           lejos del enlace que la abre. Con flex + justify-content:center,
           1, 2, 3 o 4 columnas siempre quedan centradas dentro del megamenú. */
.megamenu__container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 0 2.4rem;
}

.megamenu__column {
    /* CORRECCIÓN: antes tenía flex-grow:1, así que cada columna se
               estiraba para rellenar el espacio disponible (hasta 280px) sin
               importar cuánto texto tuviera, dejando columnas muy anchas con
               mucho aire alrededor de enlaces cortos. Con flex-grow:0 cada
               columna solo ocupa el ancho que necesita su contenido (hasta el
               tope de max-width), y el conjunto se sigue centrando gracias a
               justify-content:center en .megamenu__container. */
    flex: 0 1 190px;
    max-width: 220px;
    /* pequeño respiro para que el fondo/subrayado del hover de
               .megamenu__links no quede pegado a la columna siguiente */
    margin-right: 1.6rem;
}

    .megamenu__column h4 {
        margin-bottom: 0.8rem;
        color: #005288;
        font-weight: 700;
        font-size: 1.6rem;
    }

.megamenu__links {
    display: block;
    color: #1f1f1f;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.4rem;
    line-height: 1.25;
    font-weight: 500;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
    padding: 0.6rem 1.6rem;
    margin: 0 -1.6rem;
    border-left: 3px solid transparent;
    text-decoration: none;
}

.megamenu__links:hover,
.megamenu__links:focus-visible{
    color: #005288;
    text-decoration: underline;
    background-color: #eaf3fa;
    border-left-color: #005288;
}
.caf-nav-v2-submenu-link {
    display: block;
    color: #1f1f1f;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.4rem;
    line-height: 1.25;
    font-weight: 500;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
    padding: 0.6rem 1.6rem;
    margin: auto;
    border-left: 3px solid transparent;
    text-decoration: none;
}
.caf-nav-v2-submenu-link:hover, .caf-nav-v2-submenu-link:focus-visible {
    color: #005288;
    text-decoration: underline;
    background-color: #eaf3fa;
    border-left-color: #005288;
}


/* Ajustes para móvil - COMPLETAMENTE CORREGIDOS */
@media all and (max-width: 1424px) {
    .megamenu {
        position: static;
        display: none;
        width: 100%;
        box-shadow: none;
        padding: 0;
        transform: none;
        max-height: none;
        opacity: 1;
        background-color: #f8f8f8;
        transition: none;
        max-height: 0;
        overflow: hidden;
        margin-top: 1rem;
    }

    .megamenu__container {
        flex-direction: column;
        max-width: none;
        gap: 0;
        padding: 0;
    }

    .megamenu__column {
        flex: none;
        max-width: none;
        padding: 1.6rem;
        border-bottom: 1px solid #e0e0e0;
    }

        .megamenu__column:last-child {
            border-bottom: none;
        }

        .megamenu__column h4 {
            margin-bottom: 1rem;
            font-size: 1.4rem;
            color: #005288;
        }

    .megamenu__links {
        padding: 0.6rem 2rem;
        margin: 0;
        font-size: 1.3rem;
        color: #1f1f1f;
        border-left: none;
        display: block;
    }

        .megamenu__links:hover,
        .megamenu__links:focus-visible {
            background-color: #eaf3fa;
            border-left: none;
        }

    .topbar__links.has-megamenu.active .megamenu {
        display: block;
        max-height: 2000px;
        transition: max-height 0.3s ease;
    }
}

/* Botón de cerrar para móvil */
.mobile-menu-close {
    display: none;
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    font-size: 2.4rem;
    cursor: pointer;
    z-index: 11;
    padding: 0.5rem;
    color: #3b3b3b;
}

@media all and (max-width: 1424px) {
    .mobile-menu-close {
        display: block;
    }
}

.topbar__btn-search__modal {
    display: none;
    background-color: #fff;
    position: absolute;
    top: 4.8rem;
    right: 0;
    width: 100vw;
    border-bottom: 1px #005288 solid;
    padding: 1.6rem;
    -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    z-index: 6;
}

@media all and (min-width: 48rem) {
    .topbar__btn-search__modal {
        width: 45rem;
    }
}

@media all and (min-width: 1424px) {
    .topbar__btn-search__modal {
        top: 6.4rem;
    }
}

.topbar__btn-search__modal label {
    font-size: 1.6rem;
}

.topbar__btn-search__modal input {
    width: 100%;
}

    .topbar__btn-search__modal input::placeholder {
        font-family: "Raleway", Arial, Helvetica, sans-serif;
        padding-left: 0.8rem;
    }

    .topbar__btn-search__modal input:focus {
        font-family: "Raleway", Arial, Helvetica, sans-serif;
        padding-left: 0.8rem;
    }

.topbar__btn-search__modal .search-modal-close {
    width: 1.2rem;
    height: 1.2rem;
    padding-top: 0.2rem;
}

.topbar__btn-search__modal--active {
    display: block;
}

.topbar__btn-lang {
    font-size: 1.4rem;
    font-weight: 400;
    text-transform: capitalize;
    letter-spacing: 0;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 2.4rem 1.6rem;
}

@media all and (min-width: 1424.1px) {
    .topbar__btn-lang {
        padding: 0;
    }
}

.svg--topbar {
    width: 17.4rem;
    height: 3.2rem;
}

@media all and (min-width: 1424.1px) {
    .svg--topbar {
        width: 24rem;
        height: 4rem;
    }
}

.input__type-text {
    padding: 1.2rem 1.6rem;
    border: 1px solid #bbb;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.6rem;
}

.input__type-text--search {
    border-right: none;
}

.btn--primary {
    background-color: #005288;
    color: #fff;
    padding: 1.2rem 1.6rem;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
    font-size: 1.6rem;
    text-align: center;
}

@media (min-width: 1424.1px) {
    .topbar__menu__nav__ul + .topbar__menu__nav__ul {
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
        padding-left: 1.2rem;
    }
}

.topbar__menu__nav__ul + .topbar__menu__nav__ul {
    background-color: #e4f2e3;
}

@media (min-width: 1424.1px) {
    .topbar__menu__nav__ul {
        padding-right: 1.2rem;
        display: flex;
    }
}

/* SELECTOR DE IDIOMAS */
.btn-lang {
    position: relative;
}

.btn-lang__select-box {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    cursor: pointer;
}

.btn-lang__select-box__selected {
    margin: 0;
}

.btn-lang__select-box__cover {
    width: 1.2rem;
    height: 1.2rem;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%233B3B3B" d="M8 11L3 6h10l-5 5z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.btn-lang__languages {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #fff;
    border: 1px solid #bbb;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 10;
    min-width: 120px;
}

.btn-lang__languages--active {
    display: block;
}

.btn-lang__languages p {
    padding: 0.8rem 1.6rem;
    margin: 0;
    transition: background-color 0.2s;
}

    .btn-lang__languages p:hover {
        background-color: #f2f2f2;
    }

/* CORRECCIÓN DE VISIBILIDAD PARA EL MENÚ MÓVIL */
@media all and (max-width: 768px) {
    /* Al estar abierto, aseguramos display y posicionamiento sobre la vista */
    #mobileMenu.topbar__menu__nav--active,
    #mobileMenu.open {
        display: block !important;
        transform: translateX(0) !important;
        position: fixed;
        top: 4.8rem;
        left: 0;
        width: 100vw;
        height: calc(100vh - 4.8rem);
        background-color: #ffffff;
        z-index: 999;
    }

    /* Si body tiene .has-topnav, ajustar el top en móvil */
    body.has-topnav #mobileMenu.topbar__menu__nav--active,
    body.has-topnav #mobileMenu.open {
        top: 4.8rem;
    }
    .topbar__right-elements {
        display: flex;
        align-items: center;
        gap: 0.6rem;
    }
    .topbar__menu {
        display: flex;
        gap: 0.4rem;
        align-items: center;
    }
    .topbar__btn-lang {
        gap: 0.3rem;
        padding: 0.4rem 0.4rem;
    }
}

/* CORRECCIÓN DE POSICIONAMIENTO PARA EL DESPLEGABLE DE IDIOMA */
.btn-lang__languages.btn-lang__languages--active {
    display: block !important;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    background-color: #ffffff;
}

/* HOME breadcrumb */
.breadcrumbs, .breadcrumbs--microsite, .breadcrumbs--home {
    z-index: 3;
}

@media (min-width: 1424.1px) {
    .breadcrumbs, .breadcrumbs--microsite, .breadcrumbs--home {
        margin-top: 1.8rem;
    }
}

.breadcrumbs, .breadcrumbs--microsite, .breadcrumbs--home {
    color: #717074;
    font-family: "Raleway",Arial,Helvetica,sans-serif;
    font-size: 1.4rem;
    background-color: #f7f7f7;
    padding: 0 2.4rem;
    position: sticky;
    top: 4.8rem;
    left: 0;
    width: 100%;
    z-index: 2;
}

body.has-topnav .breadcrumbs--home {
    top: 11rem;
}

@media all and (max-width: 1424px) {
    body.has-topnav .breadcrumbs--home {
        top: 2.8rem;
    }
}

.breadcrumbs--home h1 {
    color: #717074;
    font-family: "Raleway",Arial,Helvetica,sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2rem;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
}

section {
    display: block;
    unicode-bidi: isolate;
}

.bg-color-gris-100 {
    background-color: #e6e6e6;
}

/* Título del menú móvil */
.mobile-menu-title {
    display: none;
    padding: 1.6rem;
    background-color: #f8f8f8;
    border-bottom: 1px solid #e0e0e0;
    font-size: 1.8rem;
    font-weight: bold;
    color: #005288;
}

@media all and (max-width: 1424px) {
    .mobile-menu-title {
        display: block;
    }
}

/* CORRECCIÓN: Menú superior adicional para móvil */
.mobile-topnav {
    display: none;
    background-color: #025387;
    padding: 1rem 1.6rem;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}

@media all and (max-width: 1424px) {
    .mobile-topnav {
        display: block;
    }
}

.mobile-topnav__links {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.mobile-topnav__link {
    color: white;
    text-decoration: none;
    font-size: 1.4rem;
    padding: 0.5rem 0;
    font-family: "Raleway", Arial, Helvetica, sans-serif;
}

.mobile-topnav__link:hover {
    text-decoration: underline;
}
/*Fin MENU NUEVO*/

/*Módulo textos destacados*/

@media (min-width: 64rem) {
    .card__com:hover .card__com__foot {
        max-height: 90rem !important;
    }
}

.card__com:hover .line-clamp--2 {
    display: block;
}

/*Fin de módulo textos destacados*/

/* HERO APERTURA — fondo fijo + cards (foto + título + enlace)   */
/* ============================================================ */
.hero-apertura {
    /* Altura del BLOQUE completo (fondo + skin): se mantiene igual que en la
       versión anterior, independiente de la altura del card. En mobile se
       amplía un poco más abajo para darle aire al card apilado. */
    --hero-apertura-container-h: clamp(30rem, 60vh, 52rem);
    /* Altura del CARD: bastante menor que el contenedor, con su propia
       proporción. Mobile (stack) usa vh, desktop usa vw para que ronde
       ~300px (30rem) y mantenga esa proporción en distintos anchos. */
    --hero-apertura-slide-h: clamp(34rem, 66vh, 46rem);
    /* Alto de los botones prev/next: se reserva como espacio libre abajo
       del viewport para que no tapen el card */
    --hero-apertura-arrow-h: 10rem;
    position: relative;
    width: 100%;
    overflow: hidden;
    /* La foto de fondo NO va aquí: el CMS gestiona imágenes de contenido
       desde el HTML (atributo style), no desde archivos .css. Se define
       inline en el elemento .hero-apertura del HTML. */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media all and (max-width: 61.9rem) {
    .hero-apertura {
        /* En mobile el card apilado necesita más aire alrededor */
        --hero-apertura-container-h: clamp(38rem, 74vh, 60rem);
    }
}

@media all and (min-width: 62rem) {
    .hero-apertura {
        /* ~300px de referencia sobre un desktop de 1440px (20.8vw ≈ 30rem) */
        --hero-apertura-slide-h: clamp(20rem, 20.8vw, 32rem);
    }
}

/* Skin de color fijo sobre la foto de fondo: no cambia entre slides */
.hero-apertura__skin {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(100deg, rgba(11, 28, 46, 0.74) 0%, rgba(13, 37, 74, 0.8) 35%, rgba(35, 44, 120, 0.52) 70%)
}

/* El viewport centra el card (y el logo, si existe) verticalmente dentro de
   hero-apertura. Usa min-height como PISO, no como altura fija: si se agrega
   el logo del evento, el bloque completo crece para darle espacio; si no
   está, todo se centra igual dentro de esa altura mínima, sin huecos. */
.hero-apertura__viewport {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: var(--hero-apertura-container-h);
    padding-bottom: var(--hero-apertura-arrow-h);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(2.4rem, 4vh, 4rem);
    overflow: hidden;
    box-sizing: border-box;
}

@media all and (max-width: 61.9rem) {
    .hero-apertura__viewport {
        /* En anchos menores a ~990px el logo del evento queda muy pegado
           al header/breadcrumb; se reserva un aire fijo arriba, sin depender
           del centrado vertical (que puede no dejar espacio si el contenido
           ya ocupa casi toda la altura del bloque) */
        padding-top: 3.2rem;
    }
}

/* Logo del evento: placeholder de texto. Opcional — el layout funciona
   igual de bien si este elemento no está presente en el HTML. */
.hero-apertura__event-logo {
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: clamp(1.6rem, 2vw, 2.8rem);
    text-align: left;
    padding-left: clamp(2.4rem, 5vw, 8rem);
    padding-top: 45px;
}

@media (min-width: 64rem) {
    .hero-apertura__event-logo .special-logo {
        width: 30rem;
    }
}

.hero-apertura__track {
    display: flex;
    width: 100%;
    transition: transform 0.55s cubic-bezier(0.65, 0, 0.35, 1);
    will-change: transform;
}

/* Card: sin paddings verticales, con altura relativa (menor que el contenedor padre)
   y un fondo de color translúcido a todo lo ancho (visible sobre todo detrás del texto) */
.hero-apertura__slide {
    flex: 0 0 100%;
    width: 100%;
    height: var(--hero-apertura-slide-h);
    display: grid;
    grid-template-columns: minmax(22rem, 32%) 1fr;
    align-items: stretch;
    gap: 4.8rem;
    padding: 0;
    background-color: rgb(2 26 51 / 45%);
}

@media all and (max-width: 61.9rem) {
    .hero-apertura__slide {
        grid-template-columns: 1fr;
        grid-template-rows: 3fr 3fr;
        gap: 0;
    }
}

.hero-apertura__slide-img-wrap {
    overflow: hidden;
    height: 100%;
}

.hero-apertura__slide-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-apertura__slide-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1.6rem;
    color: #fff;
    padding: 0 2.4rem;
}

@media all and (min-width: 62rem) {
    .hero-apertura__slide-content {
        padding: 0 4.8rem 0 0;
    }
}

.hero-apertura__slide-title {
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.25;
    margin: 0;
}

@media all and (min-width: 62rem) {
    .hero-apertura__slide-title {
        font-size: 3.2rem;
        max-width: 56rem;
    }
}

.hero-apertura__slide-link {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #fff;
    transition: border-color 0.2s ease, opacity 0.2s ease;
}

    .hero-apertura__slide-link:hover {
        border-color: #84cc16;
        opacity: 0.85;
    }

/* Transición de entrada del título/enlace al activarse el slide */
.hero-apertura__slide-title,
.hero-apertura__slide-link {
    opacity: 0;
    transform: translateX(2.4rem);
}

.hero-apertura__slide.is-active .hero-apertura__slide-title,
.hero-apertura__slide.is-active .hero-apertura__slide-link {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.hero-apertura__slide.is-active .hero-apertura__slide-title {
    transition-delay: 0.15s;
}

.hero-apertura__slide.is-active .hero-apertura__slide-link {
    transition-delay: 0.3s;
}

/* Controles: dos botones fijos abajo a la izquierda, igual que el módulo de referencia.
   Van fuera de hero-apertura__viewport y se posicionan de forma absoluta para no
   depender del flujo del track ni de la altura variable del card. */
.hero-apertura__controls {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    display: flex;
}

.hero-apertura__arrow {
    width: 10rem;
    height: var(--hero-apertura-arrow-h);
    border: none;
    background-color: #0770FE94;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

    .hero-apertura__arrow:hover {
        background-color: #49A848;
    }

    .hero-apertura__arrow img {
        width: 1rem;
        height: auto;
    }

    /*Fin modulo hero*/

/* CIFRAS — foto de fondo + skin de color, título y cards en flex */
/* ============================================================ */
.cifras {
    position: relative;
    width: 100%;
    overflow: hidden;
    /* La foto de fondo NO va aquí: el CMS gestiona imágenes de contenido
       desde el HTML (atributo style), no desde archivos .css. Se define
       inline en el elemento .cifras del HTML. */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Skin de color sobre la foto de fondo, con la misma familia de azules
   usada en el resto del microsite (hero de apertura) */
.cifras__skin {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(2, 26, 51, 0.62);
}

.cifras__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(3.2rem, 6vh, 5.6rem);
    padding: clamp(4.8rem, 9vh, 8rem) 2.4rem;
    text-align: center;
}

.cifras__title {
    margin: 0;
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: clamp(2.4rem, 1.14vi + 1.55rem, 3.6rem);
}

/* Tres cards con flex: en fila en desktop, se apilan solas en mobile
   gracias al wrap, sin necesidad de una media query aparte */
.cifras__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: clamp(2.4rem, 4vw, 6.4rem);
    width: 100%;
}

.cifras__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    width: 24rem;
    max-width: 100%;
    padding: 2.4rem;
    border: 1px solid #ffcd0565;
}

.cifras__number {
    margin: 0;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    font-size: clamp(3.6rem, 2.28vi + 2.8rem, 5.2rem);
}

.cifras__label {
    margin: 0;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 1.6rem;
}
/*Fin modulo cifras*/

/*Ajuste menú viejo*/
.topbar__menu__nav--active .topbar__menu__nav__ul {
    background-color: #fff;
}
.topbar__menu__nav--active .topbar__menu__nav__ul + .topbar__menu__nav__ul {
    background-color: #e4f2e3;
}
.topbar__menu__nav--active {
    overflow-y: auto !important; 
    height: auto !important;
}
.mobile-menu-title {
    background-color: #f8f8f8;
    border-bottom: 1px solid #e0e0e0;
}
.searchBtnMobile {cursor:pointer;}