/* ═══════════════════════════════════════════════════════════════════
   § PARTNERS WIDGET
   Uses tokens from _variables.css — zero hardcoded values.
   ═══════════════════════════════════════════════════════════════════ */

.jip-partners {
    font-family: var(--jip-font-family);
    width: 100%;
}


/* ── Footer mode: centered single row ── */

.jip-partners--footer {
    text-align: center;
    padding: 2rem 0;
}

.jip-partners__label {
    font-family: var(--jip-font-family);
    font-weight: var(--jip-paragraph-weight);
    font-size: var(--jip-subhead-s-xs);
    color: var(--jip-dark-normal);
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem;
}

.jip-partners__logos--footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--jp-logo-gap, 24px);
}

.jip-partners__cta {
    margin-top: 1.5rem;
}


/* ── Full page mode: grouped by category ── */

.jip-partners--full .jip-partners__logos--regular {
    --jp-logo-w: var(--jp-logo-w-lg);
    --jp-logo-h: var(--jp-logo-h-lg);
}

.jip-partners__group {
    margin-bottom: 3rem;
}

.jip-partners__cat-title {
    font-family: var(--jip-font-family) !important;
    font-weight: var(--jip-subhead-weight) !important;
    font-variation-settings: 'wdth' 125;
    font-size: var(--jip-subhead-m) !important;
    color: var(--jip-primary-dark) !important;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    text-align: center;
}

.jip-partners__logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--jp-logo-gap, 24px);
}


/* ── Logo boxes ── */

.jip-partners__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--jp-logo-w, 200px) !important;
    height: var(--jp-logo-h, 200px) !important;
    padding: 8px;
    border-radius: 10px;
    background: transparent;
    transition: opacity 0.2s ease;
}

.jip-partners__logo:hover {
    opacity: 0.75;
}

.jip-partners__group {
    margin-bottom: 3rem;
}


/* Cu: */

.jip-partners__group {
    margin-bottom: 5rem;
}

.jip-partners__img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.jip-partners__empty {
    text-align: center;
    font-size: var(--jip-paragraph-s);
    color: var(--jip-secondary-dark);
}


/* ── On dark backgrounds (green footer) ── */

.jip-on-dark .jip-partners__label,
.green-footer .jip-partners__label {
    color: var(--jip-secondary-normal);
}


/* ═══════════════════════════════════════════════════════════════════
   § RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    /* 2 per row on mobile */
    .jip-partners__logos {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--jp-logo-gap, 16px);
    }
    .jip-partners__logo,
    .jip-partners__logo--large {
        width: 100%;
        height: auto;
        min-height: 60px;
        aspect-ratio: 2 / 1;
    }
    .jip-partners__logos--footer {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .jip-partners__cat-title {
        font-size: var(--jip-subhead-xs) !important;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .jip-partners__logo {
        width: calc(var(--jp-logo-w, 150px) * 0.85);
        height: calc(var(--jp-logo-h, 80px) * 0.85);
    }
    .jip-partners__logo--large {
        width: calc(var(--jp-logo-w-lg, 240px) * 0.85);
        height: calc(var(--jp-logo-h-lg, 128px) * 0.85);
    }
}