.partenaires-content-section {
      background: var(--bg-color-light);
      border-top: 1px solid rgba(0, 0, 0, 0.1);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.partenaires {
      background: var(--bg-color-light);
}

.partenaires-hero {
      padding: 3.5rem 0 1.5rem;
      background: radial-gradient(1200px 600px at 15% 15%, rgba(184, 63, 42, 0.10), transparent 60%),
                  radial-gradient(900px 500px at 85% 20%, rgba(157, 193, 202, 0.25), transparent 55%),
                  var(--bg-color-light);
}

.partenaires-hero-inner {
      max-width: 900px;
}

.partenaires-title {
      font-family: var(--font-title);
      font-weight: 700;
      color: var(--txt-color-primary);
      margin: 0 0 0.75rem;
      line-height: 1.15;
}

.partenaires-subtitle {
      font-family: var(--font-text);
      color: var(--txt-color-light-grey);
      margin: 0;
      line-height: 1.6;
      font-size: 1.05rem;
}
.partenaires-subtitle strong {
      font-family: var(--font-text);
      color: var(--txt-color-primary);
      margin: 0;
      line-height: 1.6;
      font-size: 1.05rem;
}

.partenaires-content {
      /* Ne pas annuler les gutters du .container-lg */
      padding-top: 2rem;
      padding-bottom: 3rem;
}

.partenaire-card {
      border-radius: 16px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      background: var(--bg-color-light);
      color: var(--txt-color-dark);
      overflow: hidden;
      position: relative;
      transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.partenaire-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: var(--txt-color-primary);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 200ms ease;
      z-index: 1;
}

.partenaire-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
      border-color: rgba(0, 0, 0, 0.12);
}

.partenaire-card:hover::before {
      transform: scaleX(1);
}

/* Accessibilité clavier : même feedback que hover */
.partenaire-card:focus-within {
      transform: translateY(-3px);
      box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
      border-color: rgba(0, 0, 0, 0.12);
}
.partenaire-card:focus-within::before {
      transform: scaleX(1);
}

.partenaire-logo-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.25rem;
      min-height: 120px;
      background: linear-gradient(135deg, rgba(0,0,0,0.02), rgba(0,0,0,0.05));
      border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.partenaire-logo {
      max-height: 90px;
      max-width: 100%;
      width: auto;
      height: auto;
      object-fit: contain;
      filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.08));
}

.partenaire-logo-empty {
      width: 64px;
      height: 64px;
      display: grid;
      place-items: center;
      border-radius: 16px;
      border: 2px dashed rgba(0, 0, 0, 0.12);
      color: rgba(0, 0, 0, 0.35);
      background: rgba(255, 255, 255, 0.55);
}

.partenaire-logo-empty .bi {
      font-size: 1.5rem;
}

.partenaire-name {
      color: var(--txt-color-primary);
      font-weight: 700;
      margin-bottom: 0.5rem;
      font-family: var(--font-title);
}

.partenaire-desc {
      color: inherit;
      opacity: 1;
      line-height: 1.6;
      font-family: var(--font-text);
      font-size: 0.98rem;
}

.partenaire-desc--muted {
      color: var(--txt-color-light-grey);
      opacity: 1;
}

.partenaire-footer {
      padding: 0 1rem 1.25rem;
}

.partenaire-btn {
      border-radius: 999px;
      padding: 0.65rem 1.15rem;
      font-family: var(--font-text);
      font-weight: 600;
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      box-shadow: 0 8px 18px rgba(0,0,0,0.10);
      transition: transform 150ms ease, box-shadow 150ms ease;
}

.partenaire-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.15);
}

.partenaire-btn:focus-visible {
      outline: 3px solid var(--txt-color-primary-5);
      outline-offset: 3px;
}

/* Respect "reduce motion" */
@media (prefers-reduced-motion: reduce) {
      .partenaire-card,
      .partenaire-btn,
      .partenaire-card::before {
            transition: none !important;
      }
      .partenaire-card:hover,
      .partenaire-card:focus-within,
      .partenaire-btn:hover {
            transform: none !important;
      }
}

@media (min-width: 768px) {
      .partenaires-hero {
            padding: 4.5rem 0 2rem;
      }
      .partenaires-title {
            font-size: 2.6rem;
      }
      .partenaires-subtitle {
            font-size: 1.15rem;
      }
}

