/* =============================== */
/* GLOBAL */
/* =============================== */

body{
    margin:0;
    background:#0a0a0a;
    font-family:'Poppins', sans-serif;
    color:white;
}

.form-container{
    max-width:800px;
    margin:50px auto;
    padding:40px;

    background:rgba(255,255,255,0.03);
    border-radius:20px;

    box-shadow:0 0 30px rgba(0,255,255,0.1);
}

h1{
    text-align:center;
    font-family:'Orbitron';
    color:#00f7ff;
}

h2{
    margin-top:30px;
    color:#9146FF;
}

/* =============================== */
/* FORM */
/* =============================== */

form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

/* GROUP */
.group{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.group > *{
    flex:1;
    min-width:150px;
}

/* =============================== */
/* INPUT / SELECT / TEXTAREA */
/* =============================== */

input,
select,
textarea{
    width:100%;
    box-sizing:border-box;

    padding:14px 16px;
    border-radius:12px;

    font-size:14px;
    font-family:'Poppins', sans-serif;

    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.15);

    color:white;

    outline:none;
    transition:0.3s;
}

/* hover focus */
input:focus,
select:focus,
textarea:focus{
    border-color:#9146FF;
    box-shadow:0 0 10px rgba(145,70,255,0.5);
}

/* uniform height */
input,
select{
    height:48px;
}

/* textarea */
textarea{
    min-height:120px;
}

/* SELECT FIX */
select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
}

/* options lisibles */
select option{
    background:#111;
    color:white;
}

/* =============================== */
/* OBJECTIFS */
/* =============================== */

.objectifs{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.choice{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    width:120px;
    height:80px;

    border-radius:15px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);

    cursor:pointer;
    transition:0.3s;
}

.choice:hover{
    border-color:#9146FF;
    box-shadow:0 0 15px rgba(145,70,255,0.5);
}

.choice input{
    display:none;
}

.choice .box{
    width:16px;
    height:16px;
    border:2px solid white;
    margin-bottom:6px;
}

.choice input:checked + .box{
    background:#9146FF;
    border-color:#9146FF;
}

.choice .text{
    font-size:14px;
}

/* =============================== */
/* DAYS */
/* =============================== */

.days{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

/* bloc jour */
.day{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    width:100px;
    height:70px;

    border-radius:12px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);

    cursor:pointer;
    transition:0.3s;
}

.day:hover{
    border-color:#9146FF;
    transform:scale(1.05);
}

/* cacher input */
.day input{
    display:none;
}

/* petite box */
.day .box{
    width:16px;
    height:16px;
    border:2px solid white;
    margin-bottom:5px;
}

/* quand checked */
.day input:checked + .box{
    background:#00f7ff;
    border-color:#00f7ff;
}

.day .text{
    font-size:13px;
}

/* =============================== */
/* REROLLS */
/* =============================== */

#rerolls{
    display:flex;
    flex-direction:column;
    gap:15px;
    margin-top:10px;
}

#rerolls .group{
    background:rgba(255,255,255,0.03);
    padding:15px;
    border-radius:15px;
    border:1px solid rgba(255,255,255,0.1);

    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

#rerolls .group select,
#rerolls .group input{
    flex:1;
    min-width:120px;
}

/* =============================== */
/* BUTTONS */
/* =============================== */

button{
    margin-top:20px;
    padding:15px;

    width:100%;
    border:none;
    border-radius:50px;

    background:linear-gradient(45deg,#9146FF,#00f7ff);

    color:white;
    font-weight:bold;

    cursor:pointer;
    transition:0.3s;
}

button:hover{
    transform:scale(1.05);
}

/* bouton reroll */
.add-btn{
    width:auto;
    padding:10px 20px;
    border-radius:30px;
    align-self:flex-start;
}

/* submit */
.submit-btn{
    margin-top:30px;
}

/* =============================== */
/* RESPONSIVE */
/* =============================== */

@media(max-width:768px){

    .group{
        flex-direction:column;
    }

    .choice{
        width:100%;
        height:60px;
        flex-direction:row;
        justify-content:center;
        gap:10px;
    }

    .day{
        width:80px;
    }

}
/* =============================== */
/* BOUTON RETOUR */
/* =============================== */

.back-btn{
    position:fixed;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);

    padding:14px 30px;

    border-radius:50px;
    text-decoration:none;

    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:14px;

    color:white;

    background:linear-gradient(45deg,#9146FF,#00f7ff);

    box-shadow:0 0 15px rgba(0,247,255,0.5);

    z-index:999;

    transition:0.3s;
}

/* hover */
.back-btn:hover{
    transform:translateX(-50%) scale(1.1);
    box-shadow:0 0 25px rgba(0,247,255,0.8);
}