.area {
    position: absolute;
    /* полностью прозрачная "горячая" зона */
    background: transparent;
    border: none;
    cursor: pointer;
  }

  .node {
    position: absolute;
    cursor: pointer;
    user-select: none;
  }

  .node--point {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    display: grid;
    place-items: center;
    transition: background 0.15s ease-out;
  }

  .node--point .point-core {
    width: 25px; /* белый круг */
    height: 25px;
    border-radius: 50%;
    background: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    transition:
      width 0.15s ease-out,
      height 0.15s ease-out;
  }

  .node--point .point-plus {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    color: #000;
    transform: translateY(-1px);
  }

  .node--point:hover {
    background: transparent;
  }

  .point-core-active .point-core {
    width: 44px !important;
    height: 44px !important;
  }

  .node--point:hover .point-core {
    width: 44px;
    height: 44px;
  }

  .image-wrapper {
    position: relative;
    display: inline-block;
  }
  .image-wrapper img {
    display: block;
    max-width: 800px;
  }
  #overlay {
    position: absolute;
    inset: 0;
  }
  /*.area {*/
  /*    position: absolute;*/
  /*    border: 2px solid rgba(0, 123, 255, 0.7);*/
  /*    background: rgba(0, 123, 255, 0.15);*/
  /*    cursor: pointer;*/
  /*}*/
  /*.area:hover {*/
  /*    background: rgba(255, 193, 7, 0.25);*/
  /*    border-color: #ffc107;*/
  /*}*/
  .info-popup {
    position: absolute;
    width: 500px;
    min-height: 350px;
    z-index: 10;
    opacity: 0;
    transform: translateY(4px);
    pointer-events: none;
    transition:
      opacity 0.15s ease-out,
      transform 0.15s ease-out;
    box-shadow: -3px -3px 59px 2px rgba(34, 60, 80, 0.33);
  }
  #tooltip {
    position: absolute;
    background: #fff;
  }

  #tooltip.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  #tooltip .popup-close {
    width: 25px;
    height: 25px;
    text-align: center;
    border-radius: 50%;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 14px;
    color: #ffffff;
  }
  #tooltip .popup-close-label {
    text-align: center;
    cursor: pointer;
    font-size: 18px;
    color: #ffffff;
  }

  #tooltip .popup-close:hover {
    background: #676666;
  }

  .popup-content-title {
    font-size: 18px;
  }
  .popup-content .header {
    display: flex;
    padding: 20px;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    background: #4d4e50;
    color: #ffffff;
    border-bottom: 3px solid #d80d07;
  }

  .popup-content .body {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 30px;
    height: 100%;
  }
  .popup-content .body img {
    max-width: 200px;
    max-height: 200px;
  }
  .popup-content .btn-wrap {
    display: flex;
    align-items: center;
    align-content: center;
    flex-direction: column;
    height: 100%;
    width: 100%;
  }
  .popup-content .btn-wrap button {
    background: #4d4e50;
    padding: 5px 15px;
    color: #ffffff;
    font-weight: bold;
    border-radius: 3px;
    box-shadow: none;
    font-size: 14px;
    border: none;
    cursor: pointer;
  }