.tooltip-container{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tooltip-bubble{
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  max-width: min(78vw, 360px);
  background: #111827;
  color: #fff;
  padding: 10px 12px;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  z-index: 999999;
}

/* Desktop hover */
@media (hover: hover) and (pointer: fine){
  .tooltip-container:hover .tooltip-bubble{ display: block; }
}

/* Mobile tap => class is-open */
.tooltip-container.is-open .tooltip-bubble{ display: block; }

.tooltip-overlay{
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.15);
  z-index: 999998;
}
.tooltip-overlay.is-open{ display: block; }

/* le "?" */
.tt-trigger{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
  background: rgba(59,130,196,0.18);
  border: 1px solid rgba(59,130,196,0.35);
  cursor: pointer;
}

/* overlay plein écran */
.tooltip-overlay{
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none; /* OK: on n'interagit pas avec */
}

@media (hover:hover) and (pointer:fine){
  .tooltip-container:hover .tooltip-bubble{
    display:none !important;
  }
}
