/* INFOSA : logo plus présent dans la navigation, sans changer l'image source. */
#header .logo img {
  max-height: 56px !important;
  height: 56px;
  width: auto;
  object-fit: contain;
}
@media (max-width: 767.98px) {
  #header .logo img { max-height: 44px !important; height: 44px; }
}

/* Carte "Catalogue publié" superposée sur l'illustration de l'accueil. */
#hero .hero-visual { position: relative; }
#hero .infosa-hero-catalogue-card {
  position: absolute;
  z-index: 3;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: calc(100% - 32px);
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 15px;
  background: rgba(25, 31, 49, .94);
  box-shadow: 0 10px 32px rgba(0, 0, 0, .25);
  color: #fff;
}
#hero .infosa-hero-catalogue-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(231, 84, 157, .16);
  color: #f365ab;
  font-size: 1.5rem;
}
#hero .infosa-hero-catalogue-content { display: flex; flex-direction: column; gap: 2px; }
#hero .infosa-hero-catalogue-eyebrow {
  font-size: .72rem;
  letter-spacing: .04em;
  color: #c3cad8;
}
#hero .infosa-hero-catalogue-content strong {
  color: #fff;
  font-size: .92rem;
  line-height: 1.3;
}
#hero .infosa-hero-catalogue-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  color: #fa6eb6;
  font-weight: 700;
  font-size: .84rem;
  text-decoration: none;
}
#hero .infosa-hero-catalogue-link:hover,
#hero .infosa-hero-catalogue-link:focus-visible { color: #ffc2e3; text-decoration: underline; }
#hero .infosa-hero-catalogue-link:focus-visible { outline: 2px solid #ffc2e3; outline-offset: 3px; }

/* Sur petits écrans la carte passe sous l'image : aucune zone de l'illustration masquée. */
@media (max-width: 575.98px) {
  #hero .infosa-hero-catalogue-card {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 12px;
    max-width: 100%;
    width: 100%;
    padding: 12px;
  }
}
