﻿/* 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;
}
/* 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;
    }
}
