/**
 * Partners Section — assets/css/partners.css
 * Project team grid of 6 partner organisation cards with logos, info, and links.
 *
 * @package  DEI4SME
 * @used-in  template-parts/partners-section.php (included via footer.php)
 *
 * SELECTORS:
 *   .partners-section          — Full-width section wrapper
 *   .partners-section h2       — "Project Team" heading (35px, uppercase)
 *   .partners-grid             — 6-column CSS grid (3 col @1024, 2 col @768, 1 col @480)
 *   .partner-card              — Bordered card (2px --color-blue, flexbox column)
 *   .partner-card__logo        — Logo container (70px height, centered)
 *   .partner-card__logo img    — Partner logo (max-height 60px, retina via srcset)
 *   .partner-card__name        — Organisation name (15px, bold, linked)
 *   .partner-card__country     — Country label (14px, muted)
 *   .partner-card__role        — Role label e.g. "Project leader" (13px, muted)
 *   .partner-card__links       — Social/website icon row (flex, gap 0.5rem)
 *   .partner-link--linkedin    — LinkedIn icon button (#0077B5 background)
 *   .partner-link--website     — Website icon button (--color-blue background)
 *
 * IMAGES: assets/img/partners/{name}.png + {name}@2x.png (150px / 300px)
 *   uva, ktu, merinova, ihk, room466, enter
 */

/* === Partners Section === */
.partners-section {
    padding: var(--spacing-lg) 0;
    background: var(--color-bg);
}

.partners-section h2 {
    text-align: center;
    color: var(--color-primary-dark);
    font-size: 35px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: var(--spacing-lg);
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--spacing-md);
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 40px;
}

.partner-card {
    background: var(--color-bg);
    border: 2px solid var(--color-blue);
    border-radius: var(--radius);
    padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-xs);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: box-shadow var(--transition);
}

.partner-card:hover {
    box-shadow: var(--shadow-lg);
}

.partner-card__logo {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--spacing-xs);
}

.partner-card__logo img {
    max-height: 60px;
    max-width: 100%;
    object-fit: contain;
}

.partner-card__name {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-blue);
    margin-bottom: 4px;
}

.partner-card__name a {
    color: var(--color-blue);
    text-decoration: underline;
}

.partner-card__country {
    font-size: 14px;
    color: var(--color-text-light);
    margin-bottom: 4px;
}

.partner-card__role {
    font-size: 13px;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-xs);
}

.partner-card__links {
    display: flex;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: var(--spacing-xs);
}

.partner-card__links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    color: #fff;
    transition: opacity var(--transition);
}

.partner-card__links a:hover {
    opacity: 0.8;
}

.partner-card__links .partner-link--linkedin {
    background: #0077B5;
}

.partner-card__links .partner-link--website {
    background: var(--color-blue);
}

/* === Responsive Partners === */
@media (max-width: 1024px) {
    .partners-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 20px;
    }

    .partners-section h2 {
        font-size: 28px;
    }
}

@media (max-width: 480px) {
    .partners-grid {
        grid-template-columns: 1fr;
    }
}
