*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body{
  width: 100%;
  height: 100%;
}

body{
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: lightgray;
  font-family: Arial, sans-serif;
  padding: 20px;
}

/* MAIN CONTAINER */
.container{
  width: 100%;
  max-width: 460px;
  background-color: white;
  padding: 24px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* LABEL */
label{
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

/* INPUT */
#qrtext{
  padding: 14px;
  border: 1px solid #777;
  border-radius: 6px;
  background: gainsboro;
  outline-color: #777;
  font-size: 18px;
  width: 100%;
}

/* QR BOX */
#qrcontainer{
  margin-top: 12px;
  padding: 14px;
  border: 2px solid black;
  display: none;
  justify-content: center;
  align-items: center;
  background: white;
}

/* BUTTON */
.btn{
  padding: 14px;
  background-color: #777;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  cursor: pointer;
}

.btn:hover{
  background-color: #555;
}

/* DOWNLOAD */
.container a{
  padding: 14px;
  background-color: #591;
  color: white;
  border-radius: 6px;
  font-weight: bold;
  text-align: center;
  font-size: 18px;
  text-decoration: none;
}

.container a:hover{
  background-color: #476f12;
}

.hide{
  display: none;
}

/* MOBILE */
@media (max-width: 480px){

  body{
    padding: 10px;
  }

  .container{
    padding: 26px;
    max-width: 100%;
    border-radius: 12px;
    gap: 18px;
  }

  label{
    font-size: 17px;
  }

  #qrtext{
    font-size: 17px;
    padding: 16px;
  }

  .btn,
  .container a{
    font-size: 17px;
    padding: 16px;
  }

  #qrcontainer{
    padding: 14px;
  }
}
