body {
  position: relative;
}
.bg-shadow {
  opacity: 1 !important;
  visibility: visible !important;
}

.pop_form {
  opacity: 1 !important;
  visibility: visible !important;
}

.bg-shadow {
  transition: all 0.3s ease-in-out !important;
  top: 0 !important;
  height: 100vh !important;
  width: 100% !important;
  background: rgb(0 0 0 / .7) !important;
  position: fixed !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.pop_form {
  background-color: var(--bg-color);
  border-radius: 12px 12px 0 0;
  z-index: 2 !important;
  position: absolute !important;
  transition: all 0.3s ease-in-out !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  top: 0 !important;
  height: 100vh !important;
  width: 100% !important;
  background: transparent !important;
  position: fixed !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 11 !important;
  opacity: 1 !important;
  visibility: visible !important;
  .pop-content .close-pop {
    font-size: 30px !important;
    color: #333 !important;
    position: absolute !important;
    right: 5px !important;
    top: 5px !important;
    z-index: 1 !important;
    width: 20px !important;
    height: 20px !important;
  }
  .pop-content {
    border-radius: 25px 25px 0 0;
    display: block !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: white !important;
    max-width: 770px !important;
    width: 600px !important;
    position: relative !important;
    padding: 30px 0 20px;
    max-height: 100vh !important;
    overflow-y: auto !important;
    .close-pop {
      font-size: 30px !important;
      color: #333 !important;
      position: absolute !important;
      right: 5px !important;
      top: 5px !important;
      z-index: 1 !important;
      width: 20px !important;
      height: 20px !important;
    }
  }

  .title_h2{
    margin: 0 0 10px;
    * {
      font-family: 'Helvetica', sans-serif;
      color: #1c46f4;
      font-size: 28px;
      letter-spacing: 1px;
      line-height: 150%;
      text-align: left;
      font-weight: 600;
    }
  }
  .subt_titile {
    border-bottom: 1px solid #d0d5de;
    padding: 0 0 15px;
    * {
      font-family: 'Times New Roman', Times, serif;
      color: #797979;
      font-size: 18px;
      letter-spacing: 1px;
      line-height: 150%;
      text-align: left;
      font-weight: 400;
    }
  }
  .form {
    margin: 15px auto 0px;
    width: 100%;
    max-width: 800px;
    form {
      display: flex;
      gap: 6px;
      flex-direction: column;
      fieldset {
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        gap: 6px;
        {#margin: 0 0 15px;#}
        flex-direction: column;
        .hs-dependent-field {
          display: flex;
          justify-content: space-between;
          gap: 6px;
          flex-direction: column;
        }
        .hs-form-field {
          width: 100%;
          max-width: 100%;
          label {
            margin: 0 0 5px;
          }
          .input {
            input, select {
              width: 100%;
              border: 1px solid #d1d5de;
              border-radius: 5px;
              padding: 8px 15px;
              font-size: 12px;
              &.error {
                border: 2px solid red;
                border-radius: 5px;
              }
            }
            ul.inputs-list {
              list-style: none;
              li label {
                font-family: 'Montserrat', sans-serif;
                display: flex;
                gap: 10px;
                font-size: 12px;
                input {
                  font-family: 'Montserrat', sans-serif;
                  width: auto;
                  height: 100%;
                  font-size: 12px;
                  &.error {
                    border: 2px solid red;
                    border-radius: 5px;
                  }
                }
                span, p {
                  font-family: 'Montserrat', sans-serif;
                  display: inline;
                  font-size: 11px;
                }

              }
            }
          }
        }
        .hs_vec_aviso_de_privacidad {
          font-family: 'Montserrat', sans-serif;
          max-width: 80%;
          margin: auto;
          font-size: 12px;
        }
      }
      ul.no-list.hs-error-msgs.inputs-list {
        display: none;
      }
      .hs_error_rollup {
        display: none;
      }
      .hs_submit .actions input {
        font-family: 'Times New Roman', Times, serif;
        background-color: #1c46f5;
        border: 1px solid #d1d5de;
        color: #fff;
        padding: 5px 15px;
        display: block;
        margin: auto;
        width: 100%;
        max-width: 100%;
        font-size: 15px;
        line-height: 150%;
        text-align: center;
        font-weight: 500;
        letter-spacing: 1px;
      }
    }
  }
}

/* --- ESTADO INICIAL (POR DEFECTO) --- */
/* Esto asegura que arranque OCULTO */
.int-pop .bg-shadow, 
.int-pop .pop {
  opacity: 0 !important;            /* Totalmente transparente */
  visibility: hidden !important;    /* No interactuable */
  pointer-events: none;             /* Evita clicks fantasmas */
  transition: all 0.3s ease;        /* Transición suave */
}

/* --- ESTADO VISIBLE (CUANDO JS ACTIVA LA CLASE) --- */
/* Solo se muestra si el padre tiene la clase 'show-pop' */
.int-pop.show-pop .bg-shadow {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
}

.int-pop.show-pop .pop {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
}

.int-pop .bg-shadow {
  transition: all 0.3s ease-in-out !important;
  top: 0 !important;
  height: 100vh !important;
  width: 100% !important;
  background: rgb(0 0 0 / .7) !important;
  position: fixed !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 10 !important
}

.int-pop .pop {
  transition: all 0.3s ease-in-out !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  top: 0 !important;
  height: 100vh !important;
  width: 100% !important;
  background: transparent !important;
  position: fixed !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 11 !important;
  display: block;
}

.int-pop .pop .pop-content {
  display: block !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: white !important;
  max-width: 700px !important;
  width: 600px !important;
  position: absolute !important;
  bottom: 0px;
  left: 100px;
}

.int-pop .pop .pop-content .close-pop {
  font-size: 30px !important;
  color: #333 !important;
  position: absolute !important;
  right: 5px !important;
  top: 5px !important;
  z-index: 1 !important;
  width: 30px !important;
  height: 30px !important;
  cursor: pointer !important;
  border: 1px solid #000;
  border-radius: 50px;
  padding: 10px;
}

.int-pop .pop .pop-content .close-pop:before {
  content: '' !important;
  position: absolute !important;
  width: 15px !important;
  height: 3px !important;
  background: #444 !important;
  transform: rotate(45deg) !important;
  top: 12px !important;
  left: 6px !important;
}

.int-pop .pop .pop-content .close-pop:after {
  content: '' !important;
  position: absolute !important;
  width: 15px !important;
  height: 3px !important;
  background: #444 !important;
  transform: rotate(-45deg) !important;
  top: 12px !important;
  left: 6px !important;

}

.int-pop .pop .pop-content .text {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  max-width: 265px !important
}

.int-pop .pop .pop-content .text:before {
  position: absolute !important;
  content: '' !important;
  border-bottom: 20px solid transparent !important;
  border-right: 15px solid white !important;
  border-top: 193px solid white !important;
  right: 0 !important;
  top: 0 !important
}

.int-pop .pop .pop-content .text:after {
  position: absolute !important;
  content: '' !important;
  border-bottom: 193px solid white !important;
  border-right: 15px solid white !important;
  border-top: 20px solid transparent !important;
  right: 0 !important;
  bottom: 0 !important
}

.int-pop .pop .pop-content .text .content {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 200px !important;
  text-align: center !important
}


@media (max-width: 980px) {
  .pop_form  .form  form fieldset {
    margin: 0 0 10px;
  }
  .pop_form  .title_h2 * {
    font-size: 24px;
  }
  .pop_form  .subt_titile * {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
    .pop_form  .form  form fieldset {
    margin: 0;
  }
  .int-pop .pop .pop-content {
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100% !important;
    max-width: 80% !important;
    max-height: 100vh !important; /* Un poco menos en móvil por las barras del navegador */
    overflow-y: auto !important;
  }
  .pop_form .title_h2 * {
    font-size: 22px;
  }
  .form {
    margin: 15px auto 0px;
    width: 100%;
    max-width: 800px;
    .pop_form {
      form {
        display: flex;
        flex-direction: column;
        gap: 6px;
        fieldset {
          max-width: 100%;
          display: flex;
          justify-content: space-between;
          gap: 6px;
          {#margin: 0 0 15px;#}
          flex-direction: column;
          .hs-dependent-field {
            display: flex;
            justify-content: space-between;
            gap: 6px;
            flex-direction: column;
          }
          .hs-form-field {
            width: 100%;
            max-width: 100%;
            label {
              margin: 0 0 5px;
            }
            .input {
              margin: 0;
              input, select {
                width: 100% !important;
                border: 1px solid #d1d5de;
                border-radius: 5px;
                padding: 8px 15px;
                font-size: 15px;
                &.error {
                  border: 2px solid red;
                  border-radius: 5px;
                }
              }
              ul.inputs-list {
                list-style: none;
                li label {
                  font-family: 'Montserrat', sans-serif;
                  display: flex;
                  gap: 10px;
                  input {
                    font-family: 'Montserrat', sans-serif;
                    width: auto;
                    height: 100%;
                    font-size: 15px;
                    &.error {
                      border: 2px solid red;
                      border-radius: 5px;
                    }
                  }
                  span, p {
                    font-family: 'Montserrat', sans-serif;
                    display: inline;
                    font-size: 13px !important;
                  }

                }
              }
            }
          }
          .hs_vec_aviso_de_privacidad {
            font-family: 'Montserrat', sans-serif;
            max-width: 80%;
            margin: auto;
            font-size: 15px;
          }
        }
        ul.no-list.hs-error-msgs.inputs-list {
          display: none;
        }
        .hs_error_rollup {
          display: none;
        }
        .hs_submit .actions input {
          font-family: 'Minion Pro', serif;
          background-color: #1c46f5;
          border: 1px solid #d1d5de;
          color: #fff;
          padding: 5px 15px;
          display: block;
          margin: auto;
          width: 100%;
          max-width: 100%;
          font-size: 15px;
          line-height: 150%;
          text-align: center;
          font-weight: 500;
          letter-spacing: 1px;
        }
      }
    }
  }
  .pop_form .form form fieldset .hs-form-field .input input.hs-input,
  .pop_form .form form fieldset .hs-form-field .input select.hs-input {
    width: 100% !important;
  }
  .pop_form .form form fieldset .hs-form-field .input input,
  .pop_form .form form fieldset .hs-form-field .input select {
    font-size: 14px !important;
  }
  .pop_form .form form fieldset .hs-form-field .input ul.inputs-list li label span, p {
    font-size: 13px !important;
  }
  .pop_form .form form fieldset .hs-form-field .input ul.inputs-list li label input {
      width: auto !important;
  }
}