/* General Style */

.modal-body {
  position: fixed;
  /* cubrir toda la pantalla sin problemas de scrollbars */
  inset: 0; /* equivale a top/right/bottom/left: 0 */
  background: rgba(32, 34, 47, 0.7);

  /* CENTRADO */
  display: none;            /* oculto por defecto */
  justify-content: center;  /* centra horizontal */
  align-items: center;      /* centra vertical */

  /* detalles */
  padding: 24px;            /* margen de seguridad en móviles */
  overflow-y: auto;         /* si el contenido es alto, permite scroll */
  z-index: 9999;
}

.modal-body.visible {
  display: flex;            /* al mostrar, se centra con flex */
}

.modal {
  width: 700px;
  height: auto;
  border-radius: 8px;
  padding: 1.5em;
  display: block;
  align-items: center;
  justify-content: center !important;
  margin: 0 auto;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #000;
  color: #fff;
}
.modal h3,
.modal p {
  margin: 0;
  color: #000;
}

.close {
  margin-bottom: 0.5em;
  text-align: right;
}

.close-white {
  display: flex;
  justify-content: space-between;
  padding: 0.5em 0 0 0;
  margin-bottom: 0.5em;
}

.container-text-image {
  display: flex;
  align-items: center;
  padding: 1em;
}

.text {
  width: 50%;
  display: flex;
  flex-direction: column;
}

.text h3 {
  font-size: 18px;
  margin-bottom: 5px;
}

.text .pill-yellow {
  margin: 1em 0;
  width: 200px;
  justify-content: center;
}

.image {
  width: 50%;
  display: flex;
  justify-content: center;
}

.modal-title {
  color: #F6C451;
  margin-bottom: 15px;
}

.text p {
  color: #fff;
  margin-bottom: 1em;
}

/* Modal Header */

.modal-with-header {
  background-color: white;
  width: 700px;
  height: auto;
  margin: 0 auto;
  border-radius: 12px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.25);
  z-index: 10;
  justify-content: space-between;
}

.modal-header {
  background: #20222F;
  padding: 1em 2em;
  border-radius: 8px 8px 0 0;
}

.modal-header .small-text {
  margin: 1em 0;
}

.modal-form {
  width: 100%;
  padding: 2em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.modal-form .col-2 {
  width: 49%;
}

.modal-form .col-1 {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 1em;
}

.modal-form .col-2 input {
  width: 100%;
}


.modal-form input {
  height: 30px;
  border: 1px solid #20222F;
  border-radius: 4px;
  padding: 0 1em;
  margin: 1em 0;
}

.modal-form select {
  height: 30px;
  border: 1px solid #20222F;
  border-radius: 4px;
  padding: 0 1em;
  margin: 1em 0;
}

.modal-form a {
  margin: 1em auto;
}


.container-image-text-button {
  display: flex;
  flex-direction: column;
  padding: 2em;
  justify-content: center;
  text-align: center;
}

.container-image-text-button .button-container .pill-black {
  width: 160px;
  justify-content: center;
  text-align: center;
}

.container-image-text-button .button-container .pill-yellow {
  width: 160px;
  justify-content: center;
}

@media only screen and (max-width: 540px) {
  .button-container {
    flex-direction: column;
  } 
}

@media only screen and (max-width: 786px) {
  .container-text-image {
    padding: 0 1em;
    flex-direction: column-reverse;
  }

  .text {
    width: 100%;
    text-align: center;
  }

  .text .pill-yellow {
    margin: 0 auto;
  }
}
/* El modal de Bootstrap no debe capturar eventos mientras está cerrado */
#modal_pwd {
  pointer-events: none;              /* no captura clicks estando oculto */
}

/* Cuando Bootstrap lo abra (agrega .show), sí puede capturar eventos */
#modal_pwd.show {
  pointer-events: auto;
}

/* Y nos aseguramos que de verdad esté oculto mientras no tenga .show */
#modal_pwd:not(.show) {
  display: none !important;
}