/*==================================================
    CAPTIVE PORTAL GRANENERGIA
    Desenvolvido pela Equipe de TI GranEnergia
===================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
}

body{

    background:#f4f6f8;

    background-image:
    radial-gradient(circle at top right,#FFD15C 0%,transparent 25%),
    radial-gradient(circle at bottom left,#F58220 0%,transparent 25%);

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px;

}

.container{

    width:100%;

    max-width:430px;

    background:#FFF;

    border-radius:18px;

    overflow:hidden;

    box-shadow:
    0 15px 40px rgba(0,0,0,.18);

}

.topo{

    background:linear-gradient(90deg,#F58220,#FFC72C);

    padding:30px;

    text-align:center;

}

.logo{

    max-width:220px;

    width:100%;

    margin:auto;

    display:block;

}

.conteudo{

    padding:35px;

}

h1,
h2{

    text-align:center;

    color:#444;

    margin-bottom:10px;

    font-size:28px;

}

p{

    text-align:center;

    color:#666;

    margin-bottom:25px;

    line-height:1.5;

}

label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#555;

}

input,
select{

    width:100%;

    height:50px;

    border:2px solid #E5E5E5;

    border-radius:10px;

    padding:0 15px;

    font-size:15px;

    margin-bottom:18px;

    transition:.3s;

    background:#FFF;

}

input:focus,
select:focus{

    outline:none;

    border-color:#F58220;

    box-shadow:0 0 0 4px rgba(245,130,32,.18);

}

input[readonly]{

    background:#f9f9f9;

}

button{

    width:100%;

    height:52px;

    border:none;

    border-radius:10px;

    background:#F58220;

    color:#FFF;

    font-size:16px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

button:hover{

    background:#D96A00;

    transform:translateY(-2px);

    box-shadow:0 10px 20px rgba(245,130,32,.35);

}

button:active{

    transform:scale(.98);

}

a{

    color:#F58220;

    text-decoration:none;

    font-weight:600;

}

a:hover{

    color:#D96A00;

}

.text-center{

    text-align:center;

}

.mt-20{

    margin-top:20px;

}

.mt-30{

    margin-top:30px;

}

.success{

    background:#E8F5E9;

    color:#2E7D32;

    border-left:5px solid #4CAF50;

    padding:15px;

    border-radius:8px;

    margin-bottom:20px;

}

.error{

    background:#FDECEC;

    color:#C62828;

    border-left:5px solid #E53935;

    padding:15px;

    border-radius:8px;

    margin-bottom:20px;

}

.info{

    background:#FFF8E1;

    color:#E65100;

    border-left:5px solid #F58220;

    padding:15px;

    border-radius:8px;

    margin-bottom:20px;

}

hr{

    border:none;

    border-top:1px solid #EEE;

    margin:25px 0;

}

.footer{

    margin-top:30px;

    padding:20px;

    border-top:1px solid #EEE;

    text-align:center;

    color:#777;

    font-size:13px;

    line-height:1.6;

}

.footer strong{

    color:#F58220;

}

.footer small{

    display:block;

    margin-top:5px;

    color:#999;

}

@media(max-width:480px){

    .container{

        border-radius:15px;

    }

    .conteudo{

        padding:25px;

    }

    h1,
    h2{

        font-size:24px;

    }

}

/* ======================================
   AVISO DE FRANQUIA
====================================== */

.aviso-franquia{

    background:#f8f9fa;

    color:#555;

    border:1px solid #e5e5e5;

    border-radius:10px;

    padding:14px 16px;

    margin-bottom:25px;

    font-size:13px;

    line-height:1.5;

    text-align:center;

}


.aviso-franquia strong{

    display:block;

    color:#F58220;

    font-size:14px;

    margin-bottom:8px;

}


.aviso-franquia b{

    color:#444;

}



/* animação inicial */

.container{

    animation:

    aparecer .5s ease;

}



@keyframes aparecer{

    from{

        opacity:0;

        transform:translateY(20px);

    }


    to{

        opacity:1;

        transform:translateY(0);

    }

}
/* ======================================
   VALIDAÇÃO DE DOCUMENTO (CPF)
====================================== */

.documento-invalido{

    border-color:#E53935 !important;

    box-shadow:0 0 0 4px rgba(229,57,53,.15) !important;

}
