.akg-bpt {
  --akg-blue: var(--akaguriro-blue, #071689);
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 1180px;
  margin: 10px auto;
  padding: 9px 16px;
  box-sizing: border-box;
  background: linear-gradient(180deg, var(--akg-blue) 0%, #050f5e 100%);
  border-radius: 10px;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  overflow: hidden;
}

.akg-bpt-label {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  padding-right: 14px;
  border-right: 1px solid rgba(255, 255, 255, .2);
}

.akg-bpt-label-logo {
  height: 40px;
  width: 40px;
  object-fit: contain;
  border-radius: 8px;
  background: #fff;
  padding: 4px;
  box-sizing: border-box;
}

.akg-bpt-track-wrap {
  flex: 1 1 auto;
  overflow: hidden;
  min-width: 0;
}

.akg-bpt-track {
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  animation: akg-bpt-scroll 55s linear infinite;
}

.akg-bpt:hover .akg-bpt-track {
  animation-play-state: paused;
}

@keyframes akg-bpt-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.akg-bpt-item {
  flex: 0 0 auto;
  height: 44px;
  border-radius: 8px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 4px 8px;
  box-sizing: border-box;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .28);
}

.akg-bpt-item img {
  height: 100%;
  width: auto;
  max-width: 80px;
  object-fit: contain;
  display: block;
}

.akg-bpt-fallback {
  width: 56px;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 800;
  color: var(--akg-blue, #071689);
  font-size: 7px;
  line-height: 1.1;
  overflow: hidden;
}

/* Neutralise la marge haute du bloc qui suit sur l'accueil (.akg-hero3,
   margin-top:18px dans le <style> inline de page--front.html.twig) :
   plutôt que deviner une marge négative compensatoire (fragile, dépend de
   si les marges se cumulent ou se fusionnent), on supprime carrément la
   marge externe pour ne garder QUE la nôtre, symétrique des deux côtés —
   solution déterministe, pas d'essai-erreur (2026-11-06). .akg-hero3
   n'existe que sur ce gabarit précis, donc aucun effet de bord ailleurs. */
.akg-hero3 {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  .akg-bpt { margin: 10px 12px; }
  .akg-bpt-label { font-size: 11px; }
  .akg-bpt-label-logo { height: 32px; width: 32px; }
  .akg-bpt-item { height: 38px; }
}

/* ---- Fiche d'info institution (au clic) ---- */
.akg-bpt-overlay {
  position: fixed;
  inset: 0;
  background: rgba(17, 24, 39, .5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}

.akg-bpt-card {
  width: 100%;
  max-width: 420px;
  margin: 16px;
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  box-sizing: border-box;
  max-height: 80vh;
  overflow-y: auto;
}

.akg-bpt-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}

.akg-bpt-card-head img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 10px;
  border: 1px solid #E5E7EB;
  padding: 4px;
  box-sizing: border-box;
}

.akg-bpt-card-title {
  font-size: 16px;
  font-weight: 800;
  color: #1A1D1F;
}

.akg-bpt-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
}

.akg-bpt-row-icon {
  font-size: 14px;
  color: #B8860B;
  width: 18px;
  flex-shrink: 0;
}

.akg-bpt-row-label {
  font-size: 11px;
  color: #9CA3AF;
  font-weight: 600;
}

.akg-bpt-row-value {
  font-size: 13.5px;
  color: #374151;
  font-weight: 600;
}

.akg-bpt-close {
  display: block;
  width: 100%;
  margin-top: 20px;
  padding: 12px;
  border: none;
  border-radius: 12px;
  background: #F3F4F6;
  color: #374151;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
