/**
 * Logos Section Block Styles
 *
 * Full-width white background section that displays a row of partner /
 * accreditation logos centered horizontally. Logos are evenly spaced and
 * vertically aligned. Matches the "Logos Section" design.
 *
 * @package ACF Child Theme
 */

:root {
    --color-primary: #3a9bf7;
    --color-grey: #f3f3f3;
    --color-text: #252525;
    --color-white: #ffffff;
    --font-primary: 'Montserrat', sans-serif;
}

/* Section wrapper - full-width white background
   ========================================================================== */
.logos-section {
    width: 100%;
    margin: 0;
    padding: 40px 0;
    background-color: var(--color-white, #ffffff);
}

/* Centered content area - WordPress layout width */
.logos-section__container {
    max-width: var(--theme-normal-container-max-width, 1290px);
    width: var(--theme-container-width, 100%);
    margin: 0 auto;
    padding: 0;
}

/* Logos grid - desktop default
   ========================================================================== */
.logos-section__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    justify-items: center;
    gap: 30px;
}

.logos-section__grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.logos-section__grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.logos-section__grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.logos-section__grid--cols-5 { grid-template-columns: repeat(5, 1fr); }
.logos-section__grid--cols-6 { grid-template-columns: repeat(6, 1fr); }

/* Single logo item
   ========================================================================== */
.logos-section__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 220px;
    margin: 0;
    padding: 0;
}

.logos-section__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.logos-section__link:hover,
.logos-section__link:focus-visible {
    opacity: 0.8;
    transform: translateY(-2px);
}

.logos-section__image {
    display: block;
    max-width: 100%;
    /*max-height: 80px;*/
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Tablet
   ========================================================================== */
@media (min-width: 769px) and (max-width: 1023px) {
    .logos-section {
        padding: 32px 0;
    }

    .logos-section__grid,
    .logos-section__grid--cols-2,
    .logos-section__grid--cols-3,
    .logos-section__grid--cols-4,
    .logos-section__grid--cols-5,
    .logos-section__grid--cols-6 {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .logos-section__item {
        max-width: 180px;
    }

    .logos-section__image {
        max-height: 70px;
    }
}

/* Mobile
   ========================================================================== */
@media (max-width: 768px) {
    .logos-section {
        padding: 24px 0;
    }

    .logos-section__container {
        padding: 0 16px;
    }

    .logos-section__grid,
    .logos-section__grid--cols-2,
    .logos-section__grid--cols-3,
    .logos-section__grid--cols-4,
    .logos-section__grid--cols-5,
    .logos-section__grid--cols-6 {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 16px;
    }

    .logos-section__item {
        max-width: 160px;
    }

    .logos-section__image {
        max-height: 60px;
    }
}
