/* Emplacements partenaires : bandeaux des leçons et des cours de groupe. */

.ins-sponsor { margin: 0 0 24px; }
.ins-sponsor--bas { margin: 28px 0 0; }
/* Dans le lecteur, la barre du bouton « Continuer » déborde de 40 px sous la leçon : le bandeau du bas laisse cette place. */
.lecon:not(.lecon--apercu) > .ins-sponsor--bas { margin-top: 72px; }

.ins-sponsor__lien {
  position: relative; display: flex; align-items: center; justify-content: center;
  min-height: 76px; padding: 22px 16px 10px;
  border: 1px solid #e2e8e4; border-radius: 14px; background: #fff;
  color: #1b2b22; text-decoration: none; overflow: hidden;
}
a.ins-sponsor__lien:hover { border-color: #2e7d4f; }
a.ins-sponsor__lien:focus-visible { outline: 3px solid #43a047; outline-offset: 2px; }

.ins-sponsor__mention {
  position: absolute; top: 6px; inset-inline-start: 12px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #667269;
}
.ins-sponsor__visuel { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; min-width: 0; }
.ins-sponsor__visuel img { display: block; max-width: 100%; max-height: 90px; width: auto; height: auto; }
.ins-sponsor__visuel strong { font-size: 17px; line-height: 1.25; }
.ins-sponsor__visuel span { font-size: 13px; color: #5b6b62; }

/* Côtés : seulement quand l'écran laisse assez de place autour de la colonne de 820 px. */
.ins-sponsor--cote { display: none; }
@media (min-width: 1320px) {
  .ins-sponsor--cote { display: block; position: fixed; top: 50%; z-index: 3; width: 160px; margin: 0; transform: translateY(-50%); will-change: top; }
  .ins-sponsor--gauche { left: max(16px, calc(50vw - 410px - 196px)); }
  .ins-sponsor--droite { right: max(16px, calc(50vw - 410px - 196px)); }
  .ins-sponsor--cote .ins-sponsor__lien { min-height: 420px; padding: 30px 10px 10px; }
  .ins-sponsor--cote .ins-sponsor__visuel img { max-height: 600px; }
}

@media print { .ins-sponsor { display: none; } }
