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

body {
    font-family: 'Poppins', sans-serif;   
    
    background: #EFEFEF;
}

body::before {
    content: '';
    width: 100%;
    height: 436px;

  
    background: #535971;
    

    position: absolute;
    left: 0px;
    top: 0px;
    z-index: -1;
}


.page {
    width: 736px;
    margin: auto;
}


header {
    width: 319px;
    margin-top: 140px;
}

header h1 {
    font-family: 'Staatliches', cursive;
    color: #FFFFFF;
    font-weight: 400;
    font-size: 48px;
    line-height: 90px;
}

header p {
    
    color: #FFFFFF;
    font-size: 20px;
    line-height: 30px;
}

form {
    margin-top: 38px;
    border-radius: 20px 20px 0px 0px;

    padding: 64px;
    display: flex;
    flex-direction: column;
    gap: 48px;

    background: #FFFFFF;
    min-height: 300px;
    color: #4E4958;
}


fieldset {
    border: none;
}


.fieldset-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
    
}



fieldset legend {
    color: #535971;
    font-weight: 400;
    font-size: 24px;
    line-height: 34px;
    font-family: 'Staatliches', cursive;
}


.separator {
    
    border: 1px solid #E6E6F0;
}


.input-wrapper {
    line-height: 38px;
}


.input-wrapper input {
    background: #FAFAFC;
    border: 1px solid #E6E6F0;
    border-radius: 8px;
    padding: 0 24px;
    height: 56px;
    width: 100%;
    color: #757591;
    
}
  
.input-wrapper label span {
    color:#C1BCCC;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
}

.input-wrapper span {
    padding-left: 9px;
}

.coluna-1 {
    display: flex;
    gap: 22px;
   
}
 
.coluna-1 > div:nth-child(1){
    width: 100%;
}

.coluna-1 > div:nth-child(2){
  width: 100%;
}  

.separator-2 {
    border: 1px solid #E6E6F0;
    margin-bottom: 25px;
    margin-top: 8px;
    
}

.separator-3 {
    border: 1px solid #E6E6F0;
    margin-bottom: 32px;
    margin-top: 8px;
}


.coluna-2 {
    display: flex;
    gap: 8px;   
    font-size: 14px;
}

.coluna-3 .input-wrapper {
    margin-left: 1px;
}


.coluna-3 {
    display: flex;
    gap: 32px;
    font-size: 14px;
    line-height: 24px;
}


.coluna-2,.coluna-3 legend {
    margin-top: 40px;
}

.fieldset-time-date legend {
    margin-top: 40px;
}

.fieldset-time-date .coluna-2{
    margin-top: 8px;
}

.fieldset-time-date .coluna-3 {
    margin-top: 8px;
}

footer  {
    display: flex;
    flex-direction: column;

    background: #535971;
    border-radius: 0px 0px 20px 20px;

    padding: 50px;

    height: 160px;
    line-height: 26;

}

#btn-save {
    padding: 15px 40px;
    background: #FF5374;
    border-radius: 20px;    
   
    
    border: 0;
    color: #FFFFFF;  
   
    
    font-family: 'Staatliches';
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    
}

#btn-save:hover {
    background: #cd2828;
    transition: 1s;
}

/* Configuração de cor quando o campo estiver incorreto ou não foi preenchido */
input:invalid {
    border: 1px solid #de4c4c;
  }