body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  background: #f4f4f4;
}

.container {
  position: relative;
  max-width: 800px;
  margin: 20px auto;
}

img.diagram {
  width: 100%;
  height: auto;
  display: block;
}

/* Común a todos los hotspots */
.hotspot {
  position: absolute;
  cursor: pointer;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  width: 28px;
  height: 28px;
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
}

/* Círculo */
.hotspot_circle {
  position: absolute;
  cursor: pointer;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
}

.hotspot_oval {
  position: absolute;
  cursor: pointer;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 70px;
  display: block; /* aseguramos que se vea el borde */
  backdrop-filter: none !important;
}

/* Cuadrado */
.hotspot_net {
  width: 28px;
  height: 28px;
  background: rgba(0, 136, 255, 0.55);
  border-radius: 0;
}

/* Rectángulo */
.hotspot_rectangle {
  width: 100px;
  height: 22px;
  background: rgba(0, 136, 255, 0.55);
  border-radius: 4px; /* opcional */
}

/* Rectángulo */
.hotspot_rectangle2 {
  width: 60px;
  height: 22px;
  background: rgba(0, 136, 255, 0.55);
  border-radius: 4px; /* opcional */
}

/* Rectángulo */
.hotspot_rectangle3 {
  width: 90px;
  height: 50px;
  background: rgba(0, 136, 255, 0.55);
  border-radius: 4px; /* opcional */

}
/* Rectángulo */
.hotspot_rectangle4 {
  position: absolute;
  width: 120px;
  height: 50px;
  display: block;
  border-radius: 4px;
  z-index: 9999;
}

.hotspot_rectangle5 {
  position: absolute;
  width: 180px;
  height: 115px;
  display: block;
  border-radius: 4px;
  z-index: 9999;
}

.hotspot:hover {
  background: rgba(0, 68, 200, 0.85);
}
