@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Oswald:wght@200..700&display=swap');

:root {
    --negro: black;
    --amarillo: #FFD939;
    --marron: #1C1702;

    --size-120:120px;
}

body.popup_abierto {
  overflow: hidden;
}

.hidden {
    display:none;
}

.pride {
    background-image: url(../images/background_pride.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
}

.pride .container {
    width: 100%;
    padding-left: var(--padding-interior);
    padding-right: var(--padding-interior);
}

.pride p {
    color: var(--negro);
    font-family: Arial, sans-serif;
    font-size: var(--size-24);
    font-weight: 400;
}

.pride h2, .pride h2 p {
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    font-size: var(--size-titulo);
    color: var(--negro);
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

/* Introduccion */
.pride .introduccion {
    padding-top: 0;
}

.pride .introduccion h2 {
    text-align: end;
}

.pride .introduccion .textos .col_7_12 {
    padding-right: var(--margin-bloques);
}

.pride .introduccion .texto p:not(:last-of-type){
    margin-bottom: var(--margin-elementos);
}

.pride .introduccion .logo {
    margin-right: 0;
    margin-left:auto;
}

.pride .introduccion .imagen::before {
  content: '';
  position: absolute;
  top: 50%;
  right: calc(-1 * var(--margin-bloques)); /* Desplazado fuera del contenedor */
  width: 100px;   /* Ajusta según lo grande que quieras la mancha */
  height: 60%; /* O una altura fija como 300px si prefieres */
  background-image: url(../images/manch_lateral_derecha.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right;
  pointer-events: none; /* Para que no bloquee clics */
  z-index: 0; /* Detrás del contenido */
  transform: translateY(-50%);
}

.pride .introduccion .logo .imagen::before {
    width: 0;
    height: 0;
}


/* Video */

.pride .video::before {
    content: '';
    position: absolute;
    top:calc(-1 * var(--margin-bloques));
    right: var(--margin-bloques); /* Desplazado fuera del contenedor */
    width: 30%;   /* Ajusta según lo grande que quieras la mancha */
    height: 114px; /* O una altura fija como 300px si prefieres */
    background-image: url(../images/mancha_video.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    pointer-events: none; /* Para que no bloquee clics */
    z-index: 0; /* Detrás del contenido */
}

.pride .video::after {
    content: '';
    position: absolute;
    top: calc( -1 * 30%);
    left: 0;
    width: 42px;   /* Ajusta según lo grande que quieras la mancha */
    height: 70%; /* O una altura fija como 300px si prefieres */
    background-image: url(../images/mancha_izq.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    pointer-events: none; /* Para que no bloquee clics */
    z-index: 0; /* Detrás del contenido */
}


.pride .video {
    position: relative;
}

.pride .llyc-video::after, .popup-inner .llyc-video::after {
    content: '';
     display: block;
    width: 118px;
    height: 118px;
     background-image: url('../images/play_pride.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.llyc-video.nobutton::after {
    background-image: none;
}

/* Slider */

.pride .cards {
    padding: 0;
    position: relative;
}

.pride .cards::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 42px;   /* Ajusta según lo grande que quieras la mancha */
    height: 70%; /* O una altura fija como 300px si prefieres */
    background-image: url(../images/mancha_izq.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    pointer-events: none; /* Para que no bloquee clics */
    z-index: 0; /* Detrás del contenido */
    transform: translateY(-50%);
}

@media (min-width: 768px) { 

.pride .splide__slide:hover .card-slide {
    cursor: pointer;
    transform: scale(1.1);
    z-index: 10;
}

.pride .splide__slide:hover .card-slide::before {
    content: '';
    position: absolute;
    background-image: url(../images/popup_pride_mas.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 114px;
    height: 114px;
    bottom: var(--margin-elementos);
    left: 50%;
    transform: translateX(-50%);
    display: block;
    pointer-events: none;
}

.pride .splide__slide {
    padding: var(--margin-bloques) 0;
    width: calc(25% - 0.666667rem) !important;
  }
}

/* El hover se inyectará con JS en ::after */
.pride .card-slide::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  pointer-events: none;
}

.pride .splide__slide .card-slide {
  transition: transform 0.3s ease, z-index 0.3s ease;
  z-index: 1;
  box-shadow: 0px 4px 6px 6px rgba(0, 0, 0, 0.33);
  position:relative;
  height: 100%;
}

#cards-slider {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}

.pride .splide__slide img {
    height: 100%;
}

.splide__arrow:not(:disabled){
    opacity: 1;
}

.pride .splide__arrow--next::before {
    content: url(../images/flecha_derecha_negra.svg) !important;
}

.pride .splide__arrow--prev::before {
    content: url(../images/flecha_izquierda_negra.svg) !important;
}

.pride .splide__arrow svg {
    display: none;
}


.pride .splide__arrow {
    position: relative;
    right: inherit;
    left: inherit;
    transform: none;
    background-color: transparent;
    gap: var(--margin-elementos);
}

.pride .splide__slide:hover .card-slide::after {
  opacity: 1;
}

.pride .splide__pagination, .pride .splide__arrows {
    display: flex !important;
    position: relative;
    bottom: 0;
    margin-top: var(--margin-elementos-int);
}

.pride .splide__arrows {
    gap: var(--margin-bloques);
}

.splide__pagination__page {
    background-color: var(--negro);
    opacity: 1;
}

.splide__pagination__page.is-active {
    background-color: var(--negro);
    transform: scale(1.6);
}

.imagen-hover-container {
    position: relative;
    display: inline-block;
    margin-top: var(--margin-bloques);
}

.imagen-hover-container .imagen-base {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.3s ease;
}

.splide__pagination__page {
    height: 17px;
    width: 17px;
}

.splide__pagination__page.is-active {
    transform: scale(1);
    width: 30px;
    height: 30px;
}

/* Pancartas */

.pancartas h2 {
    font-size: var(--size-72);
}

.pancartas button {
    border:1px solid var(--marron);
    border-radius: 40px;
    background-color: var(--marron) ;
    color: var(--amarillo);
    text-transform: uppercase;
    font-size: var(--size-24);
    font-family: Arial, sans-serif;
    font-weight: 500;
    padding: 20px 40px;
    display: block;
    margin-right: 0;
    margin-left: auto;
}

@media (min-width: 768px) { 
    .pancartas button:hover {
        background-color: var(--amarillo) ;
        color: var(--marron);
        cursor: pointer;
    }
}

.pancartas .row {
    display: flex;
    align-items: center;
}

.logos {
    background: rgba(0, 0, 0, 0.53);
    padding: var(--margin-elementos) 0;
}

.logos .container {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--margin-bloques);
}

.logos .logo-item{
    max-width: 30%;
}
.agradecimiento {
    width: 75%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-top: var(--margin-elementos);
    margin-left: auto;
    margin-right: auto;
}

.agradecimiento p {
    font-family: Inter;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0%;
    color: var(--second-color);
}

/*
.logos .logo-item:last-child {
    margin-left: auto;
    margin-right: 0;
}*/


.popup, .popup_pancartas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

#popup-body, .popup_body {
    padding: var(--margin-elementos) var(--margin-elementos);
}

.popup.hidden {
  display: none;
}

.popup-inner {
  background-image: url(../images/background_popup.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--amarillo);
  padding: var(--margin-bloques);
  overflow-y:scroll;
  max-height: 100%;
  position: relative;
}

.popup-close, .cerrar_popup_pancartas {
  position: relative;
  top:0;
  right: 0;
  background: none;
  border: none;
  cursor: pointer;
  width: 77px;
  height: 77px;
}

.popup-inner h2 {
    font-family: Oswald;
    font-weight: 700;
    font-size: var(--size-120);
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--amarillo);
    margin-bottom: var(--margin-bloques);
}

.popup-inner h3 {
    font-family: Oswald;
    font-weight: 700;
    font-size: var(--size-50);
    line-height: 103%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--amarillo);
     margin-bottom: var(--margin-bloques);
     margin-top: var(--margin-bloques);
}

.popup-inner .introduccion {
    display: flex;
    align-items: flex-end;
}

.popup-inner .row .col_1_2:first-of-type {
    padding-right: calc(var(--margin-bloques) / 2);
}

.popup-inner .row .col_1_2:last-of-type {
    padding-left: calc(var(--margin-bloques) / 2);
}

.popup-inner .row.titulo .col_1_2 {
    padding: 0;
}

.popup-inner p {
    font-family: Arial;
    font-weight: 400;
    font-size: var(--size-18);
    color: var(--amarillo);
    line-height: 100%;
    margin-bottom: var(--margin-elementos);
}

.popup-inner .pregunta, .popup-inner .pregunta p {
    font-weight: 700;
}

.popup-inner .pregunta {
    margin-bottom: var(--margin-elementos-int);
}

.popup-inner .biografia p {
    font-weight: 700;
    font-size: var(--size-24);
    text-transform: uppercase;
    line-height: 112%;
    margin-bottom: var(--margin-bloques);
    text-align: right;
}

.imagen-hover-container {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
}

.imagen-hover-container img {
  max-width: 50%;
  width: 50%;
  height: auto;
  transition: opacity 0.3s ease;
  display: block;
}


.imagen-hover-container img[data-hover]:hover {
    cursor: pointer;
}

.popup-inner, .popup_contenido {
  scrollbar-width: thin;          /* Firefox: scroll estrecho */
  scrollbar-color: black transparent; /* Firefox: color del scroll */
}

/* Para WebKit (Chrome, Edge, Safari) */
.popup-inner::-webkit-scrollbar, .popup_contenido::-webkit-scrollbar {
  width: 2px; /* ancho del scroll */
}

.popup-inner::-webkit-scrollbar-track, .popup_contenido::-webkit-scrollbar-track{
  background: transparent;
}

.popup-inner::-webkit-scrollbar-thumb, .popup_contenido::-webkit-scrollbar-thumb {
  background-color: black;
  border-radius: 1px;
}

.popup_pancartas .popup_contenido {
    background-image: url(../images/background_popup.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--amarillo);
    padding: var(--margin-bloques);
    max-height: 100%;
    overflow-y: auto;
}

.popup_pancartas .popup_contenido h2 {
    font-size: var(--size-60);
    color: var(--amarillo);
    font-family: Oswald;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.popup_pancartas .popup_contenido  p, .popup_pancartas .popup_contenido h3 {
    font-family: Arial;
    font-weight: 400;
    font-size: var(--size-24);
    line-height: 112%;
    color: var(--amarillo);
}

.popup_pancartas .popup_contenido h3 {
    font-weight: 700;
}

    .carousel-slides {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .carousel-slide {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%) scale(0.8);
        opacity: 0.3;
        filter: blur(5px);
        transition: transform 0.6s ease-in-out,
                    opacity 0.6s ease-in-out,
                    filter 0.6s ease-in-out,
                    z-index 0s step-end;
        width: 100%;
        max-width: fit-content; 
        height: fit-content;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        box-sizing: border-box;
        padding: 20px;
        z-index: 1;
        overflow: visible;
    }

    .carousel-slide img {
        max-width: 100%;
        height: auto;
        max-height: fit-content;
        width: 100%;
        margin-bottom: var(--margin-elementos);
        display: block;
        object-fit: contain;
    }

    .slide-caption {
        color: #fff;
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.3s ease-out, transform 0.3s ease-out;
    }

    /* --- ESTILOS CLAVE PARA EL EFECTO CIRCULAR --- */

    /* Diapositiva Activa (Central) */
    .carousel-slide.active {
        transform: translateX(-50%) scale(1);
        opacity: 1;
        filter: blur(0);
        z-index: 10;
        pointer-events: auto;
    }

    /* Diapositiva Activa: Mostrar el caption */
    .carousel-slide.active .slide-caption {
        opacity: 1;
        transform: translateY(0);
    }

    /* Diapositiva Anterior a la activa */
    .carousel-slide.prev-slide {
        transform: translateX(-100%) scale(0.7);
        opacity: 0.5;
        filter: blur(3px);
        z-index: 5;
        pointer-events: none;
    }

    /* Diapositiva Siguiente a la activa */
    .carousel-slide.next-slide {
        transform: translateX(0%) scale(0.7);
        opacity: 0.5;
        filter: blur(3px);
        z-index: 5;
        pointer-events: none;
    }

    /* Resto de diapositivas (más lejos) */
    .carousel-slide:not(.active):not(.prev-slide):not(.next-slide) {
        opacity: 0.1;
        filter: blur(8px);
        z-index: 1;
        pointer-events: none;
    }

    .carousel-button {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background-color: transparent;
        color: white;
        border: none;
        padding: 0;
        cursor: pointer;
        z-index: 30; /* Aseguramos que esté por encima de todo */
        transition: opacity 0.3s ease;
        width: 33px;
        height: 33px;
    }

     @media (min-width: 768px) { 

        .carousel-button:hover {
            opacity: 1;
            cursor: pointer;
        }
    }

    .carousel-button.prev {
        /* Posicionado más cerca del centro, superponiéndose con la imagen anterior */
        /* Calcula: (max-width del container - max-width de la imagen central) / 2 */
        /* (900px - 500px) / 2 = 200px desde el borde. Un offset de 100px desde ese punto. */
        left: 0; 
    }

    .carousel-button.next {
        /* Idem para la derecha */
        right: 0;
    }

    .carousel-dots {
        position: absolute;
        bottom: 15px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 8px;
        z-index: 10;
        display: none;
    }

    .dot {
        width: 12px;
        height: 12px;
        background-color: rgba(255, 255, 255, 0.5);
        border-radius: 50%;
        cursor: pointer;
        transition: background-color 0.3s ease, transform 0.3s ease;
    }

    .dot.active {
        background-color: #fff;
        transform: scale(1.2);
    }

    .carousel-container {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    @media (max-width: 1200px) { 

        :root {
            --size-120:80px;
        }
    }

    @media (max-width: 768px) { 

        :root {
            --size-120:50px;
        }

        .pancartas button {
                margin-right: auto;
                margin-left: auto;
        }

        .pride {
            width: 100%;
        }

        .pride .introduccion h2 {
            text-align:left;
        }

         .pride .introduccion h2 br {
            display: none;
        }

        .popup-inner .biografia p {
            text-align: left;
        }

        .popup-inner .row .col_1_2:first-of-type, .popup-inner .row .col_1_2:last-of-type {
            padding-right: 0;
            padding-left: 0;
        }

        .popup-close, .cerrar_popup_pancartas {
            width: 40px;
            height: 40px;
        }

        .imagen-hover-container img {
            max-width: 70%;
            width: 70%;
        }

        #popup-body, .popup_body {
            padding-left: 0;
            padding-right: 0;
        }

        .carousel-button {
            width: 20px;
            height: 20px;
        }

        .carousel-slide {
            max-width: 100%;
            padding-left: 33px;
            padding-right: 33px;
        }

        .logos .container {
            flex-wrap: wrap;
        }

        .pride .llyc-video::after, .popup-inner .llyc-video::after {
            width: 80px;
            height: 80px;
        }

        .splide__pagination__page {
            height: 8px;
            width: 8px;
        }

        .splide__pagination__page.is-active {
            transform: scale(1);
            width: 16px;
            height: 16px;
        }

        .agradecimiento {
            width: 100%;
        }

}