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

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#f4f7f9;

    color:#1b1b1b;

}

.page{

    width:100%;

    min-height:100vh;

    display:flex;

    flex-direction:column;

    align-items:center;

}

header{

    margin-top:45px;

    text-align:center;

}

.logo{

    width:340px;

    max-width:90%;

}

header h2{

    margin-top:20px;

    font-size:34px;

    font-weight:300;

    color:#3d4d5d;

}

.card{

    margin-top:50px;

    width:900px;

    max-width:95%;

    background:white;

    border-radius:18px;

    padding:55px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

}

.step{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    margin-bottom:45px;

}

.step span{

    width:40px;

    height:40px;

    border-radius:50%;

    border:2px solid #d8dde3;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:bold;

    color:#999;

}

.step-active{

    background:#1aa34a;

    border:none!important;

    color:white!important;

}

.line{

    width:55px;

    height:2px;

    background:#d8dde3;

}

h1{

    text-align:center;

    font-size:40px;

}

.card p{

    text-align:center;

    margin-top:15px;

    color:#666;

    margin-bottom:35px;

}

.drop-zone{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    border:3px dashed #35b45c;

    border-radius:16px;

    padding:70px;

    cursor:pointer;

    transition:.25s;

}

.drop-zone:hover{

    background:#f7fff8;

}

.drop-zone input{

    display:none;

}

.upload-icon{

    font-size:70px;

}

.drop-zone h3{

    margin-top:18px;

    font-size:30px;

}

.btn-upload{

    margin-top:28px;

    background:#18a548;

    color:white;

    padding:18px 42px;

    border-radius:10px;

    font-size:20px;

    font-weight:bold;

}

#nombreArchivo{

    margin-top:30px;

    color:#666;

}

.btn-next{

    margin-top:45px;

    width:100%;

    padding:22px;

    border:none;

    border-radius:12px;

    background:#18a548;

    color:white;

    font-size:22px;

    cursor:pointer;

    transition:.25s;

}

.btn-next:hover{

    background:#13843a;

}

@media(max-width:800px){

    .card{

        padding:28px;

    }

    h1{

        font-size:30px;

    }

    .drop-zone{

        padding:35px;

    }

    .drop-zone h3{

        font-size:22px;

    }

}

/* ==========================================================
   FORMULARIOS
========================================================== */

.form-card{

    margin-top:40px;

    padding:35px;

    border:1px solid #e7ecef;

    border-radius:14px;

    background:white;

}

.form-card h3{

    font-size:24px;

    margin-bottom:12px;

    color:#1b1b1b;

}

.card-text{

    color:#6b7280;

    font-size:15px;

    line-height:1.6;

    margin-bottom:30px;

}

.form-card label{

    display:block;

    margin-top:18px;

    margin-bottom:8px;

    font-weight:600;

    color:#374151;

}

.form-card input,
.form-card textarea,
.form-card select{

    width:100%;

    padding:14px 16px;

    border:1px solid #d1d5db;

    border-radius:10px;

    font-size:16px;

    transition:.25s;

    background:#fff;

}

.form-card input:focus,
.form-card textarea:focus,
.form-card select:focus{

    outline:none;

    border-color:#16a34a;

    box-shadow:0 0 0 4px rgba(22,163,74,.12);

}

.form-card textarea{

    resize:vertical;

    min-height:110px;

}