.blocmenup{
    width: 100%;
    align-items: center;
    align-content: center;
    justify-content: space-between;
    /* display: flex; */
}
.topb1{
    width: 20%;
}



.logo-image-wrapper {
  position: relative;
  display: inline-block;
}

.logo-link:hover .logo-glow {
  opacity: 1;
  transform: scale(1.05);
}




/* Slides DB (fonds images + overlay) */
.info-slide--with-image{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 62vh;
    display: grid;
    align-content: center;
    justify-items: start;
    gap: .75rem;
    padding: clamp(1rem, 3vw, 1.75rem);
    border-radius: .75rem;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  }
  .info-slide__title{
    color: #fff;
    font-weight: 800;
    letter-spacing: .2px;
    margin: 0;
  }
  .info-slide__text{
    color: #cbd5e1;
    margin: 0;
    max-width: 52ch;
  }
  .ix-cta-row{ display:flex; gap:.5rem; flex-wrap:wrap; }
  .ix-cta-row .btn{ border-radius:.75rem; }
  
  /* Indicators contrastés sur fond sombre */
  .offcanvas-info .carousel-indicators [data-bs-target]{ background-color:#94a3b8; }
  .offcanvas-info .carousel-indicators .active{ background-color:#fff; }
  
  @media (max-width: 576px){
    .info-slide--with-image{ min-height: 58vh; }
  }
  

  /* ===== Offcanvas Informations: images 100% sans zoom ===== *//* ===== Offcanvas Informations: images 100% sans zoom ===== */
.offcanvas-info .info-slide{
    background: linear-gradient(180deg, rgba(13,110,253,.08), rgba(0,184,132,.06));
    border-radius: 1rem;
    padding: 1rem;
  }
  
  .offcanvas-info .info-slide__media{
    width: 100%;
    border-radius: .75rem;
    overflow: hidden;
    background: rgba(0,0,0,.04);
  }
  
  /* Image pleine largeur, ratio conservé, pas de recadrage */
  .offcanvas-info .info-slide__media img{
    display: block;
    width: 100%;
    height: auto;          /* conserve le ratio */
    object-fit: contain;   /* pas de zoom/crop */
    max-height: 50vh;      /* évite de dépasser l'écran */
  }
  
  .offcanvas-info .info-slide__caption{
    margin-top: .75rem;
  }
  .offcanvas-info .info-slide__title{
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: .5rem;
  }
  .offcanvas-info .ix-cta-row{
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
  }
  
  /* Dark mode */
  [data-theme="dark"] .offcanvas-info .info-slide{
    background: linear-gradient(180deg, rgba(15,23,42,.7), rgba(2,6,23,.6));
  }
  [data-theme="dark"] .offcanvas-info .info-slide__media{
    background: rgba(255,255,255,.05);
  }
  

  /* === Zoom doux en boucle sur l'image de la slide active === */
.offcanvas-info .info-slide__media{
    position: relative;           /* pour cacher l'overflow proprement */
    overflow: hidden;
  }
  
  .offcanvas-info .info-slide__media img{
    transform: scale(1);
    transform-origin: center;
    will-change: transform;       /* perf */
  }
  
  /* Anime uniquement la slide active (économie CPU + cohérence) */
  .offcanvas-info .carousel-item.active .info-slide__media img{
    animation: kenzoom 14s ease-in-out infinite alternate;
  }
  
  /* Variante mobile : zoom un peu plus discret */
  @media (max-width: 576px){
    .offcanvas-info .carousel-item.active .info-slide__media img{
      animation-duration: 12s;
    }
  }
  
  /* Respecte les préférences d’accessibilité */
  @media (prefers-reduced-motion: reduce){
    .offcanvas-info .carousel-item.active .info-slide__media img{
      animation: none !important;
    }
  }
  
  /* Keyframes du zoom */
  @keyframes kenzoom{
    0%   { transform: scale(1); }
    100% { transform: scale(1.06); } /* augmente à 1.08 si tu veux plus d'effet */
  }
  


  /* corlay  */
  /* Icône image dans Quick Launch */
.btn-ql .ql-img{
  width:40px; height:40px; object-fit:cover; border-radius:50%; display:block;
}
.ql-img--sm{ width:20px; height:20px; }

/* Badge d'état (permanent) */
.ql-badge--status{
  background:#6c757d; /* valeur par défaut (gris) */
  min-width: 22px; height: 18px; font-size: 11px; font-weight: 700; /* harmonise avec .ql-badge */
}
.ql-badge--status.open{  background:#198754; }  /* vert Bootstrap (succès) */
.ql-badge--status.closed{background:#dc3545; }  /* rouge Bootstrap (danger) */
