/**
 * Brand Logo Row Frontend Styles
 * Uses WordPress core CSS classes and conventions
 */

.brand-logo-row {
    width: 100%;
    margin: 2em 0;
    padding: 0;
}

.brand-logo-grid {
    display: grid;
    gap: 2em;
    align-items: center;
    justify-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Desktop columns - dynamically set via inline styles or default to 4 */
.brand-logo-row[data-columns="2"] .brand-logo-grid {
    grid-template-columns: repeat(2, 1fr);
}

.brand-logo-row[data-columns="3"] .brand-logo-grid {
    grid-template-columns: repeat(3, 1fr);
}

.brand-logo-row[data-columns="4"] .brand-logo-grid {
    grid-template-columns: repeat(4, 1fr);
}

.brand-logo-row[data-columns="5"] .brand-logo-grid {
    grid-template-columns: repeat(5, 1fr);
}

.brand-logo-row[data-columns="6"] .brand-logo-grid {
    grid-template-columns: repeat(6, 1fr);
}

.brand-logo-item-wrapper {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-logo-link {
    display: block;
    width: 100%;
    max-width: 200px;
    padding: 1em;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

a.brand-logo-link:hover,
a.brand-logo-link:focus {
    transform: scale(1.05);
    opacity: 0.8;
}

a.brand-logo-link:focus {
    outline: 2px solid #2271b1; /* WordPress admin blue */
    outline-offset: 4px;
}

.brand-logo-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    max-height: 100px;
    filter: grayscale(100%);
    transition: filter 0.2s ease;
}

a.brand-logo-link:hover .brand-logo-image,
a.brand-logo-link:focus .brand-logo-image {
    filter: grayscale(0%);
}

/* Tablet styles */
@media screen and (max-width: 782px) {
    .brand-logo-grid {
        gap: 1.5em;
    }
    
    .brand-logo-row[data-columns="4"] .brand-logo-grid,
    .brand-logo-row[data-columns="5"] .brand-logo-grid,
    .brand-logo-row[data-columns="6"] .brand-logo-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Mobile styles - 1 or 2 columns based on data attribute */
@media screen and (max-width: 600px) {
    .brand-logo-grid {
        gap: 1.5em;
    }
    
    /* Default to 2 columns on mobile */
    .brand-logo-row[data-mobile-columns="1"] .brand-logo-grid {
        grid-template-columns: 1fr;
    }
    
    .brand-logo-row[data-mobile-columns="2"] .brand-logo-grid,
    .brand-logo-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .brand-logo-link {
        max-width: 150px;
        padding: 0.75em;
    }
    
    .brand-logo-image {
        max-height: 80px;
    }
}

/* Extra small mobile */
@media screen and (max-width: 400px) {
    .brand-logo-row[data-mobile-columns="2"] .brand-logo-grid {
        gap: 1em;
    }
    
    .brand-logo-link {
        padding: 0.5em;
    }
}

/* Print styles */
@media print {
    .brand-logo-image {
        filter: grayscale(100%);
    }
}
