/* =========================
   1. RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
line-height:1.6;
color:#333;
background:white;
}


/* =========================
   2. LAYOUT
========================= */

.container{
width:90%;
max-width:1100px;
margin:auto;
}

.center{
text-align:center;
}

.section{
padding:80px 0;
}

.bg-light{
background:#f3f6fb;
}

h1{
font-size:38px;
color:#1f6ed4;
}

h2{
margin-bottom:20px;
color:#1f6ed4;
}

.highlight{
color:#2ecc71;
}


/* =========================
   3. NAVBAR
========================= */

header{
background:#1f6ed4;
color:white;
position:sticky;
top:0;
z-index:1000;
}

.nav{
display:flex;
align-items:center;
justify-content:space-between;
padding:15px 0;
}

.logo{
font-size:22px;
font-weight:700;
}

.logo span{
color:#2ecc71;
}

nav a{
margin:0 15px;
color:white;
text-decoration:none;
font-weight:500;
transition:0.3s;
}

nav a:hover{
opacity:0.8;
}


/* =========================
   4. BUTTONS
========================= */

.btn-primary{
display:inline-block;
margin-top:25px;
background:#2ecc71;
padding:14px 28px;
color:white;
border-radius:8px;
text-decoration:none;
font-weight:500;
transition:0.3s;
}

.btn-primary:hover{
background:#27ae60;
transform:translateY(-2px);
}

.btn-wa{
background:#25D366;
padding:8px 16px;
border-radius:6px;
color:white;
text-decoration:none;
font-weight:500;
}


/* =========================
   5. HERO
========================= */

.hero{
padding:90px 0;
background:linear-gradient(135deg,#f5f9ff,#eaf3ff);
}

.hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.hero-text p{
margin-top:15px;
font-size:16px;
color:#555;
}

.hero-img{
display:flex;
justify-content:center;
}

.hero-img img{
width:100%;
max-width:580px;
border-radius:16px;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}


/* HERO BADGES */

.hero-badges{
margin-top:25px;
display:flex;
gap:15px;
flex-wrap:wrap;
}

.hero-badges span{
background:white;
padding:10px 18px;
border-radius:30px;
font-size:14px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
}


/* =========================
   6. ABOUT
========================= */

.about-text{
max-width:700px;
margin:auto;
margin-bottom:15px;
}


/* =========================
   7. PRICE TABLE
========================= */

.price-table{
width:100%;
border-collapse:collapse;
margin-top:30px;
}

.price-table th,
.price-table td{
border:1px solid #ddd;
padding:12px;
text-align:center;
}

.price-table th{
background:#f3f6fb;
}


/* =========================
   8. FEATURES
========================= */

.features{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:20px;
margin-top:30px;
text-align:center;
}

.feature{
background:white;
padding:20px;
border-radius:10px;
box-shadow:0 5px 10px rgba(0,0,0,0.1);
transition:0.3s;
}

.feature:hover{
transform:translateY(-5px);
}

.icon{
font-size:30px;
margin-bottom:10px;
}


/* =========================
   9. STEPS
========================= */

.steps{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin-top:30px;
text-align:center;
}

.step{
background:white;
padding:20px;
border-radius:10px;
}

.number{
width:40px;
height:40px;
background:#2ecc71;
color:white;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
margin-bottom:10px;
}


/* =========================
   10. TESTIMONIALS
========================= */

.testimonials{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:30px;
}

.card{
background:white;
padding:20px;
border-radius:10px;
box-shadow:0 5px 10px rgba(0,0,0,0.1);
transition:0.3s;
}

.card:hover{
transform:translateY(-5px);
}


/* =========================
   11. MAP
========================= */

iframe{
width:100%;
height:300px;
margin-top:20px;
border:0;
border-radius:10px;
}


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

.cta{
position:relative;
background:linear-gradient(90deg,#2ecc71,#1f6ed4);
color:white;
padding:90px 0;
overflow:hidden;
}

/* ICON */

.cta-icon{
font-size:50px;
margin-bottom:15px;
}

/* BIG BUTTON */

.btn-wa-big{
display:inline-block;
margin-top:25px;
background:#25D366;
color:white;
padding:16px 34px;
border-radius:40px;
font-size:18px;
font-weight:600;
text-decoration:none;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
transition:0.3s;
}

.btn-wa-big:hover{
transform:scale(1.05);
background:#20b95a;
}

/* =========================
   WAVE
========================= */

.wave{
position:absolute;
top:-60px;
left:0;
width:100%;
height:120px;
background:white;
border-radius:0 0 50% 50%;
opacity:0.15;
}


/* =========================
   BUBBLES
========================= */

.bubbles span{
position:absolute;
bottom:-50px;
width:20px;
height:20px;
background:rgba(255,255,255,0.4);
border-radius:50%;
animation:rise 10s infinite ease-in;
}

.bubbles span:nth-child(1){
left:10%;
animation-duration:8s;
}

.bubbles span:nth-child(2){
left:25%;
animation-duration:10s;
width:15px;
height:15px;
}

.bubbles span:nth-child(3){
left:50%;
animation-duration:12s;
}

.bubbles span:nth-child(4){
left:70%;
animation-duration:9s;
width:12px;
height:12px;
}

.bubbles span:nth-child(5){
left:85%;
animation-duration:11s;
}


/* ANIMATION */

@keyframes rise{

0%{
transform:translateY(0);
opacity:0;
}

50%{
opacity:1;
}

100%{
transform:translateY(-600px);
opacity:0;
}

}

/* =========================
   13. FLOATING WHATSAPP
========================= */

.floating-wa{
position:fixed;
bottom:20px;
right:20px;
background:#25D366;
color:white;
width:55px;
height:55px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-size:24px;
text-decoration:none;
box-shadow:0 10px 20px rgba(0,0,0,0.2);
}


/* =========================
   14. RESPONSIVE
========================= */

@media(max-width:768px){

.hero-grid{
grid-template-columns:1fr;
text-align:center;
}

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

.steps{
grid-template-columns:1fr 1fr;
}

.testimonials{
grid-template-columns:1fr;
}

}