body1 {
    background-color: #f9f9f9;
    padding: 20px;
    font-family: sans-serif;
}

.partners-box {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    text-align: center;
}

    .partners-box h2 {
        margin-bottom: 40px;
        color: #444;
        font-size: 1.5rem;
    }

/* Using CSS Grid for 21 items */
.logo-grid {
    display: grid;
    /* 7 columns on desktop */
    grid-template-columns: repeat(7, 1fr);
    gap: 30px;
    align-items: center;
}

.logo-item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px; /* Fixed height for row alignment */
}

    .logo-item img {
        max-width: 100%;
        max-height: 50px;
        object-fit: contain;
        
        transition: 0.3s ease;
    }

        .logo-item img:hover {
            filter: grayscale(0%);
            opacity: 1;
            transform: translateY(-3px);
        }

/* Responsive Layouts */
@media (max-width: 992px) {
    .logo-grid {
        grid-template-columns: repeat(6, 1fr);
    }
    /* 4 cols for tablets */
}

@media (max-width: 768px) {
    .logo-grid {
        grid-template-columns: repeat(5, 1fr);
    }
    /* 3 cols for small tablets */
}

@media (max-width: 480px) {
    .logo-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    /* 2 cols for mobile */
    .partners-box {
        padding: 20px;
    }
}
