
        :root {

            --bg: linear-gradient(135deg, #f4f7fb, #dbe7f5);
            --card: #fff;
            --text: #141414;
            --sub: #6b7280;
            --btnbg: #fff;
            --grad: linear-gradient(135deg, #174b84, #1ab6ff);
            --shadow: 0 10px 30px rgba(0, 0, 0, .15);

        }

        body.dark {

            --bg: linear-gradient(135deg, #0f172a, #111827);
            --card: #1f2937;
            --text: #f3f4f6;
            --sub: #cbd5e1;
            --btnbg: #1f2937;
            --grad: linear-gradient(135deg, #38bdf8, #60a5fa);
            --shadow: 0 10px 30px rgba(0, 0, 0, .45);

        }

        * {

            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: Arial, sans-serif;

        }

        body {

            background: var(--bg);
            min-height: 100vh;

            display: flex;
            justify-content: center;
            align-items: center;

            padding: 20px;

            transition: .3s;

        }

        .container {

            position: relative;

            background: var(--card);

            width: 100%;
            max-width: 500px;

            padding: 40px 30px;

            border-radius: 20px;

            box-shadow: var(--shadow);

            text-align: center;

            transition: .3s;

        }

        .theme {

            position: absolute;

            top: 18px;
            right: 18px;

            width: 44px;
            height: 44px;

            border: none;
            border-radius: 50%;

            cursor: pointer;

            background: var(--grad);
            color: #fff;

            font-size: 20px;

            transition: .3s;

        }

        .theme:hover {

            transform: rotate(20deg) scale(1.08);

        }

        .logo {

            width: 180px;
            height: 180px;

            margin: 10px auto 0px;

            /* 
            border: 2px dashed #bbb; 
            */
            border-radius: 15px;

            display: flex;
            justify-content: center;
            align-items: center;

            overflow: hidden;

            transition: .4s;

        }
        /*
            .logo:hover {

                transform: scale(1.03);


            }
        */
        .logo img {

            width: 100%;
            height: 100%;

            object-fit: contain;

        }

        h1 {

            background: var(--grad);

            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;

            background-clip: text;
            color: transparent;

            font-size: 32px;

            margin-bottom: 15px;

        }

        .subtitulo {

            color: var(--sub);

            font-size: 14px;
            line-height: 1.6;

            margin-bottom: 45px;

        }

        .botoes {

            display: flex;
            flex-direction: column;

            gap: 18px;

        }

        .botao {

            position: relative;

            display: flex;
            justify-content: center;
            align-items: center;

            padding: 18px;

            text-decoration: none;

            font-size: 18px;
            font-weight: bold;

            color: var(--text);

            border: 2px solid transparent;
            border-radius: 80px;

            background:
                linear-gradient(var(--btnbg), var(--btnbg)) padding-box,
                var(--grad) border-box;

            transition: .35s;

        }

        .botao i {

            position: absolute;
            right: 32px;

            font-size: 18px;

            transition: .35s;

        }

        .botao:hover {

            color: #fff;

            background:
                var(--grad) padding-box,
                var(--grad) border-box;

            transform: translateY(-3px);

            box-shadow: 0 10px 25px rgba(23, 75, 132, .3);

        }

        .botao:hover i {

            transform: translateX(5px);

        }

        @media (max-width:480px) {

            .container {

                padding: 30px 20px;

            }

            .logo {

                width: 120px;
                height: 120px;

            }

            h1 {

                font-size: 26px;

            }

            .botao {

                font-size: 17px;
                padding: 16px;

            }

        }
       /*==================================================
            MENU CANDIDATOS
==================================================*/

.menu-candidatos{

    width:100%;

}

.botao-menu {

    position: relative;

    width: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

    cursor: pointer;

    padding: 18px 60px 18px 25px;

}

.botao-menu span{

    display:flex;
    align-items:center;
    gap:12px;

}

.seta {

    position: absolute !important;

    right: 30px;

    transition: .35s ease;

}
.menu-candidatos.ativo .seta{

    transform:rotate(180deg);

}
/*==================================================
                SUBMENU
==================================================*/

.submenu{

    max-height:0;

    

    opacity:0;

    transition:

        max-height .35s ease,

        opacity .25s ease;

}

.menu-candidatos.ativo .submenu{

    max-height:500px;

    opacity:1;

    margin-top:12px;

}
/*==================================================
            ITENS DO SUBMENU
==================================================*/

.submenu-item{

    display:flex;

    align-items:center;

    justify-content:space-between;

    border-radius:50px;

    background:var(--card);

    transition:.25s;

    min-height:60px;
    border:1px solid #1ab6ff3d;
    

}

.submenu-item a:hover{

    background:rgba(26,182,255,.08);

}
.submenu-item a{

    flex:1;

    display:flex;

    align-items:center;

    gap:12px;

    padding:18px 20px;

    text-decoration:none;

    color:var(--text);

    font-weight:600;

    cursor:pointer;

}
.submenu-item a i{

    width:22px;

    text-align:center;

    color:#1ab6ff;

}
.btn-info{

    width:38px;

    height:38px;

    border:none;

    border-radius:50%;

    background:transparent;

    color:#1ab6ff;

    cursor:pointer;

    transition:.25s;

}
.btn-info:hover{

    background:#1ab6ff;

    color:white;

    transform:scale(1.1);

}
@media(max-width:480px){

    .submenu-item{

        padding:16px;

    }

    .submenu-item a{

        font-size:16px;

    }

    .btn-info{

        width:42px;

        height:42px;

        font-size:18px;

    }

}

/*==================================================
                    MODAL
==================================================*/

.modal{

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.45);

    display:flex;
    justify-content:center;

    align-items:flex-start;

    padding:30px 20px;

    overflow-y:auto;

    opacity:0;
    visibility:hidden;

    transition:.30s ease;

    z-index:9999;

}
.modal.show{

    opacity:1;
    visibility:visible;

}

.modal-content{

    position:relative;

    width:100%;
    max-width:500px;

    background:var(--card);

    border-radius:18px;

    padding:30px;

    box-shadow:var(--shadow);

    animation:modalEntrada .30s ease;

    max-height:calc(100vh - 60px);

    overflow-y:auto;

}

@keyframes modalEntrada{

    from{

        transform:translateY(20px) scale(.95);

        opacity:0;

    }

    to{

        transform:translateY(0) scale(1);

        opacity:1;

    }

}

.modal-content h2{

    color:var(--text);

    margin-bottom:18px;

    font-size:24px;

}

.modal-content p{

    color:var(--sub);

    line-height:1.8;

    font-size:16px;

}

.fechar-modal{

    position:absolute;

    top:15px;
    right:15px;

    width:40px;
    height:40px;

    border:none;

    border-radius:50%;

    background:transparent;

    color:var(--text);

    cursor:pointer;

    font-size:20px;

    transition:.25s;

}

.fechar-modal:hover{

    background:#ef4444;

    color:white;

    transform:rotate(90deg);

}

@media(max-width:480px){

    .modal-content{

        padding:22px;

    }

    .modal-content h2{

        font-size:20px;

    }

    .modal-content p{

        font-size:15px;

    }

}
