/*=== TOOTLTIPS ===*/

@keyframes tooltip-pulse {
   0% {
      transform: scale(1);
      opacity: 1;
   }

   100% {
      transform: scale(1.4);
      opacity: 0;
   }
}

:root {
   --color__texto: #1b1b1b;

   --color__brand1: #008044;
   --color__brand2: #008044;
   --color__brand3: #f1f1f1;
   --color__blanco: #fff;
}

/* Contenedor principal del interactivo */
.interactivo-container {
   display: flex;
   gap: 30px;
   align-items: flex-start;
   justify-content: center;
   padding: 20px;
   max-width: 1400px;
   margin: 0 auto;
}

.tootltips1 {
   margin-top: 50px;
   margin-bottom: 50px;
   text-align: center;
   list-style: none;
   counter-reset: num;
   flex-shrink: 0;
}

.tootltips1__container {
   display: inline-block;
   position: relative;
   max-width: 100%;
   width: 900px;
}

.tootltips1__img {
   width: 100%;
   max-width: 100%;
}

.tootltips1__dot {
   position: absolute;
   display: block;
   width: 5%;
   height: 7.5%;
}

.tootltips1__dot:hover {
   cursor: pointer;
}

.tootltips1__dot:before {
   --size-tooltip: 90%;

   content: "";
   position: absolute;
   left: 0;
   top: 0;
   width: var(--size-tooltip);
   height: var(--size-tooltip);
   border-radius: 50%;
   background-color: var(--color__brand1);
   animation: tooltip-pulse 1s infinite;
   transition: visibility .5s;
}

.tootltips1__dot::after {
   --size-tooltip: 90%;
   counter-increment: num;
   content: counter(num);
   color: var(--color__brand1);
   position: absolute;
   left: 0;
   top: 0;
   width: var(--size-tooltip);
   height: var(--size-tooltip);
   border-radius: 50%;
   background-color: var(--color__brand3);
   border: 3px solid var(--color__brand1);
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: bold;
   font-size: 20px;
}

.tootltips1__dot:hover:before {
   visibility: hidden;
}

/*-- Posiciones de los puntos --*/
.tootltips1--2 .dot1 {
   top: 35%;
   left: 76%;
}

.tootltips1--2 .dot2 {
   top: 45%;
   left: 76%;
}

.tootltips1--2 .dot3 {
   top: 56%;
   left: 76%;
}

.tootltips1--2 .dot4 {
   top: 67%;
   left: 76%;
}

.tootltips1--2 .dot5 {
   top: 79%;
   left: 76%;
}

/* Contenedor de tarjetas de información */
.info-cards-container {
   display: flex;
   flex-direction: column;
   gap: 15px;
   min-width: 400px;
   max-width: 500px;
}

/* Tarjeta de información */
.info-card {
   background-color: var(--color__brand1);
   border: 4px solid var(--color__brand1);
   border-radius: 20px;
   padding: 25px;
   color: var(--color__blanco);
   position: relative;
   animation: slideIn 0.3s ease-out;
   box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

@keyframes slideIn {
   from {
      opacity: 0;
      transform: translateX(20px);
   }
   to {
      opacity: 1;
      transform: translateX(0);
   }
}

.info-card__close {
   position: absolute;
   top: 10px;
   right: 15px;
   background: transparent;
   border: none;
   color: var(--color__blanco);
   font-size: 28px;
   line-height: 1;
   cursor: pointer;
   padding: 5px 10px;
   transition: transform 0.2s;
}

.info-card__close:hover {
   transform: scale(1.2);
}

.info-card h3 {
   font-size: 20px;
   font-weight: bold;
   color: var(--color__blanco);
   margin: 0 0 10px 0;
}

.info-card p {
   margin: 8px 0;
   line-height: 1.5;
   color: var(--color__blanco);
   font-size: 16px;
}

/* Responsive */
@media (max-width: 1200px) {
   .interactivo-container {
      flex-direction: column;
      align-items: center;
   }

   .info-cards-container {
      width: 100%;
      max-width: 600px;
   }
}

@media (max-width: 768px) {
   .interactivo-container {
      padding: 10px;
      gap: 20px;
   }

   .tootltips1__dot {
      width: 6%;
      height: 9%;
   }

   .tootltips1__dot::after {
      font-size: 18px;
   }

   .info-cards-container {
      min-width: auto;
      max-width: 100%;
   }

   .info-card {
      padding: 20px;
   }

   .info-card h3 {
      font-size: 18px;
      padding-right: 30px;
   }

   .info-card p {
      font-size: 15px;
   }
}

@media (max-width: 576px) {
   .tootltips1__dot {
      width: 7%;
      height: 10%;
   }

   .tootltips1__dot:before {
      --size-tooltip: 80%;
   }

   .tootltips1__dot::after {
      --size-tooltip: 80%;
      font-size: 18px;
      border: 2px solid var(--color__brand1);
   }

   .tootltips1 {
      margin-top: 20px;
      margin-bottom: 20px;
   }

   .info-card {
      padding: 15px;
   }

   .info-card h3 {
      font-size: 16px;
   }

   .info-card p {
      font-size: 14px;
   }
}

/*=== FIN TOOLTIPS ===*/