:root{
--purple:#7c4dff;
--purple-dark:#5b34d6;
--green-bg:#fafafa;
--text:#1e1e1e;
--radius:14px;
}

body{
margin:0;
font-family:Inter, sans-serif;
background:var(--green-bg);
color:var(--text);
font-family: "Roboto Flex", Sans-serif;
}


.wrapper{
max-width:900px;
margin:60px auto;
background:white;
padding:50px;
border-radius:var(--radius);
box-shadow:0 10px 40px rgba(0,0,0,.08);
}
h1 {
    font-size: 48px;
    font-weight: 400;
    color: #000000;
	margin-top:0;
}
#form h2 {
    font-size: 24px;
    font-weight: 300;
}
.legal-check label {
    display: flex;
}
.legal-check input {
    width: auto;
    margin-right: 10px;
}
.legal-check label {
    display: flex;
    align-items: center;
}

/* STEP INDICATOR */
.step-indicator{
display:flex;
justify-content:space-between;
margin-bottom:30px;
}

.step-label{
flex:1;
text-align:center;
padding:10px;
border-radius:30px;
background:#eee;
font-weight:300;
margin:0 10px;
}

.step-label.active{
background:var(--purple);
color:white;
}

.step{display:none;}
.step.active{display:block;}

.card{
border:2px solid var(--purple);
padding:18px;
border-radius:var(--radius);
margin-bottom:15px;
cursor:pointer;
transition:.2s;
display:flex;
align-items:center;
}

.card.selected{
background:var(--purple);
color:white;
}

.card input{
margin-right:10px;
width: auto;
}

input,select{
width:100%;
padding:12px;
border-radius:10px;
border:1px solid #ccc;
margin-top:6px;
margin-bottom:10px;
}

button{
padding:12px 22px;
border:none;
border-radius:30px;
cursor:pointer;
font-weight:600;
}

.primary{
background:var(--purple);
color:white;
}

.secondary{
background:#ddd;
}

.error{
color:#c62828;
font-size:14px;
display:none;
margin-bottom:10px;
}

.actions{
margin-top:25px;
display:flex;
justify-content:space-between;
}

.modal{
position:fixed;
inset:0;
background:rgba(0,0,0,.6);
display:none;
align-items:center;
justify-content:center;
}

.modal-box{
background:white;
padding:40px;
border-radius:14px;
max-width:400px;
text-align: center;
}

.banner-error{
background:#ffeaea;
padding:12px;
border-radius:8px;
margin-bottom:15px;
display:none;
}
