/* ========================= */
/* RESET                     */
/* ========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ========================= */
/* BODY                      */
/* ========================= */

body{

    font-family:Arial, sans-serif;

    background:#111;

    color:white;

    padding:40px;
}

/* ========================= */
/* TITRES                    */
/* ========================= */

h1{

    text-align:center;

    margin-bottom:40px;

    font-size:42px;
}

h2{

    margin-bottom:10px;
}

/* ========================= */
/* LOGIN                     */
/* ========================= */

.login-box{

    width:350px;

    background:#1f1f1f;

    padding:40px;

    border-radius:15px;

    margin:auto;

    margin-top:120px;

    box-shadow:0 10px 25px rgba(0,0,0,0.5);
}

.login-box h2{

    text-align:center;

    margin-bottom:20px;
}

.error{

    background:#7a1d1d;

    padding:10px;

    border-radius:8px;

    margin-bottom:15px;
}

/* ========================= */
/* FORMULAIRES               */
/* ========================= */

input,
textarea,
select{

    width:100%;

    padding:12px;

    border:none;

    border-radius:8px;

    margin-bottom:15px;

    background:#2a2a2a;

    color:white;
}

textarea{

    min-height:120px;

    resize:vertical;
}

/* ========================= */
/* BOUTONS                   */
/* ========================= */

button{

    background:#4c7dff;

    color:white;

    border:none;

    padding:12px 20px;

    border-radius:8px;

    cursor:pointer;

    transition:0.3s;
}

button:hover{

    background:#355ce0;
}

/* ========================= */
/* GRID                      */
/* ========================= */

.grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(300px,1fr));

    gap:25px;
}

/* ========================= */
/* CARTES                    */
/* ========================= */

.card{

    background:#1e1e1e;

    border-radius:15px;

    overflow:hidden;

    box-shadow:0 6px 20px rgba(0,0,0,0.4);

    transition:0.3s;
}

.card:hover{

    transform:translateY(-5px);
}

.card img{

    width:100%;

    height:220px;

    object-fit:cover;
}

.card-content{

    padding:20px;
}

.card p{

    color:#bbb;

    margin-bottom:20px;

    line-height:1.5;
}

/* ========================= */
/* VOTES                     */
/* ========================= */

.vote-count{

    margin-bottom:15px;

    font-size:18px;

    color:#6ab0ff;
}

.big-votes{

    font-size:30px;

    font-weight:bold;

    color:#4c7dff;
}

/* ========================= */
/* RESULTATS                 */
/* ========================= */

.result-card{

    background:#1e1e1e;

    padding:25px;

    border-radius:15px;

    margin-bottom:20px;

    display:flex;

    justify-content:space-between;

    align-items:center;
}

/* ========================= */
/* ADMIN DASHBOARD           */
/* ========================= */

.dashboard{

    display:grid;

    grid-template-columns:1fr 2fr;

    gap:30px;
}

.panel{

    background:#1f1f1f;

    padding:25px;

    border-radius:15px;
}

.stats{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(150px,1fr));

    gap:20px;

    margin-bottom:30px;
}

.stat-box{

    background:#262626;

    padding:20px;

    border-radius:12px;

    text-align:center;
}

.stat-box h3{

    font-size:35px;

    color:#4c7dff;
}

.stat-box p{

    color:#bbb;
}

/* ========================= */
/* ACTIONS                   */
/* ========================= */

.actions{

    display:flex;

    gap:10px;

    margin-top:15px;
}

.delete-btn{

    background:#d33;
}

.delete-btn:hover{

    background:#b51f1f;
}

/* ========================= */
/* NAVBAR                    */
/* ========================= */

.navbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;
}

.navbar a{

    color:white;

    text-decoration:none;
}

/* ========================= */
/* RESPONSIVE                */
/* ========================= */

@media(max-width:900px){

    .dashboard{

        grid-template-columns:1fr;
    }
}

@media(max-width:768px){

    body{

        padding:20px;
    }

    h1{

        font-size:30px;
    }

    .result-card{

        flex-direction:column;

        gap:15px;
    }
}/* CSS Document */

