/* ============================================================
   Page Partenaires — styles spécifiques
   Dépend de : main.css (permanence-card, step-card, benefit-card,
               program-intro-grid, program-kicker, program-lead, etc.)
   NB : les classes globales (permanences-grid, steps-grid, benefits-grid,
        section-title, section-subtitle, text-gradient, bg-light, bg-cream…)
        sont toutes définies dans main.css — aucune redéfinition ici.
   ============================================================ */

/* ---- Logo dans la permanence-card partenaire ---- */
.partner-card__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg-soft);
    border-radius: var(--radius-md);
    padding: 1.25rem 1.75rem;
    margin-bottom: var(--spacing-md);
    min-height: 90px;
    border: 1px solid rgba(10, 69, 72, 0.08);
    transition: background 0.2s ease;
}

.permanence-card:hover .partner-card__logo-wrap {
    background: rgba(10, 69, 72, 0.05);
}

.partner-card__logo {
    max-width: 140px;
    max-height: 68px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(20%) opacity(0.85);
    transition: filter 0.25s ease;
}

.permanence-card:hover .partner-card__logo {
    filter: grayscale(0%) opacity(1);
}

/* ---- Pill "Rôle" dans la permanence-card partenaire ---- */
.partner-card__role {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-secondary);
    background: rgba(184, 93, 56, 0.1);
    border-radius: var(--radius-full);
    padding: 0.25rem 0.75rem;
    margin-bottom: 0.2rem;
    width: fit-content;
}

/* ---- Lien externe dans la card partenaire ---- */
.partner-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.75rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-primary-light);
    text-decoration: underline;
    text-underline-offset: 2px;
    min-height: 44px;
}

.partner-card__link:hover {
    color: var(--color-secondary-brand);
}

.partner-card__link:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: 3px;
}

/* ---- Section acteurs de proximité — icône benefit-card teal ---- */
.local-benefit-card .benefit-card__icon {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
    box-shadow: 0 6px 14px rgba(10, 69, 72, 0.2);
}

/* ---- Responsive ---- */
@media (max-width: 480px) {
    .partner-card__logo-wrap {
        padding: 1rem 1.25rem;
        min-height: 70px;
    }

    .partner-card__logo {
        max-width: 110px;
        max-height: 55px;
    }
}
