@font-face {
    font-family: 'SourceSans3-Regular';
    src: url('SourceSans3-Regular.ttf'); /* IE9 Compat Modes */
    src: url('SourceSans3-Regular.ttf') format('woff'), /* Modern Browsers */
         url('SourceSans3-Regular.ttf')  format('truetype'), /* Safari, Android, iOS */
}

@font-face {
    font-family: 'SourceSans3-Bold';
    src: url('SourceSans3-Bold.ttf'); /* IE9 Compat Modes */
    src: url('SourceSans3-Bold.ttf') format('woff'), /* Modern Browsers */
         url('SourceSans3-Bold.ttf')  format('truetype'), /* Safari, Android, iOS */
}

body,input,select,label{
    font-family: 'SourceSans3-Regular';
    background-color: #F6F6F6;
}

b{
    font-family: 'SourceSans3-Bold';
}
 
 /* Style the form */
 #regForm {
    background-color: #F6F6F6;
    margin: 15px auto;
    padding: 0px 10%;
    width: 70%;
    min-width: 300px;
    height: 100%;
  }

  /* Style the input fields */
  input{
    padding: 10px;
    width: 100%;
    font-size: 17px;
    font-family: 'SourceSans3-Regular';
    border: 1px solid #aaaaaa;
  }
  
  /* Mark input boxes that gets an error on validation: */
  input.invalid {
    background-color: #ffdddd;
  }
  
  /* Hide all steps by default: */
  .tab {
    display: none;
  }
  
  /* Make circles that indicate the steps of the form: */
  .step {
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbbbbb;
    border: none;
    border-radius: 50%;
    display: inline-block;
    opacity: 0.5;
  }
  
  /* Mark the active step: */
  .step.active {
    opacity: 1;
  }
  
  /* Mark the steps that are finished and valid: */
  .step.finish {
    background-color: #04AA6D;
  } 

  .progress{
    margin-bottom: 20px;
}

    .pregunta{
        font-size: 1.8em;
        line-height: 1.1em;
        color: #000;
        text-align: center;
        display: block;
        margin: 0 auto;
        margin-top: 20px;    
        color: #333;
    }

.respuestas .col-1 input{
   width: 20px;
   height: 20px;
}

#terminos{
    margin-top: 30px;
}

.base{
    padding: 0 15%;
}

.boton{

    background: #cf112d;
    border: 0px;
    border-radius: 20px;
    padding: 7px 30px;
    color: #ffffff;
    width: 150px;

}

.boton:hover {
  background: #686868;
  border: 0px;
  border-radius: 20px;
  padding: 7px 30px;
  color: #fff;
  width: 150px;
}

#nextBtn{
    background: #cf112d;
    border: 0px;
    border-radius: 20px;
    padding: 7px 30px;
    color: #ffffff;
    width: 150px;
    outline: none;
}

#nextBtn:hover{
  background: #ffffff;
  border: 0px;
  border-radius: 20px;
  padding: 7px 30px;
  color: #cf112d;
  width: 150px;
  outline: none;
}

#prevBtn{
    background: #656565;
    border: 0px;
    border-radius: 20px;
    padding: 7px 30px;
    color: #fff;
    width: 150px;
}

#prevBtn:hover{
  background: #cf112d;
  border: 0px;
  border-radius: 20px;
  padding: 7px 30px;
  color: #fff;
  width: 150px;
}

ul.preg > li{
    color: #d62126 !important;
    font-size: 14px;
}

#info_adicional {
    background: #d8d8d8;
    padding: 10px 10px 20px 10px;
    margin: 40px 0px 20px 0px;
    border-radius: 10px;
}

.campos{
    font-family: SourceSans3-Regular;
    margin-top: 10px;
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.campos::placeholder {
    color: #6c757d;
    opacity: 1;
}

.form-check-label{
        font-size: 15px;
        padding-top: 5px !important;
        width: 600px;
}

.form-check-input {
    position: absolute;
    margin-top: .3rem;
    margin-left: 0rem;
    accent-color: #da2830;
  }

.form-input {
    font-family: SourceSans3-Regular;
    background: #fff;
  }  

  .validacion{
    font-size: 14px;
    color: #d62126;
    display: block;
    text-align: center;
    margin: 0 auto;
    margin-top: 0px;
    margin-top: 10px;
  }

  .respuestas .row{
    margin-top: 5px;
  }

  .progress{
    display: none;
    visibility: none;
  }

  #pie{
    background: #ffffff;
    margin: 0px auto;
    padding: 20px 10%;
    width: 70%;
    min-width: 300px;
    height: 100%;
    display: flex;
    align-items: center;
    height: auto;
}

  #marca{
    background: #ffffff;
    margin: 0px auto;
    padding: 2px;
    width: 70%;
    min-width: 300px;
    height: 100%;
    display: flex;
    align-items: center;
    height: auto;
}

#pie p{
    margin-bottom: 0px;
    font-style: italic;
    font-size: 12px;
    color: #333;
}

.mensaje{
    margin-bottom: 0px;
    font-size: 14px;
    color: #d62126;
    text-align:center;
    display:block;
    margin: 0 auto
}

#pie img{
    max-width: 155px;
}

@media only screen and (max-width: 600px) {

    #regForm {
        background-color: #f6f6f6;
        margin: 15px auto;
        padding: 0 0;
        width: 80%;
        min-width: 300px;
      }

      .pregunta{
        font-size: 1.3em;
        line-height: 1.1em;
        color: #000;    
        margin-left: -15px;
    }

    .form-check-label{
        font-size: 15px;
        padding-top: 4px !important;
        width: 250px;
    }
    

    .base{
      padding: 0px 0px;
    }

    #pie {
        background: #ffffff;
        margin: 0px auto;
        padding: 10px 0%;
        width: 100%;
        min-width: 300px;
        height: 100%;
        display: flex;
        align-items: center;
    }

    #pie p{
        font-size: 12px;
        font-style: italic;
        color: #333;
    }

        .button-container1{
            display: none;
        }

        .button-container2{
            display: none;
        }

        .button-mobile{
            visibility: visible !important;
        }

        .col-6 {
            max-width: 51%;
        }


  }

  .imagen-participa{
    display: block;
    margin: 0 auto;
    margin-top:10px
}

.banner-portada{
    cursor: pointer;
}


.button-container1{
    position: absolute;
    top: 10px;
    right: 0;
    transition: transform .2s; 
}

.button-container2{
    position: absolute;
    top: 10px;
    left: 1060px;
    transition: transform .2s; 
}
.btn-nav img{
    transition: transform .2s; 
}
.btn-nav img:hover {
    transform: scale(1.1); 
}

.button-container2:hover {
    transform: scale(1.1); 
}

.button-mobile{
    position: absolute;
    visibility: hidden;
}


/*///---------------------  SOLO PARA MENU HAMBURGUESA*/

               {
                  font-family: 'SourceSans3-Regular';
                }

                .button-mobile ul{
                  display: none;
                }

                .button-mobile input:checked  ~ ul{
                  display:block;
                }

                .button-mobile input {
                  display: none;
                }

                .button-mobile label {
                  background: #e00613;
                  box-sizing: border-box;
                  display: inline-block;
                  border: 1px solid #6f6e6e;
                  border-radius: 5px;
                  width: 30px;
                  height: 30px;
                  line-height: 30px;
                  color: #fff;
                  font-weight: bold;
                  text-align: center;
                  user-select: none;
                }

                /* Estilo del boton cuando se pasa el mouse por encima*/
                .button-mobile label:hover{
                  background: #e00613;
                }

                /* Estilo del boton cuando el menú está expandido*/
                .button-mobile input:checked ~ label {
                  background:#74bc1f; 
                }

                .button-mobile ul{
                  margin-top:0;
                  padding: 0;
                  width: 200px;

                }


                .button-mobile li {
                  display: block;
                  background: #6f6e6e;
                  margin: 0;
                  padding: 10px;
                  list-style: none;
                  border-bottom: 1px solid grey;
                }

                /*Estilo cuando el mouse pasa encima de cada link del menu*/
                .button-mobile li:hover {
                  background: #74bc1f;  
                  filter: brightness(110%);
                }

/*///---------------------  SOLO PARA MENU HAMBURGUESA*/

.custom-textarea {
  width: 100%;  /* Asegura que tome todo el ancho del contenedor */
  padding: 10px; /* Añade un relleno interno */
}



    .tabla-referencia {
        position: relative;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: #f8f9fa;
        font-size: 8px;
        z-index: 999;
        border-top: 1px solid #ccc;
        padding: 5px;
        font-family: 'SourceSans3-Regular';
    }
    .tabla-referencia table {
        width: 100%;
        margin: 0;
        text-align: center;
    }
    .tabla-referencia th {
        padding: 4px;
        font-weight: bold;
    }
    .tabla-referencia td {
        padding: 4px;
        font-weight: normal;
    }

    @media (min-width: 768px) {
        .tabla-referencia {
            font-size: 10px !important;
        }
    }


    .instruccion-nps {
        text-align: center;
        font-size: 12px;
        color: #cf112d; /* Puedes cambiar el color si lo necesitas */
        margin-top: 10px; /* Opcional, para darle espacio encima */
        margin-bottom: 20px; /* Opcional, para darle espacio debajo */
     }   


    /******* Ordenamiento vertical de opciones en web **************/
.respuestas-horizontal {
  display: inline-flex;
  flex-wrap: nowrap; /* permite que se bajen a la siguiente línea si no caben */
  justify-content: space-between;
  gap: 10px;
  max-width: 100%; /* evitar que exceda ancho */
  overflow-x: visible; /* previene scroll horizontal */
}

/* Cada opción */
.respuestas-horizontal .respuesta {
  display: inline-flex;   /* cambia a inline-flex para que ocupe solo lo necesario */
  align-items: center;    /* para alinear verticalmente radio y texto */
  gap: 6px;               /* espacio pequeño entre radio y texto */
  flex: none;             /* evitar que se estire */
  min-width: auto;        /* quitar el mínimo ancho si causa problemas */
  margin-right: 20px;     /* espacio entre opciones */
  white-space: nowrap;    /* evitar que el texto se divida en varias líneas */
}

.respuesta input[type="radio"] {
      flex-shrink: 0;
      margin: 0; /* eliminar margenes que puedan mover el input */
      padding: 0;
      width: 18px;
      height: 18px;
      cursor: pointer;
      accent-color: #da2830;
}



/* Para pantallas pequeñas */
@media (max-width: 767px) {
    .respuestas-horizontal {
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding-left: 0; /* quitar padding lateral */
      max-width: 100%;
    }

    .respuesta {
      display: flex;
      align-items: center;
      gap: 8px; /* espacio pequeño entre radio y texto */
      white-space: nowrap;
      font-size: 16px;
      cursor: pointer;
      padding-left: 0;
    }

    .respuesta input[type="radio"] {
      flex-shrink: 0;
      margin: 0; /* eliminar margenes que puedan mover el input */
      padding: 0;
      width: 18px;
      height: 18px;
      cursor: pointer;
      accent-color: #da2830;
    }

    .respuesta::before {
      content: none; /* si tienes algún estilo con pseudo-elementos, eliminar */
    }
}