:root {
    --color-primary:  #006838; /**/ 
    --color-secondary: #DBC59F; /**/
    --color-third: #f2b797;
    --color-fourth: #ebe1f4;
    --color-fifth: #f7f2e7;
    --color-footer: white;
    --font-primary: Helvetica, sans-serif; /**/
}

body {
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-primary);
    width:100%;
}

main {
    margin: 0 auto;
    /*margin-top: 120px;*/
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-height: calc(75vh - 120px);
}

h1, h2, h3, h4 {
            font-size: inherit;
            font-weight: normal;
            margin: 0;
            padding: 0;
        }      

.hero { 
   
  
}

.desk {
    display: block;
    width: 100%;
}

.mobile {
    display: none;
}

.principal {
    color: var(--color-primary);
    font-weight: 900;
    text-align: center;
    display: flex;
    justify-content: center;
    font-size: 32px;
    padding: 20px 0;
}
.sub-title, 
.slogan {
    background-color: var(--color-secondary);
    color: var(--color-primary);
    border-radius: 10px;
    position: relative;
    margin: 0 auto;
    padding: 20px;
    
}
.sub-title {
    font-weight: 800;
}
.card {
    text-align: left;
}
.key-add {
    margin: 0 10px;
}

.alert {
    color:red;
    font-size: 10px;
    text-align: left;
    width: 100%;
    padding: 0 0 20px 0;
} 

.alert-success {
    color:red;
}

/*Forms*/
form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 430px;
  /*margin: 0 auto;*/
}

.button-link {
    text-decoration: none;
    margin: 0 auto;
    padding: 10px 50px;
    margin: 20px;
    background-color: var(--color-primary);
    color: white;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 16px;
  
}

input[type="number"],
input[type="email"],
input[type="text"],
input[type="tel"],
input[type="file"],
input[type="submit"],
button {
  width: 100%; /* Asegura que los inputs ocupen el 100% del ancho del formulario */
  padding: 10px;
  margin: 10px 0;
  border: 1px solid var(--color-primary);
  border-radius: 5px;
  box-sizing: border-box;
  font-size: 14px;
}

select {
  width: 100%; /* Asegura que el select ocupe el 100% del ancho */
  padding: 10px; /* Espaciado interno */
  margin: 10px 0; /* Espaciado externo */
  border: 1px solid var(--color-primary); /* Borde con color primario */
  border-radius: 5px; /* Bordes redondeados */
  box-sizing: border-box; /* Asegura que el padding no altere el ancho */
  font-size: 14px; /* Tamaño de fuente */
  background-color: #fff; /* Fondo blanco */
  color: #333; /* Color del texto */
  appearance: none; /* Elimina los estilos nativos de los navegadores */
}


textarea {
    width: 100%;
    padding: 10px;
    height: 60px;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    box-sizing: border-box;
}

.item {
    padding: 10px;
}

.input-group {
  width: 100%;
  padding: 5px 0;
  
}

.radio-group {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 5px 0;
}

.radio-group label {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  width: 100%;
}

.radio-group input {
  margin-right: 10px;
}

.checkbox-label{
    padding:20px 0 10 0;
}

.agree {
    font-size: 16px;
    display: flex;
    justify-content: left;
}

input[type="submit"],       
button {
  background-color: var(--color-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 18px;
}

button:hover {
  opacity: 0.9;
}

@media (max-width: 768px) {
    
.container-main {
    margin:0 auto;
    width: 90%;
    padding: 0 0 20px 0px;
}

    .desk {
        display: none;
    }
    
    .mobile {
        display: block;
        width: 100%;
    }
    
    .slogan {
        width: 100%;
    }
    
    .agree {
        font-size: 14px;
     }

  form {
    width: 90%; /* Hace que el formulario ocupe todo el ancho en m贸viles */
    padding: 0 0 20px 0; /* A帽ade padding lateral para que no toque los bordes */
  }
  
  .principal {
      font-size: 18px;
  }
}

/* Estilo para los botones personalizados */
.custom-file-label {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 10px 0;
    padding: 8px 16px;
    color: white;
    background-color: var(--color-primary);
    cursor: pointer;
    border-radius: 4px;
    text-align: center;
}

/* Estilo para el input real (oculto) */
.custom-file-input {
    display: none;
}

/* Cambiar el color cuando el bot贸n est茅 en hover */
.custom-file-label:hover {
    background-color: var(--color-secondary);
}

/* Estilo contenedor */
.file-upload-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.checkbox-statutes {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    padding: 20px;
}