    :root{
      --igd-red:#E63087;
      --igd-pink:#e91e63;
      --igd-green:#7CC242;
      --igd-dark:#222;
      --soft-border:#e9e9e9;
    }

    body {
  padding-top: 0;
}

    :root {
      --igd-red: #E63087;
      --igd-pink: #e91e63;
      --igd-green: #7CC242; /* couleur verte ajoutée */
    }

    /* Navbar */
    .navbar {
      background: var(--igd-red);
      transition: all 0.4s ease;
    }
    .navbar.scrolled {
      background: #E63087 !important;
      backdrop-filter: blur(6px);
    }

    .navbar-brand img {
      height: 144px;
      width: auto;
    }

    /* Bloc du logo avec fond blanc */
.logo-box {
  background: #ffffff;
  padding: 10px 18px;
  border-radius: 0 !important;
  display: flex;
  align-items: center;
}
 

    .navbar-nav .nav-link {
      color: white !important;
      position: relative;
      transition: all 0.3s;
    }

    .navbar {
    padding-top: 8px;
    padding-bottom: 8px;
  }

    .navbar-nav .nav-link::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 0%;
      height: 2px;
      background: white;
      transition: width 0.3s;
    }
    .navbar-nav .nav-link:hover::after {
      width: 40%;
    }

    /* Dropdown on hover */
    .dropdown:hover .dropdown-menu {
      display: block;
      margin-top: 0;
      animation: dropdownFade 0.3s ease forwards;
    }
    @keyframes dropdownFade {
      from {opacity: 0; transform: translateY(-10px);}
      to {opacity: 1; transform: translateY(0);}
    }

    /* Hero Carousel */
    .carousel-item {
      height: 75vh;
      background-size: cover;
      background-position: center;
      position: relative;
    }
    .carousel-item::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,0.45);
    }
    .carousel-caption {
      z-index: 10;
    }
    .carousel-caption h1 {
      font-size: 3rem;
      font-weight: bold;
      text-shadow: 0 2px 10px rgba(0,0,0,0.6);
    }

    /* Section titles */
    .section-title {
      border-left: 4px solid var(--igd-green);
      padding-left: 10px;
      margin-bottom: 2rem;
      font-weight: 700; /* plus gras */
      color: var(--igd-green);
    }
    /* Programmes */
    .program-card {
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 4px 10px rgba(0,0,0,0.05);
      transition: transform 0.3s, box-shadow 0.3s;
      padding: 30px 20px;
      text-align: center;
    }
    .program-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    }
    .program-icon {
      font-size: 3rem;
      color: var(--igd-red);
      margin-bottom: 15px;
      transition: transform 0.3s;
    }
    .program-card:hover .program-icon {
      transform: scale(1.1);
      color: var(--igd-pink);
    }

    /* Formulaire d’inscription */
    .inscription {
      background-color: #f8f9fa;
      padding: 60px 0;
    }
    .inscription .card {
      border: none;
      box-shadow: 0 4px 15px rgba(0,0,0,0.05);
      height: 100%;
    }
    .btn-igd {
      background: var(--igd-red);
      color: white;
      transition: background 0.3s;
    }
    .btn-igd:hover {
      background: var(--igd-pink);
    }

    /* Actualités */
    .news-card {
      transition: transform 0.3s, box-shadow 0.3s;
      overflow: hidden;
      border: none;
      height: 100%;
    }
    .news-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    }
    .news-card img {
      transition: transform 0.4s;
    }
    .news-card:hover img {
      transform: scale(1.05);
    }

    /* Partenaires */
    .partners {
      background: #f8f9fa;
      padding: 60px 0;
    }
    .partner-logo {
      filter: grayscale(100%);
      opacity: 0.7;
      transition: all 0.3s;
      max-height: 70px;
    }
    .partner-logo:hover {
      filter: none;
      opacity: 1;
      transform: scale(1.05);
    }

    /* Footer */
    footer {
      background: #222;
      color: #ccc;
      padding: 50px 0;
    }
    footer a {
      color: #fff;
      text-decoration: none;
    }
    footer a:hover {
      color: var(--igd-pink);
    }
    footer h5 {
  color: white;
  margin-bottom: 15px;
  font-weight: 700;
}

footer iframe {
  border-radius: 8px;
  width: 100%;
  height: 200px;
}

footer i {
  color: white;
  font-size: 1.2rem;
  transition: 0.3s;
}

footer i:hover {
  color: var(--igd-green);
}

    .social-icons a {
  font-size: 1.2rem;
  transition: opacity 0.3s;
}
.social-icons a:hover {
  opacity: 0.7;
}
.btn-igd-green {
  background-color: #7CC242;
  color: white;
  border: none;
}
.btn-igd-green:hover {
  background-color: #18864e;
  color: white;
}
.publication-card i {
  font-size: 3.2rem; /* taille augmentée */
  color: var(--igd-green); /* vert IGD ou rouge si tu préfères */
  margin-bottom: 15px;
}
.publication-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  padding: 20px;
  transition: all 0.3s;
  height: 100%;
}
.publication-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}
/* Section Partenaires – défilement */
.partners-carousel {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.partners-track {
  display: inline-flex;
  align-items: center;
  animation: slide 25s linear infinite;
}

.partner-logo {
  height: 70px;
  margin: 0 40px;
  filter: none;     /* pas de sépia, pas de gris */
  opacity: 1;       /* couleur normale */
  transition: all 0.3s;
}

.partner-logo:hover {
  filter: none;
  opacity: 1;
  transform: scale(1.05);
}

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.page-hero{
  padding: 35px 0 25px;
  background: #fff;
  border-bottom: 1px solid #eee;
}
.page-title{
  font-weight: 800;
  color: #1c9c5a; /* vert titres */
  letter-spacing: -0.3px;
}
.breadcrumb-link{
  color: #E63087;
  text-decoration: none;
}
.breadcrumb-link:hover{ text-decoration: underline; }
.page-actions .btn{ white-space: nowrap; }
.card-soft{
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  background: #fff;
}

.value-card{
  border: 1px solid #e9e9e9;
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  transition: all .25s ease;
}

.value-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}

.value-icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(230,48,135,0.12);
  color: var(--igd-red);
  font-size: 1.3rem;
  margin-bottom: 10px;
}

.value-title{
  font-weight: 800;
  color: #222;
}

.value-sub{
  color: #6c757d;
  font-size: 0.95rem;
}

/* Mission/Vision badges */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #eee;
  background: #fff;
  font-weight: 600;
  color: #444;
}
.pill i { color: var(--igd-red); }

/* Cartes valeurs (horizontales & responsives) */
.value-card{
  border: 1px solid #e9e9e9;
  background: #fff;
  border-radius: 12px;
  padding: 18px;
  transition: all .25s ease;
  height: 100%;
}
.value-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}
.value-icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(230,48,135,0.12);
  color: var(--igd-red);
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.value-title{ font-weight: 800; color: #222; margin-bottom: 4px; }
.value-sub{ color: #6c757d; font-size: 0.95rem; margin-bottom: 0; }

/* Stat cards */
.stat-icon{
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(230,48,135,0.12);
  color: var(--igd-red);
  font-size: 1.25rem;
  margin: 0 auto 10px;
}
.stat-number{ font-weight: 900; font-size: 1.8rem; margin-bottom: 0; }

/* Cards axes */
.axis-card{
  border: 1px solid #e9e9e9;
  background: #fff;
  border-radius: 12px;
  padding: 18px;
  height: 100%;
  transition: all .25s ease;
}
.axis-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}
.axis-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(124,194,66,0.15);
  color: var(--igd-green);
  font-weight: 800;
  font-size: .9rem;
}
.axis-badge i{ color: var(--igd-green); }

/* Profil */
.profile-photo{
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 12px;
}
.profile-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(124,194,66,0.15);
  color: var(--igd-green);
  font-weight: 800;
  font-size: .9rem;
}
.profile-badge i{ color: var(--igd-green); }

/* Cartes (valeurs/points clés) */
.value-card{
  border: 1px solid #e9e9e9;
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  transition: all .25s ease;
  height: 100%;
}
.value-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}
.value-icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(230,48,135,0.12);
  color: var(--igd-red);
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.value-title{ font-weight: 800; color: #222; margin-bottom: 4px; }
.value-sub{ color: #6c757d; font-size: 0.95rem; margin-bottom: 0; }

/* Stat cards */
.stat-icon{
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(230,48,135,0.12);
  color: var(--igd-red);
  font-size: 1.25rem;
  margin: 0 auto 10px;
}
.stat-number{ font-weight: 900; font-size: 1.8rem; margin-bottom: 0; }

/* Timeline */
.timeline{
  position: relative;
  padding-left: 26px;
  margin: 0;
}
.timeline::before{
  content:"";
  position:absolute;
  left: 10px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: #e7e7e7;
}
.timeline-item{
  position: relative;
  padding: 14px 0 14px 18px;
}
.timeline-dot{
  position:absolute;
  left: 2px;
  top: 18px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--igd-green);
  box-shadow: 0 0 0 4px rgba(124,194,66,0.18);
}
.timeline-date{
  display: inline-block;
  font-weight: 800;
  color: var(--igd-green);
  margin-bottom: 6px;
}

/* List clean */
.list-check{
  padding-left: 0;
  margin: 0;
  list-style: none;
}
.list-check li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 7px 0;
  color:#555;
}
.list-check i{
  color: var(--igd-green);
  margin-top: 2px;
}

/* Internal hero */
    .page-hero{
      padding:35px 0 25px;
      background:#fff;
      border-bottom:1px solid #eee;
    }
    .page-title{
      font-weight:900;
      color:var(--igd-green);
      letter-spacing:-0.3px;
      margin-bottom:.25rem;
    }
    .breadcrumb-link{ color:var(--igd-red); text-decoration:none; }
    .breadcrumb-link:hover{ text-decoration:underline; }

    /* Section title */
    .section-title{
      border-left:4px solid var(--igd-green);
      padding-left:10px;
      margin-bottom:1.5rem;
      font-weight:900;
      color:var(--igd-green);
    }

    /* Cards */
    .card-soft{
      border:1px solid #e9e9e9;
      border-radius:12px;
      background:#fff;
      box-shadow:0 6px 18px rgba(0,0,0,0.03);
    }
    .card-soft.hover{ transition: all .25s ease; }
    .card-soft.hover:hover{
      transform: translateY(-4px);
      box-shadow:0 10px 26px rgba(0,0,0,0.08);
    }

    /* Buttons */
    .btn-igd-green{ background:var(--igd-green); color:#fff; border:none; }
    .btn-igd-green:hover{ background:#18864e; color:#fff; }
    .btn-igd-outline{ border:1px solid var(--igd-red); color:var(--igd-red); background:#fff; }
    .btn-igd-outline:hover{ background:var(--igd-red); color:#fff; }

    /* Badges */
    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid #eee;
      background:#fff;
      font-weight:700;
      color:#444;
    }
    .pill i{ color:var(--igd-red); }

    /* Program hero banner */
    .program-hero{
      position:relative;
      border-radius:14px;
      overflow:hidden;
      min-height:280px;
      background: url('images/hero1.jpg') center/cover no-repeat;
    }
    .program-hero::after{
      content:"";
      position:absolute; inset:0;
      background:linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.15));
    }
    .program-hero-content{
      position:relative;
      z-index:2;
      color:#fff;
      padding:28px;
      height:100%;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      gap:10px;
    }
    .program-hero-title{
      font-weight:900;
      font-size:2rem;
      margin:0;
      text-shadow:0 2px 14px rgba(0,0,0,.45);
    }
    .program-hero-sub{
      margin:0;
      max-width: 900px;
      color: rgba(255,255,255,.9);
    }

    /* Stats */
    .stat-icon{
      width:44px; height:44px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      background: rgba(230,48,135,0.12);
      color: var(--igd-red);
      font-size: 1.25rem;
      margin:0 auto 10px;
    }
    .stat-number{ font-weight:900; font-size:1.8rem; margin:0; }

    /* Feature cards */
    .feature-icon{
      width:44px; height:44px;
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background: rgba(124,194,66,0.18);
      color: var(--igd-green);
      font-size: 1.25rem;
      margin-bottom:10px;
    }

    /* Timeline simple (étapes) */
    .timeline{
      position:relative;
      padding-left:26px;
      margin:0;
    }
    .timeline::before{
      content:"";
      position:absolute;
      left:10px; top:6px; bottom:6px;
      width:2px;
      background:#e7e7e7;
    }
    .timeline-item{
      position:relative;
      padding:14px 0 14px 18px;
    }
    .timeline-dot{
      position:absolute;
      left:2px; top:18px;
      width:18px; height:18px;
      border-radius:50%;
      background: var(--igd-green);
      box-shadow:0 0 0 4px rgba(124,194,66,0.18);
    }
    .timeline-title{
      font-weight:900;
      color:#222;
      margin-bottom:4px;
    }
    .timeline-text{ color:#6c757d; margin:0; }

    /* Hero interne */
    .page-hero{ padding:35px 0 25px; background:#fff; border-bottom:1px solid #eee; }
    .page-title{ font-weight:900; color:var(--igd-green); letter-spacing:-0.3px; }
    .breadcrumb-link{ color:var(--igd-red); text-decoration:none; }
    .breadcrumb-link:hover{ text-decoration:underline; }

    /* Titres sections */
    .section-title{
      border-left:4px solid var(--igd-green);
      padding-left:10px;
      margin-bottom:1.2rem;
      font-weight:900;
      color:var(--igd-green);
    }

    /* UI */
    .card-soft{
      background:#fff;
      border:1px solid var(--soft-border);
      border-radius:14px;
      box-shadow:0 6px 18px rgba(0,0,0,.03);
    }
    .btn-igd-green{
      background:var(--igd-green);
      color:#fff;
      border:none;
      font-weight:700;
    }
    .btn-igd-green:hover{ background:#66a936; color:#fff; }
    .btn-igd-outline{
      border:1px solid var(--igd-green);
      color:var(--igd-green);
      font-weight:700;
      background:#fff;
    }
    .btn-igd-outline:hover{ background:rgba(124,194,66,.12); color:var(--igd-green); }

    /* Filters bar */
    .filters-bar{
      background:#fff;
      border:1px solid var(--soft-border);
      border-radius:14px;
      padding:14px;
    }
    .filters-bar .form-control,
    .filters-bar .form-select{
      border-radius:12px;
    }

    /* Publication card */
    .pub-card{ overflow:hidden; border-radius:14px; }
    .pub-cover{
      height:190px;
      background:#f1f3f5;
      display:flex;
      align-items:center;
      justify-content:center;
      position:relative;
      border-bottom:1px solid var(--soft-border);
    }
    .pub-cover img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .pub-badge{
      position:absolute;
      top:12px;
      left:12px;
      background:rgba(230,48,135,.92);
      color:#fff;
      padding:6px 10px;
      border-radius:999px;
      font-size:.75rem;
      font-weight:800;
    }
    .pub-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      color:#6c757d;
      font-size:.9rem;
    }
    .pub-title{
      font-weight:900;
      color:#1d1d1d;
      letter-spacing:-.2px;
    }
    .pub-desc{ color:#6c757d; margin-bottom:0; }

    .pub-actions .btn{ border-radius:12px; }
    .pub-actions .btn i{ margin-right:6px; }

    .hover-rise{ transition:transform .25s ease, box-shadow .25s ease; }
    .hover-rise:hover{
      transform:translateY(-4px);
      box-shadow:0 10px 26px rgba(0,0,0,.08);
    }

    /* Sidebar */
    .side-title{
      font-weight:900;
      color:#1d1d1d;
      margin-bottom:10px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--soft-border);
      background:#fff;
      color:#333;
      text-decoration:none;
      font-weight:700;
      font-size:.9rem;
      margin:6px 6px 0 0;
    }
    .tag:hover{ background:#f7f7f7; }

    /* Cards programmes */
.program-card2{
  background:#fff;
  border:1px solid #e9e9e9;
  border-radius:14px;
  padding:18px;
  box-shadow:0 10px 22px rgba(0,0,0,.03);
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
}
.program-card2:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(0,0,0,.08);
}

.program-logo{
  width:54px; height:54px;
  border-radius:14px;
  border:1px solid #eee;
  background:#fff;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.program-logo img{
  width:100%; height:100%;
  object-fit:contain;
  padding:6px;
}
.program-logo-fallback{
  background: rgba(124,194,66,.14);
  border-color: rgba(124,194,66,.25);
  color: var(--igd-green);
  font-size: 1.5rem;
}

.prog-icon{
  color: var(--igd-red);
  font-size: 1.3rem;
  opacity:.9;
}

/* Badges */
.badge-encours{
  background: rgba(124,194,66,.16);
  color: #1f5b2f;
  border:1px solid rgba(124,194,66,.35);
  font-weight:800;
}
.badge-termine{
  background: rgba(108,117,125,.10);
  color:#495057;
  border:1px solid rgba(108,117,125,.25);
  font-weight:800;
}

/* Chips */
.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:.35rem .55rem;
  border-radius:999px;
  border:1px solid #e9e9e9;
  background:#fafafa;
  font-size:.85rem;
  color:#6c757d;
}

/* Harmonise input-group */
.input-group .form-control{ border-radius:0; }
.input-group .input-group-text{ border:1px solid var(--soft-border); }

/* Mega-menu */
.dropdown-mega {
  position: static; /* IMPORTANT */
}

.dropdown-mega .dropdown-menu{
  border:1px solid #eee;
  border-radius:14px;
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}

.dropdown-mega .mega-menu {
  left: 50% !important;
  transform: translateX(-50%) !important;
  right: auto;
  top: 100%;
  margin-top: 0;
  width: min(1100px, 95vw); /* largeur max propre */
}

.dropdown-mega:hover > .mega-menu,
.dropdown-mega .mega-menu:hover {
  display: block;
}

.mega-menu{
  width:min(980px, 92vw);
  left:50%;
  transform:translateX(-50%);
}

.dropdown-mega > .mega-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;     /* hauteur du pont */
  height: 14px;
}

.mega-head{
  background:#fff;
  border:1px solid #eee;
  border-radius:14px;
  padding:14px;
}

.mega-links{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.mega-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #eee;
  background:#fff;
  color:#1f2937;
  text-decoration:none;
  font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mega-link i{
  color: var(--igd-red);
  font-size: 1.1rem;
}

.mega-link:hover{
  transform: translateY(-2px);
  box-shadow:0 10px 18px rgba(0,0,0,.06);
  border-color: rgba(230,48,135,.35);
}

/* Hover dropdown principal */
.dropdown-hover:hover > .dropdown-menu{
  display:block;
  margin-top:0;
}

/* Mobile : garder comportement bootstrap (clic) */
@media (max-width: 991px){
  .mega-menu{
    width:100%;
    left:0;
    transform:none;
  }
  .dropdown-hover:hover > .dropdown-menu{ display:none; }
}


/* === Méga-menu Institut (mêmes règles que Programmes) === */
.dropdown-institut {
  position: static;
}

.dropdown-institut:hover > .mega-menu,
.dropdown-institut .mega-menu:hover {
  display: block;
}

/* Pont invisible anti-coupure hover */
.dropdown-institut > .mega-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}

/* Largeur plus compacte que Programmes */
.dropdown-institut .mega-menu {
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(760px, 92vw);
}

/* Rendre les tuiles programmes entièrement cliquables + hover propre */
.program-link{
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  display: block;
}

.program-link:focus-visible{
  outline: 3px solid rgba(124,194,66,.45);
  outline-offset: 4px;
  border-radius: 10px;
}

.program-link .program-card{
  cursor: pointer;
}

/* Optionnel : léger effet hover sur la tuile entière */
.program-link:hover .program-card{
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.10);
}

/* Conteneur du logo = pleine hauteur de la navbar */
.logo-wrapper {
  display: flex;
  align-items: stretch;   /* ⬅️ prend toute la hauteur */
  padding: 0;
}

/* Bande blanche verticale */
.logo-box {
  background: #ffffff;
  display: flex;
  align-items: center;
  padding: 0 18px;        /* espace gauche / droite */
  border-radius: 0;       /* angles nets */
}

/* Image du logo */
.logo-box img {
  max-height: 50px;
  width: auto;
  display: block;
}

.program-card .badge {
  margin-top: 8px;
  font-weight: 500;
  font-size: 0.8rem;
}

/* EWIP : logo plus grand */
.program-logo-ewip {
  max-height: 120px; /* ⬅️ plus visible */
}