/* ===================== GALERÍA ===================== */
.evento-galeria {
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  gap: 1rem;
}

.galeria-grid {
    display: grid;
    width: 85vw;
    max-width: 1100px;
    height: calc(85vw * 3 / 4);
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0.5rem;
    grid-auto-flow: dense;
}

.galeria-vrt-principal {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    overflow: hidden;
    border-radius: 6px;
}

.galeria-hrz-principal {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    overflow: hidden;
    border-radius: 6px;
}

.galeria-columna-derecha {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

/* Subcolumna izquierda: dos horizontales apiladas */
.galeria-subcolumna-izq {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.5rem;
}

/* Subcolumna derecha: dos verticales lado a lado */
.galeria-subcolumna-der {
    display: flex;
    flex-direction: row;
    flex: 2;
    gap: 0.5rem;
}

.galeria-img {
    overflow: hidden;
    border-radius: 6px;
    flex: 1;
}

.galeria-vrt-principal img,
.galeria-hrz-principal img,
.galeria-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: var(--transition-scale);
}

.galeria-vrt-principal:hover img,
.galeria-hrz-principal:hover img,
.galeria-img:hover img {
    transform: scale(1.05);
}

/* ===================== MÓVIL ===================== */
@media (max-width: 768px) {
    .galeria-grid {
        width: 100%;
        height: calc(100vw * 4 / 3);
        grid-template-columns: 45fr 55fr;
        grid-template-rows: 35fr 40fr 25fr;
    }

    .galeria-hrz-principal {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
    }

    .galeria-vrt-principal {
        grid-column: 1 / 2;
        grid-row: 2 / 4;
    }

    .galeria-columna-derecha {
        grid-column: 2 / 3;
        grid-row: 2 / 4;
        flex-direction: column;
    }

    .galeria-subcolumna-izq {
        flex-direction: row;
    }

    .galeria-subcolumna-der {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .galeria-grid {
        display: flex;
        flex-direction: column;
        height: unset;
    }

    .galeria-hrz-principal img,
    .galeria-vrt-principal img,
    .galeria-img img {
        height: 200px;
    }

    .galeria-columna-derecha {
        flex-direction: column;
    }

    .galeria-subcolumna-izq {
        flex-direction: row;
    }

    .galeria-subcolumna-der {
        flex-direction: row;
    }
}