.epp-grid {
    display: grid;
    gap: 25px;
}

.columns-3 { grid-template-columns: repeat(3,1fr); }
.columns-4 { grid-template-columns: repeat(4,1fr); }

.epp-item {
    overflow: hidden;
    border-radius: 14px;
}

.epp-inner {
    position: relative;
}

.epp-inner img {
    width: 100%;
    transition: 0.4s;
}

.epp-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
    opacity: 0;
    color: #fff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: 0.4s;
}

.epp-item:hover img {
    transform: scale(1.1);
}

.epp-item:hover .epp-overlay {
    opacity: 1;
}

.epp-btn {
    background: #fff;
    color: #000;
    padding: 8px 14px;
    margin-top: 10px;
    display: inline-block;
}