/* ===================================================
   DESENVOLVER DO ZERO
   STYLE.CSS
=================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ===========================
        RESET
=========================== */

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:#0F172A;

    color:#ffffff;

    overflow-x:hidden;

}

/* ===========================
      CORES
=========================== */

:root{

    --primary:#2563EB;

    --secondary:#7C3AED;

    --dark:#0F172A;

    --dark2:#111827;

    --card:#1E293B;

    --text:#F8FAFC;

    --text2:#CBD5E1;

    --border:rgba(255,255,255,.08);

}

/* ===========================
        SCROLLBAR
=========================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#0F172A;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:30px;

}

/* ===========================
          NAVBAR
=========================== */

.navbar{

    background:rgba(15,23,42,.85);

    backdrop-filter:blur(14px);

    border-bottom:1px solid rgba(255,255,255,.05);

    padding:18px 0;

    transition:.4s;

}

.navbar-brand{

    font-size:1.5rem;

    font-weight:700;

    color:white !important;

}

.nav-link{

    color:#CBD5E1 !important;

    margin-left:15px;

    transition:.3s;

}

.nav-link:hover{

    color:white !important;

}

.btn-primary{

    background:linear-gradient(90deg,#2563EB,#7C3AED);

    border:none;

    border-radius:12px;

    padding:12px 24px;

    font-weight:600;

}

.btn-primary:hover{

    transform:translateY(-2px);

    transition:.3s;

}

.btn-outline-light{

    border-radius:12px;

}

/* ===========================
            HERO
=========================== */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

    padding-top:100px;

}

.hero::before{

    content:"";

    position:absolute;

    width:600px;

    height:600px;

    background:#2563EB;

    filter:blur(220px);

    opacity:.18;

    top:-150px;

    right:-150px;

}

.hero::after{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    background:#7C3AED;

    filter:blur(180px);

    opacity:.18;

    bottom:-120px;

    left:-120px;

}

.hero h1{

    font-size:3.7rem;

    font-weight:800;

    line-height:1.2;

}

.hero p{

    color:#CBD5E1;

    font-size:1.1rem;

}

.hero .badge{

    padding:10px 18px;

    border-radius:30px;

    font-size:.9rem;

}

/* ===========================
        HERO CARD
=========================== */

.hero-card{

    background:#111827;

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 30px 80px rgba(0,0,0,.45);

    animation:float 5s ease-in-out infinite;

}

.code-header{

    display:flex;

    align-items:center;

    padding:15px;

    background:#1E293B;

}

.dot{

    width:12px;

    height:12px;

    border-radius:50%;

    margin-right:8px;

}

.red{

    background:#EF4444;

}

.yellow{

    background:#FACC15;

}

.green{

    background:#22C55E;

}

.code-body{

    padding:25px;

}

.code-body pre{

    color:#22C55E;

    font-size:15px;

    line-height:2;

    margin:0;

}

/* ===========================
        ANIMAÇÕES
=========================== */

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-15px);

    }

    100%{

        transform:translateY(0px);

    }

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(50px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.hero .container{

    animation:fadeUp 1s ease;

}

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

.feature-card{

    background:rgba(30,41,59,.95);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:35px;

    height:100%;

    transition:.35s;

    text-align:center;

}

.feature-card:hover{

    transform:translateY(-10px);

    border-color:#2563EB;

    box-shadow:0 20px 45px rgba(37,99,235,.25);

}

.feature-card h4{

    margin-top:20px;

    font-weight:700;

}

.feature-card p{

    color:#CBD5E1;

    margin-top:15px;

    line-height:1.8;

}

.feature-card i{

    transition:.35s;

}

.feature-card:hover i{

    transform:scale(1.15) rotate(-5deg);

}

/* ===================================================
   STEP CARD
=================================================== */

.step-card{

    background:#1E293B;

    padding:35px;

    border-radius:18px;

    transition:.3s;

    height:100%;

    border:1px solid rgba(255,255,255,.06);

}

.step-card:hover{

    transform:translateY(-8px);

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

}

.step-card h1{

    font-size:60px;

    font-weight:800;

    color:#2563EB;

}

.step-card h4{

    margin:20px 0;

}

.step-card p{

    color:#CBD5E1;

}

/* ===================================================
   ESTATÍSTICAS
=================================================== */

.bg-primary{

    background:linear-gradient(90deg,#2563EB,#7C3AED)!important;

}

.bg-primary h2{

    font-size:45px;

    font-weight:800;

}

.bg-primary p{

    opacity:.9;

    margin-top:10px;

}

/* ===================================================
   TESTIMONIAL CARD
=================================================== */

.testimonial-card{

    background:#1E293B;

    border-radius:20px;

    padding:30px;

    border:1px solid rgba(255,255,255,.06);

    transition:.3s;

    height:100%;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    border-color:#2563EB;

}

.testimonial-card h5{

    font-weight:700;

}

.testimonial-card p{

    color:#CBD5E1;

    line-height:1.8;

}

/* ===================================================
   BADGES
=================================================== */

.badge{

    border-radius:30px;

    padding:10px 18px;

    font-size:.9rem;

}

/* ===================================================
   TÍTULOS
=================================================== */

section h2{

    font-size:2.3rem;

    font-weight:800;

}

section p{

    font-size:1rem;

}

/* ===================================================
   HOVER GERAL
=================================================== */

.btn{

    transition:.3s;

}

.btn:hover{

    transform:translateY(-3px);

}

.card{

    transition:.35s;

}

.card:hover{

    transform:translateY(-8px);

}

/* ===================================================
   ANIMAÇÃO DE ENTRADA
=================================================== */

.feature-card,
.step-card,
.testimonial-card{

    animation:fadeUp .9s ease;

}

/* ===================================================
   FAQ
=================================================== */

.accordion{

    --bs-accordion-bg:#1E293B;

    --bs-accordion-border-color:rgba(255,255,255,.08);

    --bs-accordion-btn-bg:#1E293B;

    --bs-accordion-active-bg:#2563EB;

    --bs-accordion-active-color:#FFF;

    --bs-accordion-btn-color:#FFF;

    --bs-accordion-color:#CBD5E1;

}

.accordion-item{

    margin-bottom:15px;

    border-radius:15px !important;

    overflow:hidden;

}

.accordion-button{

    font-weight:600;

    padding:20px;

}

.accordion-button:focus{

    box-shadow:none;

}

/* ===================================================
   CTA
=================================================== */

.cta-section{

    padding:90px 0;

    background:linear-gradient(135deg,#2563EB,#7C3AED);

    text-align:center;

}

.cta-section h2{

    font-size:3rem;

    font-weight:800;

}

.cta-section p{

    color:#E2E8F0;

    margin-top:20px;

    font-size:1.15rem;

}

/* ===================================================
   FOOTER
=================================================== */

footer{

    background:#020617;

}

footer h4,
footer h5{

    color:#FFF;

    font-weight:700;

}

footer p{

    color:#94A3B8;

    line-height:1.8;

}

footer ul{

    padding:0;

}

footer ul li{

    list-style:none;

    margin-bottom:12px;

}

footer a{

    text-decoration:none;

    color:#94A3B8;

    transition:.3s;

}

footer a:hover{

    color:#FFF;

    padding-left:5px;

}

footer i{

    font-size:28px;

    cursor:pointer;

    transition:.3s;

}

footer i:hover{

    color:#2563EB;

    transform:translateY(-5px);

}

/* ===================================================
   RESPONSIVO
=================================================== */

@media(max-width:992px){

.hero{

text-align:center;

padding-top:150px;

}

.hero h1{

font-size:2.8rem;

}

.hero-card{

margin-top:50px;

}

.navbar{

padding:12px;

}

}

@media(max-width:768px){

.hero h1{

font-size:2.2rem;

}

.display-4{

font-size:2rem;

}

.feature-card{

padding:25px;

}

.step-card{

margin-bottom:20px;

}

.testimonial-card{

margin-bottom:20px;

}

section{

padding:70px 0 !important;

}

.bg-primary h2{

font-size:34px;

}

}

@media(max-width:576px){

.hero{

padding-top:130px;

}

.hero h1{

font-size:1.8rem;

}

.hero p{

font-size:1rem;

}

.btn{

width:100%;

margin-bottom:15px;

}

.hero .btn{

display:block;

}

.code-body pre{

font-size:12px;

}

}

/* ===================================================
   SELECTION
=================================================== */

::selection{

background:#2563EB;

color:#FFF;

}

/* ===================================================
   LINKS
=================================================== */

a{

transition:.3s;

}

/* ===================================================
   IMAGENS
=================================================== */

img{

max-width:100%;

height:auto;

}

/* ===================================================
   ESPAÇAMENTOS
=================================================== */

section{

padding:100px 0;

}

/* ===================================================
   GLASS EFFECT
=================================================== */

.glass{

background:rgba(255,255,255,.05);

backdrop-filter:blur(15px);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

}

/* ===================================================
   SOMBRAS
=================================================== */

.shadow-custom{

box-shadow:0 25px 60px rgba(0,0,0,.35);

}

/* ===================================================
   FINAL
=================================================== */

.text-gradient{

background:linear-gradient(90deg,#2563EB,#7C3AED);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

background-clip:text;

}