    .mosaic-container {
        width: 100%;
        height: 100%;
        margin-bottom: 20px;
    }

    .mosaic-title,
    .mosaic-subtitle {
        display: block;
        position: relative;
    }

    .mosaic-title {
        font-size: var(--zg-font-size-h2);
        font-weight: bold;
        margin: 0;
        color: var(--zg-color-black);
        padding-bottom: 5px;
    }

    .mosaic-subtitle {
        font-size: var(--zg-font-size-body);
        margin: 0;
        color: var(--zg-color-black);
        margin-top: 15px;
        padding-bottom: 5px;
    }

    .mosaic-title::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -10px;
        width: calc(1em * 4);
        height: 3px;
        background-color: var(--zg-color-primary);
    }

    /* Contenedor de imágenes */
    .mosaic-container__images {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    /* Filas */
    .mosaic-container__images__row {
        display: flex;
        gap: 10px;
        justify-content: center;
    }

    /* Elementos individuales */
    .mosaic-container__images__item {
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        height: 580px;
        border-radius: 16px;
    }

    .img-large {
        width: 50%;
    }

    /* Imágenes */
    .image-responsive {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform 0.6s ease;
        z-index: 1;
    }

    .img-large {
        width: 50%;
    }

    .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;
        transition: height 0.6s ease;
        overflow: hidden;
        height: 26px;
        z-index: 2;
    }

    .mosaic-img__title {
        font-size: var(--zg-font-size-h2);
        font-weight: bold;
        margin: 0;
        color: var(--zg-color-white);
    }

    .mosaic-img__subtitle {
        font-size: var(--zg-font-size-body);
        margin: 0;
        color: var(--zg-color-white);
        opacity: 0;
    }

    .mosaic-overlay:hover .mosaic-text-group {
        height: 40px;
    }

    .mosaic-overlay:hover .mosaic-img__subtitle {
        opacity: 1;
    }

    /* Posiciones texto */
    .position-bottom-left {
        bottom: 10px;
        left: 10px;
        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: 10px;
        transform: translateY(-50%);
        text-align: left;
    }

    .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__images__row {
            flex-direction: column;
        }

        .mosaic-container__images .img-large {
            width: 100%;
            height: 250px;
        }

        .mosaic-text-group {
            transition: none;
            height: 40px;
        }

        .mosaic-img__subtitle {
            opacity: 0;
        }
    }