/* GLOBAL */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins, sans-serif;
}

body{
background:#f6f9ff;
color:#333;
line-height:1.6;
}


/* TOPBAR */

.topbar{
background:#0a3d91;
color:white;
padding:8px 8%;
display:flex;
justify-content:space-between;
font-size:14px;
}

.topbar i{
color:#00d084;
margin-right:6px;
}


/* HEADER */

header{
background:white;
padding:15px 8%;
display:flex;
justify-content:space-between;
align-items:center;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
position:sticky;
top:0;
z-index:999;
}

.logo img {
    /* Prevents the image from being wider than its container */
    max-width: 100%; 
    /* Maintains the aspect ratio so the logo doesn't distort */
    height: auto; 
    /* Ensures it doesn't get larger than the original file size */
    width: auto; 
    /* Optional: creates a smooth transition if container sizes change */
    display: block; 
}

.nav{
display:flex;
gap:25px;
align-items:center;
}

.nav a{
display:flex;
flex-direction:column;
align-items:center;
text-decoration:none;
color:#333;
padding:10px 14px;
border-radius:8px;
transition:0.3s;
font-weight:500;
}

.nav a i{
font-size:20px;
margin-bottom:4px;
color:#0a3d91;
}

.nav a:hover{
background:#eef4ff;
color:#0a3d91;
}

.nav a:hover i{
color:#00d084;
}

.auth button{
padding:10px 20px;
border-radius:8px;
border:none;
cursor:pointer;
}

.login{
border:2px solid #0a3d91;
background:white;
color:#0a3d91;
}

.register-btn{
background:linear-gradient(120deg,#0a3d91,#00d084);
color:white;
}


/* HERO SECTION */

.hero{
background:linear-gradient(120deg,#0a3d91,#00d084);
color:white;
text-align:center;
padding:70px 20px;
}

.hero h1{
font-size:42px;
margin-bottom:10px;
}


/* HERO SLIDER */


.slide{
position:absolute;
width:100%;
height:70%;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
text-align:center;
color:white;
padding:20px;
}

.slide1{background:linear-gradient(120deg,#0a3d91,#00d084);}
.slide2{background:linear-gradient(120deg,#00d084,#0a3d91);}
.slide3{background:linear-gradient(120deg,#1a2a6c,#00d084);}

.slide h1{
font-size:46px;
margin-bottom:60px;
}

.slide p{
max-width:700px;
}

.hero button{
margin-top:20px;
padding:14px 30px;
border:none;
border-radius:6px;
background:white;
color:#0a3d91;
font-weight:600;
cursor:pointer;
}


/* CONTAINER */

.container{
max-width:1200px;
margin:auto;
padding:70px 20px;
}


/* ABOUT */

.about{
margin-top:80px;
padding:80px 58px 80px 8%;
display:flex;
gap:40px;
align-items:center;
}

.about img{
width:40%;
}

.about-text{
width:60%;
}

.about h2{
color:#0a3d91;
font-size:34px;
margin-bottom:15px;
}


/* FEATURES */

.features{
padding:80px 8%;
background:white;
text-align:center;
}

.features h2{
font-size:36px;
color:#0a3d91;
margin-bottom:40px;
}

.feature-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:25px;
}

.feature{
background:white;
padding:30px;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
transition:0.4s;
}

.feature:hover{
transform:translateY(-10px);
}

.feature i{
font-size:34px;
color:#00d084;
margin-bottom:10px;
}


/* HOW IT WORKS STEPS */

.steps{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.step{
background:white;
padding:30px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
transition:0.4s;
position:relative;
}

.step:hover{
transform:translateY(-8px);
}

.step-number{
position:absolute;
top:15px;
right:15px;
background:#00d084;
color:white;
padding:6px 12px;
border-radius:20px;
font-size:12px;
}

.step i{
font-size:38px;
color:#00d084;
margin-bottom:15px;
}

.step h3{
color:#0a3d91;
margin-bottom:10px;
}


/* VIDEO SECTION */

.video-section{
margin-top:80px;
text-align:center;
}

.video-section h2{
font-size:34px;
color:#0a3d91;
margin-bottom:25px;
}

.video-wrapper{
position:relative;
padding-bottom:56.25%;
height:0;
overflow:hidden;
max-width:900px;
margin:auto;
border-radius:12px;
box-shadow:0 15px 40px rgba(0,0,0,0.2);
}

.video-wrapper iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}


/* FAQ */

.faq{
padding:80px 8%;
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
}

.faq-container{
max-width:900px;
margin:auto;
padding:70px 20px;
}

.faq-item{
background:white;
margin-bottom:12px;
border-radius:8px;
box-shadow:0 6px 20px rgba(0,0,0,0.08);
overflow:hidden;
}

.question{
padding:18px 20px;
cursor:pointer;
font-weight:600;
display:flex;
justify-content:space-between;
align-items:center;
}

.question:hover{
background:#f1f5ff;
}

.question i{
color:#00d084;
}

.answer{
display:none;
padding:18px 20px;
border-top:1px solid #eee;
color:#555;
}


/* PRICING */

.pricing{
padding:80px 8%;
background:#eef4ff;
text-align:center;
}

.price-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:25px;
margin-top:40px;
}

.price-card,
.card{
background:white;
padding:35px;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
transition:0.4s;
}

.price-card:hover,
.card:hover{
transform:scale(1.05);
}

.price{
font-size:38px;
color:#00d084;
margin:15px 0;
}

.price-card ul{
list-style:none;
}

.price-card li{
margin:10px 0;
}

.price-card button,
button{
margin-top:15px;
padding:12px 25px;
border:none;
background:#0a3d91;
color:white;
border-radius:6px;
cursor:pointer;
}


/* CONTACT */

.contact{
padding:80px;
text-align:center;
background:linear-gradient(120deg,#00d084,#0a3d91);
color:white;
}

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.contact-info,
.contact-form{
background:white;
padding:35px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

.contact-info h2,
.contact-form h2{
color:#0a3d91;
margin-bottom:20px;
}

.contact-item{
display:flex;
align-items:center;
margin-bottom:18px;
}

.contact-item i{
font-size:22px;
color:#00d084;
margin-right:12px;
}

input, textarea{
width:100%;
padding:12px;
margin-bottom:15px;
border:1px solid #ccc;
border-radius:6px;
}


/* GRAPHIC */

.graphic{
text-align:center;
margin-top:40px;
}

.graphic img{
width:250px;
}


/* MAP */

.map{
margin-top:70px;
}

iframe{
width:100%;
height:350px;
border:0;
border-radius:10px;
}


/* WHATSAPP FLOAT */

.whatsapp{
position:fixed;
bottom:25px;
right:25px;
background:#25D366;
color:white;
width:60px;
height:60px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
box-shadow:0 5px 15px rgba(0,0,0,0.3);
text-decoration:none;
}


/* FOOTER */

footer{
background:#0a3d91;
color:white;
padding:40px 8%;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
}

footer ul{
list-style:none;
}

footer li{
margin:8px 0;
}

.bottom{
text-align:center;
background:#062b66;
padding:12px;
color:white;
}


/* MOBILE RESPONSIVE */

@media(max-width:768px){

.register-btn {
        display: none !important;
    }
    
    /* Optional: Makes the Login button fill the space left by the hidden button */
    .auth .login {
        width: 100%;
    }
    
.nav{
display:none;
}

.about{
flex-direction:column;
}

.about img{
width:100%;
}

.about-text{
width:100%;
}

.faq{
grid-template-columns:1fr;
}

.contact-grid{
grid-template-columns:1fr;
}

.slide h1{
font-size:30px;
}

.hero h1{
font-size:30px;
}

}

.cta{
margin-top:80px;
background:linear-gradient(120deg,#00d084,#0a3d91);
color:white;
padding:70px 20px;
text-align:center;
}

.cta button{
margin-top:20px;
padding:14px 30px;
border:none;
border-radius:6px;
background:white;
color:#0a3d91;
font-weight:600;
cursor:pointer;
}

/* MOBILE TOGGLE */

.mobile-toggle{
display:none;
font-size:24px;
cursor:pointer;
color:#0a3d91;
}

/* MOBILE MENU */

@media(max-width:768px){

header{
display:flex;
align-items:center;
}

.mobile-toggle{
display:block;
margin-right:15px;
}

.logo{
flex:1;
}

.nav{
position:absolute;
top:70px;
left:0;
width:100%;
background:white;
flex-direction:column;
align-items:center;
display:none;
box-shadow:0 10px 20px rgba(0,0,0,0.1);
}

.nav a{
width:100%;
padding:15px;
border-bottom:1px solid #eee;
text-align:center;
}

}