*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Inter, "Segoe UI", Arial, sans-serif;

    background:#f6f8fc;

    color:#2d3748;

}

.container{

    max-width:1100px;

    margin:auto;

    padding:80px 40px;

}

h1{

    text-align:center;

    font-size:72px;

    color:#5B5CEB;

    font-weight:700;

}

h2{

    margin-top:15px;

    text-align:center;

    font-size:36px;

    font-weight:300;

}

.intro{

    margin:auto;

    margin-top:50px;

    max-width:850px;

    text-align:center;

    line-height:1.8;

    font-size:23px;

}

.features{

    margin-top:70px;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.features div{

    background:white;

    border-radius:16px;

    padding:25px;

    box-shadow:0 5px 18px rgba(0,0,0,.06);

    font-size:22px;

}

.requirements{

    margin-top:70px;

    background:white;

    border-radius:18px;

    padding:35px;

    box-shadow:0 5px 18px rgba(0,0,0,.06);

}

.requirements h3{

    font-size:30px;

    margin-bottom:25px;

}

.requirements p{

    font-size:20px;

    line-height:1.8;

}

.requirements ul{

    margin-top:25px;

    margin-left:30px;

    font-size:20px;

    line-height:2;

}

.button-area{

    text-align:center;

    margin-top:70px;

}

button{

    background:#5B5CEB;

    color:white;

    border:none;

    border-radius:12px;

    padding:20px 55px;

    font-size:22px;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:#4446d5;

    transform:translateY(-2px);

}

.fade{

    opacity:0;

    transform:translateY(25px);

    transition:
            opacity .8s ease,
            transform .8s ease;

}

.fade.show{

    opacity:1;

    transform:translateY(0);

}

.wizard-input{

    width:500px;

    font-size:26px;

    padding:18px;

    border-radius:10px;

    border:1px solid #ccc;

    transition:.2s;

}

.wizard-input:focus{

    outline:none;

    border-color:#5B5CEB;

    box-shadow:0 0 10px rgba(91,92,235,.25);

}

.wizard-input-area{

    margin-top:60px;

    text-align:center;

}

.wizard-buttons{

    margin-top:60px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.wizard-buttons a{

    text-decoration:none;

    color:#5B5CEB;

    font-size:22px;

    font-weight:600;

}

.wizard-buttons a:hover{

    text-decoration:underline;

}

.wizard-textarea{

    width:700px;

    height:220px;

    padding:20px;

    font-size:22px;

    border-radius:10px;

    border:1px solid #ccc;

    resize:vertical;

}

.wizard-radio{

    display:flex;

    justify-content:center;

    gap:50px;

    margin-top:30px;

}

.radio-item{

    font-size:26px;

}

.required-star{

    color:#d33;

    margin-left:6px;

}

.wizard-input:invalid{

    border:2px solid #d33;

}

.wizard-input:valid{

    border:2px solid #5cb85c;

}

.wizard-textarea:invalid{

    border:2px solid #d33;

}

.wizard-textarea:valid{

    border:2px solid #5cb85c;

}

.required-note{

    color:#777;
    font-size:14px;
    margin-top:10px;

}

.technical-box{

    background:#f6f8fb;
    border-radius:12px;
    padding:25px;
    margin-top:30px;
    margin-bottom:40px;

}

.technical-info{

    font-size:15px;
    line-height:1.7;
    color:#666;

}
.technical-box {

    background: #f6f8fb;

    border-radius: 12px;

    padding: 25px;

    margin-top: 30px;

    margin-bottom: 40px;

}

.technical-info {

    font-size: 15px;

    line-height: 1.6;

    color: #555;

}

.terms-check {

    margin-top:40px;

    text-align:center;

    font-size:18px;

}


button:disabled {

    opacity:0.5;

    cursor:not-allowed;

}

.start-box{

    display:flex;
    justify-content:center;
    margin-top:50px;

}

/* -------------------------
   Home page
--------------------------*/

.highlight-box{

    margin:50px auto;

    max-width:900px;

    background:white;

    border-left:6px solid #5B5CEB;

    border-radius:14px;

    padding:28px;

    font-size:21px;

    line-height:1.8;

    box-shadow:0 5px 18px rgba(0,0,0,.06);

}

.feature-grid{

    margin-top:50px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.feature-card{

    background:white;

    border-radius:16px;

    padding:30px;

    text-align:center;

    box-shadow:0 5px 18px rgba(0,0,0,.06);

}

.feature-card h3{

    margin:15px 0;

    color:#5B5CEB;

    font-size:24px;

}

.feature-card p{

    font-size:18px;

    line-height:1.7;

}

.feature-icon{

    font-size:46px;

}

.primary-button{

    display:inline-block;

    background:#5B5CEB;

    color:white;

    text-decoration:none;

    padding:18px 55px;

    border-radius:12px;

    font-size:24px;

    font-weight:600;

    transition:.25s;

}

.primary-button:hover{

    background:#4446d5;

    transform:translateY(-2px);

}

.feature-card{

    transition:.25s;

}

.feature-card:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 30px rgba(0,0,0,.10);

}

/* ==========================================
   Pagina configurazione tecnica
   ========================================== */

.technical-grid{

    margin-top:50px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:45px 60px;

}

.technical-field h3{

    margin-bottom:12px;

    font-size:22px;

}

.technical-field .wizard-input{

    width:100%;

}

/* Responsive */

@media (max-width:900px){

    .technical-grid{

        grid-template-columns:1fr;

        gap:35px;

    }

}