/* Contenedor principal */
.mosaic-container {
    width: 100%;
    max-width: var(--zg-standard-max-width);
    height: 100%;
    margin: auto;
}

/* Títuclo y subtitulo del diseño */
/*ToDo: hacer*/

/* Contenedor de imágenes */
.mosaic-container__images {
    display: flex;
    flex-direction: column;
}

/* Tamaños de las imágenes */
.mosaic-container__images .img-large {
    width: 100%;
    height: 500px;
}

.mosaic-container__images .img-small {
    width: 50%;
    height: 300px;
}

/* Filas de imagenes */
.mosaic-container__images__row {
    display: flex;
    flex-direction: row;
    width: 100%;
}

/* Elementos individuales */
.mosaic-container__images__item {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: auto;
}

/* Imágenes */
.image-responsive {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.6s ease;
    z-index: 1;
}

.mosaic-overlay:hover .image-responsive {
    transform: scale(1.1);
}

.mosaic-overlay {
    position: relative;
    width: 100%;
    height: 100%;
}

/* Efecto hover */
.mosaic-text-group {
    position: absolute;
    bottom: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    text-align: left;
    overflow: hidden;
    z-index: 2;
    gap: 10px;

}

.mosaic-img__title {
    font-size: var(--zg-font-size-h1);
    font-weight: var(--zg-font-weight-bold);
    margin: 0;
    color: var(--zg-color-white);
}

.img-small .mosaic-img__title,
.img-small .mosaic-img__subtitle {
    width: 100%;
}

.img-large .mosaic-img__title,
.img-large .mosaic-img__subtitle {
    width: 100%;
}

.mosaic-img__subtitle {
    font-size: var(--zg-font-size-body);
    margin: 0;
    color: var(--zg-color-white);
    width: 40%;
    line-height: 24px;
}

/* Posiciones texto */
.position-bottom-left {
    bottom: 50px;
    left: 50px;
    text-align: left;
}

.position-bottom-center {
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.position-bottom-right {
    bottom: 10px;
    right: 10px;
    text-align: right;
}

.position-middle-left {
    top: 50%;
    left: 50px;
    transform: translateY(-50%);
    text-align: left;
    max-width: 400px;
}

.position-middle-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.position-middle-right {
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    text-align: right;
}

.position-top-left {
    top: 10px;
    left: 10px;
    text-align: left;
}

.position-top-center {
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.position-top-right {
    top: 10px;
    right: 10px;
    text-align: right;
}

@media only screen and (max-width: 767px) {
    .mosaic-container {
        width: var(--zg-tab-width);
        height: 100%;
    }

    .mosaic-container__images .img-large {
        width: 100%;
        height: 350px;
    }

    .img-large .mosaic-img__title,
    .img-large .mosaic-img__subtitle {
        width: 100%;
    }
}

@media only screen and (max-width: 450px) {

    .mosaic-container__images__row {
        flex-direction: column;
    }

    .mosaic-container__images .img-large {
        width: 100%;
        height: 200px;
    }

    .mosaic-container__images .img-small {
        width: 100%;
        height: 200px;
    }

    .img-small .mosaic-img__title,
    .img-large .mosaic-img__title {
        width: 60%;
        font-size: var(--zg-font-size-h3);
    }

    .img-small .mosaic-img__subtitle,
    .img-large .mosaic-img__subtitle {
        display: none;
    }

    .mosaic-container .position-bottom-left,
    .mosaic-container .position-middle-left {
        transform: none;
        bottom: 20px;
        left: 20px;
        text-align: left;
        top: auto;
    }
}