/* =========================
   CONFIGURAÇÕES GERAIS
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
    color: #292934;
}


/* =========================
   CABEÇALHO
========================= */

.header {
    height: 150px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px 70px;

    background: white;

    border-top: 12px solid #9b6bb0;
    border-bottom: 12px solid #9b6bb0;
}


/* LOGO */

.logo-area {
    display: flex;
    align-items: center;
    gap: 20px;
}

.logo {
    width: 90px;
    height: 90px;
    border: 3px solid #a56ab5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4eafa;
    overflow: hidden;
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.logo-text h1 {
    font-family: Georgia, serif;
    font-size: 32px;

    color: #555;
}

.logo-text p {
    font-size: 18px;
    color: #555;
    margin-top: 5px;
}


/* MENU */

.menu {
    display: flex;
    gap: 40px;
}

.menu a {
    text-decoration: none;

    color: #88499e;

    font-size: 18px;

    transition: 0.3s;
}

.menu a:hover {
    color: #5f286f;
}


/* =========================
   ÁREA PRINCIPAL
========================= */

.hero {
    min-height: 580px;

    display: flex;
    align-items: center;

    padding: 70px;

    gap: 50px;

    background:
        linear-gradient(
            135deg,
            #f4f9fd,
            #eaf5fb
        );
}


/* TEXTO */

.intro {
    width: 28%;
}

.intro h2 {
    font-family: Georgia, serif;

    font-size: 48px;

    line-height: 1.15;

    color: #29313b;
}

.linha {
    width: 65px;
    height: 4px;

    background: #9655aa;

    margin: 25px 0;
}

.intro p {
    font-size: 20px;

    line-height: 1.6;

    color: #343b45;
}


/* =========================
   LOGIN
========================= */

.login-box {
    width: 450px;

    padding: 35px 55px;

    background: #b7ddec;

    border-radius: 28px;

    box-shadow:
        0 20px 35px rgba(0, 0, 0, 0.15);

    z-index: 2;
}

.login-box h2 {
    text-align: center;

    font-family: Georgia, serif;

    font-size: 42px;

    margin-bottom: 30px;
}

.login-box form {
    display: flex;
    flex-direction: column;

    gap: 18px;
}

.login-box input {
    height: 52px;

    border: none;

    border-radius: 30px;

    padding: 0 25px;

    font-size: 16px;

    outline: none;

    box-shadow:
        inset 0 2px 5px rgba(0, 0, 0, 0.08);
}

.forgot {
    text-align: center;

    color: #7c4090;

    font-size: 14px;
}

.login-box button {
    width: 170px;
    height: 50px;

    margin: 0 auto;

    border: none;

    border-radius: 30px;

    background: #a254b5;

    color: white;

    font-size: 18px;

    cursor: pointer;

    transition: 0.3s;
}

.login-box button:hover {
    background: #843e97;

    transform: scale(1.03);
}


/* LINHA OU */

.ou {
    display: flex;

    align-items: center;

    gap: 15px;

    justify-content: center;
}

.ou span {
    height: 1px;

    background: #8b9da5;

    flex: 1;
}

.ou p {
    color: #555;
}


/* CRIAR CONTA */

.login-box .create-account {
    width: 100%;

    background: transparent;

    color: #7d4391;

    border: 2px solid #8d4da0;
}

.login-box .create-account:hover {
    background: #ffffff;
}


/* =========================
   ESCUDO
========================= */

.security {
    flex: 1;

    height: 350px;

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    background: #d4ebf5;

    border-radius: 35px;
}

.shield {
    width: 270px;
    height: 270px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border: 8px solid #e2d2ed;

    border-radius: 50%;

    overflow: hidden;

    box-shadow:
        0 10px 30px rgba(76, 42, 107, 0.3);
}

.shield img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}


/* ÍCONES SOCIAIS */

.social {
    position: absolute;

    width: 90px;
    height: 90px;

    border-radius: 20px;

    background: white;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    box-shadow:
        0 5px 15px rgba(0,0,0,0.1);

    padding: 5px;
}

.social img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}

.tiktok {
    left: 20%;

    color: #7c55a5;
}

.youtube {
    right: 20%;

    color: #8650a0;
}


/* =========================
   CARDS
========================= */

.features {
    min-height: 180px;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 30px;

    padding: 40px 70px;

    background: white;
}

.feature {
    display: flex;

    align-items: center;

    gap: 20px;

    padding-right: 20px;

    border-right: 1px solid #ddd;
}

.feature:last-child {
    border-right: none;
}

.feature-icon {
    min-width: 70px;
    height: 70px;

    border-radius: 50%;

    display: flex;

    align-items: center;
    justify-content: center;

    font-size: 30px;

    background: #e5f3fa;
}

.feature h3 {
    color: #88499e;

    font-size: 20px;

    margin-bottom: 8px;
}

.feature p {
    color: #555;

    line-height: 1.4;
}


/* =========================
   RODAPÉ
========================= */

footer {
    height: 100px;

    background: #9b5eb0;

    color: white;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 16px;
}


/* =========================
   CELULAR
========================= */

@media (max-width: 1000px) {

    .header {
        height: auto;

        flex-direction: column;

        gap: 25px;

        padding: 25px;
    }

    .menu {
        gap: 20px;

        flex-wrap: wrap;

        justify-content: center;
    }

    .hero {
        flex-direction: column;

        padding: 40px 25px;
    }

    .intro {
        width: 100%;

        text-align: center;
    }

    .linha {
        margin: 20px auto;
    }

    .login-box {
        width: 100%;

        max-width: 450px;
    }

    .security {
        width: 100%;
    }

    .features {
        grid-template-columns: 1fr;

        padding: 30px;
    }

    .feature {
        border-right: none;

        border-bottom: 1px solid #ddd;

        padding-bottom: 20px;
    }
}

/* =========================================
   PÁGINA SOBRE NÓS
========================================= */

.sobre-page {
    background:
        linear-gradient(
            135deg,
            #f4f9fd,
            #eaf5fb
        );

    min-height: calc(100vh - 250px);

    padding-bottom: 60px;
}


/* =========================================
   INTRODUÇÃO SOBRE
========================================= */

.sobre-intro {

    min-height: 500px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 80px;

    padding: 70px;

}


.sobre-texto {

    width: 55%;

}


.sobre-texto h2 {

    font-family: Georgia, serif;

    font-size: 48px;

    color: #29313b;

}


.sobre-texto p {

    font-size: 19px;

    line-height: 1.7;

    color: #343b45;

    margin-bottom: 18px;

}


.sobre-escudo {

    flex: 1;

    min-height: 350px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #d4ebf5;

    border-radius: 35px;

}


/* =========================================
   TÍTULO DA EQUIPE
========================================= */

.equipe {

    padding: 50px 70px;

    background: white;

}


.equipe-titulo {

    text-align: center;

    max-width: 750px;

    margin: 0 auto 60px;

}


.equipe-titulo h2 {

    font-family: Georgia, serif;

    font-size: 42px;

    color: #29313b;

}


.equipe-titulo .linha {

    margin: 20px auto;

}


.equipe-titulo p {

    font-size: 18px;

    line-height: 1.6;

    color: #555;

}


/* =========================================
   INTEGRANTES
========================================= */

.integrante {

    max-width: 1000px;

    margin: 0 auto 45px;

    padding: 35px;

    display: flex;

    align-items: center;

    gap: 45px;

    background: #eaf5fb;

    border-radius: 30px;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.08);

}


.integrante-invertido {

    flex-direction: row-reverse;

    background: #f4eafa;

}


/* =========================================
   FOTO / ÍCONE
========================================= */

.integrante-foto {

    min-width: 190px;

    height: 190px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: white;

    border: 5px solid #d4ebf5;

    border-radius: 50%;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.08);

}


.integrante-invertido .integrante-foto {

    border-color: #e2d2ed;

}


.integrante-foto span {

    font-size: 85px;

}

.integrante-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    border-radius: 50%;
}


/* =========================================
   INFORMAÇÕES
========================================= */

.integrante-info {

    flex: 1;

}


.integrante-info h3 {

    font-family: Georgia, serif;

    font-size: 30px;

    color: #88499e;

    margin-bottom: 8px;

}


.integrante-info h4 {

    font-size: 17px;

    color: #7250a1;

    margin-bottom: 18px;

}


.integrante-info p {

    font-size: 17px;

    line-height: 1.7;

    color: #555;

}


/* =========================================
   BOTÃO VOLTAR
========================================= */

.voltar-area {

    display: flex;

    justify-content: center;

    padding: 20px 0 50px;

}


.botao-voltar {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 15px 30px;

    border-radius: 30px;

    background: #a254b5;

    color: white;

    text-decoration: none;

    font-size: 17px;

    transition: 0.3s;

}


.botao-voltar:hover {

    background: #843e97;

    transform: scale(1.03);

}


/* =========================================
   RESPONSIVIDADE - SOBRE
========================================= */

@media (max-width: 1000px) {

    .sobre-intro {

        flex-direction: column;

        padding: 50px 25px;

        gap: 40px;

    }


    .sobre-texto {

        width: 100%;

        text-align: center;

    }


    .sobre-texto .linha {

        margin: 20px auto;

    }


    .sobre-escudo {

        width: 100%;

        min-height: 300px;

    }


    .equipe {

        padding: 40px 25px;

    }


    .integrante,
    .integrante-invertido {

        flex-direction: column;

        text-align: center;

        padding: 30px 20px;

    }


    .integrante-foto {

        min-width: 160px;

        width: 160px;

        height: 160px;

    }


    .integrante-foto span {

        font-size: 70px;

    }

}
/* =========================================
   PÁGINA DE CONTATO
========================================= */

.contato-page {

    min-height: calc(100vh - 250px);

    background:
        linear-gradient(
            135deg,
            #f4f9fd,
            #eaf5fb
        );

    padding-bottom: 40px;

}


.contato-conteudo {

    min-height: 550px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 100px;

    padding: 70px;

}


/* =========================================
   TEXTO DO CONTATO
========================================= */

.contato-texto {

    width: 40%;

}


.contato-texto h2 {

    font-family: Georgia, serif;

    font-size: 48px;

    line-height: 1.15;

    color: #29313b;

}


.contato-texto p {

    font-size: 19px;

    line-height: 1.7;

    color: #343b45;

    margin-bottom: 18px;

}


/* =========================================
   CARD DE CONTATO
========================================= */

.contato-card {

    width: 450px;

    min-height: 380px;

    padding: 45px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    background: #b7ddec;

    border-radius: 30px;

    box-shadow:
        0 20px 35px rgba(0, 0, 0, 0.15);

}


.contato-icone {

    width: 90px;

    height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: white;

    border-radius: 50%;

    font-size: 42px;

    margin-bottom: 20px;

}


.contato-card h3 {

    font-family: Georgia, serif;

    font-size: 32px;

    color: #29313b;

    margin-bottom: 15px;

}


.contato-card p {

    font-size: 17px;

    line-height: 1.5;

    color: #555;

    max-width: 330px;

}


/* =========================================
   LINK DO E-MAIL
========================================= */

.email-link {

    display: inline-block;

    margin: 15px 0;

    padding: 14px 25px;

    background: #a254b5;

    color: white;

    border-radius: 30px;

    text-decoration: none;

    font-size: 17px;

    font-weight: bold;

    transition: 0.3s;

}


.email-link:hover {

    background: #843e97;

    transform: scale(1.03);

}


.contato-card .contato-ajuda {

    font-size: 13px;

    color: #666;

    margin-top: 5px;

}


/* =========================================
   RESPONSIVIDADE
========================================= */

@media (max-width: 1000px) {

    .contato-conteudo {

        flex-direction: column;

        gap: 40px;

        padding: 50px 25px;

        text-align: center;

    }


    .contato-texto {

        width: 100%;

    }


    .contato-texto .linha {

        margin: 20px auto;

    }


    .contato-card {

        width: 100%;

        max-width: 450px;

    }

}
/* =========================================
   PÁGINA DE CONTEÚDO
========================================= */

.conteudo-page {

    min-height: calc(100vh - 250px);

    background:
        linear-gradient(
            135deg,
            #f4f9fd,
            #eaf5fb
        );

    padding-bottom: 50px;

}


/* =========================================
   INTRODUÇÃO
========================================= */

.conteudo-intro {

    text-align: center;

    max-width: 800px;

    margin: 0 auto;

    padding: 65px 25px 40px;

}


.conteudo-intro h2 {

    font-family: Georgia, serif;

    font-size: 46px;

    color: #29313b;

}


.conteudo-intro .linha {

    margin: 20px auto;

}


.conteudo-intro p {

    font-size: 19px;

    line-height: 1.6;

    color: #343b45;

    margin-bottom: 12px;

}


/* =========================================
   CARDS DAS REDES
========================================= */

.redes {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 45px;

    max-width: 950px;

    margin: 20px auto 50px;

    padding: 0 25px;

}


.rede-card {

    min-height: 400px;

    padding: 45px 40px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    background: white;

    border-radius: 30px;

    box-shadow:
        0 15px 30px rgba(0, 0, 0, 0.10);

    transition: 0.3s;

}


.rede-card:hover {

    transform: translateY(-5px);

    box-shadow:
        0 20px 35px rgba(0, 0, 0, 0.14);

}


/* =========================================
   ÍCONE
========================================= */

.rede-icone {
    width: 100px;
    height: 100px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background: white;

    overflow: hidden;

    margin-bottom: 25px;

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.10);
}

.rede-icone img {
    width: 75px;
    height: 75px;

    object-fit: contain;

    display: block;
}


.youtube-icon {

    background: #eaf5fb;

    color: #8650a0;

    font-size: 48px;

}


/* =========================================
   TEXTO DOS CARDS
========================================= */

.rede-card h3 {

    font-family: Georgia, serif;

    font-size: 34px;

    color: #88499e;

    margin-bottom: 15px;

}


.rede-card > p {

    max-width: 350px;

    font-size: 17px;

    line-height: 1.6;

    color: #555;

}


.rede-card .tutorial-info {

    font-size: 14px;

    color: #7250a1;

    margin-top: 10px;

    margin-bottom: 25px;

}


/* =========================================
   BOTÃO DOS TUTORIAIS
========================================= */

.rede-botao {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 210px;

    padding: 14px 25px;

    border-radius: 30px;

    background: #a254b5;

    color: white;

    text-decoration: none;

    font-size: 16px;

    transition: 0.3s;

}


.rede-botao:hover {

    background: #843e97;

    transform: scale(1.03);

}


/* =========================================
   AVISO
========================================= */

.conteudo-aviso {

    max-width: 950px;

    margin: 0 auto 20px;

    padding: 30px 40px;

    display: flex;

    align-items: center;

    gap: 25px;

    background: #b7ddec;

    border-radius: 25px;

}


.aviso-icon {

    min-width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: white;

    border-radius: 50%;

    font-size: 35px;

}


.conteudo-aviso h3 {

    font-family: Georgia, serif;

    font-size: 24px;

    color: #29313b;

    margin-bottom: 8px;

}


.conteudo-aviso p {

    font-size: 16px;

    line-height: 1.5;

    color: #555;

}


/* =========================================
   RESPONSIVIDADE
========================================= */

@media (max-width: 800px) {

    .redes {

        grid-template-columns: 1fr;

        max-width: 500px;

    }


    .conteudo-intro {

        padding-top: 45px;

    }


    .conteudo-intro h2 {

        font-size: 38px;

    }


    .conteudo-aviso {

        margin: 0 25px 20px;

        flex-direction: column;

        text-align: center;

        padding: 30px 25px;

    }

}

/* =========================================
   LOGO DA PÁGINA SOBRE
========================================= */

.sobre-logo {

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 50px 20px 20px;

}


.sobre-logo img {

    width: 220px;

    height: 220px;

    object-fit: contain;

    display: block;

    border-radius: 50%;

    box-shadow:
        0 10px 25px rgba(76, 42, 107, 0.15);

}
/* =========================================
   IMPACTO DAS REDES SOCIAIS
========================================= */

.impacto {

    max-width: 1100px;

    margin: 20px auto 50px;

    padding: 45px;

    display: grid;

    grid-template-columns: 2fr 1fr;

    gap: 45px;

    background: white;

    border-radius: 30px;

    box-shadow:
        0 15px 30px rgba(0, 0, 0, 0.08);

}


.impacto-texto h2 {

    font-family: Georgia, serif;

    font-size: 32px;

    color: #29313b;

    line-height: 1.2;

}


.impacto-texto .linha {

    margin: 20px 0;

}


.impacto-texto p {

    color: #555;

    font-size: 17px;

    line-height: 1.7;

    margin-bottom: 15px;

}


.impacto-destaque {

    background: #b7ddec;

    border-radius: 25px;

    padding: 35px 25px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    text-align: center;

}


.impacto-icon {

    width: 85px;

    height: 85px;

    background: white;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 42px;

    margin-bottom: 20px;

}


.impacto-destaque h3 {

    font-family: Georgia, serif;

    font-size: 24px;

    color: #88499e;

    margin-bottom: 12px;

}


.impacto-destaque p {

    color: #555;

    line-height: 1.5;

}


/* =========================================
   IMPORTÂNCIA DA PROTEÇÃO
========================================= */

.protecao {

    max-width: 1000px;

    margin: 0 auto 50px;

    padding: 45px;

    background: #b7ddec;

    border-radius: 30px;

    text-align: center;

}


.protecao h2 {

    font-family: Georgia, serif;

    font-size: 34px;

    color: #29313b;

}


.protecao .linha {

    margin: 20px auto;

}


.protecao p {

    max-width: 800px;

    margin: 12px auto;

    color: #555;

    font-size: 17px;

    line-height: 1.7;

}


/* =========================================
   INTRODUÇÃO DOS TUTORIAIS
========================================= */

.tutorial-intro {

    text-align: center;

    padding: 20px 25px 35px;

}


.tutorial-intro h2 {

    font-family: Georgia, serif;

    font-size: 34px;

    color: #29313b;

    margin-bottom: 12px;

}


.tutorial-intro p {

    font-size: 17px;

    color: #555;

}


/* =========================================
   PÁGINAS DOS TUTORIAIS
========================================= */

.tutorial-page {

    min-height: calc(100vh - 250px);

    background:
        linear-gradient(
            135deg,
            #f4f9fd,
            #eaf5fb
        );

    padding-bottom: 50px;

}


.tutorial-header {

    text-align: center;

    max-width: 850px;

    margin: 0 auto;

    padding: 55px 25px 35px;

}


.tutorial-icon {

    width: 120px;

    height: 120px;

    margin: 0 auto 25px;

    border-radius: 25px;

    background: white;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.10);

}


.tutorial-icon img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}


.tutorial-header h2 {

    font-family: Georgia, serif;

    font-size: 40px;

    color: #29313b;

}


.tutorial-header .linha {

    margin: 20px auto;

}


.tutorial-header p {

    color: #555;

    font-size: 18px;

    line-height: 1.6;

}


/* =========================================
   CARDS DOS TUTORIAIS
========================================= */

.tutorial-card {

    max-width: 950px;

    margin: 0 auto 35px;

    padding: 35px;

    display: flex;

    gap: 25px;

    background: white;

    border-radius: 30px;

    box-shadow:
        0 12px 25px rgba(0, 0, 0, 0.08);

}


.tutorial-numero {

    min-width: 55px;

    height: 55px;

    border-radius: 50%;

    background: #a254b5;

    color: white;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 25px;

    font-weight: bold;

}


.tutorial-conteudo {

    flex: 1;

}


.tutorial-conteudo h3 {

    font-family: Georgia, serif;

    font-size: 26px;

    color: #88499e;

    margin-bottom: 10px;

}


.tutorial-conteudo > p {

    color: #555;

    font-size: 16px;

    line-height: 1.6;

    margin-bottom: 25px;

}


/* =========================================
   FOTOS DOS TUTORIAIS
========================================= */

.foto-tutorial {

    width: 100%;

    min-height: 200px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #eaf5fb;

    border: 2px dashed #a56ab5;

    border-radius: 20px;

    overflow: hidden;

}


.foto-tutorial img {

    width: 100%;

    max-height: 600px;

    object-fit: contain;

    display: block;

}


/* =========================================
   BOTÃO VOLTAR
========================================= */

.voltar-area {

    display: flex;

    justify-content: center;

    padding: 20px;

}


.botao-voltar {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 14px 28px;

    border-radius: 30px;

    background: #a254b5;

    color: white;

    text-decoration: none;

    font-size: 16px;

    transition: 0.3s;

}


.botao-voltar:hover {

    background: #843e97;

    transform: scale(1.03);

}


/* =========================================
   RESPONSIVIDADE
========================================= */

@media (max-width: 800px) {

    .impacto {

        grid-template-columns: 1fr;

        margin: 20px 25px 40px;

        padding: 30px;

    }


    .protecao {

        margin: 0 25px 40px;

        padding: 30px;

    }


    .tutorial-card {

        margin: 0 25px 30px;

        padding: 25px;

        flex-direction: column;

    }


    .tutorial-numero {

        margin: 0 auto;

    }


    .tutorial-header h2 {

        font-size: 32px;

    }


    .tutorial-intro h2 {

        font-size: 28px;

    }

}